Checklist de publication Community
Cette page résume la procédure de validation avant publication npm de @vevedh/qform-builder-layer.
Cycle de test local rapide
Le script public typecheck régénère d'abord .playground/.nuxt avec nuxi prepare, puis exécute vue-tsc avec tsconfig.nuxt.json.
Sous PowerShell :
bun run clean && bun i && bun run typecheck && bun devAvec PowerShell 7, && empêche bun dev de démarrer si le typecheck échoue. Avec ;, PowerShell poursuit la chaîne même après un code de sortie non nul.
Sous Bash/Zsh :
bun run clean && bun install && bun run typecheck && bun devL'ancien script typecheck:nuxt est conservé comme alias rétrocompatible.
1. Nettoyage
bun run cleanSous Windows, en cas de cache corrompu :
Remove-Item -Recurse -Force .playground\.nuxt, .playground\.output, .nuxt, .output, node_modules\.cache\vite, node_modules\.vite -ErrorAction SilentlyContinue2. Installation
bun install3. Validation complète
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 runtime:build:check
bun run pack:dry-runOu directement :
bun run release:doctorValidation avancée à tester
- ouvrir
/validation; - sélectionner une règle native avec et sans argument ;
- saisir une regex valide puis une regex refusée comme dangereuse ;
- personnaliser le message d’une règle et vérifier le rendu en aperçu ;
- comparer deux champs avec les opérateurs numériques ;
- vérifier la règle publique
multiple_ofdans le builder puis dansFormViewer; - exporter/importer le schéma et confirmer qu’aucune fonction
validationRulesn’est sérialisée.
bun run validation:check
bun run validation:runtime:check4. Vérifier le contenu publié
npm pack --dry-runLe package npm doit contenir :
app/components
app/composables
app/constants
app/stores
app/locales
app/types
app/utils
app/validation
formkit.config.ts
nuxt.config.ts
README.md
LICENSE
CHANGELOG.md
COMMUNITY_EDITION.md
SECURITY.mdIl ne doit pas contenir :
.playground
.nuxt
.output
node_modules
PROMPT_CONTEXT.md
patch-memory/PATCH_*.md
*.zip5. Dry-run publication
bun run npm:publish:dry-runou :
bun run npm:publish:dry-run6. Publication réelle
npm login
bun run npm:publishPour un package scoped public, la première publication doit être publique explicitement.
7. Test consommateur
Créer un projet Nuxt 4 neuf :
bunx nuxi init qform-consumer-test
cd qform-consumer-test
bun installInstaller les dépendances :
bun add @vevedh/qform-builder-layer \
nuxt-quasar-ui @pinia/nuxt @formkit/nuxt \
quasar @quasar/extras \
@formkit/core @formkit/i18n @formkit/inputs @formkit/vue @formkit/utils piniaConfigurer :
export default defineNuxtConfig({
extends: ['@vevedh/qform-builder-layer'],
compatibilityDate: '2026-05-09',
})Tester :
<script setup lang="ts">
import type { FormBuilderSchema, FormBuilderValues } from '@vevedh/qform-builder-layer/types'
const schema = ref<FormBuilderSchema>([])
const values = ref<FormBuilderValues>({})
</script>
<template>
<ClientOnly>
<FormBuilder
builder-id="consumer-test-builder"
v-model:schema="schema"
v-model:values="values"
autosave
/>
</ClientOnly>
</template>Options avancées Quasar et E2E visuel
- [ ] Ouvrir
/quasar-advancedet vérifier les panneauxQEditor,QSelectetQRating. - [ ] Tester le passage d'un select simple à multiple et confirmer la normalisation du modèle.
- [ ] Vérifier que le filtrage local du select ne rend jamais de HTML fourni par le schéma.
- [ ] Déplacer un élément entre deux champs et confirmer qu'une seule ligne Déposez ici est visible.
- [ ] Exécuter les scénarios visuels et inspecter chaque différence avant de mettre à jour les références.
bun run quasar-advanced:check
bun run quasar-advanced:runtime:check
bun run drop-indicator:check
bun run e2e:static:check
bun run e2e:visualAccessibilité 0.1.16
bun run accessibility:check
bun run release:browser:checkLa release est bloquée si le parcours clavier, la restitution du focus, les modes lecture seule/désactivé ou l’audit axe WCAG A/AA échouent. Compléter l’automatisation par une revue au clavier, à 200 % de zoom et avec NVDA.
Industrialisation 0.1.17
La candidate de release doit maintenant passer les frontières suivantes :
bun run industrialization:check
bun run ci:quality
bun run e2e:ci:functional
bun run release:browser:check
bun run pack:artifactci:quality construit le playground et l’application Nuxt hôte SSR, vérifie le budget de bundle et inspecte le manifeste npm. La matrice GitHub Actions rejoue ces contrôles sur Ubuntu et Windows. Les comparaisons visuelles restent exécutées sur Windows ; Linux exécute les parcours fonctionnels et l’audit axe.
Avant publication, inspecter :
.artifacts/bundle-budget.json;.artifacts/package-manifest.json;- le SHA-256 du
.tgz; - les douze baselines Playwright ;
- les rapports des deux runners GitHub Actions.
Isolation Playwright 0.1.18
- [ ]
bun run e2e:server:checkréussit. - [ ]
bun run ci:qualityréussit sans dépendre des captures. - [ ] Les captures absentes sont initialisées avec
bun run e2e:visual:bootstrap. - [ ] Les 12 PNG sont inspectés puis versionnés.
- [ ]
bun run release:browser:checkréussit sans mise à jour automatique.
Complétude du dépôt
- [ ]
bun run workspace:checkréussit avant tout autre contrôle. - [ ] Le dossier a été initialisé depuis une archive complète, pas depuis un overlay seul.
- [ ] Les scripts,
tests/e2e,.playgroundettests/host-appsont présents.
Gel d’API avant la RC
bun run api:contract:check
bun run typecheck:contract
bun run release:candidate:checkLe manifeste public-api.manifest.json doit être relu dans le diff. La CI ne doit jamais lancer api:contract:update. Une suppression ou un renommage de prop, événement, méthode, type ou sous-chemin bloque la RC.
Guide illustré automatisé
bun run docs:screenshots
bun run docs:screenshots:strict
bun run docs:buildVérifier que le manifeste annonce source: playwright, que les douze PNG FR/EN ont été inspectés et qu’aucune donnée personnelle n’apparaît dans la fixture ou les images.