How this tool works and why I wrote it
npm install just-build --save-dev
--save-dev because you typically configure
npm run build to call upon it, which works perfectly well will locally installed binaries.
"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"
npm run build
npm run watch
Build Specific Task
npm run build production
Watch Specific Task
node_modules/.bin/just-build production --watch
npm run watch production
node_modules/.bin/just-build src test
npm run build src test
node_modules/.bin/just-build src test --watch
npm run watch src test
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)'
(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
|node||If you execute a JS script using
node scripts/myscript.jsthe 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.|