The ts.transpile method now throws an error when given a file with a .js extension:
test.js:
var ts = require("typescript");
var diags = [];
var output = ts.transpile("const a = 10; export default a;", { module: 1 }, "input.js", diags);
console.log(output);
console.log(JSON.stringify(diags));
output:
Heracles:plugin-typescript frank$ node test.js
/Users/frank/work/plugin-typescript/node_modules/typescript/lib/typescript.js:1682
throw new Error("Debug Failure. False expression: " + (message || "") + verboseDebugString);
^
Error: Debug Failure. False expression: Output generation failed
at Object.assert (/Users/frank/work/plugin-typescript/node_modules/typescript/lib/typescript.js:1682:23)
at transpileModule (/Users/frank/work/plugin-typescript/node_modules/typescript/lib/typescript.js:47824:18)
at Object.transpile (/Users/frank/work/plugin-typescript/node_modules/typescript/lib/typescript.js:47832:22)
at Object.<anonymous> (/Users/frank/work/plugin-typescript/test.js:3:4)
at Module._compile (module.js:425:26)
at Object.Module._extensions..js (module.js:432:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:313:12)
at Function.Module.runMain (module.js:457:10)
at startup (node.js:138:18)
The actual error causing this is TS5055:
Cannot write file 'input.js' because it would overwrite input file.
This breaks e.g. the systemjs built-in typescript transpilation:(https://github.com/systemjs/systemjs/blob/6243d0c7700ca802699796cfae0f9e213072e077/dist/system.src.js#L1210)
Looks to be caused by the changes made for allowJs option in #5471.
The
ts.transpilemethod now throws an error when given a file with a.jsextension:test.js:
output:
The actual error causing this is TS5055:
This breaks e.g. the systemjs built-in typescript transpilation:(https://github.com/systemjs/systemjs/blob/6243d0c7700ca802699796cfae0f9e213072e077/dist/system.src.js#L1210)
Looks to be caused by the changes made for
allowJsoption in #5471.