refactor(cli): rewrite Deno.transpileOnly() to use SWC (#8090)

Co-authored-by: Kitson Kelly <me@kitsonkelly.com>
This commit is contained in:
Bartek Iwańczuk 2020-10-26 14:03:03 +01:00 committed by GitHub
parent aebbdd5cc2
commit 57cad53945
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 178 additions and 131 deletions

View file

@ -599,7 +599,6 @@ delete Object.prototype.__proto__;
const CompilerRequestType = {
RuntimeCompile: 2,
RuntimeBundle: 3,
RuntimeTranspile: 4,
};
function createBundleWriteFile(state) {
@ -999,31 +998,6 @@ delete Object.prototype.__proto__;
};
}
function runtimeTranspile(request) {
const result = {};
const { sources, compilerOptions } = request;
const parseResult = parseCompilerOptions(
compilerOptions,
);
const options = parseResult.options;
// TODO(bartlomieju): this options is excluded by `ts.convertCompilerOptionsFromJson`
// however stuff breaks if it's not passed (type_directives_js_main.js, compiler_js_error.ts)
options.allowNonTsExtensions = true;
for (const [fileName, inputText] of Object.entries(sources)) {
const { outputText: source, sourceMapText: map } = ts.transpileModule(
inputText,
{
fileName,
compilerOptions: options,
},
);
result[fileName] = { source, map };
}
return result;
}
function opCompilerRespond(msg) {
core.jsonOpSync("op_compiler_respond", msg);
}
@ -1041,11 +1015,6 @@ delete Object.prototype.__proto__;
opCompilerRespond(result);
break;
}
case CompilerRequestType.RuntimeTranspile: {
const result = runtimeTranspile(request);
opCompilerRespond(result);
break;
}
default:
throw new Error(
`!!! unhandled CompilerRequestType: ${request.type} (${