@the-i18n-kit/cli 4.10.0 → 5.0.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 +29 -296
- package/dist/{_shared-Dn15c_g9.js → _shared-DFyy3sh8.js} +24 -12
- package/dist/_shared-DFyy3sh8.js.map +1 -0
- package/dist/{add-Dj6hsdl9.js → add-C-qs8iBa.js} +5 -5
- package/dist/{add-Dj6hsdl9.js.map → add-C-qs8iBa.js.map} +1 -1
- package/dist/bin.js +1 -1
- package/dist/{check-BI-CGxpY.js → check-BI1orjXb.js} +11 -19
- package/dist/check-BI1orjXb.js.map +1 -0
- package/dist/cli-DsFuVJNP.js +74 -0
- package/dist/cli-DsFuVJNP.js.map +1 -0
- package/dist/config/framework/stubs/{next-intl-routing-Se7Y8cCb.d.ts → next-intl-routing-Cwaa3f4R.d.ts} +1 -1
- package/dist/config/framework/stubs/{next-intl-routing-Se7Y8cCb.d.ts.map → next-intl-routing-Cwaa3f4R.d.ts.map} +1 -1
- package/dist/config/framework/stubs/{unplugin-vue-i18n-DrR5pbEW.d.ts → unplugin-vue-i18n-1ud7-Ly8.d.ts} +1 -1
- package/dist/config/framework/stubs/{unplugin-vue-i18n-DrR5pbEW.d.ts.map → unplugin-vue-i18n-1ud7-Ly8.d.ts.map} +1 -1
- package/dist/define-config-4ubtfvUy.js.map +1 -1
- package/dist/{define-config-DpbZ4BZ6.d.ts → define-config-BaZ1dZph.d.ts} +11 -4
- package/dist/define-config-BaZ1dZph.d.ts.map +1 -0
- package/dist/{define-config-BSsvRnWR.d.ts → define-config-CLgKN-7N.d.ts} +1 -1
- package/dist/define-config.d.ts +1 -1
- package/dist/{detect-BmvyRD1a.js → detect-7cVfsNJP.js} +5 -5
- package/dist/{detect-BmvyRD1a.js.map → detect-7cVfsNJP.js.map} +1 -1
- package/dist/{empty-Ww6FnmgY.js → empty-DB8Hl_8u.js} +5 -5
- package/dist/{empty-Ww6FnmgY.js.map → empty-DB8Hl_8u.js.map} +1 -1
- package/dist/find-duplicates-CmEqBfby.js +42 -0
- package/dist/find-duplicates-CmEqBfby.js.map +1 -0
- package/dist/{get-oF_xIbVR.js → get-BE21Iy6N.js} +5 -5
- package/dist/{get-oF_xIbVR.js.map → get-BE21Iy6N.js.map} +1 -1
- package/dist/{index-JeU02vfH.d.ts → index-DCG3dOdC.d.ts} +332 -3
- package/dist/index-DCG3dOdC.d.ts.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +4 -4
- package/dist/{init-D4B1_DXb.js → init-BtzmhsOM.js} +5 -5
- package/dist/{init-D4B1_DXb.js.map → init-BtzmhsOM.js.map} +1 -1
- package/dist/{list-dirs-CgXh-Lg1.js → list-dirs-DUQbwvlE.js} +5 -5
- package/dist/{list-dirs-CgXh-Lg1.js.map → list-dirs-DUQbwvlE.js.map} +1 -1
- package/dist/{missing-BZT6PgW5.js → missing-CcYrgd54.js} +5 -5
- package/dist/{missing-BZT6PgW5.js.map → missing-CcYrgd54.js.map} +1 -1
- package/dist/move-B2px6Ck-.js +50 -0
- package/dist/move-B2px6Ck-.js.map +1 -0
- package/dist/{operations-BCJd7in3.js → operations-CTo44gPu.js} +1332 -241
- package/dist/operations-CTo44gPu.js.map +1 -0
- package/dist/php-reader-3Fgw80zK.js +64 -0
- package/dist/php-reader-3Fgw80zK.js.map +1 -0
- package/dist/php-reader-CpnaPSpZ.js +2 -0
- package/dist/{providers-BAwPjeCy.js → providers-CHE2ffi6.js} +53 -27
- package/dist/providers-CHE2ffi6.js.map +1 -0
- package/dist/{remove-B7m-hi2O.js → remove-DTbqM4bR.js} +5 -5
- package/dist/{remove-B7m-hi2O.js.map → remove-DTbqM4bR.js.map} +1 -1
- package/dist/{remove-orphans-DOTWE7Ji.js → remove-orphans-Dfzu7hRz.js} +5 -5
- package/dist/{remove-orphans-DOTWE7Ji.js.map → remove-orphans-Dfzu7hRz.js.map} +1 -1
- package/dist/{rename-DEJWj5_P.js → rename-C_rFKkU4.js} +5 -5
- package/dist/{rename-DEJWj5_P.js.map → rename-C_rFKkU4.js.map} +1 -1
- package/dist/{scaffold-BH_OX-5z.js → scaffold-CUimlNqR.js} +5 -5
- package/dist/{scaffold-BH_OX-5z.js.map → scaffold-CUimlNqR.js.map} +1 -1
- package/dist/{scan-LeU4xG0G.js → scan-BkOIYhjZ.js} +5 -5
- package/dist/{scan-LeU4xG0G.js.map → scan-BkOIYhjZ.js.map} +1 -1
- package/dist/{search-CHdDywqc.js → search-0io1BcsY.js} +5 -5
- package/dist/{search-CHdDywqc.js.map → search-0io1BcsY.js.map} +1 -1
- package/dist/{status-CwI94d_R.js → status-Bp-SzjTN.js} +5 -5
- package/dist/{status-CwI94d_R.js.map → status-Bp-SzjTN.js.map} +1 -1
- package/dist/{translate-Cf3npNpr.js → translate-cCb2Z57w.js} +6 -6
- package/dist/{translate-Cf3npNpr.js.map → translate-cCb2Z57w.js.map} +1 -1
- package/dist/{translate-key-Bg_8B6c_.js → translate-key-DHLWEmrA.js} +5 -5
- package/dist/{translate-key-Bg_8B6c_.js.map → translate-key-DHLWEmrA.js.map} +1 -1
- package/dist/{update-DNv-dU1U.js → update-DV4ijRVB.js} +5 -5
- package/dist/{update-DNv-dU1U.js.map → update-DV4ijRVB.js.map} +1 -1
- package/dist/{write-DUwMSc75.js → write-Czzm_Nb0.js} +5 -5
- package/dist/{write-DUwMSc75.js.map → write-Czzm_Nb0.js.map} +1 -1
- package/package.json +15 -5
- package/dist/_shared-Dn15c_g9.js.map +0 -1
- package/dist/check-BI-CGxpY.js.map +0 -1
- package/dist/cli-CDhNbaUM.js +0 -82
- package/dist/cli-CDhNbaUM.js.map +0 -1
- package/dist/define-config-DpbZ4BZ6.d.ts.map +0 -1
- package/dist/find-duplicates-BfBBqP7I.js +0 -31
- package/dist/find-duplicates-BfBBqP7I.js.map +0 -1
- package/dist/index-JeU02vfH.d.ts.map +0 -1
- package/dist/operations-BCJd7in3.js.map +0 -1
- package/dist/php-reader-DcgOAhTw.js +0 -2
- package/dist/php-reader-DuZ0Hyl_.js +0 -32
- package/dist/php-reader-DuZ0Hyl_.js.map +0 -1
- package/dist/providers-BAwPjeCy.js.map +0 -1
- /package/dist/{bin-CF8fSc-R.d.ts → bin-DrKRgnr9.d.ts} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as LocaleDir, i as LocaleDefinition, n as defineI18nKitConfig, o as ProjectConfig, r as I18nConfig, t as I18nKitConfig } from "./define-config-
|
|
1
|
+
import { a as LocaleDir, i as LocaleDefinition, n as defineI18nKitConfig, o as ProjectConfig, r as I18nConfig, s as LocaleFileFormat, t as I18nKitConfig } from "./define-config-BaZ1dZph.js";
|
|
2
2
|
|
|
3
3
|
//#region src/core/types.d.ts
|
|
4
4
|
|
|
@@ -287,6 +287,39 @@ interface RenameTranslationKeyResult {
|
|
|
287
287
|
warning?: string;
|
|
288
288
|
};
|
|
289
289
|
}
|
|
290
|
+
/** What a move does to one locale's copy of the key. */
|
|
291
|
+
interface MoveTranslationKeyPlanEntry {
|
|
292
|
+
locale: string;
|
|
293
|
+
value: unknown;
|
|
294
|
+
/**
|
|
295
|
+
* `move` writes the target and drops the source. `deduplicate` finds the
|
|
296
|
+
* target already holding the same value, so only the source is dropped.
|
|
297
|
+
*/
|
|
298
|
+
action: 'move' | 'deduplicate';
|
|
299
|
+
}
|
|
300
|
+
interface MoveTranslationKeyResult {
|
|
301
|
+
/** Present when dryRun=true */
|
|
302
|
+
dryRun?: boolean;
|
|
303
|
+
wouldMove?: MoveTranslationKeyPlanEntry[];
|
|
304
|
+
/** Present when dryRun=false */
|
|
305
|
+
movedLocales?: string[];
|
|
306
|
+
/** Locales where the target already held this value, so only the source was dropped. */
|
|
307
|
+
deduplicatedLocales?: string[];
|
|
308
|
+
filesWritten?: number;
|
|
309
|
+
fromLayer?: string;
|
|
310
|
+
toLayer?: string;
|
|
311
|
+
key?: string;
|
|
312
|
+
newKey?: string;
|
|
313
|
+
/** Locales whose source layer does not define the key at all. */
|
|
314
|
+
notFoundInLocales?: string[];
|
|
315
|
+
/** Locales where the target holds a different value. Nothing is written when this is non-empty. */
|
|
316
|
+
conflictsInLocales?: string[];
|
|
317
|
+
summary?: {
|
|
318
|
+
localesAffected: number;
|
|
319
|
+
message: string;
|
|
320
|
+
warning?: string;
|
|
321
|
+
};
|
|
322
|
+
}
|
|
290
323
|
/** How a translate run was (or would be) executed. */
|
|
291
324
|
type TranslateMode = 'provider' | 'agent' | 'dry-run';
|
|
292
325
|
/** Why a key could not be translated. */
|
|
@@ -439,6 +472,14 @@ interface FindOrphanKeysResult {
|
|
|
439
472
|
/** Absent when the full report went to `reportFile` instead. */
|
|
440
473
|
orphanKeys?: Record<string, string[]>;
|
|
441
474
|
uncertainKeys?: Record<string, string[]>;
|
|
475
|
+
/**
|
|
476
|
+
* Keys kept alive solely by the bare-candidate net — nothing a frontend
|
|
477
|
+
* could call a usage references them; a dotted string somewhere (a comment,
|
|
478
|
+
* a data structure) merely shares their name. Not orphans, but where dead
|
|
479
|
+
* references hide.
|
|
480
|
+
*/
|
|
481
|
+
candidateOnlyKeys?: Record<string, string[]>;
|
|
482
|
+
candidateOnlyNote?: string;
|
|
442
483
|
/** Keys used only from apps that do not consume the owning layer. */
|
|
443
484
|
misplacedUsages?: MisplacedUsageRef[];
|
|
444
485
|
misplacedUsageNote?: string;
|
|
@@ -446,11 +487,14 @@ interface FindOrphanKeysResult {
|
|
|
446
487
|
totalKeys: number;
|
|
447
488
|
orphanCount: number;
|
|
448
489
|
uncertainCount?: number;
|
|
490
|
+
candidateOnlyCount?: number;
|
|
449
491
|
misplacedCount?: number;
|
|
450
492
|
dynamicMatchedCount?: number;
|
|
451
493
|
ignoredCount?: number;
|
|
452
494
|
usedCount?: number;
|
|
453
495
|
filesScanned: number;
|
|
496
|
+
/** Files a syntax frontend declined; pattern matching read them instead. */
|
|
497
|
+
filesDeclined?: number;
|
|
454
498
|
layersChecked?: string[];
|
|
455
499
|
dirsScanned?: string[];
|
|
456
500
|
scanScope?: Record<string, string[]>;
|
|
@@ -475,6 +519,8 @@ interface CodeUsageResult {
|
|
|
475
519
|
uniqueKeysFound: number;
|
|
476
520
|
totalReferences: number;
|
|
477
521
|
filesScanned: number;
|
|
522
|
+
/** Files a syntax frontend declined; pattern matching read them instead. */
|
|
523
|
+
filesDeclined?: number;
|
|
478
524
|
dirsScanned?: string[];
|
|
479
525
|
message?: string;
|
|
480
526
|
};
|
|
@@ -492,6 +538,8 @@ interface ScanCodeUsageResult {
|
|
|
492
538
|
uniqueKeysFound: number;
|
|
493
539
|
totalReferences: number;
|
|
494
540
|
filesScanned: number;
|
|
541
|
+
/** Files a syntax frontend declined; pattern matching read them instead. */
|
|
542
|
+
filesDeclined?: number;
|
|
495
543
|
dirsScanned: string[];
|
|
496
544
|
};
|
|
497
545
|
notFoundInCode?: string[];
|
|
@@ -772,6 +820,35 @@ declare function scaffoldLocaleFiles(opts: {
|
|
|
772
820
|
dryRun?: boolean;
|
|
773
821
|
projectDir?: string;
|
|
774
822
|
}): Promise<ScaffoldLocaleResult>;
|
|
823
|
+
/**
|
|
824
|
+
* Move a key from one layer to another, carrying every locale that defines it.
|
|
825
|
+
*
|
|
826
|
+
* Promoting an app-layer key to the shared layer once a second app needs it is
|
|
827
|
+
* a first-class operation in a layered monorepo, and composing it out of
|
|
828
|
+
* get/write/remove is three calls across up to thirty locales with no way to
|
|
829
|
+
* fail cleanly: a truncation between the write and the remove leaves the key in
|
|
830
|
+
* both layers, which is the state `find_duplicate_keys` exists to flag (#341).
|
|
831
|
+
*
|
|
832
|
+
* So the whole move is planned before anything is written. A target that
|
|
833
|
+
* already holds a *different* value is a conflict, and one conflict in one
|
|
834
|
+
* locale writes nothing at all — a half-moved key across thirty files is worse
|
|
835
|
+
* than a refusal. A target already holding the *same* value is not a conflict
|
|
836
|
+
* but a duplicate the move resolves: the source copy is dropped and the locale
|
|
837
|
+
* is reported as deduplicated.
|
|
838
|
+
*
|
|
839
|
+
* Locales come from the resolved config rather than from caller-supplied refs,
|
|
840
|
+
* so there is no ref to leave unresolved (#301) — a locale the source layer
|
|
841
|
+
* does not define is reported in `notFoundInLocales` rather than skipped
|
|
842
|
+
* silently.
|
|
843
|
+
*/
|
|
844
|
+
declare function moveTranslationKey(opts: {
|
|
845
|
+
fromLayer: string;
|
|
846
|
+
toLayer: string;
|
|
847
|
+
key: string;
|
|
848
|
+
newKey?: string;
|
|
849
|
+
dryRun?: boolean;
|
|
850
|
+
projectDir?: string;
|
|
851
|
+
}): Promise<MoveTranslationKeyResult>;
|
|
775
852
|
//# sourceMappingURL=ops-write.d.ts.map
|
|
776
853
|
//#endregion
|
|
777
854
|
//#region src/core/ops-status.d.ts
|
|
@@ -790,7 +867,145 @@ declare function getTranslationStatus(opts: {
|
|
|
790
867
|
outputFile?: string;
|
|
791
868
|
}): Promise<TranslationStatusResult>;
|
|
792
869
|
//# sourceMappingURL=ops-status.d.ts.map
|
|
870
|
+
//#endregion
|
|
871
|
+
//#region src/scanner/frontends/types.d.ts
|
|
872
|
+
/**
|
|
873
|
+
* What a frontend saw at one call site, before anything decides what it means.
|
|
874
|
+
*
|
|
875
|
+
* Frontends read their own language with whatever parser suits it and report
|
|
876
|
+
* call sites in these terms. The rules that turn them into usages, dynamic
|
|
877
|
+
* keys and candidates live in one place above this, so adding a language never
|
|
878
|
+
* means restating what counts as a translation (#332).
|
|
879
|
+
*/
|
|
880
|
+
interface CallSite {
|
|
881
|
+
/** The callee as written — `t`, `$t`, `__`, `trans_choice`. */
|
|
882
|
+
callee: string;
|
|
883
|
+
/**
|
|
884
|
+
* Whether the frontend could prove this callee is the i18n function.
|
|
885
|
+
*
|
|
886
|
+
* `resolved` means it followed the identifier to an import from an i18n
|
|
887
|
+
* package or a destructure of `useI18n()`. `ambiguous` means it recognised
|
|
888
|
+
* the shape but cannot say what the name is bound to — all a regex can ever
|
|
889
|
+
* report, and the reason the dot heuristic exists at all.
|
|
890
|
+
*/
|
|
891
|
+
binding: 'resolved' | 'ambiguous';
|
|
892
|
+
argument: CallArgument;
|
|
893
|
+
line: number;
|
|
894
|
+
}
|
|
895
|
+
type CallArgument = /** A literal: `t('common.save')`. */
|
|
896
|
+
{
|
|
897
|
+
kind: 'static';
|
|
898
|
+
value: string;
|
|
899
|
+
}
|
|
900
|
+
/** An interpolated template, already normalised to `${_}` slots. */ | {
|
|
901
|
+
kind: 'template';
|
|
902
|
+
expression: string;
|
|
903
|
+
}
|
|
904
|
+
/** A literal prefix joined to something else: `t('common.' + name)`. */ | {
|
|
905
|
+
kind: 'concat';
|
|
906
|
+
prefix: string;
|
|
907
|
+
}
|
|
908
|
+
/** Something the frontend could not read — a variable, a call, a ternary. */ | {
|
|
909
|
+
kind: 'unknown';
|
|
910
|
+
};
|
|
911
|
+
/** Everything one file yields. Unchanged from what the scanner already consumes. */
|
|
912
|
+
interface FileEvidence {
|
|
913
|
+
usages: KeyUsage[];
|
|
914
|
+
dynamicKeys: DynamicKeyUsage[];
|
|
915
|
+
bareStringCandidates: Set<string>;
|
|
916
|
+
}
|
|
917
|
+
interface LanguageFrontend {
|
|
918
|
+
/** For diagnostics and for the differential harness. */
|
|
919
|
+
readonly name: string;
|
|
920
|
+
/** Whether this frontend reads that file. */
|
|
921
|
+
handles(filePath: string): boolean;
|
|
922
|
+
/**
|
|
923
|
+
* Read a file into call sites, or return null to decline it — a syntax the
|
|
924
|
+
* parser cannot handle, a missing optional dependency. Declining is not an
|
|
925
|
+
* error: the caller falls back to the frontend that always works.
|
|
926
|
+
*/
|
|
927
|
+
read(content: string, filePath: string): Promise<CallSite[] | null>;
|
|
928
|
+
}
|
|
929
|
+
//# sourceMappingURL=types.d.ts.map
|
|
930
|
+
//#endregion
|
|
931
|
+
//#region src/scanner/frontends/php/patterns.d.ts
|
|
932
|
+
declare const LARAVEL_PATTERNS: ScanPatternSet;
|
|
933
|
+
//#endregion
|
|
934
|
+
//#region src/scanner/patterns.d.ts
|
|
935
|
+
interface ScanPatternSet {
|
|
936
|
+
label: string;
|
|
937
|
+
filePatterns: string[];
|
|
938
|
+
ignoreDirs: string[];
|
|
939
|
+
/** Must capture: (1) callee, (2) quote char, (3) key */
|
|
940
|
+
staticKeyPatterns: RegExp[];
|
|
941
|
+
/** Must capture: (1) callee, (2) template content */
|
|
942
|
+
dynamicKeyPatterns: RegExp[];
|
|
943
|
+
/** Must capture: (1) callee, (2) quote char, (3) prefix */
|
|
944
|
+
concatKeyPatterns: RegExp[];
|
|
945
|
+
/**
|
|
946
|
+
* Language family for the context-free bare-candidate collectors (#288).
|
|
947
|
+
* 'js' (default) runs the template-literal and `+`-concat shapes; 'php'
|
|
948
|
+
* runs the double-quoted `{$var}` interpolation shape instead. Ungated,
|
|
949
|
+
* the PHP shape matches Vue template attributes (`v-if="$slots.header"`),
|
|
950
|
+
* producing `${_}.header`-class candidates that suppress every key ending
|
|
951
|
+
* in those segments. Language-neutral shapes (dotted literals,
|
|
952
|
+
* trailing-dot prefixes) always run.
|
|
953
|
+
*/
|
|
954
|
+
bareShapes?: 'js' | 'php';
|
|
955
|
+
}
|
|
956
|
+
declare const VUE_NUXT_PATTERNS: ScanPatternSet;
|
|
957
|
+
/**
|
|
958
|
+
* Maps locale file format to the appropriate scan pattern set.
|
|
959
|
+
* 'php-array' → Laravel (PHP translation helpers in Blade/PHP files).
|
|
960
|
+
* 'json' / undefined → Vue/Nuxt ($t / t calls in Vue/TS/JS files).
|
|
961
|
+
*/
|
|
962
|
+
declare function getPatternSet(format?: LocaleFileFormat): ScanPatternSet;
|
|
963
|
+
//# sourceMappingURL=patterns.d.ts.map
|
|
964
|
+
//#endregion
|
|
965
|
+
//#region src/scanner/code-scanner.d.ts
|
|
966
|
+
interface KeyUsage {
|
|
967
|
+
key: string;
|
|
968
|
+
file: string;
|
|
969
|
+
line: number;
|
|
970
|
+
callee: string;
|
|
971
|
+
}
|
|
972
|
+
interface DynamicKeyUsage {
|
|
973
|
+
expression: string;
|
|
974
|
+
file: string;
|
|
975
|
+
line: number;
|
|
976
|
+
callee: string;
|
|
977
|
+
}
|
|
978
|
+
interface ScanResult {
|
|
979
|
+
usages: KeyUsage[];
|
|
980
|
+
dynamicKeys: DynamicKeyUsage[];
|
|
981
|
+
filesScanned: number;
|
|
982
|
+
/**
|
|
983
|
+
* Files an active syntax frontend handled but declined — unparseable, or a
|
|
984
|
+
* parser that would not load — so pattern matching read them instead. A
|
|
985
|
+
* broken parser install shows up here rather than as silently weaker scans.
|
|
986
|
+
*/
|
|
987
|
+
declinedFiles: string[];
|
|
988
|
+
uniqueKeys: Set<string>;
|
|
989
|
+
/**
|
|
990
|
+
* All quoted strings containing at least one dot, extracted from source files.
|
|
991
|
+
* These are NOT confirmed i18n keys — they must be intersected with actual
|
|
992
|
+
* locale keys to identify bare key references (e.g., `{ name: 'common.actions.save', i18n: true }`).
|
|
993
|
+
*/
|
|
994
|
+
bareStringCandidates: Set<string>;
|
|
995
|
+
/**
|
|
996
|
+
* Template literal expressions containing at least one dot and `${...}` interpolation,
|
|
997
|
+
* extracted from source files regardless of i18n call context.
|
|
998
|
+
* Format: `` `prefix.${_}.suffix` `` — ready to feed into `buildDynamicKeyRegexes`.
|
|
999
|
+
*/
|
|
1000
|
+
bareDynamicCandidates: Set<string>;
|
|
1001
|
+
}
|
|
1002
|
+
/**
|
|
1003
|
+
* One file's evidence through the pattern frontend — the sync contract the
|
|
1004
|
+
* scanner suites are written against. Same pipeline as every scan: the
|
|
1005
|
+
* frontend reports call sites, the rules decide what they mean.
|
|
1006
|
+
*/
|
|
793
1007
|
|
|
1008
|
+
declare function scanSourceFiles(rootDir: string, excludeDirs?: string[], patterns?: ScanPatternSet, frontends?: LanguageFrontend[]): Promise<ScanResult>;
|
|
794
1009
|
//#endregion
|
|
795
1010
|
//#region src/core/ops-orphans.d.ts
|
|
796
1011
|
/**
|
|
@@ -851,15 +1066,43 @@ interface DuplicateKeyCollision {
|
|
|
851
1066
|
childValue: unknown;
|
|
852
1067
|
divergent: boolean;
|
|
853
1068
|
}
|
|
1069
|
+
/** One key carrying a duplicated value, with the layer it lives in. */
|
|
1070
|
+
interface ValueDuplicateMember {
|
|
1071
|
+
key: string;
|
|
1072
|
+
layer: string;
|
|
1073
|
+
/**
|
|
1074
|
+
* True when this layer is one another layer falls through to at runtime, so
|
|
1075
|
+
* a key here is already reachable from the layers above it.
|
|
1076
|
+
*/
|
|
1077
|
+
shared: boolean;
|
|
1078
|
+
}
|
|
1079
|
+
/**
|
|
1080
|
+
* What to do about a group, and therefore how it sorts. `reuse` first: the
|
|
1081
|
+
* shared key already exists, so the fix costs nothing but deletions.
|
|
1082
|
+
*/
|
|
1083
|
+
type ValueDuplicateAction = 'reuse' | 'promote' | 'consolidate';
|
|
1084
|
+
interface ValueDuplicateGroup {
|
|
1085
|
+
/** The value as written, from the first member. */
|
|
1086
|
+
value: string;
|
|
1087
|
+
/** What the members were grouped by — trimmed, case-folded, punctuation-stripped. */
|
|
1088
|
+
normalized: string;
|
|
1089
|
+
action: ValueDuplicateAction;
|
|
1090
|
+
members: ValueDuplicateMember[];
|
|
1091
|
+
}
|
|
854
1092
|
interface FindDuplicateKeysSummary {
|
|
855
1093
|
totalCollisions: number;
|
|
856
1094
|
divergentCount: number;
|
|
857
1095
|
pairsChecked: number;
|
|
858
1096
|
locale: string;
|
|
1097
|
+
/** Present when value duplicates were requested. */
|
|
1098
|
+
valueGroups?: number;
|
|
1099
|
+
reusableGroups?: number;
|
|
859
1100
|
message?: string;
|
|
860
1101
|
}
|
|
861
1102
|
interface FindDuplicateKeysResult {
|
|
862
1103
|
collisions: DuplicateKeyCollision[];
|
|
1104
|
+
/** Present when value duplicates were requested. */
|
|
1105
|
+
valueDuplicates?: ValueDuplicateGroup[];
|
|
863
1106
|
guidance: string;
|
|
864
1107
|
summary: FindDuplicateKeysSummary;
|
|
865
1108
|
}
|
|
@@ -872,6 +1115,14 @@ declare function findDuplicateKeys(opts?: {
|
|
|
872
1115
|
locale?: string;
|
|
873
1116
|
projectDir?: string;
|
|
874
1117
|
outputFile?: string;
|
|
1118
|
+
/**
|
|
1119
|
+
* Also group keys by the value they carry. Off by default: it reads every
|
|
1120
|
+
* canonical layer rather than only the paired ones, and the existing result
|
|
1121
|
+
* shape stays exactly as it was for callers that do not ask.
|
|
1122
|
+
*/
|
|
1123
|
+
byValue?: boolean;
|
|
1124
|
+
/** Shortest value worth grouping. Below it, repetition is usually legitimate. */
|
|
1125
|
+
minValueLength?: number;
|
|
875
1126
|
}): Promise<FindDuplicateKeysResult | {
|
|
876
1127
|
reportFile: string;
|
|
877
1128
|
summary: FindDuplicateKeysSummary;
|
|
@@ -912,6 +1163,8 @@ interface CheckUndefinedKeysSummary {
|
|
|
912
1163
|
/** Unresolvable keys excluded by orphanScan ignorePatterns. */
|
|
913
1164
|
ignoredCount: number;
|
|
914
1165
|
filesScanned: number;
|
|
1166
|
+
/** Files a syntax frontend declined; pattern matching read them instead. */
|
|
1167
|
+
filesDeclined: number;
|
|
915
1168
|
locale: string;
|
|
916
1169
|
/** Scan unit → layers searched for that unit's key usages. */
|
|
917
1170
|
searchedLayersByApp: Record<string, string[]>;
|
|
@@ -1027,7 +1280,83 @@ interface LayerGraph {
|
|
|
1027
1280
|
* (with their `aliasOf` markers) and `apps` (app → consumed-layers edges).
|
|
1028
1281
|
*/
|
|
1029
1282
|
declare function buildLayerGraph(config: I18nConfig): LayerGraph;
|
|
1283
|
+
/**
|
|
1284
|
+
* The graph as plain data, for surfaces that can only carry JSON.
|
|
1285
|
+
*
|
|
1286
|
+
* {@link LayerGraph} is function-valued, so it cannot be serialised directly.
|
|
1287
|
+
* This answers the question an agent actually has — *which layer does this key
|
|
1288
|
+
* belong in* — which the flat layer list `discover` returned could not: a key
|
|
1289
|
+
* used by more than one app belongs in a layer those apps share, and `shared`
|
|
1290
|
+
* names those layers outright (#342).
|
|
1291
|
+
*
|
|
1292
|
+
* The degenerate cases documented on {@link LayerGraph} survive the flattening,
|
|
1293
|
+
* because they are what keeps a consumer from wrongly narrowing scope:
|
|
1294
|
+
* a config with no app info reports *every* canonical layer as shared, and a
|
|
1295
|
+
* layer no app consumes appears in `consumers` with an empty array rather than
|
|
1296
|
+
* being left out. Absent and "none" must not look alike here.
|
|
1297
|
+
*/
|
|
1298
|
+
interface SerializedLayerGraph {
|
|
1299
|
+
/** Alias-free layer names, in `config.localeDirs` order. */
|
|
1300
|
+
canonical: string[];
|
|
1301
|
+
/** Canonical layers consumed by more than one app — where shared keys belong. */
|
|
1302
|
+
shared: string[];
|
|
1303
|
+
/** Alias layer name → the canonical layer whose locale dir it points at. */
|
|
1304
|
+
aliases: Record<string, string>;
|
|
1305
|
+
/** Canonical layer name → the apps consuming it. Every canonical layer is a key. */
|
|
1306
|
+
consumers: Record<string, string[]>;
|
|
1307
|
+
}
|
|
1308
|
+
/** Flatten {@link buildLayerGraph}'s view of `config` into plain JSON. */
|
|
1309
|
+
declare function serializeLayerGraph(config: I18nConfig): SerializedLayerGraph;
|
|
1030
1310
|
//# sourceMappingURL=layer-graph.d.ts.map
|
|
1311
|
+
//#endregion
|
|
1312
|
+
//#region src/scanner/frontends/oxc.d.ts
|
|
1313
|
+
declare function createOxcFrontend(): LanguageFrontend;
|
|
1314
|
+
//# sourceMappingURL=oxc.d.ts.map
|
|
1315
|
+
|
|
1316
|
+
//#endregion
|
|
1317
|
+
//#region src/scanner/frontends/patterns.d.ts
|
|
1318
|
+
/**
|
|
1319
|
+
* The regex path as a language frontend (#332).
|
|
1320
|
+
*
|
|
1321
|
+
* Regexes frame text and report call sites; what a site means is decided once,
|
|
1322
|
+
* in the rules, the same as for every other frontend. Binding is always
|
|
1323
|
+
* `ambiguous`, because a regex can never prove what a name is bound to — which
|
|
1324
|
+
* is the entire reason the syntax frontends exist.
|
|
1325
|
+
*
|
|
1326
|
+
* This frontend never declines: it is the floor every scan can fall back to.
|
|
1327
|
+
*/
|
|
1328
|
+
declare function createPatternsFrontend(pat: ScanPatternSet): LanguageFrontend;
|
|
1329
|
+
/**
|
|
1330
|
+
* Synchronous core, so the sync `extractKeys` contract the scanner suites are
|
|
1331
|
+
* written against keeps working unchanged.
|
|
1332
|
+
*/
|
|
1333
|
+
//#endregion
|
|
1334
|
+
//#region src/scanner/frontends/php/index.d.ts
|
|
1335
|
+
declare function createPhpFrontend(): LanguageFrontend;
|
|
1336
|
+
/**
|
|
1337
|
+
* Call sites in a parsed program. Shared with the Blade frontend, which parses
|
|
1338
|
+
* lifted expressions through the same engine and interprets them identically —
|
|
1339
|
+
* a key's fate must not depend on which file type referenced it (#332).
|
|
1340
|
+
*/
|
|
1341
|
+
|
|
1342
|
+
//#endregion
|
|
1343
|
+
//#region src/scanner/frontends/php/blade.d.ts
|
|
1344
|
+
/**
|
|
1345
|
+
* Blade, by lifting (#404, #332).
|
|
1346
|
+
*
|
|
1347
|
+
* No maintained Blade AST parser exists, and none is needed: every construct
|
|
1348
|
+
* that can carry a translation key wraps a PHP expression. The lexical pass
|
|
1349
|
+
* here finds those wrappers — echoes, `@lang`/`@choice`, `@php` blocks, raw
|
|
1350
|
+
* PHP tags — and hands the expression inside to the same parser and the same
|
|
1351
|
+
* site collection plain PHP uses. The regex frames text; it never decides
|
|
1352
|
+
* what a key is.
|
|
1353
|
+
*
|
|
1354
|
+
* A lifted chunk the parser cannot read declines the whole file to the
|
|
1355
|
+
* pattern fallback: partially-read templates would silently drop keys.
|
|
1356
|
+
*/
|
|
1357
|
+
declare function createBladeFrontend(): LanguageFrontend;
|
|
1358
|
+
//# sourceMappingURL=blade.d.ts.map
|
|
1359
|
+
|
|
1031
1360
|
//#endregion
|
|
1032
1361
|
//#region src/io/locale-data.d.ts
|
|
1033
1362
|
declare function readLocaleData(config: I18nConfig, layer: string, locale: LocaleDefinition): Promise<Record<string, unknown>>;
|
|
@@ -1145,5 +1474,5 @@ declare function loadProjectConfig(projectDir: string): Promise<ProjectConfig |
|
|
|
1145
1474
|
//# sourceMappingURL=project-config.d.ts.map
|
|
1146
1475
|
|
|
1147
1476
|
//#endregion
|
|
1148
|
-
export { AddTranslationsResult, BASE_URL_ENV, type CheckUndefinedKeysResult, type CheckUndefinedKeysSummary, CodeUsageRef, CodeUsageResult, type DuplicateKeyCollision, DynamicKeyRef, EmptyTranslationsResult, type FindDuplicateKeysResult, type FindDuplicateKeysSummary, FindOrphanKeysResult, GeneratedProjectConfig, type I18nConfig, type I18nKitConfig, InitProjectConfigResult, type KeyUsageLocation, type LayerGraph, LayerStatus, type LlmProvider, type LlmProviderConfig, type LocaleDefinition, type LocaleDir, LocaleDirInfo, type LocaleRefAmbiguity, LocaleRefInfo, LocaleStatus, MisplacedUsageRef, MissingTranslationsResult, MutationPreview, MutationResult, PlaceholderValidationIssue, PlaceholderValidationResult, ProgressFn, type ProjectConfig, RemoveOrphanKeysResult, RemoveTranslationsPreview, RemoveTranslationsResult, RenameTranslationKeyPreview, RenameTranslationKeyResult, ScaffoldLocaleFileInfo, ScaffoldLocaleResult, ScanCodeUsageResult, SearchMatch, SearchTranslationsResult, ToolError, TranslateAllLayersResult, TranslateAllLayersSummary, TranslateFailReason, TranslateFn, TranslateKeyLocaleIssue, TranslateKeyResult, TranslateLayerTotals, TranslateMissingCompactEntry, TranslateMissingLocaleResult, TranslateMissingOutcome, TranslateMissingResult, TranslateMode, TranslateProviderError, type TranslateProviderErrorKind, TranslateRequest, TranslateResponse, TranslateSkipReason, TranslationStatusResult, TranslationStatusSummary, type UncertainKeyFinding, type UndefinedKeyFinding, UnresolvedKeyWarningRef, UnresolvedLocaleRef, UpdateTranslationsResult, WriteTranslationsResult, addTranslations, buildLayerGraph, checkUndefinedKeys, classifyProviderError, clearConfigCache, createTranslateFn, defineI18nKitConfig, detectConfig, detectI18nConfig, findDuplicateKeys, findEmptyTranslations, findLocaleImpl, findOrphanKeys, getCachedConfig, getMissingTranslations, getTranslationStatus, getTranslations, listLocaleDirs, listNamespaces, loadProjectConfig, readLocaleData, removeOrphanKeys, removeTranslations, renameNotice, renameTranslationKey, resolveProtectedLocales, resolveProviderBaseUrl, scaffoldLocaleFiles, scanCodeUsage, searchTranslations, toErrorMessage, translateKey, translateMissing, updateTranslations, writeTranslations };
|
|
1149
|
-
//# sourceMappingURL=index-
|
|
1477
|
+
export { AddTranslationsResult, BASE_URL_ENV, type CallArgument, type CallSite, type CheckUndefinedKeysResult, type CheckUndefinedKeysSummary, CodeUsageRef, CodeUsageResult, type DuplicateKeyCollision, DynamicKeyRef, EmptyTranslationsResult, type FileEvidence, type FindDuplicateKeysResult, type FindDuplicateKeysSummary, FindOrphanKeysResult, GeneratedProjectConfig, type I18nConfig, type I18nKitConfig, InitProjectConfigResult, type KeyUsageLocation, LARAVEL_PATTERNS, type LanguageFrontend, type LayerGraph, LayerStatus, type LlmProvider, type LlmProviderConfig, type LocaleDefinition, type LocaleDir, LocaleDirInfo, type LocaleRefAmbiguity, LocaleRefInfo, LocaleStatus, MisplacedUsageRef, MissingTranslationsResult, MoveTranslationKeyPlanEntry, MoveTranslationKeyResult, MutationPreview, MutationResult, PlaceholderValidationIssue, PlaceholderValidationResult, ProgressFn, type ProjectConfig, RemoveOrphanKeysResult, RemoveTranslationsPreview, RemoveTranslationsResult, RenameTranslationKeyPreview, RenameTranslationKeyResult, ScaffoldLocaleFileInfo, ScaffoldLocaleResult, ScanCodeUsageResult, type ScanResult, SearchMatch, SearchTranslationsResult, type SerializedLayerGraph, ToolError, TranslateAllLayersResult, TranslateAllLayersSummary, TranslateFailReason, TranslateFn, TranslateKeyLocaleIssue, TranslateKeyResult, TranslateLayerTotals, TranslateMissingCompactEntry, TranslateMissingLocaleResult, TranslateMissingOutcome, TranslateMissingResult, TranslateMode, TranslateProviderError, type TranslateProviderErrorKind, TranslateRequest, TranslateResponse, TranslateSkipReason, TranslationStatusResult, TranslationStatusSummary, type UncertainKeyFinding, type UndefinedKeyFinding, UnresolvedKeyWarningRef, UnresolvedLocaleRef, UpdateTranslationsResult, VUE_NUXT_PATTERNS, WriteTranslationsResult, addTranslations, buildLayerGraph, checkUndefinedKeys, classifyProviderError, clearConfigCache, createBladeFrontend, createOxcFrontend, createPatternsFrontend, createPhpFrontend, createTranslateFn, defineI18nKitConfig, detectConfig, detectI18nConfig, findDuplicateKeys, findEmptyTranslations, findLocaleImpl, findOrphanKeys, getCachedConfig, getMissingTranslations, getPatternSet, getTranslationStatus, getTranslations, listLocaleDirs, listNamespaces, loadProjectConfig, moveTranslationKey, readLocaleData, removeOrphanKeys, removeTranslations, renameNotice, renameTranslationKey, resolveProtectedLocales, resolveProviderBaseUrl, scaffoldLocaleFiles, scanCodeUsage, scanSourceFiles, searchTranslations, serializeLayerGraph, toErrorMessage, translateKey, translateMissing, updateTranslations, writeTranslations };
|
|
1478
|
+
//# sourceMappingURL=index-DCG3dOdC.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-DCG3dOdC.d.ts","names":[],"sources":["../src/core/types.ts","../src/core/shared.ts","../src/core/ops-translate.ts","../src/core/ops-read.ts","../src/core/ops-write.ts","../src/core/ops-status.ts","../src/scanner/frontends/types.ts","../src/scanner/frontends/php/patterns.ts","../src/scanner/patterns.ts","../src/scanner/code-scanner.ts","../src/core/ops-orphans.ts","../src/core/ops-duplicates.ts","../src/core/ops-check.ts","../src/config/detector.ts","../src/config/layer-graph.ts","../src/scanner/frontends/oxc.ts","../src/scanner/frontends/patterns.ts","../src/scanner/frontends/php/index.ts","../src/scanner/frontends/php/blade.ts","../src/io/locale-data.ts","../src/utils/errors.ts","../src/utils/rename-notice.ts","../src/llm/providers.ts","../src/config/project-config.ts"],"sourcesContent":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './index-
|
|
1
|
+
export * from './index-DCG3dOdC.d.ts';
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as defineI18nKitConfig } from "./define-config-4ubtfvUy.js";
|
|
2
2
|
import { i as toErrorMessage, r as ToolError } from "./errors-coI1dhw1.js";
|
|
3
|
-
import { C as
|
|
4
|
-
import { a as resolveProviderBaseUrl, i as createTranslateFn, n as TranslateProviderError, r as classifyProviderError, s as loadProjectConfig, t as BASE_URL_ENV } from "./providers-
|
|
5
|
-
import "./php-reader-
|
|
3
|
+
import { A as resolveProtectedLocales, C as detectConfig, D as listLocaleDirs, E as getTranslations, F as serializeLayerGraph, I as clearConfigCache, L as detectI18nConfig, M as translateMissing, N as readLocaleData, O as listNamespaces, P as buildLayerGraph, R as getCachedConfig, S as createOxcFrontend, T as getMissingTranslations, _ as getPatternSet, a as scanCodeUsage, b as LARAVEL_PATTERNS, c as addTranslations, d as renameTranslationKey, f as scaffoldLocaleFiles, g as VUE_NUXT_PATTERNS, h as scanSourceFiles, i as removeOrphanKeys, j as translateKey, k as searchTranslations, l as moveTranslationKey, m as writeTranslations, n as findDuplicateKeys, o as getTranslationStatus, p as updateTranslations, r as findOrphanKeys, t as checkUndefinedKeys, u as removeTranslations, v as createPatternsFrontend, w as findEmptyTranslations, x as createPhpFrontend, y as createBladeFrontend, z as findLocaleImpl } from "./operations-CTo44gPu.js";
|
|
4
|
+
import { a as resolveProviderBaseUrl, i as createTranslateFn, n as TranslateProviderError, r as classifyProviderError, s as loadProjectConfig, t as BASE_URL_ENV } from "./providers-CHE2ffi6.js";
|
|
5
|
+
import "./php-reader-3Fgw80zK.js";
|
|
6
6
|
import { t as renameNotice } from "./rename-notice-BV8HNX3O.js";
|
|
7
|
-
export { BASE_URL_ENV, ToolError, TranslateProviderError, addTranslations, buildLayerGraph, checkUndefinedKeys, classifyProviderError, clearConfigCache, createTranslateFn, defineI18nKitConfig, detectConfig, detectI18nConfig, findDuplicateKeys, findEmptyTranslations, findLocaleImpl, findOrphanKeys, getCachedConfig, getMissingTranslations, getTranslationStatus, getTranslations, listLocaleDirs, listNamespaces, loadProjectConfig, readLocaleData, removeOrphanKeys, removeTranslations, renameNotice, renameTranslationKey, resolveProtectedLocales, resolveProviderBaseUrl, scaffoldLocaleFiles, scanCodeUsage, searchTranslations, toErrorMessage, translateKey, translateMissing, updateTranslations, writeTranslations };
|
|
7
|
+
export { BASE_URL_ENV, LARAVEL_PATTERNS, ToolError, TranslateProviderError, VUE_NUXT_PATTERNS, addTranslations, buildLayerGraph, checkUndefinedKeys, classifyProviderError, clearConfigCache, createBladeFrontend, createOxcFrontend, createPatternsFrontend, createPhpFrontend, createTranslateFn, defineI18nKitConfig, detectConfig, detectI18nConfig, findDuplicateKeys, findEmptyTranslations, findLocaleImpl, findOrphanKeys, getCachedConfig, getMissingTranslations, getPatternSet, getTranslationStatus, getTranslations, listLocaleDirs, listNamespaces, loadProjectConfig, moveTranslationKey, readLocaleData, removeOrphanKeys, removeTranslations, renameNotice, renameTranslationKey, resolveProtectedLocales, resolveProviderBaseUrl, scaffoldLocaleFiles, scanCodeUsage, scanSourceFiles, searchTranslations, serializeLayerGraph, toErrorMessage, translateKey, translateMissing, updateTranslations, writeTranslations };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import "./stdout-guard-sJHFWVem.js";
|
|
2
|
-
import { s as initProjectConfig } from "./operations-
|
|
3
|
-
import "./providers-
|
|
4
|
-
import "./php-reader-
|
|
5
|
-
import { t as createCommand } from "./_shared-
|
|
2
|
+
import { s as initProjectConfig } from "./operations-CTo44gPu.js";
|
|
3
|
+
import "./providers-CHE2ffi6.js";
|
|
4
|
+
import "./php-reader-3Fgw80zK.js";
|
|
5
|
+
import { t as createCommand } from "./_shared-DFyy3sh8.js";
|
|
6
6
|
//#region src/commands/init.ts
|
|
7
7
|
var init_default = createCommand({
|
|
8
8
|
name: "init",
|
|
@@ -30,4 +30,4 @@ var init_default = createCommand({
|
|
|
30
30
|
//#endregion
|
|
31
31
|
export { init_default as default };
|
|
32
32
|
|
|
33
|
-
//# sourceMappingURL=init-
|
|
33
|
+
//# sourceMappingURL=init-BtzmhsOM.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-
|
|
1
|
+
{"version":3,"file":"init-BtzmhsOM.js","names":[],"sources":["../src/commands/init.ts"],"sourcesContent":["import { createCommand } from './_shared.js'\nimport { initProjectConfig } from '../core/operations.js'\n\nexport default createCommand({\n name: 'init',\n description: 'Create a schema-valid .i18n-mcp.json from framework detection. Non-interactive; refuses to overwrite without --force',\n args: {\n force: { type: 'boolean', description: 'Overwrite an existing .i18n-mcp.json', default: false },\n dryRun: { type: 'boolean', description: 'Report the config that would be written without touching disk', default: false },\n },\n async run(args) {\n return initProjectConfig({\n projectDir: args.projectDir,\n force: args.force,\n dryRun: args.dryRun,\n })\n },\n})\n"],"mappings":";;;;;;AAGA,IAAA,eAAe,cAAc;CAC3B,MAAM;CACN,aAAa;CACb,MAAM;EACJ,OAAO;GAAE,MAAM;GAAW,aAAa;GAAwC,SAAS;GAAO;EAC/F,QAAQ;GAAE,MAAM;GAAW,aAAa;GAAiE,SAAS;GAAO;EAC1H;CACD,MAAM,IAAI,MAAM;AACd,SAAO,kBAAkB;GACvB,YAAY,KAAK;GACjB,OAAO,KAAK;GACZ,QAAQ,KAAK;GACd,CAAC;;CAEL,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import "./stdout-guard-sJHFWVem.js";
|
|
2
|
-
import {
|
|
3
|
-
import "./providers-
|
|
4
|
-
import "./php-reader-
|
|
5
|
-
import { t as createCommand } from "./_shared-
|
|
2
|
+
import { D as listLocaleDirs } from "./operations-CTo44gPu.js";
|
|
3
|
+
import "./providers-CHE2ffi6.js";
|
|
4
|
+
import "./php-reader-3Fgw80zK.js";
|
|
5
|
+
import { t as createCommand } from "./_shared-DFyy3sh8.js";
|
|
6
6
|
//#region src/commands/list-dirs.ts
|
|
7
7
|
var list_dirs_default = createCommand({
|
|
8
8
|
name: "list-dirs",
|
|
@@ -14,4 +14,4 @@ var list_dirs_default = createCommand({
|
|
|
14
14
|
//#endregion
|
|
15
15
|
export { list_dirs_default as default };
|
|
16
16
|
|
|
17
|
-
//# sourceMappingURL=list-dirs-
|
|
17
|
+
//# sourceMappingURL=list-dirs-DUQbwvlE.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-dirs-
|
|
1
|
+
{"version":3,"file":"list-dirs-DUQbwvlE.js","names":[],"sources":["../src/commands/list-dirs.ts"],"sourcesContent":["import { createCommand } from './_shared.js'\nimport { listLocaleDirs } from '../core/operations.js'\n\nexport default createCommand({\n name: 'list-dirs',\n description: 'List all i18n locale directories, grouped by layer',\n async run(args) {\n return listLocaleDirs(args.projectDir)\n },\n})\n"],"mappings":";;;;;;AAGA,IAAA,oBAAe,cAAc;CAC3B,MAAM;CACN,aAAa;CACb,MAAM,IAAI,MAAM;AACd,SAAO,eAAe,KAAK,WAAW;;CAEzC,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import "./stdout-guard-sJHFWVem.js";
|
|
2
|
-
import {
|
|
3
|
-
import "./providers-
|
|
4
|
-
import "./php-reader-
|
|
5
|
-
import { o as splitList, t as createCommand } from "./_shared-
|
|
2
|
+
import { T as getMissingTranslations } from "./operations-CTo44gPu.js";
|
|
3
|
+
import "./providers-CHE2ffi6.js";
|
|
4
|
+
import "./php-reader-3Fgw80zK.js";
|
|
5
|
+
import { o as splitList, t as createCommand } from "./_shared-DFyy3sh8.js";
|
|
6
6
|
//#region src/commands/missing.ts
|
|
7
7
|
var missing_default = createCommand({
|
|
8
8
|
name: "missing",
|
|
@@ -48,4 +48,4 @@ var missing_default = createCommand({
|
|
|
48
48
|
//#endregion
|
|
49
49
|
export { missing_default as default };
|
|
50
50
|
|
|
51
|
-
//# sourceMappingURL=missing-
|
|
51
|
+
//# sourceMappingURL=missing-CcYrgd54.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"missing-
|
|
1
|
+
{"version":3,"file":"missing-CcYrgd54.js","names":[],"sources":["../src/commands/missing.ts"],"sourcesContent":["import { createCommand, splitList } from './_shared.js'\nimport { getMissingTranslations } from '../core/operations.js'\n\nexport default createCommand({\n name: 'missing',\n description: 'Find translation keys missing in target locales',\n args: {\n layer: { type: 'string', description: 'Filter to a specific layer' },\n ref: { type: 'string', description: 'Reference locale (default: project default)' },\n targets: { type: 'string', description: 'Comma-separated target locales (default: all except ref)' },\n outputFile: { type: 'string', description: 'Write full output to this file path and return only a summary (useful for large outputs)' },\n failOnMissing: { type: 'boolean', description: 'Exit 2 when any key is missing (CI gate)', default: false },\n },\n gates: [{ flag: 'failOnMissing', counter: 'totalMissingKeys', threshold: 0 }],\n async run(args) {\n return getMissingTranslations({\n layer: args.layer,\n referenceLocale: args.ref,\n targetLocales: splitList(args.targets),\n projectDir: args.projectDir,\n outputFile: args.outputFile,\n })\n },\n})\n"],"mappings":";;;;;;AAGA,IAAA,kBAAe,cAAc;CAC3B,MAAM;CACN,aAAa;CACb,MAAM;EACJ,OAAO;GAAE,MAAM;GAAU,aAAa;GAA8B;EACpE,KAAK;GAAE,MAAM;GAAU,aAAa;GAA+C;EACnF,SAAS;GAAE,MAAM;GAAU,aAAa;GAA4D;EACpG,YAAY;GAAE,MAAM;GAAU,aAAa;GAA4F;EACvI,eAAe;GAAE,MAAM;GAAW,aAAa;GAA4C,SAAS;GAAO;EAC5G;CACD,OAAO,CAAC;EAAE,MAAM;EAAiB,SAAS;EAAoB,WAAW;EAAG,CAAC;CAC7E,MAAM,IAAI,MAAM;AACd,SAAO,uBAAuB;GAC5B,OAAO,KAAK;GACZ,iBAAiB,KAAK;GACtB,eAAe,UAAU,KAAK,QAAQ;GACtC,YAAY,KAAK;GACjB,YAAY,KAAK;GAClB,CAAC;;CAEL,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import "./stdout-guard-sJHFWVem.js";
|
|
2
|
+
import { l as moveTranslationKey } from "./operations-CTo44gPu.js";
|
|
3
|
+
import "./providers-CHE2ffi6.js";
|
|
4
|
+
import "./php-reader-3Fgw80zK.js";
|
|
5
|
+
import { t as createCommand } from "./_shared-DFyy3sh8.js";
|
|
6
|
+
//#region src/commands/move.ts
|
|
7
|
+
var move_default = createCommand({
|
|
8
|
+
name: "move",
|
|
9
|
+
description: "Move a translation key from one layer to another, carrying every locale that defines it",
|
|
10
|
+
args: {
|
|
11
|
+
fromLayer: {
|
|
12
|
+
type: "string",
|
|
13
|
+
description: "Layer the key lives in today",
|
|
14
|
+
required: true
|
|
15
|
+
},
|
|
16
|
+
toLayer: {
|
|
17
|
+
type: "string",
|
|
18
|
+
description: "Layer to move it to (see layerGraph.shared from the MCP discover tool for where a shared key belongs)",
|
|
19
|
+
required: true
|
|
20
|
+
},
|
|
21
|
+
key: {
|
|
22
|
+
type: "string",
|
|
23
|
+
description: "Dot-separated key path to move",
|
|
24
|
+
required: true
|
|
25
|
+
},
|
|
26
|
+
newKey: {
|
|
27
|
+
type: "string",
|
|
28
|
+
description: "Key path in the target layer, when the move also renames it"
|
|
29
|
+
},
|
|
30
|
+
dryRun: {
|
|
31
|
+
type: "boolean",
|
|
32
|
+
description: "Preview changes without writing",
|
|
33
|
+
default: false
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
async run(args) {
|
|
37
|
+
return moveTranslationKey({
|
|
38
|
+
fromLayer: args.fromLayer,
|
|
39
|
+
toLayer: args.toLayer,
|
|
40
|
+
key: args.key,
|
|
41
|
+
newKey: args.newKey,
|
|
42
|
+
dryRun: args.dryRun,
|
|
43
|
+
projectDir: args.projectDir
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
//#endregion
|
|
48
|
+
export { move_default as default };
|
|
49
|
+
|
|
50
|
+
//# sourceMappingURL=move-B2px6Ck-.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"move-B2px6Ck-.js","names":[],"sources":["../src/commands/move.ts"],"sourcesContent":["import { createCommand } from './_shared.js'\nimport { moveTranslationKey } from '../core/operations.js'\n\nexport default createCommand({\n name: 'move',\n description: 'Move a translation key from one layer to another, carrying every locale that defines it',\n args: {\n fromLayer: { type: 'string', description: 'Layer the key lives in today', required: true },\n toLayer: { type: 'string', description: 'Layer to move it to (see layerGraph.shared from the MCP discover tool for where a shared key belongs)', required: true },\n key: { type: 'string', description: 'Dot-separated key path to move', required: true },\n newKey: { type: 'string', description: 'Key path in the target layer, when the move also renames it' },\n dryRun: { type: 'boolean', description: 'Preview changes without writing', default: false },\n },\n async run(args) {\n return moveTranslationKey({\n fromLayer: args.fromLayer,\n toLayer: args.toLayer,\n key: args.key,\n newKey: args.newKey,\n dryRun: args.dryRun,\n projectDir: args.projectDir,\n })\n },\n})\n"],"mappings":";;;;;;AAGA,IAAA,eAAe,cAAc;CAC3B,MAAM;CACN,aAAa;CACb,MAAM;EACJ,WAAW;GAAE,MAAM;GAAU,aAAa;GAAgC,UAAU;GAAM;EAC1F,SAAS;GAAE,MAAM;GAAU,aAAa;GAAyG,UAAU;GAAM;EACjK,KAAK;GAAE,MAAM;GAAU,aAAa;GAAkC,UAAU;GAAM;EACtF,QAAQ;GAAE,MAAM;GAAU,aAAa;GAA+D;EACtG,QAAQ;GAAE,MAAM;GAAW,aAAa;GAAmC,SAAS;GAAO;EAC5F;CACD,MAAM,IAAI,MAAM;AACd,SAAO,mBAAmB;GACxB,WAAW,KAAK;GAChB,SAAS,KAAK;GACd,KAAK,KAAK;GACV,QAAQ,KAAK;GACb,QAAQ,KAAK;GACb,YAAY,KAAK;GAClB,CAAC;;CAEL,CAAC"}
|