1. just-build
A simple task runner that doesn't bloat your package
just-build
Package: just-build
Created by: dfahlander
Last modified: Sun, 04 Sep 2022 20:43:38 GMT
Version: 0.9.24
License: Apache-2.0
Downloads: 228
Repository: https://github.com/dfahlander/just-build

Install

npm install just-build
yarn add just-build

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.

RELATED POST

10 Must-Know Windows Shortcuts That Will Save You Time

10 Must-Know Windows Shortcuts That Will Save You Time

Arrays vs Linked Lists: Which is Better for Memory Management in Data Structures?

Arrays vs Linked Lists: Which is Better for Memory Management in Data Structures?

Navigating AWS Networking: Essential Hacks for Smooth Operation

Navigating AWS Networking: Essential Hacks for Smooth Operation

Achieving Stunning Visuals with Unity's Global Illumination

Achieving Stunning Visuals with Unity's Global Illumination

Nim's Hidden Gems: Lesser-known Features for Writing Efficient Code

Nim's Hidden Gems: Lesser-known Features for Writing Efficient Code