Skip to content

Re-baseline bundlewatch budgets, add MPL-2.0 to the license allowlist, fix dead config in the e2e runner (#1309, #1310, #1311, #1312) - #1461

Open
Johnero542 wants to merge 1 commit into
solutions-plug:mainfrom
Johnero542:fix/bundlewatch-license-allowlist-e2e-runner
Open

Re-baseline bundlewatch budgets, add MPL-2.0 to the license allowlist, fix dead config in the e2e runner (#1309, #1310, #1311, #1312)#1461
Johnero542 wants to merge 1 commit into
solutions-plug:mainfrom
Johnero542:fix/bundlewatch-license-allowlist-e2e-runner

Conversation

@Johnero542

Copy link
Copy Markdown

Summary

  • [Frontend Scaffolding] Set up bundlewatch bundle-size budgets #1310: bundlewatch.config.json's paths (.next/static/chunks/vendor.js, main*.js, pages/_app*.js) were Pages Router / classic-webpack chunk naming conventions — this app is App Router (src/app/), built with Next.js 16's default Turbopack, so none of those paths ever matched any real build output; the budget check was silently a no-op. Re-baselined to App Router chunk conventions (framework-*.js, main-app-*.js, app/page-*.js) plus explicit budgets for the markets and admin route bundles named in the issue's background.
  • [Frontend Scaffolding] Set up license-checker allowlist #1311: current frontend dependencies don't yet include a wallet SDK/charting/i18n library (those are hand-rolled today: useWalletAddress.ts, useI18n.ts, etc.), so that specific background concern doesn't apply yet. But axe-core — already a devDependency — is licensed MPL-2.0, which wasn't in the onlyAllow list at all. Added MPL-2.0.
  • [Frontend Scaffolding] Wire OpenAPI-to-TypeScript client codegen into the build #1312: package.json's generate-client script + build prerequisite, services/api/openapi.yaml, and src/lib/api/schema.d.ts all already exist and are already wired together exactly as described, with dedicated contract tests guarding against drift. Diffed every path in openapi.yaml against schema.d.ts directly — they match exactly. No gap found; nothing changed here.
  • [Frontend Scaffolding] Configure Playwright across browsers and mobile viewports #1309: playwright.config.ts already configures chromium/firefox/webkit/mobile-chrome/mobile-safari/tablet plus integration and staging projects — already well beyond what the issue asks for. The real, still-live gap was in scripts/run-e2e-tests.js (also named in the issue): it built a config object and printed it as "Configuration", but the actual invoked command hardcoded its reporter flag in CI and computed nothing else — config had zero effect on what actually ran. Rebuilt the command from config so the printed configuration is the real one.

Test plan

Closes #1309
Closes #1310
Closes #1311
Closes #1312

…, fix dead config in the e2e runner (solutions-plug#1309, solutions-plug#1310, solutions-plug#1311, solutions-plug#1312)

solutions-plug#1310: bundlewatch.config.json's paths (.next/static/chunks/vendor.js,
main*.js, pages/_app*.js) were Pages Router / classic-webpack chunk
naming conventions — this app is App Router (src/app/), built with
Next.js 16's default Turbopack, so none of those paths ever match any
real build output; the budget check was silently a no-op. Re-baselined
to App Router chunk conventions (framework-*.js, main-app-*.js,
app/page-*.js) plus explicit budgets for the markets and admin route
bundles named in the issue's background.

solutions-plug#1311: current frontend dependencies don't yet include a wallet SDK/
charting/i18n library (those are hand-rolled: useWalletAddress.ts,
useI18n.ts, etc.), so that specific background concern doesn't apply
yet. But axe-core — already a devDependency — is licensed MPL-2.0,
which wasn't in the onlyAllow list at all (only Apache-2.0/Apache* was
present, not MPL). Added MPL-2.0.

solutions-plug#1312: package.json's generate-client script + build prerequisite
(`build: npm run generate-client && next build`), services/api/
openapi.yaml, and src/lib/api/schema.d.ts all already exist and are
already wired together exactly as described, with dedicated contract
tests (client-schema-type-contract.test.ts,
client-schema-path-contract.test.ts) guarding against drift. Diffed
every path in openapi.yaml against schema.d.ts directly — they match
exactly. No gap found; nothing changed here.

solutions-plug#1309: playwright.config.ts already configures chromium/firefox/webkit/
mobile-chrome/mobile-safari/tablet plus integration and staging
projects — already well beyond what the issue asks for. The real,
still-live gap was in scripts/run-e2e-tests.js (also named in the
issue): it built a `config` object (workers/retries/reporter) and
printed it as "Configuration", but the actual invoked command hardcoded
`--reporter=github,html,json,junit` in CI and computed nothing else —
`config` had zero effect on what actually ran. Rebuilt the command from
`config` so the printed configuration is the real one.

Closes solutions-plug#1309
Closes solutions-plug#1310
Closes solutions-plug#1311
Closes solutions-plug#1312

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014jDDop7frnew1xcCJDSKEw
@drips-wave

drips-wave Bot commented Aug 29, 2026

Copy link
Copy Markdown

@Johnero542 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant