@opensaas/stack-cli 0.39.1 → 0.40.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/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +0 -5
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/generate.d.ts +0 -6
- package/dist/commands/generate.d.ts.map +1 -1
- package/dist/commands/generate.js +12 -30
- package/dist/commands/generate.js.map +1 -1
- package/dist/commands/init.d.ts +1 -6
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +1 -7
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/mcp.d.ts.map +1 -1
- package/dist/commands/mcp.js +0 -2
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/migrate.d.ts +2 -17
- package/dist/commands/migrate.d.ts.map +1 -1
- package/dist/commands/migrate.js +3 -59
- package/dist/commands/migrate.js.map +1 -1
- package/dist/generator/context.d.ts +0 -12
- package/dist/generator/context.d.ts.map +1 -1
- package/dist/generator/context.js +9 -44
- package/dist/generator/context.js.map +1 -1
- package/dist/generator/extension.d.ts +0 -9
- package/dist/generator/extension.d.ts.map +1 -1
- package/dist/generator/extension.js +5 -37
- package/dist/generator/extension.js.map +1 -1
- package/dist/generator/index.d.ts +0 -1
- package/dist/generator/index.d.ts.map +1 -1
- package/dist/generator/index.js +0 -1
- package/dist/generator/index.js.map +1 -1
- package/dist/generator/lists.d.ts +2 -5
- package/dist/generator/lists.d.ts.map +1 -1
- package/dist/generator/lists.js +2 -12
- package/dist/generator/lists.js.map +1 -1
- package/dist/generator/node-build.d.ts.map +1 -1
- package/dist/generator/node-build.js +6 -12
- package/dist/generator/node-build.js.map +1 -1
- package/dist/generator/output-paths.d.ts +4 -18
- package/dist/generator/output-paths.d.ts.map +1 -1
- package/dist/generator/output-paths.js +3 -15
- package/dist/generator/output-paths.js.map +1 -1
- package/dist/generator/plugin-types.d.ts +0 -6
- package/dist/generator/plugin-types.d.ts.map +1 -1
- package/dist/generator/plugin-types.js +3 -28
- package/dist/generator/plugin-types.js.map +1 -1
- package/dist/generator/prisma-config.d.ts +6 -25
- package/dist/generator/prisma-config.d.ts.map +1 -1
- package/dist/generator/prisma-config.js +6 -27
- package/dist/generator/prisma-config.js.map +1 -1
- package/dist/generator/prisma.d.ts +0 -8
- package/dist/generator/prisma.d.ts.map +1 -1
- package/dist/generator/prisma.js +24 -63
- package/dist/generator/prisma.js.map +1 -1
- package/dist/generator/types.d.ts +0 -6
- package/dist/generator/types.d.ts.map +1 -1
- package/dist/generator/types.js +25 -149
- package/dist/generator/types.js.map +1 -1
- package/dist/mcp/lib/documentation-provider.d.ts +0 -36
- package/dist/mcp/lib/documentation-provider.d.ts.map +1 -1
- package/dist/mcp/lib/documentation-provider.js +1 -49
- package/dist/mcp/lib/documentation-provider.js.map +1 -1
- package/dist/mcp/lib/features/catalog.d.ts +0 -15
- package/dist/mcp/lib/features/catalog.d.ts.map +1 -1
- package/dist/mcp/lib/features/catalog.js +0 -15
- package/dist/mcp/lib/features/catalog.js.map +1 -1
- package/dist/mcp/lib/generators/feature-generator.d.ts +3 -24
- package/dist/mcp/lib/generators/feature-generator.d.ts.map +1 -1
- package/dist/mcp/lib/generators/feature-generator.js +4 -38
- package/dist/mcp/lib/generators/feature-generator.js.map +1 -1
- package/dist/mcp/lib/types.d.ts +0 -3
- package/dist/mcp/lib/types.d.ts.map +1 -1
- package/dist/mcp/lib/types.js +0 -3
- package/dist/mcp/lib/types.js.map +1 -1
- package/dist/mcp/lib/wizards/migration-wizard.d.ts +0 -70
- package/dist/mcp/lib/wizards/migration-wizard.d.ts.map +1 -1
- package/dist/mcp/lib/wizards/migration-wizard.js +1 -87
- package/dist/mcp/lib/wizards/migration-wizard.js.map +1 -1
- package/dist/mcp/lib/wizards/wizard-engine.d.ts +0 -39
- package/dist/mcp/lib/wizards/wizard-engine.d.ts.map +1 -1
- package/dist/mcp/lib/wizards/wizard-engine.js +0 -49
- package/dist/mcp/lib/wizards/wizard-engine.js.map +1 -1
- package/dist/mcp/server/index.d.ts +0 -3
- package/dist/mcp/server/index.d.ts.map +1 -1
- package/dist/mcp/server/index.js +1 -9
- package/dist/mcp/server/index.js.map +1 -1
- package/dist/mcp/server/stack-mcp-server.d.ts +0 -42
- package/dist/mcp/server/stack-mcp-server.d.ts.map +1 -1
- package/dist/mcp/server/stack-mcp-server.js +1 -47
- package/dist/mcp/server/stack-mcp-server.js.map +1 -1
- package/dist/migration/generators/migration-generator.d.ts +0 -55
- package/dist/migration/generators/migration-generator.d.ts.map +1 -1
- package/dist/migration/generators/migration-generator.js +3 -97
- package/dist/migration/generators/migration-generator.js.map +1 -1
- package/dist/migration/introspectors/index.d.ts +0 -6
- package/dist/migration/introspectors/index.d.ts.map +1 -1
- package/dist/migration/introspectors/index.js +0 -6
- package/dist/migration/introspectors/index.js.map +1 -1
- package/dist/migration/introspectors/keystone-introspector.d.ts +0 -27
- package/dist/migration/introspectors/keystone-introspector.d.ts.map +1 -1
- package/dist/migration/introspectors/keystone-introspector.js +0 -40
- package/dist/migration/introspectors/keystone-introspector.js.map +1 -1
- package/dist/migration/introspectors/nextjs-introspector.d.ts +0 -36
- package/dist/migration/introspectors/nextjs-introspector.d.ts.map +1 -1
- package/dist/migration/introspectors/nextjs-introspector.js +0 -39
- package/dist/migration/introspectors/nextjs-introspector.js.map +1 -1
- package/dist/migration/introspectors/prisma-introspector.d.ts +0 -30
- package/dist/migration/introspectors/prisma-introspector.d.ts.map +1 -1
- package/dist/migration/introspectors/prisma-introspector.js +1 -42
- package/dist/migration/introspectors/prisma-introspector.js.map +1 -1
- package/dist/migration/types.d.ts +1 -5
- package/dist/migration/types.d.ts.map +1 -1
- package/dist/migration/types.js +0 -3
- package/dist/migration/types.js.map +1 -1
- package/package.json +2 -2
- package/dist/generator/prisma-extensions.d.ts +0 -14
- package/dist/generator/prisma-extensions.d.ts.map +0 -1
- package/dist/generator/prisma-extensions.js +0 -172
- package/dist/generator/prisma-extensions.js.map +0 -1
|
@@ -16,12 +16,8 @@ export class MigrationGenerator {
|
|
|
16
16
|
this.prismaIntrospector = new PrismaIntrospector();
|
|
17
17
|
this.keystoneIntrospector = new KeystoneIntrospector();
|
|
18
18
|
}
|
|
19
|
-
/**
|
|
20
|
-
* Generate migration output from session
|
|
21
|
-
*/
|
|
22
19
|
async generate(session) {
|
|
23
20
|
const { projectType, analysis, answers } = session;
|
|
24
|
-
// Get full schema if available
|
|
25
21
|
let schema;
|
|
26
22
|
try {
|
|
27
23
|
if (projectType === 'prisma') {
|
|
@@ -34,26 +30,16 @@ export class MigrationGenerator {
|
|
|
34
30
|
catch {
|
|
35
31
|
// Continue without schema - will generate example config
|
|
36
32
|
}
|
|
37
|
-
// For Keystone projects, produce a targeted migration guide rather than
|
|
38
|
-
// regenerating a full config. Lists, fields, hooks, and access control are
|
|
39
|
-
// identical between Keystone and OpenSaaS Stack.
|
|
40
33
|
if (projectType === 'keystone') {
|
|
41
34
|
return this.generateKeystoneMigrationGuide(schema, answers);
|
|
42
35
|
}
|
|
43
|
-
|
|
44
|
-
const usedFieldTypes = new Set(['text']); // Always need text
|
|
36
|
+
const usedFieldTypes = new Set(['text']);
|
|
45
37
|
const warnings = [];
|
|
46
|
-
// Generate lists
|
|
47
38
|
const lists = this.generateLists(schema, answers, usedFieldTypes, warnings);
|
|
48
|
-
// Generate access control helpers
|
|
49
39
|
const accessHelpers = this.generateAccessHelpers(answers);
|
|
50
|
-
// Generate database config
|
|
51
40
|
const dbConfig = this.generateDatabaseConfig(answers.db_provider || analysis.provider || 'sqlite');
|
|
52
|
-
// Determine if using auth
|
|
53
41
|
const useAuth = answers.enable_auth === true;
|
|
54
|
-
// Generate imports
|
|
55
42
|
const imports = this.generateImports(usedFieldTypes, useAuth, dbConfig.provider);
|
|
56
|
-
// Generate the full config
|
|
57
43
|
const configContent = this.assembleConfig({
|
|
58
44
|
imports,
|
|
59
45
|
accessHelpers,
|
|
@@ -63,13 +49,9 @@ export class MigrationGenerator {
|
|
|
63
49
|
authMethods: answers.auth_methods || ['email-password'],
|
|
64
50
|
adminBasePath: answers.admin_base_path || '/admin',
|
|
65
51
|
});
|
|
66
|
-
// Generate dependencies list
|
|
67
52
|
const dependencies = this.generateDependencies(dbConfig.provider, useAuth);
|
|
68
|
-
// Generate additional files
|
|
69
53
|
const files = this.generateAdditionalFiles(answers, dbConfig.provider);
|
|
70
|
-
// Generate next steps
|
|
71
54
|
const steps = this.generateSteps(useAuth, dbConfig.provider);
|
|
72
|
-
// Add warnings from introspection
|
|
73
55
|
if (schema) {
|
|
74
56
|
const introspectorWarnings = projectType === 'prisma'
|
|
75
57
|
? this.prismaIntrospector.getWarnings(schema)
|
|
@@ -84,13 +66,6 @@ export class MigrationGenerator {
|
|
|
84
66
|
warnings,
|
|
85
67
|
};
|
|
86
68
|
}
|
|
87
|
-
/**
|
|
88
|
-
* Generate a targeted migration guide for KeystoneJS projects.
|
|
89
|
-
*
|
|
90
|
-
* KeystoneJS and OpenSaaS Stack share the same list/field/hook/access API.
|
|
91
|
-
* The guide focuses only on what actually needs to change rather than
|
|
92
|
-
* regenerating the entire config.
|
|
93
|
-
*/
|
|
94
69
|
generateKeystoneMigrationGuide(schema, answers) {
|
|
95
70
|
const dbProvider = answers.db_provider || schema?.provider || 'sqlite';
|
|
96
71
|
const useAuth = answers.enable_auth === true;
|
|
@@ -169,9 +144,6 @@ ${virtualFieldsNote}${contextGraphqlNote}`;
|
|
|
169
144
|
warnings,
|
|
170
145
|
};
|
|
171
146
|
}
|
|
172
|
-
/**
|
|
173
|
-
* Generate the database adapter example for the migration guide
|
|
174
|
-
*/
|
|
175
147
|
generateDatabaseAdapterExample(provider) {
|
|
176
148
|
switch (provider) {
|
|
177
149
|
case 'postgresql':
|
|
@@ -218,9 +190,6 @@ db: {
|
|
|
218
190
|
\`\`\``;
|
|
219
191
|
}
|
|
220
192
|
}
|
|
221
|
-
/**
|
|
222
|
-
* Generate auth migration section for the guide
|
|
223
|
-
*/
|
|
224
193
|
generateAuthMigrationExample(answers) {
|
|
225
194
|
const authMethods = answers.auth_methods || ['email-password'];
|
|
226
195
|
const options = [];
|
|
@@ -270,9 +239,6 @@ unaffected — better-auth talks to these tables directly, bypassing access
|
|
|
270
239
|
control.
|
|
271
240
|
`;
|
|
272
241
|
}
|
|
273
|
-
/**
|
|
274
|
-
* Generate Keystone-specific dependency list
|
|
275
|
-
*/
|
|
276
242
|
generateKeystoneDependencies(dbProvider, useAuth) {
|
|
277
243
|
const remove = ['@keystone-6/core', '@keystone-6/auth', '@keystone-6/fields-document'];
|
|
278
244
|
const add = ['@opensaas/stack-core', '@opensaas/stack-ui'];
|
|
@@ -294,9 +260,6 @@ control.
|
|
|
294
260
|
// Return as annotated strings so wizard output is readable
|
|
295
261
|
return [`# Remove: ${remove.join(', ')}`, `# Add: ${add.join(', ')}`, ...add];
|
|
296
262
|
}
|
|
297
|
-
/**
|
|
298
|
-
* Generate next steps for a Keystone migration
|
|
299
|
-
*/
|
|
300
263
|
generateKeystoneSteps(useAuth, hasVirtualFields) {
|
|
301
264
|
const steps = [
|
|
302
265
|
'Rename keystone.ts → opensaas.config.ts',
|
|
@@ -314,12 +277,8 @@ control.
|
|
|
314
277
|
steps.push('Search for context.graphql.run/raw and context.query.* calls and replace with context.db.* (see guide above)', 'Run: pnpm opensaas generate', 'Run: npx prisma db push', 'Run: pnpm dev', 'Visit admin UI at http://localhost:3000/admin');
|
|
315
278
|
return steps;
|
|
316
279
|
}
|
|
317
|
-
/**
|
|
318
|
-
* Generate list definitions from schema
|
|
319
|
-
*/
|
|
320
280
|
generateLists(schema, answers, usedFieldTypes, warnings) {
|
|
321
281
|
if (!schema || schema.models.length === 0) {
|
|
322
|
-
// No schema, generate example lists
|
|
323
282
|
usedFieldTypes.add('timestamp');
|
|
324
283
|
return ` // Add your lists here
|
|
325
284
|
// Example:
|
|
@@ -331,7 +290,6 @@ control.
|
|
|
331
290
|
// },
|
|
332
291
|
// }),`;
|
|
333
292
|
}
|
|
334
|
-
// Filter out auth models if using auth plugin
|
|
335
293
|
const skipAuthModels = answers.skip_auth_models === true;
|
|
336
294
|
const authModelNames = ['User', 'Account', 'Session', 'Verification'];
|
|
337
295
|
const modelsToGenerate = schema.models.filter((model) => {
|
|
@@ -340,53 +298,41 @@ control.
|
|
|
340
298
|
}
|
|
341
299
|
return true;
|
|
342
300
|
});
|
|
343
|
-
// Get models that should have owner access
|
|
344
301
|
const ownerModels = new Set(answers.models_with_owner || []);
|
|
345
|
-
// Generate each list
|
|
346
302
|
const listDefinitions = modelsToGenerate.map((model) => {
|
|
347
303
|
return this.generateList(model, schema, ownerModels.has(model.name), answers, usedFieldTypes, warnings);
|
|
348
304
|
});
|
|
349
305
|
return listDefinitions.join('\n');
|
|
350
306
|
}
|
|
351
|
-
/**
|
|
352
|
-
* Generate a single list definition
|
|
353
|
-
*/
|
|
354
307
|
generateList(model, schema, hasOwnerAccess, answers, usedFieldTypes, warnings) {
|
|
355
308
|
const fields = [];
|
|
356
|
-
//
|
|
309
|
+
// OpenSaaS adds id/createdAt/updatedAt automatically - skip them here
|
|
357
310
|
const systemFields = ['id', 'createdAt', 'updatedAt'];
|
|
358
311
|
for (const field of model.fields) {
|
|
359
312
|
if (systemFields.includes(field.name))
|
|
360
313
|
continue;
|
|
361
314
|
if (field.isId)
|
|
362
|
-
continue;
|
|
315
|
+
continue;
|
|
363
316
|
const fieldDef = this.generateField(field, schema, usedFieldTypes, warnings);
|
|
364
317
|
if (fieldDef) {
|
|
365
318
|
fields.push(` ${field.name}: ${fieldDef},`);
|
|
366
319
|
}
|
|
367
320
|
}
|
|
368
|
-
// Generate access control
|
|
369
321
|
const access = this.generateListAccess(hasOwnerAccess, model, answers);
|
|
370
322
|
const fieldsBlock = fields.length > 0 ? `\n${fields.join('\n')}\n ` : '';
|
|
371
323
|
return ` ${model.name}: list({
|
|
372
324
|
fields: {${fieldsBlock}},${access}
|
|
373
325
|
}),`;
|
|
374
326
|
}
|
|
375
|
-
/**
|
|
376
|
-
* Generate a field definition
|
|
377
|
-
*/
|
|
378
327
|
generateField(field, schema, usedFieldTypes, warnings) {
|
|
379
|
-
// Handle relationships
|
|
380
328
|
if (field.relation) {
|
|
381
329
|
usedFieldTypes.add('relationship');
|
|
382
|
-
// Find the related model and back-reference field
|
|
383
330
|
const relatedModel = schema.models.find((m) => m.name === field.relation.model);
|
|
384
331
|
const backRef = relatedModel?.fields.find((f) => f.relation && f.relation.model === field.type);
|
|
385
332
|
const ref = backRef ? `${field.relation.model}.${backRef.name}` : field.relation.model;
|
|
386
333
|
const many = field.isList ? ', many: true' : '';
|
|
387
334
|
return `relationship({ ref: '${ref}'${many} })`;
|
|
388
335
|
}
|
|
389
|
-
// Handle enums as select fields
|
|
390
336
|
const enumDef = schema.enums.find((e) => e.name === field.type);
|
|
391
337
|
if (enumDef) {
|
|
392
338
|
usedFieldTypes.add('select');
|
|
@@ -398,10 +344,8 @@ control.
|
|
|
398
344
|
}
|
|
399
345
|
return `select({ ${selectOptions} })`;
|
|
400
346
|
}
|
|
401
|
-
// Map Prisma/Keystone types to OpenSaaS
|
|
402
347
|
const mapping = this.prismaIntrospector.mapPrismaTypeToOpenSaas(field.type);
|
|
403
348
|
usedFieldTypes.add(mapping.import);
|
|
404
|
-
// Build options
|
|
405
349
|
const options = [];
|
|
406
350
|
if (field.isRequired && !field.defaultValue) {
|
|
407
351
|
options.push('validation: { isRequired: true }');
|
|
@@ -417,7 +361,6 @@ control.
|
|
|
417
361
|
options.push(`precision: ${precision}`);
|
|
418
362
|
options.push(`scale: ${scale}`);
|
|
419
363
|
}
|
|
420
|
-
// Handle default values
|
|
421
364
|
if (field.defaultValue) {
|
|
422
365
|
if (field.type === 'DateTime' && field.defaultValue === 'now()') {
|
|
423
366
|
options.push("defaultValue: { kind: 'now' }");
|
|
@@ -427,7 +370,6 @@ control.
|
|
|
427
370
|
}
|
|
428
371
|
// Other defaults are harder to map automatically
|
|
429
372
|
}
|
|
430
|
-
// Generate unsupported type warning
|
|
431
373
|
if (field.type === 'Bytes') {
|
|
432
374
|
warnings.push(`Field "${field.name}" uses unsupported type "${field.type}" - mapped to text()`);
|
|
433
375
|
}
|
|
@@ -438,13 +380,9 @@ control.
|
|
|
438
380
|
const optionsStr = options.length > 0 ? `{ ${options.join(', ')} }` : '';
|
|
439
381
|
return `${mapping.type}(${optionsStr})`;
|
|
440
382
|
}
|
|
441
|
-
/**
|
|
442
|
-
* Generate list access control
|
|
443
|
-
*/
|
|
444
383
|
generateListAccess(hasOwnerAccess, model, answers) {
|
|
445
384
|
const defaultAccess = answers.default_access || 'public-read-auth-write';
|
|
446
385
|
if (hasOwnerAccess) {
|
|
447
|
-
// Find the user relationship field
|
|
448
386
|
const userField = model.fields.find((f) => f.relation?.model === 'User' ||
|
|
449
387
|
f.name.toLowerCase().includes('author') ||
|
|
450
388
|
f.name.toLowerCase().includes('owner') ||
|
|
@@ -465,7 +403,6 @@ control.
|
|
|
465
403
|
},
|
|
466
404
|
},`;
|
|
467
405
|
}
|
|
468
|
-
// Generate based on default access pattern
|
|
469
406
|
switch (defaultAccess) {
|
|
470
407
|
case 'authenticated-only':
|
|
471
408
|
return `
|
|
@@ -512,9 +449,6 @@ control.
|
|
|
512
449
|
},`;
|
|
513
450
|
}
|
|
514
451
|
}
|
|
515
|
-
/**
|
|
516
|
-
* Generate access control helper functions
|
|
517
|
-
*/
|
|
518
452
|
generateAccessHelpers(answers) {
|
|
519
453
|
const helpers = [];
|
|
520
454
|
const ownerModels = answers.models_with_owner || [];
|
|
@@ -534,9 +468,6 @@ const isOwner: AccessControl = ({ session, item }) => {
|
|
|
534
468
|
}
|
|
535
469
|
return helpers.join('\n');
|
|
536
470
|
}
|
|
537
|
-
/**
|
|
538
|
-
* Generate database configuration
|
|
539
|
-
*/
|
|
540
471
|
generateDatabaseConfig(provider) {
|
|
541
472
|
switch (provider) {
|
|
542
473
|
case 'postgresql':
|
|
@@ -583,32 +514,21 @@ const isOwner: AccessControl = ({ session, item }) => {
|
|
|
583
514
|
};
|
|
584
515
|
}
|
|
585
516
|
}
|
|
586
|
-
/**
|
|
587
|
-
* Generate import statements
|
|
588
|
-
*/
|
|
589
517
|
generateImports(usedFieldTypes, useAuth, dbProvider) {
|
|
590
518
|
const imports = [];
|
|
591
|
-
// Core imports
|
|
592
519
|
imports.push("import { config, list } from '@opensaas/stack-core'");
|
|
593
|
-
// Field imports
|
|
594
520
|
const fieldTypes = Array.from(usedFieldTypes).sort();
|
|
595
521
|
imports.push(`import { ${fieldTypes.join(', ')} } from '@opensaas/stack-core/fields'`);
|
|
596
|
-
// Auth imports
|
|
597
522
|
if (useAuth) {
|
|
598
523
|
imports.push("import { authPlugin } from '@opensaas/stack-auth'");
|
|
599
524
|
imports.push("import type { AccessControl } from '@opensaas/stack-core'");
|
|
600
525
|
}
|
|
601
|
-
// Database adapter imports
|
|
602
526
|
const dbConfig = this.generateDatabaseConfig(dbProvider);
|
|
603
527
|
imports.push(...dbConfig.imports);
|
|
604
528
|
return imports.join('\n');
|
|
605
529
|
}
|
|
606
|
-
/**
|
|
607
|
-
* Assemble the complete config file
|
|
608
|
-
*/
|
|
609
530
|
assembleConfig(options) {
|
|
610
531
|
const { imports, accessHelpers, dbConfig, lists, useAuth, authMethods, adminBasePath } = options;
|
|
611
|
-
// Generate auth plugin config
|
|
612
532
|
let authPluginStr = '';
|
|
613
533
|
if (useAuth) {
|
|
614
534
|
const authOptions = [];
|
|
@@ -643,7 +563,6 @@ const isOwner: AccessControl = ({ session, item }) => {
|
|
|
643
563
|
${authOptions.join('\n')}
|
|
644
564
|
}),`;
|
|
645
565
|
}
|
|
646
|
-
// Build config body
|
|
647
566
|
const pluginsBlock = useAuth
|
|
648
567
|
? ` plugins: [
|
|
649
568
|
${authPluginStr}
|
|
@@ -665,9 +584,6 @@ ${lists}
|
|
|
665
584
|
${accessHelpers}${configBody}
|
|
666
585
|
`;
|
|
667
586
|
}
|
|
668
|
-
/**
|
|
669
|
-
* Generate list of dependencies to install
|
|
670
|
-
*/
|
|
671
587
|
generateDependencies(dbProvider, useAuth) {
|
|
672
588
|
const deps = [
|
|
673
589
|
'@opensaas/stack-core',
|
|
@@ -675,7 +591,6 @@ ${accessHelpers}${configBody}
|
|
|
675
591
|
'@prisma/client',
|
|
676
592
|
'prisma',
|
|
677
593
|
];
|
|
678
|
-
// Database adapter deps
|
|
679
594
|
switch (dbProvider) {
|
|
680
595
|
case 'postgresql':
|
|
681
596
|
deps.push('@prisma/adapter-pg', 'pg', '@types/pg');
|
|
@@ -688,20 +603,14 @@ ${accessHelpers}${configBody}
|
|
|
688
603
|
deps.push('@prisma/adapter-better-sqlite3');
|
|
689
604
|
break;
|
|
690
605
|
}
|
|
691
|
-
// Auth deps
|
|
692
606
|
if (useAuth) {
|
|
693
607
|
deps.push('@opensaas/stack-auth', 'better-auth');
|
|
694
608
|
}
|
|
695
609
|
return deps;
|
|
696
610
|
}
|
|
697
|
-
/**
|
|
698
|
-
* Generate additional files if needed
|
|
699
|
-
*/
|
|
700
611
|
generateAdditionalFiles(answers, dbProvider) {
|
|
701
612
|
const files = [];
|
|
702
|
-
// Generate .env.example
|
|
703
613
|
const envVars = ['# Database'];
|
|
704
|
-
// Database URL based on provider
|
|
705
614
|
switch (dbProvider) {
|
|
706
615
|
case 'postgresql':
|
|
707
616
|
envVars.push('DATABASE_URL="postgresql://user:password@localhost:5432/mydb"');
|
|
@@ -742,9 +651,6 @@ ${accessHelpers}${configBody}
|
|
|
742
651
|
});
|
|
743
652
|
return files;
|
|
744
653
|
}
|
|
745
|
-
/**
|
|
746
|
-
* Generate next steps
|
|
747
|
-
*/
|
|
748
654
|
generateSteps(useAuth, dbProvider) {
|
|
749
655
|
const steps = [
|
|
750
656
|
'Save the generated config to `opensaas.config.ts`',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration-generator.js","sourceRoot":"","sources":["../../../src/migration/generators/migration-generator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"migration-generator.js","sourceRoot":"","sources":["../../../src/migration/generators/migration-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AASH,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAA;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAA;AAEhF,MAAM,OAAO,kBAAkB;IACrB,kBAAkB,CAAoB;IACtC,oBAAoB,CAAsB;IAElD;QACE,IAAI,CAAC,kBAAkB,GAAG,IAAI,kBAAkB,EAAE,CAAA;QAClD,IAAI,CAAC,oBAAoB,GAAG,IAAI,oBAAoB,EAAE,CAAA;IACxD,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAyB;QACtC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;QAElD,IAAI,MAAsC,CAAA;QAC1C,IAAI,CAAC;YACH,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;YACjE,CAAC;iBAAM,IAAI,WAAW,KAAK,UAAU,EAAE,CAAC;gBACtC,MAAM,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;YACnE,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,yDAAyD;QAC3D,CAAC;QAED,IAAI,WAAW,KAAK,UAAU,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC,8BAA8B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAC7D,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,GAAG,CAAS,CAAC,MAAM,CAAC,CAAC,CAAA;QAChD,MAAM,QAAQ,GAAa,EAAE,CAAA;QAE7B,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAA;QAC3E,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAA;QACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CACzC,OAAO,CAAC,WAAsB,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CACjE,CAAA;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,KAAK,IAAI,CAAA;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAEhF,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC;YACxC,OAAO;YACP,aAAa;YACb,QAAQ;YACR,KAAK;YACL,OAAO;YACP,WAAW,EAAG,OAAO,CAAC,YAAyB,IAAI,CAAC,gBAAgB,CAAC;YACrE,aAAa,EAAG,OAAO,CAAC,eAA0B,IAAI,QAAQ;SAC/D,CAAC,CAAA;QAEF,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAC1E,MAAM,KAAK,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;QACtE,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAE5D,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,oBAAoB,GACxB,WAAW,KAAK,QAAQ;gBACtB,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC;gBAC7C,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;YACnD,QAAQ,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,CAAA;QACxC,CAAC;QAED,OAAO;YACL,aAAa;YACb,YAAY;YACZ,KAAK;YACL,KAAK;YACL,QAAQ;SACT,CAAA;IACH,CAAC;IAEO,8BAA8B,CACpC,MAAsC,EACtC,OAAgC;QAEhC,MAAM,UAAU,GAAI,OAAO,CAAC,WAAsB,IAAI,MAAM,EAAE,QAAQ,IAAI,QAAQ,CAAA;QAClF,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,KAAK,IAAI,CAAA;QAC5C,MAAM,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;QACvF,MAAM,gBAAgB,GAAG,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACjD,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,CACzD,CAAA;QAED,MAAM,QAAQ,GAAa,EAAE,CAAA;QAC7B,IAAI,MAAM,EAAE,CAAC;YACX,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAA;QACjE,CAAC;QAED,6DAA6D;QAC7D,MAAM,gBAAgB,GAAG,IAAI,CAAC,8BAA8B,CAAC,UAAU,CAAC,CAAA;QACxE,MAAM,oBAAoB,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QACtF,MAAM,iBAAiB,GAAG,gBAAgB;YACxC,CAAC,CAAC,ivBAAivB;YACnvB,CAAC,CAAC,EAAE,CAAA;QACN,MAAM,kBAAkB,GAAG,aAAa,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,klBAAklB,CAAA;QACtpB,MAAM,OAAO,GAAG,MAAM;YACpB,CAAC,CAAC,mNAAmN,UAAU,2OAA2O;YAC1c,CAAC,CAAC,EAAE,CAAA;QAEN,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;EAgBxB,OAAO,CAAC,CAAC,CAAC,4LAA4L,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;EAa3M,gBAAgB;EAChB,OAAO;;;;;;;;;;;EAWP,oBAAoB;;;;;;;EAOpB,iBAAiB,GAAG,kBAAkB,EAAE,CAAA;QAEtC,MAAM,YAAY,GAAG,IAAI,CAAC,4BAA4B,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QAC3E,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,IAAI,KAAK,CAAC,CAAA;QAE5E,OAAO;YACL,aAAa;YACb,YAAY;YACZ,KAAK,EAAE,EAAE;YACT,KAAK;YACL,QAAQ;SACT,CAAA;IACH,CAAC;IAEO,8BAA8B,CAAC,QAAgB;QACrD,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,YAAY;gBACf,OAAO;;;;;;;;;;;;;OAaR,CAAA;YAED,KAAK,OAAO;gBACV,OAAO;;;;;;;;;;;OAWR,CAAA;YAED,KAAK,QAAQ,CAAC;YACd;gBACE,OAAO;;;;;;;;;;;OAWR,CAAA;QACH,CAAC;IACH,CAAC;IAEO,4BAA4B,CAAC,OAAgC;QACnE,MAAM,WAAW,GAAI,OAAO,CAAC,YAAyB,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAC5E,MAAM,OAAO,GAAa,EAAE,CAAA;QAE5B,IAAI,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAA;QAC5D,CAAC;QACD,IAAI,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACvC,OAAO,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAA;QACrD,CAAC;QACD,IAAI,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,OAAO,CAAC,IAAI,CACV,gHAAgH,CACjH,CAAA;QACH,CAAC;QACD,IAAI,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,OAAO,CAAC,IAAI,CACV,gHAAgH,CACjH,CAAA;QACH,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAA;QAEjE,OAAO;;;;;;;;;;;;;EAaT,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;CAkB1C,CAAA;IACC,CAAC;IAEO,4BAA4B,CAAC,UAAkB,EAAE,OAAgB;QACvE,MAAM,MAAM,GAAG,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,6BAA6B,CAAC,CAAA;QACtF,MAAM,GAAG,GAAa,CAAC,sBAAsB,EAAE,oBAAoB,CAAC,CAAA;QAEpE,QAAQ,UAAU,EAAE,CAAC;YACnB,KAAK,YAAY;gBACf,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,EAAE,WAAW,CAAC,CAAA;gBACjD,MAAK;YACP,KAAK,OAAO;gBACV,GAAG,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAA;gBACvC,MAAK;YACP,KAAK,QAAQ,CAAC;YACd;gBACE,GAAG,CAAC,IAAI,CAAC,gCAAgC,EAAE,gBAAgB,CAAC,CAAA;gBAC5D,MAAK;QACT,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE,aAAa,CAAC,CAAA;QACjD,CAAC;QAED,2DAA2D;QAC3D,OAAO,CAAC,aAAa,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC,CAAA;IAC/E,CAAC;IAEO,qBAAqB,CAAC,OAAgB,EAAE,gBAAyB;QACvE,MAAM,KAAK,GAAG;YACZ,yCAAyC;YACzC,yDAAyD;YACzD,4DAA4D;SAC7D,CAAA;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAA;YAC3E,KAAK,CAAC,IAAI,CAAC,gFAAgF,CAAC,CAAA;QAC9F,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAA;QAEjF,IAAI,gBAAgB,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CACR,wGAAwG,CACzG,CAAA;QACH,CAAC;QAED,KAAK,CAAC,IAAI,CACR,8GAA8G,EAC9G,6BAA6B,EAC7B,yBAAyB,EACzB,eAAe,EACf,+CAA+C,CAChD,CAAA;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAEO,aAAa,CACnB,MAAsC,EACtC,OAAgC,EAChC,cAA2B,EAC3B,QAAkB;QAElB,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1C,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;YAC/B,OAAO;;;;;;;;WAQF,CAAA;QACP,CAAC;QAED,MAAM,cAAc,GAAG,OAAO,CAAC,gBAAgB,KAAK,IAAI,CAAA;QACxD,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,CAAC,CAAA;QAErE,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YACtD,IAAI,cAAc,IAAI,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1D,OAAO,KAAK,CAAA;YACd,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC,CAAC,CAAA;QAEF,MAAM,WAAW,GAAG,IAAI,GAAG,CAAE,OAAO,CAAC,iBAA8B,IAAI,EAAE,CAAC,CAAA;QAE1E,MAAM,eAAe,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACrD,OAAO,IAAI,CAAC,YAAY,CACtB,KAAK,EACL,MAAM,EACN,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAC3B,OAAO,EACP,cAAc,EACd,QAAQ,CACT,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACnC,CAAC;IAEO,YAAY,CAClB,KAAwB,EACxB,MAA0B,EAC1B,cAAuB,EACvB,OAAgC,EAChC,cAA2B,EAC3B,QAAkB;QAElB,MAAM,MAAM,GAAa,EAAE,CAAA;QAE3B,sEAAsE;QACtE,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC,CAAA;QAErD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjC,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,SAAQ;YAC/C,IAAI,KAAK,CAAC,IAAI;gBAAE,SAAQ;YAExB,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAA;YAC5E,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,IAAI,KAAK,QAAQ,GAAG,CAAC,CAAA;YACpD,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;QAEtE,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAA;QAE7E,OAAO,OAAO,KAAK,CAAC,IAAI;iBACX,WAAW,KAAK,MAAM;QAC/B,CAAA;IACN,CAAC;IAEO,aAAa,CACnB,KAAwB,EACxB,MAA0B,EAC1B,cAA2B,EAC3B,QAAkB;QAElB,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,cAAc,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;YAElC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,QAAS,CAAC,KAAK,CAAC,CAAA;YAChF,MAAM,OAAO,GAAG,YAAY,EAAE,MAAM,CAAC,IAAI,CACvC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,CACrD,CAAA;YAED,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAA;YAEtF,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAA;YAC/C,OAAO,wBAAwB,GAAG,IAAI,IAAI,KAAK,CAAA;QACjD,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAA;QAC/D,IAAI,OAAO,EAAE,CAAC;YACZ,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YAC5B,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAE5F,IAAI,aAAa,GAAG,aAAa,WAAW,GAAG,CAAA;YAC/C,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;gBACvB,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;gBACjE,aAAa,IAAI,oBAAoB,UAAU,GAAG,CAAA;YACpD,CAAC;YACD,OAAO,YAAY,aAAa,KAAK,CAAA;QACvC,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC3E,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAElC,MAAM,OAAO,GAAa,EAAE,CAAA;QAE5B,IAAI,KAAK,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAA;QAClD,CAAC;QAED,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;QACrC,CAAC;QAED,oFAAoF;QACpF,IACE,KAAK,CAAC,IAAI,KAAK,SAAS;YACxB,KAAK,CAAC,UAAU,EAAE,IAAI,KAAK,SAAS;YACpC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAClC,CAAC;YACD,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAA;YAChD,OAAO,CAAC,IAAI,CAAC,cAAc,SAAS,EAAE,CAAC,CAAA;YACvC,OAAO,CAAC,IAAI,CAAC,UAAU,KAAK,EAAE,CAAC,CAAA;QACjC,CAAC;QAED,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACvB,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,YAAY,KAAK,OAAO,EAAE,CAAC;gBAChE,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAA;YAC/C,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACpC,OAAO,CAAC,IAAI,CAAC,iBAAiB,KAAK,CAAC,YAAY,EAAE,CAAC,CAAA;YACrD,CAAC;YACD,iDAAiD;QACnD,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC3B,QAAQ,CAAC,IAAI,CACX,UAAU,KAAK,CAAC,IAAI,4BAA4B,KAAK,CAAC,IAAI,sBAAsB,CACjF,CAAA;QACH,CAAC;QAED,gFAAgF;QAChF,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC3B,QAAQ,CAAC,IAAI,CACX,UAAU,KAAK,CAAC,IAAI,+GAA+G,CACpI,CAAA;QACH,CAAC;QAED,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;QACxE,OAAO,GAAG,OAAO,CAAC,IAAI,IAAI,UAAU,GAAG,CAAA;IACzC,CAAC;IAEO,kBAAkB,CACxB,cAAuB,EACvB,KAAwB,EACxB,OAAgC;QAEhC,MAAM,aAAa,GAAI,OAAO,CAAC,cAAyB,IAAI,wBAAwB,CAAA;QAEpF,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CACjC,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,QAAQ,EAAE,KAAK,KAAK,MAAM;gBAC5B,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBACvC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;gBACtC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CACxC,CAAA;YAED,MAAM,UAAU,GAAG,SAAS,EAAE,IAAI,IAAI,QAAQ,CAAA;YAC9C,MAAM,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,IAAI,CAAA;YAE/E,OAAO;;;;;;;;;;mDAUsC,YAAY;;SAEtD,CAAA;QACL,CAAC;QAED,QAAQ,aAAa,EAAE,CAAC;YACtB,KAAK,oBAAoB;gBACvB,OAAO;;;;;;;;SAQN,CAAA;YAEH,KAAK,YAAY;gBACf,OAAO;;;;;;;;;;SAUN,CAAA;YAEH,KAAK,YAAY;gBACf,OAAO;;;;;;;;SAQN,CAAA;YAEH,KAAK,wBAAwB,CAAC;YAC9B;gBACE,OAAO;;;;;;;;SAQN,CAAA;QACL,CAAC;IACH,CAAC;IAEO,qBAAqB,CAAC,OAAgC;QAC5D,MAAM,OAAO,GAAa,EAAE,CAAA;QAC5B,MAAM,WAAW,GAAI,OAAO,CAAC,iBAA8B,IAAI,EAAE,CAAA;QAEjE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC;;;;;;;;;;;CAWlB,CAAC,CAAA;QACE,CAAC;QAED,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC;IAEO,sBAAsB,CAAC,QAAgB;QAK7C,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,YAAY;gBACf,OAAO;oBACL,QAAQ,EAAE,YAAY;oBACtB,OAAO,EAAE,CAAC,+CAA+C,EAAE,qBAAqB,CAAC;oBACjF,UAAU,EAAE;;;;;;;OAOf;iBACE,CAAA;YAEH,KAAK,OAAO;gBACV,OAAO;oBACL,QAAQ,EAAE,OAAO;oBACjB,OAAO,EAAE,CAAC,iEAAiE,CAAC;oBAC5E,UAAU,EAAE;;;;;;;;OAQf;iBACE,CAAA;YAEH,KAAK,QAAQ,CAAC;YACd;gBACE,OAAO;oBACL,QAAQ,EAAE,QAAQ;oBAClB,OAAO,EAAE,CAAC,sEAAsE,CAAC;oBACjF,UAAU,EAAE;;;;;;;;OAQf;iBACE,CAAA;QACL,CAAC;IACH,CAAC;IAEO,eAAe,CACrB,cAA2B,EAC3B,OAAgB,EAChB,UAAkB;QAElB,MAAM,OAAO,GAAa,EAAE,CAAA;QAE5B,OAAO,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAA;QAEnE,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAA;QACpD,OAAO,CAAC,IAAI,CAAC,YAAY,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAA;QAEtF,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAA;YACjE,OAAO,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAA;QAC3E,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAA;QACxD,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;QAEjC,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC;IAEO,cAAc,CAAC,OAQtB;QACC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,OAAO,CAAA;QAEhG,IAAI,aAAa,GAAG,EAAE,CAAA;QACtB,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,WAAW,GAAa,EAAE,CAAA;YAEhC,IAAI,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC3C,WAAW,CAAC,IAAI,CAAC;;;SAGhB,CAAC,CAAA;YACJ,CAAC;YAED,IAAI,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBACvC,WAAW,CAAC,IAAI,CAAC;;SAEhB,CAAC,CAAA;YACJ,CAAC;YAED,8CAA8C;YAC9C,IAAI,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnC,WAAW,CAAC,IAAI,CAAC;;;;YAIb,CAAC,CAAA;YACP,CAAC;YAED,IAAI,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnC,WAAW,CAAC,IAAI,CAAC;;;;YAIb,CAAC,CAAA;YACP,CAAC;YAED,WAAW,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAA;YAErE,aAAa,GAAG;EACpB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;QAChB,CAAA;QACJ,CAAC;QAED,MAAM,YAAY,GAAG,OAAO;YAC1B,CAAC,CAAC;EACN,aAAa;;;CAGd;YACK,CAAC,CAAC,EAAE,CAAA;QAEN,MAAM,UAAU,GAAG;EACrB,YAAY,GAAG,QAAQ,CAAC,UAAU;;EAElC,KAAK;;;iBAGU,aAAa;;GAE3B,CAAA;QAEC,OAAO,GAAG,OAAO;;EAEnB,aAAa,GAAG,UAAU;CAC3B,CAAA;IACC,CAAC;IAEO,oBAAoB,CAAC,UAAkB,EAAE,OAAgB;QAC/D,MAAM,IAAI,GAAa;YACrB,sBAAsB;YACtB,oBAAoB;YACpB,gBAAgB;YAChB,QAAQ;SACT,CAAA;QAED,QAAQ,UAAU,EAAE,CAAC;YACnB,KAAK,YAAY;gBACf,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,EAAE,WAAW,CAAC,CAAA;gBAClD,MAAK;YACP,KAAK,OAAO;gBACV,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAA;gBACxC,MAAK;YACP,KAAK,QAAQ,CAAC;YACd;gBACE,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAA;gBAC3C,MAAK;QACT,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,aAAa,CAAC,CAAA;QAClD,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAEO,uBAAuB,CAC7B,OAAgC,EAChC,UAAkB;QAOlB,MAAM,KAAK,GAKN,EAAE,CAAA;QAEP,MAAM,OAAO,GAAa,CAAC,YAAY,CAAC,CAAA;QAExC,QAAQ,UAAU,EAAE,CAAC;YACnB,KAAK,YAAY;gBACf,OAAO,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAA;gBAC7E,MAAK;YACP,KAAK,OAAO;gBACV,OAAO,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAA;gBACxE,MAAK;YACP,KAAK,QAAQ,CAAC;YACd;gBACE,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAA;gBAC5C,MAAK;QACT,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAEhB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACtB,OAAO,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAA;YACzE,OAAO,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAA;YACvD,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAEhB,MAAM,WAAW,GAAI,OAAO,CAAC,YAAyB,IAAI,EAAE,CAAA;YAC5D,IAAI,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnC,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAA;gBACzC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;gBACnC,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;gBACvC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAClB,CAAC;YACD,IAAI,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnC,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAA;gBACzC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;gBACnC,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;gBACvC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAClB,CAAC;QACH,CAAC;QAED,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YAC3B,QAAQ,EAAE,MAAM;YAChB,WAAW,EAAE,gCAAgC;SAC9C,CAAC,CAAA;QAEF,OAAO,KAAK,CAAA;IACd,CAAC;IAEO,aAAa,CAAC,OAAgB,EAAE,UAAkB;QACxD,MAAM,KAAK,GAAG;YACZ,mDAAmD;YACnD,kDAAkD;SACnD,CAAA;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAA;QACtE,CAAC;QAED,KAAK,CAAC,IAAI,CACR,iDAAiD,EACjD,kDAAkD,EAClD,+CAA+C,EAC/C,+CAA+C,EAC/C,sCAAsC,CACvC,CAAA;QAED,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAA;QACzC,KAAK,CAAC,IAAI,CAAC,0CAA0C,SAAS,EAAE,CAAC,CAAA;QAEjE,OAAO,KAAK,CAAA;IACd,CAAC;CACF"}
|
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Schema introspectors for migration system
|
|
3
|
-
*
|
|
4
|
-
* These introspectors parse existing schemas and configs to extract
|
|
5
|
-
* model and field information for automated migration.
|
|
6
|
-
*/
|
|
7
1
|
export { PrismaIntrospector } from './prisma-introspector.js';
|
|
8
2
|
export { KeystoneIntrospector } from './keystone-introspector.js';
|
|
9
3
|
export type { KeystoneList, KeystoneField, KeystoneSchema } from './keystone-introspector.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/migration/introspectors/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/migration/introspectors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AACjE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC7F,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAC7D,YAAY,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA"}
|
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Schema introspectors for migration system
|
|
3
|
-
*
|
|
4
|
-
* These introspectors parse existing schemas and configs to extract
|
|
5
|
-
* model and field information for automated migration.
|
|
6
|
-
*/
|
|
7
1
|
export { PrismaIntrospector } from './prisma-introspector.js';
|
|
8
2
|
export { KeystoneIntrospector } from './keystone-introspector.js';
|
|
9
3
|
export { NextjsIntrospector } from './nextjs-introspector.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/migration/introspectors/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/migration/introspectors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAEjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA"}
|
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* KeystoneJS Config Introspector
|
|
3
|
-
*
|
|
4
|
-
* Loads keystone.config.ts using jiti and extracts list definitions.
|
|
5
|
-
* KeystoneJS → OpenSaaS migration is mostly 1:1.
|
|
6
|
-
*/
|
|
7
1
|
import type { IntrospectedSchema } from '../types.js';
|
|
8
2
|
export interface KeystoneList {
|
|
9
3
|
name: string;
|
|
@@ -24,36 +18,15 @@ export interface KeystoneSchema {
|
|
|
24
18
|
};
|
|
25
19
|
}
|
|
26
20
|
export declare class KeystoneIntrospector {
|
|
27
|
-
/**
|
|
28
|
-
* Introspect a KeystoneJS config file
|
|
29
|
-
*/
|
|
30
21
|
introspect(cwd: string, configPath?: string): Promise<IntrospectedSchema>;
|
|
31
|
-
/**
|
|
32
|
-
* Parse the loaded KeystoneJS config object
|
|
33
|
-
*/
|
|
34
22
|
private parseConfig;
|
|
35
|
-
/**
|
|
36
|
-
* Parse a single list definition
|
|
37
|
-
*/
|
|
38
23
|
private parseList;
|
|
39
|
-
/**
|
|
40
|
-
* Parse a single field definition
|
|
41
|
-
*/
|
|
42
24
|
private parseField;
|
|
43
|
-
/**
|
|
44
|
-
* Convert KeystoneSchema to IntrospectedSchema format
|
|
45
|
-
*/
|
|
46
25
|
private convertToIntrospectedSchema;
|
|
47
|
-
/**
|
|
48
|
-
* Map KeystoneJS field type to OpenSaaS equivalent
|
|
49
|
-
*/
|
|
50
26
|
mapKeystoneTypeToOpenSaas(keystoneType: string): {
|
|
51
27
|
type: string;
|
|
52
28
|
import: string;
|
|
53
29
|
};
|
|
54
|
-
/**
|
|
55
|
-
* Get warnings for unsupported features
|
|
56
|
-
*/
|
|
57
30
|
getWarnings(schema: IntrospectedSchema): string[];
|
|
58
31
|
}
|
|
59
32
|
//# sourceMappingURL=keystone-introspector.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keystone-introspector.d.ts","sourceRoot":"","sources":["../../../src/migration/introspectors/keystone-introspector.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"keystone-introspector.d.ts","sourceRoot":"","sources":["../../../src/migration/introspectors/keystone-introspector.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAwC,MAAM,aAAa,CAAA;AAE3F,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,aAAa,EAAE,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAChC;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAClC;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,YAAY,EAAE,CAAA;IACrB,EAAE,CAAC,EAAE;QACH,QAAQ,EAAE,MAAM,CAAA;QAChB,GAAG,CAAC,EAAE,MAAM,CAAA;KACb,CAAA;CACF;AAED,qBAAa,oBAAoB;IACzB,UAAU,CACd,GAAG,EAAE,MAAM,EACX,UAAU,GAAE,MAA6B,GACxC,OAAO,CAAC,kBAAkB,CAAC,CA6C7B;IAED,OAAO,CAAC,WAAW;IA6BnB,OAAO,CAAC,SAAS;IA8BjB,OAAO,CAAC,UAAU;IAiClB,OAAO,CAAC,2BAA2B;IAiDnC,yBAAyB,CAAC,YAAY,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAsBhF;IAED,WAAW,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,EAAE,CA+BhD;CACF"}
|
|
@@ -1,20 +1,10 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* KeystoneJS Config Introspector
|
|
3
|
-
*
|
|
4
|
-
* Loads keystone.config.ts using jiti and extracts list definitions.
|
|
5
|
-
* KeystoneJS → OpenSaaS migration is mostly 1:1.
|
|
6
|
-
*/
|
|
7
1
|
import path from 'path';
|
|
8
2
|
import fs from 'fs-extra';
|
|
9
3
|
import { createJiti } from 'jiti';
|
|
10
4
|
import { resolveTsconfigAlias } from '../../generator/tsconfig-alias.js';
|
|
11
5
|
export class KeystoneIntrospector {
|
|
12
|
-
/**
|
|
13
|
-
* Introspect a KeystoneJS config file
|
|
14
|
-
*/
|
|
15
6
|
async introspect(cwd, configPath = 'keystone.config.ts') {
|
|
16
7
|
const fullPath = path.isAbsolute(configPath) ? configPath : path.join(cwd, configPath);
|
|
17
|
-
// Try alternative paths
|
|
18
8
|
const paths = [fullPath, path.join(cwd, 'keystone.ts'), path.join(cwd, 'keystone.config.js')];
|
|
19
9
|
let foundPath;
|
|
20
10
|
for (const p of paths) {
|
|
@@ -34,7 +24,6 @@ export class KeystoneIntrospector {
|
|
|
34
24
|
for (const warning of warnings) {
|
|
35
25
|
console.warn(`⚠️ ${warning}`);
|
|
36
26
|
}
|
|
37
|
-
// Use jiti to load TypeScript config
|
|
38
27
|
const jiti = createJiti(import.meta.url, {
|
|
39
28
|
interopDefault: true,
|
|
40
29
|
moduleCache: false,
|
|
@@ -45,7 +34,6 @@ export class KeystoneIntrospector {
|
|
|
45
34
|
? configModule.default
|
|
46
35
|
: configModule;
|
|
47
36
|
const keystoneSchema = this.parseConfig(config);
|
|
48
|
-
// Convert KeystoneSchema to IntrospectedSchema
|
|
49
37
|
return this.convertToIntrospectedSchema(keystoneSchema);
|
|
50
38
|
}
|
|
51
39
|
catch (error) {
|
|
@@ -53,9 +41,6 @@ export class KeystoneIntrospector {
|
|
|
53
41
|
throw new Error(`Failed to load KeystoneJS config: ${message}`);
|
|
54
42
|
}
|
|
55
43
|
}
|
|
56
|
-
/**
|
|
57
|
-
* Parse the loaded KeystoneJS config object
|
|
58
|
-
*/
|
|
59
44
|
parseConfig(config) {
|
|
60
45
|
const result = {
|
|
61
46
|
lists: [],
|
|
@@ -64,7 +49,6 @@ export class KeystoneIntrospector {
|
|
|
64
49
|
return result;
|
|
65
50
|
}
|
|
66
51
|
const configObj = config;
|
|
67
|
-
// Extract database config
|
|
68
52
|
if (configObj.db && typeof configObj.db === 'object' && configObj.db !== null) {
|
|
69
53
|
const db = configObj.db;
|
|
70
54
|
result.db = {
|
|
@@ -72,7 +56,6 @@ export class KeystoneIntrospector {
|
|
|
72
56
|
url: typeof db.url === 'string' ? db.url : undefined,
|
|
73
57
|
};
|
|
74
58
|
}
|
|
75
|
-
// Extract lists
|
|
76
59
|
if (configObj.lists && typeof configObj.lists === 'object' && configObj.lists !== null) {
|
|
77
60
|
for (const [name, listDef] of Object.entries(configObj.lists)) {
|
|
78
61
|
const list = this.parseList(name, listDef);
|
|
@@ -81,9 +64,6 @@ export class KeystoneIntrospector {
|
|
|
81
64
|
}
|
|
82
65
|
return result;
|
|
83
66
|
}
|
|
84
|
-
/**
|
|
85
|
-
* Parse a single list definition
|
|
86
|
-
*/
|
|
87
67
|
parseList(name, listDef) {
|
|
88
68
|
const list = {
|
|
89
69
|
name,
|
|
@@ -93,7 +73,6 @@ export class KeystoneIntrospector {
|
|
|
93
73
|
return list;
|
|
94
74
|
}
|
|
95
75
|
const listDefObj = listDef;
|
|
96
|
-
// Extract fields
|
|
97
76
|
if (listDefObj.fields && typeof listDefObj.fields === 'object' && listDefObj.fields !== null) {
|
|
98
77
|
for (const [fieldName, fieldDef] of Object.entries(listDefObj.fields)) {
|
|
99
78
|
const field = this.parseField(fieldName, fieldDef);
|
|
@@ -109,16 +88,12 @@ export class KeystoneIntrospector {
|
|
|
109
88
|
}
|
|
110
89
|
return list;
|
|
111
90
|
}
|
|
112
|
-
/**
|
|
113
|
-
* Parse a single field definition
|
|
114
|
-
*/
|
|
115
91
|
parseField(name, fieldDef) {
|
|
116
92
|
// KeystoneJS fields are objects with a type property or function results
|
|
117
93
|
let type = 'unknown';
|
|
118
94
|
let options = {};
|
|
119
95
|
if (typeof fieldDef === 'object' && fieldDef !== null) {
|
|
120
96
|
const fieldDefObj = fieldDef;
|
|
121
|
-
// Check for common field type patterns
|
|
122
97
|
if (typeof fieldDefObj.type === 'string') {
|
|
123
98
|
type = fieldDefObj.type;
|
|
124
99
|
}
|
|
@@ -133,7 +108,6 @@ export class KeystoneIntrospector {
|
|
|
133
108
|
type = constructor.name;
|
|
134
109
|
}
|
|
135
110
|
}
|
|
136
|
-
// Extract common options
|
|
137
111
|
if (fieldDefObj.validation !== undefined)
|
|
138
112
|
options.validation = fieldDefObj.validation;
|
|
139
113
|
if (fieldDefObj.defaultValue !== undefined)
|
|
@@ -147,9 +121,6 @@ export class KeystoneIntrospector {
|
|
|
147
121
|
}
|
|
148
122
|
return { name, type, options };
|
|
149
123
|
}
|
|
150
|
-
/**
|
|
151
|
-
* Convert KeystoneSchema to IntrospectedSchema format
|
|
152
|
-
*/
|
|
153
124
|
convertToIntrospectedSchema(keystoneSchema) {
|
|
154
125
|
const models = keystoneSchema.lists.map((list) => {
|
|
155
126
|
const fields = list.fields.map((field) => {
|
|
@@ -191,9 +162,6 @@ export class KeystoneIntrospector {
|
|
|
191
162
|
enums: [], // KeystoneJS doesn't have enums in the same way
|
|
192
163
|
};
|
|
193
164
|
}
|
|
194
|
-
/**
|
|
195
|
-
* Map KeystoneJS field type to OpenSaaS equivalent
|
|
196
|
-
*/
|
|
197
165
|
mapKeystoneTypeToOpenSaas(keystoneType) {
|
|
198
166
|
// KeystoneJS → OpenSaaS is mostly 1:1
|
|
199
167
|
const mappings = {
|
|
@@ -210,31 +178,23 @@ export class KeystoneIntrospector {
|
|
|
210
178
|
// Storage field types (from @opensaas/stack-storage)
|
|
211
179
|
image: { type: 'image', import: 'image' },
|
|
212
180
|
file: { type: 'file', import: 'file' },
|
|
213
|
-
// Virtual/computed fields
|
|
214
181
|
virtual: { type: 'virtual', import: 'virtual' },
|
|
215
|
-
// Other field types
|
|
216
182
|
calendarDay: { type: 'timestamp', import: 'timestamp' },
|
|
217
183
|
};
|
|
218
184
|
const lower = keystoneType.toLowerCase();
|
|
219
185
|
return mappings[lower] || { type: 'text', import: 'text' };
|
|
220
186
|
}
|
|
221
|
-
/**
|
|
222
|
-
* Get warnings for unsupported features
|
|
223
|
-
*/
|
|
224
187
|
getWarnings(schema) {
|
|
225
188
|
const warnings = [];
|
|
226
189
|
const hasFileOrImageFields = schema.models.some((model) => model.fields.some((field) => ['image', 'file'].includes(field.type.toLowerCase())));
|
|
227
190
|
const hasVirtualFields = schema.models.some((model) => model.fields.some((field) => field.type.toLowerCase() === 'virtual'));
|
|
228
191
|
const hasFloatFields = schema.models.some((model) => model.fields.some((field) => field.type.toLowerCase() === 'float'));
|
|
229
|
-
// Add storage configuration reminder if file/image fields are present
|
|
230
192
|
if (hasFileOrImageFields) {
|
|
231
193
|
warnings.push("Your schema uses file/image fields - you'll need to configure storage providers in your OpenSaaS config");
|
|
232
194
|
}
|
|
233
|
-
// Add virtual field migration reminder
|
|
234
195
|
if (hasVirtualFields) {
|
|
235
196
|
warnings.push("Your schema uses virtual() fields — you'll need to manually migrate these. OpenSaaS Stack has no GraphQL: replace graphql.field({ resolve }) with hooks: { resolveOutput } and declare the field type. See the migration guide or invoke the migrate-virtual-fields skill.");
|
|
236
197
|
}
|
|
237
|
-
// Add float field migration reminder
|
|
238
198
|
if (hasFloatFields) {
|
|
239
199
|
warnings.push('Your schema uses float() fields - these will be mapped to decimal() (a decimal.js Decimal, not a JS number). Review precision/rounding.');
|
|
240
200
|
}
|