@storm-stack/core
Version:
A build toolkit and runtime used by Storm Software in TypeScript applications
48 lines (46 loc) • 1.59 kB
JavaScript
import { __name } from './chunk-43IZMM3W.js';
import ts from 'typescript';
async function isolatedDeclarations(id, code, transformOptions, sourceMap) {
if (!ts.transpileDeclaration) {
return {
code: "",
errors: [
"TypeScript version is too low, please upgrade to TypeScript 5.5.2+."
]
};
}
const compilerOptions = {
declarationMap: sourceMap,
...transformOptions?.compilerOptions
};
let { outputText, diagnostics, sourceMapText } = ts.transpileDeclaration(code, {
fileName: id,
reportDiagnostics: true,
...transformOptions,
compilerOptions
});
if (compilerOptions.declarationMap) {
if (outputText.split("\n").at(-1)?.startsWith("//# sourceMappingURL=")) {
outputText = outputText.split("\n").slice(0, -1).join("\n");
}
}
const errors = diagnostics?.length ? [
ts.formatDiagnostics(diagnostics, {
getCanonicalFileName: /* @__PURE__ */ __name((fileName) => ts.sys.useCaseSensitiveFileNames ? fileName : fileName.toLowerCase(), "getCanonicalFileName"),
getCurrentDirectory: /* @__PURE__ */ __name(() => ts.sys.getCurrentDirectory(), "getCurrentDirectory"),
getNewLine: /* @__PURE__ */ __name(() => ts.sys.newLine, "getNewLine")
})
] : [];
if (sourceMapText) {
sourceMapText = JSON.parse(sourceMapText).mappings;
}
return {
code: outputText,
errors,
map: sourceMapText
};
}
__name(isolatedDeclarations, "isolatedDeclarations");
export { isolatedDeclarations };
//# sourceMappingURL=chunk-7NDQO62H.js.map
//# sourceMappingURL=chunk-7NDQO62H.js.map