Simple, mostly opinionated, scripts to build TypeScript modules.
npm install @borderless/ts-scripts --save-devIn your package.json you can use the scripts:
{
"scripts": {
"format": "ts-scripts format",
"specs": "ts-scripts specs",
"test": "ts-scripts test", // Runs `check`, `specs --coverage`, `build`.
"build": "ts-scripts build",
"prepublishOnly": "npm run build",
"prepare": "ts-scripts install"
}
}You will also need to install typescript for building and vitest for specs.
Note: If using bun, you don't need vitest. You can use bun test instead.
install- Installshuskyandlint-stagedfor git commit hooksformat- Usesprettier --writeon all supported files insrcand the root directoryspecs- Usesvitestto run test files match*.{test,spec}.*files--watch <index>Runs vitest in watch mode on the config at<index>--updateUpdates the snapshot files--changedRuns tests on only changed files--since <commit>Runs tests on files changed since<commit>--test-patternRuns tests matching the specified pattern
build- Usesrimrafandtsccheck- Usesprettier --checkandtscon each test "project"test- Runscheck,specs, andbuild
Configuration can get specified in your package.json file under ts-scripts:
src- An array of source file directories (default:["src"])ignore- An array of patterns to ignore (default:[])dist- An array of output directories to clean beforebuild(default:["dist"])projectAn array of TSConfig files to build using TypeScript (default:["tsconfig.json"])checkProjectAn array of TSConfig files to type check using TypeScript (default:["tsconfig.json"])testAn array of test configuration objects (default:[{}])dirThe directory to read tests from (default:undefined, root directory)configThe configuration file to use for this test (default:undefined, discovered byvitest)
Specific configuration can be disabled for customized configuration by setting src, dist, project, or test to an empty array.
MIT