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

@helmturner/zod-tsdoc

v0.0.3

Published

Generate JSDoc annotations from Zod inferred types

Downloads

1

Readme

node-command-line-starter

Progammers are lazy. As soon as we have to do the same task over and over again we start on automizing it. Automization is often done in the form of a command line utility.

node-command-line-starter image

This starter provides you with all the necessary setup to quickly create your node-command-line utility. Focus on your util and don't loose time with the project setup.

The starter provides you with a setup to perform fully automated releases with Github Actions. Publish new versions quickly and automated to your npm repositiory.

What's included?

Language

This starter allows you to write your command line util in TypeScript. 💪

Testing

  • Jest - JavaScript Testing Framework
  • Jest configurations to mock third party libaries
  • Sample tests

Command line utils

  • Commander - Complete solution for node.js command-line interfaces.
  • Chalk - Terminal string styling
  • Boxen - Create boxes in terminal

Dev utilities

  • Prettier - Code formater
  • Commitizen Util that helps to create conventional commit messages
  • Commitlint Lint your commit messages to ensure you use conventional commits
  • Husky and Lint-staged to run prettier on each commit on staged files. Husky is also used to run commitlint on a commit.

Build tools

  • Codecov - Integration to upload your coverage report to codecov
  • Release Please - All the setup to use Release Please. Bump versions, update CHANGELOG.md, and publish your command line utility to npm by using conventional commits
  • Github Actions CI/CD - Setup to test, lint, and typecheck your code, on each PR and push to master. Also includes the setup to publish your package to npm on a merge to master (using Release Please)

Folder structure

|__ mocks Folder that contains the mocks for third party libraries

|__ bin contains your file with the commander instructions - this is the entry to your command line tool

|__ src contains your implementation and the logic - is called by the file in your bin folder

Getting started

Development

  1. Fork this repo
  2. Adjust the URLs and names in package.json
  3. Adjust the files in bin, src and mocks
  4. Adjust the bin command in package.json

Setup npm account

Sign up on https://www.npmjs.com/.

Setup CI

  1. Get an NPM token from https://www.npmjs.com/
  2. Add the token to your repository secrets on Github as NPM_TOKEN

Visualize coverage

To visualize coverage just sign up on https://codecov.io/. Go to Settings and copy the token. Add this token as CODECOV_TOKEN to your travis repository settings.

Merge your feature branch into master

Use conventional commit messages for your commits. A merge on master will then analyze the commits, automatically bump the version, create the release assets and then publish the package.