@lionrapid/core 0.5.0 → 0.6.1

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.
Files changed (107) hide show
  1. package/dist/base/event-emitter.d.ts.map +1 -1
  2. package/dist/base/event-emitter.js +2 -1
  3. package/dist/base/event-emitter.js.map +1 -1
  4. package/dist/browser/attribute-extractor.d.ts.map +1 -1
  5. package/dist/browser/attribute-extractor.js +2 -1
  6. package/dist/browser/attribute-extractor.js.map +1 -1
  7. package/dist/browser/auto-init.d.ts +73 -0
  8. package/dist/browser/auto-init.d.ts.map +1 -1
  9. package/dist/browser/auto-init.js +193 -62
  10. package/dist/browser/auto-init.js.map +1 -1
  11. package/dist/browser/block-extractor.d.ts.map +1 -1
  12. package/dist/browser/block-extractor.js +3 -1
  13. package/dist/browser/block-extractor.js.map +1 -1
  14. package/dist/browser/editor/editor-api.d.ts +50 -6
  15. package/dist/browser/editor/editor-api.d.ts.map +1 -1
  16. package/dist/browser/editor/editor-api.js +121 -19
  17. package/dist/browser/editor/editor-api.js.map +1 -1
  18. package/dist/browser/editor/editor-init.js +4 -1
  19. package/dist/browser/editor/editor-init.js.map +1 -1
  20. package/dist/browser/editor/sidebar.d.ts +4 -3
  21. package/dist/browser/editor/sidebar.d.ts.map +1 -1
  22. package/dist/browser/editor/sidebar.js +93 -27
  23. package/dist/browser/editor/sidebar.js.map +1 -1
  24. package/dist/browser/editor/snapshot-viewer.d.ts.map +1 -1
  25. package/dist/browser/editor/snapshot-viewer.js +32 -3
  26. package/dist/browser/editor/snapshot-viewer.js.map +1 -1
  27. package/dist/browser/lionrapid.auto.dev.js +444 -149
  28. package/dist/browser/lionrapid.auto.dev.js.map +4 -4
  29. package/dist/browser/lionrapid.auto.js +444 -149
  30. package/dist/browser/lionrapid.auto.js.map +4 -4
  31. package/dist/browser/lionrapid.auto.min.js +4 -3
  32. package/dist/browser/lionrapid.auto.min.js.map +4 -4
  33. package/dist/browser/lionrapid.editor.js +1467 -1115
  34. package/dist/browser/lionrapid.editor.js.map +4 -4
  35. package/dist/browser/lionrapid.editor.min.js +4 -3
  36. package/dist/browser/lionrapid.editor.min.js.map +4 -4
  37. package/dist/browser/lionrapid.esm.js +590 -101
  38. package/dist/browser/lionrapid.esm.js.map +4 -4
  39. package/dist/browser/lionrapid.esm.min.js +3 -2
  40. package/dist/browser/lionrapid.esm.min.js.map +4 -4
  41. package/dist/browser/lionrapid.iife.dev.js +590 -101
  42. package/dist/browser/lionrapid.iife.dev.js.map +4 -4
  43. package/dist/browser/lionrapid.iife.js +590 -101
  44. package/dist/browser/lionrapid.iife.js.map +4 -4
  45. package/dist/browser/lionrapid.iife.min.js +3 -2
  46. package/dist/browser/lionrapid.iife.min.js.map +4 -4
  47. package/dist/browser/lionrapid.umd.js +590 -101
  48. package/dist/browser/lionrapid.umd.js.map +4 -4
  49. package/dist/browser/lionrapid.umd.min.js +3 -2
  50. package/dist/browser/lionrapid.umd.min.js.map +4 -4
  51. package/dist/browser/sanitizer.d.ts +37 -0
  52. package/dist/browser/sanitizer.d.ts.map +1 -0
  53. package/dist/browser/sanitizer.js +93 -0
  54. package/dist/browser/sanitizer.js.map +1 -0
  55. package/dist/builder.d.ts +8 -0
  56. package/dist/builder.d.ts.map +1 -1
  57. package/dist/builder.js +33 -5
  58. package/dist/builder.js.map +1 -1
  59. package/dist/config/lionrapid.config.d.ts +0 -1
  60. package/dist/config/lionrapid.config.d.ts.map +1 -1
  61. package/dist/config/repository.config.d.ts +2 -2
  62. package/dist/config/repository.config.d.ts.map +1 -1
  63. package/dist/content/index.d.ts +3 -0
  64. package/dist/content/index.d.ts.map +1 -1
  65. package/dist/content/index.js +5 -0
  66. package/dist/content/index.js.map +1 -1
  67. package/dist/content/sanitizer/HTMLSanitizer.d.ts +105 -0
  68. package/dist/content/sanitizer/HTMLSanitizer.d.ts.map +1 -0
  69. package/dist/content/sanitizer/HTMLSanitizer.js +257 -0
  70. package/dist/content/sanitizer/HTMLSanitizer.js.map +1 -0
  71. package/dist/content/serializer/HTMLSerializer.d.ts +6 -2
  72. package/dist/content/serializer/HTMLSerializer.d.ts.map +1 -1
  73. package/dist/content/serializer/HTMLSerializer.js +16 -8
  74. package/dist/content/serializer/HTMLSerializer.js.map +1 -1
  75. package/dist/content/splitter/BlockSplitter.d.ts +66 -0
  76. package/dist/content/splitter/BlockSplitter.d.ts.map +1 -0
  77. package/dist/content/splitter/BlockSplitter.js +219 -0
  78. package/dist/content/splitter/BlockSplitter.js.map +1 -0
  79. package/dist/index.d.ts +4 -2
  80. package/dist/index.d.ts.map +1 -1
  81. package/dist/index.js +17 -1
  82. package/dist/index.js.map +1 -1
  83. package/dist/lionRapid.d.ts +2 -2
  84. package/dist/lionRapid.d.ts.map +1 -1
  85. package/dist/lionRapid.js +19 -7
  86. package/dist/lionRapid.js.map +1 -1
  87. package/dist/repositories/network-repository.d.ts +30 -8
  88. package/dist/repositories/network-repository.d.ts.map +1 -1
  89. package/dist/repositories/network-repository.js +88 -74
  90. package/dist/repositories/network-repository.js.map +1 -1
  91. package/dist/types/lionRapid.types.d.ts +2 -0
  92. package/dist/types/lionRapid.types.d.ts.map +1 -1
  93. package/dist/types/translation.types.d.ts +0 -3
  94. package/dist/types/translation.types.d.ts.map +1 -1
  95. package/dist/utils/context-utils.d.ts +1 -2
  96. package/dist/utils/context-utils.d.ts.map +1 -1
  97. package/dist/utils/context-utils.js +3 -6
  98. package/dist/utils/context-utils.js.map +1 -1
  99. package/dist/utils/locale.d.ts +57 -0
  100. package/dist/utils/locale.d.ts.map +1 -0
  101. package/dist/utils/locale.js +116 -0
  102. package/dist/utils/locale.js.map +1 -0
  103. package/dist/utils/translation-flow.d.ts +1 -1
  104. package/dist/utils/translation-flow.d.ts.map +1 -1
  105. package/dist/utils/translation-flow.js +2 -3
  106. package/dist/utils/translation-flow.js.map +1 -1
  107. package/package.json +2 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockSplitter.js","sourceRoot":"","sources":["../../../src/content/splitter/BlockSplitter.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -14,11 +14,13 @@ export type { MissingTranslationItem, MissingTranslationQueueConfig, } from './s
14
14
  export type { FormatterFunction, IAsyncHandler, IEmbeddedPlugin, IEventPlugin, IPlugin, ISyncHandler, PluginContext, } from './interfaces/index.js';
15
15
  export type { ISyncRepository, IAsyncRepository, IStatsProvider, } from './interfaces/repository.interface.js';
16
16
  export type { TranslationRequest, TranslationResult } from './types/index.js';
17
- export type { ContentUnit, IParser, ISerializer, IValidator, ValidationError, ValidationErrorCode, ValidationResult, ValidationWarning, ValidationWarningCode, } from './content/index.js';
18
- export { ContentValidator, HTMLSerializer, MarkupParser, VOID_TAGS, serializeOpeningTag, extractTagName, readRawStyle, } from './content/index.js';
17
+ export type { ContentUnit, HtmlBlock, IParser, ISerializer, IValidator, SplitBlocksResult, ValidationError, ValidationErrorCode, ValidationResult, ValidationWarning, ValidationWarningCode, } from './content/index.js';
18
+ export { ContentValidator, HTMLSerializer, MarkupParser, VOID_TAGS, serializeOpeningTag, extractTagName, readRawStyle, SAFE_TAGS, SAFE_ATTRS, SAFE_STYLE_PROPS, escapeHtml, sanitizeUrl, sanitizeStyle, sanitizeOpeningTag, sanitizeContentUnit, splitBlocks, replaceBlockInners, } from './content/index.js';
19
19
  export { generateAutoKey, md5 } from './browser/md5.js';
20
20
  export { ExcludeFilter } from './browser/exclude-filter.js';
21
21
  export type { ExcludePatterns } from './browser/exclude-filter.js';
22
+ export { sanitizeElement, sanitizeStyleSheetText } from './browser/sanitizer.js';
23
+ export { normalizeLocale, matchLocale, parseAcceptLanguage, localeDir, primarySubtag, LOCALE_TAG_REGEX, } from './utils/locale.js';
22
24
  export { CacheManager } from './cache/index.js';
23
25
  export type { CacheEventPayloads, CacheManagerEntry, InvalidateOptions, } from './cache/index.js';
24
26
  export { isClientError, isRetryableError, isTranslationError, NetworkError, ServerError, TranslationError, TranslationLockedError, TranslationNotFoundError, } from './errors/translation-errors.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -15,7 +15,15 @@ export { MissingTranslationQueue } from './sync/missing-translation-queue.js';
15
15
  export { ContentValidator, HTMLSerializer, MarkupParser,
16
16
  // Raw-tag helpers — used by react JSX parser/serializer and any other
17
17
  // consumer that needs to produce or interpret `raw:<...>` styles.
18
- VOID_TAGS, serializeOpeningTag, extractTagName, readRawStyle, } from './content/index.js';
18
+ VOID_TAGS, serializeOpeningTag, extractTagName, readRawStyle,
19
+ // Shared allowlist HTML sanitizer — the single implementation for every
20
+ // innerHTML sink (core serializer/editor/snapshot, react <Trans>, WP TS);
21
+ // the WP PHP port mirrors SAFE_TAGS/SAFE_ATTRS.
22
+ SAFE_TAGS, SAFE_ATTRS, SAFE_STYLE_PROPS, escapeHtml, sanitizeUrl, sanitizeStyle, sanitizeOpeningTag, sanitizeContentUnit,
23
+ // Shared string-level block scanner (lifted from the edge proxy) — the one
24
+ // splitter every non-DOM surface (edge, webhook) uses to find translatable
25
+ // block boundaries. Structural only; callers key/filter themselves.
26
+ splitBlocks, replaceBlockInners, } from './content/index.js';
19
27
  // auto_ key generation (Node-safe: pure-JS md5 over UTF-8 bytes, no DOM).
20
28
  // Re-exported from the browser entry so non-DOM consumers — notably
21
29
  // @lionrapid/cli — can import it from the package root rather than a deep
@@ -26,6 +34,14 @@ export { generateAutoKey, md5 } from './browser/md5.js';
26
34
  // the CLI source scanner skips exactly the same emails/URLs/numbers/phones the
27
35
  // DOM auto-detect path skips — byte-parity on what becomes a translatable key.
28
36
  export { ExcludeFilter } from './browser/exclude-filter.js';
37
+ // DOM-tree sanitizer (browser-only: uses live-DOM APIs). Consumed by the
38
+ // snapshot viewer and by react `<Trans>` as a defense-in-depth pass over
39
+ // tHtml output. Callers must guard `typeof document !== 'undefined'`.
40
+ export { sanitizeElement, sanitizeStyleSheetText } from './browser/sanitizer.js';
41
+ // BCP-47 locale utilities (Node-safe, pure). Same grammar/matching as
42
+ // @lionrapid/edge; RTL set mirrors tm-server. Consumers: browser auto-init,
43
+ // and any package needing to negotiate/normalize locales identically.
44
+ export { normalizeLocale, matchLocale, parseAcceptLanguage, localeDir, primarySubtag, LOCALE_TAG_REGEX, } from './utils/locale.js';
29
45
  // Cache module (TanStack Query-inspired)
30
46
  export { CacheManager } from './cache/index.js';
31
47
  // Error classes
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc;AACd,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,sBAAsB;AACtB,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAGvE,iBAAiB;AACjB,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAwC9E,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,YAAY;AACZ,sEAAsE;AACtE,kEAAkE;AAClE,SAAS,EACT,mBAAmB,EACnB,cAAc,EACd,YAAY,GACb,MAAM,oBAAoB,CAAC;AAE5B,0EAA0E;AAC1E,oEAAoE;AACpE,0EAA0E;AAC1E,+EAA+E;AAC/E,uEAAuE;AACvE,OAAO,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAExD,6EAA6E;AAC7E,+EAA+E;AAC/E,+EAA+E;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAG5D,yCAAyC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAOhD,gBAAgB;AAChB,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,gBAAgB,EAChB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,gCAAgC,CAAC;AAkDxC,2FAA2F;AAE3F,+BAA+B;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AAGtF,OAAO,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AAGvF,sBAAsB;AACtB,OAAO,EACL,YAAY,EACZ,yBAAyB,EACzB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAE1B,+CAA+C;AAC/C,OAAO,EACL,MAAM,EACN,mBAAmB,EACnB,MAAM,EACN,MAAM,EACN,OAAO,GACR,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAgB,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAYnE,sBAAsB;AACtB,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc;AACd,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,sBAAsB;AACtB,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAGvE,iBAAiB;AACjB,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AA0C9E,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,YAAY;AACZ,sEAAsE;AACtE,kEAAkE;AAClE,SAAS,EACT,mBAAmB,EACnB,cAAc,EACd,YAAY;AACZ,wEAAwE;AACxE,0EAA0E;AAC1E,gDAAgD;AAChD,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,mBAAmB;AACnB,2EAA2E;AAC3E,2EAA2E;AAC3E,oEAAoE;AACpE,WAAW,EACX,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAE5B,0EAA0E;AAC1E,oEAAoE;AACpE,0EAA0E;AAC1E,+EAA+E;AAC/E,uEAAuE;AACvE,OAAO,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAExD,6EAA6E;AAC7E,+EAA+E;AAC/E,+EAA+E;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAG5D,yEAAyE;AACzE,yEAAyE;AACzE,sEAAsE;AACtE,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAEjF,sEAAsE;AACtE,4EAA4E;AAC5E,sEAAsE;AACtE,OAAO,EACL,eAAe,EACf,WAAW,EACX,mBAAmB,EACnB,SAAS,EACT,aAAa,EACb,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAE3B,yCAAyC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAOhD,gBAAgB;AAChB,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,gBAAgB,EAChB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,gCAAgC,CAAC;AAkDxC,2FAA2F;AAE3F,+BAA+B;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AAGtF,OAAO,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AAGvF,sBAAsB;AACtB,OAAO,EACL,YAAY,EACZ,yBAAyB,EACzB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAE1B,+CAA+C;AAC/C,OAAO,EACL,MAAM,EACN,mBAAmB,EACnB,MAAM,EACN,MAAM,EACN,OAAO,GACR,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAgB,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAYnE,sBAAsB;AACtB,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC"}
@@ -12,18 +12,18 @@ import { CacheManager } from './cache/CacheManager.js';
12
12
  export declare class LionRapidCore {
13
13
  private handlerChain;
14
14
  private currentLocale;
15
- private fallbackLocale;
16
15
  private defaultNamespace?;
17
16
  private pendingTranslations;
18
17
  bus: EventEmitter;
19
18
  private plugins;
20
19
  private formatters;
21
20
  private processors;
21
+ private warnedNoInterpolate;
22
22
  private eventPlugins;
23
23
  private readonly markupParser;
24
24
  private readonly htmlSerializer;
25
25
  readonly cache: CacheManager;
26
- constructor(eventEmitter: EventEmitter, handlerChain: HandlerChain, defaultLocale?: string, fallbackLocale?: string, defaultNamespace?: string);
26
+ constructor(eventEmitter: EventEmitter, handlerChain: HandlerChain, defaultLocale?: string, defaultNamespace?: string);
27
27
  /**
28
28
  * ✅ Register plugin (called by builder)
29
29
  */
@@ -1 +1 @@
1
- {"version":3,"file":"lionRapid.d.ts","sourceRoot":"","sources":["../src/lionRapid.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAGV,OAAO,EAER,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAMvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAKtD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAcvD,qBAAa,aAAa;IACxB,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,gBAAgB,CAAC,CAAS;IAClC,OAAO,CAAC,mBAAmB,CAAoC;IAC/D,GAAG,EAAE,YAAY,CAAC;IAElB,OAAO,CAAC,OAAO,CAA8B;IAG7C,OAAO,CAAC,UAAU,CAAwC;IAC1D,OAAO,CAAC,UAAU,CAAqC;IAGvD,OAAO,CAAC,YAAY,CAAsB;IAG1C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAsB;IACnD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwB;IAGvD,SAAgB,KAAK,EAAE,YAAY,CAAC;gBAGlC,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAC1B,aAAa,SAAO,EACpB,cAAc,SAAO,EACrB,gBAAgB,CAAC,EAAE,MAAM;IAiB3B;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAcrC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAoB/B;;;;;;;;;;;;;;;;;OAiBG;IACH,CAAC,CAAC,CAAC,SAAS,MAAM,EAChB,GAAG,EAAE,CAAC,EACN,GAAG,IAAI,EAAE,CAAC,SAAS,MAAM,eAAe,GACpC,eAAe,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAC9C,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,GACvB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,EAAE,MAAM,CAAC,GACrD,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,EAAE,MAAM,CAAC,GAC5D,MAAM;IAuCT;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,KAAK,CAAC,CAAC,SAAS,MAAM,EACpB,GAAG,EAAE,CAAC,EACN,GAAG,IAAI,EAAE,CAAC,SAAS,MAAM,eAAe,GACpC,eAAe,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAC9C,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,GACvB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,EAAE,MAAM,CAAC,GACrD,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,EAAE,MAAM,CAAC,GAC5D,MAAM;IAyCT;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;IA6B1B;;;;;;;;;OASG;IACH,OAAO,CAAC,YAAY;IAgBpB;;;;;;;OAOG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;;;;;;OAOG;IACH,OAAO,CAAC,mBAAmB;IAW3B;;;;;;;OAOG;IACH,OAAO,CAAC,sBAAsB;IAmC9B;;;;;;;OAOG;IACH,OAAO,CAAC,gBAAgB;IAiBxB;;;;OAIG;IACI,uBAAuB,CAC5B,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,MAAM,CAAC,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,MAAM,GACX,MAAM;IAET;;OAEG;IACI,uBAAuB,CAC5B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,kBAAkB,GAC1B,MAAM;IAqET;;;;;;;;;;;;;;;;;OAiBG;IACH,cAAc,CACZ,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,YAAY,CAAC,EAAE,MAAM,GACpB,WAAW;IA2Bd;;;;;;;;OAQG;IACH,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM;IAI1E;;;;;;;OAOG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIpC;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAwDjC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAuB7B;;OAEG;IACH,gBAAgB,IAAI,MAAM;IAI1B;;OAEG;IACH,mBAAmB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAI7C;;OAEG;IACH,mBAAmB,IAAI,MAAM,GAAG,SAAS;IAKzC,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAIjC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAc9B,mBAAmB,IAAI,GAAG;IAI1B;;OAEG;IACG,cAAc,CAClB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;KAC9B,GACA,OAAO,CAAC,IAAI,CAAC;YAyCF,UAAU;IAKxB,OAAO,CAAC,iCAAiC;YAiB3B,cAAc;IAkB5B;;;;;;;OAOG;IACG,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAexE,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,aAAa;CAYtB"}
1
+ {"version":3,"file":"lionRapid.d.ts","sourceRoot":"","sources":["../src/lionRapid.ts"],"names":[],"mappings":"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"}
package/dist/lionRapid.js CHANGED
@@ -18,7 +18,6 @@ const HTML_TAG_REGEX = /<[a-z][a-z0-9]*(?:\s+[^>]*)?\/?>/i;
18
18
  export class LionRapidCore {
19
19
  handlerChain;
20
20
  currentLocale;
21
- fallbackLocale;
22
21
  defaultNamespace;
23
22
  pendingTranslations = new Map();
24
23
  bus;
@@ -26,6 +25,7 @@ export class LionRapidCore {
26
25
  // 🔥 EMBEDDED: Core integration maps
27
26
  formatters = new Map();
28
27
  processors = new Map();
28
+ warnedNoInterpolate = false;
29
29
  // 📡 EVENT-DRIVEN: Just track for cleanup
30
30
  eventPlugins = new Set();
31
31
  // 📦 CONTENT: Parser and serializer for ContentUnit processing
@@ -33,11 +33,10 @@ export class LionRapidCore {
33
33
  htmlSerializer = new HTMLSerializer();
34
34
  // 🔄 CACHE: TanStack Query-inspired cache management
35
35
  cache;
36
- constructor(eventEmitter, handlerChain, defaultLocale = 'en', fallbackLocale = 'en', defaultNamespace) {
36
+ constructor(eventEmitter, handlerChain, defaultLocale = 'en', defaultNamespace) {
37
37
  this.bus = eventEmitter;
38
38
  this.handlerChain = handlerChain;
39
39
  this.currentLocale = defaultLocale;
40
- this.fallbackLocale = fallbackLocale;
41
40
  this.defaultNamespace = defaultNamespace;
42
41
  // Initialize cache manager with dependencies
43
42
  this.cache = new CacheManager(this.handlerChain, this.bus, () => this.currentLocale, (locale, namespaces) => this.loadNamespaces(locale, namespaces));
@@ -97,7 +96,7 @@ export class LionRapidCore {
97
96
  */
98
97
  t(key, ...args) {
99
98
  const [firstArg, secondArg] = args;
100
- const request = prepareTranslationRequest(key, this.currentLocale, firstArg, secondArg, this.defaultNamespace, this.fallbackLocale);
99
+ const request = prepareTranslationRequest(key, this.currentLocale, firstArg, secondArg, this.defaultNamespace);
101
100
  // Emit request event
102
101
  logger.debug(`Translation requested: ${request.cleanKey}`);
103
102
  const translateBus = this.bus.translation(request);
@@ -145,7 +144,7 @@ export class LionRapidCore {
145
144
  // Pass arguments directly to prepareTranslationRequest
146
145
  // which handles the flexible parameter parsing
147
146
  const [firstArg, secondArg] = args;
148
- const request = prepareTranslationRequest(key, this.currentLocale, firstArg, secondArg, this.defaultNamespace, this.fallbackLocale);
147
+ const request = prepareTranslationRequest(key, this.currentLocale, firstArg, secondArg, this.defaultNamespace);
149
148
  // Emit request event
150
149
  logger.debug(`HTML translation requested: ${request.cleanKey}`);
151
150
  const translateBus = this.bus.translation(request);
@@ -330,6 +329,19 @@ export class LionRapidCore {
330
329
  const interpolateFormatter = this.formatters.get('interpolate');
331
330
  processedValue = interpolateFormatter(processedValue, params, resolvedLocale, resolvedKey);
332
331
  }
332
+ else if (!this.warnedNoInterpolate &&
333
+ params &&
334
+ Object.keys(params).length > 0 &&
335
+ processedValue.includes('{')) {
336
+ // Params against a {placeholder} string with nothing to interpolate:
337
+ // without this, the miswiring is invisible and the SDK looks broken.
338
+ this.warnedNoInterpolate = true;
339
+ // eslint-disable-next-line no-console
340
+ console.warn('[LionRapid] Translation params were passed but no interpolate ' +
341
+ 'formatter is registered — {placeholders} render literally. ' +
342
+ 'Install @lionrapid/formatters and add .use(coreFormattersPlugin) ' +
343
+ 'to the builder.');
344
+ }
333
345
  // ✅ Step 3: Apply value processors (escaping, sanitization, etc.)
334
346
  if (this.processors.size > 0) {
335
347
  for (const [name, processor] of this.processors.entries()) {
@@ -368,7 +380,7 @@ export class LionRapidCore {
368
380
  */
369
381
  getContentUnit(key, params, defaultValue) {
370
382
  // Get translation value (ICU processing done separately per segment)
371
- const request = prepareTranslationRequest(key, this.currentLocale, params, defaultValue, this.defaultNamespace, this.fallbackLocale);
383
+ const request = prepareTranslationRequest(key, this.currentLocale, params, defaultValue, this.defaultNamespace);
372
384
  // Try memory cache
373
385
  const syncResult = this.handlerChain.handleSync(request);
374
386
  const rawValue = syncResult && syncResult.status === 200
@@ -488,7 +500,7 @@ export class LionRapidCore {
488
500
  return this.handlerChain.getEntries();
489
501
  }
490
502
  isCached(key) {
491
- const request = prepareTranslationRequest(key, this.currentLocale, undefined, undefined, this.defaultNamespace, this.fallbackLocale);
503
+ const request = prepareTranslationRequest(key, this.currentLocale, undefined, undefined, this.defaultNamespace);
492
504
  return this.handlerChain.isCached(request);
493
505
  }
494
506
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -1 +1 @@
1
- {"version":3,"file":"lionRapid.js","sourceRoot":"","sources":["../src/lionRapid.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lionRapid.js","sourceRoot":"","sources":["../src/lionRapid.ts"],"names":[],"mappings":"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"}
@@ -16,10 +16,21 @@ export declare class NetworkRepository implements IAsyncRepository<NetworkReposi
16
16
  readonly name = "NetworkRepository";
17
17
  readonly type = "network";
18
18
  readonly config: NetworkRepositoryConfig;
19
- /** Cached version (opaque string from server) per namespace key "locale:namespace" */
20
- private namespaceVersions;
21
- /** localStorage key prefix for persisted versions */
22
- private static readonly VERSION_PREFIX;
19
+ /**
20
+ * Namespace snapshot per key "locale:namespace": the server version TOGETHER
21
+ * with the payload it describes, persisted as ONE localStorage entry.
22
+ *
23
+ * Canonical 304 contract (same as edge KV bundle + WP transient cache):
24
+ * never claim freshness you can't back. If-None-Match is only sent when the
25
+ * snapshot is in hand; a 304 answers with that snapshot's payload; version
26
+ * and payload can never desync because they live and die together.
27
+ */
28
+ private namespaceSnapshots;
29
+ /** localStorage key prefix for persisted snapshots (version + payload) */
30
+ private static readonly SNAPSHOT_PREFIX;
31
+ /** Legacy bare-version prefix — a version WITHOUT its payload is exactly the
32
+ * desync the snapshot store exists to prevent; entries are deleted on sight. */
33
+ private static readonly LEGACY_VERSION_PREFIX;
23
34
  /**
24
35
  * Default endpoint templates with placeholder support
25
36
  * Placeholders: :key, :locale, :namespace
@@ -52,6 +63,14 @@ export declare class NetworkRepository implements IAsyncRepository<NetworkReposi
52
63
  * @throws {NetworkError} When network request fails
53
64
  */
54
65
  getNamespace(locale: string, namespace: string): Promise<TranslationData | null>;
66
+ /**
67
+ * Shared namespace fetch with the canonical 304 contract:
68
+ * - If-None-Match is sent ONLY when a snapshot (version + payload) is in hand.
69
+ * - 304 answers with that snapshot's payload — never with "nothing".
70
+ * - A 304 with no snapshot (server/proxy surprise) refetches unconditionally.
71
+ * - A 200 stores version + payload atomically before either is trusted.
72
+ */
73
+ private fetchNamespaceRaw;
55
74
  /**
56
75
  * Save translation to API (if supported)
57
76
  */
@@ -105,10 +124,13 @@ export declare class NetworkRepository implements IAsyncRepository<NetworkReposi
105
124
  */
106
125
  clear(): Promise<void>;
107
126
  getConfig(): NetworkRepositoryConfig;
108
- /** Read persisted version from localStorage, falling back to in-memory map */
109
- private getVersion;
110
- /** Persist version to both in-memory map and localStorage */
111
- private setVersion;
127
+ /** Read a persisted snapshot (version + payload), falling back to memory.
128
+ * Legacy bare-version entries and corrupt snapshots are deleted on sight —
129
+ * a version without its payload must never drive a conditional request. */
130
+ private getSnapshot;
131
+ /** Persist version + payload as ONE entry (memory + localStorage). On quota
132
+ * failure the previous stored snapshot stays — still a consistent pair. */
133
+ private setSnapshot;
112
134
  /**
113
135
  * Handle HTTP error responses by mapping to domain errors
114
136
  * @throws {TranslationNotFoundError} When status is 404
@@ -1 +1 @@
1
- {"version":3,"file":"network-repository.d.ts","sourceRoot":"","sources":["../../src/repositories/network-repository.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAOvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EAChB,MAAM,oCAAoC,CAAC;AAG5C;;;GAGG;AACH,qBAAa,iBACX,YAAW,gBAAgB,CAAC,uBAAuB,CAAC;IAEpD,QAAQ,CAAC,IAAI,uBAAuB;IACpC,QAAQ,CAAC,IAAI,aAAa;IAC1B,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAM;IAE9C,sFAAsF;IACtF,OAAO,CAAC,iBAAiB,CAA6B;IAEtD,qDAAqD;IACrD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAkB;IAExD;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAQvB;gBAEC,MAAM,GAAE,uBAA4B;IAWhD;;;;;;;OAOG;IACG,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAyCvC;;;;;;;OAOG;IACG,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAiDvD;;;;;;OAMG;IACG,YAAY,CAChB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAkDlC;;OAEG;IACG,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB9C,YAAY,CAChB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,eAAe,GAC5B,OAAO,CAAC,IAAI,CAAC;IAuBhB;;;OAGG;IACG,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IA6B3E;;;;;;;;OAQG;IACG,wBAAwB,CAC5B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAmDlC;;;;;;;;OAQG;IACG,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBnE;;;;;;OAMG;IACG,oBAAoB,CACxB,KAAK,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,WAAW,CAAA;KAAE,CAAC,GAChD,OAAO,CAAC,IAAI,CAAC;IA+BhB;;OAEG;IACG,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBxC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB5B,SAAS,IAAI,uBAAuB;IAIpC,8EAA8E;IAC9E,OAAO,CAAC,UAAU;IAalB,6DAA6D;IAC7D,OAAO,CAAC,UAAU;IAOlB;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAuBvB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAezB;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ;IA2BhB;;OAEG;YACW,WAAW;CAoC1B"}
1
+ {"version":3,"file":"network-repository.d.ts","sourceRoot":"","sources":["../../src/repositories/network-repository.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAOvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EAChB,MAAM,oCAAoC,CAAC;AAS5C;;;GAGG;AACH,qBAAa,iBACX,YAAW,gBAAgB,CAAC,uBAAuB,CAAC;IAEpD,QAAQ,CAAC,IAAI,uBAAuB;IACpC,QAAQ,CAAC,IAAI,aAAa;IAC1B,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAM;IAE9C;;;;;;;;OAQG;IACH,OAAO,CAAC,kBAAkB,CAAwC;IAElE,0EAA0E;IAC1E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAmB;IAE1D;qFACiF;IACjF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAkB;IAE/D;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAQvB;gBAEC,MAAM,GAAE,uBAA4B;IAWhD;;;;;;;OAOG;IACG,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAyCvC;;;;;;;OAOG;IACG,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAiDvD;;;;;;OAMG;IACG,YAAY,CAChB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAalC;;;;;;OAMG;YACW,iBAAiB;IAiD/B;;OAEG;IACG,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB9C,YAAY,CAChB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,eAAe,GAC5B,OAAO,CAAC,IAAI,CAAC;IAuBhB;;;OAGG;IACG,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IA6B3E;;;;;;;;OAQG;IACG,wBAAwB,CAC5B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAclC;;;;;;;;OAQG;IACG,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBnE;;;;;;OAMG;IACG,oBAAoB,CACxB,KAAK,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,WAAW,CAAA;KAAE,CAAC,GAChD,OAAO,CAAC,IAAI,CAAC;IA+BhB;;OAEG;IACG,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBxC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB5B,SAAS,IAAI,uBAAuB;IAIpC;;gFAE4E;IAC5E,OAAO,CAAC,WAAW;IA0BnB;gFAC4E;IAC5E,OAAO,CAAC,WAAW;IAanB;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAuBvB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAezB;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ;IA2BhB;;OAEG;YACW,WAAW;CAoC1B"}
@@ -14,10 +14,21 @@ export class NetworkRepository {
14
14
  name = 'NetworkRepository';
15
15
  type = 'network';
16
16
  config = {};
17
- /** Cached version (opaque string from server) per namespace key "locale:namespace" */
18
- namespaceVersions = new Map();
19
- /** localStorage key prefix for persisted versions */
20
- static VERSION_PREFIX = 'lionrapid:v:';
17
+ /**
18
+ * Namespace snapshot per key "locale:namespace": the server version TOGETHER
19
+ * with the payload it describes, persisted as ONE localStorage entry.
20
+ *
21
+ * Canonical 304 contract (same as edge KV bundle + WP transient cache):
22
+ * never claim freshness you can't back. If-None-Match is only sent when the
23
+ * snapshot is in hand; a 304 answers with that snapshot's payload; version
24
+ * and payload can never desync because they live and die together.
25
+ */
26
+ namespaceSnapshots = new Map();
27
+ /** localStorage key prefix for persisted snapshots (version + payload) */
28
+ static SNAPSHOT_PREFIX = 'lionrapid:ns:';
29
+ /** Legacy bare-version prefix — a version WITHOUT its payload is exactly the
30
+ * desync the snapshot store exists to prevent; entries are deleted on sight. */
31
+ static LEGACY_VERSION_PREFIX = 'lionrapid:v:';
21
32
  /**
22
33
  * Default endpoint templates with placeholder support
23
34
  * Placeholders: :key, :locale, :namespace
@@ -143,40 +154,54 @@ export class NetworkRepository {
143
154
  logger.debug('API base URL is not set');
144
155
  throw new NetworkError('API base URL is not set');
145
156
  }
157
+ try {
158
+ return (await this.fetchNamespaceRaw(locale, namespace));
159
+ }
160
+ catch (error) {
161
+ this.handleCaughtError(error);
162
+ }
163
+ }
164
+ /**
165
+ * Shared namespace fetch with the canonical 304 contract:
166
+ * - If-None-Match is sent ONLY when a snapshot (version + payload) is in hand.
167
+ * - 304 answers with that snapshot's payload — never with "nothing".
168
+ * - A 304 with no snapshot (server/proxy surprise) refetches unconditionally.
169
+ * - A 200 stores version + payload atomically before either is trusted.
170
+ */
171
+ async fetchNamespaceRaw(locale, namespace, allowConditional = true) {
146
172
  const url = this.buildUrl('getNamespace', { locale, namespace });
147
173
  logger.debug(`API GET Namespace: ${url}`);
148
174
  const namespaceKey = `${locale}:${namespace}`;
149
- try {
150
- // Send If-None-Match for conditional request
151
- const extraHeaders = {};
152
- const cachedVersion = this.getVersion(namespaceKey);
153
- if (cachedVersion) {
154
- extraHeaders['If-None-Match'] = `W/"${cachedVersion}"`;
155
- }
156
- const response = await this.makeRequest(url, 'GET', undefined, extraHeaders);
157
- // 304 Not Modified — cached translations are still fresh
158
- if (response.status === 304) {
159
- logger.debug(`Namespace ${namespaceKey}: 304 Not Modified`);
160
- return null;
161
- }
162
- if (!response.ok) {
163
- this.handleHttpError(response, namespaceKey);
164
- }
165
- const data = await response.json();
166
- logger.debug('API response data:', data);
167
- if (!data.translations) {
168
- throw new TranslationNotFoundError(namespaceKey);
175
+ const snapshot = allowConditional ? this.getSnapshot(namespaceKey) : undefined;
176
+ const extraHeaders = {};
177
+ if (snapshot) {
178
+ extraHeaders['If-None-Match'] = `W/"${snapshot.version}"`;
179
+ }
180
+ const response = await this.makeRequest(url, 'GET', undefined, extraHeaders);
181
+ if (response.status === 304) {
182
+ if (snapshot) {
183
+ // Not modified — serve the exact payload the version vouches for, so
184
+ // callers rehydrate the cache layers instead of assuming they're intact.
185
+ logger.debug(`Namespace ${namespaceKey}: 304 Not Modified (snapshot served)`);
186
+ return snapshot.translations;
169
187
  }
170
- // Track version for future conditional requests (memory + localStorage)
171
- const version = data.meta?.version != null ? String(data.meta.version) : null;
172
- if (version) {
173
- this.setVersion(namespaceKey, version);
174
- }
175
- return data.translations;
188
+ // We never claimed freshness — refetch without the conditional header.
189
+ logger.debug(`Namespace ${namespaceKey}: unexpected 304 with no snapshot — refetching`);
190
+ return this.fetchNamespaceRaw(locale, namespace, false);
176
191
  }
177
- catch (error) {
178
- this.handleCaughtError(error);
192
+ if (!response.ok) {
193
+ this.handleHttpError(response, namespaceKey);
194
+ }
195
+ const data = await response.json();
196
+ logger.debug('API response data:', data);
197
+ if (!data.translations) {
198
+ throw new TranslationNotFoundError(namespaceKey);
199
+ }
200
+ const version = data.meta?.version != null ? String(data.meta.version) : null;
201
+ if (version) {
202
+ this.setSnapshot(namespaceKey, { version, translations: data.translations });
179
203
  }
204
+ return data.translations;
180
205
  }
181
206
  /**
182
207
  * Save translation to API (if supported)
@@ -261,37 +286,9 @@ export class NetworkRepository {
261
286
  logger.debug('API base URL is not set');
262
287
  throw new NetworkError('API base URL is not set');
263
288
  }
264
- const url = this.buildUrl('getNamespace', { locale, namespace });
265
- logger.debug(`API GET Namespace ContentUnits: ${url}`);
266
- const namespaceKey = `${locale}:${namespace}`;
267
289
  try {
268
- // Send If-None-Match for conditional request
269
- const extraHeaders = {};
270
- const cachedVersion = this.getVersion(namespaceKey);
271
- if (cachedVersion) {
272
- extraHeaders['If-None-Match'] = `W/"${cachedVersion}"`;
273
- }
274
- const response = await this.makeRequest(url, 'GET', undefined, extraHeaders);
275
- // 304 Not Modified — cached translations are still fresh
276
- if (response.status === 304) {
277
- logger.debug(`Namespace ContentUnits ${namespaceKey}: 304 Not Modified`);
278
- return null;
279
- }
280
- if (!response.ok) {
281
- this.handleHttpError(response, namespaceKey);
282
- }
283
- const data = await response.json();
284
- logger.debug('API response data:', data);
285
- if (!data.translations) {
286
- throw new TranslationNotFoundError(namespaceKey);
287
- }
288
- // Track version for future conditional requests (memory + localStorage)
289
- const version = data.meta?.version != null ? String(data.meta.version) : null;
290
- if (version) {
291
- this.setVersion(namespaceKey, version);
292
- }
293
290
  // Server always returns ContentUnit format
294
- return data.translations;
291
+ return (await this.fetchNamespaceRaw(locale, namespace));
295
292
  }
296
293
  catch (error) {
297
294
  this.handleCaughtError(error);
@@ -399,28 +396,45 @@ export class NetworkRepository {
399
396
  getConfig() {
400
397
  return this.config;
401
398
  }
402
- /** Read persisted version from localStorage, falling back to in-memory map */
403
- getVersion(namespaceKey) {
404
- const mem = this.namespaceVersions.get(namespaceKey);
399
+ /** Read a persisted snapshot (version + payload), falling back to memory.
400
+ * Legacy bare-version entries and corrupt snapshots are deleted on sight —
401
+ * a version without its payload must never drive a conditional request. */
402
+ getSnapshot(namespaceKey) {
403
+ const mem = this.namespaceSnapshots.get(namespaceKey);
405
404
  if (mem)
406
405
  return mem;
407
406
  try {
408
- const stored = localStorage.getItem(NetworkRepository.VERSION_PREFIX + namespaceKey);
409
- if (stored) {
410
- this.namespaceVersions.set(namespaceKey, stored);
411
- return stored;
407
+ localStorage.removeItem(NetworkRepository.LEGACY_VERSION_PREFIX + namespaceKey);
408
+ const raw = localStorage.getItem(NetworkRepository.SNAPSHOT_PREFIX + namespaceKey);
409
+ if (raw) {
410
+ const parsed = JSON.parse(raw);
411
+ if (parsed &&
412
+ typeof parsed.version === 'string' &&
413
+ parsed.version.length > 0 &&
414
+ parsed.translations &&
415
+ typeof parsed.translations === 'object') {
416
+ this.namespaceSnapshots.set(namespaceKey, parsed);
417
+ return parsed;
418
+ }
419
+ localStorage.removeItem(NetworkRepository.SNAPSHOT_PREFIX + namespaceKey);
412
420
  }
413
421
  }
414
- catch { /* SSR or localStorage unavailable */ }
422
+ catch {
423
+ /* SSR, localStorage unavailable, or corrupt JSON */
424
+ }
415
425
  return undefined;
416
426
  }
417
- /** Persist version to both in-memory map and localStorage */
418
- setVersion(namespaceKey, version) {
419
- this.namespaceVersions.set(namespaceKey, version);
427
+ /** Persist version + payload as ONE entry (memory + localStorage). On quota
428
+ * failure the previous stored snapshot stays — still a consistent pair. */
429
+ setSnapshot(namespaceKey, snapshot) {
430
+ this.namespaceSnapshots.set(namespaceKey, snapshot);
420
431
  try {
421
- localStorage.setItem(NetworkRepository.VERSION_PREFIX + namespaceKey, version);
432
+ localStorage.setItem(NetworkRepository.SNAPSHOT_PREFIX + namespaceKey, JSON.stringify(snapshot));
433
+ localStorage.removeItem(NetworkRepository.LEGACY_VERSION_PREFIX + namespaceKey);
434
+ }
435
+ catch {
436
+ /* quota exceeded or unavailable — memory copy still serves this session */
422
437
  }
423
- catch { /* quota exceeded or unavailable */ }
424
438
  }
425
439
  /**
426
440
  * Handle HTTP error responses by mapping to domain errors