just-build

    0.9.20 • 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.

    Install

    npm i just-build

    DownloadsWeekly Downloads

    28

    Version

    0.9.20

    License

    Apache-2.0

    Unpacked Size

    169 kB

    Total Files

    39

    Last publish

    Collaborators

    • dfahlander