TS Scripts
Simple, mostly opinionated, scripts to build TypeScript modules.
Installation
npm install @borderless/ts-scripts --save-dev
Usage
In 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.
Batteries Included
-
install
- Installshusky
andlint-staged
for git commit hooks -
format
- Usesprettier --write
on all supported files insrc
and the root directory -
specs
- Usesvitest
to run test files match*.{test,spec}.*
files-
--watch <index>
Runs vitest in watch mode on the config at<index>
-
--update
Updates the snapshot files -
--changed
Runs tests on only changed files -
--since <commit>
Runs tests on files changed since<commit>
-
--test-pattern
Runs tests matching the specified pattern
-
-
build
- Usesrimraf
andtsc
-
check
- Usesprettier --check
andtsc
on each test "project" -
test
- Runscheck
,specs
, andbuild
Configuration
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"]
) -
project
An array of TSConfig files to build using TypeScript (default:["tsconfig.json"]
) -
checkProject
An array of TSConfig files to type check using TypeScript (default:["tsconfig.json"]
) -
test
An array of test configuration objects (default:[{}]
)-
dir
The directory to read tests from (default:undefined
, root directory) -
config
The 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.
License
MIT