From 74ba12c8aba8a38fb22eb381da0ef5e628785bbe Mon Sep 17 00:00:00 2001 From: Perryvw Date: Sat, 6 Aug 2022 15:51:26 +0200 Subject: [PATCH 1/4] test projects? --- src/typescript-internal.d.ts | 2 ++ test/transpile/project-references.spec.ts | 15 +++++++++++++++ .../project-references-copy/project1/index.ts | 3 +++ .../project1/tsconfig.json | 7 +++++++ .../project-references-copy/project2/index.d.ts | 1 + .../project-references-copy/project2/index.ts | 1 + .../project2/tsconfig.json | 7 +++++++ .../project-references-copy/tsconfig.json | 8 ++++++++ .../project-references/dist/main.js | 4 ++++ .../src/dependency/src/things.ts | 3 +++ .../src/dependency/tsconfig.json | 10 ++++++++++ .../src/mainproject/src/main.ts | 1 + .../src/mainproject/tsconfig.json | 17 +++++++++++++++++ 13 files changed, 79 insertions(+) create mode 100644 test/transpile/project-references.spec.ts create mode 100644 test/transpile/project-references/project-references-copy/project1/index.ts create mode 100644 test/transpile/project-references/project-references-copy/project1/tsconfig.json create mode 100644 test/transpile/project-references/project-references-copy/project2/index.d.ts create mode 100644 test/transpile/project-references/project-references-copy/project2/index.ts create mode 100644 test/transpile/project-references/project-references-copy/project2/tsconfig.json create mode 100644 test/transpile/project-references/project-references-copy/tsconfig.json create mode 100644 test/transpile/project-references/project-references/dist/main.js create mode 100644 test/transpile/project-references/project-references/src/dependency/src/things.ts create mode 100644 test/transpile/project-references/project-references/src/dependency/tsconfig.json create mode 100644 test/transpile/project-references/project-references/src/mainproject/src/main.ts create mode 100644 test/transpile/project-references/project-references/src/mainproject/tsconfig.json diff --git a/src/typescript-internal.d.ts b/src/typescript-internal.d.ts index 8d85b9374..13b056a05 100644 --- a/src/typescript-internal.d.ts +++ b/src/typescript-internal.d.ts @@ -17,8 +17,10 @@ declare module "typescript" { } interface CompilerOptions { + build?: boolean; configFile?: TsConfigSourceFile; configFilePath?: string; + projectReferences?: string[]; } interface TypeChecker { diff --git a/test/transpile/project-references.spec.ts b/test/transpile/project-references.spec.ts new file mode 100644 index 000000000..f020453f7 --- /dev/null +++ b/test/transpile/project-references.spec.ts @@ -0,0 +1,15 @@ +import * as util from "../util"; +import * as path from "path"; + +test("should transpile all projects with --build", () => { + const solutionDir = path.join(__dirname, "project-references", "project-references"); + const projectDir= path.join(solutionDir, "project1"); + const { transpiledFiles } = util + .testProject(path.join(solutionDir, "tsconfig.json")) + .setMainFileName(path.join(projectDir, "index.ts")) + .setOptions({ build: true }) + .expectToHaveNoDiagnostics() + .getLuaResult(); + + console.log(transpiledFiles); +}); diff --git a/test/transpile/project-references/project-references-copy/project1/index.ts b/test/transpile/project-references/project-references-copy/project1/index.ts new file mode 100644 index 000000000..90c88c548 --- /dev/null +++ b/test/transpile/project-references/project-references-copy/project1/index.ts @@ -0,0 +1,3 @@ +import { foo } from "../project2"; + +export { foo }; \ No newline at end of file diff --git a/test/transpile/project-references/project-references-copy/project1/tsconfig.json b/test/transpile/project-references/project-references-copy/project1/tsconfig.json new file mode 100644 index 000000000..376e27200 --- /dev/null +++ b/test/transpile/project-references/project-references-copy/project1/tsconfig.json @@ -0,0 +1,7 @@ +{ + "compilerOptions": { + "composite": true, + "rootDir": ".." + }, + "include": ["**/*.ts", "../project2/**/*.ts"] +} \ No newline at end of file diff --git a/test/transpile/project-references/project-references-copy/project2/index.d.ts b/test/transpile/project-references/project-references-copy/project2/index.d.ts new file mode 100644 index 000000000..07265a895 --- /dev/null +++ b/test/transpile/project-references/project-references-copy/project2/index.d.ts @@ -0,0 +1 @@ +export declare const foo = "foo"; diff --git a/test/transpile/project-references/project-references-copy/project2/index.ts b/test/transpile/project-references/project-references-copy/project2/index.ts new file mode 100644 index 000000000..ca6bb3bd5 --- /dev/null +++ b/test/transpile/project-references/project-references-copy/project2/index.ts @@ -0,0 +1 @@ +export const foo = "foo"; \ No newline at end of file diff --git a/test/transpile/project-references/project-references-copy/project2/tsconfig.json b/test/transpile/project-references/project-references-copy/project2/tsconfig.json new file mode 100644 index 000000000..8014e055a --- /dev/null +++ b/test/transpile/project-references/project-references-copy/project2/tsconfig.json @@ -0,0 +1,7 @@ +{ + "compilerOptions": { + "composite": true, + "rootDir": ".." + }, + "include": ["**/*.ts"] +} \ No newline at end of file diff --git a/test/transpile/project-references/project-references-copy/tsconfig.json b/test/transpile/project-references/project-references-copy/tsconfig.json new file mode 100644 index 000000000..8bbb41a96 --- /dev/null +++ b/test/transpile/project-references/project-references-copy/tsconfig.json @@ -0,0 +1,8 @@ +{ + "files": [], + "include": [], + "references": [ + { "path": "../project1" }, + { "path": "../project2" } + ] +} \ No newline at end of file diff --git a/test/transpile/project-references/project-references/dist/main.js b/test/transpile/project-references/project-references/dist/main.js new file mode 100644 index 000000000..a42b98505 --- /dev/null +++ b/test/transpile/project-references/project-references/dist/main.js @@ -0,0 +1,4 @@ +"use strict"; +exports.__esModule = true; +exports.result = void 0; +exports.result = getNumber(); diff --git a/test/transpile/project-references/project-references/src/dependency/src/things.ts b/test/transpile/project-references/project-references/src/dependency/src/things.ts new file mode 100644 index 000000000..6bde5a510 --- /dev/null +++ b/test/transpile/project-references/project-references/src/dependency/src/things.ts @@ -0,0 +1,3 @@ +function getNumber(): number { + return 100; +} diff --git a/test/transpile/project-references/project-references/src/dependency/tsconfig.json b/test/transpile/project-references/project-references/src/dependency/tsconfig.json new file mode 100644 index 000000000..5afa57f8c --- /dev/null +++ b/test/transpile/project-references/project-references/src/dependency/tsconfig.json @@ -0,0 +1,10 @@ +{ + "compilerOptions": { + "composite": true, + "outFile": "dist/content.js", + "outDir": "dist" + }, + "include": [ + "src/**/*.ts" + ] +} diff --git a/test/transpile/project-references/project-references/src/mainproject/src/main.ts b/test/transpile/project-references/project-references/src/mainproject/src/main.ts new file mode 100644 index 000000000..33d6124c1 --- /dev/null +++ b/test/transpile/project-references/project-references/src/mainproject/src/main.ts @@ -0,0 +1 @@ +export const result = getNumber(); diff --git a/test/transpile/project-references/project-references/src/mainproject/tsconfig.json b/test/transpile/project-references/project-references/src/mainproject/tsconfig.json new file mode 100644 index 000000000..145741657 --- /dev/null +++ b/test/transpile/project-references/project-references/src/mainproject/tsconfig.json @@ -0,0 +1,17 @@ +{ + "compilerOptions": { + "rootDir": "src", + "outDir": "../../dist", + "strict": true + }, + "references": [ + { + "path": "../dependency" + } + ], + "tstl": { + "luaTarget": "JIT", + "sourceMapTraceback": true + }, + "include": ["src/**/*.ts"] +} From 7b644f01566d89f136c52641bdbf21d684c98903 Mon Sep 17 00:00:00 2001 From: Perryvw Date: Sat, 6 Aug 2022 16:03:23 +0200 Subject: [PATCH 2/4] Minimal project references project --- .../project-references-copy/project1/index.ts | 3 --- .../project-references-copy/project1/tsconfig.json | 7 ------- .../project-references-copy/project2/index.d.ts | 1 - .../project-references-copy/project2/index.ts | 1 - .../project-references-copy/project2/tsconfig.json | 7 ------- .../project-references-copy/tsconfig.json | 8 -------- .../project-references/dependency/src/index.ts | 3 +++ .../project-references/{src => }/dependency/tsconfig.json | 1 - .../project-references/project-references/dist/main.js | 4 ---- .../project-references/mainproject/src/main.ts | 3 +++ .../{src => }/mainproject/tsconfig.json | 2 +- .../project-references/src/dependency/src/things.ts | 3 --- .../project-references/src/mainproject/src/main.ts | 1 - 13 files changed, 7 insertions(+), 37 deletions(-) delete mode 100644 test/transpile/project-references/project-references-copy/project1/index.ts delete mode 100644 test/transpile/project-references/project-references-copy/project1/tsconfig.json delete mode 100644 test/transpile/project-references/project-references-copy/project2/index.d.ts delete mode 100644 test/transpile/project-references/project-references-copy/project2/index.ts delete mode 100644 test/transpile/project-references/project-references-copy/project2/tsconfig.json delete mode 100644 test/transpile/project-references/project-references-copy/tsconfig.json create mode 100644 test/transpile/project-references/project-references/dependency/src/index.ts rename test/transpile/project-references/project-references/{src => }/dependency/tsconfig.json (76%) delete mode 100644 test/transpile/project-references/project-references/dist/main.js create mode 100644 test/transpile/project-references/project-references/mainproject/src/main.ts rename test/transpile/project-references/project-references/{src => }/mainproject/tsconfig.json (89%) delete mode 100644 test/transpile/project-references/project-references/src/dependency/src/things.ts delete mode 100644 test/transpile/project-references/project-references/src/mainproject/src/main.ts diff --git a/test/transpile/project-references/project-references-copy/project1/index.ts b/test/transpile/project-references/project-references-copy/project1/index.ts deleted file mode 100644 index 90c88c548..000000000 --- a/test/transpile/project-references/project-references-copy/project1/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { foo } from "../project2"; - -export { foo }; \ No newline at end of file diff --git a/test/transpile/project-references/project-references-copy/project1/tsconfig.json b/test/transpile/project-references/project-references-copy/project1/tsconfig.json deleted file mode 100644 index 376e27200..000000000 --- a/test/transpile/project-references/project-references-copy/project1/tsconfig.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "compilerOptions": { - "composite": true, - "rootDir": ".." - }, - "include": ["**/*.ts", "../project2/**/*.ts"] -} \ No newline at end of file diff --git a/test/transpile/project-references/project-references-copy/project2/index.d.ts b/test/transpile/project-references/project-references-copy/project2/index.d.ts deleted file mode 100644 index 07265a895..000000000 --- a/test/transpile/project-references/project-references-copy/project2/index.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare const foo = "foo"; diff --git a/test/transpile/project-references/project-references-copy/project2/index.ts b/test/transpile/project-references/project-references-copy/project2/index.ts deleted file mode 100644 index ca6bb3bd5..000000000 --- a/test/transpile/project-references/project-references-copy/project2/index.ts +++ /dev/null @@ -1 +0,0 @@ -export const foo = "foo"; \ No newline at end of file diff --git a/test/transpile/project-references/project-references-copy/project2/tsconfig.json b/test/transpile/project-references/project-references-copy/project2/tsconfig.json deleted file mode 100644 index 8014e055a..000000000 --- a/test/transpile/project-references/project-references-copy/project2/tsconfig.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "compilerOptions": { - "composite": true, - "rootDir": ".." - }, - "include": ["**/*.ts"] -} \ No newline at end of file diff --git a/test/transpile/project-references/project-references-copy/tsconfig.json b/test/transpile/project-references/project-references-copy/tsconfig.json deleted file mode 100644 index 8bbb41a96..000000000 --- a/test/transpile/project-references/project-references-copy/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "files": [], - "include": [], - "references": [ - { "path": "../project1" }, - { "path": "../project2" } - ] -} \ No newline at end of file diff --git a/test/transpile/project-references/project-references/dependency/src/index.ts b/test/transpile/project-references/project-references/dependency/src/index.ts new file mode 100644 index 000000000..997e646a9 --- /dev/null +++ b/test/transpile/project-references/project-references/dependency/src/index.ts @@ -0,0 +1,3 @@ +export function getNumber() { + return 200; +} \ No newline at end of file diff --git a/test/transpile/project-references/project-references/src/dependency/tsconfig.json b/test/transpile/project-references/project-references/dependency/tsconfig.json similarity index 76% rename from test/transpile/project-references/project-references/src/dependency/tsconfig.json rename to test/transpile/project-references/project-references/dependency/tsconfig.json index 5afa57f8c..a3afaa865 100644 --- a/test/transpile/project-references/project-references/src/dependency/tsconfig.json +++ b/test/transpile/project-references/project-references/dependency/tsconfig.json @@ -1,7 +1,6 @@ { "compilerOptions": { "composite": true, - "outFile": "dist/content.js", "outDir": "dist" }, "include": [ diff --git a/test/transpile/project-references/project-references/dist/main.js b/test/transpile/project-references/project-references/dist/main.js deleted file mode 100644 index a42b98505..000000000 --- a/test/transpile/project-references/project-references/dist/main.js +++ /dev/null @@ -1,4 +0,0 @@ -"use strict"; -exports.__esModule = true; -exports.result = void 0; -exports.result = getNumber(); diff --git a/test/transpile/project-references/project-references/mainproject/src/main.ts b/test/transpile/project-references/project-references/mainproject/src/main.ts new file mode 100644 index 000000000..9854ad100 --- /dev/null +++ b/test/transpile/project-references/project-references/mainproject/src/main.ts @@ -0,0 +1,3 @@ +import { getNumber } from "../../dependency/src"; + +export const result = getNumber(); diff --git a/test/transpile/project-references/project-references/src/mainproject/tsconfig.json b/test/transpile/project-references/project-references/mainproject/tsconfig.json similarity index 89% rename from test/transpile/project-references/project-references/src/mainproject/tsconfig.json rename to test/transpile/project-references/project-references/mainproject/tsconfig.json index 145741657..fcf7e8109 100644 --- a/test/transpile/project-references/project-references/src/mainproject/tsconfig.json +++ b/test/transpile/project-references/project-references/mainproject/tsconfig.json @@ -1,7 +1,7 @@ { "compilerOptions": { "rootDir": "src", - "outDir": "../../dist", + "outDir": "../dist", "strict": true }, "references": [ diff --git a/test/transpile/project-references/project-references/src/dependency/src/things.ts b/test/transpile/project-references/project-references/src/dependency/src/things.ts deleted file mode 100644 index 6bde5a510..000000000 --- a/test/transpile/project-references/project-references/src/dependency/src/things.ts +++ /dev/null @@ -1,3 +0,0 @@ -function getNumber(): number { - return 100; -} diff --git a/test/transpile/project-references/project-references/src/mainproject/src/main.ts b/test/transpile/project-references/project-references/src/mainproject/src/main.ts deleted file mode 100644 index 33d6124c1..000000000 --- a/test/transpile/project-references/project-references/src/mainproject/src/main.ts +++ /dev/null @@ -1 +0,0 @@ -export const result = getNumber(); From 8ecb31190fee01a200022687793de9a748140b9e Mon Sep 17 00:00:00 2001 From: Perryvw Date: Sat, 6 Aug 2022 17:36:30 +0200 Subject: [PATCH 3/4] Rudimentary project support? --- src/cli/tsconfig.ts | 8 ++++++ src/transpilation/index.ts | 8 +++--- src/transpilation/transpile.ts | 32 ++++++++++++++++++++--- src/typescript-internal.d.ts | 2 +- test/transpile/project-references.spec.ts | 15 +++++------ test/util.ts | 4 ++- 6 files changed, 50 insertions(+), 19 deletions(-) diff --git a/src/cli/tsconfig.ts b/src/cli/tsconfig.ts index bc6fb5ae9..1e599cd63 100644 --- a/src/cli/tsconfig.ts +++ b/src/cli/tsconfig.ts @@ -41,6 +41,14 @@ export function parseConfigFileWithSystem( commandLineOptions?: CompilerOptions, system = ts.sys ): ParsedCommandLine { + if (!system.fileExists(configFileName)) { + return { + options: {}, + fileNames: [configFileName], + errors: [cliDiagnostics.theSpecifiedPathDoesNotExist(configFileName)], + }; + } + const parsedConfigFile = ts.parseJsonSourceFileConfigFileContent( ts.readJsonConfigFile(configFileName, system.readFile), system, diff --git a/src/transpilation/index.ts b/src/transpilation/index.ts index d4e890719..8d5dcbbe0 100644 --- a/src/transpilation/index.ts +++ b/src/transpilation/index.ts @@ -19,11 +19,10 @@ export function transpileFiles( writeFile?: ts.WriteFileCallback ): EmitResult { const program = ts.createProgram(rootNames, options); - const preEmitDiagnostics = ts.getPreEmitDiagnostics(program); const { diagnostics: transpileDiagnostics, emitSkipped } = new Transpiler().emit({ program, writeFile }); - const diagnostics = ts.sortAndDeduplicateDiagnostics([...preEmitDiagnostics, ...transpileDiagnostics]); + const diagnostics = ts.sortAndDeduplicateDiagnostics(transpileDiagnostics); - return { diagnostics: [...diagnostics], emitSkipped }; + return { diagnostics, emitSkipped }; } export function transpileProject( @@ -96,10 +95,9 @@ export function transpileVirtualProject( options: CompilerOptions = {} ): TranspileVirtualProjectResult { const program = createVirtualProgram(files, options); - const preEmitDiagnostics = ts.getPreEmitDiagnostics(program); const collector = createEmitOutputCollector(); const { diagnostics: transpileDiagnostics } = new Transpiler().emit({ program, writeFile: collector.writeFile }); - const diagnostics = ts.sortAndDeduplicateDiagnostics([...preEmitDiagnostics, ...transpileDiagnostics]); + const diagnostics = ts.sortAndDeduplicateDiagnostics(transpileDiagnostics); return { diagnostics: [...diagnostics], transpiledFiles: collector.files }; } diff --git a/src/transpilation/transpile.ts b/src/transpilation/transpile.ts index 6adfa5fc4..5525b1195 100644 --- a/src/transpilation/transpile.ts +++ b/src/transpilation/transpile.ts @@ -8,6 +8,7 @@ import { Plugin } from "./plugins"; import { getTransformers } from "./transformers"; import { EmitHost, ProcessedFile } from "./utils"; import * as performance from "../measure-performance"; +import { parseConfigFileWithSystem } from "../cli/tsconfig"; export interface TranspileOptions { program: ts.Program; @@ -30,13 +31,38 @@ export function getProgramTranspileResult( const options = program.getCompilerOptions() as CompilerOptions; - if (options.tstlVerbose) { - console.log("Parsing project settings"); - } + if (options.tstlVerbose) console.log("Parsing project settings"); const diagnostics = validateOptions(options); + let transpiledFiles: ProcessedFile[] = []; + if (options.build) { + for (const projectReferences of options.projectReferences ?? []) + { + if (options.tstlVerbose) console.log(`Build mode: Checking reference ${projectReferences.path}`); + + const tsConfigPath = path.join(projectReferences.path, "tsconfig.json"); + // Parse reference path but stay in build mode + const parseResult = parseConfigFileWithSystem(tsConfigPath, { build: true }); + diagnostics.push(...parseResult.errors); + + if (parseResult.errors.length === 0) { + const referenceProgram = ts.createProgram(parseResult.fileNames, parseResult.options); + const referencePreEmitDiagnostics = ts.getPreEmitDiagnostics(referenceProgram); + const { diagnostics: referenceDiagnostics, transpiledFiles: referenceFiles } = getProgramTranspileResult(emitHost, writeFileResult, { program: referenceProgram }); + diagnostics.push(...referencePreEmitDiagnostics, ...referenceDiagnostics); + + if (projectReferences.prepend) + { + transpiledFiles.push(...referenceFiles); + } + } + } + } + + diagnostics.push(...ts.getPreEmitDiagnostics(program)); + if (options.noEmitOnError) { const preEmitDiagnostics = [ ...diagnostics, diff --git a/src/typescript-internal.d.ts b/src/typescript-internal.d.ts index 13b056a05..5087d39f5 100644 --- a/src/typescript-internal.d.ts +++ b/src/typescript-internal.d.ts @@ -20,7 +20,7 @@ declare module "typescript" { build?: boolean; configFile?: TsConfigSourceFile; configFilePath?: string; - projectReferences?: string[]; + projectReferences?: ProjectReference[]; } interface TypeChecker { diff --git a/test/transpile/project-references.spec.ts b/test/transpile/project-references.spec.ts index f020453f7..89cff18b2 100644 --- a/test/transpile/project-references.spec.ts +++ b/test/transpile/project-references.spec.ts @@ -1,15 +1,12 @@ -import * as util from "../util"; import * as path from "path"; +import * as tstl from "../../src"; test("should transpile all projects with --build", () => { const solutionDir = path.join(__dirname, "project-references", "project-references"); - const projectDir= path.join(solutionDir, "project1"); - const { transpiledFiles } = util - .testProject(path.join(solutionDir, "tsconfig.json")) - .setMainFileName(path.join(projectDir, "index.ts")) - .setOptions({ build: true }) - .expectToHaveNoDiagnostics() - .getLuaResult(); + const projectDir= path.join(solutionDir, "mainproject"); - console.log(transpiledFiles); + const { diagnostics } = tstl.transpileProject(path.join(projectDir, "tsconfig.json"), {build: true}); + + expect(diagnostics).toHaveLength(0); + // expect(transpiledFiles.some(f => f.outPath === path.join(solutionDir, "dist", "main.lua"))).toBe(true); }); diff --git a/test/util.ts b/test/util.ts index ffc6bac68..ca232d2df 100644 --- a/test/util.ts +++ b/test/util.ts @@ -583,7 +583,9 @@ class ExpressionTestBuilder extends AccessorTestBuilder { class ProjectTestBuilder extends ModuleTestBuilder { constructor(private tsConfig: string) { super(""); - this.setOptions({ configFilePath: this.tsConfig, ...tstl.parseConfigFileWithSystem(this.tsConfig) }); + const options = { configFilePath: this.tsConfig }; + Object.assign(options, tstl.parseConfigFileWithSystem(this.tsConfig)); + this.setOptions(options); } @memoize From 025e37139ffb896ab841dc70612ed88dece6aa77 Mon Sep 17 00:00:00 2001 From: Perryvw Date: Sat, 6 Aug 2022 18:15:28 +0200 Subject: [PATCH 4/4] crap solution --- src/cli/parse.ts | 2 ++ src/transpilation/transpile.ts | 2 +- .../project-references/project-references/.gitignore | 1 + .../project-references/mainproject/tsconfig.json | 4 +++- 4 files changed, 7 insertions(+), 2 deletions(-) create mode 100644 test/transpile/project-references/project-references/.gitignore diff --git a/src/cli/parse.ts b/src/cli/parse.ts index a49510780..2b9885e59 100644 --- a/src/cli/parse.ts +++ b/src/cli/parse.ts @@ -135,6 +135,8 @@ export function updateParsedConfigFile(parsedConfigFile: ts.ParsedCommandLine): } } + Object.assign(parsedConfigFile.options, { projectReferences: parsedConfigFile.projectReferences }); + return parsedConfigFile; } diff --git a/src/transpilation/transpile.ts b/src/transpilation/transpile.ts index 5525b1195..222345bdb 100644 --- a/src/transpilation/transpile.ts +++ b/src/transpilation/transpile.ts @@ -61,7 +61,7 @@ export function getProgramTranspileResult( } } - diagnostics.push(...ts.getPreEmitDiagnostics(program)); + // diagnostics.push(...ts.getPreEmitDiagnostics(program)); if (options.noEmitOnError) { const preEmitDiagnostics = [ diff --git a/test/transpile/project-references/project-references/.gitignore b/test/transpile/project-references/project-references/.gitignore new file mode 100644 index 000000000..53c37a166 --- /dev/null +++ b/test/transpile/project-references/project-references/.gitignore @@ -0,0 +1 @@ +dist \ No newline at end of file diff --git a/test/transpile/project-references/project-references/mainproject/tsconfig.json b/test/transpile/project-references/project-references/mainproject/tsconfig.json index fcf7e8109..5a53351ce 100644 --- a/test/transpile/project-references/project-references/mainproject/tsconfig.json +++ b/test/transpile/project-references/project-references/mainproject/tsconfig.json @@ -11,7 +11,9 @@ ], "tstl": { "luaTarget": "JIT", - "sourceMapTraceback": true + "sourceMapTraceback": true, + "luaBundle": "bundle.lua", + "luaBundleEntry": "main.ts" }, "include": ["src/**/*.ts"] }