-
Notifications
You must be signed in to change notification settings - Fork 72
ENG-200 Publish non-alpha packages #4426
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Ref: #000 - api@1.28.0 - @metriport/api-sdk@17.3.0 - @metriport/carequality-cert-runner@1.19.0 - @metriport/carequality-sdk@1.8.0 - @metriport/commonwell-cert-runner@2.0.1 - @metriport/commonwell-jwt-maker@1.26.0 - @metriport/commonwell-sdk@6.1.0 - @metriport/core@1.25.0 - @metriport/eslint-plugin-eslint-rules@1.1.0 - @metriport/fhir-sdk@1.1.0 - @metriport/ihe-gateway-sdk@0.20.0 - infrastructure@1.23.0 - mllp-server@0.4.0 - @metriport/shared@0.25.0 - utils@1.26.0 Signed-off-by: Rafael Leite <2132564+leite08@users.noreply.github.com>
WalkthroughCoordinated release update across multiple packages: version bumps in numerous package.json files, plus selective dependency range updates (notably @metriport/shared to ^0.25.0 and @metriport/ihe-gateway-sdk to ^0.20.0) in specific SDKs/runners. No code, scripts, or public API surface changes indicated. Changes
Sequence Diagram(s)Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Tip 🔌 Remote MCP (Model Context Protocol) integration is now available!Pro plan users can now connect to remote MCP servers from the Integrations page. Connect with popular remote MCPs such as Notion and Linear to add more context to your reviews and chats. ✨ Finishing Touches🧪 Generate unit tests
🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
🧹 Nitpick comments (2)
packages/commonwell-jwt-maker/package.json (1)
3-3
: Align commonwell-sdk dependency version with 6.1.0Please update the runtime dependency in packages/commonwell-jwt-maker/package.json to match the newly released SDK:
• File: packages/commonwell-jwt-maker/package.json, line 44
--- a/packages/commonwell-jwt-maker/package.json +++ b/packages/commonwell-jwt-maker/package.json @@ dependencies - "@metriport/commonwell-sdk": "^5.9.20", + "@metriport/commonwell-sdk": "^6.1.0",packages/ihe-gateway-sdk/package.json (1)
56-56
: Update to @metriport/shared ^0.25.0 looks correct; validate publish order.Ensure shared@0.25.0 is published first, then this SDK, to keep consumers’ installs smooth.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled
- Linear integration is disabled
You can enable these sources in your CodeRabbit configuration.
⛔ Files ignored due to path filters (1)
package-lock.json
is excluded by!**/package-lock.json
📒 Files selected for processing (15)
packages/api-sdk/package.json
(2 hunks)packages/api/package.json
(1 hunks)packages/carequality-cert-runner/package.json
(2 hunks)packages/carequality-sdk/package.json
(1 hunks)packages/commonwell-cert-runner/package.json
(1 hunks)packages/commonwell-jwt-maker/package.json
(1 hunks)packages/commonwell-sdk/package.json
(2 hunks)packages/core/package.json
(1 hunks)packages/eslint-rules/package.json
(1 hunks)packages/fhir-sdk/package.json
(1 hunks)packages/ihe-gateway-sdk/package.json
(2 hunks)packages/infra/package.json
(1 hunks)packages/mllp-server/package.json
(1 hunks)packages/shared/package.json
(1 hunks)packages/utils/package.json
(1 hunks)
🧰 Additional context used
🧠 Learnings (5)
📓 Common learnings
Learnt from: leite08
PR: metriport/metriport#3463
File: packages/api-sdk/src/medical/models/patient.ts:1-1
Timestamp: 2025-03-19T13:58:17.253Z
Learning: When changes are made to SDK packages (`api-sdk`, `commonwell-sdk`, `carequality-sdk`) or `packages/shared` in the Metriport codebase, alpha versions need to be published to NPM before merging the PR.
Learnt from: RadmirGari
PR: metriport/metriport#4324
File: packages/core/src/domain/address.ts:7-7
Timestamp: 2025-08-13T16:08:03.706Z
Learning: In the Metriport codebase, packages/core legitimately depends on metriport/api-sdk and imports from it in multiple places. This is an established architectural pattern and is properly declared as a dependency in core's package.json.
Learnt from: leite08
PR: metriport/metriport#4190
File: packages/shared/package.json:3-3
Timestamp: 2025-07-15T19:00:17.445Z
Learning: The connect-widget package in the Metriport codebase is no longer being updated, so alpha version references in its package.json can be left as-is during release processes.
Learnt from: leite08
PR: metriport/metriport#4013
File: packages/core/src/fhir-to-cda/cda-templates/components/procedures.ts:104-105
Timestamp: 2025-06-12T22:53:09.606Z
Learning: User leite08 prefers responses in English only.
Learnt from: leite08
PR: metriport/metriport#3991
File: packages/core/src/external/aws/s3.ts:621-630
Timestamp: 2025-06-10T22:20:21.203Z
Learning: User leite08 prefers that all review comments are written in English.
📚 Learning: 2025-08-13T16:08:03.706Z
Learnt from: RadmirGari
PR: metriport/metriport#4324
File: packages/core/src/domain/address.ts:7-7
Timestamp: 2025-08-13T16:08:03.706Z
Learning: In the Metriport codebase, packages/core legitimately depends on metriport/api-sdk and imports from it in multiple places. This is an established architectural pattern and is properly declared as a dependency in core's package.json.
Applied to files:
packages/core/package.json
packages/fhir-sdk/package.json
packages/api-sdk/package.json
packages/ihe-gateway-sdk/package.json
packages/carequality-cert-runner/package.json
packages/shared/package.json
packages/commonwell-sdk/package.json
📚 Learning: 2025-07-15T19:00:17.445Z
Learnt from: leite08
PR: metriport/metriport#4190
File: packages/shared/package.json:3-3
Timestamp: 2025-07-15T19:00:17.445Z
Learning: The connect-widget package in the Metriport codebase is no longer being updated, so alpha version references in its package.json can be left as-is during release processes.
Applied to files:
packages/core/package.json
packages/ihe-gateway-sdk/package.json
packages/shared/package.json
packages/commonwell-sdk/package.json
📚 Learning: 2025-03-19T13:58:17.253Z
Learnt from: leite08
PR: metriport/metriport#3463
File: packages/api-sdk/src/medical/models/patient.ts:1-1
Timestamp: 2025-03-19T13:58:17.253Z
Learning: When changes are made to SDK packages (`api-sdk`, `commonwell-sdk`, `carequality-sdk`) or `packages/shared` in the Metriport codebase, alpha versions need to be published to NPM before merging the PR.
Applied to files:
packages/commonwell-cert-runner/package.json
packages/fhir-sdk/package.json
packages/api-sdk/package.json
packages/ihe-gateway-sdk/package.json
packages/carequality-cert-runner/package.json
packages/carequality-sdk/package.json
packages/commonwell-sdk/package.json
packages/commonwell-jwt-maker/package.json
📚 Learning: 2025-06-24T00:53:40.222Z
Learnt from: lucasdellabella
PR: metriport/metriport#4085
File: packages/eslint-rules/package.json:2-2
Timestamp: 2025-06-24T00:53:40.222Z
Learning: ESLint plugins must follow specific naming conventions. For scoped packages, they should be named `scope/eslint-plugin-[plugin-name]`, so `metriport/eslint-plugin-eslint-rules` is the correct format, not `metriport/eslint-rules`.
Applied to files:
packages/eslint-rules/package.json
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (14)
- GitHub Check: check-pr / lint-build-test
- GitHub Check: check-pr / lint-build-test
- GitHub Check: check-pr / lint-build-test
- GitHub Check: check-pr / lint-build-test
- GitHub Check: check-pr / lint-build-test
- GitHub Check: check-pr / lint-build-test
- GitHub Check: check-pr / lint-build-test
- GitHub Check: check-pr / lint-build-test
- GitHub Check: check-pr / lint-build-test
- GitHub Check: check-pr / lint-build-test
- GitHub Check: check-pr / lint-build-test
- GitHub Check: check-pr / lint-build-test
- GitHub Check: check-pr / lint-build-test
- GitHub Check: Analyze (javascript)
🔇 Additional comments (15)
packages/core/package.json (1)
3-3
: Version bump looks fine; confirm no publish intended for core.The package remains
"private": true
, so it will not be published. If that's intentional, all good. If the release plan expects@metriport/core@1.25.0
to be published externally, we need to remove"private": true
and add a properpublishConfig
.Would you like me to prep a diff to un-private and add publishConfig if core is meant to be published in this release?
packages/utils/package.json (1)
3-3
: LGTM: utils version bump only.No behavioral changes; safe metadata update.
packages/api/package.json (1)
3-3
: LGTM: api version bump.Metadata-only change; package remains private, so no publish impact expected.
packages/carequality-sdk/package.json (1)
3-3
: LGTM; verify alpha pre-release and smoke tests done.Version bump looks good and
publishConfig.access
is present. Given prior process for SDKs, please confirm an alpha was published and validated before this non-alpha release.If helpful, I can draft the release checklist items (alpha publish, integration smoke tests, changelog fragments) for this package.
packages/mllp-server/package.json (1)
3-3
: LGTM: metadata-only bumpThis is a straight version bump; package remains private and no behavior changes are implied.
packages/eslint-rules/package.json (1)
3-3
: LGTM: eslint plugin version bumpVersion bump only; naming conforms to the scoped eslint plugin convention.
packages/infra/package.json (1)
3-3
: LGTM: infra package version bumpNo functional changes; version-only update.
packages/commonwell-cert-runner/package.json (1)
3-3
: Patch bump to 2.0.1 looks good.No functional changes implied; aligns with the coordinated non-alpha release.
packages/api-sdk/package.json (2)
62-62
: Confirmed @metriport/shared@0.25.0 is published on npmThe specified version exists in the registry, so this dependency update can be safely merged.
3-3
: Confirm CommonWell SDK version alignmentIt looks like packages/api-sdk/package.json (line 61) still depends on “@metriport/commonwell-sdk”: ^5.9.20, whereas the workspace’s commonwell-sdk package is at version 6.1.0. Other packages demonstrate the same split:
- packages/commonwell-jwt-maker/package.json → ^5.9.20
- packages/utils/package.json → 5.9.11
- packages/lambdas/package.json → 6.0.1-alpha.1 (file) + v1 alias @metriport/commonwell-sdk@^5.9.11
- packages/core & packages/api & packages/commonwell-cert-runner → file:packages/commonwell-sdk (6.1.0) + v1 alias ^5.9.11
If you’re intentionally keeping api-sdk on v5 to avoid v6 breaking changes, that’s fine—just confirm that this divergence is planned for this release wave to prevent consumers from installing both 5.x and 6.x simultaneously.
packages/ihe-gateway-sdk/package.json (1)
3-3
: Version bump to 0.20.0 is aligned with the coordinated release.No API surface changes indicated here. Looks good.
packages/carequality-cert-runner/package.json (2)
3-3
: Runner version bump to 1.19.0 looks good.Matches the non-alpha release plan.
44-45
: Dependencies confirmed on npm – runner can be releasedBoth @metriport/ihe-gateway-sdk@0.20.0 and @metriport/shared@0.25.0 are published and available, so you can proceed with releasing this runner.
packages/commonwell-sdk/package.json (2)
63-63
: Dependency update to @metriport/shared ^0.25.0 looks consistent with the repo-wide update.No concerns.
3-3
: Audit internal dependents for the v6.1.0 bumpThe following packages reference @metriport/commonwell-sdk—please confirm which should migrate to ^6.1.0 and update their ranges; ensure the others remain on v5.x intentionally:
• packages/utils/package.json
– "@metriport/commonwell-sdk": "5.9.11"
• packages/commonwell-jwt-maker/package.json
– "@metriport/commonwell-sdk": "^5.9.20"
• packages/api-sdk/package.json
– "@metriport/commonwell-sdk": "^5.9.20"
• packages/lambdas/package.json
– "@metriport/commonwell-sdk": "6.0.1-alpha.1"
• packages/core/package.json
– "@metriport/commonwell-sdk": "file:packages/commonwell-sdk"
– "@metriport/commonwell-sdk-v1": "npm:@metriport/commonwell-sdk@^5.9.11"
• packages/commonwell-cert-runner/package.json
– "@metriport/commonwell-sdk": "file:packages/commonwell-sdk"
• packages/api/package.json
– "@metriport/commonwell-sdk": "file:packages/commonwell-sdk"
– "@metriport/commonwell-sdk-v1": "npm:@metriport/commonwell-sdk@^5.9.11"Next steps:
- For each package that should consume v6.1.0, update its dependency to
"@metriport/commonwell-sdk": "^6.1.0"
.- Leave any packages locked to v5.x in place (or using the v1 alias) if backwards compatibility is required.
- Run a full install/publish dry-run to validate no unintended breakages.
"version": "1.1.0", | ||
"private": true, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Release blocker: package is marked private but listed in the release plan.
The PR objectives list @metriport/fhir-sdk@1.1.0
, but this package.json has "private": true
and depends on @metriport/shared
via a local file:
spec. If you intend to publish this package to npm:
- Remove
"private": true
. - Add
publishConfig.access: "public"
. - Replace local
file:
dependency on@metriport/shared
with a semver range (e.g.,^0.25.0
) so publishing succeeds.
Proposed changes:
"name": "@metriport/fhir-sdk",
- "version": "1.1.0",
- "private": true,
+ "version": "1.1.0",
"description": "FHIR Bundle SDK for parsing, querying, and manipulating FHIR bundles with reference resolution",
@@
"exports": {
".": "./dist/index.js"
},
+ "publishConfig": {
+ "access": "public"
+ },
@@
"dependencies": {
"@medplum/fhirtypes": "^2.2.10",
- "@metriport/shared": "file:packages/shared"
+ "@metriport/shared": "^0.25.0"
},
If publishing is not desired, please update the release checklist to exclude @metriport/fhir-sdk
to avoid CI/publish step failures.
Also applies to: 41-44
@@ -1,6 +1,6 @@ | |||
{ | |||
"name": "@metriport/shared", | |||
"version": "0.24.9", | |||
"version": "0.25.0", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Verification agent
🧩 Analysis chain
Shared bumped to 0.25.0 — verify all dependents updated and process prerequisites met
The version bump looks good. Given this package is widely consumed, please confirm:
- All dependents now require
@metriport/shared
^0.25.0
(or workspace protocol). - Per our release process, alpha builds for SDKs/shared were published before merging non-alpha.
Run to verify dependency ranges:
If helpful, I can open a follow-up to align any stragglers.
🏁 Script executed:
#!/bin/bash
# Show all @metriport/shared declarations and highlight any not on ^0.25.0 or workspace
rg -n -C2 '"@metriport/shared"\s*:\s*"[^\"]+"' package.json | sed -n '1,200p'
echo
echo "Potential mismatches (not ^0.25.0 and not workspace:):"
rg -nP '"@metriport/shared"\s*:\s*"(?!(\^?0\.25\.0|workspace:)).*"' package.json -C1
Length of output: 421
🏁 Script executed:
#!/bin/bash
# Search across all package.json files for @metriport/shared
echo "1) All @metriport/shared declarations:"
rg -n '"@metriport/shared":\s*".*"' -g 'package.json'
echo
echo "2) Potential mismatches (not ^0.25.0 or workspace:):"
# Using PCRE to catch any version string that does not start with ^0.25.0 or workspace:
rg -nP '"@metriport/shared":\s*"(?!\^0\.25\.0|workspace:).*"' -g 'package.json' || echo "No mismatches found"
Length of output: 2089
Shared bumped to v0.25.0 — remaining dependents need version updates & alpha publish
We ran a search across all package.json files and found the following still pointing at older versions or local file references:
- packages/terminology/package.json (line 33):
^0.23.3
- samples/typescript-express/package.json (line 20):
^0.23.1
- packages/lambdas/package.json (line 79):
file:packages/shared
- packages/utils/package.json (line 60):
file:packages/shared
- packages/infra/package.json (line 40):
file:packages/shared
- packages/fhir-sdk/package.json (line 43):
file:packages/shared
- packages/mllp-server/package.json (line 34):
file:packages/shared
- packages/core/package.json (line 120):
file:packages/shared
- packages/api/package.json (line 38):
file:packages/shared
• Please update each to "^0.25.0"
or use the workspace protocol ("workspace:packages/shared"
) so they all align with v0.25.0.
• Per our release process, ensure you’ve published alpha builds of @metriport/shared
(and any SDKs) to NPM before merging.
🤖 Prompt for AI Agents
In packages/shared/package.json around line 3, the version was bumped to 0.25.0
but other packages still reference older/local versions; update the following
files to reference the new shared version: change
packages/terminology/package.json (line 33) and
samples/typescript-express/package.json (line 20) to "^0.25.0", and change the
file: packages references in packages/lambdas/package.json (line 79),
packages/utils/package.json (line 60), packages/infra/package.json (line 40),
packages/fhir-sdk/package.json (line 43), packages/mllp-server/package.json
(line 34), packages/core/package.json (line 120), and packages/api/package.json
(line 38) to either "^0.25.0" or use the workspace protocol
"workspace:packages/shared" so all packages align with v0.25.0; after updating,
run install/lockfile update and ensure you have published alpha builds of
@metriport/shared (and any SDKs) to NPM per release process before merging.
Dependencies
Description
Testing
none
Release Plan
Summary by CodeRabbit