node package manager



OpenMRS Open Web App Generator

Build Status Downloads

Yeoman generator that scaffolds an OpenMRS Open Web App

OpenMRS OWA Asciicast


The following features are currently supported:

  • Scaffold basic OWA folder structure and files
  • Production build with Webpack
  • Local deploy with Webpack
  • Package management with npm
  • Live reload, interaction sync and more with Browsersync

Getting Started

  • Install dependencies: npm install --global yo
  • Install the generator: npm install --global generator-openmrs-owa
  • Create directory for your app: mkdir openmrs-owa-myapp && cd $_
  • Run yo openmrs-owa to scaffold the Open Web App
  • Run npm run build:prod to build distributable zip file
  • Run npm run build:deploy to deploy directly to your local server
  • Run npm run watch for live reloading and more


Install npm packages dependencies as follows:

npm install --save <package>

To use the installed package, import it as follows:

//import and assign to variable
import variableName from 'package';

To contain package in vendor bundle, remember to add it to vendor entry point array, eg.:

entry: {
  app : `${__dirname}/app/js/owa.js`,
  css: `${__dirname}/app/css/owa.css`,
  vendor : [
    ...//other packages in vendor bundle

Any files that you add manually must be added in the app directory.


  • --skip-welcome-message Skips Yeoman's greeting before displaying options.
  • --skip-install Skips automatically running npm install.

Environment Variables

The generator will read the following environment variables and use their values as the default when generating a new Open Web App:

  • OMRS_OWA_LOCAL_DIR: The directory to use for local deployment

e.g. /Users/pascal/openmrs-standalone-2.4/appdata/owa

  • OMRS_OWA_GITHUB_ID: Your GitHub username

e.g. psbrandt

  • OMRS_OWA_BASE_URL: The base URL of your local OpenMRS server

e.g. http://localhost:8082/openmrs-standalone


See the contributing docs.


OpenMRS Talk OpenMRS IRC OpenMRS Telegram OpenMRS Wiki

It's best to ask your questions on OpenMRS talk.