verison bump, new files need to include var tokens
All checks were successful
Publish npm package / publish (push) Successful in 26s
All checks were successful
Publish npm package / publish (push) Successful in 26s
This commit is contained in:
22
reverse.ts
22
reverse.ts
@@ -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 }
|
||||
|
||||
Reference in New Issue
Block a user