create-vizion-digital-agency 2.2.0 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +45 -38
- package/index.mjs +13 -17
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,13 +1,22 @@
|
|
|
1
1
|
# create-vizion-digital-agency
|
|
2
2
|
|
|
3
|
-
Nieuwe projecten van Vizion Digital Agency maken, live zetten,
|
|
3
|
+
Nieuwe projecten van Vizion Digital Agency maken, live zetten, onderhouden en up-to-date houden (versie 3.1.0):
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
6
|
npm create vizion-digital-agency@latest # een nieuw project; daarna begint de opzet-assistent vanzelf
|
|
7
|
-
npm create vizion-digital-agency@latest -- beheer # in (een map van) een project: het dashboard voor alles daarna
|
|
8
7
|
npm create vizion-digital-agency@latest -- --help # alle opties
|
|
9
8
|
```
|
|
10
9
|
|
|
10
|
+
Daarna werk je in (een map van) het project met vier npm-scripts; elk roept
|
|
11
|
+
`npm create vizion-digital-agency@latest -- <commando>` aan:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npm run opzet # het takenplan: alles zien, elke stap (ook opnieuw), en alles veranderen
|
|
15
|
+
npm run onderhoud # de server en het onderhoud
|
|
16
|
+
npm run updates # de template-update en de pull request van Dependabot
|
|
17
|
+
npm run live # naar live: main precies gelijk aan staging
|
|
18
|
+
```
|
|
19
|
+
|
|
11
20
|
## Voordat je begint
|
|
12
21
|
|
|
13
22
|
Eén keer per computer, meer niet:
|
|
@@ -25,7 +34,7 @@ een ja), een SSH-sleutel, en de accounts (bij elke stap zegt hij welk account, w
|
|
|
25
34
|
Elke keer: Docker Desktop aan, en start in de map waar je projecten staan.
|
|
26
35
|
|
|
27
36
|
**Een nieuw project** begint met **het takenplan**: één genummerde lijst van alles, per sectie, van de eerste vraag tot
|
|
28
|
-
de klant. Dezelfde lijst zie je daarna steeds terug, met ✓ voor wat klaar is.
|
|
37
|
+
de klant. Dezelfde lijst zie je daarna steeds terug (`npm run opzet`), met ✓ voor wat klaar is en ◀ bij de volgende stap.
|
|
29
38
|
|
|
30
39
|
1. **Het project: alle instellingen** (± 10 minuten): Onderdelen (mobiele app, AI-service), Naam, Domein en poorten
|
|
31
40
|
(standaard het testdomein), Functies (wat er altijd in zit, en organisaties, bestanden, virusscanner), Inloggen
|
|
@@ -42,46 +51,44 @@ de klant. Dezelfde lijst zie je daarna steeds terug, met ✓ voor wat klaar is.
|
|
|
42
51
|
is poort 22 dicht), Het domein (DNS doe jij, hij zegt precies welke records), Bewaking en foutmeldingen, **GitHub**
|
|
43
52
|
(de repository in de organisatie Vizion-Digital-Agency, pas nu, in één keer compleet), Live, en Afronden. Wat hij
|
|
44
53
|
zelf kan, doet hij; wat alleen jij kunt (iets bestellen bij TransIP, een account maken, inloggen met 2FA, de DNS),
|
|
45
|
-
legt hij stap voor stap uit.
|
|
46
|
-
|
|
54
|
+
legt hij stap voor stap uit. Je kiest steeds zelf een regel uit de lijst (de volgende staat al geselecteerd); een stap stoppen kan
|
|
55
|
+
altijd met Ctrl+C, en dan ben je terug in de lijst.
|
|
56
|
+
4. **Livegang naar de klant** (de laatste sectie: pas de volgende als al het andere klaar is; je doet hem als het zover
|
|
57
|
+
is, met `npm run opzet`): het domein
|
|
47
58
|
van de klant, de DNS, de e-mail en de afzender, de links en het logo, social login publiceren, live op zijn domein,
|
|
48
59
|
de app in de stores, en de overdracht. Elke stap vink je zelf af als je hem zonder de assistent deed.
|
|
49
60
|
|
|
50
|
-
Stoppen mag altijd: met
|
|
51
|
-
|
|
52
|
-
**`-- beheer`** is een dashboard in de terminal voor alles daarna:
|
|
53
|
-
|
|
54
|
-
- **Overzicht:** het project in één scherm.
|
|
55
|
-
- **Onderdelen:** alles van het project op één plek, in dezelfde secties en volgorde als bij het maken: eerst wat je
|
|
56
|
-
bij `npm create` koos (de onderdelen, de naam, het domein, de functies, het inloggen, de huisstijl en de links), dan
|
|
57
|
-
elke stap van de opzet-assistent. Elke regel opent een pagina met **elke instelling en zijn waarde** (op je computer,
|
|
58
|
-
live en op staging; geheimen alleen "ingevuld" of "leeg"), en daar verander je wat je wilt: een instelling of
|
|
59
|
-
API-sleutel, een onderdeel of functie aan of uit (met behoud van je eigen werk), of de stap opnieuw. Bij de stappen
|
|
60
|
-
GitHub en Live: **Naar live: main = staging**. Als laatste de sectie **Livegang naar de klant**: elke stap daarvan
|
|
61
|
-
doe je met de assistent, of vink je zelf af.
|
|
62
|
-
- **Server en onderhoud:** wat er vanzelf gebeurt (op de server elke nacht en elke zondag, op GitHub de 1e van de maand Dependabot), wat
|
|
63
|
-
jij doet (ook elke maand de template-update), **onderhoud nu** (zonder op zondag te wachten), en **groot onderhoud**:
|
|
64
|
-
een back-up maken, de onderhoudspagina aan (de app even offline), en weer uit. Ook: controleren, het verslag van Ansible.
|
|
65
|
-
- **Updates:** de **template-update** naar een nieuwe versie van de template (je eigen werk blijft staan; conflicten
|
|
66
|
-
opent hij in VS Code, en daarna gaat het via `staging` naar live), en **de pull request van Dependabot binnenhalen**
|
|
67
|
-
(de 1e van de maand één pull request met alle nieuwe versies; eerst naar `staging`, waar Husky alles controleert, dan
|
|
68
|
-
**Naar live**). En **Klopt het project nog met de template?**: per bestand vergelijken met een vers project van
|
|
69
|
-
dezelfde versie, bekijken in VS Code of terugzetten (de `.env`-bestanden en de kluis blijven altijd staan).
|
|
70
|
-
- **Je computer** en **Techniek:** of alles klaarstaat, en elke techniek met waar de uitleg staat.
|
|
71
|
-
|
|
72
|
-
Zonder dashboard (bijv. in een script):
|
|
61
|
+
Stoppen mag altijd (**Klaar**): met `npm run opzet` ga je verder waar je was.
|
|
73
62
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
npm
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
63
|
+
**Alles daarna** doe je met de vier npm-scripts van het project. Ze werken zoals `npm create`: eerst laten ze zien hoe
|
|
64
|
+
het ervoor staat, dan vragen ze wat je wilt doen.
|
|
65
|
+
|
|
66
|
+
- **`npm run opzet`:** het takenplan. Bovenaan hoe het project ervoor staat (de template-versie, de branch, live en
|
|
67
|
+
staging, de onderdelen en functies, per `.env`-bestand: compleet, in de kluis, op de server; problemen op je computer;
|
|
68
|
+
afwijkingen van `vizion.json`; de voortgang), daaronder de hele lijst met ✓ of ○ en **◀ volgende**. Je kiest zelf een
|
|
69
|
+
regel ("Waar wil je heen?"), ook een eerdere om hem opnieuw te doen of iets te veranderen. Elke regel opent een pagina
|
|
70
|
+
met wat er staat (**elke instelling en zijn waarde** op je computer, live en op staging; geheimen alleen "ingevuld"
|
|
71
|
+
of "leeg") en de acties: een stap doen of opnieuw doen, een instelling veranderen, onderdelen en functies aan of uit
|
|
72
|
+
(met behoud van je eigen werk), het domein, de links en het logo, de opslag wisselen, naar live, afvinken. Als
|
|
73
|
+
laatste **Alle instellingen (.env)**. Eén stap meteen: `npm run opzet -- <stap>` (bijv. `npm run opzet -- bewaking`).
|
|
74
|
+
- **`npm run onderhoud`:** de server. Alles controleren, **onderhoud nu** (zonder op zondag te wachten; ook met
|
|
75
|
+
herstart), een back-up nu, de onderhoudspagina aan of uit (voor **groot onderhoud**), een belastingtest, de
|
|
76
|
+
instellingen op de server zetten, de server opnieuw goedzetten, inloggen met ssh, en het laatste verslag van Ansible.
|
|
77
|
+
Een opdracht van Ansible rechtstreeks: `npm run server -- <opdracht>` (controle, onderhoud, setup, project, staging).
|
|
78
|
+
- **`npm run updates`:** de **template-update** naar een nieuwe versie van de template (je eigen werk blijft staan;
|
|
79
|
+
conflicten opent hij in VS Code, en daarna gaat het via `staging` naar live), **de pull request van Dependabot
|
|
80
|
+
binnenhalen** (de 1e van de maand één pull request met alle nieuwe versies; eerst naar `staging`, waar Husky alles
|
|
81
|
+
controleert, dan naar live), en **Klopt het project nog met de template?**: per bestand vergelijken met een vers
|
|
82
|
+
project van dezelfde versie, bekijken in VS Code of terugzetten (de `.env`-bestanden en de kluis blijven altijd staan).
|
|
83
|
+
Zonder vragen: `npm run updates -- --dry-run` (alleen bekijken), `-- --yes` (de template-update zonder vragen),
|
|
84
|
+
`-- --report <bestand>` (het verslag als Markdown), `-- --from <versie>` (een project zonder `vizion.json`).
|
|
85
|
+
- **`npm run live`:** naar live: `main` precies gelijk aan `staging`, met een tag `live-<datum>-<n>`.
|
|
86
|
+
|
|
87
|
+
Vóór v3.0.0 deed `-- beheer` dit allemaal; dat bestaat sinds v3.0.0 niet meer. `npm run overzicht` (v3.0.0) bestaat
|
|
88
|
+
sinds v3.1.0 niet meer: alles daarvan zit in `npm run opzet`.
|
|
82
89
|
|
|
83
|
-
Alles wat je daarna moet weten, staat in elk project in `docs/
|
|
84
|
-
|
|
90
|
+
Alles wat je daarna moet weten, staat kort in elk project in `docs/cheatsheet.md`; de verdieping in `docs_specifiek/`,
|
|
91
|
+
één document per laag (het stappenplan met alle accounts in `docs_specifiek/samenhang.md`). Werken gaat altijd via dezelfde route: lokaal op je eigen
|
|
85
92
|
branch `feature/<wat>` of `fix/<wat>` (alles in Docker) → samenvoegen in `staging` en pushen (Husky draait eerst de
|
|
86
93
|
volledige controle op je computer; daarna staat het op `staging.<domein>`) → `main` precies gelijk aan `staging` (geen
|
|
87
94
|
nieuwe controle, een tag `live-<datum>-<n>`), en GitHub zet het live.
|
package/index.mjs
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
* create-vizion-digital-agency: nieuwe projecten van Vizion Digital Agency, en
|
|
3
|
+
* create-vizion-digital-agency: nieuwe projecten van Vizion Digital Agency, en alles daarna (de commando's).
|
|
4
4
|
*
|
|
5
5
|
* npm create vizion-digital-agency@latest [map] een nieuw project (daarna start de opzet vanzelf)
|
|
6
|
-
* npm
|
|
6
|
+
* npm run opzet | onderhoud | updates | live alles daarna, in de map van het project (die scripts
|
|
7
|
+
* roepen npm create vizion-digital-agency@latest -- <commando> aan)
|
|
7
8
|
*
|
|
8
9
|
* Dit is alleen de opstarter en bevat zelf geen componenten. Hij zoekt de nieuwste release van de (privé) repository,
|
|
9
10
|
* haalt die op met git (met jouw eigen GitHub-toegang) en start daarna cli/run.mjs uit die kopie. Zo werkt iedereen
|
|
@@ -18,7 +19,7 @@ import { fileURLToPath, pathToFileURL } from "node:url";
|
|
|
18
19
|
import * as ui from "@clack/prompts";
|
|
19
20
|
|
|
20
21
|
/** Gelijk houden met package.json (npm test controleert dat). */
|
|
21
|
-
const VERSION = "
|
|
22
|
+
const VERSION = "3.1.0";
|
|
22
23
|
/** Afspraak met cli/run.mjs; alleen ophogen als de aanroep van run() verandert. */
|
|
23
24
|
const CONTRACT = 1;
|
|
24
25
|
const REPOSITORY = "https://github.com/Vizion-Digital-Agency/create-vizion-digital-agency.git";
|
|
@@ -34,27 +35,22 @@ const HELP = `
|
|
|
34
35
|
${bold("Vizion Digital Agency")}: een nieuw project, en alles daarna
|
|
35
36
|
|
|
36
37
|
npm create vizion-digital-agency@latest [map]
|
|
37
|
-
npm create vizion-digital-agency@latest -- beheer [opdracht]
|
|
38
38
|
|
|
39
39
|
Nieuw project:
|
|
40
40
|
[map] Waar het project komt (standaard: deze map als hij leeg is, anders een nieuwe map).
|
|
41
41
|
Daarna installeert de CLI alles, maakt git, start en controleert het, en begint de opzet-assistent.
|
|
42
42
|
--answers <bestand> Zonder vragen: alle antwoorden uit een JSON-bestand (voor scripts en tests)
|
|
43
43
|
|
|
44
|
-
Een bestaand project (in de
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
--dry-run alleen laten zien wat er zou veranderen
|
|
52
|
-
--yes geen vragen (voor scripts)
|
|
44
|
+
Een bestaand project (in de map van het project; de npm-scripts roepen dit aan):
|
|
45
|
+
npm run opzet Het takenplan: waar je bent, wat nog open staat; kies zelf een regel (ook een eerdere, om iets
|
|
46
|
+
opnieuw te doen of te veranderen: elke instelling, onderdeel, functie, het domein). Eén stap: -- <stap>
|
|
47
|
+
npm run onderhoud De server: controleren, onderhoud, een back-up, de onderhoudspagina, een belastingtest
|
|
48
|
+
npm run updates De template-update, de pull request van Dependabot, vergelijken met de template
|
|
49
|
+
--dry-run alleen laten zien wat de template-update zou veranderen
|
|
50
|
+
--yes de template-update zonder vragen (voor scripts)
|
|
53
51
|
--report <bestand> het verslag ook als Markdown wegschrijven
|
|
54
52
|
--from <versie> alleen voor een project zonder vizion.json: met welke versie het gemaakt is
|
|
55
|
-
|
|
56
|
-
beheer wissel backups|bestanden De opslag wisselen (bijv. naar TransIP Object Store)
|
|
57
|
-
beheer server <opdracht> Ansible op de server (controle, onderhoud, setup, project, test)
|
|
53
|
+
npm run live Naar live: main precies gelijk aan staging
|
|
58
54
|
|
|
59
55
|
Altijd:
|
|
60
56
|
--ref <ref> Een andere versie gebruiken: een tag (v1.2.0) of branch (main). Standaard: de nieuwste release
|
|
@@ -71,7 +67,7 @@ const { values: options, positionals } = parseArgs({
|
|
|
71
67
|
ref: { type: "string" },
|
|
72
68
|
local: { type: "boolean" },
|
|
73
69
|
answers: { type: "string" },
|
|
74
|
-
//
|
|
70
|
+
// npm run updates
|
|
75
71
|
"dry-run": { type: "boolean" },
|
|
76
72
|
yes: { type: "boolean" },
|
|
77
73
|
report: { type: "string" },
|