@cadence-app/compiler
v0.3.0
Published
Compilation des templates en instructions, SCSS scopé, bundling
Maintainers
Readme
@cadence-app/compiler
La chaîne de construction de Cadence : templates compilés en instructions, SCSS scopé par composant, manifeste validé, bundling par esbuild, serveur de développement et publication d'un bundle.
Ce paquet ne tourne jamais dans une WebView. Il travaille une fois, avant la livraison.
Installation
npm install --save-dev @cadence-app/compilerAvec pnpm, autorisez la compilation d'esbuild dans pnpm-workspace.yaml — sans quoi pnpm exec
refuse de démarrer :
allowBuilds:
esbuild: true
'@parcel/watcher': trueLa commande
npx mini init mon-mini-programme
npx mini build mon-mini-programme --minify
npx mini dev mon-mini-programmeinit écrit un mini-programme qui se compile déjà, dans un dossier absent ou vide. Trois
squelettes, par --template : page (défaut), onglets pour une tab bar, composant pour un
composant à soi. Il pose aussi un package.json et un tsconfig.json, sans lesquels un éditeur
souligne en rouge des imports que le build résout très bien — reste à lancer npm install.
build rend un dossier dist : engine.js, app.js, la feuille de thème, les pages, les icônes
et une archive prête à distribuer. Le budget du moteur — 30 ko gzip — est vérifié à chaque
construction, et un dépassement fait échouer la commande.
dev sert le mini-programme dans un navigateur, avec un hôte simulé : le geste retour tient à la
touche Échap, et masquer l'onglet annonce l'arrière-plan.
Trois commandes complètent l'ensemble : mini publish, mini whoami et mini logout, pour une
distribution par backend.
La bibliothèque
Le paquet s'importe aussi, pour outiller un éditeur ou un site :
| Export | Rôle |
|---|---|
| parseTemplate, generateRenderFunction | template vers instructions de rendu |
| rewriteExpression | réécriture d'une expression de template |
| compileStyle, buildThemeSheet | SCSS scopé, et feuille des tokens |
| parseManifest, allManifestPages | lecture et validation d'un manifeste |
| buildMiniApp, startDevServer, publishMiniApp | les trois commandes, en API |
Le sous-chemin @cadence-app/compiler/template expose le parseur seul, sans tirer esbuild ni sass.
Les imports d'un mini-programme
Dans le code d'un mini-programme, @cadence/core, @cadence/runtime, @cadence/bridge et
@cadence/router sont un espace virtuel : le compilateur les remplace par des lectures du moteur
déjà présent dans la WebView. Rien à installer pour eux (ADR-031).
Licence
MIT
