mirror of
https://github.com/JamesIves/github-pages-deploy-action.git
synced 2023-12-15 20:03:39 +08:00
33 lines
1.4 KiB
JavaScript
33 lines
1.4 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.initializeTranspilerInstance = function (configs, memoryCache, logger) {
|
|
logger.debug('initializeTranspilerInstance(): create typescript compiler');
|
|
var _a = configs.parsedTsConfig, options = _a.options, fileNames = _a.fileNames;
|
|
var ts = configs.compilerModule;
|
|
var program = ts.createProgram(fileNames, options);
|
|
var updateFileInCache = function (contents, filePath) {
|
|
var file = memoryCache.files.get(filePath);
|
|
if (file && file.text !== contents) {
|
|
file.version++;
|
|
file.text = contents;
|
|
}
|
|
};
|
|
return {
|
|
compileFn: function (code, fileName) {
|
|
updateFileInCache(code, fileName);
|
|
logger.debug({ fileName: fileName }, 'compileFn(): compiling as isolated module');
|
|
var result = ts.transpileModule(code, {
|
|
fileName: fileName,
|
|
transformers: configs.tsCustomTransformers,
|
|
compilerOptions: options,
|
|
reportDiagnostics: configs.shouldReportDiagnostic(fileName),
|
|
});
|
|
if (result.diagnostics && configs.shouldReportDiagnostic(fileName)) {
|
|
configs.raiseDiagnostics(result.diagnostics, fileName, logger);
|
|
}
|
|
return [result.outputText, result.sourceMapText];
|
|
},
|
|
program: program,
|
|
};
|
|
};
|