@flowselections/setup
v1.3.0
Published
CLI tool voor het opzetten en configureren van Flow Selections shell repos
Readme
@flowselections/setup
CLI tool voor het opzetten van Flow Selections shell repos via een lokaal dashboard.
Gebruik
Voer uit vanuit de root van een nieuwe shell repo:
npx @flowselections/setupHet script:
- Controleert of je in een geldige shell repo staat (
src/config/modules.tsaanwezig) - Start een lokale webserver op
localhost:3000 - Opent het dashboard in de browser
- Ontdekt beschikbare modules via een GitHub-org scan
- Voert na bevestiging alle configuratiestappen uit
Module-ontdekking (GitHub-scan)
Modules worden niet meer handmatig bijgehouden. Het dashboard scant de
GitHub-org (standaard JustFlowSelections) en toont elke repo van type module
(heeft build:lib + @flowselections/core als peer/dependency). De pagina-info
komt uit het flowselections-veld in de package.json van elke module.
GitHub-token
De scan gebruikt de GitHub-API. Het token wordt gelezen in deze volgorde:
- Env-var
GITHUB_TOKEN ~/.flowselections-setup.json(via het tokenveld in het dashboard)
Zonder token werkt de scan alleen voor publieke repos en met een strenge
rate-limit. Het token wordt nooit gelogd, nooit in een URL gezet en nooit
gecommit (config.json / .flowselections-setup.json staan in .gitignore).
Wat het script doet
| Stap | Actie |
|------|-------|
| 1 | .npmrc aanmaken met legacy-peer-deps=true |
| 2 | package.json bijwerken met geselecteerde dependencies |
| 3 | npm install uitvoeren |
| 4 | Geïnstalleerde modules valideren (metadata + dist-lib) |
| 5 | src/config/modules.ts aanmaken |
| 6 | Route-bestanden aanmaken onder src/routes/_authenticated/ |
| 7 | module-placeholder.tsx verwijderen |
| 8 | Redirect targets instellen (index + login + reset-wachtwoord) |
| 9 | Statische assets kopiëren naar public/flowselections-assets/ |
| 10 | src/styles.css in canonieke volgorde brengen |
| 11 | Git commit + push |
Validatie
Na npm install wordt elke module gecontroleerd op basis van het geïnstalleerde
pakket (versie-accuraat). Blockers stoppen de installatie met een rapport:
@/-alias indist-lib- export heet nog
myModule(niet hernoemd) flowselections-metadata ontbreekt of is ongeldig- een
pages[].exportbestaat niet indist-lib/index.d.ts - pakket ontbreekt in
node_modules
Waarschuwingen (asset-imports, context-libs in dependencies, nitro) stoppen
de installatie niet. Met de optie "Blockers negeren en toch doorgaan" kun je
tijdens de transitie forceren voordat alle modules herpubliceerd zijn.
Vereisten
- Node.js >= 18
- Git geïnitialiseerd in de shell repo (met
originremote voor push)
