@fraza/start 0.3.9 → 0.3.13
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/CHANGELOG.md +24 -0
- package/README.md +5 -5
- package/bin/cli.js +4 -4
- package/bin/project.js +6 -5
- package/bin/version.js +1 -1
- package/changelog.json +61 -0
- package/package.json +1 -1
- package/templates/app/(public)/not-found.js +2 -2
- package/templates/app/(public)/page.js +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,30 @@ Historique des versions publiées de `@fraza/start`.
|
|
|
4
4
|
|
|
5
5
|
Ce fichier est généré par `fraza-module changelog` à partir des messages de commit. Ne pas le modifier à la main.
|
|
6
6
|
|
|
7
|
+
## 0.3.13 (2026-10-26)
|
|
8
|
+
|
|
9
|
+
Maintenance interne, aucun changement de comportement.
|
|
10
|
+
|
|
11
|
+
## 0.3.12 (2026-10-26)
|
|
12
|
+
|
|
13
|
+
### Documentation
|
|
14
|
+
|
|
15
|
+
- **cli** : replace fraza-key flow with project key from client area (de750f1)
|
|
16
|
+
|
|
17
|
+
## 0.3.11 (2026-10-25)
|
|
18
|
+
|
|
19
|
+
Maintenance interne, aucun changement de comportement.
|
|
20
|
+
|
|
21
|
+
## 0.3.10 (2026-10-25)
|
|
22
|
+
|
|
23
|
+
### Action requise
|
|
24
|
+
|
|
25
|
+
- `npx fraza-doctor --fix`
|
|
26
|
+
|
|
27
|
+
### Corrections
|
|
28
|
+
|
|
29
|
+
- **templates** : escape apostrophes in JSX text for next.js lint (c6563e1)
|
|
30
|
+
|
|
7
31
|
## 0.3.9 (2026-10-25)
|
|
8
32
|
|
|
9
33
|
Maintenance interne, aucun changement de comportement.
|
package/README.md
CHANGED
|
@@ -75,14 +75,14 @@ Le `.npmrc` écrit par le CLI ne contient qu'une ligne :
|
|
|
75
75
|
@fraza-pro:registry=https://registry.fraza.ca/
|
|
76
76
|
```
|
|
77
77
|
|
|
78
|
-
|
|
78
|
+
Il reste suivi par git, et la machine de build sait où chercher les modules Pro. Pour en installer un, créez le projet dans la section « Projets » de votre espace client sur [compte.fraza.ca](https://compte.fraza.ca), puis collez dans le `.npmrc` la ligne de sa clé, montrée une seule fois :
|
|
79
79
|
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
|
|
80
|
+
```ini
|
|
81
|
+
@fraza-pro:registry=https://registry.fraza.ca/
|
|
82
|
+
//registry.fraza.ca/:_authToken=fzk_…
|
|
83
83
|
```
|
|
84
84
|
|
|
85
|
-
|
|
85
|
+
Pas de `npm login` : la clé suffit, et comme le `.npmrc` est suivi par git, la machine de build installe les modules Pro elle aussi. La clé est en clair dans le dépôt : traitez-la comme une clé de licence propre au projet. Une clé régénérée depuis l'espace client coupe l'ancienne.
|
|
86
86
|
|
|
87
87
|
## Pages d'erreur et de chargement
|
|
88
88
|
|
package/bin/cli.js
CHANGED
|
@@ -8,7 +8,7 @@ import { fileURLToPath } from 'node:url';
|
|
|
8
8
|
import {
|
|
9
9
|
CREATE_NEXT_APP_VERSION,
|
|
10
10
|
MIN_NODE,
|
|
11
|
-
|
|
11
|
+
REGISTRY_HOST,
|
|
12
12
|
findConflictingEntries,
|
|
13
13
|
hideDevIndicators,
|
|
14
14
|
isSupportedNode,
|
|
@@ -186,9 +186,9 @@ async function initProject() {
|
|
|
186
186
|
console.log(` ${dim('jamais dans un fichier suivi par git.')} ${file('FRAZA_ENCRYPTION_KEY')} ${dim('se copie telle quelle depuis')} ${file('.env.local')}${dim(' :')}`);
|
|
187
187
|
console.log(` ${dim('elle ne doit jamais changer, sinon les données chiffrées avec elle deviennent illisibles.')}\n`);
|
|
188
188
|
|
|
189
|
-
console.log(` ${c.bold}Modules Pro :${c.reset}
|
|
190
|
-
console.log(` ${dim(
|
|
191
|
-
console.log(` ${dim('
|
|
189
|
+
console.log(` ${c.bold}Modules Pro :${c.reset} créer le projet dans la section « Projets » de compte.fraza.ca, puis coller sa clé dans ${file('.npmrc')}`);
|
|
190
|
+
console.log(` ${dim(`//${REGISTRY_HOST}/:_authToken=fzk_…`)}`);
|
|
191
|
+
console.log(` ${dim('Le .npmrc reste suivi par git : la machine de build installe ainsi les modules Pro.')}\n`);
|
|
192
192
|
} catch (error) {
|
|
193
193
|
fail(error.message);
|
|
194
194
|
process.exit(1);
|
package/bin/project.js
CHANGED
|
@@ -187,12 +187,13 @@ export function withFrazaGitignore(gitignore) {
|
|
|
187
187
|
/**
|
|
188
188
|
* Écrit le `.npmrc` du projet : le scope `@fraza-pro` vers le registre, rien
|
|
189
189
|
* d'autre. `@fraza` n'y figure pas : le core et les modules gratuits viennent
|
|
190
|
-
* de npmjs, le registre par défaut. Aucun jeton n'y est jamais recopié :
|
|
191
|
-
*
|
|
192
|
-
*
|
|
193
|
-
*
|
|
190
|
+
* de npmjs, le registre par défaut. Aucun jeton n'y est jamais recopié : le
|
|
191
|
+
* jour où un module Pro arrive, le développeur y colle la ligne de la clé du
|
|
192
|
+
* projet (`//registry.fraza.ca/:_authToken=fzk_…`), donnée dans la section
|
|
193
|
+
* « Projets » de compte.fraza.ca. Le fichier reste suivi par git, et la
|
|
194
|
+
* machine de build sait où chercher les modules Pro et avec quelle clé.
|
|
194
195
|
*
|
|
195
|
-
* Le fichier est écrit ici, et non par
|
|
196
|
+
* Le fichier est écrit ici, et non par une commande du core, parce qu'il doit
|
|
196
197
|
* exister avant l'installation de `@fraza/core`. Il n'est pas non plus copié
|
|
197
198
|
* depuis les gabarits : npm exclut toujours les `.npmrc` d'un paquet publié.
|
|
198
199
|
* @param {string} npmrcPath
|
package/bin/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// AUTO-GÉNÉRÉ par `fraza-module sync-version`, ne pas modifier à la main.
|
|
2
|
-
export const STARTER_VERSION = '0.3.
|
|
2
|
+
export const STARTER_VERSION = '0.3.13';
|
package/changelog.json
CHANGED
|
@@ -1,6 +1,67 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fraza/start",
|
|
3
3
|
"versions": [
|
|
4
|
+
{
|
|
5
|
+
"version": "0.3.13",
|
|
6
|
+
"date": "2026-10-26",
|
|
7
|
+
"breaking": [],
|
|
8
|
+
"envAdded": [],
|
|
9
|
+
"envRemoved": [],
|
|
10
|
+
"templateChanged": [],
|
|
11
|
+
"action": [],
|
|
12
|
+
"entries": []
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"version": "0.3.12",
|
|
16
|
+
"date": "2026-10-26",
|
|
17
|
+
"breaking": [],
|
|
18
|
+
"envAdded": [],
|
|
19
|
+
"envRemoved": [],
|
|
20
|
+
"templateChanged": [],
|
|
21
|
+
"action": [],
|
|
22
|
+
"entries": [
|
|
23
|
+
{
|
|
24
|
+
"type": "docs",
|
|
25
|
+
"scope": "cli",
|
|
26
|
+
"subject": "replace fraza-key flow with project key from client area",
|
|
27
|
+
"hash": "de750f1",
|
|
28
|
+
"breaking": false
|
|
29
|
+
}
|
|
30
|
+
]
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"version": "0.3.11",
|
|
34
|
+
"date": "2026-10-25",
|
|
35
|
+
"breaking": [],
|
|
36
|
+
"envAdded": [],
|
|
37
|
+
"envRemoved": [],
|
|
38
|
+
"templateChanged": [],
|
|
39
|
+
"action": [],
|
|
40
|
+
"entries": []
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"version": "0.3.10",
|
|
44
|
+
"date": "2026-10-25",
|
|
45
|
+
"breaking": [],
|
|
46
|
+
"envAdded": [],
|
|
47
|
+
"envRemoved": [],
|
|
48
|
+
"templateChanged": [
|
|
49
|
+
"app/(public)/not-found.js",
|
|
50
|
+
"app/(public)/page.js"
|
|
51
|
+
],
|
|
52
|
+
"action": [
|
|
53
|
+
"npx fraza-doctor --fix"
|
|
54
|
+
],
|
|
55
|
+
"entries": [
|
|
56
|
+
{
|
|
57
|
+
"type": "fix",
|
|
58
|
+
"scope": "templates",
|
|
59
|
+
"subject": "escape apostrophes in JSX text for next.js lint",
|
|
60
|
+
"hash": "c6563e1",
|
|
61
|
+
"breaking": false
|
|
62
|
+
}
|
|
63
|
+
]
|
|
64
|
+
},
|
|
4
65
|
{
|
|
5
66
|
"version": "0.3.9",
|
|
6
67
|
"date": "2026-10-25",
|
package/package.json
CHANGED
|
@@ -9,10 +9,10 @@ export default function NotFound() {
|
|
|
9
9
|
<p className="font-code text-[12.5px] text-fg-subtle">404</p>
|
|
10
10
|
<h1 className="text-2xl font-bold tracking-[-0.03em]">Page introuvable</h1>
|
|
11
11
|
<p className="text-[13px] leading-relaxed text-fg-muted">
|
|
12
|
-
Cette page n
|
|
12
|
+
Cette page n'existe pas ou n'est plus en ligne.
|
|
13
13
|
</p>
|
|
14
14
|
<Button href="/" variant="link" className="mt-3">
|
|
15
|
-
Retour à l
|
|
15
|
+
Retour à l'accueil →
|
|
16
16
|
</Button>
|
|
17
17
|
</div>
|
|
18
18
|
</main>
|
|
@@ -122,7 +122,7 @@ export default async function Page() {
|
|
|
122
122
|
hint: "Sur /auth. Le premier compte reçoit le rôle admin.",
|
|
123
123
|
detail: (
|
|
124
124
|
<p className="text-[12.5px] leading-relaxed text-fg-secondary">
|
|
125
|
-
Sur /auth. Le premier compte reçoit le rôle admin et ouvre l
|
|
125
|
+
Sur /auth. Le premier compte reçoit le rôle admin et ouvre l'administration.
|
|
126
126
|
</p>
|
|
127
127
|
),
|
|
128
128
|
},
|
|
@@ -223,7 +223,7 @@ export default async function Page() {
|
|
|
223
223
|
variant="link"
|
|
224
224
|
size="sm"
|
|
225
225
|
>
|
|
226
|
-
Guide d
|
|
226
|
+
Guide d'installation ↗
|
|
227
227
|
</Button>
|
|
228
228
|
<div className="flex gap-2">
|
|
229
229
|
{!ready && (
|
|
@@ -232,11 +232,11 @@ export default async function Page() {
|
|
|
232
232
|
</Button>
|
|
233
233
|
)}
|
|
234
234
|
{ready ? (
|
|
235
|
-
<Button href="/admin">Ouvrir l
|
|
235
|
+
<Button href="/admin">Ouvrir l'administration</Button>
|
|
236
236
|
) : currentIndex === steps.length - 1 ? (
|
|
237
237
|
<Button href="/auth">Créer le premier compte</Button>
|
|
238
238
|
) : (
|
|
239
|
-
<Button disabled>Ouvrir l
|
|
239
|
+
<Button disabled>Ouvrir l'administration</Button>
|
|
240
240
|
)}
|
|
241
241
|
</div>
|
|
242
242
|
</div>
|