@localheroai/cli 0.0.74-rc.1 → 0.0.74-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -4
- package/dist/cli.js +3 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/check.js +389 -119
- package/dist/commands/check.js.map +1 -1
- package/dist/utils/check-changes.js +48 -0
- package/dist/utils/check-changes.js.map +1 -0
- package/dist/utils/check-git.js +93 -0
- package/dist/utils/check-git.js.map +1 -0
- package/dist/utils/check-summary.js +71 -0
- package/dist/utils/check-summary.js.map +1 -0
- package/dist/utils/ci-context.js +10 -0
- package/dist/utils/ci-context.js.map +1 -0
- package/dist/utils/key-lines.js +221 -0
- package/dist/utils/key-lines.js.map +1 -0
- package/dist/utils/placeholders.js +27 -2
- package/dist/utils/placeholders.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { parseFile } from './files.js';
|
|
2
|
+
import { dedupeYaml, findDuplicateYamlKeys } from './yaml-duplicates.js';
|
|
3
|
+
import { readFileAtRef, relativeToCwd, renamesSince } from './check-git.js';
|
|
4
|
+
export const DUPLICATE_KEY_ERROR = 'Map keys must be unique';
|
|
5
|
+
function isYaml(format) {
|
|
6
|
+
return format === 'yml' || format === 'yaml';
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* The same files as they were at `ref`, under their current paths so findings on both sides compare.
|
|
10
|
+
* A moved file is read from its old path. A file the base lacks, or cannot parse, is left out.
|
|
11
|
+
* `deletedTargets` are target files the change removed; they exist only at the base.
|
|
12
|
+
* Throws when git fails.
|
|
13
|
+
*/
|
|
14
|
+
export function baseFileSet(git, ref, current, deletedTargets) {
|
|
15
|
+
const renames = renamesSince(git, ref);
|
|
16
|
+
const rawByPath = new Map();
|
|
17
|
+
const duplicates = [];
|
|
18
|
+
const readRaw = (path) => {
|
|
19
|
+
if (!rawByPath.has(path))
|
|
20
|
+
rawByPath.set(path, readFileAtRef(git, ref, renames.get(relativeToCwd(path)) ?? path));
|
|
21
|
+
return rawByPath.get(path) ?? null;
|
|
22
|
+
};
|
|
23
|
+
const atBase = (file) => {
|
|
24
|
+
const raw = readRaw(file.path);
|
|
25
|
+
if (raw === null)
|
|
26
|
+
return null;
|
|
27
|
+
const version = (text) => ({ ...file, content: Buffer.from(text).toString('base64') });
|
|
28
|
+
try {
|
|
29
|
+
parseFile(raw, file.format, file.path);
|
|
30
|
+
return version(raw);
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
if (!isYaml(file.format) || !String(error).includes(DUPLICATE_KEY_ERROR))
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
for (const duplicate of findDuplicateYamlKeys(raw, file.locale)) {
|
|
37
|
+
duplicates.push({ locale: file.locale, path: file.path, ...duplicate });
|
|
38
|
+
}
|
|
39
|
+
return version(dedupeYaml(raw));
|
|
40
|
+
};
|
|
41
|
+
const present = (files) => files.map(atBase).filter((file) => file !== null);
|
|
42
|
+
const targetFilesByLocale = {};
|
|
43
|
+
for (const [locale, files] of Object.entries(current.targetFilesByLocale)) {
|
|
44
|
+
targetFilesByLocale[locale] = present([...files, ...deletedTargets.filter((file) => file.locale === locale)]);
|
|
45
|
+
}
|
|
46
|
+
return { sourceFiles: present(current.sourceFiles), targetFilesByLocale, duplicates };
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=check-changes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check-changes.js","sourceRoot":"","sources":["../../src/utils/check-changes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { execFileSync } from 'child_process';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
export const runGit = (args) => execFileSync('git', args, { encoding: 'utf-8', maxBuffer: 10 * 1024 * 1024, stdio: ['ignore', 'pipe', 'pipe'] });
|
|
4
|
+
const SHORT_SHA_LENGTH = 7;
|
|
5
|
+
const MISSING_AT_REF = /does not exist in|exists on disk, but not in/;
|
|
6
|
+
function tryGit(git, args) {
|
|
7
|
+
try {
|
|
8
|
+
return git(args).trim();
|
|
9
|
+
}
|
|
10
|
+
catch {
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
function hasCommit(git, sha) {
|
|
15
|
+
return tryGit(git, ['cat-file', '-e', `${sha}^{commit}`]) !== null;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* On a pull request GitHub checks out a merge commit whose first parent is the base branch tip, so
|
|
19
|
+
* diffing against that parent shows exactly what merging the PR changes. A depth-1 checkout has the
|
|
20
|
+
* parent's SHA but not the commit, so it is fetched.
|
|
21
|
+
*/
|
|
22
|
+
function pullRequestBase(git, pullRequest) {
|
|
23
|
+
const head = tryGit(git, ['rev-parse', 'HEAD']);
|
|
24
|
+
if (pullRequest.sha && head !== pullRequest.sha)
|
|
25
|
+
return null;
|
|
26
|
+
const headObject = tryGit(git, ['cat-file', '-p', 'HEAD']) ?? '';
|
|
27
|
+
const parents = [...headObject.matchAll(/^parent (\S+)$/gm)].map((match) => match[1]);
|
|
28
|
+
if (parents.length < 2)
|
|
29
|
+
return null;
|
|
30
|
+
const base = parents[0];
|
|
31
|
+
const short = base.slice(0, SHORT_SHA_LENGTH);
|
|
32
|
+
if (!hasCommit(git, base)) {
|
|
33
|
+
tryGit(git, ['fetch', '--no-tags', '--depth=1', 'origin', base]);
|
|
34
|
+
if (!hasCommit(git, base))
|
|
35
|
+
return { error: `the base commit ${short} is not in this checkout and could not be fetched` };
|
|
36
|
+
}
|
|
37
|
+
return { ref: base, label: `${pullRequest.baseRef} (${short})` };
|
|
38
|
+
}
|
|
39
|
+
function resolveBranch(git, branch) {
|
|
40
|
+
for (const ref of [branch, `origin/${branch}`, `refs/remotes/origin/${branch}`]) {
|
|
41
|
+
if (tryGit(git, ['rev-parse', '--verify', '--quiet', `${ref}^{commit}`]))
|
|
42
|
+
return ref;
|
|
43
|
+
}
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
/** Unlike translate's resolveCompareRef, no fallback to the branch tip: that would blame the PR for the base's later commits. */
|
|
47
|
+
function branchBase(git, branches) {
|
|
48
|
+
for (const branch of branches) {
|
|
49
|
+
const ref = resolveBranch(git, branch);
|
|
50
|
+
if (!ref)
|
|
51
|
+
continue;
|
|
52
|
+
const mergeBase = tryGit(git, ['merge-base', ref, 'HEAD']);
|
|
53
|
+
if (mergeBase)
|
|
54
|
+
return { ref: mergeBase, label: ref };
|
|
55
|
+
return { error: `this checkout has no commit in common with ${ref}, likely a shallow clone` };
|
|
56
|
+
}
|
|
57
|
+
return { error: `the base branch ${branches.join(' or ')} was not found` };
|
|
58
|
+
}
|
|
59
|
+
export function resolveChangeBase(git, options) {
|
|
60
|
+
if (tryGit(git, ['rev-parse', '--git-dir']) === null)
|
|
61
|
+
return { error: 'this is not a git repository' };
|
|
62
|
+
const fromPullRequest = options.pullRequest ? pullRequestBase(git, options.pullRequest) : null;
|
|
63
|
+
if (fromPullRequest && 'ref' in fromPullRequest)
|
|
64
|
+
return fromPullRequest;
|
|
65
|
+
const fromBranch = branchBase(git, options.baseBranches);
|
|
66
|
+
if ('ref' in fromBranch || !fromPullRequest)
|
|
67
|
+
return fromBranch;
|
|
68
|
+
return fromPullRequest;
|
|
69
|
+
}
|
|
70
|
+
export function relativeToCwd(filePath) {
|
|
71
|
+
return path.relative(process.cwd(), path.resolve(filePath)).split(path.sep).join('/');
|
|
72
|
+
}
|
|
73
|
+
/** Files renamed since `ref`, as a map from the current path to the path at `ref`, both relative to the working directory. */
|
|
74
|
+
export function renamesSince(git, ref) {
|
|
75
|
+
const fields = git(['diff', '--name-status', '-z', '--find-renames', '--diff-filter=R', '--relative', ref]).split('\0');
|
|
76
|
+
const renames = new Map();
|
|
77
|
+
for (let i = 0; i + 2 < fields.length; i += 3)
|
|
78
|
+
renames.set(fields[i + 2], fields[i + 1]);
|
|
79
|
+
return renames;
|
|
80
|
+
}
|
|
81
|
+
/** The file's content at `ref`, or null when it did not exist there. Throws when git itself fails. */
|
|
82
|
+
export function readFileAtRef(git, ref, filePath) {
|
|
83
|
+
try {
|
|
84
|
+
return git(['show', `${ref}:./${relativeToCwd(filePath)}`]);
|
|
85
|
+
}
|
|
86
|
+
catch (error) {
|
|
87
|
+
const { message, stderr } = error;
|
|
88
|
+
if (MISSING_AT_REF.test(`${message}\n${String(stderr ?? '')}`))
|
|
89
|
+
return null;
|
|
90
|
+
throw error;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=check-git.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check-git.js","sourceRoot":"","sources":["../../src/utils/check-git.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
const MAX_LISTED_PROBLEMS = 50;
|
|
2
|
+
const COLUMNS = [
|
|
3
|
+
['missing', 'Missing'],
|
|
4
|
+
['placeholders', 'Placeholders'],
|
|
5
|
+
['plurals', 'Plural forms'],
|
|
6
|
+
['structure', 'Structure'],
|
|
7
|
+
['conflicts', 'Conflicts'],
|
|
8
|
+
['orphans', 'Orphans']
|
|
9
|
+
];
|
|
10
|
+
export function plural(count, word) {
|
|
11
|
+
return `${count} ${word}${count === 1 ? '' : 's'}`;
|
|
12
|
+
}
|
|
13
|
+
function escapeMarkdown(text) {
|
|
14
|
+
return text.replace(/[\\`*_[\]<>|]/g, '\\$&');
|
|
15
|
+
}
|
|
16
|
+
function statusLine(input) {
|
|
17
|
+
const { changes, problems } = input;
|
|
18
|
+
if (changes === null)
|
|
19
|
+
return problems.length ? `${plural(problems.length, 'problem')} found.` : 'No problems found.';
|
|
20
|
+
if ('error' in changes) {
|
|
21
|
+
return [
|
|
22
|
+
'> [!WARNING]',
|
|
23
|
+
`> Could not compare with the base branch: ${escapeMarkdown(changes.error)}.`,
|
|
24
|
+
'> Checked every key instead. These problems do not fail the check.',
|
|
25
|
+
'> Check out with `fetch-depth: 0` in actions/checkout if this keeps happening.'
|
|
26
|
+
].join('\n');
|
|
27
|
+
}
|
|
28
|
+
const found = problems.length ? `${plural(problems.length, 'new problem')}.` : 'No new problems.';
|
|
29
|
+
return `Compared with \`${changes.base}\`: ${found}`;
|
|
30
|
+
}
|
|
31
|
+
function problemList(problems) {
|
|
32
|
+
const shown = problems.slice(0, MAX_LISTED_PROBLEMS);
|
|
33
|
+
const lines = [];
|
|
34
|
+
for (const locale of new Set(shown.map((p) => p.locale))) {
|
|
35
|
+
lines.push(`#### ${locale}`, '');
|
|
36
|
+
for (const problem of shown.filter((p) => p.locale === locale)) {
|
|
37
|
+
lines.push(`- ${escapeMarkdown(problem.message)} in \`${problem.file}\``);
|
|
38
|
+
}
|
|
39
|
+
lines.push('');
|
|
40
|
+
}
|
|
41
|
+
if (problems.length > shown.length) {
|
|
42
|
+
lines.push(`${problems.length - shown.length} more not shown. Run check --json for the full report.`, '');
|
|
43
|
+
}
|
|
44
|
+
return lines;
|
|
45
|
+
}
|
|
46
|
+
function countsTable(counts) {
|
|
47
|
+
const rows = counts.filter(({ counts: c }) => COLUMNS.some(([column]) => c[column] > 0));
|
|
48
|
+
if (rows.length === 0)
|
|
49
|
+
return [];
|
|
50
|
+
return [
|
|
51
|
+
`| Locale | ${COLUMNS.map(([, title]) => title).join(' | ')} |`,
|
|
52
|
+
`| --- | ${COLUMNS.map(() => '---').join(' | ')} |`,
|
|
53
|
+
...rows.map(({ locale, counts: c }) => `| ${locale} | ${COLUMNS.map(([column]) => c[column]).join(' | ')} |`),
|
|
54
|
+
''
|
|
55
|
+
];
|
|
56
|
+
}
|
|
57
|
+
export function buildStepSummary(input) {
|
|
58
|
+
const lines = ['## Translation check', '', statusLine(input), '', ...problemList(input.problems)];
|
|
59
|
+
const table = countsTable(input.counts);
|
|
60
|
+
if (table.length && input.changes && 'base' in input.changes) {
|
|
61
|
+
lines.push('### Existing problems', '', 'Already on the base branch. They do not fail the check.', '', ...table);
|
|
62
|
+
}
|
|
63
|
+
else if (table.length && input.changes) {
|
|
64
|
+
lines.push('### Problems found', '', ...table);
|
|
65
|
+
}
|
|
66
|
+
if (input.missingTranslations) {
|
|
67
|
+
lines.push('Localhero.ai can fill missing translations automatically: https://localhero.ai', '');
|
|
68
|
+
}
|
|
69
|
+
return lines.join('\n');
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=check-summary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check-summary.js","sourceRoot":"","sources":["../../src/utils/check-summary.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export function detectCiContext(env) {
|
|
2
|
+
const githubActions = env.GITHUB_ACTIONS === 'true';
|
|
3
|
+
const baseRef = env.GITHUB_BASE_REF;
|
|
4
|
+
return {
|
|
5
|
+
githubActions,
|
|
6
|
+
pullRequest: githubActions && baseRef ? { baseRef, ...(env.GITHUB_SHA ? { sha: env.GITHUB_SHA } : {}) } : null,
|
|
7
|
+
stepSummaryPath: env.GITHUB_STEP_SUMMARY || null
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=ci-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ci-context.js","sourceRoot":"","sources":["../../src/utils/ci-context.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,eAAe,CAAC,GAAQ;IACtC,MAAM,aAAa,GAAG,GAAG,CAAC,cAAc,KAAK,MAAM,CAAC;IACpD,MAAM,OAAO,GAAG,GAAG,CAAC,eAAe,CAAC;IACpC,OAAO;QACL,aAAa;QACb,WAAW,EAAE,aAAa,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;QAC9G,eAAe,EAAE,GAAG,CAAC,mBAAmB,IAAI,IAAI;KACjD,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
import { LineCounter, isMap, isScalar, parseDocument } from 'yaml';
|
|
2
|
+
import { PLURAL_SUFFIX_REGEX, createUniqueKey, parsePoFile } from './po-utils.js';
|
|
3
|
+
const NO_LINES = () => null;
|
|
4
|
+
/**
|
|
5
|
+
* Parses a translation file once and returns a lookup for the 1-based line
|
|
6
|
+
* where a key, as check reports it, is defined. The lookup returns null when
|
|
7
|
+
* the line cannot be pinned down with certainty, since a wrong line is worse
|
|
8
|
+
* than none.
|
|
9
|
+
*/
|
|
10
|
+
export function keyLineFinder(content, format, locale) {
|
|
11
|
+
try {
|
|
12
|
+
switch (format) {
|
|
13
|
+
case 'yml':
|
|
14
|
+
case 'yaml':
|
|
15
|
+
return treeLookup(yamlTree(content), locale);
|
|
16
|
+
case 'json':
|
|
17
|
+
return treeLookup(jsonTree(content), locale);
|
|
18
|
+
case 'po':
|
|
19
|
+
case 'pot':
|
|
20
|
+
return poLookup(content);
|
|
21
|
+
default:
|
|
22
|
+
return NO_LINES;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
catch {
|
|
26
|
+
return NO_LINES;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
function treeLookup(tree, locale) {
|
|
30
|
+
if (!tree)
|
|
31
|
+
return NO_LINES;
|
|
32
|
+
const wrapper = locale === undefined ? undefined : tree.get(locale);
|
|
33
|
+
const root = wrapper?.children ?? tree;
|
|
34
|
+
return (key) => {
|
|
35
|
+
const lines = new Set(matchLines(root, key.split('.')));
|
|
36
|
+
return lines.size === 1 ? [...lines][0] : null;
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
// Keys are flattened with dots, so a key's own dots and nesting look the same:
|
|
40
|
+
// "a.b.c" may be a > b > c, "a.b" > c or a > "b.c". Every split is tried.
|
|
41
|
+
function matchLines(tree, segments) {
|
|
42
|
+
const lines = [];
|
|
43
|
+
for (let taken = 1; taken <= segments.length; taken++) {
|
|
44
|
+
const entry = tree.get(segments.slice(0, taken).join('.'));
|
|
45
|
+
if (!entry)
|
|
46
|
+
continue;
|
|
47
|
+
if (taken === segments.length) {
|
|
48
|
+
lines.push(entry.line);
|
|
49
|
+
}
|
|
50
|
+
else if (entry.children) {
|
|
51
|
+
lines.push(...matchLines(entry.children, segments.slice(taken)));
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return lines;
|
|
55
|
+
}
|
|
56
|
+
// Repeated keys overwrite, as they do when the file is loaded.
|
|
57
|
+
function yamlTree(content) {
|
|
58
|
+
const lineCounter = new LineCounter();
|
|
59
|
+
const doc = parseDocument(content, { lineCounter, uniqueKeys: false });
|
|
60
|
+
if (doc.errors.length > 0)
|
|
61
|
+
return null;
|
|
62
|
+
const toTree = (node) => {
|
|
63
|
+
if (!isMap(node))
|
|
64
|
+
return null;
|
|
65
|
+
const tree = new Map();
|
|
66
|
+
for (const pair of node.items) {
|
|
67
|
+
if (!isScalar(pair.key) || !pair.key.range)
|
|
68
|
+
continue;
|
|
69
|
+
tree.set(String(pair.key.value), {
|
|
70
|
+
line: lineCounter.linePos(pair.key.range[0]).line,
|
|
71
|
+
children: toTree(pair.value)
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
return tree;
|
|
75
|
+
};
|
|
76
|
+
return toTree(doc.contents);
|
|
77
|
+
}
|
|
78
|
+
// Scans JSON that JSON.parse has already accepted, so it only tracks positions
|
|
79
|
+
// and does not validate. Repeated keys overwrite, as in JSON.parse.
|
|
80
|
+
function jsonTree(content) {
|
|
81
|
+
JSON.parse(content);
|
|
82
|
+
let pos = 0;
|
|
83
|
+
let line = 1;
|
|
84
|
+
const skipWhitespace = () => {
|
|
85
|
+
while (/\s/.test(content[pos] ?? '')) {
|
|
86
|
+
if (content[pos] === '\n')
|
|
87
|
+
line++;
|
|
88
|
+
pos++;
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
const skipSeparator = () => {
|
|
92
|
+
skipWhitespace();
|
|
93
|
+
if (content[pos] === ',')
|
|
94
|
+
pos++;
|
|
95
|
+
skipWhitespace();
|
|
96
|
+
};
|
|
97
|
+
const readString = () => {
|
|
98
|
+
const start = pos;
|
|
99
|
+
pos++;
|
|
100
|
+
while (content[pos] !== '"') {
|
|
101
|
+
pos += content[pos] === '\\' ? 2 : 1;
|
|
102
|
+
}
|
|
103
|
+
pos++;
|
|
104
|
+
return JSON.parse(content.slice(start, pos));
|
|
105
|
+
};
|
|
106
|
+
const readArray = () => {
|
|
107
|
+
pos++;
|
|
108
|
+
skipWhitespace();
|
|
109
|
+
while (content[pos] !== ']') {
|
|
110
|
+
readValue();
|
|
111
|
+
skipSeparator();
|
|
112
|
+
}
|
|
113
|
+
pos++;
|
|
114
|
+
};
|
|
115
|
+
const readObject = () => {
|
|
116
|
+
const tree = new Map();
|
|
117
|
+
pos++;
|
|
118
|
+
skipWhitespace();
|
|
119
|
+
while (content[pos] !== '}') {
|
|
120
|
+
const keyLine = line;
|
|
121
|
+
const key = readString();
|
|
122
|
+
skipWhitespace();
|
|
123
|
+
pos++;
|
|
124
|
+
tree.set(key, { line: keyLine, children: readValue() });
|
|
125
|
+
skipSeparator();
|
|
126
|
+
}
|
|
127
|
+
pos++;
|
|
128
|
+
return tree;
|
|
129
|
+
};
|
|
130
|
+
const readValue = () => {
|
|
131
|
+
skipWhitespace();
|
|
132
|
+
const char = content[pos];
|
|
133
|
+
if (char === '{')
|
|
134
|
+
return readObject();
|
|
135
|
+
if (char === '[') {
|
|
136
|
+
readArray();
|
|
137
|
+
}
|
|
138
|
+
else if (char === '"') {
|
|
139
|
+
readString();
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
while (pos < content.length && !/[\s,\]}]/.test(content[pos]))
|
|
143
|
+
pos++;
|
|
144
|
+
}
|
|
145
|
+
return null;
|
|
146
|
+
};
|
|
147
|
+
return readValue();
|
|
148
|
+
}
|
|
149
|
+
const PO_STRING = '"((?:[^"\\\\]|\\\\.)*)"';
|
|
150
|
+
const PO_KEYWORD_LINE = new RegExp(`^(msgctxt|msgid|msgid_plural|msgstr(?:\\[\\d+\\])?)\\s*${PO_STRING}$`);
|
|
151
|
+
const PO_CONTINUATION_LINE = new RegExp(`^${PO_STRING}$`);
|
|
152
|
+
const PO_ESCAPES = { n: '\n', t: '\t', r: '\r' };
|
|
153
|
+
function unescapePo(value) {
|
|
154
|
+
return value.replace(/\\(.)/g, (_, char) => PO_ESCAPES[char] ?? char);
|
|
155
|
+
}
|
|
156
|
+
// Line of each msgid, keyed as createUniqueKey keys it. Obsolete (#~) entries
|
|
157
|
+
// are skipped as comments; gettext-parser keeps them out of the catalog too.
|
|
158
|
+
function poMsgidLines(content) {
|
|
159
|
+
const lines = new Map();
|
|
160
|
+
let context = '';
|
|
161
|
+
let msgid = null;
|
|
162
|
+
let field = null;
|
|
163
|
+
const closeEntry = () => {
|
|
164
|
+
if (msgid)
|
|
165
|
+
lines.set(createUniqueKey(msgid.value, context), msgid.line);
|
|
166
|
+
msgid = null;
|
|
167
|
+
context = '';
|
|
168
|
+
};
|
|
169
|
+
const rows = content.split(/\r?\n/);
|
|
170
|
+
for (let index = 0; index < rows.length; index++) {
|
|
171
|
+
const row = rows[index].trim();
|
|
172
|
+
if (row === '' || row.startsWith('#')) {
|
|
173
|
+
field = null;
|
|
174
|
+
continue;
|
|
175
|
+
}
|
|
176
|
+
const keyword = row.match(PO_KEYWORD_LINE);
|
|
177
|
+
const continuation = row.match(PO_CONTINUATION_LINE);
|
|
178
|
+
if (keyword) {
|
|
179
|
+
const [, name, raw] = keyword;
|
|
180
|
+
if (name === 'msgctxt' || name === 'msgid') {
|
|
181
|
+
if (name === 'msgctxt' || msgid)
|
|
182
|
+
closeEntry();
|
|
183
|
+
field = { name, value: unescapePo(raw) };
|
|
184
|
+
if (name === 'msgctxt')
|
|
185
|
+
context = field.value;
|
|
186
|
+
else
|
|
187
|
+
msgid = { value: field.value, line: index + 1 };
|
|
188
|
+
}
|
|
189
|
+
else {
|
|
190
|
+
field = { name: 'other', value: '' };
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
else if (continuation && field) {
|
|
194
|
+
field.value += unescapePo(continuation[1]);
|
|
195
|
+
if (field.name === 'msgctxt')
|
|
196
|
+
context = field.value;
|
|
197
|
+
if (field.name === 'msgid' && msgid)
|
|
198
|
+
msgid.value = field.value;
|
|
199
|
+
}
|
|
200
|
+
else {
|
|
201
|
+
return null;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
closeEntry();
|
|
205
|
+
return lines;
|
|
206
|
+
}
|
|
207
|
+
function poLookup(content) {
|
|
208
|
+
const lines = poMsgidLines(content);
|
|
209
|
+
if (!lines)
|
|
210
|
+
return NO_LINES;
|
|
211
|
+
const pluralByKey = new Map(parsePoFile(content).entries.map((entry) => [createUniqueKey(entry.msgid, entry.msgctxt), Boolean(entry.msgid_plural)]));
|
|
212
|
+
return (key) => {
|
|
213
|
+
if (pluralByKey.has(key))
|
|
214
|
+
return lines.get(key) ?? null;
|
|
215
|
+
const baseKey = key.replace(PLURAL_SUFFIX_REGEX, '');
|
|
216
|
+
if (baseKey !== key && pluralByKey.get(baseKey))
|
|
217
|
+
return lines.get(baseKey) ?? null;
|
|
218
|
+
return null;
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
//# sourceMappingURL=key-lines.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"key-lines.js","sourceRoot":"","sources":["../../src/utils/key-lines.ts"],"names":[],"mappings":"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"}
|