verison bump, new files need to include var tokens
All checks were successful
Publish npm package / publish (push) Successful in 26s

This commit is contained in:
Gregor Lohaus
2026-05-24 15:05:22 +02:00
parent 7d01b2f7c9
commit e16fc8b482
4 changed files with 43 additions and 4 deletions

View File

@@ -245,6 +245,19 @@ function writeSkippedTemplate(
return 1
}
function replaceFlatTokens(content: string, manifest: ReverseMapManifest): string {
const entries = Object.entries(manifest.tokens)
.filter(([, tokens]) => tokens.length > 0)
.sort(([a], [b]) => b.length - a.length)
let result = content
for (const [rendered, tokens] of entries) {
if (rendered === "") continue
result = result.split(rendered).join(tokens[0]!)
}
return result
}
function dirnamePath(path: string): string {
const normalized = normalizePath(path)
const index = normalized.lastIndexOf("/")
@@ -340,6 +353,7 @@ function copyIncludedRenderedFiles(
templateRoot: string,
includedOutputPaths: string[],
directoryMap: Map<string, string>,
manifest: ReverseMapManifest,
): number {
let filesWritten = 0
@@ -347,7 +361,12 @@ function copyIncludedRenderedFiles(
const renderedPath = resolveInside(renderedRoot, outputPath)
const templatePath = resolveInside(templateRoot, inferTemplatePath(outputPath, directoryMap))
mkdirSync(dirname(templatePath), { recursive: true })
copyFileSync(renderedPath, templatePath)
const content = readFileSync(renderedPath)
if (isUtf8Text(content)) {
writeFileSync(templatePath, replaceFlatTokens(content.toString("utf-8"), manifest))
} else {
copyFileSync(renderedPath, templatePath)
}
filesWritten += 1
}
@@ -440,6 +459,7 @@ export function reverseDir(
templateRoot,
includedOutputPaths,
directoryMap,
manifest,
)
return { filesWritten, warnings }