@opensaas/stack-cli 0.23.0 → 0.25.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.
@@ -0,0 +1,258 @@
1
+ import * as path from 'path';
2
+ import * as fs from 'fs';
3
+ import ts from 'typescript';
4
+ /**
5
+ * The **Node build** (ADR-0011): an opt-in, plain-Node-loadable form of the
6
+ * Generated bundle, compiled to `<opensaasDir>/dist/` alongside the default
7
+ * `.ts` bundler form (ADR-0008).
8
+ *
9
+ * Why this exists
10
+ * ---------------
11
+ * The default `.opensaas/` bundle ships as TypeScript with explicit `.ts`
12
+ * import extensions so the host's bundler traces and transpiles it. That form
13
+ * cannot execute under plain Node (`Cannot use import statement outside a
14
+ * module`, and `.ts` specifiers don't resolve). A live module that must run in
15
+ * BOTH a bundled and a bundler-less runtime — better-auth's Prisma adapter,
16
+ * imported by the Next server AND by a Playwright e2e helper / build-time
17
+ * script — therefore has no Node-loadable entry to point at. Setting
18
+ * `output: { buildTarget: 'node' }` emits one.
19
+ *
20
+ * What it emits
21
+ * -------------
22
+ * A compiled ESM build under `<opensaasDir>/dist/`:
23
+ * - `context.js` — the compiled entry (mirrors `<opensaasDir>/context.ts`)
24
+ * - `prisma-client/**` — the compiled Prisma client subtree
25
+ * - `opensaas.config.js` — the project config, compiled in as a sibling of
26
+ * `context.js` so the entry's config import resolves without reaching
27
+ * outside `dist/`
28
+ * - matching `.d.ts` declarations
29
+ * - `package.json` containing exactly `{"type":"module"}` so the emitted
30
+ * `.js` are unambiguous ESM regardless of the host package's `type`
31
+ *
32
+ * How the layout is achieved
33
+ * --------------------------
34
+ * The on-disk `context.ts`/`prisma-extensions.ts` import the project config via
35
+ * `../opensaas.config.ts` — one level ABOVE `<opensaasDir>`, outside the compile
36
+ * root. To keep the compiled entry at `<opensaasDir>/dist/context.js` (per
37
+ * ADR-0011) with a config import that resolves inside `dist/`, we stage the
38
+ * bundle plus a copy of `opensaas.config.ts` into a hidden source directory
39
+ * inside the bundle, rewrite the bundle's relative `opensaas.config` imports
40
+ * (of any `../` depth) to the sibling `./opensaas.config.ts`, and compile that
41
+ * staging root to
42
+ * `<opensaasDir>/dist/`. Staging inside the project (rather than a temp dir)
43
+ * keeps `node_modules` resolution intact so `@opensaas/*` and `@prisma/*`
44
+ * resolve during the type-check pass. The staging directory is removed after
45
+ * the emit.
46
+ *
47
+ * `rewriteRelativeImportExtensions` turns the bundle's `.ts`-extension imports
48
+ * into runnable `.js` specifiers; `skipLibCheck` + `noEmitOnError: false` keep
49
+ * third-party `.d.ts` noise (and the host's `@/*` path alias in the config,
50
+ * which is type-only and elided from JS) from blocking emit.
51
+ */
52
+ /** Bundle files copied into the staging root before compilation. */
53
+ const STAGED_BUNDLE_FILES = [
54
+ 'context.ts',
55
+ 'types.ts',
56
+ 'lists.ts',
57
+ 'plugin-types.ts',
58
+ 'prisma-extensions.ts',
59
+ ];
60
+ /** The compiled Prisma client subtree, copied wholesale into the staging root. */
61
+ const PRISMA_CLIENT_DIR = 'prisma-client';
62
+ /** Name of the project config file copied into the staging root. */
63
+ const CONFIG_FILENAME = 'opensaas.config.ts';
64
+ /** Hidden staging directory created inside the bundle during compilation. */
65
+ const STAGING_DIRNAME = '.node-build';
66
+ /** Output directory name for the compiled Node build. */
67
+ const DIST_DIRNAME = 'dist';
68
+ /**
69
+ * Matches a relative config specifier of ANY depth — one-or-more `../` segments
70
+ * followed by `opensaas.config` (with or without a `.ts`/`.js` extension), in
71
+ * either quote style. The generator emits that specifier from a configurable
72
+ * source (`configImport ?? '../opensaas.config'` in `context.ts`/
73
+ * `prisma-extensions.ts`), so a non-default project layout (e.g. a deeper
74
+ * `../../opensaas.config.ts`) would otherwise make a literal-string rewrite
75
+ * silently no-op. Capture group 1 preserves the quote style.
76
+ */
77
+ const CONFIG_IMPORT_RE = /(['"])(?:\.\.\/)+opensaas\.config(?:\.ts|\.js)?\1/g;
78
+ /**
79
+ * The sibling specifier the config import is rewritten to so the compiled entry
80
+ * imports the config from inside `dist/`. Mirrors the source `.ts` extension
81
+ * (TypeScript's `rewriteRelativeImportExtensions` turns it into `.js` on emit).
82
+ */
83
+ const CONFIG_IMPORT_TO = './opensaas.config.ts';
84
+ /**
85
+ * Detects a relative config import that still escapes the staging/`dist` root
86
+ * after the rewrite — one-or-more `../` segments followed by `opensaas.config`.
87
+ * Non-global so it can be used with `String.prototype.match` to capture the
88
+ * offending specifier for the error message.
89
+ */
90
+ const ESCAPING_CONFIG_IMPORT_RE = /(['"])(?:\.\.\/)+opensaas\.config(?:\.ts|\.js)?\1/;
91
+ /**
92
+ * Recursively copy a directory tree. Used to stage the `prisma-client/`
93
+ * subtree, which is many small files.
94
+ */
95
+ function copyDir(src, dest) {
96
+ fs.mkdirSync(dest, { recursive: true });
97
+ for (const entry of fs.readdirSync(src, { withFileTypes: true })) {
98
+ const srcPath = path.join(src, entry.name);
99
+ const destPath = path.join(dest, entry.name);
100
+ if (entry.isDirectory()) {
101
+ copyDir(srcPath, destPath);
102
+ }
103
+ else if (entry.isFile()) {
104
+ fs.copyFileSync(srcPath, destPath);
105
+ }
106
+ }
107
+ }
108
+ /**
109
+ * Rewrite any relative `../`-rooted `opensaas.config` import (of any depth) in a
110
+ * source string to the sibling `./opensaas.config.ts`, preserving the original
111
+ * quote style, so the compiled output's config import resolves inside `dist/`.
112
+ * Exported for unit testing of the any-depth rewrite.
113
+ */
114
+ export function rewriteConfigImport(source) {
115
+ return source.replace(CONFIG_IMPORT_RE, (_match, quote) => {
116
+ return `${quote}${CONFIG_IMPORT_TO}${quote}`;
117
+ });
118
+ }
119
+ /**
120
+ * Return the first relative config import that still escapes the staging/`dist`
121
+ * root (one-or-more `../` segments before `opensaas.config`), or `undefined` if
122
+ * none remains. Exported so the silent-failure guard is unit-testable.
123
+ */
124
+ export function findEscapingConfigImport(source) {
125
+ return source.match(ESCAPING_CONFIG_IMPORT_RE)?.[0];
126
+ }
127
+ /**
128
+ * Copy a bundle source file into the staging root, rewriting the config import
129
+ * to the sibling `./opensaas.config.ts`.
130
+ */
131
+ function stageBundleFile(src, dest) {
132
+ const source = fs.readFileSync(src, 'utf-8');
133
+ fs.writeFileSync(dest, rewriteConfigImport(source));
134
+ }
135
+ /**
136
+ * The compiler options for the Node build. ESM output (`esnext` + `bundler`)
137
+ * with the import-extension rewrite, declaration emit, and the lenient settings
138
+ * that keep third-party `.d.ts` noise from blocking the emit on an opt-in path.
139
+ */
140
+ function nodeBuildCompilerOptions(rootDir, outDir) {
141
+ return {
142
+ // Rewrites the bundle's explicit `.ts`-extension imports (e.g.
143
+ // `./prisma-client/client.ts`) to runnable `.js` specifiers.
144
+ rewriteRelativeImportExtensions: true,
145
+ // The on-disk bundle imports `.ts` extensions; permit reading them.
146
+ allowImportingTsExtensions: true,
147
+ // Emit `.d.ts` so the Node build is a fully typed import target.
148
+ declaration: true,
149
+ // ESM output. `bundler` resolution permits the `.ts`-extension imports while
150
+ // `esnext` keeps `import`/`export` syntax (the `{"type":"module"}` marker
151
+ // written into `dist/` makes the emitted `.js` unambiguous ESM).
152
+ module: ts.ModuleKind.ESNext,
153
+ moduleResolution: ts.ModuleResolutionKind.Bundler,
154
+ target: ts.ScriptTarget.ES2022,
155
+ rootDir,
156
+ outDir,
157
+ // Third-party `.d.ts` (e.g. Prisma's) must not fail the type-check pass.
158
+ skipLibCheck: true,
159
+ // A production auth path must still emit even if a stray type error remains
160
+ // (the bundle itself type-checks clean; this guards against host-config
161
+ // noise like the `@/*` path alias, which is type-only and elided from JS).
162
+ noEmitOnError: false,
163
+ esModuleInterop: true,
164
+ forceConsistentCasingInFileNames: true,
165
+ };
166
+ }
167
+ /**
168
+ * Compile the Generated bundle to a plain-Node-loadable ESM build under
169
+ * `<opensaasDir>/dist/` (ADR-0011). Additive: the caller only invokes this when
170
+ * `output.buildTarget === 'node'`, and it never touches the default `.ts` form.
171
+ *
172
+ * Assumes the `.ts` bundle and the Prisma client subtree
173
+ * (`<opensaasDir>/prisma-client/**`) already exist on disk — i.e. it runs after
174
+ * the bundle is written and after `prisma generate`.
175
+ */
176
+ export function buildNodeBundle(options) {
177
+ const { opensaasDir, configPath } = options;
178
+ const stagingDir = path.join(opensaasDir, STAGING_DIRNAME);
179
+ const distDir = path.join(opensaasDir, DIST_DIRNAME);
180
+ // Clean any prior staging/dist so re-runs are deterministic.
181
+ fs.rmSync(stagingDir, { recursive: true, force: true });
182
+ fs.rmSync(distDir, { recursive: true, force: true });
183
+ fs.mkdirSync(stagingDir, { recursive: true });
184
+ try {
185
+ // Stage the bundle source files, rewriting the config import to a sibling.
186
+ for (const file of STAGED_BUNDLE_FILES) {
187
+ const src = path.join(opensaasDir, file);
188
+ if (!fs.existsSync(src))
189
+ continue;
190
+ const dest = path.join(stagingDir, file);
191
+ stageBundleFile(src, dest);
192
+ // Silent-failure guard (`noEmitOnError: false` lets TS emit even when a
193
+ // config import escapes `dist/`): if a staged file STILL contains a
194
+ // `../`-rooted `opensaas.config` import after the rewrite, the compiled
195
+ // entry's config import would escape `dist/` and fail under plain Node
196
+ // with no error surfaced. Fail loudly instead of emitting a broken build.
197
+ const escaping = findEscapingConfigImport(fs.readFileSync(dest, 'utf-8'));
198
+ if (escaping) {
199
+ throw new Error(`Node build: staged bundle file "${file}" still imports the config ` +
200
+ `via a relative path that escapes dist/ (${escaping}). The config ` +
201
+ `import must be rewritten to a sibling of the entry. This is a ` +
202
+ `silent-failure guard — compiling it would emit a Node build whose ` +
203
+ `config import resolves outside dist/ and fails under plain Node.`);
204
+ }
205
+ }
206
+ // Stage the compiled Prisma client subtree as-is.
207
+ const prismaClientSrc = path.join(opensaasDir, PRISMA_CLIENT_DIR);
208
+ if (fs.existsSync(prismaClientSrc)) {
209
+ copyDir(prismaClientSrc, path.join(stagingDir, PRISMA_CLIENT_DIR));
210
+ }
211
+ // Stage the project config as a sibling of the entry.
212
+ fs.copyFileSync(configPath, path.join(stagingDir, CONFIG_FILENAME));
213
+ // Collect the staged `.ts` files as the program's root files.
214
+ const rootNames = collectTsFiles(stagingDir);
215
+ const compilerOptions = nodeBuildCompilerOptions(stagingDir, distDir);
216
+ const program = ts.createProgram({ rootNames, options: compilerOptions });
217
+ const emitResult = program.emit();
218
+ const diagnostics = ts.getPreEmitDiagnostics(program).concat(emitResult.diagnostics);
219
+ // Write the ESM marker so the emitted `.js` are unambiguous ESM.
220
+ fs.writeFileSync(path.join(distDir, 'package.json'), '{"type":"module"}\n');
221
+ return {
222
+ distDir,
223
+ entry: path.join(distDir, 'context.js'),
224
+ diagnostics,
225
+ };
226
+ }
227
+ finally {
228
+ // Always remove the staging directory, even if the compile threw.
229
+ fs.rmSync(stagingDir, { recursive: true, force: true });
230
+ }
231
+ }
232
+ /** Recursively collect every `.ts` file under a directory (skips `.d.ts`). */
233
+ function collectTsFiles(dir) {
234
+ const out = [];
235
+ for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
236
+ const full = path.join(dir, entry.name);
237
+ if (entry.isDirectory()) {
238
+ out.push(...collectTsFiles(full));
239
+ }
240
+ else if (entry.isFile() && entry.name.endsWith('.ts') && !entry.name.endsWith('.d.ts')) {
241
+ out.push(full);
242
+ }
243
+ }
244
+ return out;
245
+ }
246
+ /**
247
+ * Format Node-build diagnostics into a short, human-readable list. The Node
248
+ * build is best-effort (`noEmitOnError: false`), so these are surfaced as a
249
+ * warning rather than a failure.
250
+ */
251
+ export function formatNodeBuildDiagnostics(diagnostics) {
252
+ return ts.formatDiagnostics(diagnostics.filter((d) => d.category === ts.DiagnosticCategory.Error), {
253
+ getCanonicalFileName: (f) => f,
254
+ getCurrentDirectory: () => process.cwd(),
255
+ getNewLine: () => '\n',
256
+ });
257
+ }
258
+ //# sourceMappingURL=node-build.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-build.js","sourceRoot":"","sources":["../../src/generator/node-build.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"prisma-extensions.d.ts","sourceRoot":"","sources":["../../src/generator/prisma-extensions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,sBAAsB,CAAA;AAIvE;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,cAAc,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CA6I9F;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,MAAM,EAClB,YAAY,CAAC,EAAE,MAAM,GACpB,IAAI,CAUN"}
1
+ {"version":3,"file":"prisma-extensions.d.ts","sourceRoot":"","sources":["../../src/generator/prisma-extensions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,sBAAsB,CAAA;AAKvE;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,cAAc,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CA0K9F;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,MAAM,EAClB,YAAY,CAAC,EAAE,MAAM,GACpB,IAAI,CAUN"}
@@ -1,5 +1,6 @@
1
1
  import * as fs from 'fs';
2
2
  import * as path from 'path';
3
+ import { withTsExtension } from './extension.js';
3
4
  /**
4
5
  * Generate Prisma result extensions configuration
5
6
  * This creates a Prisma client extension that calls field resolveOutput hooks
@@ -10,7 +11,10 @@ export function generatePrismaExtensions(config, configImport) {
10
11
  // the `.opensaas` bundle. Defaults to the legacy `../opensaas.config`; the
11
12
  // output-path resolver supplies a recomputed value when the bundle is
12
13
  // relocated via the `output` config block.
13
- const configImportPath = configImport ?? '../opensaas.config';
14
+ //
15
+ // The explicit `.ts` extension (see ./extension.ts) keeps the bundle loadable
16
+ // by the host bundler / plain Node without an `extensionAlias`.
17
+ const configImportPath = withTsExtension(configImport ?? '../opensaas.config');
14
18
  // Add header comment
15
19
  lines.push('/**');
16
20
  lines.push(' * Generated Prisma result extensions from OpenSaas configuration');
@@ -18,7 +22,7 @@ export function generatePrismaExtensions(config, configImport) {
18
22
  lines.push(' */');
19
23
  lines.push('');
20
24
  // Add imports
21
- lines.push("import { Prisma } from './prisma-client/client'");
25
+ lines.push("import { Prisma } from './prisma-client/client.ts'");
22
26
  lines.push(`import configOrPromise from '${configImportPath}'`);
23
27
  lines.push('');
24
28
  // Resolve config synchronously if possible (will be resolved by context.ts anyway)
@@ -65,16 +69,42 @@ export function generatePrismaExtensions(config, configImport) {
65
69
  lines.push(` ${modelKey}: {`);
66
70
  for (const [fieldName, fieldConfig] of fieldsWithExtensions) {
67
71
  const isVirtual = fieldConfig.virtual;
72
+ // Multi-column storage fields (e.g. image()/file() in keystone-columns
73
+ // mode) spread across several part columns (image_url, image_pathname, …)
74
+ // and have no single logical scalar on the model. Their logical value is
75
+ // re-assembled by core's read pipeline (assembleColumns), not by this
76
+ // result extension, so the compute here must not reference a scalar that
77
+ // doesn't exist. See #559.
78
+ const isMultiColumn = !isVirtual && typeof fieldConfig.getColumnNames === 'function';
68
79
  lines.push(` ${fieldName}: {`);
69
80
  if (isVirtual) {
70
81
  // Virtual fields don't need database fields - they compute from the full item
71
82
  lines.push(` needs: {},`);
72
83
  }
84
+ else if (isMultiColumn && fieldConfig.getColumnNames) {
85
+ // Prisma types `needs` against the model's scalar fields. Referencing the
86
+ // logical field name here would type the literal `true` against `never`
87
+ // (no such scalar exists). Derive `needs` from the physical part columns
88
+ // instead. getColumnNames already returns the resolved/overridden names,
89
+ // so custom column maps Just Work. See #559.
90
+ const columnNames = fieldConfig.getColumnNames(fieldName);
91
+ const needsEntries = columnNames.map((column) => `${column}: true`).join(', ');
92
+ lines.push(` needs: { ${needsEntries} },`);
93
+ }
73
94
  else {
74
- // Non-virtual fields need their database value
95
+ // Non-virtual single-column fields need their database value
75
96
  lines.push(` needs: { ${fieldName}: true },`);
76
97
  }
77
98
  lines.push(` compute: (${modelKey}) => {`);
99
+ if (isMultiColumn) {
100
+ // The logical value lives across part columns and is assembled elsewhere;
101
+ // there is no scalar to read or transform here. Returning undefined keeps
102
+ // the assembled value (re-added via TransformedFields) authoritative.
103
+ lines.push(` return undefined`);
104
+ lines.push(` },`);
105
+ lines.push(` },`);
106
+ continue;
107
+ }
78
108
  if (!isVirtual) {
79
109
  // For non-virtual fields, get the database value and check nullability
80
110
  lines.push(` const value = ${modelKey}.${fieldName}`);
@@ -1 +1 @@
1
- {"version":3,"file":"prisma-extensions.js","sourceRoot":"","sources":["../../src/generator/prisma-extensions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prisma-extensions.js","sourceRoot":"","sources":["../../src/generator/prisma-extensions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"prisma.d.ts","sourceRoot":"","sources":["../../src/generator/prisma.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAe,MAAM,sBAAsB,CAAA;AACnG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAK3D;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CAGnC,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,EAChC,QAAQ,EAAE,cAAc,GACvB;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAkB5C;AA0CD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,EAAE,kBAAkB,CAAC,EAAE,MAAM,GAAG,MAAM,CAqQhG;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,MAAM,EAClB,kBAAkB,CAAC,EAAE,MAAM,GAC1B,IAAI,CAUN"}
1
+ {"version":3,"file":"prisma.d.ts","sourceRoot":"","sources":["../../src/generator/prisma.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAe,MAAM,sBAAsB,CAAA;AACnG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAK3D;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CAGnC,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,EAChC,QAAQ,EAAE,cAAc,GACvB;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAkB5C;AA0CD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,EAAE,kBAAkB,CAAC,EAAE,MAAM,GAAG,MAAM,CAkRhG;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,MAAM,EAClB,kBAAkB,CAAC,EAAE,MAAM,GAC1B,IAAI,CAUN"}
@@ -79,12 +79,24 @@ export function generatePrismaSchema(config, prismaClientOutput) {
79
79
  // array on the datasource. Each model then carries a `@@schema(...)`.
80
80
  const schemas = config.db.schemas;
81
81
  const multiSchema = Array.isArray(schemas) && schemas.length > 0;
82
+ // Prisma generator options for the `.opensaas/prisma-client` subtree. By
83
+ // default we emit `importFileExtension = "ts"` and `moduleFormat = "esm"` so
84
+ // the generated client uses explicit `.ts` import extensions — matching the
85
+ // rest of the `.opensaas` bundle (ADR-0008) and keeping the whole import graph
86
+ // statically resolvable by a bundler. A project can override either value via
87
+ // `db.prismaGeneratorOptions`; any supplied value wins, omitted keys fall back
88
+ // to the `ts`/`esm` defaults.
89
+ const prismaGeneratorOptions = config.db.prismaGeneratorOptions;
90
+ const importFileExtension = prismaGeneratorOptions?.importFileExtension ?? 'ts';
91
+ const moduleFormat = prismaGeneratorOptions?.moduleFormat ?? 'esm';
82
92
  // Generator and datasource
83
93
  lines.push('generator client {');
84
- lines.push(' provider = "prisma-client"');
85
- lines.push(` output = "${clientOutput}"`);
94
+ lines.push(' provider = "prisma-client"');
95
+ lines.push(` output = "${clientOutput}"`);
96
+ lines.push(` importFileExtension = "${importFileExtension}"`);
97
+ lines.push(` moduleFormat = "${moduleFormat}"`);
86
98
  if (multiSchema) {
87
- lines.push(' previewFeatures = ["multiSchema"]');
99
+ lines.push(' previewFeatures = ["multiSchema"]');
88
100
  }
89
101
  lines.push('}');
90
102
  lines.push('');
@@ -1 +1 @@
1
- {"version":3,"file":"prisma.js","sourceRoot":"","sources":["../../src/generator/prisma.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prisma.js","sourceRoot":"","sources":["../../src/generator/prisma.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/generator/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAA2C,MAAM,sBAAsB,CAAA;AAo+BnG;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CA0G5D;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAU3E"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/generator/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAA2C,MAAM,sBAAsB,CAAA;AA+sCnG;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CA+G5D;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAU3E"}