https://github.com/guoyunhe/node-scripts
Scripts to build, lint and test CLI projects
https://github.com/guoyunhe/node-scripts
Last synced: 3 months ago
JSON representation
Scripts to build, lint and test CLI projects
- Host: GitHub
- URL: https://github.com/guoyunhe/node-scripts
- Owner: guoyunhe
- License: gpl-3.0
- Created: 2022-12-10T12:48:18.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-06-24T11:53:07.000Z (almost 2 years ago)
- Last Synced: 2025-02-21T08:36:45.570Z (3 months ago)
- Language: TypeScript
- Homepage:
- Size: 50.8 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# @guoyunhe/node-scripts
Scripts to build, lint and test Node.js projects.
Features:
- Minimum configuration, easy to use
- Output both CJS and ESM bundle
- Lightning fast build speed, powered by esbuild
- Full TypeScript support in build, lint and test
- Ensure good coding style by ESLint and Prettier
- Out of box unit test support, powered by Jest
- Global variable `PACKAGE_NAME` and `PACKAGE_VERSION` to easily inject package information## Create projects
### Node library
```
npm create @guoyunhe/node my-package
```Checkout [create-node](https://github.com/guoyunhe/create-node) for more options.
### CLI tool
```
npm create @guoyunhe/cli my-package
```Checkout [create-cli](https://github.com/guoyunhe/create-cli) for more options.
## Options
### --help
Show help.
### --version
Show version.
## Commands
### build
Build CJS, ESM and TypeScript declaration (\*.d.ts).
```
node-scripts build
```CJS and ESM builds are powered by esbuild, one of the fastest JavaScript complier and bundler.
TypeScript declarations are generated by TypeScript and bundled by API Extractor from Microsoft.The build command read entry `src/index.ts`. CJS is output at `dist/index.js`. ESM is output at
`dist/index.mjs`. Declaration is output at `dist/index.d.ts`.For CLI projects, it scans `src/bin/*.ts`. For example, `src/bin/my-cli.ts` outputs `dist/my-cli.js`
(CJS) and `dist/my-cli.mjs` (ESM).Support watch mode with `--watch` option.
```
node-scripts build --watch
```### watch
Watch mode. Same as `node-scripts build --watch`.
```
node-scripts watch
```### lint
```
node-scripts format
```Check your code with ESLint.
Support auto fix code issues with `--fix` option. (This will also run Prettier for formatting)
```
node-scripts lint --fix
```### format
Format code and fix ESLint issues. Same as `node-scripts lint --fix`.
```
node-scripts format
```### test
Run unit tests with Jest. Generate coverage report at `coverage`.
```
node-scripts test
```Support all [Jest CLI options](https://jestjs.io/docs/cli). For example:
```bash
# Watch mode
node-scripts test --watchAll# Update snapshots
node-scripts test -u
```