@starterlib/schematics
v0.16.4
Published
Generateurs du chemin dore des SPA du socle frontal starter : ng g @starterlib/schematics:page, liste, formulaire, tuile. Jamais en dependance de production.
Maintainers
Readme
@starterlib/schematics
Les generateurs du chemin dore des SPA du socle frontal (lot 285) : une page, une liste, un
formulaire, une tuile, ecrits comme le socle les exige, et que starter-web verify accepte sans
retouche. Jamais en dependance de production.
pnpm add -D --save-exact @starterlib/schematics@<version du socle>
ng g @starterlib/schematics:page parametres
ng g @starterlib/schematics:liste operations
ng g @starterlib/schematics:formulaire nouveau-beneficiaire
ng g @starterlib/schematics:tuile soldeLa collection est un paquet : ng g la nomme par son nom complet. L'ecriture courte du plan SPA
(ng g @starterlib:page) supposerait un paquet nomme @starterlib, ce qu'un scope npm ne permet pas.
| Generateur | Ce qu'il ecrit |
| ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| page | src/app/pages/<nom>.{ts,html,scss,spec.ts} : st-page-header en PREMIER enfant (lot 294), aide contextuelle (lot 280) ; la route (title = <perimetre>.pages.<nom>), avant toute route a parametre |
| liste | la page, ses cinq etats par st-state (chargement, erreur, vide, hors ligne, succes), une st-list ; src/app/donnees/<nom>.ts, la source a brancher sur le client engendre du service |
| formulaire | la page en Signal Forms (form[stForm], st-error-summary, st-form-actions), formulaireModifie() ; la route sous canDeactivate: [formulaireNonEnregistre] |
| tuile | src/app/tuiles/<nom>.{ts,html,spec.ts} : la carte titree (st-card, lien etendu) qui mene a sa page ; aucune route |
Chacun ajoute ses cles aux DEUX catalogues du perimetre (public/i18n/<perimetre>.fr.json et
.en.json, memes cles : l'etape i18n), reecrit le type des cles (src/app/i18n/cles.ts) par la
fonction meme de starter-web i18n:types (@starterlib/cli, pair du paquet), et met ce qu'il ecrit a
la forme de Prettier par le Prettier et la configuration de la SPA. Il n'ecrase rien : un fichier,
une cle ou une route deja presents l'arretent.
Options : --perimetre (par defaut, le premier du manifeste, starterWeb.i18n.perimetres pour une
application autonome, socle pour l'hote), --prefixe (par defaut, prefix d'angular.json).
Les textes proposes (titre tire du nom, aide et precision generiques) sont a REECRIRE : ils existent
pour que la page se construise et se verifie des sa generation, pas pour partir tels quels. La source
d'une liste et l'envoi d'un formulaire sont a brancher sur le client engendre du service
(pnpm contrat:generer, ADR web 0008) : le lint refuse tout appel HTTP ecrit a la main.
Dans un remote, l'essai de la tuile fournit le routeur EN TANT QUE coquille, et le dit au lint par
une ligne motivee (eslint-disable-next-line no-restricted-imports), comme les essais du remote
catalog ; dans un hote, rien.
Aucune dependance a l'execution : une regle est une fonction de l'arbre que le CLI d'Angular
fournit. Les essais (packages/schematics/test/) lancent les quatre generateurs par le moteur du CLI
(SchematicTestRunner, @angular-devkit/schematics de la matrice du socle) sur une SPA temoin.
Preuve d'integration (2026-10-01) : les quatre generateurs lances sur une COPIE du remote catalog
(liste, page, formulaire, tuile, vingt fichiers ecrits), puis starter-web verify de la SPA
(0.10.13) : ses quinze etapes passent (format, lint, i18n, essais, contrat, construction, budget,
securite...). Seule retouche, celle qu'un developpeur doit a toute route nouvelle : l'essai de la SPA
qui fige la liste de ses routes. C'est cette preuve qui a trouve la ligne de lint de la tuile.
