@opensaas/stack-cli 0.21.0 → 0.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/commands/generate.d.ts.map +1 -1
- package/dist/commands/generate.js +21 -13
- package/dist/commands/generate.js.map +1 -1
- package/dist/commands/migrate.d.ts +25 -0
- package/dist/commands/migrate.d.ts.map +1 -1
- package/dist/commands/migrate.js +54 -3
- package/dist/commands/migrate.js.map +1 -1
- package/dist/generator/context.d.ts +5 -2
- package/dist/generator/context.d.ts.map +1 -1
- package/dist/generator/context.js +12 -4
- package/dist/generator/context.js.map +1 -1
- package/dist/generator/index.d.ts +2 -0
- package/dist/generator/index.d.ts.map +1 -1
- package/dist/generator/index.js +1 -0
- package/dist/generator/index.js.map +1 -1
- package/dist/generator/output-paths.d.ts +104 -0
- package/dist/generator/output-paths.d.ts.map +1 -0
- package/dist/generator/output-paths.js +94 -0
- package/dist/generator/output-paths.js.map +1 -0
- package/dist/generator/prisma-config.d.ts +5 -2
- package/dist/generator/prisma-config.d.ts.map +1 -1
- package/dist/generator/prisma-config.js +12 -4
- package/dist/generator/prisma-config.js.map +1 -1
- package/dist/generator/prisma-extensions.d.ts +5 -2
- package/dist/generator/prisma-extensions.d.ts.map +1 -1
- package/dist/generator/prisma-extensions.js +12 -4
- package/dist/generator/prisma-extensions.js.map +1 -1
- package/dist/generator/prisma.d.ts +31 -3
- package/dist/generator/prisma.d.ts.map +1 -1
- package/dist/generator/prisma.js +132 -19
- package/dist/generator/prisma.js.map +1 -1
- package/dist/generator/types.d.ts.map +1 -1
- package/dist/generator/types.js +29 -6
- package/dist/generator/types.js.map +1 -1
- package/dist/mcp/lib/wizards/migration-wizard.d.ts.map +1 -1
- package/dist/mcp/lib/wizards/migration-wizard.js +2 -1
- package/dist/mcp/lib/wizards/migration-wizard.js.map +1 -1
- package/dist/migration/generators/migration-generator.d.ts.map +1 -1
- package/dist/migration/generators/migration-generator.js +4 -0
- package/dist/migration/generators/migration-generator.js.map +1 -1
- package/dist/migration/introspectors/keystone-introspector.d.ts.map +1 -1
- package/dist/migration/introspectors/keystone-introspector.js +6 -1
- package/dist/migration/introspectors/keystone-introspector.js.map +1 -1
- package/dist/migration/introspectors/prisma-introspector.d.ts.map +1 -1
- package/dist/migration/introspectors/prisma-introspector.js +4 -1
- package/dist/migration/introspectors/prisma-introspector.js.map +1 -1
- 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/
|
|
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":"
|
|
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
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
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(
|
|
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":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAC5B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,GAAG,MAAM,KAAK,CAAA;AACrB,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AACjC,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,
|
|
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;
|
|
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"}
|
package/dist/commands/migrate.js
CHANGED
|
@@ -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
|
-
- [
|
|
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
|
-
|
|
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,
|
|
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 '
|
|
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;
|
|
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"}
|
package/dist/generator/index.js
CHANGED
|
@@ -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,
|
|
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"}
|