Skip to content

frouriojs/notios

Repository files navigation


notios


Notios

notios demo

Setup

For npm-run-all users

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.

Usage

# Show help.
npx notios --help

# Start UI.
npx notios

# Or specify script name.
npx notios dev

Incompatibility

  • Flags other than -s and -p in npm-run-app are not supported when starting from notios.
  • Supplying flags over patterns like run-s 'build:* -- --watch'.

Fix npm-run-all version

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.

Configuration

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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published