Community release checklist
This page summarizes the validation procedure before publishing @vevedh/qform-builder-layer on npm.
Quick local test cycle
The public typecheck script first regenerates .playground/.nuxt with nuxi prepare, then runs vue-tsc with tsconfig.nuxt.json.
PowerShell:
bun run clean && bun i && bun run typecheck && bun devPowerShell 7 uses && so bun dev is not started when type checking fails. Using ; would continue even after a non-zero exit code.
Bash/Zsh:
bun run clean && bun install && bun run typecheck && bun devThe previous typecheck:nuxt script remains available as a backward-compatible alias.
1. Clean generated files
bun run cleanOn Windows, the project also provides:
bun run clean:win2. Install dependencies
bun install3. Full validation
bun run layer:assets:check
bun run catalog:check
bun run nested:check
bun run column:check
bun run viewport:check
bun run columns-layout:check
bun run phase1:check
bun run schema-transfer:check
bun run steps:check
bun run validation:check
bun run validation:runtime:check
bun run quasar-advanced:check
bun run quasar-advanced:runtime:check
bun run drop-indicator:check
bun run e2e:static:check
bun run formkit:check
bun run ui:i18n:check
bun run docs:i18n:check
bun run docs:build
bun run typecheck
bun run pack:dry-runor:
bun run release:doctor4. Check published content
npm pack --dry-runVerify that the package does not contain:
.playground
.nuxt
.output
node_modules
PROMPT_CONTEXT.md
patch-memory/PATCH_*.md
*.zip5. Publication dry-run
bun run npm:publish:dry-run6. Real publication
npm login
bun run npm:publish7. Consumer test
Create a temporary Nuxt 4 app and install the package:
bunx nuxi init qform-consumer-test
cd qform-consumer-test
bun add @vevedh/qform-builder-layerThen add the layer to nuxt.config.ts and test FormBuilder inside <ClientOnly>.
Advanced validation test
- open
/validation; - select native rules with and without arguments;
- enter a valid regex and a pattern rejected as unsafe;
- override a field message and verify preview rendering;
- compare two fields with the numeric operators;
- verify the public
multiple_ofrule in builder and viewer; - export/import the schema and confirm that no
validationRulesfunction is serialized.
bun run validation:check
bun run validation:runtime:checkAdvanced Quasar options and visual E2E
- [ ] Open
/quasar-advancedand verify theQEditor,QSelectandQRatingpanels. - [ ] Switch a select from single to multiple and confirm model normalization.
- [ ] Confirm local select filtering never renders HTML supplied by the schema.
- [ ] Drag an element between two fields and confirm only one Drop here line is visible.
- [ ] Run visual scenarios and inspect every difference before updating references.
bun run quasar-advanced:check
bun run quasar-advanced:runtime:check
bun run drop-indicator:check
bun run e2e:static:check
bun run e2e:visualAccessibility 0.1.16
bun run accessibility:check
bun run release:browser:checkThe release is blocked when keyboard workflows, focus restoration, readonly/disabled modes or the WCAG A/AA axe audit fail. Complement automation with keyboard-only, 200% zoom and NVDA review.
0.1.17 industrialization
The release candidate must now pass these boundaries:
bun run industrialization:check
bun run ci:quality
bun run e2e:ci:functional
bun run release:browser:check
bun run pack:artifactci:quality builds both the playground and the separate SSR Nuxt host application, checks bundle budgets and inspects the npm manifest. The GitHub Actions matrix repeats these checks on Ubuntu and Windows. Visual comparisons remain on Windows; Linux runs functional workflows and axe auditing.
Before publishing, review:
.artifacts/bundle-budget.json;.artifacts/package-manifest.json;- the
.tgzSHA-256 digest; - all twelve Playwright baselines;
- reports from both GitHub Actions runners.
Playwright isolation 0.1.18
- [ ]
bun run e2e:server:checkpasses. - [ ]
bun run ci:qualitypasses without depending on screenshots. - [ ] Missing screenshots are initialized with
bun run e2e:visual:bootstrap. - [ ] All 12 PNG files are manually reviewed and committed.
- [ ]
bun run release:browser:checkpasses without automatic updates.
Repository completeness
- [ ]
bun run workspace:checkpasses before any other gate. - [ ] The directory was initialized from a full archive, not from an overlay alone.
- [ ] Scripts,
tests/e2e,.playground, andtests/host-appare present.
API freeze before the RC
bun run api:contract:check
bun run typecheck:contract
bun run release:candidate:checkReview public-api.manifest.json in the diff. CI must never run api:contract:update. Removing or renaming a prop, event, method, type or subpath blocks the RC.
Automated illustrated guide
bun run docs:screenshots
bun run docs:screenshots:strict
bun run docs:buildVerify that the manifest reports source: playwright, all twelve FR/EN PNG files have been reviewed and no personal data appears in the fixture or images.