Choosing the tooling for publishing your npm package is tough. There are so many options, and it changes all the time.
To help you make a decision, here's a list of popular npm packages and the tools they use.
Package | Language | Package Manager | Task Runner | Transpiler/Bundler | Formatting | Testing | Linting | Publishing | Miscellaneous |
---|---|---|---|---|---|---|---|---|---|
tRPC | TypeScript | pnpm | Turborepo | Rollup | Prettier | Vitest | ESLint | Lerna | @manypkg/cli |
Zod | TypeScript | pnpm | tshy | Biome | Vitest | Biome | Husky | ||
Effect.ts | TypeScript | pnpm | TypeScript CLI and Babel | Prettier | Vitest | ESLint | Changesets | Nix Flakes | |
Redux | TypeScript | Yarn | tsup | Prettier | Vitest | ESLint | |||
Nuxt | TypeScript | pnpm | unbuild | Prettier | Vitest | ESLint | |||
Next.js | JavaScript and TypeScript | pnpm | Turborepo | ncc | Prettier | Jest | ESLint | Lerna | |
MSW | TypeScript | pnpm | tsup | Prettier | Vitest | ESLint | @ossjs/release |
Simple Git Hooks | |
@tanstack/query |
TypeScript | pnpm | NX | tsup | Prettier | Vitest | ESLint | ||
@tanstack/router |
TypeScript | pnpm | NX | vite | Prettier | Vitest | ESLint |