A small Node 24+ ESM starter for TypeScript libraries.
- TypeScript configured for Node ESM with
moduleandmoduleResolutionset toNodeNext - TypeScript 6+ with strict type checking
- ESBuild for fast Node ESM bundling
- ESLint 10 flat config with type-aware
typescript-eslintrules - Vitest for colocated tests
- Prettier for formatting
- Husky hooks for local lint, typecheck, test, and build checks
- GitHub Actions CI for push and pull request verification
- A single
src/index.tslibrary entrypoint - Package
exports,types, andfilesconfigured for publishing ESBuild and TypeScript generatedliboutput
npm run verify
npm run build
npm test
npm run lint
npm run typecheck
npm run format:check
npm run formatHusky is installed by npm install through the prepare script.
pre-commit: checks formatting, linting, and TypeScriptpre-push: runs tests and verifies the build
.github/workflows/ci.yml runs npm ci and npm run verify on every push and pull request.
The package publishes only lib. npm run build bundles src/index.ts with ESBuild and emits declarations with TypeScript. Run it before publishing, or rely on prepublishOnly to clean, test, and build.
MIT. See LICENSE.md.