Provides apps for performing the common tasks
Hot reloading changes is supported. Use the following three commands:
mvn openmrs-sdk:watch
mvn process-resources -Pwatch-sass
npm run watch
The widgets are built as part of the module (mvn clean install
) without having to install Node or NPM manually. Nevertheless, if you want to develop widgets installing Node is recommended so that you can iterate faster by building widgets and executing tests continuously.
You need to have Node 6.x installed. We recommend using nvm or nvm-windows to install Node.
The code is at omod/src/main/web
The generated code is at omod/target/classes/web/module/resources/scripts/web
Installing dependencies: npm install --no-optional
(once after code checkout or when dependencies change)
Development build: npm run build:dev
Continuous development build: npm run watch
(whenever you make a change, a new UI build will be triggered)
Continuous test execution: npm run test:dev
(in PhantomJS), npm run test:dev-chrome
(in Chrome), npm run test:dev-firefox
(in Firefox) (whenever you make a change, tests will be run again)
Clean development build: npm run clean && npm run build:dev
Production build: npm run build
For continuous development we recommend setting up a server using OpenMRS SDK and adding the coreapps module to watched projects (requires UI Framework 3.12.0+). Next start the server and use the npm run watch
command to have js code instantly transpiled and deployed to the server. Do remember to disable caching for your browser or use Ctrl + F5 to refresh page and its cache to see changes.
Linking is a feature of npm, which allows you to modify a library and test modifications in your project.
- Clone https://github.com/openmrs/openmrs-web-angularjs-api
- Run
npm link
andnpm run build
from the lib directory - Run
npm link @openmrs/angularjs-openmrs-api
from the coreapps project directory. - Build the coreapps project.
In order to unlink do:
- Run
npm unlink @openmrs/angularjs-openmrs-api
andnpm install
from the coreapps project directory. - Build the coreapps project.