From d54e04f7b3b0782572c7ff639f871c3b1047cfa2 Mon Sep 17 00:00:00 2001 From: Quramy Date: Thu, 24 Nov 2022 23:13:04 +0900 Subject: [PATCH] fix: Don't use project outDir or outFile options. --- .../example-prj/src/__generated__/fabbrica/index.js | 1 + packages/prisma-fabbrica/src/generator.ts | 11 +++++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/examples/example-prj/src/__generated__/fabbrica/index.js b/examples/example-prj/src/__generated__/fabbrica/index.js index 913f225a..141f8667 100644 --- a/examples/example-prj/src/__generated__/fabbrica/index.js +++ b/examples/example-prj/src/__generated__/fabbrica/index.js @@ -84,3 +84,4 @@ function definePostFactory(args) { return definePostFactoryInternal(args); } exports.definePostFactory = definePostFactory; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/packages/prisma-fabbrica/src/generator.ts b/packages/prisma-fabbrica/src/generator.ts index 10298b28..3c70ad81 100644 --- a/packages/prisma-fabbrica/src/generator.ts +++ b/packages/prisma-fabbrica/src/generator.ts @@ -28,6 +28,9 @@ function compile(fileName: string, content: string, options: ts.CompilerOptions) program.emit(); const js = fileMap.get(fileName.replace(".ts", ".js"))!; const dts = fileMap.get(fileName.replace(".ts", ".d.ts"))!; + if (!js || !dts) { + throw new Error('prisma-fabbrica: Failed to TypeScript transpilation. Please try "noTranspile = true"'); + } return { js, dts }; } @@ -43,7 +46,7 @@ generatorHandler({ logger.error("No prisma client generator."); return; } - const noTranspile = options.generator.config.noTranspile ?? false; + const noTranspile = options.generator.config.noTranspile === "true" ?? false; const outputDirname = options.generator.output?.value; const clientGeneratorOutputPath = clientGeneratorConfig.output?.value; if (!clientGeneratorOutputPath || !outputDirname) { @@ -76,8 +79,12 @@ generatorHandler({ const compileOptions = readTsConfig(tsconfigPath); const output = compile(path.join(outputDirname, "index.ts"), contents, { ...compileOptions, - declaration: true, noEmit: false, + skipLibCheck: true, + incremental: false, + outDir: undefined, + outFile: undefined, + declaration: true, }); await Promise.all([ fs.writeFile(path.join(outputDirname, "index.js"), output.js, "utf8"),