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

bkit-chatbot-client-test

v0.0.2-1

Published

A starter vanilla-ts (extended) template that began with Vite 3.x, prepared for writing node utility libraries in typescript. This starter is meant to provide rapid node package development and publishing onto npm.

Downloads

7

Readme

vite-vanilla-ts-template-extended (AKA vite-vanilla-ts-module)

A starter vanilla-ts (extended) template that began with Vite 3.x, prepared for writing node utility libraries in typescript. This starter is meant to provide rapid node package development and publishing onto npm.

yarn build

What is in this template?

Below are notable dependencies bundled (and configured) in this library template:

  1. husky
  2. vitest
  3. vitest ui
  4. vite
  5. vite-plugin-dts
  6. vite-plugin-eslint
  7. eslint
  8. prettier

Optional dependencies

And notable optional dependencies, great to use for improved DX etc:

  1. commitlint - optional, remove if yourself / team does not require enforcing conventional commits.
  2. vite-plugin-progress - optional, remove if yourself / team does not require :sparkles: fancy :sparkles: progress bar in terminal.
  3. @trivago/prettier-plugin-sort-imports - optional, auto-sort your import order in each file, set your own "sort rules".

Goal of included dependencies

Know that the above dependencies are (mostly) optional, and you may extend or remove them to your preference. The goal of introducing these dependencies as part of the template, is to:

  1. Easily build a custom node library, fast (with some style).
  2. Easily integrate the built custom node library, into any monorepo framework - primarily turborepo and nx.
  3. Reduce overhead management of dependencies. For example, you can add taze library.
  4. Providing comfort in utilising efficient (linting, auto-sort, etc) productivity features.
  5. Improving the overall developer experience (DX) with this template.

Getting Started

Let's install our dependencies, then pre-setup our husky pre-commits:

yarn
yarn prepare
npx husky add .husky/pre-commit "yarn build"
npx husky add .husky/pre-commit "yarn prettier"

Then, your .husky/pre-commit file should look like below:

#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

yarn build
yarn prettier

And since we introduced commitlint, we can enforce "conventional commit" messages with husky:

echo "export default { extends: ["@commitlint/config-conventional"] };" > commitlint.config.js

Testing with Vitest

Run yarn test:run or yarn test:coverage to produce code coverage report.

yarn test:run

The code coverage report will indicate, if all test cases are 100% covered, flawed logic and so on.

Running vite

Run yarn dev to open index.html via http://localhost:5174.

It contains some quick links, to the stats.html and coverage index.html files.

yarn dev

Build your package

Run yarn build, and check the dist folder for the final build output.

If there are issues with the package, check package.json (props main, module, typings, files and etc), tsconfig.json (such as allowJs) and dependency versions (especially vite) to narrow down the build or typings errors you're experiencing.

Publishing

And when ready to publish to npm:

npm login
npm publish