Merge pull request #6789 from Microsoft/transpileJs
suppress validation of output paths in transpile scenarios
This commit is contained in:
commit
4a01708c13
|
@ -1717,7 +1717,7 @@ namespace ts {
|
||||||
}
|
}
|
||||||
|
|
||||||
// If the emit is enabled make sure that every output file is unique and not overwriting any of the input files
|
// If the emit is enabled make sure that every output file is unique and not overwriting any of the input files
|
||||||
if (!options.noEmit) {
|
if (!options.noEmit && !options.suppressOutputPathCheck) {
|
||||||
const emitHost = getEmitHost();
|
const emitHost = getEmitHost();
|
||||||
const emitFilesSeen = createFileMap<boolean>(!host.useCaseSensitiveFileNames() ? key => key.toLocaleLowerCase() : undefined);
|
const emitFilesSeen = createFileMap<boolean>(!host.useCaseSensitiveFileNames() ? key => key.toLocaleLowerCase() : undefined);
|
||||||
forEachExpectedEmitFile(emitHost, (emitFileNames, sourceFiles, isBundledEmit) => {
|
forEachExpectedEmitFile(emitHost, (emitFileNames, sourceFiles, isBundledEmit) => {
|
||||||
|
|
|
@ -2426,6 +2426,8 @@ namespace ts {
|
||||||
|
|
||||||
// Skip checking lib.d.ts to help speed up tests.
|
// Skip checking lib.d.ts to help speed up tests.
|
||||||
/* @internal */ skipDefaultLibCheck?: boolean;
|
/* @internal */ skipDefaultLibCheck?: boolean;
|
||||||
|
// Do not perform validation of output file name in transpile scenarios
|
||||||
|
/* @internal */ suppressOutputPathCheck?: boolean;
|
||||||
|
|
||||||
[option: string]: string | number | boolean | TsConfigOnlyOptions;
|
[option: string]: string | number | boolean | TsConfigOnlyOptions;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1876,6 +1876,9 @@ namespace ts {
|
||||||
|
|
||||||
options.isolatedModules = true;
|
options.isolatedModules = true;
|
||||||
|
|
||||||
|
// transpileModule does not write anything to disk so there is no need to verify that there are no conflicts between input and output paths.
|
||||||
|
options.suppressOutputPathCheck = true;
|
||||||
|
|
||||||
// Filename can be non-ts file.
|
// Filename can be non-ts file.
|
||||||
options.allowNonTsExtensions = true;
|
options.allowNonTsExtensions = true;
|
||||||
|
|
||||||
|
|
|
@ -291,5 +291,14 @@ var x = 0;`,
|
||||||
options: { compilerOptions: { jsx: JsxEmit.React, newLine: NewLineKind.LineFeed } }
|
options: { compilerOptions: { jsx: JsxEmit.React, newLine: NewLineKind.LineFeed } }
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
|
it("transpile .js files", () => {
|
||||||
|
const input = "const a = 10;";
|
||||||
|
const output = `"use strict";\nvar a = 10;\n`;
|
||||||
|
test(input, {
|
||||||
|
expectedOutput: output,
|
||||||
|
options: { compilerOptions: { newLine: NewLineKind.LineFeed, module: ModuleKind.CommonJS }, fileName: "input.js", reportDiagnostics: true },
|
||||||
|
expectedDiagnosticCodes: []
|
||||||
|
});
|
||||||
|
})
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue