1 Install NodeJS

Download from Node JS site and install.

When done, update $PATH variable

Copy
Node.js was installed at

   /usr/local/bin/node

npm was installed at

   /usr/local/bin/npm

Make sure that /usr/local/bin is in your $PATH.

add the following line to the file .bash_profile located in the user home directory :

Copy
export PATH=$PATH:/usr/local/bin/node

NPM path

It's very important that node executable is in PATH, as npm will be executed during pull and push via mercurial hooks

2 Build WebOS

Webpack configuration files are located in the src directory in the root folder of the axional-studio-webapps project

Copy
$WORKSPACE/axional-studio-webapps/src/main/webapp/static/webOS

First, plugin and webpack dependencies need to be installed in the project's root directory

Copy
cd $WORKSPACE/axional-studio-webapps/src/main/webapp/static/webOS 
npm install

Which outputs:

Copy
npm WARN deprecated babel-preset-es2015@6.24.1: We're super excited that you're trying to use ES2015 syntax, but instead of continuing yearly presets , we recommend using babel-preset-env: npm install babel-preset-env. preset-env without options will compile ES2015+ down to ES5. And by targeting specific browsers, Babel can do less work and you can ship native ES2015+ to users  Also, we are in the process of releasing v7, so give http://babeljs.io/blog/2017/09/12/planning-for-7.0 a read and test it! Thanks so much for using Babel , please give us a follow @babeljs for updates, join slack.babeljs.io for discussion and help support at opencollective.com/babel

> fsevents@1.1.2 install /Users/jab/workspace/axional-studio-webapps/src/main/webapp/static/webApp/node_modules/fsevents
> node install

[fsevents] Success: "/Users/jab/workspace/axional-studio-webapps/src/main/webapp/static/webApp/node_modules/fsevents/lib/binding/Release/node-v57-darwin-x64/fse.node" already installed
Pass --update-binary to reinstall or --build-from-source to recompile
webosapp@1.0.0 /Users/jab/workspace/axional-studio-webapps/src/main/webapp/static/webApp
+-- babel-core@6.26.0 
| +-- babel-code-frame@6.26.0 
| | +-- esutils@2.0.2 
| | `-- js-tokens@3.0.2 
| +-- babel-generator@6.26.0 
| | +-- detect-indent@4.0.0 
| | | `-- repeating@2.0.1 
| | |   `-- is-finite@1.0.2 
| | +-- jsesc@1.3.0 
| | `-- trim-right@1.0.1 
| +-- babel-helpers@6.24.1 
| +-- babel-messages@6.23.0 
...
...
...

In MacOS if you get an error like this:

Copy
npm ERR! Error while executing:
npm ERR! /usr/bin/git ls-remote -h -t https://github.com/taye/interact.js.git
npm ERR!
npm ERR! xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
npm ERR!
npm ERR! exited with error code: 1

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/dpc/.npm/_logs/2018-11-30T10_20_03_776Z-debug.log

you need to install Command Line Tools doing

Copy
sudo xcode-select --install    
sudo xcode-select --switch /Applications/Xcode.app
sudo xcode-select --switch /Library/Developer/CommandLineTools

2.1 Build for production

Build bundle files and minify source

Copy
cd $WORKSPACE/axional-studio-webapps/src/main/webapp/static/webOS 
npm run build

2.2 Build for development

Builds bundle files but does not minify

Copy
cd $WORKSPACE/axional-studio-webapps/src/main/webapp/static/webOS 
npm run buildDev

2.3 Continuous build

Copy
cd $WORKSPACE/axional-studio-webapps/src/main/webapp/static/webOS 
npm run watch

3 Build WebApp

Webpack configuration files are located in the src directory in the root folder of the axional-studio-webapps project

Copy
$WORKSPACE/axional-studio-webapps/src/main/webapp/static/webApp

First, plugin and webpack dependencies need to be installed in the project's root directory

Copy
cd $WORKSPACE/axional-studio-webapps/src/main/webapp/static/webApp 
npm install

Which outputs:

Copy
npm WARN deprecated babel-preset-es2015@6.24.1: We're super excited that you're trying to use ES2015 syntax, but instead of continuing yearly presets , we recommend using babel-preset-env: npm install babel-preset-env. preset-env without options will compile ES2015+ down to ES5. And by targeting specific browsers, Babel can do less work and you can ship native ES2015+ to users  Also, we are in the process of releasing v7, so give http://babeljs.io/blog/2017/09/12/planning-for-7.0 a read and test it! Thanks so much for using Babel , please give us a follow @babeljs for updates, join slack.babeljs.io for discussion and help support at opencollective.com/babel

> fsevents@1.1.2 install /Users/jab/workspace/axional-studio-webapps/src/main/webapp/static/webApp/node_modules/fsevents
> node install

[fsevents] Success: "/Users/jab/workspace/axional-studio-webapps/src/main/webapp/static/webApp/node_modules/fsevents/lib/binding/Release/node-v57-darwin-x64/fse.node" already installed
Pass --update-binary to reinstall or --build-from-source to recompile
webosapp@1.0.0 /Users/jab/workspace/axional-studio-webapps/src/main/webapp/static/webApp
+-- babel-core@6.26.0 
| +-- babel-code-frame@6.26.0 
| | +-- esutils@2.0.2 
| | `-- js-tokens@3.0.2 
| +-- babel-generator@6.26.0 
| | +-- detect-indent@4.0.0 
| | | `-- repeating@2.0.1 
| | |   `-- is-finite@1.0.2 
| | +-- jsesc@1.3.0 
| | `-- trim-right@1.0.1 
| +-- babel-helpers@6.24.1 
| +-- babel-messages@6.23.0 
...
...
...

3.1 Build for production

Build bundle files and minify source

Copy
cd $WORKSPACE/axional-studio-webapps/src/main/webapp/static/webApp
npm run build

3.2 Build for development

Builds bundle files but does not minify

Copy
cd $WORKSPACE/axional-studio-webapps/src/main/webapp/static/webApp
npm run buildDev

3.3 Continuous build

Copy
cd $WORKSPACE/axional-studio-webapps/src/main/webapp/static/webApp
npm run watch