Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

typhonjs-npm-scripts-runner

NPM Code Style License Gitter

Build Status Dependency Status

Provides an NPM module and script which will require a CJS formatted .js file or treat all other files as JSON in addition to stripping any comments. Once the file is loaded an search for an array object entry occurs and if found all entries in the array are executed by child_process->execSync.

For a comprehensive ES6 build / testing / publishing NPM module please see typhonjs-npm-build-test as it combines this module along with transpiling ES6 sources with Babel, pre-publish script detection, ESDoc dependencies, testing with Mocha / Istanbul and an Istanbul instrumentation hook for JSPM / SystemJS tests. For a full listing of all TyphonJS NPM script modules available please see typhonjs-node-npm-scripts organization on GitHub.


To configure the script runner provide this entry in package.json scripts entry:

  "devDependencies": {
    "typhonjs-npm-scripts-runner": "^0.4.0"
  },
  "scripts": {
    "runme": "node ./node_modules/typhonjs-npm-scripts-runner/scripts/runner.js <file path> <script entry>",
  },

<file path> must be defined relative to the root path and contain a JSON formatted object hash with entries that end with an Array of strings. To invoke the above example execute npm run runme.

For example here is a JSON formatted file .scriptdata located in the root path with muliple entries. The first copy.files.scripts copies files the second run.npm runs three other NPM scripts defined in package.json:

/**
 * You can provide comments in script runner data files.
 */
{
   "copy":
   {
      "files":
      {
         "scripts":
         [
            "cp ./templates/file2.js ./destination/file2.js",
            "cp ./templates/file2.js ./destination/file3.js"
         ]
      }
   },
   
   "run":
   {
      "scripts": ["npm run script1", "npm run script2", "npm run script3"]
   }
}

Given the above data file here are the entries in package.json to run them:

  "scripts": {
    "copy": "node ./node_modules/typhonjs-npm-scripts-runner/scripts/runner.js .scriptdata copy.files.scripts '<optional custom message>'",
    "runmult": "node ./node_modules/typhonjs-npm-scripts-runner/scripts/runner.js .scriptdata run.scripts '<optional custom message>'"
  },

For programmatic usage see the following example; you may include a 3rd string parameter for a custom message:

var runner = require('typhonjs-npm-scripts-runner');

runner.run('.scriptdata', 'copy.files.scripts', '<optional custom message>');

Please note that you can add comments to the script JSON data file.

About

Provides an NPM module and script which will load a JSON file searching for an Array entry then executes the scripts.

Resources

License

Packages

No packages published
You can’t perform that action at this time.