// the find
yanhaijing/jslib-base
A modern JavaScript|Typescript library scaffolding, modularity, purity & extras
jslib-base is a CLI scaffold for publishing JavaScript or TypeScript libraries. Run `npx @js-lib/cli new mylib`, answer a few prompts, and you get a project wired up with Rollup, ESLint, Prettier, Mocha, Husky, commitlint, and GitHub Actions out of the box. It targets developers who want to ship a library to npm without hand-wiring the build pipeline themselves.
The multi-format output story is solid — it generates UMD, ESM, and CJS bundles from the same source, which is exactly what a general-purpose library needs to work across browser globals, bundlers, and Node. The `update` command is a real differentiator: you can scaffold a project today and pull in tooling improvements later without starting over, which most scaffold tools skip entirely. The templates are clean and separate the JS and TS paths rather than hacking them together with conditionals. The full commit discipline setup (commitlint + commitizen + Husky) is included and configured, not just mentioned in the README.
The test stack is Mocha + Expect.js, which is dated — most library authors are on Vitest now, and the Rollup + Babel combination adds friction when the TypeScript template could just use `tsc` or esbuild directly. The jsmini platform it references as a distribution channel has almost no visibility outside the author's own projects, so that selling point lands flat. There's no guidance on monorepo library setups despite the scaffolder itself using Lerna internally. Last meaningful push was March 2025, and the TODO files contain items that haven't moved in years, so the maintenance pace is slow relative to how fast the JS tooling ecosystem moves.