A module that allows use of Node.js --harmony flags, programmatically.
🚀 Are you ready to tackle ES6 and hone your JavaScript Skills? 🚀
Check out these outstanding ES6 courses by @wesbos
Harmonica allows developers to use --harmony
flags programmatically. That means
an end to specifying command-line options for experimental "harmony" features of
Node.js/V8. If you've ever wanted to use experimental features within Gulp tasks,
or have a need to run an app through wrappers like forever
, this module takes
the command-line headache out of the equation.
Harmonica should work with Node.js version 4.6.2 and higher. However, specifying flags which don't exist for a particular version will likely result in an error.
Install the module:
npm install harmonica
Initialize the module. By default, harmonica will use the --harmony
flag,
which will enable all harmony, in-progress features.
require('harmonica')();
Should you need only specific flags, pass an Array
of strings representing the
flags you want to enable, without the leading hyphens, as the first parameter.
require('harmonica')([
'harmony-array-values',
'harmony-async-await'
]);
Some flags, such as --harmony-async-await
, enable syntax features in Node.js.
Should you require flags meant to extend the syntax, you must create an entry
point in a separate file from which to initialize harmonica. You can then
require
the main script for your app, which contains the body of code.
Please see the tests for an example
which uses the async
/ await
syntax.
If you have the need to view all available harmony flags for your version of node, you may do so by executing the following in a terminal:
node --v8-options | grep "in progress"
Optional
Type: Array
Default: undefined
See Specifying Flags
Optional
Type: Object
Default: { silent: false }
Example Usage of all options:
require('harmonica')({ silent: true });
Or, if you need to specify flags:
require('harmonica')([
'harmony-array-values',
'harmony-async-await'
],
{ silent: true });
Type: Boolean
Default: false
Should you wish to silence harmonica's output, set a silent
property on
options
to false
.
dcodeIO wrote and published the wonderful harmonize module. Harmonica is a complete rewrite of harmonize, but follows the same principles.
@stuk was kind enough to allow me to use the 'harmonica' module name in the NPM registry.
Harmonica vector base by saicreative.
MIT © Andrew Powell