When you want to write code within the OpenMRS SPA, you will need to follow these instructions for setting up your development environment.
Setting up a SPA development environment
- Install git
- Install node, which includes npm. This is for compiling and bundling frontend code (not for writing backend code).
- Consider installing nvm, which can be used to install specific versions of npm and node as needed.
- Trust insecure localhost SSL certificates.
- Run the following commands:
- Now go to https://openmrs-spa.org/openmrs/spa/login
- Open the browser console
- Refresh the page. You will now see a floating colored rectangle on the screen. Click on it. A panel will open up
- In the Import Map tab, click on the frontend module that you are working on.
- For all repos except for openmrs-esm-root-config, modify the URL to be
- Refresh the page.
- Verify that root-config.js is being downloaded from localhost now. You can do this in the Network tab of the browser dev tools.
- Congrats! You're all set up. Try adding a console.log() statement inside of a file and saving the file. Your web browser will refresh and you should see the console.log inside of the browser console.
If you run into a issue in Chrome where you are unable to proceed with insecure certificates, try running with a separate certificate as follows:
Generate self-signed certificate:
Use self-signed certificate when starting Node:
Debug jest test cases
To debug the jest cases, I just used the first option from these instructions: https://jestjs.io/docs/en/troubleshooting
- I added .vscode/launch.json with the following configuration
- From the command line I just run the following command:
node --inspect-brk node_modules/.bin/jest --runInBand --config jest.config.json
- In VSCode set breakpoints and click Debug
I could not figure out how to automatically launch and attach to a test. These instructions: https://jestjs.io/docs/en/troubleshooting did not work for me.