Just uninstall npm-run-all
and install notios
.
npm remove npm-run-all
npm install -D notios
Binaries (n-run-p
, n-run-s
and n-npm-run-all
) behavies perfectly the same as npm-run-all
unless starting from notios
.
As an other option, you can keep npm-run-all
with using n-run-p
, n-run-s
and n-npm-run-all
binaries.
# Show help.
npx notios --help
# Start UI.
npx notios
# Or specify script name.
npx notios dev
- Flags other than
-s
and-p
innpm-run-app
are not supported when starting fromnotios
. - Supplying flags over patterns like
run-s 'build:* -- --watch'
.
Notios will check existence of @notios/npm-run-all
.
npm i -D @notios/npm-run-all@npm:npm-run-all@${version}
# example for ^3
npm i -D @notios/npm-run-all@npm:npm-run-all@^3
Note that you should replace run-p
, run-s
and npm-run-all
with n-
prefixed ones.
Notios can be configured with user level config file. Please npx notios --help
to check default config file location or explicitly specify the location by --config
flag.
Project level configuration is not recommended.
For linux users, ~/.config/notios/notios.config.cjs
is the default location of configuration.
mkdir -p ~/.config/notios
cd ~/.config/notios
npm init -y
npm i @notios/config@latest
Then edit ~/.config/notios/notios.config.cjs
like following.
// @ts-check
const { defineNotiosConfig } = require('@notios/config');
module.exports = defineNotiosConfig((defaultConfig) => ({
...defaultConfig,
v1: {
...defaultConfig.v1,
// your configurations...
// Example for the configuration to show timestamp by default.
showTimestampByDefault: true,
// Following is just an example for keymapping.
keymappings: {
...defaultConfig.v1.keymappings,
"tree-procs": {
...defaultConfig.v1.keymappings["tree-procs"],
// My original safe kill keymapping [CTRL-X then CTRL-X]
kill: [
{
type: "seq",
seq: [
{
type: "char",
char: "x",
ctrl: true,
},
{
type: "char",
char: "x",
ctrl: true,
},
],
}
],
// Add my own keymapping [CTRL-R] for restart over the default keymapping
restart: [
...defaultConfig.v1.keymappings["tree-procs"].restart,
{
type: "char",
char: "r",
ctrl: true,
}
],
},
// Common keymappings should be avoided confliction with any other keymappings
common: {
...defaultConfig.v1.keymappings.common,
// Change exit mapping from [CTRL-C] to [CTRL-Q]
exit: [
{
type: "char",
char: "q",
ctrl: true,
}
],
},
},
},
}));
Utility defineNotiosConfig
enables you use completion and not necessary. Directive // @ts-check
enables you write configuration type-safely.
Notios never fallbacks to any value of configuration to default values. You should use defaultConfig
to explicitly specify what and how you want to fallback.
Spreading in any nesting level like ...defaultConfig.v1,
is necessary to make your configuration working properly for various notios versions.
Until the detailed documatation is ready, please refer to the default configuration.