just-build

0.9.24 • Public • Published

just-build

About

Command Line Interface

Configuration

Error Reference

How this tool works and why I wrote it

Technical Details

Quick Reference

install

npm install just-build --save-dev

Using --save-dev because you typically configure npm run build to call upon it, which works perfectly well will locally installed binaries.

package.json

{
  "scripts": {
    "build": "just-build",
    "watch": "just-build --watch"
  },
  "just-build": {
    "default": [
       "just-build src test" // builds src and test (in parallell)
    ],
    "src": [
      "cd src",
      "tsc [--watch 'Compilation complete.']",
      "rollup -c", // executed on each code change
      "eslint src" // executed after rollup (if rollup succeeds)
    ],
    "test": [
      "cd test",
      "tsc [--watch 'Compilation complete.']",
      "rollup -c"
    ],
    "production": [
      "NODE_ENV='production'",
      "just-build"
    ]
  }
}

Build

node_modules/.bin/just-build

or:

npm run build

watch

node_modules/.bin/just-build --watch

or:

npm run watch

Build Specific Task

node_modules/.bin/just-build production

or:

npm run build production

Watch Specific Task

node_modules/.bin/just-build production --watch

or:

npm run watch production

Parallell Build

node_modules/.bin/just-build src test

or:

npm run build src test

Parallell Watch

node_modules/.bin/just-build src test --watch

or:

npm run watch src test

Limitations

This tool executes each configured command string using child_process.spawn() with shell:true. You can't do all things you could do in bash. For example:

  • echo "hello world" > out.txt
  • echo "hello world" | grep "hello"
  • echo '$(node -p 1)'

Special Commands

(not launched by child_process.spawn())

just-build Will shortcut to call recursively on other scripts without the cost of spawning another just-build process. The `[--watch]` argument is automatically appended and you do not need to add it. You get an error if you do.
<locally installed binary> If you've installed a binary locally npm install typescript --save-dev, and you invoke tsc which is a binary bundled with typescript, an optimization kicks in so that the binary is launched using child_process.fork() instead of child_process.spawn().
node If you execute a JS script using
node scripts/myscript.js
the script will be executed using child_process.fork() instead of child_process.spawn() to optimize resources.
cd Changes working directory for the next command. Note that working directory will always be the package root initially for each task.
NAME=VALUE Sets environment variable such as NODE_ENV=production
# comments... Every line is stripped from # comments. Can be used to document the purposes of your tasks.

Dependencies (0)

    Dev Dependencies (8)

    Package Sidebar

    Install

    npm i just-build

    Weekly Downloads

    52

    Version

    0.9.24

    License

    Apache-2.0

    Unpacked Size

    167 kB

    Total Files

    39

    Last publish

    Collaborators

    • dfahlander