OpenMRS Open Web App Generator
Yeoman generator that scaffolds an OpenMRS Open Web App
Features
The following features are currently supported:
- [x] Scaffold basic OWA folder structure and files
- [x] Production build with Webpack
- [x] Local deploy with Webpack
- [x] Package management with npm
- [x] Live reload, interaction sync and more with Browsersync
Getting Started
- Install dependencies:
npm install --global yo
- Install the generator:
npm install --global @openmrs/generator-openmrs-owa
- Create directory for your app:
mkdir openmrs-owa-myapp && cd $_
- Run
yo @openmrs/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
Extending
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 : [
'package',
...//other packages in vendor bundle
]
},
Any files that you add manually must be added in the app
directory.
Options
-
--skip-welcome-message
Skips Yeoman's greeting before displaying options. -
--skip-install
Skips automatically runningnpm 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
Contribute
See the contributing docs.
Support
It's best to ask your questions on OpenMRS talk.