Skip to content

chore(Meta): Added caret ranges to dedupe packages#9079

Merged
rllyy97 merged 10 commits intohotfix/v0.120from
riley/v0.120
Apr 20, 2026
Merged

chore(Meta): Added caret ranges to dedupe packages#9079
rllyy97 merged 10 commits intohotfix/v0.120from
riley/v0.120

Conversation

@rllyy97
Copy link
Copy Markdown
Contributor

@rllyy97 rllyy97 commented Apr 20, 2026

Commit Type

  • feature - New functionality
  • fix - Bug fix
  • refactor - Code restructuring without behavior change
  • perf - Performance improvement
  • docs - Documentation update
  • test - Test-related changes
  • chore - Maintenance/tooling

Risk Level

  • Low - Minor changes, limited scope
  • Medium - Moderate changes, some user impact
  • High - Major changes, significant user/system impact

What & Why

Added caret ranges to dedupe packages

Impact of Change

  • Users: No user-facing behavior changes expected. UI behavior unchanged.
  • Developers: Developers should run pnpm install and potentially pnpm -w rebuild locally. CI will pick up the updated pnpm-lock. If you use a local workspace, run a clean install and verify builds for libs affected (designer, data-mapper, etc.).
  • System: Lockfile changes may update transitive dependency integrity values; CI pipelines should run full builds and tests. Ensure release workflows that rely on exact versions are verified.

Test Plan

  • Unit tests added/updated
  • E2E tests added/updated
  • Manual testing completed
  • Tested in:

Ran full test suite and build, fixed any issues that arose.
Private deployment, no testing needed.

Contributors

@rllyy97

Screenshots/Videos

N/A

@rllyy97 rllyy97 added the risk:low Low risk change with minimal impact label Apr 20, 2026
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 20, 2026

📊 Coverage Check

The following changed files need attention:

libs/data-mapper/src/lib/components/buttonContainer/ButtonContainer.tsx - 0% covered
libs/data-mapper/src/lib/components/buttonPivot/ButtonPivot.tsx - 0% covered

Please add tests for the uncovered files before merging.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 20, 2026

🤖 AI PR Validation Report

PR Review Results

Thank you for your submission! Here's detailed feedback on your PR title and body compliance:

PR Title

  • Current: chore(Meta): Added caret ranges to dedupe packages
  • Issue: None — title is concise and follows the conventional format for a chore/meta update.
  • Recommendation: Keep as-is. If you want to be even more explicit you can mention "pnpm lockfile updated" but it's optional.

Commit Type

  • Properly selected (chore).
  • Note: Only one selection was checked in the body (chore) which is correct.

⚠️ Risk Level

  • Assessment: The PR body marks this change as Low and the repository label present on the PR is risk:low.
  • Issue: Based on the code diff this PR updates many package.json files across libraries, changes a top-level pnpm-lock.yaml, adjusts many transitive dependency specifiers to caret ranges, and updates lots of snapshots/test output and types. These changes affect dependency resolution across many workspaces and can change transitive dependency semantics and CI builds. That increases the potential impact beyond a trivial change.
  • Recommendation: Please consider changing the PR risk label and the Risk Level selection in the PR body to Medium (and update any release/merge guidance) so reviewers and release owners are aware that dependency and lockfile updates touch many packages and could require broader verification.

What & Why

  • Current: Added caret ranges to dedupe packages
  • Issue: Minimal — the one-line What & Why is present, but it is terse.
  • Recommendation: Expand slightly to mention scope and intent so reviewers can quickly reason about impact. Example:
    • "Added caret ranges (^) for several Fluent and other dependencies across multiple libs so pnpm can deduplicate packages across workspaces. Also regenerated pnpm-lock.yaml. This is intended to reduce duplicate copies of the same deps in the workspace and allow patch upgrades across subpackages."

⚠️ Impact of Change

  • The PR body includes an Impact of Change section — good — but it can be more explicit about which libraries are affected and what to check in CI.
  • Recommendation: Add short, specific bullets to make verification straightforward:
    • Users: No user-facing UI changes expected but transitive dependency changes may surface subtle runtime differences for consumers; recommend smoke testing important flows.
    • Developers: List the top libraries changed (e.g., designer, designer-v2, data-mapper, data-mapper-v2, chatbot, designer-ui) and add explicit commands to run locally:
      • pnpm -w install && pnpm -w rebuild (or your repo's equivalent) and pnpm -w test.
      • pnpm -w -C <lib> build for affected libs.
    • System: Highlight that pnpm-lock.yaml changed and that CI must run full builds/tests; if you have release workflows that rely on exact transitive versions, call that out.

⚠️ Test Plan

  • Assessment: You marked "Manual testing completed" and included a helpful note: "Ran full test suite and build, fixed any issues that arose." The diff actually includes test adjustments (an async afterEach flush and many snapshot updates). Because snapshots and tests changed, it's reasonable to either mark "Unit tests added/updated" or explicitly explain why you didn't check that box.
  • Issue: The template checkboxes show Unit/E2E not checked while test files and many snapshots were modified. This can mislead reviewers on test coverage.
  • Recommendation: Update the Test Plan checkboxes to reflect reality:
    • If you updated snapshots and tests (as seen in the diff), check Unit tests added/updated.
    • If the only testing was running the existing suites and updating snapshots because of expected class/hash changes, check Manual testing completed but add a short explanation: e.g., "Ran full unit + snapshot test suites locally and updated snapshots where approved; no new unit tests required." If you did add or change test logic (you did change an afterEach in CopilotChatbot.spec.tsx), make that clear.
    • If there are release or canary verification steps (private deployment) include the environment and how to validate.

Contributors

  • Current: @rllyy97 is listed.
  • Assessment: This is fine. If others contributed, list them; if not, this is acceptable.

Screenshots/Videos

  • Current: N/A
  • Assessment: Correct — this appears to be dependency/tooling/lockfile changes only; no UI screenshots required.

Summary Table

Section Status Recommendation
Title No change needed.
Commit Type No change needed.
Risk Level ⚠️ Change to Medium label & PR body risk selection; explain rollout/test plan.
What & Why Expand the one-line entry with scope & intent.
Impact of Change ⚠️ Add the specific libs impacted and local CI/test commands.
Test Plan ⚠️ Update checkboxes to match modified tests/snapshots and explain how they were validated.
Contributors No change needed (add more only if applicable).
Screenshots/Videos No change needed.

Final message
This PR body follows the template and is mostly complete. However, because the diff updates many package.json files across workspaces and a large pnpm-lock.yaml (plus numerous snapshot updates and a small test change), I advise treating this as a Medium-risk change. Please update the PR risk selection and label to risk:medium and adjust the Test Plan checkboxes to reflect the snapshot/test updates (or add a short explanation of why you only marked manual testing).

Concrete action items to update in the PR before merging:

  • Change Risk Level selection in the PR body to Medium and request the label risk:medium (or add a note to justify Low explicitly). The label currently on the PR is risk:low — please update it to match your updated assessment.
  • In What & Why, expand the single line to mention:
    • the main goal (dedupe by using caret ranges),
    • that pnpm-lock.yaml was regenerated, and
    • which top-level libs were touched (designer, designer-v2, data-mapper, data-mapper-v2, chatbot, designer-ui, etc.).
  • In Impact of Change, list the key libraries/files changed and give the commands to validate locally, e.g.:
    • pnpm -w install
    • pnpm -w rebuild
    • pnpm -w test
    • pnpm -w -C libs/ build (for the few affected libs)
  • In Test Plan, either check Unit tests added/updated (since many snapshots changed and one spec was adjusted) or add a short note explaining why only manual testing is checked and where the snapshot updates happened. Example note to add:
    • "Ran full unit and snapshot test suites locally, updated snapshots in designer-ui and other libs. Updated one unit test to flush timers to avoid teardown issues. No new tests required." Also include whether CI runs full matrix and which jobs must pass.
  • Add a short note to reviewers on what to watch for in CI (e.g., transitive dependency upgrades that may affect release flows) and whether consumers of the package need to perform any special verification.

If you make those small PR body updates (and update the risk label), re-run CI and ensure all checks pass. Thanks — this is a well-scoped meta change, but because it affects dependencies across many libs it merits extra caution in verification.


Please update the PR title/body and labels as recommended above, then re-submit. Thank you for helping maintain high-quality PR descriptions for the team!


Last updated: Mon, 20 Apr 2026 20:42:15 GMT

@rllyy97 rllyy97 added risk:low Low risk change with minimal impact and removed risk:low Low risk change with minimal impact labels Apr 20, 2026
@rllyy97 rllyy97 enabled auto-merge (squash) April 20, 2026 20:18
@rllyy97 rllyy97 merged commit ae9aa0c into hotfix/v0.120 Apr 20, 2026
10 of 11 checks passed
@rllyy97 rllyy97 deleted the riley/v0.120 branch April 20, 2026 22:31
rllyy97 added a commit that referenced this pull request Apr 21, 2026
* chore: use external sourcemaps instead of inline in all lib tsup configs

Change sourcemap from 'inline' to true across all 8 library tsup configs. This emits .map files alongside JS instead of embedding them, reducing JS bundle sizes by 66-84% since inline sourcemaps were the dominant size contributor in every package.

* chore: enable minification on all library packages

Enable minify: true on data-mapper, data-mapper-v2, chatbot, and vscode-extension tsup configs. These 4 packages were previously shipping unminified code to npm, adding ~20-30% unnecessary size.

* chore: remove test data export from parsers production barrel

Remove export of __test__/data/manifests from the parsers barrel export. This test fixture data (492 lines of mock OperationManifest objects) was being bundled into every consumer of logic-apps-shared. The test that uses it imports directly via relative path.

* revert: restore test data export in parsers barrel

The test manifests file is only ~18KB and not a meaningful size contributor. Keeping it in the barrel avoids breaking cross-package test imports.

* chore: remove src from npm package files field

Remove 'src' from the files array in all 8 library package.json files. This stops shipping raw source files alongside the built output in npm packages, roughly halving the unpacked npm package size.

* chore: drop CJS output format, emit ESM only

Change format from ['cjs', 'esm'] to ['esm'] in all 8 library tsup configs. Update publishConfig in package.json files to point main/default to the ESM bundle. Also fixes the 'types:' typo (trailing colon) in all publishConfig export conditions. This halves the number of JS output files.

* chore: clean up duplicate localization files and fix compile paths

- Remove stale duplicate intl/compiled-lang/ directory (4.1MB of outdated locale files). The code imports from intl/src/compiled-lang/ instead.
- Update compile:loc scripts in root package.json to output to the correct directory.
- Fix test helper import path to reference the correct compiled-lang location.
- Remove unused strings.xa.json file.

* fix: externalize all dependencies in library tsup configs

Externalize all dependencies (workspace packages, Fluent UI, Redux,
React Query, etc.) in every library's tsup.config.ts so they are
resolved by consumers rather than bundled into each package output.
This is the highest-impact size reduction, preventing duplicate copies
of large dependencies from being included in the published bundles.

* chore: updated gitignore for tmp file removal

* chore(Meta): Bump version to 5.120.0 (#9078)

* chore: bump version to 5.120.0

* fix: fix loading state test in MCP server create panel

---------

Co-authored-by: Riley Evans <rileyevans@microsoft.com>

* chore(Meta): Added caret ranges to dedupe packages (#9079)

* chore: bump version to 5.120.0

* fix: fix loading state test in MCP server create panel

* Caret ranges for fluent packages

* Use caret ranges for react-redux and react-use to enable dedup

* Updated lock file

* Fix data-mapper FluentIcon type incompatibility

* Fix chatbot test teardown: flush pending timers before cleanup

---------

Co-authored-by: Riley Evans <rileyevans@microsoft.com>

* chore(Deps): Added caret to lexical packages (#9083)

Added caret to lexical packages

Co-authored-by: Riley Evans <rileyevans@microsoft.com>

* Reverted version # change

* Enable a2a-core minification and add ButtonContainer/ButtonPivot tests

---------

Co-authored-by: Riley Evans <rileyevans@microsoft.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr-validated risk:low Low risk change with minimal impact

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants