Skip to content

chore: fix files distributed in effect packages#555

Open
ancheetah wants to merge 2 commits intomainfrom
fix-packaging
Open

chore: fix files distributed in effect packages#555
ancheetah wants to merge 2 commits intomainfrom
fix-packaging

Conversation

@ancheetah
Copy link
Collaborator

@ancheetah ancheetah commented Mar 23, 2026

JIRA Ticket

Description

  • Fixes files distributed in sdk-effects packages. Excludes files not in /dist folder.
  • Fixes Slack messaging for beta publishes to include sdk-effects packages

Yes there is a patch changeset.

Summary by CodeRabbit

  • Chores
    • Restricted published contents for sdk-request-middleware, iframe-manager, storage, sdk-logger, and oidc to include only built distribution files.
    • Updated CI snapshot job to skip actual publishing and broadened manifest collection for package-format reporting to include additional package manifests while avoiding missing-file errors.

@changeset-bot
Copy link

changeset-bot bot commented Mar 23, 2026

🦋 Changeset detected

Latest commit: 20e7e28

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 12 packages
Name Type
@forgerock/sdk-request-middleware Patch
@forgerock/iframe-manager Patch
@forgerock/storage Patch
@forgerock/sdk-logger Patch
@forgerock/sdk-oidc Patch
@forgerock/davinci-client Patch
@forgerock/journey-client Patch
@forgerock/oidc-client Patch
@forgerock/device-client Patch
@forgerock/protect Patch
@forgerock/sdk-types Patch
@forgerock/sdk-utilities Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@ancheetah ancheetah requested a review from ryanbas21 March 23, 2026 20:43
@coderabbitai
Copy link

coderabbitai bot commented Mar 23, 2026

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Adds a Changeset and sets "files": ["dist"] in five package manifests to restrict published artifacts to dist; modifies the snapshot publish job to skip publishing and broadens the manifest glob used when formatting published packages. No source/API changes.

Changes

Cohort / File(s) Summary
Changeset
.changeset/odd-parents-joke.md
Adds a Changeset entry marking patch releases and noting the fix applies only to files under dist.
Package publish config (packages/sdk-effects/...)
packages/sdk-effects/iframe-manager/package.json, packages/sdk-effects/logger/package.json, packages/sdk-effects/oidc/package.json, packages/sdk-effects/sdk-request-middleware/package.json, packages/sdk-effects/storage/package.json
Added "files": ["dist"] to each package.json to restrict npm-published contents to the dist directory; no exports/entrypoints or source code changed.
CI workflow
.github/workflows/publish.yml
Snapshot job now skips pnpm publish (echo no-op); manifest glob for formatting published packages expanded to include packages/sdk-effects/*/package.json (deduped/suppressed errors).

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested reviewers

  • ryanbas21
  • cerebrl

Poem

🐰 I hopped through package.jsons with care,

Packed only dist, light as air.
A Changeset squeaked, releases in sight,
The workflow paused its publish flight.
Tiny tweaks — tidy packages, out of sight!

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main change: adding files field to package.json files to restrict npm distribution to the dist directory.
Description check ✅ Passed The description addresses the main changes and confirms a changeset was added, but lacks specific details about what was changed and why, making it sparse but adequate.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix-packaging

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@nx-cloud
Copy link
Contributor

nx-cloud bot commented Mar 23, 2026

View your CI Pipeline Execution ↗ for commit 20e7e28

Command Status Duration Result
nx run-many -t build --no-agents ✅ Succeeded <1s View ↗
nx affected -t build lint test typecheck e2e-ci ✅ Succeeded 1m 18s View ↗

☁️ Nx Cloud last updated this comment at 2026-03-24 16:53:10 UTC

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.changeset/odd-parents-joke.md:
- Line 7: The changeset lists '@forgerock/davinci-client' but no package changes
are included; either remove the '@forgerock/davinci-client' line from
.changeset/odd-parents-joke.md or add the actual package.json changes for
packages/davinci-client (update packages/davinci-client/package.json) so the
changeset matches the patch; specifically ensure the 'files' field in
package.json (currently ["dist", "!dist/tsconfig.lib.tsbuildinfo", "./LICENSE"])
is part of the committed changes if you intend to keep the package in the
changeset.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 28c5455f-1d8b-46b2-8b42-068c839258e0

📥 Commits

Reviewing files that changed from the base of the PR and between e09904f and 3401421.

📒 Files selected for processing (6)
  • .changeset/odd-parents-joke.md
  • packages/sdk-effects/iframe-manager/package.json
  • packages/sdk-effects/logger/package.json
  • packages/sdk-effects/oidc/package.json
  • packages/sdk-effects/sdk-request-middleware/package.json
  • packages/sdk-effects/storage/package.json

@codecov-commenter
Copy link

codecov-commenter commented Mar 23, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 14.77%. Comparing base (5d6747a) to head (20e7e28).
⚠️ Report is 10 commits behind head on main.

❌ Your project status has failed because the head coverage (14.77%) is below the target coverage (40.00%). You can increase the head coverage or adjust the target coverage.

Additional details and impacted files
@@             Coverage Diff             @@
##             main     #555       +/-   ##
===========================================
- Coverage   70.90%   14.77%   -56.14%     
===========================================
  Files          53      153      +100     
  Lines        2021    26262    +24241     
  Branches      377     1056      +679     
===========================================
+ Hits         1433     3879     +2446     
- Misses        588    22383    +21795     

see 101 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@pkg-pr-new
Copy link

pkg-pr-new bot commented Mar 23, 2026

Open in StackBlitz

@forgerock/davinci-client

pnpm add https://pkg.pr.new/ForgeRock/ping-javascript-sdk/@forgerock/davinci-client@555

@forgerock/device-client

pnpm add https://pkg.pr.new/ForgeRock/ping-javascript-sdk/@forgerock/device-client@555

@forgerock/journey-client

pnpm add https://pkg.pr.new/ForgeRock/ping-javascript-sdk/@forgerock/journey-client@555

@forgerock/oidc-client

pnpm add https://pkg.pr.new/ForgeRock/ping-javascript-sdk/@forgerock/oidc-client@555

@forgerock/protect

pnpm add https://pkg.pr.new/ForgeRock/ping-javascript-sdk/@forgerock/protect@555

@forgerock/sdk-types

pnpm add https://pkg.pr.new/ForgeRock/ping-javascript-sdk/@forgerock/sdk-types@555

@forgerock/sdk-utilities

pnpm add https://pkg.pr.new/ForgeRock/ping-javascript-sdk/@forgerock/sdk-utilities@555

@forgerock/iframe-manager

pnpm add https://pkg.pr.new/ForgeRock/ping-javascript-sdk/@forgerock/iframe-manager@555

@forgerock/sdk-logger

pnpm add https://pkg.pr.new/ForgeRock/ping-javascript-sdk/@forgerock/sdk-logger@555

@forgerock/sdk-oidc

pnpm add https://pkg.pr.new/ForgeRock/ping-javascript-sdk/@forgerock/sdk-oidc@555

@forgerock/sdk-request-middleware

pnpm add https://pkg.pr.new/ForgeRock/ping-javascript-sdk/@forgerock/sdk-request-middleware@555

@forgerock/storage

pnpm add https://pkg.pr.new/ForgeRock/ping-javascript-sdk/@forgerock/storage@555

commit: 20e7e28

@github-actions
Copy link
Contributor

github-actions bot commented Mar 23, 2026

Deployed e7a9de4 to https://ForgeRock.github.io/ping-javascript-sdk/pr-555/e7a9de41db46a4d1fcad8b53b1ced35f41782d96 branch gh-pages in ForgeRock/ping-javascript-sdk

@github-actions
Copy link
Contributor

github-actions bot commented Mar 23, 2026

📦 Bundle Size Analysis

📦 Bundle Size Analysis

🆕 New Packages

🆕 @forgerock/journey-client - 87.8 KB (new)
🆕 @forgerock/journey-client - 0.0 KB (new)

➖ No Changes

@forgerock/sdk-logger - 1.6 KB
@forgerock/sdk-request-middleware - 4.5 KB
@forgerock/iframe-manager - 2.4 KB
@forgerock/sdk-oidc - 4.8 KB
@forgerock/storage - 1.5 KB
@forgerock/sdk-types - 7.9 KB
@forgerock/protect - 150.1 KB
@forgerock/device-client - 9.2 KB
@forgerock/davinci-client - 41.3 KB
@forgerock/sdk-utilities - 11.2 KB
@forgerock/oidc-client - 24.9 KB


13 packages analyzed • Baseline from latest main build

Legend

🆕 New package
🔺 Size increased
🔻 Size decreased
➖ No change

ℹ️ How bundle sizes are calculated
  • Current Size: Total gzipped size of all files in the package's dist directory
  • Baseline: Comparison against the latest build from the main branch
  • Files included: All build outputs except source maps and TypeScript build cache
  • Exclusions: .map, .tsbuildinfo, and .d.ts.map files

🔄 Updated automatically on each push to this PR

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.github/workflows/publish.yml:
- Line 141: The FORMATTED assignment uses the glob pattern
packages/**/package.json which relies on Bash's recursive globbing but doesn't
enable it; before the line that defines FORMATTED, enable recursive globbing by
invoking shopt -s globstar in the same shell step (so packages/**/package.json
expands correctly), and optionally enable nullglob (shopt -s nullglob) to avoid
literal patterns when there are no matches; ensure these shopt calls run in the
same shell/session that computes FORMATTED.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: f4f06933-9cb5-41e1-9d3f-b7842effde5b

📥 Commits

Reviewing files that changed from the base of the PR and between d849256 and f640753.

📒 Files selected for processing (1)
  • .github/workflows/publish.yml

@ancheetah ancheetah force-pushed the fix-packaging branch 2 times, most recently from 6df7ace to 8506d34 Compare March 24, 2026 14:23
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.github/workflows/publish.yml:
- Around line 132-133: The publish step currently replaces the real pnpm publish
command with a no-op echo which returns success, causing
steps.npmpublish.outcome to be 'success' and triggering the Slack notification
step (the Slack block around lines 136-156); either restore the original run
command (uncomment the pnpm publish invocation) so real publishes occur, or if
you intentionally disabled publishing, modify the Slack notification condition
to check a real flag (for example a new input like inputs.skip_publish or check
a job output that indicates a real publish) or change the condition from
checking steps.npmpublish.outcome to verify an explicit publish-success signal
before sending Slack messages.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: df722467-aa73-4630-ae18-518c3eebf2ee

📥 Commits

Reviewing files that changed from the base of the PR and between 6df7ace and 8506d34.

📒 Files selected for processing (1)
  • .github/workflows/publish.yml

Comment on lines +132 to +133
# run: pnpm publish -r --tag ${{ inputs.npm_tag }} --no-git-checks --access ${{ inputs.npm_access }}
run: echo "Skipping npm publish"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Snapshot publishing is disabled; Slack will report false positives.

The pnpm publish command is commented out and replaced with a no-op echo. Since the echo exits with code 0, steps.npmpublish.outcome will be 'success', causing the Slack notification (lines 136-156) to execute and report packages as "published" when they weren't actually published.

If this is intentional for testing, consider also skipping the Slack notification by updating the condition. If this was a debug artifact, restore the publish command before merging.

Option 1: Restore the publish command
-        # run: pnpm publish -r --tag ${{ inputs.npm_tag }} --no-git-checks --access ${{ inputs.npm_access }}
-        run: echo "Skipping npm publish"
+        run: pnpm publish -r --tag ${{ inputs.npm_tag }} --no-git-checks --access ${{ inputs.npm_access }}
Option 2: If disabling is intentional, also skip Slack notification
       - name: Format published packages for Slack
-        if: steps.npmpublish.outcome == 'success'
+        if: false  # Temporarily disabled while snapshot publishing is skipped
         id: format-packages
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
# run: pnpm publish -r --tag ${{ inputs.npm_tag }} --no-git-checks --access ${{ inputs.npm_access }}
run: echo "Skipping npm publish"
run: pnpm publish -r --tag ${{ inputs.npm_tag }} --no-git-checks --access ${{ inputs.npm_access }}
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/publish.yml around lines 132 - 133, The publish step
currently replaces the real pnpm publish command with a no-op echo which returns
success, causing steps.npmpublish.outcome to be 'success' and triggering the
Slack notification step (the Slack block around lines 136-156); either restore
the original run command (uncomment the pnpm publish invocation) so real
publishes occur, or if you intentionally disabled publishing, modify the Slack
notification condition to check a real flag (for example a new input like
inputs.skip_publish or check a job output that indicates a real publish) or
change the condition from checking steps.npmpublish.outcome to verify an
explicit publish-success signal before sending Slack messages.

nx-cloud[bot]

This comment was marked as outdated.

@ancheetah ancheetah force-pushed the fix-packaging branch 2 times, most recently from 887ea2e to 753460e Compare March 24, 2026 14:54
nx-cloud[bot]

This comment was marked as outdated.

nx-cloud[bot]

This comment was marked as outdated.

nx-cloud[bot]

This comment was marked as outdated.

Copy link
Contributor

@nx-cloud nx-cloud bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Important

At least one additional CI pipeline execution has run since the conclusion below was written and it may no longer be applicable.

Nx Cloud is proposing a fix for your failed CI:

We reverted the accidental -zzz suffix from the Playwright button selector in protect-native.test.ts, restoring it to 'Sign In'. The test was timing out because no button named 'Sign In - zzz' exists in the application UI. This fix aligns with the PR's stated intent, which involves package distribution changes and has no relation to modifying test selectors.

Tip

We verified this fix by re-running @forgerock/protect-suites:e2e-ci--src/protect-native.test.ts.

diff --git a/e2e/protect-suites/src/protect-native.test.ts b/e2e/protect-suites/src/protect-native.test.ts
index 1a707255b..077117092 100644
--- a/e2e/protect-suites/src/protect-native.test.ts
+++ b/e2e/protect-suites/src/protect-native.test.ts
@@ -30,7 +30,7 @@ test.describe('Test basic login flow with Ping Protect', () => {
 
     await page.getByPlaceholder('Username').fill(username);
     await page.getByPlaceholder('Password').fill(password);
-    await page.getByRole('button', { name: 'Sign In - zzz' }).click();
+    await page.getByRole('button', { name: 'Sign In' }).click();
 
     await expect(page.getByText('Protect evaluating')).toBeVisible();
 

Apply fix via Nx Cloud  Reject fix via Nx Cloud


Or Apply changes locally with:

npx nx-cloud apply-locally 7wTr-Dr57

Apply fix locally with your editor ↗   View interactive diff ↗



🎓 Learn more about Self-Healing CI on nx.dev

@ancheetah ancheetah force-pushed the fix-packaging branch 5 times, most recently from 6243f40 to 31d848a Compare March 24, 2026 16:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants