Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/borderless/ts-scripts
Simple, mostly opinionated, scripts to build TypeScript modules
https://github.com/borderless/ts-scripts
Last synced: 7 days ago
JSON representation
Simple, mostly opinionated, scripts to build TypeScript modules
- Host: GitHub
- URL: https://github.com/borderless/ts-scripts
- Owner: borderless
- License: mit
- Created: 2021-02-14T05:54:02.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2023-12-12T06:38:05.000Z (11 months ago)
- Last Synced: 2024-11-07T15:56:25.571Z (7 days ago)
- Language: TypeScript
- Size: 735 KB
- Stars: 13
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
# TS Scripts
[![NPM version][npm-image]][npm-url]
[![NPM downloads][downloads-image]][downloads-url]
[![Node build status][node-build-image]][node-build-url]
[![Bun build status][bun-build-image]][bun-build-url]> Simple, mostly opinionated, scripts to build TypeScript modules.
## Installation
```sh
npm install @borderless/ts-scripts --save-dev
```## Usage
In your `package.json` you can use the scripts:
```json
{
"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` - Installs `husky` and `lint-staged` for git commit hooks
- `format` - Uses `prettier --write` on all supported files in `src` and the root directory
- `specs` - Uses `vitest` to run test files match `*.{test,spec}.*` files
- `--watch ` Runs vitest in watch mode on the config at ``
- `--update` Updates the snapshot files
- `--changed` Runs tests on only changed files
- `--since ` Runs tests on files changed since ``
- `--test-pattern` Runs tests matching the specified pattern
- `build` - Uses `rimraf` and `tsc`
- `check` - Uses `prettier --check` and `tsc` on each test "project"
- `test` - Runs `check`, `specs`, and `build`### 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 before `build` (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 by `vitest`)Specific configuration can be disabled for customized configuration by setting `src`, `dist`, `project`, or `test` to an empty array.
## License
MIT
[npm-image]: https://img.shields.io/npm/v/@borderless/ts-scripts
[npm-url]: https://npmjs.org/package/@borderless/ts-scripts
[downloads-image]: https://img.shields.io/npm/dm/@borderless/ts-scripts
[downloads-url]: https://npmjs.org/package/@borderless/ts-scripts
[node-build-image]: https://img.shields.io/github/actions/workflow/status/borderless/ts-scripts/ci-node.yml?branch=main&label=node%20build
[node-build-url]: https://github.com/borderless/ts-scripts/actions/workflows/ci-node.yml?query=branch%3Amain
[bun-build-image]: https://img.shields.io/github/actions/workflow/status/borderless/ts-scripts/ci-bun.yml?branch=main&label=bun%20build
[bun-build-url]: https://github.com/borderless/ts-scripts/actions/workflows/ci-bun.yml?query=branch%3Amain