Skip to content
Mat Kelly edited this page Aug 21, 2023 · 2 revisions

Each script listed in this section can be run using

$ npm run <script-name>

Building Individual Sections Of WAIL

WAIL creates single file bundles for each part of WAIL using webpack.

build-main
Create bundle for wail-ui/ui-main.js the Electron entry point of WAIL
build-renderer
Create bundle for wail-ui/wail.js the UI entry point of WAIL
build-core
Create bundle for wail-core, wail-ui/loadingScreens, and wail-ui/background
build-wail-for-tests
Create the bundles for WAIL for usage when running the tests

Development Aids

WAIL utilizes webpack's hot module reloading to aid in developing the process.

This functionality is enabled through webpack's cli options for these commands from the scripts section of the projects package.json.

For development on Windows the suffix win is added to indicate which one to use.

dev-core, dev-core-win
Start the webpack dev server w/ hmr for wail-core
dev-ui, dev-ui-win
Start the webpack dev server w/ hmr for wail-ui
dev-ui-electron
Start Electron using WAILs Electron entry point
dev-only
Start the webpack dev server w/ hmr for a specific part of WAIL

Running The Tests

run-tests
Run the tests

Downloading External Dependancies

download-externals
Download the required OpenJDK and MemGator for current operating systems
download-externals-all
Same as the above script but for all operating systems supported by WAIL

Packaging WAIL

To package the WAIL Electron application use the following scripts

package
Package for the current operating system
package-all
Package for all supported operating systems

To package for a specific platform only use

  • package-windows
  • package-linux
  • package-osx

Linting

WAIL conforms to the Standard style for JS.

To lint WAIL use standard which when complete will print a report to the console.

To fix basic issues run standard-fix.