@hagicode/hagi18n 0.1.0-dev.1.1.45d0d2f → 0.1.0-dev.10.1.970af26
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/LICENSE +21 -0
- package/README.md +35 -6
- package/README_cn.md +27 -6
- package/dist/cli.js +32 -15
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +2 -0
- package/dist/config.js +37 -5
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/locale-name.d.ts +1 -0
- package/dist/locale-name.js +26 -0
- package/dist/locale-name.js.map +1 -0
- package/dist/locale-toolkit.d.ts +7 -1
- package/dist/locale-toolkit.js +109 -30
- package/dist/locale-toolkit.js.map +1 -1
- package/package.json +4 -2
- package/skills/hagi18n/SKILL.md +39 -0
- package/skills/hagi18n/agents/openai.yaml +7 -0
- package/skills/hagi18n/references/cli-workflows.md +62 -0
- package/skills/hagi18n/references/config-and-layout.md +116 -0
- package/skills/hagi18n/references/development-and-validation.md +50 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 HagiCode
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# Hagi18n
|
|
2
2
|
|
|
3
|
+
[](https://www.npmjs.com/package/@hagicode/hagi18n)
|
|
4
|
+
[](https://www.npmjs.com/package/@hagicode/hagi18n)
|
|
5
|
+
[](./LICENSE)
|
|
6
|
+
|
|
3
7
|
`@hagicode/hagi18n` is a reusable YAML locale maintenance toolkit for HagiCode projects. It was abstracted from the mature Web workflow in `repos/web/buildTools`, but it runs as an independent package and CLI.
|
|
4
8
|
|
|
5
9
|
It supports:
|
|
@@ -9,9 +13,22 @@ It supports:
|
|
|
9
13
|
- Safe `sync` and `prune` mutations with dry-run defaults.
|
|
10
14
|
- Optional `hagi18n.yaml` defaults so each project can define its own locale layout.
|
|
11
15
|
|
|
16
|
+
## AI Skill
|
|
17
|
+
|
|
18
|
+
This repository now ships a local Codex-style skill at [`skills/hagi18n/SKILL.md`](skills/hagi18n/SKILL.md).
|
|
19
|
+
|
|
20
|
+
Use it when an AI agent needs to:
|
|
21
|
+
|
|
22
|
+
- run or explain `hagi18n audit`, `doctor`, `sync`, or `prune`
|
|
23
|
+
- add or review a `hagi18n.yaml` file
|
|
24
|
+
- inspect or modify the source in `repos/hagi18n`
|
|
25
|
+
- validate locale maintenance workflows against a consumer repository
|
|
26
|
+
|
|
27
|
+
The skill includes focused references for command usage, configuration, and package development.
|
|
28
|
+
|
|
12
29
|
## Requirements
|
|
13
30
|
|
|
14
|
-
- Node.js
|
|
31
|
+
- Node.js 24 or newer
|
|
15
32
|
- npm for package management
|
|
16
33
|
|
|
17
34
|
## Installation
|
|
@@ -61,6 +78,9 @@ Example:
|
|
|
61
78
|
localesRoot: src/locales
|
|
62
79
|
repoRoot: .
|
|
63
80
|
baseLocale: en-US
|
|
81
|
+
auditBaseLocales:
|
|
82
|
+
- en-US
|
|
83
|
+
- ja-JP
|
|
64
84
|
targetLocales:
|
|
65
85
|
- zh-CN
|
|
66
86
|
doctor:
|
|
@@ -86,6 +106,8 @@ Precedence is:
|
|
|
86
106
|
|
|
87
107
|
Relative paths in `hagi18n.yaml` are resolved from the config file directory.
|
|
88
108
|
|
|
109
|
+
`baseLocale` remains the single structural baseline for mutation workflows like `sync` and `prune`. `auditBaseLocales` is audit-only, ordered, and additive: the first resolved locale becomes the structural audit baseline and any additional locales are used only for exact duplicate-value detection during `audit`, `report`, and `doctor`.
|
|
110
|
+
|
|
89
111
|
## CLI Commands
|
|
90
112
|
|
|
91
113
|
```bash
|
|
@@ -100,15 +122,17 @@ hagi18n prune
|
|
|
100
122
|
Examples:
|
|
101
123
|
|
|
102
124
|
```bash
|
|
103
|
-
hagi18n audit --locales-root src/locales --base-locale en-US
|
|
125
|
+
hagi18n audit --locales-root src/locales --base-locale en-US --base-locale ja-JP
|
|
104
126
|
hagi18n audit --config hagi18n.yaml --json
|
|
105
127
|
hagi18n report --config hagi18n.yaml
|
|
106
|
-
hagi18n doctor --config hagi18n.yaml
|
|
128
|
+
hagi18n doctor --config hagi18n.yaml --base-locale en-US --base-locale zh-CN
|
|
107
129
|
hagi18n sync --from en-US --to zh-CN
|
|
108
130
|
hagi18n sync --from en-US --to zh-CN --write
|
|
109
131
|
hagi18n prune --from en-US --to zh-CN --write
|
|
110
132
|
```
|
|
111
133
|
|
|
134
|
+
`audit`, `report`, and `doctor` accept repeated `--base-locale` values. Repeated baselines are normalized, deduped, and preserved in order. `sync` and `prune` still use exactly one mutation baseline through `--from`.
|
|
135
|
+
|
|
112
136
|
`sync` and `prune` are dry-run by default. Pass `--write` to mutate files.
|
|
113
137
|
|
|
114
138
|
## Option Reference
|
|
@@ -117,7 +141,8 @@ hagi18n prune --from en-US --to zh-CN --write
|
|
|
117
141
|
| --- | --- | --- |
|
|
118
142
|
| `--config <path>` | all except `info` | Load defaults from a config file |
|
|
119
143
|
| `--locales-root <path>` | audit, report, doctor, sync, prune | Locale root directory |
|
|
120
|
-
|
|
|
144
|
+
| `auditBaseLocales` | `hagi18n.yaml` | Ordered audit-only baselines; first resolved locale stays structural |
|
|
145
|
+
| `--base-locale <locale>` | audit, report, doctor | Audit baseline locale; can be repeated |
|
|
121
146
|
| `--from <locale>` | sync, prune | Base locale for mutation commands |
|
|
122
147
|
| `--locale <locale>` | audit, report, doctor | Limit output to one or more locales |
|
|
123
148
|
| `--to <locale>` | sync, prune | Limit mutations to one or more target locales |
|
|
@@ -134,7 +159,7 @@ hagi18n prune --from en-US --to zh-CN --write
|
|
|
134
159
|
- `sync` and `prune` return exit code `1` only for parse or processing errors. Planned or applied mutations are reported in the summary.
|
|
135
160
|
- Command parsing failures return exit code `1` from the current `commander` integration.
|
|
136
161
|
|
|
137
|
-
The JSON payload is the same structured summary returned by the TypeScript API.
|
|
162
|
+
The JSON payload is the same structured summary returned by the TypeScript API. For multi-baseline audits it now includes additive `baselineLocales` at the summary level and `baselineValueMatches` for each target locale result.
|
|
138
163
|
|
|
139
164
|
## TypeScript API
|
|
140
165
|
|
|
@@ -150,7 +175,7 @@ import {
|
|
|
150
175
|
|
|
151
176
|
const audit = await auditLocaleTree({
|
|
152
177
|
localesRoot: "src/locales",
|
|
153
|
-
|
|
178
|
+
auditBaseLocales: ["en-US", "ja-JP"]
|
|
154
179
|
});
|
|
155
180
|
|
|
156
181
|
console.log(formatAuditSummary(audit));
|
|
@@ -182,3 +207,7 @@ npm install
|
|
|
182
207
|
npm test
|
|
183
208
|
npm run build
|
|
184
209
|
```
|
|
210
|
+
|
|
211
|
+
## License
|
|
212
|
+
|
|
213
|
+
MIT. See [LICENSE](./LICENSE).
|
package/README_cn.md
CHANGED
|
@@ -9,9 +9,22 @@
|
|
|
9
9
|
- 安全的 `sync` / `prune` 变更流程,默认 dry-run
|
|
10
10
|
- 可选的 `hagi18n.yaml` 项目配置,适配不同仓库目录结构
|
|
11
11
|
|
|
12
|
+
## AI Skill
|
|
13
|
+
|
|
14
|
+
仓库现在内置了一套本地 Codex 风格 skill,位置在 [`skills/hagi18n/SKILL.md`](skills/hagi18n/SKILL.md)。
|
|
15
|
+
|
|
16
|
+
当 AI 代理需要完成以下任务时,可以直接使用这套 skill:
|
|
17
|
+
|
|
18
|
+
- 执行或解释 `hagi18n audit`、`doctor`、`sync`、`prune`
|
|
19
|
+
- 新增或审查 `hagi18n.yaml`
|
|
20
|
+
- 检查或修改 `repos/hagi18n` 内源码
|
|
21
|
+
- 在消费方仓库中验证语言包维护流程
|
|
22
|
+
|
|
23
|
+
skill 内还附带了命令使用、配置结构和包开发流程的拆分参考文档。
|
|
24
|
+
|
|
12
25
|
## 前提
|
|
13
26
|
|
|
14
|
-
- Node.js
|
|
27
|
+
- Node.js 24 或更高版本
|
|
15
28
|
- 使用 npm 管理依赖
|
|
16
29
|
|
|
17
30
|
## 安装
|
|
@@ -56,6 +69,9 @@ CLI 默认会在当前工作目录查找 `hagi18n.yaml`。也可以显式传入
|
|
|
56
69
|
localesRoot: src/locales
|
|
57
70
|
repoRoot: .
|
|
58
71
|
baseLocale: en-US
|
|
72
|
+
auditBaseLocales:
|
|
73
|
+
- en-US
|
|
74
|
+
- ja-JP
|
|
59
75
|
targetLocales:
|
|
60
76
|
- zh-CN
|
|
61
77
|
doctor:
|
|
@@ -81,6 +97,8 @@ doctor:
|
|
|
81
97
|
|
|
82
98
|
`hagi18n.yaml` 中的相对路径会相对于配置文件所在目录解析,因此不同项目可以用它自定义 `baseLocale`、`localesRoot`、`repoRoot` 和默认目标语言目录。
|
|
83
99
|
|
|
100
|
+
`baseLocale` 仍然是 `sync` / `prune` 这类变更命令使用的单一结构基线。`auditBaseLocales` 是仅用于审计的有序附加配置:第一个解析后的语言仍作为结构比较基线,其余语言只参与 `audit`、`report`、`doctor` 中的精确重复值检测。
|
|
101
|
+
|
|
84
102
|
## CLI 命令
|
|
85
103
|
|
|
86
104
|
```bash
|
|
@@ -95,15 +113,17 @@ hagi18n prune
|
|
|
95
113
|
示例:
|
|
96
114
|
|
|
97
115
|
```bash
|
|
98
|
-
hagi18n audit --locales-root src/locales --base-locale en-US
|
|
116
|
+
hagi18n audit --locales-root src/locales --base-locale en-US --base-locale ja-JP
|
|
99
117
|
hagi18n audit --config hagi18n.yaml --json
|
|
100
118
|
hagi18n report --config hagi18n.yaml
|
|
101
|
-
hagi18n doctor --config hagi18n.yaml
|
|
119
|
+
hagi18n doctor --config hagi18n.yaml --base-locale en-US --base-locale zh-CN
|
|
102
120
|
hagi18n sync --from en-US --to zh-CN
|
|
103
121
|
hagi18n sync --from en-US --to zh-CN --write
|
|
104
122
|
hagi18n prune --from en-US --to zh-CN --write
|
|
105
123
|
```
|
|
106
124
|
|
|
125
|
+
`audit`、`report`、`doctor` 现在支持重复传入 `--base-locale`。这些基线会按顺序规范化并去重。`sync` 和 `prune` 仍然只通过 `--from` 使用单一变更基线。
|
|
126
|
+
|
|
107
127
|
`sync` 和 `prune` 默认不会写盘,只有传入 `--write` 才会真正修改文件。
|
|
108
128
|
|
|
109
129
|
## 参数说明
|
|
@@ -112,7 +132,8 @@ hagi18n prune --from en-US --to zh-CN --write
|
|
|
112
132
|
| --- | --- | --- |
|
|
113
133
|
| `--config <path>` | `info` 之外所有命令 | 加载配置文件 |
|
|
114
134
|
| `--locales-root <path>` | audit, report, doctor, sync, prune | 语言包根目录 |
|
|
115
|
-
|
|
|
135
|
+
| `auditBaseLocales` | `hagi18n.yaml` | 有序的审计专用基线列表;第一个解析结果仍为结构基线 |
|
|
136
|
+
| `--base-locale <locale>` | audit, report, doctor | 审计基线语言;可重复传入 |
|
|
116
137
|
| `--from <locale>` | sync, prune | 变更时使用的基准语言 |
|
|
117
138
|
| `--locale <locale>` | audit, report, doctor | 限定一个或多个目标语言 |
|
|
118
139
|
| `--to <locale>` | sync, prune | 限定一个或多个目标语言 |
|
|
@@ -128,7 +149,7 @@ hagi18n prune --from en-US --to zh-CN --write
|
|
|
128
149
|
- `doctor`:审计或仓库扫描存在问题时返回 `1`
|
|
129
150
|
- `sync` / `prune`:只有解析或处理错误时返回 `1`,正常的预览或写入结果都会输出摘要
|
|
130
151
|
|
|
131
|
-
JSON 输出与 TypeScript API 返回的结构化 summary
|
|
152
|
+
JSON 输出与 TypeScript API 返回的结构化 summary 保持一致。多基线审计时,summary 会新增 `baselineLocales`,每个目标语言结果会新增 `baselineValueMatches`。
|
|
132
153
|
|
|
133
154
|
## TypeScript API
|
|
134
155
|
|
|
@@ -144,7 +165,7 @@ import {
|
|
|
144
165
|
|
|
145
166
|
const audit = await auditLocaleTree({
|
|
146
167
|
localesRoot: "src/locales",
|
|
147
|
-
|
|
168
|
+
auditBaseLocales: ["en-US", "ja-JP"]
|
|
148
169
|
});
|
|
149
170
|
|
|
150
171
|
console.log(formatAuditSummary(audit));
|
package/dist/cli.js
CHANGED
|
@@ -7,13 +7,25 @@ function collectValues(value, previous = []) {
|
|
|
7
7
|
previous.push(value);
|
|
8
8
|
return previous;
|
|
9
9
|
}
|
|
10
|
-
function
|
|
10
|
+
function toLocaleArray(value) {
|
|
11
|
+
if (value === undefined) {
|
|
12
|
+
return undefined;
|
|
13
|
+
}
|
|
14
|
+
return Array.isArray(value) ? value : [value];
|
|
15
|
+
}
|
|
16
|
+
function getPrimaryBaseLocale(options) {
|
|
17
|
+
return toLocaleArray(options.baseLocale)?.[0] ?? options.from;
|
|
18
|
+
}
|
|
19
|
+
function toToolkitOptions(options, { includeAuditBaseLocales = false } = {}) {
|
|
11
20
|
const targetLocales = [...(options.locale ?? []), ...(options.to ?? [])];
|
|
12
21
|
return {
|
|
13
22
|
configPath: options.config,
|
|
14
23
|
localesRoot: options.localesRoot,
|
|
15
24
|
repoRoot: options.repoRoot,
|
|
16
|
-
baseLocale: options
|
|
25
|
+
baseLocale: getPrimaryBaseLocale(options),
|
|
26
|
+
auditBaseLocales: includeAuditBaseLocales
|
|
27
|
+
? toLocaleArray(options.baseLocale)
|
|
28
|
+
: undefined,
|
|
17
29
|
targetLocales: targetLocales.length > 0 ? targetLocales : undefined
|
|
18
30
|
};
|
|
19
31
|
}
|
|
@@ -30,15 +42,20 @@ function printSummary(summary, { json = false, formatter }) {
|
|
|
30
42
|
}
|
|
31
43
|
process.stdout.write(`${formatter(summary)}\n`);
|
|
32
44
|
}
|
|
33
|
-
function applySharedOptions(command, { includeRepoRoot = false } = {}) {
|
|
45
|
+
function applySharedOptions(command, { includeRepoRoot = false, auditBaseLocaleMode = "none" } = {}) {
|
|
34
46
|
command
|
|
35
47
|
.addOption(new Option("--config <path>", "load defaults from a hagi18n.yaml file"))
|
|
36
48
|
.addOption(new Option("--locales-root <path>", "locale root directory"))
|
|
37
|
-
.addOption(new Option("--base-locale <locale>", "base locale to compare against"))
|
|
38
49
|
.addOption(new Option("--from <locale>", "source locale used as the structure baseline"))
|
|
39
50
|
.addOption(new Option("--locale <locale>", "limit the command to one or more locales").argParser(collectValues))
|
|
40
51
|
.addOption(new Option("--to <locale>", "target locale; can be repeated").argParser(collectValues))
|
|
41
52
|
.addOption(new Option("--json", "print machine-readable JSON output"));
|
|
53
|
+
if (auditBaseLocaleMode === "single") {
|
|
54
|
+
command.addOption(new Option("--base-locale <locale>", "base locale to compare against"));
|
|
55
|
+
}
|
|
56
|
+
if (auditBaseLocaleMode === "repeat") {
|
|
57
|
+
command.addOption(new Option("--base-locale <locale>", "audit baseline locale; can be repeated, first resolved locale stays structural").argParser(collectValues));
|
|
58
|
+
}
|
|
42
59
|
if (includeRepoRoot) {
|
|
43
60
|
command.addOption(new Option("--repo-root <path>", "repository root for doctor scanning"));
|
|
44
61
|
}
|
|
@@ -66,37 +83,37 @@ export function createCli() {
|
|
|
66
83
|
});
|
|
67
84
|
applySharedOptions(program
|
|
68
85
|
.command("audit")
|
|
69
|
-
.description("audit YAML locale files for drift against
|
|
86
|
+
.description("audit YAML locale files for drift against one or more baseline locales")
|
|
70
87
|
.action(async (options) => {
|
|
71
|
-
const summary = await auditLocaleTree(toToolkitOptions(options));
|
|
88
|
+
const summary = await auditLocaleTree(toToolkitOptions(options, { includeAuditBaseLocales: true }));
|
|
72
89
|
printSummary(summary, {
|
|
73
90
|
json: options.json,
|
|
74
91
|
formatter: formatAuditSummary
|
|
75
92
|
});
|
|
76
93
|
process.exitCode = summary.hasIssues ? 1 : 0;
|
|
77
|
-
}));
|
|
94
|
+
}), { auditBaseLocaleMode: "repeat" });
|
|
78
95
|
applySharedOptions(program
|
|
79
96
|
.command("report")
|
|
80
|
-
.description("run audit and print JSON output")
|
|
97
|
+
.description("run multi-baseline audit and print JSON output")
|
|
81
98
|
.action(async (options) => {
|
|
82
|
-
const summary = await auditLocaleTree(toToolkitOptions(options));
|
|
99
|
+
const summary = await auditLocaleTree(toToolkitOptions(options, { includeAuditBaseLocales: true }));
|
|
83
100
|
printSummary(summary, {
|
|
84
101
|
json: true,
|
|
85
102
|
formatter: formatAuditSummary
|
|
86
103
|
});
|
|
87
104
|
process.exitCode = summary.hasIssues ? 1 : 0;
|
|
88
|
-
}));
|
|
105
|
+
}), { auditBaseLocaleMode: "repeat" });
|
|
89
106
|
applySharedOptions(program
|
|
90
107
|
.command("doctor")
|
|
91
|
-
.description("
|
|
108
|
+
.description("run multi-baseline locale audit and scan the repository for legacy locale references")
|
|
92
109
|
.action(async (options) => {
|
|
93
|
-
const summary = await doctorLocaleTree(toToolkitOptions(options));
|
|
110
|
+
const summary = await doctorLocaleTree(toToolkitOptions(options, { includeAuditBaseLocales: true }));
|
|
94
111
|
printSummary(summary, {
|
|
95
112
|
json: options.json,
|
|
96
113
|
formatter: formatDoctorSummary
|
|
97
114
|
});
|
|
98
115
|
process.exitCode = summary.hasIssues ? 1 : 0;
|
|
99
|
-
}), { includeRepoRoot: true });
|
|
116
|
+
}), { includeRepoRoot: true, auditBaseLocaleMode: "repeat" });
|
|
100
117
|
applyMutationOptions(program
|
|
101
118
|
.command("sync")
|
|
102
119
|
.description("add missing files and keys from the base locale")
|
|
@@ -128,9 +145,9 @@ export function createCli() {
|
|
|
128
145
|
program.addHelpText("after", `
|
|
129
146
|
|
|
130
147
|
Examples:
|
|
131
|
-
hagi18n audit --locales-root src/locales --base-locale en-US
|
|
148
|
+
hagi18n audit --locales-root src/locales --base-locale en-US --base-locale ja-JP
|
|
132
149
|
hagi18n report --config hagi18n.yaml
|
|
133
|
-
hagi18n doctor --repo-root . --locales-root src/locales
|
|
150
|
+
hagi18n doctor --repo-root . --locales-root src/locales --base-locale en-US --base-locale zh-CN
|
|
134
151
|
hagi18n sync --from en-US --to zh-CN --dry-run
|
|
135
152
|
hagi18n prune --from en-US --to zh-CN --write
|
|
136
153
|
`);
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,EACd,eAAe,EACf,cAAc,EAIf,MAAM,YAAY,CAAC;AAoBpB,SAAS,aAAa,CAAC,KAAa,EAAE,WAAqB,EAAE;IAC3D,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -20,6 +20,7 @@ export interface Hagi18nConfig {
|
|
|
20
20
|
localesRoot?: string;
|
|
21
21
|
repoRoot?: string;
|
|
22
22
|
baseLocale?: string;
|
|
23
|
+
auditBaseLocales?: string[];
|
|
23
24
|
targetLocales?: string[];
|
|
24
25
|
doctor?: Hagi18nDoctorConfig;
|
|
25
26
|
}
|
|
@@ -39,6 +40,7 @@ export interface ResolvedHagi18nConfig {
|
|
|
39
40
|
localesRoot: string;
|
|
40
41
|
repoRoot: string;
|
|
41
42
|
baseLocale: string;
|
|
43
|
+
auditBaseLocales: string[];
|
|
42
44
|
targetLocales: string[];
|
|
43
45
|
doctor: ResolvedHagi18nDoctorConfig;
|
|
44
46
|
}
|
package/dist/config.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { access, readFile } from "node:fs/promises";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import yaml from "js-yaml";
|
|
4
|
+
import { normalizeLocaleName } from "./locale-name.js";
|
|
4
5
|
export const DEFAULT_BASE_LOCALE = "en-US";
|
|
5
6
|
export const DEFAULT_CONFIG_FILE_NAMES = ["hagi18n.yaml", "hagi18n.yml"];
|
|
6
7
|
export const DEFAULT_DOCTOR_EXCLUDED_DIRECTORIES = [
|
|
@@ -94,6 +95,26 @@ function dedupeStrings(values) {
|
|
|
94
95
|
}
|
|
95
96
|
return output;
|
|
96
97
|
}
|
|
98
|
+
function normalizeLocaleValue(value) {
|
|
99
|
+
if (value === undefined) {
|
|
100
|
+
return undefined;
|
|
101
|
+
}
|
|
102
|
+
return normalizeLocaleName(value) ?? value.trim();
|
|
103
|
+
}
|
|
104
|
+
function normalizeLocaleValues(values) {
|
|
105
|
+
if (!values) {
|
|
106
|
+
return undefined;
|
|
107
|
+
}
|
|
108
|
+
const output = [];
|
|
109
|
+
for (const value of values) {
|
|
110
|
+
const normalizedValue = normalizeLocaleName(value) ?? value.trim();
|
|
111
|
+
if (!normalizedValue || output.includes(normalizedValue)) {
|
|
112
|
+
continue;
|
|
113
|
+
}
|
|
114
|
+
output.push(normalizedValue);
|
|
115
|
+
}
|
|
116
|
+
return output;
|
|
117
|
+
}
|
|
97
118
|
function normalizeAllowlist(value, fieldName) {
|
|
98
119
|
if (value === undefined) {
|
|
99
120
|
return undefined;
|
|
@@ -154,6 +175,7 @@ function parseConfigDocument(document, configPath) {
|
|
|
154
175
|
localesRoot: ensureString(document.localesRoot, "localesRoot"),
|
|
155
176
|
repoRoot: ensureString(document.repoRoot, "repoRoot"),
|
|
156
177
|
baseLocale: ensureString(document.baseLocale, "baseLocale"),
|
|
178
|
+
auditBaseLocales: ensureStringArray(document.auditBaseLocales, "auditBaseLocales"),
|
|
157
179
|
targetLocales: ensureStringArray(document.targetLocales, "targetLocales"),
|
|
158
180
|
doctor: parseDoctorConfig(document.doctor)
|
|
159
181
|
};
|
|
@@ -228,10 +250,9 @@ function resolveConfigLayer(config, { cwd, configPath }) {
|
|
|
228
250
|
return {
|
|
229
251
|
localesRoot: resolveStringPath(config.localesRoot, baseDirectory),
|
|
230
252
|
repoRoot: resolveStringPath(config.repoRoot, baseDirectory),
|
|
231
|
-
baseLocale: config.baseLocale
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
: undefined,
|
|
253
|
+
baseLocale: normalizeLocaleValue(config.baseLocale),
|
|
254
|
+
auditBaseLocales: normalizeLocaleValues(config.auditBaseLocales),
|
|
255
|
+
targetLocales: normalizeLocaleValues(config.targetLocales),
|
|
235
256
|
doctor: {
|
|
236
257
|
excludedDirectories: config.doctor?.excludedDirectories
|
|
237
258
|
? dedupeStrings(config.doctor.excludedDirectories)
|
|
@@ -297,6 +318,7 @@ function createDefaultResolvedConfig(cwd) {
|
|
|
297
318
|
localesRoot: path.resolve(cwd, "src/locales"),
|
|
298
319
|
repoRoot: cwd,
|
|
299
320
|
baseLocale: DEFAULT_BASE_LOCALE,
|
|
321
|
+
auditBaseLocales: [DEFAULT_BASE_LOCALE],
|
|
300
322
|
targetLocales: [],
|
|
301
323
|
doctor: {
|
|
302
324
|
excludedDirectories: [...DEFAULT_DOCTOR_EXCLUDED_DIRECTORIES],
|
|
@@ -319,6 +341,7 @@ export async function resolveHagi18nConfig(options = {}) {
|
|
|
319
341
|
localesRoot: options.localesRoot,
|
|
320
342
|
repoRoot: options.repoRoot,
|
|
321
343
|
baseLocale: options.baseLocale,
|
|
344
|
+
auditBaseLocales: options.auditBaseLocales,
|
|
322
345
|
targetLocales: options.targetLocales,
|
|
323
346
|
doctor: options.doctor
|
|
324
347
|
}, {
|
|
@@ -326,12 +349,21 @@ export async function resolveHagi18nConfig(options = {}) {
|
|
|
326
349
|
configPath: null
|
|
327
350
|
});
|
|
328
351
|
const mergedDoctor = mergeResolvedDoctorConfig(mergeResolvedDoctorConfig(defaults.doctor, fileLayer.doctor), overrideLayer.doctor);
|
|
352
|
+
const mergedBaseLocale = overrideLayer.baseLocale ?? fileLayer.baseLocale ?? defaults.baseLocale;
|
|
353
|
+
const mergedAuditBaseLocales = overrideLayer.auditBaseLocales && overrideLayer.auditBaseLocales.length > 0
|
|
354
|
+
? overrideLayer.auditBaseLocales
|
|
355
|
+
: overrideLayer.baseLocale
|
|
356
|
+
? [mergedBaseLocale]
|
|
357
|
+
: fileLayer.auditBaseLocales && fileLayer.auditBaseLocales.length > 0
|
|
358
|
+
? fileLayer.auditBaseLocales
|
|
359
|
+
: [mergedBaseLocale];
|
|
329
360
|
return {
|
|
330
361
|
cwd,
|
|
331
362
|
configPath: loaded.configPath,
|
|
332
363
|
localesRoot: overrideLayer.localesRoot ?? fileLayer.localesRoot ?? defaults.localesRoot,
|
|
333
364
|
repoRoot: overrideLayer.repoRoot ?? fileLayer.repoRoot ?? defaults.repoRoot,
|
|
334
|
-
baseLocale:
|
|
365
|
+
baseLocale: mergedBaseLocale,
|
|
366
|
+
auditBaseLocales: mergedAuditBaseLocales,
|
|
335
367
|
targetLocales: overrideLayer.targetLocales ??
|
|
336
368
|
fileLayer.targetLocales ??
|
|
337
369
|
defaults.targetLocales,
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { DEFAULT_BASE_LOCALE, DEFAULT_CONFIG_FILE_NAMES, DEFAULT_DOCTOR_ALLOWLIST, DEFAULT_DOCTOR_EXCLUDED_DIRECTORIES, DEFAULT_DOCTOR_EXCLUDED_PATH_PREFIXES, DEFAULT_DOCTOR_SCAN_RULES, DEFAULT_DOCTOR_TEXT_FILE_EXTENSIONS, findHagi18nConfigPath, loadHagi18nConfig, resolveHagi18nConfig, type DoctorScanRuleConfig, type Hagi18nConfig, type Hagi18nDoctorConfig, type LoadHagi18nConfigOptions, type LoadHagi18nConfigResult, type ResolvedDoctorScanRule, type ResolvedHagi18nConfig, type ResolvedHagi18nDoctorConfig, type ResolveHagi18nConfigOptions } from "./config.js";
|
|
2
|
-
export {
|
|
2
|
+
export { normalizeLocaleName } from "./locale-name.js";
|
|
3
|
+
export { auditHasIssues, auditLocaleTree, collectPlaceholderDifferences, collectPlaceholders, collectScalarPaths, createAuditResult, difference, doctorLocaleTree, formatAuditSummary, formatDoctorSummary, formatMutationSummary, listLocaleDirectories, pruneLocaleTree, readYamlLocaleFile, syncLocaleTree, walkYamlFiles, type AuditBaselineValueMatch, type AuditLocaleResult, type AuditLocaleTreeSummary, type DoctorLocaleTreeSummary, type DoctorRuleIssue, type LocaleMutationParseError, type LocaleParseError, type LocalePathIssue, type LocalePlaceholderMismatch, type LocaleToolkitOptions, type MutationChangedFile, type MutationLocaleToolkitOptions, type MutationRemovedFile, type MutationSummary, type MutationTotals, type YamlLocaleDocument } from "./locale-toolkit.js";
|
|
3
4
|
export { getPackageMetadata, packageName, packageVersion, type PackageMetadata } from "./version.js";
|
|
4
5
|
export interface Hagi18nRuntimeInfo {
|
|
5
6
|
packageName: string;
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { packageName, packageVersion } from "./version.js";
|
|
2
2
|
export { DEFAULT_BASE_LOCALE, DEFAULT_CONFIG_FILE_NAMES, DEFAULT_DOCTOR_ALLOWLIST, DEFAULT_DOCTOR_EXCLUDED_DIRECTORIES, DEFAULT_DOCTOR_EXCLUDED_PATH_PREFIXES, DEFAULT_DOCTOR_SCAN_RULES, DEFAULT_DOCTOR_TEXT_FILE_EXTENSIONS, findHagi18nConfigPath, loadHagi18nConfig, resolveHagi18nConfig } from "./config.js";
|
|
3
|
-
export {
|
|
3
|
+
export { normalizeLocaleName } from "./locale-name.js";
|
|
4
|
+
export { auditHasIssues, auditLocaleTree, collectPlaceholderDifferences, collectPlaceholders, collectScalarPaths, createAuditResult, difference, doctorLocaleTree, formatAuditSummary, formatDoctorSummary, formatMutationSummary, listLocaleDirectories, pruneLocaleTree, readYamlLocaleFile, syncLocaleTree, walkYamlFiles } from "./locale-toolkit.js";
|
|
4
5
|
export { getPackageMetadata, packageName, packageVersion } from "./version.js";
|
|
5
6
|
export function createRuntimeInfo() {
|
|
6
7
|
return {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE3D,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACxB,mCAAmC,EACnC,qCAAqC,EACrC,yBAAyB,EACzB,mCAAmC,EACnC,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EAUrB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,cAAc,EACd,eAAe,EACf,6BAA6B,EAC7B,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE3D,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACxB,mCAAmC,EACnC,qCAAqC,EACrC,yBAAyB,EACzB,mCAAmC,EACnC,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EAUrB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EACL,cAAc,EACd,eAAe,EACf,6BAA6B,EAC7B,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,aAAa,EAiBd,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,cAAc,EAEf,MAAM,cAAc,CAAC;AAQtB,MAAM,UAAU,iBAAiB;IAC/B,OAAO;QACL,WAAW;QACX,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,YAAY;KACrB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function normalizeLocaleName(value: unknown): string | null;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
const LOCALE_ALIAS_MAP = new Map([
|
|
2
|
+
["zh", "zh-CN"],
|
|
3
|
+
["zh-cn", "zh-CN"],
|
|
4
|
+
["en", "en-US"],
|
|
5
|
+
["en-us", "en-US"]
|
|
6
|
+
]);
|
|
7
|
+
export function normalizeLocaleName(value) {
|
|
8
|
+
if (typeof value !== "string") {
|
|
9
|
+
return null;
|
|
10
|
+
}
|
|
11
|
+
const trimmed = value.trim();
|
|
12
|
+
if (!trimmed) {
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
15
|
+
const aliasedLocale = LOCALE_ALIAS_MAP.get(trimmed.toLowerCase());
|
|
16
|
+
if (aliasedLocale) {
|
|
17
|
+
return aliasedLocale;
|
|
18
|
+
}
|
|
19
|
+
try {
|
|
20
|
+
return new Intl.Locale(trimmed).toString();
|
|
21
|
+
}
|
|
22
|
+
catch {
|
|
23
|
+
return trimmed;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=locale-name.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"locale-name.js","sourceRoot":"","sources":["../src/locale-name.ts"],"names":[],"mappings":"AAAA,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IAC/B,CAAC,IAAI,EAAE,OAAO,CAAC;IACf,CAAC,OAAO,EAAE,OAAO,CAAC;IAClB,CAAC,IAAI,EAAE,OAAO,CAAC;IACf,CAAC,OAAO,EAAE,OAAO,CAAC;CACnB,CAAC,CAAC;AAEH,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,aAAa,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAClE,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,IAAI,CAAC;QACH,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC"}
|
package/dist/locale-toolkit.d.ts
CHANGED
|
@@ -19,6 +19,10 @@ export interface LocalePlaceholderMismatch extends LocalePathIssue {
|
|
|
19
19
|
expected: string[];
|
|
20
20
|
actual: string[];
|
|
21
21
|
}
|
|
22
|
+
export interface AuditBaselineValueMatch extends LocalePathIssue {
|
|
23
|
+
baselineLocales: string[];
|
|
24
|
+
value: string;
|
|
25
|
+
}
|
|
22
26
|
export interface AuditLocaleResult {
|
|
23
27
|
locale: string;
|
|
24
28
|
missingFiles: string[];
|
|
@@ -28,10 +32,12 @@ export interface AuditLocaleResult {
|
|
|
28
32
|
missingKeys: LocalePathIssue[];
|
|
29
33
|
extraKeys: LocalePathIssue[];
|
|
30
34
|
placeholderMismatches: LocalePlaceholderMismatch[];
|
|
35
|
+
baselineValueMatches: AuditBaselineValueMatch[];
|
|
31
36
|
}
|
|
32
37
|
export interface AuditLocaleTreeSummary {
|
|
33
38
|
localesRoot: string;
|
|
34
39
|
baseLocale: string;
|
|
40
|
+
baselineLocales: string[];
|
|
35
41
|
locales: string[];
|
|
36
42
|
allLocales: string[];
|
|
37
43
|
baseFileCount: number;
|
|
@@ -80,6 +86,7 @@ export interface DoctorLocaleTreeSummary {
|
|
|
80
86
|
repoRoot: string;
|
|
81
87
|
localesRoot: string;
|
|
82
88
|
baseLocale: string;
|
|
89
|
+
baselineLocales: string[];
|
|
83
90
|
locales: string[];
|
|
84
91
|
audit: AuditLocaleTreeSummary;
|
|
85
92
|
legacyReferenceIssues: DoctorRuleIssue[];
|
|
@@ -94,7 +101,6 @@ export interface LocaleToolkitOptions extends ResolveHagi18nConfigOptions {
|
|
|
94
101
|
export interface MutationLocaleToolkitOptions extends LocaleToolkitOptions {
|
|
95
102
|
dryRun?: boolean;
|
|
96
103
|
}
|
|
97
|
-
export declare function normalizeLocaleName(value: unknown): string | null;
|
|
98
104
|
export declare function listLocaleDirectories(localesRoot: string): Promise<string[]>;
|
|
99
105
|
export declare function walkYamlFiles(directory: string, prefix?: string): Promise<string[]>;
|
|
100
106
|
export declare function readYamlLocaleFile(localesRoot: string, locale: string, relativeFilePath: string): Promise<YamlLocaleDocument>;
|