In order to use this tool you need to install Node.js.
Open the parent directory on a command prompt and run npm link
Now you can execute orchestrator from a prompt window.
#USAGE#
To setup a new project run dirigent init
Answer the required questions.
After installation run npm install.
##Scripts##
- To start development
dirigent run scriptsordirigent run scripts:dev - To deploy
dirigent run scripts:deploy
##Styles##
- To start development
dirigent run stylesordirigent run styles:dev - To deploy
dirigent run styles:deploy
##Test##
Dirigent expects karma as your test runer. So it will add the necessary plugins in your package.json.
It is posible to create a karma.config.js file by running dirigent setup:karma.
Dirigent add a command in your package.json file under scripts test so that you just need to run npm test, so if you don't have karma-cli globally installed in your system you can run npm test.
#What it is dirigent# Dirigent intention is to stop writing your configuration files again and again. So with a few questions creates the needed files for setup you development environment with webpack and karma.
##Commands## There is basically tree commands:
-
init: will setup your scripts configuration files (webpack.config.js). --scripts: will create awebpack.config.jsfile and apackage.jsonfile. If you choose to use any javascript transpiler then it will generate it's configuuration files too. --styles: will create alibsass.config.jsfile that will be used to compile the .scss to a single .css bundle. -
run: executes your module configuration and any dependencies found on thedirigentfile.js*deps section. -
setup:karma:creates thekarma.config.jsfile based on your webpack configuration.
*deps are relative to the root directory where your dirigentfile.js lives.
###Why webpack and karma?### Thoose are just my personal preferences :-)
Dirigent will asume that you build a unique bundle for each module / directory.
If you need to create multiple bundles from a same directory add on your webpack conf:
...
"plugins": [
new webpack.optimize.UglifyJsPlugin(),
new webpack.optimize.CommonsChunkPlugin({
name: ,
filename:
})
],
...