Repository navigation
UN-4363 [FEAT] Enforce the frontend v1 rules as their own PR checks: seam, purity, bundle, separation and accessibility - #2434
Draft
johnyrahul wants to merge 3 commits into
Draft
johnyrahul wants to merge 3 commits into
johnyrahul wants to merge 3 commits into
Conversation
…0-T10) - ci-frontend-v1.yaml: v1 checks as their own jobs (Biome, Typecheck, Purity, Unit tests, Build/bundle/separation, Guard fixtures), moved out of the v0 typecheck job so v1 reports apart from v0. - ci-frontend-v1-seam.yaml + scripts/check-v1-seam.mjs: v1 work may change v0 (src/ outside v1, public/) only at scripts/v1-seam-allowlist.json. Change sets that touch no v1 file pass; the v0-change label turns it into a report. - scripts/check-v1-separation.mjs: no tracked plugin folder under src/v1/plugins (enterprise code stays in unstract-cloud). - scripts/check-v1-bundle.mjs: production build, then no v1 chunk or chunk it loads holds a v0 module or antd. - biome.json: a11y rules are errors under src/v1; lint:v1 fails on warnings. - 17 fixture cases proving each new guard fails and passes as specified, including two real Vite builds for the bundle guard. Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01HzRGGUgsEDiwJ56zKJ4ASv
…ud findings - chmod +x on the three new shebang scripts (pre-commit check-shebang-scripts-are-executable). - Explicit compare functions for every sort. - Split the bundle guard's check() into reachable() and describe() to bring its cognitive complexity under the limit; output is unchanged. - git from PATH marked NOSONAR with the reason, as in the fixture runner. - String.raw in the glob escaper; no nested template literal. Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01HzRGGUgsEDiwJ56zKJ4ASv
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Requested by Johny · project thread
What
ci-frontend-v1.yamlwith one job per guard:v1 · Biome,v1 · Typecheck,v1 · Purity,v1 · Unit tests,v1 · Build, bundle and separation,v1 · Guard fixtures.ci-frontend-v1-seam.yaml:v1 · Seam.typecheckjob inci-frontend-lint.yaml.Why
typecheckcheck.How
scripts/check-v1-seam.mjs+scripts/v1-seam-allowlist.json):src/v1/or v1 tooling (scripts/*v1*,test-fixtures/v1-*).src/outside v1, orpublic/) not in the allowlist. The allowlist covers routes, the root mount andsrc/index.css.v0-changelabel makes the check list the files instead of failing. The seam check is in its own workflow because it re-runs on label changes.check-v1.mjs --codepluscheck-v1-styles.mjs. Adds a fixture showing v1 cannot import the antd shims.biome.jsonsets the 11 a11y rules that arewarnrepo-wide toerrorundersrc/v1.lint:v1and the CI job use--error-on-warnings, so any Biome warning under v1 fails.scripts/check-v1-bundle.mjs):scripts/check-v1-separation.mjs): no tracked folder undersrc/v1/plugins/. The other half, "builds with no overlay", is the Build job itself, which runs on a clean OSS checkout.boundary.fixtures.mjs, including two real mini Vite builds for the bundle guard.v1-important-cssnow expects Biome'snoImportantStylesfirst, and runs the styles script directly to keep its own branch covered.Can this PR break any existing features. If yes, please list possible items. If no, please explain why. (PS: Admins do not merge the PR without this section filled)
src/v1/README.md.src/v1.typecheckcheck no longer covers v1. After merge, a repo admin needs to add the newv1 · …checks to branch protection.Database Migrations
Env Config
Relevant Docs
frontend/src/v1/README.md, section "Scripts".Related Issues or PRs
frontend-v1-unitgroup, after P0-T08.frontend-v1-e2erequired, after UN-4345 [FEAT] Frontend v1 E2E harness and the frontend-v1-e2e group #2355.Dependencies Versions
Notes on Testing
bun run test:v1: 39 vitest tests and 105 fixture tests pass.typecheck:v1,lint:v1,biome ci src/andtsc --noEmitare unchanged and clean.node scripts/check-v1-bundle.mjson the real app: 116 chunks, 0 v1 chunks, ok.Screenshots
Checklist
I have read and understood the Contribution Guidelines.
Generated by Claude Code