Skip to main content

Publishing NPM Packages

This is the process we use to publish new versions of JavaScript NPM packages.

Publishing NPM dependencies requires being a member of the Medplum dev team.

note

Note that publishing to NPM is separate from deploying to production. For details on deploying to production, see:

  • Hosted Medplum uses CI/CD which automatically pushes to production on every merge to main
  • For self-hosted, see Install on AWS - Ongoing

Steps

The Medplum publish process is automated using Github Actions.

1. Prepare the release

  • Go to GitHub Actions
  • In the left side bar, click Prepare release
  • Click the "Run workflow" button
  • Use the default branch main
  • Click "Run workflow"

This will initiate the action, which will create the release PR and a draft "Release".

Wait for the normal PR process, and merge the PR when ready.

2. Publish the release

  • Go to GitHub Releases
  • At the top, there should be a new release in "Draft" status
  • Click the pencil icon for "Edit"
  • Leave the tag alone
  • Update the "Target"
    • Click on the "Target: main" button
    • Go to the "Recent Commits" tab
    • Select the Release commit
  • Update the release notes as you see fit
    • Give shout-outs to new contributors
    • When necessary, add notes about new features
    • At your discretion, remove trivial commits
  • Click "Publish release"

That will create a new Github "Release", which starts a "Publish" action.

The publish action publishes all libraries to npm, and also builds the medplum-agent-installer.exe binary.