Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/iamyoki/better-scripts
➤_ A better way to organize your npm scripts
https://github.com/iamyoki/better-scripts
better-scripts cli nodejs npm npm-scripts
Last synced: about 12 hours ago
JSON representation
➤_ A better way to organize your npm scripts
- Host: GitHub
- URL: https://github.com/iamyoki/better-scripts
- Owner: iamyoki
- Created: 2022-08-04T07:25:39.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-08-26T16:50:01.000Z (about 2 years ago)
- Last Synced: 2024-11-13T12:06:43.240Z (3 days ago)
- Topics: better-scripts, cli, nodejs, npm, npm-scripts
- Language: JavaScript
- Homepage: better-scripts.vercel.app
- Size: 10.1 MB
- Stars: 62
- Watchers: 3
- Forks: 11
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
➤_ Better Scripts
A better way to organize your npm scripts
See better-scripts.vercel.app →
* [Installation](#installation)
* [Usage](#usage)
* [Basic setup](#basic-setup)
* [Add script description](#add-script-description)
* [Script as object](#script-as-object)
* [Separate configuration file](#separate-configuration-file)
* [Specified configuration file](#specified-configuration-file)
* [Command line](#command-line)
* [Default](#default)
* [Run](#run)
* [List](#list)
* [Advanced](#advanced)
* [Contributors](#contributors)
* [License](#license)## Installation
Install with yarn
```sh
yarn add better-scripts -D
```Or install with npm
```sh
npm install better-scripts --save-dev
```Or install with pnpm
```sh
pnpm add better-scripts -D
```Or use npx for one-time use
```sh
npx better-scripts
```## Usage
### Basic setup
Simply run `npx better-scripts` will read your existing scripts, let's give it a try at first
```sh
npx better-scripts
```
Now, let's move all `scripts` into `better-scripts` and add only one `"scripts": "better-scripts"` in `scripts`
```json
{
"scripts": {
"scripts": "better-scripts"
},
"better-scripts": {
"dev": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test"
}
}
```Then run `yarn scripts` will read your scripts from `better-scripts`
```sh
yarn scripts
```### Add script description
Second value as description in array form
```json
{
"better-scripts": {
"dev": ["react-scripts start", "Start a development server"]
}
}
```
### Script as object
You can add more properties in object form
```json
{
"better-scripts": {
"dev": {
"alias": "🧑🏻💻 Dev",
"command": "react-scripts start",
"desc": "Start a development server"
}
}
}
```
### Separate configuration file
You can write your "better-scriprts" out of `package.json`
Create a `scripts.json` file in the root directory
```json
{
"dev": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test"
}
```Supported file formats
* a `better-scripts` property in package.json (⭐️ Recommended)
* `scripts.json` (⭐️⭐️ Recommended)
* `better-scripts.json`
* `.better-scriptsrc`
* `.better-scriptsrc.json`
* `.better-scriptsrc.yaml`
* `.better-scriptsrc.yml`
* `.better-scriptsrc.js`
* `.better-scriptsrc.cjs`
* `better-scriptsrc.config.js`
* `better-scriptsrc.config.cjs`### Specified configuration file
```sh
yarn scripts --config custom-config.json
```## Command line
```sh
yarn scripts --help➤_ A better way to organize your npm scripts
Commands:
better-scripts Run your script [default]
better-scripts run Run script non-interactive, usually in CI mode
better-scripts list [name] Show all scriptsOptions:
-v, --version Show version number [boolean]
-c, --config Specified config filepath [string]
--track Show tracked error stack message
-h, --help Show help [boolean]Examples:
npx better-scripts - Run your script interactive
npx better-scripts run dev - Run "dev" script non-interactive
npx better-scripts run build.deploy - Run "build" and "deploy" child script in chain order
npx better-scripts list - Show all scripts
```### Default
Interactive with one simple command
```sh
yarn scripts
```### Run
Non-interactive with specific command
```sh
yarn scripts run
```> `` is your script name that defined in config
Chain operation
```sh
yarn scripts run
```Skip chaining paths
```sh
yarn scripts run --skip
```> \-s, --skip
### List
Show all your scripts
```sh
yarn scripts list
```Compact mode
```sh
yarn scripts list --compact
```Show specific script name's scripts
```sh
yarn scripts list
``````sh
yarn scripts list
```## Advanced
The API is not stable yet
## Contributors
| iamyoki | Garker | annoyc |
| :---------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------: |
| [![iamyoki](./static/contributors/iamyoki.svg "iamyoki")](https://github.com/iamyoki "iamyoki") | [![Garker](./static/contributors/Garker.svg "Garker")](https://github.com/Garker "Garker") | [![annoyc](./static/contributors/annoyc.svg "annoyc")](https://github.com/annoyc "annoyc") |## License
[MIT](https://choosealicense.com/licenses/mit/)