@opensaas/stack-cli 0.21.0 → 0.22.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.
Files changed (48) hide show
  1. package/README.md +1 -1
  2. package/dist/commands/generate.d.ts.map +1 -1
  3. package/dist/commands/generate.js +21 -13
  4. package/dist/commands/generate.js.map +1 -1
  5. package/dist/commands/migrate.d.ts +25 -0
  6. package/dist/commands/migrate.d.ts.map +1 -1
  7. package/dist/commands/migrate.js +54 -3
  8. package/dist/commands/migrate.js.map +1 -1
  9. package/dist/generator/context.d.ts +5 -2
  10. package/dist/generator/context.d.ts.map +1 -1
  11. package/dist/generator/context.js +12 -4
  12. package/dist/generator/context.js.map +1 -1
  13. package/dist/generator/index.d.ts +2 -0
  14. package/dist/generator/index.d.ts.map +1 -1
  15. package/dist/generator/index.js +1 -0
  16. package/dist/generator/index.js.map +1 -1
  17. package/dist/generator/output-paths.d.ts +104 -0
  18. package/dist/generator/output-paths.d.ts.map +1 -0
  19. package/dist/generator/output-paths.js +94 -0
  20. package/dist/generator/output-paths.js.map +1 -0
  21. package/dist/generator/prisma-config.d.ts +5 -2
  22. package/dist/generator/prisma-config.d.ts.map +1 -1
  23. package/dist/generator/prisma-config.js +12 -4
  24. package/dist/generator/prisma-config.js.map +1 -1
  25. package/dist/generator/prisma-extensions.d.ts +5 -2
  26. package/dist/generator/prisma-extensions.d.ts.map +1 -1
  27. package/dist/generator/prisma-extensions.js +12 -4
  28. package/dist/generator/prisma-extensions.js.map +1 -1
  29. package/dist/generator/prisma.d.ts +31 -3
  30. package/dist/generator/prisma.d.ts.map +1 -1
  31. package/dist/generator/prisma.js +132 -19
  32. package/dist/generator/prisma.js.map +1 -1
  33. package/dist/generator/types.d.ts.map +1 -1
  34. package/dist/generator/types.js +29 -6
  35. package/dist/generator/types.js.map +1 -1
  36. package/dist/mcp/lib/wizards/migration-wizard.d.ts.map +1 -1
  37. package/dist/mcp/lib/wizards/migration-wizard.js +2 -1
  38. package/dist/mcp/lib/wizards/migration-wizard.js.map +1 -1
  39. package/dist/migration/generators/migration-generator.d.ts.map +1 -1
  40. package/dist/migration/generators/migration-generator.js +4 -0
  41. package/dist/migration/generators/migration-generator.js.map +1 -1
  42. package/dist/migration/introspectors/keystone-introspector.d.ts.map +1 -1
  43. package/dist/migration/introspectors/keystone-introspector.js +6 -1
  44. package/dist/migration/introspectors/keystone-introspector.js.map +1 -1
  45. package/dist/migration/introspectors/prisma-introspector.d.ts.map +1 -1
  46. package/dist/migration/introspectors/prisma-introspector.js +4 -1
  47. package/dist/migration/introspectors/prisma-introspector.js.map +1 -1
  48. package/package.json +2 -2
package/README.md CHANGED
@@ -217,7 +217,7 @@ opensaas migrate --type prisma --with-ai
217
217
 
218
218
  Without `--with-ai`, the command provides project analysis and you create the config manually.
219
219
 
220
- **See also:** [Migration Guide](https://stack.opensaas.au/docs/guides/migration)
220
+ **See also:** [Migration Guide](https://stack.opensaas.au/docs/guides/migrating-from-keystone)
221
221
 
222
222
  ## Usage in Projects
223
223
 
@@ -1 +1 @@
1
- {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAA;AAEtE;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,0BAA0B,EAAE,GAAG,MAAM,CAcxF;AAED,wBAAsB,eAAe,kBAmMpC"}
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAA;AAEtE;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,0BAA0B,EAAE,GAAG,MAAM,CAcxF;AAED,wBAAsB,eAAe,kBA4MpC"}
@@ -4,7 +4,7 @@ import { execSync } from 'child_process';
4
4
  import chalk from 'chalk';
5
5
  import ora from 'ora';
6
6
  import { createJiti } from 'jiti';
7
- import { writePrismaSchema, writePrismaConfig, writeTypes, writeLists, writeContext, writePluginTypes, writePrismaExtensions, } from '../generator/index.js';
7
+ import { writePrismaSchema, writePrismaConfig, writeTypes, writeLists, writeContext, writePluginTypes, writePrismaExtensions, resolveOutputPaths, } from '../generator/index.js';
8
8
  import { validateConfigFields } from '@opensaas/stack-core';
9
9
  /**
10
10
  * Format field self-containment errors into a friendly, multi-line message.
@@ -82,20 +82,28 @@ export async function generateCommand() {
82
82
  // Generate Prisma schema, types, and context
83
83
  const generatorSpinner = ora('Generating schema and types...').start();
84
84
  try {
85
- const prismaSchemaPath = path.join(cwd, 'prisma', 'schema.prisma');
86
- const prismaConfigPath = path.join(cwd, 'prisma.config.ts');
87
- const typesPath = path.join(cwd, '.opensaas', 'types.ts');
88
- const listsPath = path.join(cwd, '.opensaas', 'lists.ts');
89
- const contextPath = path.join(cwd, '.opensaas', 'context.ts');
90
- const pluginTypesPath = path.join(cwd, '.opensaas', 'plugin-types.ts');
91
- const prismaExtensionsPath = path.join(cwd, '.opensaas', 'prisma-extensions.ts');
92
- writePrismaSchema(config, prismaSchemaPath);
93
- writePrismaConfig(config, prismaConfigPath);
85
+ // Resolve write paths and the relative cross-references between generated
86
+ // files from the (optional) `output` config block. The pre-existing
87
+ // top-level `opensaasPath` option is forwarded as the bundle-directory
88
+ // fallback so it keeps working through the CLI when `output.opensaasDir`
89
+ // is not set (precedence: `output.opensaasDir` > `opensaasPath` >
90
+ // default). With neither set this yields the historical defaults
91
+ // (`prisma/schema.prisma`, `.opensaas/`) byte-for-byte.
92
+ const { paths, crossReferences } = resolveOutputPaths(cwd, config.output, config.opensaasPath);
93
+ const prismaSchemaPath = paths.prismaSchema;
94
+ const prismaConfigPath = paths.prismaConfig;
95
+ const typesPath = paths.types;
96
+ const listsPath = paths.lists;
97
+ const contextPath = paths.context;
98
+ const pluginTypesPath = paths.pluginTypes;
99
+ const prismaExtensionsPath = paths.prismaExtensions;
100
+ writePrismaSchema(config, prismaSchemaPath, crossReferences.prismaClientOutput);
101
+ writePrismaConfig(config, prismaConfigPath, crossReferences.prismaConfigSchema);
94
102
  writeTypes(config, typesPath);
95
103
  writeLists(config, listsPath);
96
- writeContext(config, contextPath);
104
+ writeContext(config, contextPath, crossReferences.configImport);
97
105
  writePluginTypes(config, pluginTypesPath);
98
- writePrismaExtensions(config, prismaExtensionsPath);
106
+ writePrismaExtensions(config, prismaExtensionsPath, crossReferences.configImport);
99
107
  generatorSpinner.succeed(chalk.green('Schema generation complete'));
100
108
  console.log(chalk.green('✅ Prisma schema generated'));
101
109
  console.log(chalk.green('✅ Prisma config generated'));
@@ -130,7 +138,7 @@ export async function generateCommand() {
130
138
  // Write any additional files plugins generated
131
139
  for (const [filename, content] of Object.entries(modifiedFiles)) {
132
140
  if (!['prismaSchema', 'types', 'context'].includes(filename)) {
133
- const filePath = path.join(cwd, '.opensaas', filename);
141
+ const filePath = path.join(paths.opensaasDir, filename);
134
142
  fs.writeFileSync(filePath, content);
135
143
  console.log(chalk.green(`✅ Plugin generated: ${filename}`));
136
144
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,31 @@
2
2
  * Migration command - Helps migrate existing projects to OpenSaaS Stack
3
3
  */
4
4
  import { Command } from 'commander';
5
+ /**
6
+ * Canonical published Keystone → OpenSaaS Stack migration guide URL.
7
+ *
8
+ * The CLI points migrators at this page rather than embedding the guide text,
9
+ * so the binary stays small and the docs stay the single source of truth.
10
+ */
11
+ export declare const MIGRATION_GUIDE_URL = "https://stack.opensaas.au/docs/guides/migrating-from-keystone";
12
+ /**
13
+ * Claude Code marketplace + plugin identifiers used to install the
14
+ * `opensaas-migration` plugin (its skills, commands, and agent).
15
+ */
16
+ export declare const MIGRATION_PLUGIN_ID = "opensaas-migration@opensaas-stack-marketplace";
17
+ export declare const MIGRATION_MARKETPLACE = "OpenSaasAU/stack";
18
+ /**
19
+ * Manual install steps for the `opensaas-migration` Claude Code plugin.
20
+ * These are slash commands run inside Claude Code; `opensaas migrate --with-ai`
21
+ * wires them up automatically instead.
22
+ */
23
+ export declare const MIGRATION_PLUGIN_INSTALL_STEPS: readonly string[];
24
+ /**
25
+ * Print the published migration guide URL and how to install the
26
+ * `opensaas-migration` plugin. Kept lightweight on purpose — it points at the
27
+ * canonical guide instead of duplicating its contents.
28
+ */
29
+ export declare function printMigrationResources(): void;
5
30
  /**
6
31
  * Create the migrate command for Commander
7
32
  */
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/commands/migrate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAqVnC;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAkB9C"}
1
+ {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/commands/migrate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAYnC;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,kEAAkE,CAAA;AAElG;;;GAGG;AACH,eAAO,MAAM,mBAAmB,kDAAkD,CAAA;AAClF,eAAO,MAAM,qBAAqB,qBAAqB,CAAA;AAEvD;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,EAAE,SAAS,MAAM,EAG3D,CAAA;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAI,IAAI,CAW9C;AA4UD;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAkC9C"}
@@ -6,6 +6,44 @@ import * as fs from 'fs';
6
6
  import * as path from 'path';
7
7
  import chalk from 'chalk';
8
8
  import ora from 'ora';
9
+ /**
10
+ * Canonical published Keystone → OpenSaaS Stack migration guide URL.
11
+ *
12
+ * The CLI points migrators at this page rather than embedding the guide text,
13
+ * so the binary stays small and the docs stay the single source of truth.
14
+ */
15
+ export const MIGRATION_GUIDE_URL = 'https://stack.opensaas.au/docs/guides/migrating-from-keystone';
16
+ /**
17
+ * Claude Code marketplace + plugin identifiers used to install the
18
+ * `opensaas-migration` plugin (its skills, commands, and agent).
19
+ */
20
+ export const MIGRATION_PLUGIN_ID = 'opensaas-migration@opensaas-stack-marketplace';
21
+ export const MIGRATION_MARKETPLACE = 'OpenSaasAU/stack';
22
+ /**
23
+ * Manual install steps for the `opensaas-migration` Claude Code plugin.
24
+ * These are slash commands run inside Claude Code; `opensaas migrate --with-ai`
25
+ * wires them up automatically instead.
26
+ */
27
+ export const MIGRATION_PLUGIN_INSTALL_STEPS = [
28
+ `/plugin marketplace add ${MIGRATION_MARKETPLACE}`,
29
+ `/plugin install ${MIGRATION_PLUGIN_ID}`,
30
+ ];
31
+ /**
32
+ * Print the published migration guide URL and how to install the
33
+ * `opensaas-migration` plugin. Kept lightweight on purpose — it points at the
34
+ * canonical guide instead of duplicating its contents.
35
+ */
36
+ export function printMigrationResources() {
37
+ console.log(chalk.bold('\n📚 Migration guide:\n'));
38
+ console.log(chalk.cyan(` ${MIGRATION_GUIDE_URL}`));
39
+ console.log(chalk.bold('\n🔌 Install the opensaas-migration plugin (skills + commands):\n'));
40
+ console.log(chalk.dim(' Automatic (sets up Claude Code for you):'));
41
+ console.log(chalk.cyan(' npx @opensaas/stack-cli migrate --with-ai'));
42
+ console.log(chalk.dim(' Manual (run inside Claude Code):'));
43
+ for (const step of MIGRATION_PLUGIN_INSTALL_STEPS) {
44
+ console.log(chalk.cyan(` ${step}`));
45
+ }
46
+ }
9
47
  /**
10
48
  * Detect what type of project this is
11
49
  */
@@ -178,7 +216,7 @@ When you open this project in Claude Code, the MCP server will be automatically
178
216
  ## Resources
179
217
 
180
218
  - [OpenSaaS Stack Documentation](https://stack.opensaas.au/)
181
- - [Migration Guide](https://stack.opensaas.au/docs/guides/migration)
219
+ - [Migrating from Keystone (canonical guide)](${MIGRATION_GUIDE_URL})
182
220
  - [GitHub Repository](https://github.com/OpenSaasAU/stack)
183
221
 
184
222
  ---
@@ -269,9 +307,10 @@ async function migrateCommand(options) {
269
307
  console.log(chalk.bold('📝 Next Steps:\n'));
270
308
  console.log(chalk.cyan(' 1. Run with --with-ai for AI-guided migration'));
271
309
  console.log(chalk.cyan(' 2. Or manually create opensaas.config.ts'));
272
- console.log(chalk.dim('\n See: https://stack.opensaas.au/docs/guides/migration'));
273
310
  }
274
- console.log(chalk.dim(`\n📚 Documentation: https://stack.opensaas.au/docs/guides/migration\n`));
311
+ // Always surface the canonical guide + plugin install pointers.
312
+ printMigrationResources();
313
+ console.log();
275
314
  }
276
315
  /**
277
316
  * Create the migrate command for Commander
@@ -279,6 +318,18 @@ async function migrateCommand(options) {
279
318
  export function createMigrateCommand() {
280
319
  const migrate = new Command('migrate');
281
320
  migrate.description('Migrate an existing project to OpenSaaS Stack');
321
+ // Surface the canonical guide + plugin install pointers in `--help`, so the
322
+ // resources are discoverable without running a full migration.
323
+ migrate.addHelpText('after', [
324
+ '',
325
+ 'Migration guide:',
326
+ ` ${MIGRATION_GUIDE_URL}`,
327
+ '',
328
+ 'Install the opensaas-migration plugin (skills + commands):',
329
+ ' Automatic: npx @opensaas/stack-cli migrate --with-ai',
330
+ ' Manual (inside Claude Code):',
331
+ ...MIGRATION_PLUGIN_INSTALL_STEPS.map((step) => ` ${step}`),
332
+ ].join('\n'));
282
333
  migrate
283
334
  .option('--with-ai', 'Enable AI-guided migration with Claude Code')
284
335
  .option('--type <type>', 'Force project type (prisma, nextjs, keystone)')
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/commands/migrate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/commands/migrate.ts"],"names":[],"mappings":"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"}
@@ -5,9 +5,12 @@ import type { OpenSaasConfig } from '@opensaas/stack-core';
5
5
  * Creates a simple API with getContext() and getContextWithSession(session)
6
6
  * that internally handles Prisma singleton and config imports.
7
7
  */
8
- export declare function generateContext(config: OpenSaasConfig): string;
8
+ export declare function generateContext(config: OpenSaasConfig, configImport?: string): string;
9
9
  /**
10
10
  * Write context factory to file
11
+ *
12
+ * @param configImport - Optional override for the `opensaas.config` import
13
+ * specifier, forwarded to {@link generateContext}.
11
14
  */
12
- export declare function writeContext(config: OpenSaasConfig, outputPath: string): void;
15
+ export declare function writeContext(config: OpenSaasConfig, outputPath: string, configImport?: string): void;
13
16
  //# sourceMappingURL=context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/generator/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAI1D;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAuM9D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAU7E"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/generator/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAI1D;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CA6MrF;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,MAAM,EAClB,YAAY,CAAC,EAAE,MAAM,GACpB,IAAI,CAUN"}
@@ -6,7 +6,12 @@ import * as path from 'path';
6
6
  * Creates a simple API with getContext() and getContextWithSession(session)
7
7
  * that internally handles Prisma singleton and config imports.
8
8
  */
9
- export function generateContext(config) {
9
+ export function generateContext(config, configImport) {
10
+ // Module specifier for importing the project's opensaas.config from inside
11
+ // the `.opensaas` bundle. Defaults to the legacy `../opensaas.config` (bundle
12
+ // one level below the project root); the output-path resolver supplies a
13
+ // recomputed value when the bundle is relocated via the `output` config block.
14
+ const configImportPath = configImport ?? '../opensaas.config';
10
15
  // Check if custom Prisma client constructor is provided
11
16
  const hasCustomConstructor = !!config.db.prismaClientConstructor;
12
17
  // Check if storage is configured
@@ -116,7 +121,7 @@ import type { Session as OpensaasSession, OpenSaasConfig } from '@opensaas/stack
116
121
  import { PrismaClient } from './prisma-client/client'
117
122
  import type { Context } from './types'
118
123
  import { prismaExtensions } from './prisma-extensions'
119
- import configOrPromise from '../opensaas.config'
124
+ import configOrPromise from '${configImportPath}'
120
125
 
121
126
  // Resolve config if it's a Promise (when plugins are present)
122
127
  const configPromise = Promise.resolve(configOrPromise)
@@ -204,9 +209,12 @@ export const config = getConfig()
204
209
  }
205
210
  /**
206
211
  * Write context factory to file
212
+ *
213
+ * @param configImport - Optional override for the `opensaas.config` import
214
+ * specifier, forwarded to {@link generateContext}.
207
215
  */
208
- export function writeContext(config, outputPath) {
209
- const content = generateContext(config);
216
+ export function writeContext(config, outputPath, configImport) {
217
+ const content = generateContext(config, configImport);
210
218
  // Ensure directory exists
211
219
  const dir = path.dirname(outputPath);
212
220
  if (!fs.existsSync(dir)) {
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/generator/context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAE5B;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,MAAsB;IACpD,wDAAwD;IACxD,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,uBAAuB,CAAA;IAEhE,iCAAiC;IACjC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;IAE7E,gDAAgD;IAChD,0EAA0E;IAC1E,MAAM,mBAAmB,GAAG,oBAAoB;QAC9C,CAAC,CAAC,0DAA0D;QAC5D,CAAC,CAAC;;;;;;;;;;;;;;;SAeG,CAAA;IAEP,sDAAsD;IACtD,MAAM,gBAAgB,GAAG,UAAU;QACjC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgDL;QACG,CAAC,CAAC;;;;;;;;;;;;;;;;;;CAkBL,CAAA;IAEC,2CAA2C;IAC3C,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAyCgB,mBAAmB;;;;;;;;;;;;;;EAc1C,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CjB,CAAA;AACD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,MAAsB,EAAE,UAAkB;IACrE,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,CAAA;IAEvC,0BAA0B;IAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IACpC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACxC,CAAC;IAED,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;AAChD,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/generator/context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAE5B;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,MAAsB,EAAE,YAAqB;IAC3E,2EAA2E;IAC3E,8EAA8E;IAC9E,yEAAyE;IACzE,+EAA+E;IAC/E,MAAM,gBAAgB,GAAG,YAAY,IAAI,oBAAoB,CAAA;IAE7D,wDAAwD;IACxD,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,uBAAuB,CAAA;IAEhE,iCAAiC;IACjC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;IAE7E,gDAAgD;IAChD,0EAA0E;IAC1E,MAAM,mBAAmB,GAAG,oBAAoB;QAC9C,CAAC,CAAC,0DAA0D;QAC5D,CAAC,CAAC;;;;;;;;;;;;;;;SAeG,CAAA;IAEP,sDAAsD;IACtD,MAAM,gBAAgB,GAAG,UAAU;QACjC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgDL;QACG,CAAC,CAAC;;;;;;;;;;;;;;;;;;CAkBL,CAAA;IAEC,2CAA2C;IAC3C,OAAO;;;;;;;;;;;;;;+BAcsB,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;yBA2BtB,mBAAmB;;;;;;;;;;;;;;EAc1C,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CjB,CAAA;AACD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAC1B,MAAsB,EACtB,UAAkB,EAClB,YAAqB;IAErB,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IAErD,0BAA0B;IAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IACpC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACxC,CAAC;IAED,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;AAChD,CAAC"}
@@ -5,4 +5,6 @@ export { generateListsNamespace, writeLists } from './lists.js';
5
5
  export { generateContext, writeContext } from './context.js';
6
6
  export { generatePluginTypes, writePluginTypes } from './plugin-types.js';
7
7
  export { generatePrismaExtensions, writePrismaExtensions } from './prisma-extensions.js';
8
+ export { resolveOutputPaths, DEFAULT_PRISMA_SCHEMA, DEFAULT_OPENSAAS_DIR, OPENSAAS_FILES, } from './output-paths.js';
9
+ export type { ResolvedOutputPaths, ResolvedWritePaths, ResolvedCrossReferences, } from './output-paths.js';
8
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AACrE,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC5E,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACtD,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC5D,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACzE,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AACrE,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC5E,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACtD,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC5D,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACzE,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AACxF,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,cAAc,GACf,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EACV,mBAAmB,EACnB,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,mBAAmB,CAAA"}
@@ -5,4 +5,5 @@ export { generateListsNamespace, writeLists } from './lists.js';
5
5
  export { generateContext, writeContext } from './context.js';
6
6
  export { generatePluginTypes, writePluginTypes } from './plugin-types.js';
7
7
  export { generatePrismaExtensions, writePrismaExtensions } from './prisma-extensions.js';
8
+ export { resolveOutputPaths, DEFAULT_PRISMA_SCHEMA, DEFAULT_OPENSAAS_DIR, OPENSAAS_FILES, } from './output-paths.js';
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AACrE,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC5E,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACtD,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC5D,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACzE,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AACrE,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC5E,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACtD,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC5D,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACzE,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AACxF,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,cAAc,GACf,MAAM,mBAAmB,CAAA"}
@@ -0,0 +1,104 @@
1
+ import type { OutputConfig } from '@opensaas/stack-core';
2
+ /**
3
+ * Default output locations, relative to the project root. Keeping these here
4
+ * (rather than scattering string literals across the generator) means the
5
+ * "no `output` block" path is byte-identical to the historical behaviour.
6
+ */
7
+ export declare const DEFAULT_PRISMA_SCHEMA = "prisma/schema.prisma";
8
+ export declare const DEFAULT_OPENSAAS_DIR = ".opensaas";
9
+ /**
10
+ * The five files written into the `.opensaas` bundle directory, plus the
11
+ * sub-path of the patched Prisma client. These names are not configurable —
12
+ * only the directory that holds them moves.
13
+ */
14
+ export declare const OPENSAAS_FILES: {
15
+ readonly types: "types.ts";
16
+ readonly lists: "lists.ts";
17
+ readonly context: "context.ts";
18
+ readonly pluginTypes: "plugin-types.ts";
19
+ readonly prismaExtensions: "prisma-extensions.ts";
20
+ readonly prismaClient: "prisma-client";
21
+ };
22
+ /**
23
+ * Absolute write paths for every file the generator emits.
24
+ */
25
+ export interface ResolvedWritePaths {
26
+ /** Absolute path to the Prisma schema file. */
27
+ prismaSchema: string;
28
+ /** Absolute path to the top-level `prisma.config.ts` (never relocated). */
29
+ prismaConfig: string;
30
+ /** Absolute path to the resolved `.opensaas` bundle directory. */
31
+ opensaasDir: string;
32
+ /** Absolute path to `<opensaasDir>/types.ts`. */
33
+ types: string;
34
+ /** Absolute path to `<opensaasDir>/lists.ts`. */
35
+ lists: string;
36
+ /** Absolute path to `<opensaasDir>/context.ts`. */
37
+ context: string;
38
+ /** Absolute path to `<opensaasDir>/plugin-types.ts`. */
39
+ pluginTypes: string;
40
+ /** Absolute path to `<opensaasDir>/prisma-extensions.ts`. */
41
+ prismaExtensions: string;
42
+ }
43
+ /**
44
+ * Relative cross-references baked into the generated files. These follow the
45
+ * configured locations so the emitted code resolves regardless of where the
46
+ * schema and bundle live.
47
+ */
48
+ export interface ResolvedCrossReferences {
49
+ /**
50
+ * Module specifier for `prisma.config.ts`'s `schema` field — the schema
51
+ * *directory* relative to the project root (Prisma resolves a directory or a
52
+ * `.prisma` file). POSIX separators so the value is stable across platforms.
53
+ * @example "prisma" | "prisma-opensaas"
54
+ */
55
+ prismaConfigSchema: string;
56
+ /**
57
+ * Module specifier for the Prisma client `generator { output }` block — the
58
+ * patched client directory relative to the schema *file's* directory.
59
+ * @example "../.opensaas/prisma-client"
60
+ */
61
+ prismaClientOutput: string;
62
+ /**
63
+ * Module specifier for importing `opensaas.config` from inside the bundle
64
+ * (used by `context.ts` and `prisma-extensions.ts`) — relative to the
65
+ * `.opensaas` directory.
66
+ * @example "../opensaas.config"
67
+ */
68
+ configImport: string;
69
+ }
70
+ /**
71
+ * Resolved output paths plus the cross-references the generated files embed.
72
+ */
73
+ export interface ResolvedOutputPaths {
74
+ paths: ResolvedWritePaths;
75
+ crossReferences: ResolvedCrossReferences;
76
+ }
77
+ /**
78
+ * Pure resolver: given the project root and the user's `output` config, compute
79
+ * where every generated file is written and the relative cross-references that
80
+ * tie them together. Performs no I/O.
81
+ *
82
+ * `.opensaas` bundle directory precedence (highest first):
83
+ * 1. `output.opensaasDir` (the new `output` block)
84
+ * 2. `opensaasPathFallback` — the pre-existing top-level `config.opensaasPath`
85
+ * option, preserved so setting it alone still relocates the bundle through
86
+ * the CLI exactly as before
87
+ * 3. the default `.opensaas`
88
+ *
89
+ * Cross-reference computation:
90
+ * - `prismaConfigSchema` — the schema *directory* relative to the project root,
91
+ * so the top-level `prisma.config.ts` points the Prisma CLI at the relocated
92
+ * schema.
93
+ * - `prismaClientOutput` — the patched client directory relative to the schema
94
+ * *file's* directory, since Prisma's `generator { output }` is resolved from
95
+ * the schema file.
96
+ * - `configImport` — `opensaas.config` relative to the `.opensaas` directory,
97
+ * since `context.ts`/`prisma-extensions.ts` live inside the bundle and import
98
+ * the project's config by relative path.
99
+ *
100
+ * @param opensaasPathFallback - The pre-existing `config.opensaasPath` value,
101
+ * used as the bundle directory when no `output.opensaasDir` is set.
102
+ */
103
+ export declare function resolveOutputPaths(cwd: string, output?: OutputConfig, opensaasPathFallback?: string): ResolvedOutputPaths;
104
+ //# sourceMappingURL=output-paths.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output-paths.d.ts","sourceRoot":"","sources":["../../src/generator/output-paths.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAExD;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,yBAAyB,CAAA;AAC3D,eAAO,MAAM,oBAAoB,cAAc,CAAA;AAE/C;;;;GAIG;AACH,eAAO,MAAM,cAAc;;;;;;;CAOjB,CAAA;AAEV;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,+CAA+C;IAC/C,YAAY,EAAE,MAAM,CAAA;IACpB,2EAA2E;IAC3E,YAAY,EAAE,MAAM,CAAA;IACpB,kEAAkE;IAClE,WAAW,EAAE,MAAM,CAAA;IACnB,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAA;IACb,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAA;IACb,mDAAmD;IACnD,OAAO,EAAE,MAAM,CAAA;IACf,wDAAwD;IACxD,WAAW,EAAE,MAAM,CAAA;IACnB,6DAA6D;IAC7D,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAED;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;;;OAKG;IACH,kBAAkB,EAAE,MAAM,CAAA;IAC1B;;;;OAIG;IACH,kBAAkB,EAAE,MAAM,CAAA;IAC1B;;;;;OAKG;IACH,YAAY,EAAE,MAAM,CAAA;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,kBAAkB,CAAA;IACzB,eAAe,EAAE,uBAAuB,CAAA;CACzC;AAoBD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,YAAY,EACrB,oBAAoB,CAAC,EAAE,MAAM,GAC5B,mBAAmB,CAmCrB"}
@@ -0,0 +1,94 @@
1
+ import * as path from 'path';
2
+ /**
3
+ * Default output locations, relative to the project root. Keeping these here
4
+ * (rather than scattering string literals across the generator) means the
5
+ * "no `output` block" path is byte-identical to the historical behaviour.
6
+ */
7
+ export const DEFAULT_PRISMA_SCHEMA = 'prisma/schema.prisma';
8
+ export const DEFAULT_OPENSAAS_DIR = '.opensaas';
9
+ /**
10
+ * The five files written into the `.opensaas` bundle directory, plus the
11
+ * sub-path of the patched Prisma client. These names are not configurable —
12
+ * only the directory that holds them moves.
13
+ */
14
+ export const OPENSAAS_FILES = {
15
+ types: 'types.ts',
16
+ lists: 'lists.ts',
17
+ context: 'context.ts',
18
+ pluginTypes: 'plugin-types.ts',
19
+ prismaExtensions: 'prisma-extensions.ts',
20
+ prismaClient: 'prisma-client',
21
+ };
22
+ /**
23
+ * Convert a (possibly Windows) relative path into a POSIX module specifier and
24
+ * ensure it stays explicitly relative where a bare segment would otherwise be
25
+ * read as a bare module specifier.
26
+ */
27
+ function toModuleSpecifier(relative, { allowBare }) {
28
+ const posix = relative.split(path.sep).join('/');
29
+ if (allowBare) {
30
+ // A directory reference for prisma.config's `schema` field — bare is fine,
31
+ // but a schema at the project root yields an empty relative path, which
32
+ // Prisma would reject; emit `.` instead.
33
+ return posix === '' ? '.' : posix;
34
+ }
35
+ // An import specifier — must be explicitly relative so it isn't treated as a
36
+ // node_modules package.
37
+ return posix.startsWith('.') ? posix : `./${posix}`;
38
+ }
39
+ /**
40
+ * Pure resolver: given the project root and the user's `output` config, compute
41
+ * where every generated file is written and the relative cross-references that
42
+ * tie them together. Performs no I/O.
43
+ *
44
+ * `.opensaas` bundle directory precedence (highest first):
45
+ * 1. `output.opensaasDir` (the new `output` block)
46
+ * 2. `opensaasPathFallback` — the pre-existing top-level `config.opensaasPath`
47
+ * option, preserved so setting it alone still relocates the bundle through
48
+ * the CLI exactly as before
49
+ * 3. the default `.opensaas`
50
+ *
51
+ * Cross-reference computation:
52
+ * - `prismaConfigSchema` — the schema *directory* relative to the project root,
53
+ * so the top-level `prisma.config.ts` points the Prisma CLI at the relocated
54
+ * schema.
55
+ * - `prismaClientOutput` — the patched client directory relative to the schema
56
+ * *file's* directory, since Prisma's `generator { output }` is resolved from
57
+ * the schema file.
58
+ * - `configImport` — `opensaas.config` relative to the `.opensaas` directory,
59
+ * since `context.ts`/`prisma-extensions.ts` live inside the bundle and import
60
+ * the project's config by relative path.
61
+ *
62
+ * @param opensaasPathFallback - The pre-existing `config.opensaasPath` value,
63
+ * used as the bundle directory when no `output.opensaasDir` is set.
64
+ */
65
+ export function resolveOutputPaths(cwd, output, opensaasPathFallback) {
66
+ const prismaSchemaRel = output?.prismaSchema ?? DEFAULT_PRISMA_SCHEMA;
67
+ const opensaasDirRel = output?.opensaasDir ?? opensaasPathFallback ?? DEFAULT_OPENSAAS_DIR;
68
+ const prismaSchemaAbs = path.resolve(cwd, prismaSchemaRel);
69
+ const opensaasDirAbs = path.resolve(cwd, opensaasDirRel);
70
+ const schemaDirAbs = path.dirname(prismaSchemaAbs);
71
+ const prismaClientAbs = path.join(opensaasDirAbs, OPENSAAS_FILES.prismaClient);
72
+ const paths = {
73
+ prismaSchema: prismaSchemaAbs,
74
+ // prisma.config.ts is always written at the project root (not configurable).
75
+ prismaConfig: path.resolve(cwd, 'prisma.config.ts'),
76
+ opensaasDir: opensaasDirAbs,
77
+ types: path.join(opensaasDirAbs, OPENSAAS_FILES.types),
78
+ lists: path.join(opensaasDirAbs, OPENSAAS_FILES.lists),
79
+ context: path.join(opensaasDirAbs, OPENSAAS_FILES.context),
80
+ pluginTypes: path.join(opensaasDirAbs, OPENSAAS_FILES.pluginTypes),
81
+ prismaExtensions: path.join(opensaasDirAbs, OPENSAAS_FILES.prismaExtensions),
82
+ };
83
+ const crossReferences = {
84
+ prismaConfigSchema: toModuleSpecifier(path.relative(cwd, schemaDirAbs), { allowBare: true }),
85
+ prismaClientOutput: toModuleSpecifier(path.relative(schemaDirAbs, prismaClientAbs), {
86
+ allowBare: false,
87
+ }),
88
+ configImport: toModuleSpecifier(path.join(path.relative(opensaasDirAbs, cwd), 'opensaas.config'), {
89
+ allowBare: false,
90
+ }),
91
+ };
92
+ return { paths, crossReferences };
93
+ }
94
+ //# sourceMappingURL=output-paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output-paths.js","sourceRoot":"","sources":["../../src/generator/output-paths.ts"],"names":[],"mappings":"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"}
@@ -22,9 +22,12 @@ import type { OpenSaasConfig } from '@opensaas/stack-core';
22
22
  * the `??` fallback. The local helper returns `undefined` for missing variables
23
23
  * so the fallback can take effect.
24
24
  */
25
- export declare function generatePrismaConfig(_config: OpenSaasConfig): string;
25
+ export declare function generatePrismaConfig(_config: OpenSaasConfig, schemaPath?: string): string;
26
26
  /**
27
27
  * Write Prisma config to file
28
+ *
29
+ * @param schemaPath - Optional override for the `schema` field, forwarded to
30
+ * {@link generatePrismaConfig}.
28
31
  */
29
- export declare function writePrismaConfig(config: OpenSaasConfig, outputPath: string): void;
32
+ export declare function writePrismaConfig(config: OpenSaasConfig, outputPath: string, schemaPath?: string): void;
30
33
  //# sourceMappingURL=prisma-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prisma-config.d.ts","sourceRoot":"","sources":["../../src/generator/prisma-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAI1D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAsBpE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAUlF"}
1
+ {"version":3,"file":"prisma-config.d.ts","sourceRoot":"","sources":["../../src/generator/prisma-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAI1D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,cAAc,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CA4BzF;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,MAAM,GAClB,IAAI,CAUN"}