s2ts
Version:
A tool to automatically compile counter-strike TS files (.vts files)
36 lines (35 loc) • 1.48 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.transpileFromTypeScript = void 0;
const typescript_1 = require("typescript");
const log_1 = require("../log");
const transpileFromTypeScript = (file) => {
const result = (0, typescript_1.transpileModule)(file.content, {
compilerOptions: {
module: typescript_1.ModuleKind.ESNext,
target: typescript_1.ScriptTarget.ES2015,
removeComments: true,
esModuleInterop: false,
allowSyntheticDefaultImports: false
},
reportDiagnostics: true
});
if (result.diagnostics && result.diagnostics.length > 0) {
result.diagnostics.forEach(diagnostic => {
const message = (0, typescript_1.flattenDiagnosticMessageText)(diagnostic.messageText, "\n");
const now = new Date();
if (diagnostic.file && diagnostic.start !== undefined) {
const { line, character } = diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start);
log_1.logger.error(`Error in ${file.path} (${line + 1},${character + 1}): ${message}`);
}
else {
log_1.logger.error(`Error in ${file.path}: ${message}`);
}
});
}
return {
output: result.outputText,
success: !result.diagnostics || result.diagnostics.length === 0
};
};
exports.transpileFromTypeScript = transpileFromTypeScript;