Skip to content

Commit 5561a0d

Browse files
committed
fix: escapeRegExp for ftl matched
1 parent f2a9d47 commit 5561a0d

1 file changed

Lines changed: 3 additions & 4 deletions

File tree

packages/scaffold/src/core/builder.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { basename, dirname, join } from "node:path";
77
import process from "node:process";
88
import AdmZip from "adm-zip";
99
import chalk from "chalk";
10-
import { toMerged } from "es-toolkit";
10+
import { escapeRegExp, toMerged } from "es-toolkit";
1111
import { build as buildAsync } from "esbuild";
1212
import { copy, emptyDir, move, outputFile, outputJSON, readJSON, writeJson } from "fs-extra/esm";
1313
import { glob } from "tinyglobby";
@@ -168,12 +168,11 @@ export default class Build extends Base {
168168
const matches = [...ftlContent.matchAll(FTL_MESSAGE_PATTERN)];
169169

170170
for (const match of matches) {
171-
const message = match.groups?.message;
171+
const [matched, message, _pattern] = match;
172172
if (message) {
173-
const namespacedMessage = `${namespace}-${message}`;
174173
localeMessages.add(message);
175174
allMessages.add(message);
176-
ftlContent = ftlContent.replace(new RegExp(`^${message}`, "gm"), namespacedMessage);
175+
ftlContent = ftlContent.replace(new RegExp(`^${escapeRegExp(matched)}`, "gm"), `${namespace}-${matched}`);
177176
}
178177
}
179178

0 commit comments

Comments
 (0)