@akis05/akis 0.1.2 → 0.1.4
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 +406 -37
- package/dist/cli/commands/migrate.d.ts.map +1 -1
- package/dist/cli/commands/migrate.js +7 -0
- package/dist/cli/commands/migrate.js.map +1 -1
- package/dist/cli/parser.d.ts +1 -0
- package/dist/cli/parser.d.ts.map +1 -1
- package/dist/cli/parser.js +80 -0
- package/dist/cli/parser.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,81 +1,450 @@
|
|
|
1
1
|
# AKIS - Appwrite CLI Tool
|
|
2
2
|
|
|
3
|
-
CLI
|
|
3
|
+
**AKIS** est un outil CLI qui synchronise automatiquement vos collections Appwrite avec vos types TypeScript. Définissez vos types une seule fois, et AKIS crée/met à jour vos collections et génère le schéma correspondant.
|
|
4
|
+
|
|
5
|
+
## Fonctionnalités
|
|
6
|
+
|
|
7
|
+
- **Génération automatique** : Crée les collections Appwrite depuis vos types TypeScript
|
|
8
|
+
- **Synchronisation** : Détecte les différences entre vos types et Appwrite
|
|
9
|
+
- **Schema auto-généré** : Le fichier `schema.ts` est généré automatiquement lors de la migration
|
|
10
|
+
- **Indexes automatiques** : Crée les indexes pour les champs courants (storeId, email, etc.)
|
|
11
|
+
- **Mode dry-run** : Prévisualisez les changements avant de les appliquer
|
|
12
|
+
|
|
13
|
+
---
|
|
4
14
|
|
|
5
15
|
## Installation
|
|
6
16
|
|
|
17
|
+
### Avec npm
|
|
18
|
+
```bash
|
|
19
|
+
npm install @akis05/akis
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
### Avec pnpm
|
|
23
|
+
```bash
|
|
24
|
+
pnpm add @akis05/akis
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### Installation globale (optionnel)
|
|
7
28
|
```bash
|
|
8
|
-
npm
|
|
9
|
-
# ou
|
|
10
|
-
pnpm install @akis05/akis
|
|
29
|
+
npm install -g @akis05/akis
|
|
11
30
|
```
|
|
12
31
|
|
|
32
|
+
---
|
|
33
|
+
|
|
13
34
|
## Configuration
|
|
14
35
|
|
|
15
|
-
|
|
36
|
+
### 1. Variables d'environnement
|
|
37
|
+
|
|
38
|
+
Créez un fichier `.env` à la racine de votre projet:
|
|
16
39
|
|
|
17
40
|
```env
|
|
41
|
+
# Endpoint Appwrite (Cloud ou Self-hosted)
|
|
18
42
|
APPWRITE_ENDPOINT=https://cloud.appwrite.io/v1
|
|
43
|
+
|
|
44
|
+
# ID de votre projet Appwrite
|
|
19
45
|
APPWRITE_PROJECT_ID=votre_project_id
|
|
46
|
+
|
|
47
|
+
# ID de votre base de données
|
|
20
48
|
APPWRITE_DATABASE_ID=votre_database_id
|
|
49
|
+
|
|
50
|
+
# Clé API avec permissions Database (Create, Read, Update, Delete)
|
|
21
51
|
APPWRITE_API_KEY=votre_api_key
|
|
22
52
|
```
|
|
23
53
|
|
|
24
|
-
|
|
54
|
+
### 2. Obtenir les identifiants Appwrite
|
|
55
|
+
|
|
56
|
+
1. Connectez-vous à [Appwrite Console](https://cloud.appwrite.io)
|
|
57
|
+
2. **Project ID** : Settings → Project ID
|
|
58
|
+
3. **Database ID** : Databases → Cliquez sur votre DB → Settings
|
|
59
|
+
4. **API Key** : Settings → API Keys → Create API Key (cochez Database permissions)
|
|
60
|
+
|
|
61
|
+
---
|
|
25
62
|
|
|
26
|
-
|
|
63
|
+
## Démarrage rapide
|
|
64
|
+
|
|
65
|
+
### Étape 1 : Initialiser le projet
|
|
27
66
|
|
|
28
67
|
```bash
|
|
29
68
|
npx akis init
|
|
30
69
|
```
|
|
31
70
|
|
|
32
|
-
|
|
71
|
+
Cette commande crée la structure suivante:
|
|
72
|
+
|
|
33
73
|
```
|
|
34
74
|
core/
|
|
35
75
|
└── appwrite-model/
|
|
36
|
-
├── types.ts #
|
|
37
|
-
├── schema.ts # Schéma
|
|
38
|
-
├── client.ts # Client Appwrite
|
|
39
|
-
└── setup-collections.ts # Fonctions
|
|
76
|
+
├── types.ts # Vos définitions TypeScript
|
|
77
|
+
├── schema.ts # Schéma généré (ne pas modifier manuellement)
|
|
78
|
+
├── client.ts # Client Appwrite configuré
|
|
79
|
+
└── setup-collections.ts # Fonctions utilitaires
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### Étape 2 : Définir vos types
|
|
83
|
+
|
|
84
|
+
Éditez `core/appwrite-model/types.ts`:
|
|
85
|
+
|
|
86
|
+
```typescript
|
|
87
|
+
export type Client = {
|
|
88
|
+
_id: string; // ID Appwrite (obligatoire)
|
|
89
|
+
_creationTime: number; // Timestamp création (obligatoire)
|
|
90
|
+
nom: string; // Champ requis
|
|
91
|
+
email?: string; // Champ optionnel (?)
|
|
92
|
+
telephone?: string;
|
|
93
|
+
statut: "actif" | "inactif"; // Enum
|
|
94
|
+
tags?: string[]; // Array de strings
|
|
95
|
+
storeId: string;
|
|
96
|
+
createdAt: number;
|
|
97
|
+
deletedAt?: number;
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
export type Produit = {
|
|
101
|
+
_id: string;
|
|
102
|
+
_creationTime: number;
|
|
103
|
+
nom: string;
|
|
104
|
+
prix: number;
|
|
105
|
+
quantite: number;
|
|
106
|
+
categorie: "electronique" | "vetement" | "alimentaire";
|
|
107
|
+
storeId: string;
|
|
108
|
+
createdAt: number;
|
|
109
|
+
};
|
|
40
110
|
```
|
|
41
111
|
|
|
42
|
-
###
|
|
112
|
+
### Étape 3 : Migrer vers Appwrite
|
|
43
113
|
|
|
44
114
|
```bash
|
|
45
|
-
#
|
|
46
|
-
npx akis
|
|
47
|
-
npx akis status --name clients
|
|
115
|
+
# Prévisualiser les changements (recommandé)
|
|
116
|
+
npx akis migrate --dry-run
|
|
48
117
|
|
|
49
|
-
# Créer les collections
|
|
118
|
+
# Créer les collections
|
|
50
119
|
npx akis migrate
|
|
51
|
-
|
|
52
|
-
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
**Résultat** :
|
|
123
|
+
- Collections créées dans Appwrite
|
|
124
|
+
- Fichier `schema.ts` généré automatiquement
|
|
125
|
+
|
|
126
|
+
### Étape 4 : Vérifier le statut
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
npx akis status
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## Commandes
|
|
135
|
+
|
|
136
|
+
### `akis init`
|
|
137
|
+
|
|
138
|
+
Initialise la structure du projet.
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
npx akis init # Créer les fichiers
|
|
142
|
+
npx akis init --force # Écraser les fichiers existants
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
**Options:**
|
|
146
|
+
| Option | Description |
|
|
147
|
+
|--------|-------------|
|
|
148
|
+
| `-f, --force` | Écrase les fichiers existants |
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
### `akis migrate`
|
|
153
|
+
|
|
154
|
+
Crée les collections manquantes dans Appwrite et génère `schema.ts`.
|
|
155
|
+
|
|
156
|
+
```bash
|
|
157
|
+
npx akis migrate # Migrer toutes les collections
|
|
158
|
+
npx akis migrate --name clients # Migrer une collection spécifique
|
|
159
|
+
npx akis migrate --dry-run # Prévisualiser sans exécuter
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
**Options:**
|
|
163
|
+
| Option | Description |
|
|
164
|
+
|--------|-------------|
|
|
165
|
+
| `-n, --name <name>` | Nom de la collection à migrer |
|
|
166
|
+
| `-d, --dry-run` | Affiche les actions sans les exécuter |
|
|
167
|
+
|
|
168
|
+
**Exemple de sortie:**
|
|
169
|
+
```
|
|
170
|
+
🚀 AKIS Migrate - Création des collections manquantes
|
|
171
|
+
|
|
172
|
+
📖 Lecture de types.ts...
|
|
173
|
+
2 collection(s) à traiter
|
|
174
|
+
|
|
175
|
+
📡 Connexion à Appwrite...
|
|
176
|
+
|
|
177
|
+
📦 Création de clients...
|
|
178
|
+
✓ nom
|
|
179
|
+
✓ email
|
|
180
|
+
✓ telephone
|
|
181
|
+
✓ statut
|
|
182
|
+
✓ storeId
|
|
183
|
+
🔑 idx_storeId
|
|
184
|
+
🔑 idx_email
|
|
185
|
+
✅ clients créée
|
|
186
|
+
|
|
187
|
+
📝 schema.ts généré avec 2 collections
|
|
188
|
+
|
|
189
|
+
✨ Migration terminée: 1 créées, 1 ignorées
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
### `akis update`
|
|
195
|
+
|
|
196
|
+
Ajoute les nouveaux attributs aux collections existantes.
|
|
197
|
+
|
|
198
|
+
```bash
|
|
199
|
+
npx akis update # Mettre à jour toutes les collections
|
|
200
|
+
npx akis update --name clients # Mettre à jour une collection spécifique
|
|
201
|
+
npx akis update --dry-run # Prévisualiser sans exécuter
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
**Options:**
|
|
205
|
+
| Option | Description |
|
|
206
|
+
|--------|-------------|
|
|
207
|
+
| `-n, --name <name>` | Nom de la collection à mettre à jour |
|
|
208
|
+
| `-d, --dry-run` | Affiche les actions sans les exécuter |
|
|
209
|
+
|
|
210
|
+
**Cas d'utilisation:**
|
|
211
|
+
- Vous avez ajouté un nouveau champ dans `types.ts`
|
|
212
|
+
- Vous voulez synchroniser sans recréer la collection
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
### `akis status`
|
|
217
|
+
|
|
218
|
+
Compare les types locaux avec les collections Appwrite.
|
|
219
|
+
|
|
220
|
+
```bash
|
|
221
|
+
npx akis status # Voir toutes les collections
|
|
222
|
+
npx akis status --name clients # Voir une collection spécifique
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
**Options:**
|
|
226
|
+
| Option | Description |
|
|
227
|
+
|--------|-------------|
|
|
228
|
+
| `-n, --name <name>` | Nom de la collection à vérifier |
|
|
229
|
+
|
|
230
|
+
**Exemple de sortie:**
|
|
231
|
+
```
|
|
232
|
+
📊 AKIS Status - État des collections
|
|
53
233
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
234
|
+
┌─────────────────────────────┬────────┬────────────┬─────────────┐
|
|
235
|
+
│ Collection │ Status │ Attributs │ Manquants │
|
|
236
|
+
├─────────────────────────────┼────────┼────────────┼─────────────┤
|
|
237
|
+
│ clients │ ✅ │ 9/9 │ 0 │
|
|
238
|
+
│ produits │ ⚠️ │ 5/7 │ 2 │
|
|
239
|
+
│ commandes │ ❌ │ - │ - │
|
|
240
|
+
└─────────────────────────────┴────────┴────────────┴─────────────┘
|
|
57
241
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
242
|
+
📈 Résumé:
|
|
243
|
+
✅ 1 synchronisées
|
|
244
|
+
⚠️ 1 à mettre à jour (akis update)
|
|
245
|
+
❌ 1 manquantes (akis migrate)
|
|
61
246
|
```
|
|
62
247
|
|
|
63
|
-
|
|
248
|
+
---
|
|
64
249
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
250
|
+
### `akis delete`
|
|
251
|
+
|
|
252
|
+
Supprime des collections dans Appwrite.
|
|
253
|
+
|
|
254
|
+
```bash
|
|
255
|
+
npx akis delete --name clients # Supprimer une collection (avec confirmation)
|
|
256
|
+
npx akis delete --force # Supprimer TOUTES les collections sans confirmation
|
|
257
|
+
npx akis delete --name clients -f # Supprimer sans confirmation
|
|
258
|
+
```
|
|
69
259
|
|
|
70
|
-
|
|
260
|
+
**Options:**
|
|
261
|
+
| Option | Description |
|
|
262
|
+
|--------|-------------|
|
|
263
|
+
| `-n, --name <name>` | Nom de la collection à supprimer |
|
|
264
|
+
| `-f, --force` | Supprimer sans demander confirmation |
|
|
265
|
+
|
|
266
|
+
⚠️ **Attention** : Cette action est irréversible !
|
|
267
|
+
|
|
268
|
+
---
|
|
269
|
+
|
|
270
|
+
## Types TypeScript supportés
|
|
271
|
+
|
|
272
|
+
AKIS reconnaît automatiquement les types suivants:
|
|
273
|
+
|
|
274
|
+
| TypeScript | Appwrite Attribute |
|
|
275
|
+
|------------|-------------------|
|
|
276
|
+
| `string` | String (size auto-détectée) |
|
|
277
|
+
| `number` | Float ou Integer (selon le nom du champ) |
|
|
278
|
+
| `boolean` | Boolean |
|
|
279
|
+
| `string[]` | String Array |
|
|
280
|
+
| `number[]` | Integer Array |
|
|
281
|
+
| `"a" \| "b" \| "c"` | Enum |
|
|
282
|
+
|
|
283
|
+
### Conventions de nommage
|
|
284
|
+
|
|
285
|
+
AKIS infère automatiquement certaines propriétés:
|
|
286
|
+
|
|
287
|
+
| Nom du champ | Type inféré | Taille |
|
|
288
|
+
|--------------|-------------|--------|
|
|
289
|
+
| `*Id`, `storeId` | string | 36 |
|
|
290
|
+
| `email` | string | 255 |
|
|
291
|
+
| `telephone`, `tel` | string | 50 |
|
|
292
|
+
| `note`, `description` | string | 2000 |
|
|
293
|
+
| `adresse` | string | 500 |
|
|
294
|
+
| `quantite*`, `*Minutes` | integer | - |
|
|
295
|
+
| `createdAt`, `deletedAt` | integer | - |
|
|
296
|
+
|
|
297
|
+
### Champs système (ignorés)
|
|
298
|
+
|
|
299
|
+
Ces champs sont automatiquement ignorés car gérés par Appwrite:
|
|
300
|
+
- `_id` - ID du document
|
|
301
|
+
- `_creationTime` - Timestamp de création
|
|
302
|
+
|
|
303
|
+
---
|
|
304
|
+
|
|
305
|
+
## Workflow recommandé
|
|
306
|
+
|
|
307
|
+
```
|
|
308
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
309
|
+
│ 1. Définir les types dans types.ts │
|
|
310
|
+
│ export type Client = { ... } │
|
|
311
|
+
└─────────────────────────────────────────────────────────────┘
|
|
312
|
+
↓
|
|
313
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
314
|
+
│ 2. Prévisualiser les changements │
|
|
315
|
+
│ npx akis migrate --dry-run │
|
|
316
|
+
└─────────────────────────────────────────────────────────────┘
|
|
317
|
+
↓
|
|
318
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
319
|
+
│ 3. Migrer vers Appwrite │
|
|
320
|
+
│ npx akis migrate │
|
|
321
|
+
│ → Collections créées + schema.ts généré │
|
|
322
|
+
└─────────────────────────────────────────────────────────────┘
|
|
323
|
+
↓
|
|
324
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
325
|
+
│ 4. Vérifier la synchronisation │
|
|
326
|
+
│ npx akis status │
|
|
327
|
+
└─────────────────────────────────────────────────────────────┘
|
|
328
|
+
↓
|
|
329
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
330
|
+
│ 5. Ajouter de nouveaux champs ? → Retour à l'étape 1 │
|
|
331
|
+
│ npx akis update │
|
|
332
|
+
└─────────────────────────────────────────────────────────────┘
|
|
333
|
+
```
|
|
71
334
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
335
|
+
---
|
|
336
|
+
|
|
337
|
+
## Utilisation avec pnpm
|
|
338
|
+
|
|
339
|
+
Si vous utilisez pnpm, ajoutez un script dans votre `package.json`:
|
|
340
|
+
|
|
341
|
+
```json
|
|
342
|
+
{
|
|
343
|
+
"scripts": {
|
|
344
|
+
"akis": "akis"
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
```
|
|
348
|
+
|
|
349
|
+
Puis utilisez:
|
|
350
|
+
```bash
|
|
351
|
+
pnpm akis status
|
|
352
|
+
pnpm akis migrate
|
|
353
|
+
pnpm akis update
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
---
|
|
357
|
+
|
|
358
|
+
## Exemples
|
|
359
|
+
|
|
360
|
+
### Exemple complet de types.ts
|
|
361
|
+
|
|
362
|
+
```typescript
|
|
363
|
+
/* ═══════════════════════════════════════════════════════════
|
|
364
|
+
Types pour mon application
|
|
365
|
+
═══════════════════════════════════════════════════════════ */
|
|
366
|
+
|
|
367
|
+
export type Client = {
|
|
368
|
+
_id: string;
|
|
369
|
+
_creationTime: number;
|
|
370
|
+
nom: string;
|
|
371
|
+
email?: string;
|
|
372
|
+
telephone?: string;
|
|
373
|
+
adresse?: string;
|
|
374
|
+
statut: "actif" | "inactif" | "prospect";
|
|
375
|
+
remise?: number;
|
|
376
|
+
tags?: string[];
|
|
377
|
+
storeId: string;
|
|
378
|
+
createdAt: number;
|
|
379
|
+
deletedAt?: number;
|
|
380
|
+
};
|
|
381
|
+
|
|
382
|
+
export type Produit = {
|
|
383
|
+
_id: string;
|
|
384
|
+
_creationTime: number;
|
|
385
|
+
nom: string;
|
|
386
|
+
description?: string;
|
|
387
|
+
prix: number;
|
|
388
|
+
prixAchat?: number;
|
|
389
|
+
quantite: number;
|
|
390
|
+
stockMin?: number;
|
|
391
|
+
categorie: "electronique" | "vetement" | "alimentaire" | "autre";
|
|
392
|
+
image?: string;
|
|
393
|
+
storeId: string;
|
|
394
|
+
createdAt: number;
|
|
395
|
+
};
|
|
396
|
+
|
|
397
|
+
export type Vente = {
|
|
398
|
+
_id: string;
|
|
399
|
+
_creationTime: number;
|
|
400
|
+
numero: string;
|
|
401
|
+
clientId?: string;
|
|
402
|
+
lignes: string; // JSON stringifié
|
|
403
|
+
total: number;
|
|
404
|
+
statut: "brouillon" | "validee" | "payee" | "annulee";
|
|
405
|
+
storeId: string;
|
|
406
|
+
createdAt: number;
|
|
407
|
+
};
|
|
408
|
+
|
|
409
|
+
// Utilitaires
|
|
410
|
+
export type NewDoc<T> = Omit<T, "_id" | "_creationTime">;
|
|
411
|
+
export type UpdateDoc<T> = Partial<Omit<T, "_id" | "_creationTime">>;
|
|
412
|
+
```
|
|
413
|
+
|
|
414
|
+
---
|
|
415
|
+
|
|
416
|
+
## Dépannage
|
|
417
|
+
|
|
418
|
+
### Erreur: APPWRITE_API_KEY non configurée
|
|
419
|
+
|
|
420
|
+
Vérifiez que votre fichier `.env` existe et contient la clé API:
|
|
421
|
+
```bash
|
|
422
|
+
cat .env | grep APPWRITE_API_KEY
|
|
423
|
+
```
|
|
424
|
+
|
|
425
|
+
### Erreur: Collection non trouvée dans types.ts
|
|
426
|
+
|
|
427
|
+
Assurez-vous que le nom du type correspond à un nom reconnu par AKIS:
|
|
428
|
+
- `Client` → `clients`
|
|
429
|
+
- `Produit` → `produits`
|
|
430
|
+
- `Vente` → `ventes`
|
|
431
|
+
|
|
432
|
+
### Les attributs ne sont pas créés
|
|
433
|
+
|
|
434
|
+
Appwrite a une limite de taille pour les attributs. Vérifiez:
|
|
435
|
+
- Taille des strings (max 16000 caractères)
|
|
436
|
+
- Nombre d'attributs par collection (max ~100)
|
|
437
|
+
|
|
438
|
+
---
|
|
78
439
|
|
|
79
440
|
## License
|
|
80
441
|
|
|
81
442
|
MIT
|
|
443
|
+
|
|
444
|
+
---
|
|
445
|
+
|
|
446
|
+
## Liens
|
|
447
|
+
|
|
448
|
+
- [Appwrite Documentation](https://appwrite.io/docs)
|
|
449
|
+
- [npm Package](https://www.npmjs.com/package/@akis05/akis)
|
|
450
|
+
- [GitHub Issues](https://github.com/akis05/akis/issues)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/migrate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/migrate.ts"],"names":[],"mappings":"AAeA,UAAU,cAAc;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AA4DD,wBAAsB,OAAO,CAAC,OAAO,EAAE,cAAc,iBAgKpD"}
|
|
@@ -35,6 +35,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.migrate = migrate;
|
|
37
37
|
const node_appwrite_1 = require("node-appwrite");
|
|
38
|
+
const fs = __importStar(require("fs"));
|
|
38
39
|
const path = __importStar(require("path"));
|
|
39
40
|
const dotenv = __importStar(require("dotenv"));
|
|
40
41
|
const parser_1 = require("../parser");
|
|
@@ -234,6 +235,12 @@ async function migrate(options) {
|
|
|
234
235
|
}
|
|
235
236
|
await delay(500);
|
|
236
237
|
}
|
|
238
|
+
// Generate schema.ts
|
|
239
|
+
const schemaPath = path.resolve(process.cwd(), "core/appwrite-model/schema.ts");
|
|
240
|
+
const allCollections = (0, parser_1.parseTypesFile)(typesPath);
|
|
241
|
+
const schemaContent = (0, parser_1.generateSchemaFile)(allCollections);
|
|
242
|
+
fs.writeFileSync(schemaPath, schemaContent);
|
|
243
|
+
console.log(`📝 schema.ts généré avec ${allCollections.length} collections`);
|
|
237
244
|
console.log(`\n✨ Migration terminée: ${created} créées, ${skipped} ignorées\n`);
|
|
238
245
|
}
|
|
239
246
|
//# sourceMappingURL=migrate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../src/cli/commands/migrate.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../src/cli/commands/migrate.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8EA,0BAgKC;AA9OD,iDAAiF;AACjF,uCAAyB;AACzB,2CAA6B;AAC7B,+CAAiC;AACjC,sCAA+G;AAE/G,WAAW;AACX,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;AAC7D,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;AAEnE,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,8BAA8B,CAAC;AAC1F,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,EAAE,CAAC;AAClE,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC;AAC5D,MAAM,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,EAAE,CAAC;AAOpE,KAAK,UAAU,KAAK,CAAC,EAAU;IAC7B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,SAAoB,EACpB,UAAkB,EAClB,YAAoB,EACpB,KAAkB;IAElB,MAAM,UAAU,GAAG;QACjB,UAAU;QACV,YAAY;QACZ,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,QAAQ,EAAE,KAAK,CAAC,QAAQ;KACzB,CAAC;IAEF,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,QAAQ;YACX,MAAM,SAAS,CAAC,qBAAqB,CAAC;gBACpC,GAAG,UAAU;gBACb,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,GAAG;aACxB,CAAC,CAAC;YACH,MAAM;QACR,KAAK,SAAS;YACZ,MAAM,SAAS,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;YACnD,MAAM;QACR,KAAK,OAAO;YACV,MAAM,SAAS,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;YACjD,MAAM;QACR,KAAK,SAAS;YACZ,MAAM,SAAS,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;YACnD,MAAM;QACR,KAAK,MAAM;YACT,MAAM,SAAS,CAAC,mBAAmB,CAAC;gBAClC,GAAG,UAAU;gBACb,QAAQ,EAAE,KAAK,CAAC,UAAU,IAAI,EAAE;aACjC,CAAC,CAAC;YACH,MAAM;QACR,KAAK,UAAU;YACb,MAAM,SAAS,CAAC,qBAAqB,CAAC;gBACpC,GAAG,UAAU;gBACb,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,GAAG;gBACvB,KAAK,EAAE,IAAI;aACZ,CAAC,CAAC;YACH,MAAM;QACR,KAAK,WAAW;YACd,MAAM,SAAS,CAAC,sBAAsB,CAAC;gBACrC,GAAG,UAAU;gBACb,KAAK,EAAE,IAAI;aACZ,CAAC,CAAC;YACH,MAAM;QACR,KAAK,UAAU;YACb,MAAM,SAAS,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;YACpD,MAAM;IACV,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,OAAO,CAAC,OAAuB;IACnD,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,uBAAuB,UAAU,CAAC,CAAC,CAAC,gBAAgB,UAAU,GAAG,CAAC,CAAC,CAAC,qCAAqC,IAAI,CAAC,CAAC;IAE3H,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1B,OAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,iBAAiB;IACjB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,8BAA8B,CAAC,CAAC;IAC9E,OAAO,CAAC,GAAG,CAAC,iBAAiB,SAAS,KAAK,CAAC,CAAC;IAE7C,IAAI,WAA+B,CAAC;IACpC,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,IAAA,uBAAc,EAAC,SAAS,CAAC,CAAC;QAEjD,IAAI,UAAU,EAAE,CAAC;YACf,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;YAClE,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,OAAO,CAAC,KAAK,CAAC,iBAAiB,UAAU,6BAA6B,CAAC,CAAC;gBACxE,OAAO,CAAC,GAAG,CAAC,+BAA+B,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC3F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,WAAW,GAAG,cAAc,CAAC;QAC/B,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,MAAM,WAAW,CAAC,MAAM,4BAA4B,CAAC,CAAC;IACpE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAC;QACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;QACzE,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,MAAM,CAAC,MAAM,UAAU,CAAC,CAAC;YAC/D,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBAC/B,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;gBACrD,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5G,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,CAAC,GAAG,KAAK,KAAK,CAAC,IAAI,IAAI,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QACD,OAAO;IACT,CAAC;IAED,sBAAsB;IACtB,MAAM,MAAM,GAAG,IAAI,sBAAM,EAAE;SACxB,WAAW,CAAC,iBAAiB,CAAC;SAC9B,UAAU,CAAC,mBAAmB,CAAC;SAC/B,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAE5B,MAAM,SAAS,GAAG,IAAI,yBAAS,CAAC,MAAM,CAAC,CAAC;IAExC,2BAA2B;IAC3B,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAC1C,IAAI,mBAAmB,GAAa,EAAE,CAAC;IACvC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC;YAC/C,UAAU,EAAE,oBAAoB;YAChC,OAAO,EAAE,CAAC,qBAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SAC5B,CAAC,CAAC;QACH,mBAAmB,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,MAAM,mBAAmB,CAAC,MAAM,2BAA2B,CAAC,CAAC;IAC3E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;QACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,6BAA6B;IAC7B,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,IAAI,mBAAmB,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,IAAI,gBAAgB,CAAC,CAAC;YAC7C,OAAO,EAAE,CAAC;YACV,SAAS;QACX,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,oBAAoB,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC;QAE/C,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,kBAAE,CAAC,MAAM,EAAE,CAAC;YACjC,MAAM,SAAS,CAAC,gBAAgB,CAAC;gBAC/B,UAAU,EAAE,oBAAoB;gBAChC,YAAY;gBACZ,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,WAAW,EAAE,EAAE;gBACf,gBAAgB,EAAE,KAAK;aACxB,CAAC,CAAC;YAEH,oBAAoB;YACpB,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBAC/B,IAAI,CAAC;oBACH,MAAM,eAAe,CAAC,SAAS,EAAE,oBAAoB,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;oBAC5E,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;oBACjC,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;gBACnB,CAAC;gBAAC,OAAO,KAAc,EAAE,CAAC;oBACxB,MAAM,GAAG,GAAG,KAA6B,CAAC;oBAC1C,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,OAAO,IAAI,KAAK,EAAE,CAAC,CAAC;gBAC5D,CAAC;YACH,CAAC;YAED,sCAAsC;YACtC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;YAElB,iBAAiB;YACjB,MAAM,OAAO,GAAG,IAAA,wBAAe,EAAC,GAAG,CAAC,CAAC;YACrC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,IAAI,OAAO,GAAG,CAAC,CAAC;gBAChB,OAAO,OAAO,GAAG,CAAC,EAAE,CAAC;oBACnB,IAAI,CAAC;wBACH,MAAM,SAAS,CAAC,WAAW,CAAC;4BAC1B,UAAU,EAAE,oBAAoB;4BAChC,YAAY;4BACZ,GAAG,EAAE,KAAK,CAAC,GAAG;4BACd,IAAI,EAAE,kCAAkB,CAAC,GAAG;4BAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;yBAC7B,CAAC,CAAC;wBACH,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;wBAClC,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;wBACjB,MAAM;oBACR,CAAC;oBAAC,OAAO,KAAc,EAAE,CAAC;wBACxB,MAAM,GAAG,GAAG,KAA0B,CAAC;wBACvC,IAAI,GAAG,CAAC,IAAI,KAAK,yBAAyB,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;4BAC1D,OAAO,EAAE,CAAC;4BACV,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;wBACpB,CAAC;6BAAM,CAAC;4BACN,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,GAAG,SAAS,CAAC,CAAC;4BAChD,MAAM;wBACR,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,KAA6B,CAAC;YAC1C,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,CAAC,OAAO,IAAI,KAAK,EAAE,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,qBAAqB;IACrB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,+BAA+B,CAAC,CAAC;IAChF,MAAM,cAAc,GAAG,IAAA,uBAAc,EAAC,SAAS,CAAC,CAAC;IACjD,MAAM,aAAa,GAAG,IAAA,2BAAkB,EAAC,cAAc,CAAC,CAAC;IACzD,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,4BAA4B,cAAc,CAAC,MAAM,cAAc,CAAC,CAAC;IAE7E,OAAO,CAAC,GAAG,CAAC,2BAA2B,OAAO,YAAY,OAAO,aAAa,CAAC,CAAC;AAClF,CAAC"}
|
package/dist/cli/parser.d.ts
CHANGED
package/dist/cli/parser.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/cli/parser.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,CAAC;IAClG,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB;AAqFD,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE,CA2GpE;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,gBAAgB,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,KAAK,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,EAAE,CAkBlH"}
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/cli/parser.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,CAAC;IAClG,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB;AAqFD,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE,CA2GpE;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,gBAAgB,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,KAAK,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,EAAE,CAkBlH;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAsF1E"}
|
package/dist/cli/parser.js
CHANGED
|
@@ -35,6 +35,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.parseTypesFile = parseTypesFile;
|
|
37
37
|
exports.generateIndexes = generateIndexes;
|
|
38
|
+
exports.generateSchemaFile = generateSchemaFile;
|
|
38
39
|
const fs = __importStar(require("fs"));
|
|
39
40
|
const TYPE_MAPPING = {
|
|
40
41
|
string: "string",
|
|
@@ -243,4 +244,83 @@ function generateIndexes(collection) {
|
|
|
243
244
|
}
|
|
244
245
|
return indexes;
|
|
245
246
|
}
|
|
247
|
+
function generateSchemaFile(collections) {
|
|
248
|
+
const lines = [];
|
|
249
|
+
// Header
|
|
250
|
+
lines.push(`/* ═════════════════════════════════════════════════════════════════════════════`);
|
|
251
|
+
lines.push(` AKIS — Schema généré automatiquement depuis types.ts`);
|
|
252
|
+
lines.push(` ═════════════════════════════════════════════════════════════════════════════ */`);
|
|
253
|
+
lines.push(``);
|
|
254
|
+
lines.push(`export type AttributeType =`);
|
|
255
|
+
lines.push(` | "string"`);
|
|
256
|
+
lines.push(` | "integer"`);
|
|
257
|
+
lines.push(` | "float"`);
|
|
258
|
+
lines.push(` | "boolean"`);
|
|
259
|
+
lines.push(` | "datetime"`);
|
|
260
|
+
lines.push(` | "enum"`);
|
|
261
|
+
lines.push(` | "string[]"`);
|
|
262
|
+
lines.push(` | "integer[]";`);
|
|
263
|
+
lines.push(``);
|
|
264
|
+
lines.push(`export interface AttributeDefinition {`);
|
|
265
|
+
lines.push(` key: string;`);
|
|
266
|
+
lines.push(` type: AttributeType;`);
|
|
267
|
+
lines.push(` required: boolean;`);
|
|
268
|
+
lines.push(` size?: number;`);
|
|
269
|
+
lines.push(` enumValues?: string[];`);
|
|
270
|
+
lines.push(` default?: string | number | boolean | null;`);
|
|
271
|
+
lines.push(`}`);
|
|
272
|
+
lines.push(``);
|
|
273
|
+
lines.push(`export type IndexType = "key" | "unique" | "fulltext";`);
|
|
274
|
+
lines.push(``);
|
|
275
|
+
lines.push(`export interface IndexDefinition {`);
|
|
276
|
+
lines.push(` key: string;`);
|
|
277
|
+
lines.push(` type: IndexType;`);
|
|
278
|
+
lines.push(` attributes: string[];`);
|
|
279
|
+
lines.push(`}`);
|
|
280
|
+
lines.push(``);
|
|
281
|
+
lines.push(`export interface CollectionSchema {`);
|
|
282
|
+
lines.push(` name: string;`);
|
|
283
|
+
lines.push(` attributes: AttributeDefinition[];`);
|
|
284
|
+
lines.push(` indexes: IndexDefinition[];`);
|
|
285
|
+
lines.push(`}`);
|
|
286
|
+
lines.push(``);
|
|
287
|
+
lines.push(`/* ─────────────────────────────────────────────────────────────────────────────`);
|
|
288
|
+
lines.push(` Collections`);
|
|
289
|
+
lines.push(` ───────────────────────────────────────────────────────────────────────────── */`);
|
|
290
|
+
lines.push(``);
|
|
291
|
+
lines.push(`export const collections: CollectionSchema[] = [`);
|
|
292
|
+
for (let i = 0; i < collections.length; i++) {
|
|
293
|
+
const col = collections[i];
|
|
294
|
+
const indexes = generateIndexes(col);
|
|
295
|
+
lines.push(` {`);
|
|
296
|
+
lines.push(` name: "${col.name}",`);
|
|
297
|
+
lines.push(` attributes: [`);
|
|
298
|
+
for (let j = 0; j < col.fields.length; j++) {
|
|
299
|
+
const field = col.fields[j];
|
|
300
|
+
const parts = [];
|
|
301
|
+
parts.push(`key: "${field.key}"`);
|
|
302
|
+
parts.push(`type: "${field.type}"`);
|
|
303
|
+
parts.push(`required: ${field.required}`);
|
|
304
|
+
if (field.size)
|
|
305
|
+
parts.push(`size: ${field.size}`);
|
|
306
|
+
if (field.enumValues)
|
|
307
|
+
parts.push(`enumValues: [${field.enumValues.map(v => `"${v}"`).join(", ")}]`);
|
|
308
|
+
const comma = j < col.fields.length - 1 ? "," : "";
|
|
309
|
+
lines.push(` { ${parts.join(", ")} }${comma}`);
|
|
310
|
+
}
|
|
311
|
+
lines.push(` ],`);
|
|
312
|
+
lines.push(` indexes: [`);
|
|
313
|
+
for (let k = 0; k < indexes.length; k++) {
|
|
314
|
+
const idx = indexes[k];
|
|
315
|
+
const comma = k < indexes.length - 1 ? "," : "";
|
|
316
|
+
lines.push(` { key: "${idx.key}", type: "key", attributes: [${idx.attributes.map(a => `"${a}"`).join(", ")}] }${comma}`);
|
|
317
|
+
}
|
|
318
|
+
lines.push(` ],`);
|
|
319
|
+
const colComma = i < collections.length - 1 ? "," : "";
|
|
320
|
+
lines.push(` }${colComma}`);
|
|
321
|
+
}
|
|
322
|
+
lines.push(`];`);
|
|
323
|
+
lines.push(``);
|
|
324
|
+
return lines.join("\n");
|
|
325
|
+
}
|
|
246
326
|
//# sourceMappingURL=parser.js.map
|
package/dist/cli/parser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/cli/parser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/cli/parser.ts"],"names":[],"mappings":"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"}
|