npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

jimlynchcodes-hello-world-rs-foo

v0.0.1

Published

Jim's solution to exercise 01_hello_world of the rust-cli-exercises!

Downloads

3

Readme

Hello, World!

A barebones project that just prints the text "Hello, World"!

Backstory

Imagine you want to make the simplest Rust project possible- just the stuff needed to make a Rust project run.

The idea here is that if you can write a Rust project that compiles, runs, and does something then you can build off this and create all the things you could ever imagine! 🌈

The Exercise

Write the simplest Rust project possible that prints some form of, "Hello, World!" to the console.

Tests

Here I have one maybe pointless unit test just checking that the main function returns nothing.

I also have an integration test which verifies that the text "Hello, world!" is printed to the console and that the prompt appears on a new line.

I'm also adding some other interesting testing tools such as:

  • Running unit tests with a code coverage output

  • Running mutation tests to test the unit tests

  • Running fuzz tests to check for other unexpected behavior

Skills Practiced

  • Installing and using cargo

  • Creating a main function

  • Creating an integration test

  • Running a Rust project and tests

Dev Commands

Run cli tool locally:

cargo run

Formatting / linting:

cargo fmt
cargo clippy

Run unit & integration tests:

cargo test

Run Units Tests Wih Code Coverage:

cargo tarpaulin

Run Tests Automatically On Code Change (Aka "Watch Mode"):

bacon test

Run Mutation Testing:

cargo mutants

Deploy to Cargo & NPM:

  • Increment version in Cargo.toml
  • Sign in with cargo login and npm adduser

Then deploy (with -n flag for a different name):

rust-to-npm-cli deploy -b -n jimlynchcodes/01-hello-world-rs

To install via npm:

npm i -g @jimlynchcodes/hello-world-rs

Then run:

hello-world-rs