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 🙏

© 2025 – Pkg Stats / Ryan Hefner

@kazuma1989/hello-npm

v0.0.5

Published

npm trial

Downloads

12

Readme

hello-npm

For my personal training

Getting started

npx from npm:

npx @kazuma1989/hello-npm
# Hello npm!

npx from GitHub:

npx kazuma1989/hello-npm
# Hello npm!

Publish to npm

First, update the version of the package (major|minor|patch):

npm version patch

Or you can change the version field in package.json manually.

Then publish:

npm publish

You will get an email from npm when success.

What I learned

With npm

  • Sign in before publishing.
    Sign up via the npm website and run npm adduser in CLI terminal.
  • Files to publish are not necessarily versioned by Git.
  • Scoped packages (like @scopename/xxx) are private by default.
    Use npm publish --access public command for the first time.
    For following publish commands, the access option can be omitted.
  • Scope name is reserved for each user or organization.
    I could not publish @k/hello-npm (npm returns 401) because I am @kazuma1989.
  • Local files are all published.
    Write the .npmignore file carefully or follow the pattern in which paths are ignored by default.
    I usually use a ._* pattern for my local files without publishing or versioning.
    Detail: http://npm.github.io/publishing-pkgs-docs/publishing/the-npmignore-file.html

With GitHub

  • You can use packages directly from GitHub without publishing to npm!
    Use npm install username/repo-name format to reference the default branch or npm install username/repo-name#branch to specify some branch.
    • But sub directories are not referenced this way.
      The above commands just downloads the tarball from the URL which is resolved from GitHub repo name, so without a URL from which we can download sub directories it is impossible to use sub directories (like Babel packages) as packages.
  • npx has an escape hatch where we can use sub directories like packages.
    In package.json the bin field may have multiple keys, so specify sub commands to point to binaries in sub directories, and call the sub commands with npx -p username/repo-name sub-command.
  • GitHub Gist can also be used as a package.
    Even though Gist cannot have directory structures, the dependencies field in package.json works well!