A user friendly, graphical, open-source application (Web/Mac/Windows) of the multiple benefits framework for non-energy benefits, incorporating additional aspects to make the tool effective for use in the United States.
This tool is written in the Angular javascript framework and uses Electron for platform-specific builds.
If you plan to contribute your code changes to this repository, please review the contributing guidelines first.
-
We are using NodeJS v 20.9 LTS nodejs.org
-
To install all required packages:
npm install
-
To install the Angular CLI which is required for tests,
npm install -g @angular/cli
- Note: If you don't want to install angular cli globally, you can install it locally using
npm install @angular/cli
and then run it usingnpm run-script ng
- Note: If you don't want to install angular cli globally, you can install it locally using
-
When developing for web run
npm run start
for a dev server. Navigate tohttp://localhost:4200/
. The app will automatically reload if you change any of the source files. -
When developing in electron window use
npm run build-watch
and a re-build will trigger on save of changes -
To start the electron app (kill and restart app after rebuild on save):
npm run electron
-
Built artifacts will be stored in the
/dist
directory. -
General build for electron
npm run build
-
Production Web Build
npm run build-prod
-
Production Electron Build
npm run build-prod-electron
-
npm run dist
will create electron installers for your operating system -
Installer will be created in an
./output/neb-tool/
directory
- Run
ng test
to execute the unit tests via Karma.
Karma unit tests use Google Chrome as a default browser. This will need to be installed on your machine for the tests to run using ng test
or npm run test
.
Otherwise, you can run the tests with a headless version of chrome using ng test --browsers=ChromeHeadless
or npm run test-ci
.
Check the Karma Config documentation on how to target other browsers using a config file.
To get more help on the Angular CLI use ng help
or go check out the Angular CLI Overview and Command Reference page.
This project was generated with Angular CLI version 16.2.8.
Contributors to this software include: Jordan Perr-Sauer and Mark Root.
Released under software record NREL/SWR-24-08.