vite-typescript-plugin
Version:
A Vite plugin for seamless integration between Vite and Typescript.
35 lines (34 loc) • 1.3 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.emitFileCode = void 0;
const typescript_1 = __importDefault(require("typescript"));
const normalizePath_1 = require("./utils/normalizePath");
const mapFileRegExp = /(\.map)$/i;
const jsFileRegExp = /(\.(([cm]?jsx?)|json))$/i;
function emitFileCode(fileName) {
let outputText = "";
let sourceMapText;
const sourceFile = this.oldProgram.getSourceFile(fileName);
const emitFiles = {};
this.oldProgram.emit(sourceFile, (name, text) => {
if (mapFileRegExp.test(name)) {
sourceMapText = text;
}
else if (jsFileRegExp.test(name)) {
outputText = text;
}
else {
emitFiles[(0, normalizePath_1.normalizePath)(name)] = text;
}
}, undefined, undefined, this.transformers);
return this.getCacheFileDetails(fileName).emitFileValue = {
code: outputText,
map: sourceMapText,
diagnostics: typescript_1.default.getPreEmitDiagnostics(this.oldProgram, sourceFile),
emitFiles
};
}
exports.emitFileCode = emitFileCode;