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.
The latest version of the application can be found at https://justifi.ornl.gov
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/cliand 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 startfor 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-watchand 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
/distdirectory. -
General build for electron
npm run build -
Production Web Build
npm run build-prod -
Production Electron Build
npm run build-prod-electron
-
npm run distwill create electron installers for your operating system -
Installer will be created in an
./output/neb-tool/directory
- Run
ng testto 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.
Released under software record NREL/SWR-24-08.