@saidksi/localizer-core 0.1.1 → 0.2.0
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 +7 -7
- package/dist/ai/anthropic.js +2 -2
- package/dist/ai/anthropic.js.map +1 -1
- package/dist/ai/dedup.d.ts +2 -2
- package/dist/ai/dedup.d.ts.map +1 -1
- package/dist/ai/dedup.js.map +1 -1
- package/dist/ai/index.d.ts +13 -6
- package/dist/ai/index.d.ts.map +1 -1
- package/dist/ai/index.js +19 -13
- package/dist/ai/index.js.map +1 -1
- package/dist/ai/openai.js +2 -2
- package/dist/ai/openai.js.map +1 -1
- package/dist/cache/index.d.ts +4 -4
- package/dist/cache/index.js +5 -5
- package/dist/cache/index.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/namespace.d.ts +22 -0
- package/dist/namespace.d.ts.map +1 -0
- package/dist/namespace.js +38 -0
- package/dist/namespace.js.map +1 -0
- package/dist/rewriter/index.d.ts +15 -4
- package/dist/rewriter/index.d.ts.map +1 -1
- package/dist/rewriter/index.js +24 -8
- package/dist/rewriter/index.js.map +1 -1
- package/dist/rewriter/ts-morph.d.ts +9 -3
- package/dist/rewriter/ts-morph.d.ts.map +1 -1
- package/dist/rewriter/ts-morph.js +35 -16
- package/dist/rewriter/ts-morph.js.map +1 -1
- package/dist/scanner/babel.d.ts +2 -2
- package/dist/scanner/babel.d.ts.map +1 -1
- package/dist/scanner/babel.js.map +1 -1
- package/dist/scanner/filters.d.ts +2 -2
- package/dist/scanner/filters.d.ts.map +1 -1
- package/dist/scanner/filters.js.map +1 -1
- package/dist/scanner/index.d.ts +5 -5
- package/dist/scanner/index.d.ts.map +1 -1
- package/dist/scanner/index.js.map +1 -1
- package/dist/scanner/typescript.d.ts +2 -2
- package/dist/scanner/typescript.d.ts.map +1 -1
- package/dist/scanner/typescript.js.map +1 -1
- package/dist/types.d.ts +7 -7
- package/dist/types.d.ts.map +1 -1
- package/dist/validator/index.d.ts +8 -8
- package/dist/validator/index.d.ts.map +1 -1
- package/dist/validator/index.js +3 -3
- package/dist/validator/index.js.map +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# @
|
|
1
|
+
# @saidksi/localizer-core
|
|
2
2
|
|
|
3
|
-
Core library for the
|
|
3
|
+
Core library for the Localizer i18n CLI tool. Provides AST-based string detection, AI-powered i18n key generation, code transformation, and validation.
|
|
4
4
|
|
|
5
5
|
## Features
|
|
6
6
|
|
|
@@ -13,15 +13,15 @@ Core library for the Localize i18n CLI tool. Provides AST-based string detection
|
|
|
13
13
|
## Installation
|
|
14
14
|
|
|
15
15
|
```bash
|
|
16
|
-
npm install @
|
|
16
|
+
npm install @saidksi/localizer-core
|
|
17
17
|
# or
|
|
18
|
-
pnpm add @
|
|
18
|
+
pnpm add @saidksi/localizer-core
|
|
19
19
|
```
|
|
20
20
|
|
|
21
21
|
## Quick Start
|
|
22
22
|
|
|
23
23
|
```typescript
|
|
24
|
-
import { Scanner, AIClient, Rewriter, Validator } from "@
|
|
24
|
+
import { Scanner, AIClient, Rewriter, Validator } from "@saidksi/localizer-core";
|
|
25
25
|
|
|
26
26
|
// 1. Scan for hardcoded strings
|
|
27
27
|
const scanner = new Scanner({ defaultLanguage: "en" });
|
|
@@ -114,7 +114,7 @@ const report = await validator.validate();
|
|
|
114
114
|
|
|
115
115
|
## Configuration
|
|
116
116
|
|
|
117
|
-
Create a `.
|
|
117
|
+
Create a `.localizer.config.json` in your project root:
|
|
118
118
|
|
|
119
119
|
```json
|
|
120
120
|
{
|
|
@@ -161,4 +161,4 @@ Contributions are welcome! Please open an issue or submit a pull request.
|
|
|
161
161
|
|
|
162
162
|
## Repository
|
|
163
163
|
|
|
164
|
-
https://github.com/SaidKSI/
|
|
164
|
+
https://github.com/SaidKSI/localizer-core
|
package/dist/ai/anthropic.js
CHANGED
|
@@ -34,7 +34,7 @@ export async function callAnthropic(requests, model, apiKey) {
|
|
|
34
34
|
}
|
|
35
35
|
catch (err) {
|
|
36
36
|
// Log and skip — don't fail the entire batch
|
|
37
|
-
console.error(`[
|
|
37
|
+
console.error(`[localizer] Anthropic call failed for "${request.value}": ${String(err)}`);
|
|
38
38
|
return;
|
|
39
39
|
}
|
|
40
40
|
const rawText = message.content[0]?.type === "text" ? message.content[0].text : "";
|
|
@@ -43,7 +43,7 @@ export async function callAnthropic(requests, model, apiKey) {
|
|
|
43
43
|
parsed = parseAIResponse(rawText);
|
|
44
44
|
}
|
|
45
45
|
catch (err) {
|
|
46
|
-
console.error(`[
|
|
46
|
+
console.error(`[localizer] Failed to parse response for "${request.value}": ${String(err)}`);
|
|
47
47
|
return;
|
|
48
48
|
}
|
|
49
49
|
// Track cost
|
package/dist/ai/anthropic.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/ai/anthropic.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAC1C,OAAO,MAAM,MAAM,SAAS,CAAC;AAE7B,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEvE,MAAM,eAAe,GAAG,CAAC,CAAC;AAE1B,iFAAiF;AAEjF,oDAAoD;AACpD,MAAM,CAAC,MAAM,eAAe,GAAsD;IAChF,iBAAiB,EAAK,EAAE,KAAK,EAAE,EAAE,GAAG,SAAS,EAAI,MAAM,EAAE,EAAE,GAAG,SAAS,EAAE;IACzE,mBAAmB,EAAG,EAAE,KAAK,EAAE,CAAC,GAAI,SAAS,EAAI,MAAM,EAAE,EAAE,GAAG,SAAS,EAAE;IACzE,kBAAkB,EAAI,EAAE,KAAK,EAAE,GAAG,GAAG,SAAS,EAAG,MAAM,EAAE,CAAC,GAAI,SAAS,EAAE;CAC1E,CAAC;AAEF,MAAM,UAAU,YAAY,CAC1B,KAAa,EACb,WAAmB,EACnB,YAAoB;IAEpB,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC,mBAAmB,CAAE,CAAC;IAC9E,OAAO,WAAW,GAAG,KAAK,CAAC,KAAK,GAAG,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC;AACjE,CAAC;AAUD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,QAAqB,EACrB,KAAa,EACb,MAAc;IAEd,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAsB,CAAC;IAChD,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,MAAM,OAAO,CAAC,GAAG,CACf,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACvB,KAAK,CAAC,KAAK,IAAI,EAAE;QACf,MAAM,MAAM,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAE/C,IAAI,OAA0B,CAAC;QAC/B,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACrC,KAAK;gBACL,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;aAC9C,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,6CAA6C;YAC7C,OAAO,CAAC,KAAK,CACX,
|
|
1
|
+
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/ai/anthropic.ts"],"names":[],"mappings":"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"}
|
package/dist/ai/dedup.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ScanResult, AIRequest,
|
|
1
|
+
import type { ScanResult, AIRequest, LocalizerConfig } from "../types.js";
|
|
2
2
|
/**
|
|
3
3
|
* Group scan results by string value.
|
|
4
4
|
* All results with the same value share one AI call.
|
|
@@ -10,7 +10,7 @@ export declare function deduplicateResults(results: ScanResult[]): Map<string, S
|
|
|
10
10
|
* Uses the first (representative) ScanResult for context.
|
|
11
11
|
* Includes related strings from the same component to guide consistent key naming.
|
|
12
12
|
*/
|
|
13
|
-
export declare function buildAIRequests(groups: Map<string, ScanResult[]>, config:
|
|
13
|
+
export declare function buildAIRequests(groups: Map<string, ScanResult[]>, config: LocalizerConfig, allResults?: ScanResult[]): AIRequest[];
|
|
14
14
|
/**
|
|
15
15
|
* Apply resolved keys back to all ScanResults.
|
|
16
16
|
* All results with the same string value get the same key.
|
package/dist/ai/dedup.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dedup.d.ts","sourceRoot":"","sources":["../../src/ai/dedup.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"dedup.d.ts","sourceRoot":"","sources":["../../src/ai/dedup.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AA4B1E;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,UAAU,EAAE,GACpB,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAW3B;AAmBD;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,EACjC,MAAM,EAAE,eAAe,EACvB,UAAU,CAAC,EAAE,UAAU,EAAE,GACxB,SAAS,EAAE,CAmDb;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,UAAU,EAAE,EACrB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,UAAU,EAAE,CAKd"}
|
package/dist/ai/dedup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dedup.js","sourceRoot":"","sources":["../../src/ai/dedup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAGzC,iFAAiF;AAEjF;;;GAGG;AACH,SAAS,mBAAmB,CAAC,QAAgB;IAC3C,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnD,wDAAwD;IACxD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;IACtD,OAAO,GAAG,MAAM,YAAY,CAAC;AAC/B,CAAC;AAED;;;;;GAKG;AACH,SAAS,qBAAqB,CAAC,OAAe;IAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACzC,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;AAC3C,CAAC;AAED,gFAAgF;AAEhF;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAqB;IAErB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC/C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,aAAa,CAAC,QAAgB,EAAE,SAAkB;IACzD,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1E,IAAI,GAAG,GAAG,GAAG,QAAQ,IAAI,aAAa,EAAE,CAAC;IACzC,IAAI,SAAS,EAAE,CAAC;QACd,GAAG,IAAI,IAAI,SAAS,EAAE,CAAC;IACzB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAiC,EACjC,
|
|
1
|
+
{"version":3,"file":"dedup.js","sourceRoot":"","sources":["../../src/ai/dedup.ts"],"names":[],"mappings":"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"}
|
package/dist/ai/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ScanResult,
|
|
1
|
+
import type { ScanResult, LocalizerConfig } from "../types.js";
|
|
2
2
|
export interface TranslateOptions {
|
|
3
3
|
dryRun?: boolean;
|
|
4
4
|
/** Override config.overwriteExisting for this run */
|
|
@@ -15,6 +15,13 @@ export interface TranslateResult {
|
|
|
15
15
|
uniqueStrings: number;
|
|
16
16
|
/** Number of AI calls actually made (may be less if some were already cached externally) */
|
|
17
17
|
aiCalls: number;
|
|
18
|
+
/**
|
|
19
|
+
* Maps absolute source file path → namespace (= JSON filename without .json).
|
|
20
|
+
* Pass this to `rewriteFiles()` so the hook namespace matches the JSON file.
|
|
21
|
+
*
|
|
22
|
+
* Example: { "/src/Header.tsx" → "header", "/admin/Header.tsx" → "header_1" }
|
|
23
|
+
*/
|
|
24
|
+
namespaceMap: Map<string, string>;
|
|
18
25
|
}
|
|
19
26
|
/**
|
|
20
27
|
* Translate a list of scan results using the configured AI provider.
|
|
@@ -26,7 +33,7 @@ export interface TranslateResult {
|
|
|
26
33
|
* 4. Assign resolvedKey back to all results
|
|
27
34
|
* 5. Write to messages/{lang}/{pageName}.json (unless dryRun)
|
|
28
35
|
*/
|
|
29
|
-
export declare function translateStrings(scanResults: ScanResult[], config:
|
|
36
|
+
export declare function translateStrings(scanResults: ScanResult[], config: LocalizerConfig, apiKey: string, options?: TranslateOptions): Promise<TranslateResult>;
|
|
30
37
|
export interface ExistingKeyEntry {
|
|
31
38
|
/** The i18n key, e.g. "auth.sign_in_button" */
|
|
32
39
|
key: string;
|
|
@@ -44,22 +51,22 @@ export interface TranslateExistingResult {
|
|
|
44
51
|
}
|
|
45
52
|
/**
|
|
46
53
|
* Translate a list of existing (key, value, pageName) entries into target languages.
|
|
47
|
-
* Used by `
|
|
54
|
+
* Used by `localizer translate --from-existing` and `localizer add-lang`.
|
|
48
55
|
*
|
|
49
56
|
* Skips entries that already have translations in target languages
|
|
50
57
|
* unless `overwrite` is true.
|
|
51
58
|
*/
|
|
52
|
-
export declare function translateExistingKeys(entries: ExistingKeyEntry[], config:
|
|
59
|
+
export declare function translateExistingKeys(entries: ExistingKeyEntry[], config: LocalizerConfig, apiKey: string, options?: {
|
|
53
60
|
dryRun?: boolean;
|
|
54
61
|
overwrite?: boolean;
|
|
55
62
|
langs?: string[];
|
|
56
63
|
}): Promise<TranslateExistingResult>;
|
|
57
64
|
/**
|
|
58
65
|
* Send a minimal test request to verify an API key is valid.
|
|
59
|
-
* Used by `
|
|
66
|
+
* Used by `localizer init` before saving the key to ~/.localizer.
|
|
60
67
|
* Returns true if the key works, false otherwise.
|
|
61
68
|
*/
|
|
62
|
-
export declare function validateApiKey(provider:
|
|
69
|
+
export declare function validateApiKey(provider: LocalizerConfig["aiProvider"], model: string, apiKey: string): Promise<boolean>;
|
|
63
70
|
export { deduplicateResults, buildAIRequests } from "./dedup.js";
|
|
64
71
|
export { buildTranslationPrompt, parseAIResponse } from "./prompts.js";
|
|
65
72
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/ai/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAc,eAAe,EAAa,MAAM,aAAa,CAAC;AAqRtF,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,qDAAqD;IACrD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,sDAAsD;IACtD,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,8CAA8C;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,sEAAsE;IACtE,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,0CAA0C;IAC1C,aAAa,EAAE,MAAM,CAAC;IACtB,4FAA4F;IAC5F,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,UAAU,EAAE,EACzB,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,eAAe,CAAC,CAsE1B;AAID,MAAM,WAAW,gBAAgB;IAC/B,+CAA+C;IAC/C,GAAG,EAAE,MAAM,CAAC;IACZ,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,gEAAgE;IAChE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,gBAAgB,EAAE,EAC3B,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CAAO,GACxE,OAAO,CAAC,uBAAuB,CAAC,CAmKlC;AAID;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,eAAe,CAAC,YAAY,CAAC,EACvC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC,CAuBlB;AAGD,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/ai/index.js
CHANGED
|
@@ -4,6 +4,7 @@ import { deduplicateResults, buildAIRequests, applyResolvedKeys } from "./dedup.
|
|
|
4
4
|
import { callAnthropic, estimateCost } from "./anthropic.js";
|
|
5
5
|
import { callOpenAI } from "./openai.js";
|
|
6
6
|
import { flattenKeys } from "../validator/index.js";
|
|
7
|
+
import { resolveNamespaces } from "../namespace.js";
|
|
7
8
|
// ─── Key conflict resolution (flat key vs nested namespace) ──────────────────
|
|
8
9
|
/**
|
|
9
10
|
* Detect and fix key namespace conflicts.
|
|
@@ -93,10 +94,6 @@ function normalizeConsistentKeys(requests, responses) {
|
|
|
93
94
|
}
|
|
94
95
|
}
|
|
95
96
|
// ─── Messages JSON helpers ────────────────────────────────────────────────────
|
|
96
|
-
/** "src/pages/Login.tsx" → "login" */
|
|
97
|
-
function getPageName(filePath) {
|
|
98
|
-
return basename(filePath, extname(filePath)).toLowerCase();
|
|
99
|
-
}
|
|
100
97
|
function isPlainObject(v) {
|
|
101
98
|
return typeof v === "object" && v !== null && !Array.isArray(v);
|
|
102
99
|
}
|
|
@@ -168,9 +165,13 @@ async function mergeIntoMessagesFile(filePath, entries, overwrite) {
|
|
|
168
165
|
// ─── Write translations to disk ──────────────────────────────────────────────
|
|
169
166
|
/**
|
|
170
167
|
* Given resolved scan results, write all translations to the messages directory.
|
|
171
|
-
* Groups by source file → writes to messages/{lang}/{
|
|
168
|
+
* Groups by source file → writes to messages/{lang}/{namespace}.json.
|
|
169
|
+
*
|
|
170
|
+
* Uses `resolveNamespaces` to handle filename collisions: if two source files
|
|
171
|
+
* share the same basename (e.g. src/Header.tsx and admin/Header.tsx), the second
|
|
172
|
+
* gets a numeric suffix (header_1.json).
|
|
172
173
|
*
|
|
173
|
-
* Returns the list of file paths written.
|
|
174
|
+
* Returns the list of file paths written and the namespace map for the caller.
|
|
174
175
|
*/
|
|
175
176
|
async function writeTranslations(results, responses, config, options) {
|
|
176
177
|
// Group resolved results by source file
|
|
@@ -186,9 +187,12 @@ async function writeTranslations(results, responses, config, options) {
|
|
|
186
187
|
byFile.set(result.file, [result]);
|
|
187
188
|
}
|
|
188
189
|
}
|
|
190
|
+
// Resolve namespaces with collision detection across all source files in this batch
|
|
191
|
+
const namespaceMap = resolveNamespaces(Array.from(byFile.keys()));
|
|
189
192
|
const writtenPaths = [];
|
|
190
193
|
for (const [sourceFile, fileResults] of byFile) {
|
|
191
|
-
const
|
|
194
|
+
const namespace = namespaceMap.get(sourceFile) ??
|
|
195
|
+
basename(sourceFile, extname(sourceFile)).toLowerCase();
|
|
192
196
|
const allLanguages = [config.defaultLanguage, ...config.languages];
|
|
193
197
|
// Collect unique keys for this file (deduplicated by key)
|
|
194
198
|
const seen = new Set();
|
|
@@ -203,7 +207,7 @@ async function writeTranslations(results, responses, config, options) {
|
|
|
203
207
|
entries.push({ key, response });
|
|
204
208
|
}
|
|
205
209
|
for (const lang of allLanguages) {
|
|
206
|
-
const messagesPath = join(resolve(config.messagesDir), lang, `${
|
|
210
|
+
const messagesPath = join(resolve(config.messagesDir), lang, `${namespace}.json`);
|
|
207
211
|
// Build (key, translation) pairs for this language
|
|
208
212
|
const langEntries = entries.map(({ key, response }) => ({
|
|
209
213
|
key,
|
|
@@ -218,7 +222,7 @@ async function writeTranslations(results, responses, config, options) {
|
|
|
218
222
|
writtenPaths.push(messagesPath);
|
|
219
223
|
}
|
|
220
224
|
}
|
|
221
|
-
return writtenPaths;
|
|
225
|
+
return { paths: writtenPaths, namespaceMap };
|
|
222
226
|
}
|
|
223
227
|
/**
|
|
224
228
|
* Translate a list of scan results using the configured AI provider.
|
|
@@ -241,6 +245,7 @@ export async function translateStrings(scanResults, config, apiKey, options = {}
|
|
|
241
245
|
messagesWritten: [],
|
|
242
246
|
uniqueStrings: 0,
|
|
243
247
|
aiCalls: 0,
|
|
248
|
+
namespaceMap: new Map(),
|
|
244
249
|
};
|
|
245
250
|
}
|
|
246
251
|
// 1. Deduplicate
|
|
@@ -275,18 +280,19 @@ export async function translateStrings(scanResults, config, apiKey, options = {}
|
|
|
275
280
|
}
|
|
276
281
|
const updatedResults = applyResolvedKeys(scanResults, valueToKey);
|
|
277
282
|
// 5. Write translations to disk
|
|
278
|
-
const messagesWritten = await writeTranslations(updatedResults, aiResponses, config, { dryRun, overwrite });
|
|
283
|
+
const { paths: messagesWritten, namespaceMap } = await writeTranslations(updatedResults, aiResponses, config, { dryRun, overwrite });
|
|
279
284
|
return {
|
|
280
285
|
results: updatedResults,
|
|
281
286
|
aiCostUsd: totalCostUsd,
|
|
282
287
|
messagesWritten: dryRun ? [] : messagesWritten,
|
|
283
288
|
uniqueStrings,
|
|
284
289
|
aiCalls: aiResponses.size,
|
|
290
|
+
namespaceMap,
|
|
285
291
|
};
|
|
286
292
|
}
|
|
287
293
|
/**
|
|
288
294
|
* Translate a list of existing (key, value, pageName) entries into target languages.
|
|
289
|
-
* Used by `
|
|
295
|
+
* Used by `localizer translate --from-existing` and `localizer add-lang`.
|
|
290
296
|
*
|
|
291
297
|
* Skips entries that already have translations in target languages
|
|
292
298
|
* unless `overwrite` is true.
|
|
@@ -378,7 +384,7 @@ export async function translateExistingKeys(entries, config, apiKey, options = {
|
|
|
378
384
|
}
|
|
379
385
|
}
|
|
380
386
|
catch (err) {
|
|
381
|
-
console.error(`[
|
|
387
|
+
console.error(`[localizer] Translation failed for "${value}": ${String(err)}`);
|
|
382
388
|
}
|
|
383
389
|
})));
|
|
384
390
|
if (dryRun) {
|
|
@@ -429,7 +435,7 @@ export async function translateExistingKeys(entries, config, apiKey, options = {
|
|
|
429
435
|
// ─── API key validation ───────────────────────────────────────────────────────
|
|
430
436
|
/**
|
|
431
437
|
* Send a minimal test request to verify an API key is valid.
|
|
432
|
-
* Used by `
|
|
438
|
+
* Used by `localizer init` before saving the key to ~/.localizer.
|
|
433
439
|
* Returns true if the key works, false otherwise.
|
|
434
440
|
*/
|
|
435
441
|
export async function validateApiKey(provider, model, apiKey) {
|
package/dist/ai/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"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"}
|
package/dist/ai/openai.js
CHANGED
|
@@ -36,7 +36,7 @@ export async function callOpenAI(requests, model, apiKey) {
|
|
|
36
36
|
});
|
|
37
37
|
}
|
|
38
38
|
catch (err) {
|
|
39
|
-
console.error(`[
|
|
39
|
+
console.error(`[localizer] OpenAI call failed for "${request.value}": ${String(err)}`);
|
|
40
40
|
return;
|
|
41
41
|
}
|
|
42
42
|
const rawText = completion.choices[0]?.message.content ?? "";
|
|
@@ -45,7 +45,7 @@ export async function callOpenAI(requests, model, apiKey) {
|
|
|
45
45
|
parsed = parseAIResponse(rawText);
|
|
46
46
|
}
|
|
47
47
|
catch (err) {
|
|
48
|
-
console.error(`[
|
|
48
|
+
console.error(`[localizer] Failed to parse response for "${request.value}": ${String(err)}`);
|
|
49
49
|
return;
|
|
50
50
|
}
|
|
51
51
|
const usage = completion.usage;
|
package/dist/ai/openai.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/ai/openai.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,MAAM,MAAM,SAAS,CAAC;AAE7B,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEvE,MAAM,eAAe,GAAG,CAAC,CAAC;AAE1B,iFAAiF;AAEjF,MAAM,YAAY,GAAsD;IACtE,QAAQ,EAAY,EAAE,KAAK,EAAE,CAAC,GAAI,SAAS,EAAE,MAAM,EAAE,EAAE,GAAG,SAAS,EAAE;IACrE,aAAa,EAAO,EAAE,KAAK,EAAE,IAAI,GAAG,SAAS,EAAE,MAAM,EAAE,GAAG,GAAG,SAAS,EAAE;IACxE,aAAa,EAAO,EAAE,KAAK,EAAE,EAAE,GAAG,SAAS,EAAE,MAAM,EAAE,EAAE,GAAG,SAAS,EAAE;IACrE,eAAe,EAAK,EAAE,KAAK,EAAE,GAAG,GAAG,SAAS,EAAE,MAAM,EAAE,GAAG,GAAG,SAAS,EAAE;CACxE,CAAC;AAEF,SAAS,YAAY,CACnB,KAAa,EACb,YAAoB,EACpB,gBAAwB;IAExB,oEAAoE;IACpE,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAE,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAE,CAAC;IACjE,OAAO,YAAY,GAAG,KAAK,CAAC,KAAK,GAAG,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC;AACtE,CAAC;AASD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,QAAqB,EACrB,KAAa,EACb,MAAc;IAEd,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAsB,CAAC;IAChD,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,MAAM,OAAO,CAAC,GAAG,CACf,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACvB,KAAK,CAAC,KAAK,IAAI,EAAE;QACf,MAAM,MAAM,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAE/C,IAAI,UAAsC,CAAC;QAC3C,IAAI,CAAC;YACH,UAAU,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;gBAChD,KAAK;gBACL,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;gBAC7C,UAAU,EAAE,IAAI;gBAChB,eAAe,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;aACzC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CACX,
|
|
1
|
+
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/ai/openai.ts"],"names":[],"mappings":"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"}
|
package/dist/cache/index.d.ts
CHANGED
|
@@ -5,18 +5,18 @@ import type { CacheStore } from "../types.js";
|
|
|
5
5
|
*/
|
|
6
6
|
export declare function hashSource(source: string): string;
|
|
7
7
|
/**
|
|
8
|
-
* Read the cache store from `{projectRoot}/.
|
|
8
|
+
* Read the cache store from `{projectRoot}/.localizer/cache.json`.
|
|
9
9
|
* Returns an empty store if the file doesn't exist or is unreadable.
|
|
10
10
|
*/
|
|
11
11
|
export declare function readCache(projectRoot: string): Promise<CacheStore>;
|
|
12
12
|
/**
|
|
13
|
-
* Persist the cache store to `{projectRoot}/.
|
|
14
|
-
* Creates the `.
|
|
13
|
+
* Persist the cache store to `{projectRoot}/.localizer/cache.json`.
|
|
14
|
+
* Creates the `.localizer/` directory if it doesn't exist.
|
|
15
15
|
*/
|
|
16
16
|
export declare function writeCache(projectRoot: string, store: CacheStore): Promise<void>;
|
|
17
17
|
/**
|
|
18
18
|
* Delete the cache file entirely.
|
|
19
|
-
* Used by `
|
|
19
|
+
* Used by `localizer run --force` to trigger a full re-process.
|
|
20
20
|
*/
|
|
21
21
|
export declare function clearCache(projectRoot: string): Promise<void>;
|
|
22
22
|
/**
|
package/dist/cache/index.js
CHANGED
|
@@ -2,7 +2,7 @@ import { createHash } from "crypto";
|
|
|
2
2
|
import { readFile, writeFile, mkdir, unlink } from "fs/promises";
|
|
3
3
|
import { resolve, join } from "path";
|
|
4
4
|
// ─── Constants ────────────────────────────────────────────────────────────────
|
|
5
|
-
const CACHE_DIR = ".
|
|
5
|
+
const CACHE_DIR = ".localizer";
|
|
6
6
|
const CACHE_FILE = "cache.json";
|
|
7
7
|
const CURRENT_VERSION = 1;
|
|
8
8
|
// ─── Helpers ─────────────────────────────────────────────────────────────────
|
|
@@ -22,7 +22,7 @@ export function hashSource(source) {
|
|
|
22
22
|
}
|
|
23
23
|
// ─── Read / Write ─────────────────────────────────────────────────────────────
|
|
24
24
|
/**
|
|
25
|
-
* Read the cache store from `{projectRoot}/.
|
|
25
|
+
* Read the cache store from `{projectRoot}/.localizer/cache.json`.
|
|
26
26
|
* Returns an empty store if the file doesn't exist or is unreadable.
|
|
27
27
|
*/
|
|
28
28
|
export async function readCache(projectRoot) {
|
|
@@ -40,8 +40,8 @@ export async function readCache(projectRoot) {
|
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
/**
|
|
43
|
-
* Persist the cache store to `{projectRoot}/.
|
|
44
|
-
* Creates the `.
|
|
43
|
+
* Persist the cache store to `{projectRoot}/.localizer/cache.json`.
|
|
44
|
+
* Creates the `.localizer/` directory if it doesn't exist.
|
|
45
45
|
*/
|
|
46
46
|
export async function writeCache(projectRoot, store) {
|
|
47
47
|
const cachePath = getCachePath(projectRoot);
|
|
@@ -50,7 +50,7 @@ export async function writeCache(projectRoot, store) {
|
|
|
50
50
|
}
|
|
51
51
|
/**
|
|
52
52
|
* Delete the cache file entirely.
|
|
53
|
-
* Used by `
|
|
53
|
+
* Used by `localizer run --force` to trigger a full re-process.
|
|
54
54
|
*/
|
|
55
55
|
export async function clearCache(projectRoot) {
|
|
56
56
|
const cachePath = getCachePath(projectRoot);
|
package/dist/cache/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cache/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAGrC,iFAAiF;AAEjF,MAAM,SAAS,GAAG,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cache/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from "./types.js";
|
|
2
|
+
export { resolveNamespaces, getNamespaceForFile } from "./namespace.js";
|
|
2
3
|
export { scanFile, scanFiles, scanDirectory, buildScanReport } from "./scanner/index.js";
|
|
3
4
|
export { shouldFilter, NON_TRANSLATABLE_ATTRS, TRANSLATION_FNS } from "./scanner/filters.js";
|
|
4
5
|
export * from "./rewriter/index.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,YAAY,CAAC;AAG3B,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACzF,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG7F,cAAc,qBAAqB,CAAC;AAGpC,cAAc,eAAe,CAAC;AAG9B,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,uBAAuB,EACvB,KAAK,eAAe,GACrB,MAAM,sBAAsB,CAAC;AAG9B,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,YAAY,CAAC;AAG3B,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAGxE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACzF,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG7F,cAAc,qBAAqB,CAAC;AAGpC,cAAc,eAAe,CAAC;AAG9B,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,uBAAuB,EACvB,KAAK,eAAe,GACrB,MAAM,sBAAsB,CAAC;AAG9B,cAAc,kBAAkB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
// Types — import these in all modules
|
|
2
2
|
export * from "./types.js";
|
|
3
|
+
// Namespace resolution
|
|
4
|
+
export { resolveNamespaces, getNamespaceForFile } from "./namespace.js";
|
|
3
5
|
// Scanner
|
|
4
6
|
export { scanFile, scanFiles, scanDirectory, buildScanReport } from "./scanner/index.js";
|
|
5
7
|
export { shouldFilter, NON_TRANSLATABLE_ATTRS, TRANSLATION_FNS } from "./scanner/filters.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,cAAc,YAAY,CAAC;AAE3B,UAAU;AACV,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACzF,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE7F,oBAAoB;AACpB,cAAc,qBAAqB,CAAC;AAEpC,qBAAqB;AACrB,cAAc,eAAe,CAAC;AAE9B,qBAAqB;AACrB,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,uBAAuB,GAExB,MAAM,sBAAsB,CAAC;AAE9B,iBAAiB;AACjB,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,cAAc,YAAY,CAAC;AAE3B,uBAAuB;AACvB,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAExE,UAAU;AACV,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACzF,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE7F,oBAAoB;AACpB,cAAc,qBAAqB,CAAC;AAEpC,qBAAqB;AACrB,cAAc,eAAe,CAAC;AAE9B,qBAAqB;AACrB,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,uBAAuB,GAExB,MAAM,sBAAsB,CAAC;AAE9B,iBAAiB;AACjB,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Given a list of absolute source file paths, return a Map<filePath, namespace>
|
|
3
|
+
* where each namespace is the lowercased filename without extension.
|
|
4
|
+
*
|
|
5
|
+
* When two files share the same base name (e.g., src/Header.tsx and src/admin/Header.tsx),
|
|
6
|
+
* the first occurrence keeps the plain name ("header") and subsequent ones get a numeric
|
|
7
|
+
* suffix: "header_1", "header_2", etc.
|
|
8
|
+
*
|
|
9
|
+
* The order of the input array determines which file wins the plain name.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* resolveNamespaces(["/src/Header.tsx", "/admin/Header.tsx"])
|
|
13
|
+
* // → Map { "/src/Header.tsx" → "header", "/admin/Header.tsx" → "header_1" }
|
|
14
|
+
*/
|
|
15
|
+
export declare function resolveNamespaces(filePaths: string[]): Map<string, string>;
|
|
16
|
+
/**
|
|
17
|
+
* Convenience wrapper: get the namespace for a single file given all files
|
|
18
|
+
* in the same batch (for collision detection).
|
|
19
|
+
* Falls back to the lowercased basename if `filePath` is not in `allFilePaths`.
|
|
20
|
+
*/
|
|
21
|
+
export declare function getNamespaceForFile(filePath: string, allFilePaths: string[]): string;
|
|
22
|
+
//# sourceMappingURL=namespace.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../src/namespace.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAe1E;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EAAE,GACrB,MAAM,CAGR"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { basename, extname } from "path";
|
|
2
|
+
/**
|
|
3
|
+
* Given a list of absolute source file paths, return a Map<filePath, namespace>
|
|
4
|
+
* where each namespace is the lowercased filename without extension.
|
|
5
|
+
*
|
|
6
|
+
* When two files share the same base name (e.g., src/Header.tsx and src/admin/Header.tsx),
|
|
7
|
+
* the first occurrence keeps the plain name ("header") and subsequent ones get a numeric
|
|
8
|
+
* suffix: "header_1", "header_2", etc.
|
|
9
|
+
*
|
|
10
|
+
* The order of the input array determines which file wins the plain name.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* resolveNamespaces(["/src/Header.tsx", "/admin/Header.tsx"])
|
|
14
|
+
* // → Map { "/src/Header.tsx" → "header", "/admin/Header.tsx" → "header_1" }
|
|
15
|
+
*/
|
|
16
|
+
export function resolveNamespaces(filePaths) {
|
|
17
|
+
const result = new Map();
|
|
18
|
+
// nextSuffix tracks the next numeric suffix to assign for each base name
|
|
19
|
+
const nextSuffix = new Map();
|
|
20
|
+
for (const filePath of filePaths) {
|
|
21
|
+
const base = basename(filePath, extname(filePath)).toLowerCase();
|
|
22
|
+
const suffix = nextSuffix.get(base) ?? 0;
|
|
23
|
+
// First occurrence → plain name; subsequent → base_1, base_2, ...
|
|
24
|
+
result.set(filePath, suffix === 0 ? base : `${base}_${suffix}`);
|
|
25
|
+
nextSuffix.set(base, suffix + 1);
|
|
26
|
+
}
|
|
27
|
+
return result;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Convenience wrapper: get the namespace for a single file given all files
|
|
31
|
+
* in the same batch (for collision detection).
|
|
32
|
+
* Falls back to the lowercased basename if `filePath` is not in `allFilePaths`.
|
|
33
|
+
*/
|
|
34
|
+
export function getNamespaceForFile(filePath, allFilePaths) {
|
|
35
|
+
const map = resolveNamespaces(allFilePaths);
|
|
36
|
+
return map.get(filePath) ?? basename(filePath, extname(filePath)).toLowerCase();
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=namespace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"namespace.js","sourceRoot":"","sources":["../src/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEzC;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,iBAAiB,CAAC,SAAmB;IACnD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,yEAAyE;IACzE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE7C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACjE,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEzC,kEAAkE;QAClE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,MAAM,EAAE,CAAC,CAAC;QAChE,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CACjC,QAAgB,EAChB,YAAsB;IAEtB,MAAM,GAAG,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAC5C,OAAO,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;AAClF,CAAC"}
|