After forking the repo from GitHub and installing pnpm:
git clone https://github.com/<your-name-here>/template-typescript-node-package
cd template-typescript-node-package
pnpm installThis repository includes a list of suggested VS Code extensions. It's a good idea to use VS Code and accept its suggestion to install them, as they'll help with development.
Run TypeScript locally to type check and build source files from src/ into output files in lib/:
pnpm build --watchYou should also see suggestions from TypeScript in your editor.
Prettier is used to format code. It should be applied automatically when you save files in VS Code or make a Git commit.
To manually reformat all files, you can run:
pnpm format:writeThis package includes several forms of linting to enforce consistent code quality and styling. Each should be shown in VS Code, and can be run manually on the command-line:
pnpm lint:knip(knip): Detects unused files, dependencies, and code exportspnpm lint:md(Markdownlint): Checks Markdown source filespnpm lint:package(npm-package-json-lint): Lints thepackage.jsonfilepnpm lint:packages(pnpm dedupe --check): Checks for unnecessarily duplicated packages in thepnpm-lock.ymlfilepnpm lint:spelling(cspell): Spell checks across all source filespnpm lint(ESLint with typescript-eslint): Lints JavaScript and TypeScript source files
Vitest is used for tests. You can run it locally on the command-line:
pnpm run testAdd the --coverage flag to compute test coverage and place reports in the coverage/ directory:
pnpm run test --coverageNote that console-fail-test is enabled for all test runs.
Calls to console.log, console.warn, and other console methods will cause a test to fail.
This repository includes a VS Code launch configuration for debugging unit tests. To launch it, open a test file, then run Debug Current Test File from the VS Code Debug panel (or press F5).