1.0.0 • Published 5 years ago

npm-mutli-task-runner v1.0.0

Weekly downloads
7
License
-
Repository
github
Last release
5 years ago

NPM Multi task runner

really simple helper to allow to get typescript compilation in watch mode with multiple compilation that exist in the same project feel free to adapt to your needs

example use - build a script 'run-all-task.js'

const multiTaskRunner = require("npm-mutli-task-runner");
// basically this script allows to pass arguments to all build tasks without repeating them for each invocation
const args = process.argv.slice(2); // slice off node and this script
const parallelMode = args[0] && args[0].trim() === "-p"; // parallel mode is good for non-dependant or long running tasks (watch mode etc)
if (parallelMode) {
  args.splice(0, 1); // remove '-p' - directed at this script
}
const buildType = "build:";
const targets = ["node", "browser"].map((target) => buildType + target);
const projectPath = __dirname;
console.log(targets);

try {
  (async () => {
      await multiTaskRunner(targets, args, parallelMode, projectPath);
    }
  )();
} catch (e) {
  console.error("build failed: ", e.message || e);
  process.exit(1);
}

in package.json use it as follows

{
...
"scripts": {
	"build": "node ./build_all_configurations.js -p",
	"build:browser": "tsc -p ./src/browser",
	"build:node": "tsc -p ./src",
	"dev": "npm run build -- -w",
	}
}