@reforgium/presentia 2.1.0 → 2.1.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.
package/CHANGELOG.md CHANGED
@@ -1,163 +1,169 @@
1
- ## [2.1.0]: 05.04.2026
2
- ### Refactor:
3
- - replaced presentia-specific persistence adapter behavior with storage contracts and strategies backed by `@reforgium/internal`
4
- - `LangService` and `ThemeService` now persist through storage interface bindings instead of direct localStorage-specific adapter semantics
5
-
6
- ### Feat:
7
- - added grouped `storage` / `persistence` options for `providePresentia(...)` theme and lang config
8
- - kept `persistenceAdapter` as a compatibility alias during the transition to storage-based persistence
9
-
10
- ### Fix:
11
- - aligned `persistence: 'none'` with a real no-op storage instead of pseudo-persistent in-memory behavior
12
- - preserved raw `lang` / `theme` browser storage keys while moving persistence onto shared storage contracts
13
-
14
- ### Test:
15
- - updated provider and theme tests for the storage-based persistence contract
16
- - verified `presentia` typecheck, Vitest suite, and Angular package build after the persistence migration
17
-
18
- ---
19
-
20
- ## [2.0.0]: 04.04.2026
21
- ### Feat:
22
- - added grouped `providePresentia(...)` v2 entry point and marked `provideReInit(...)` as legacy in dev mode
23
- - extended `ThemeService` with DOM strategies, theme registry validation, and configurable persistence adapter support
24
- - extended `AdaptiveService` with named breakpoint helpers (`breakpoint`, `is`, `isAtLeast`, `isBetween`, `isMobile`, `isTablet`, `isDesktopSmall`)
25
- - extended `IfDeviceDirective` with `reIfDeviceAtLeast` and `reIfDeviceBetween`
26
- - extended `RouteWatcher` with `deepestParams`, `mergedData`, `routePattern`, `selectParam`, and path matching helpers
27
- - aligned `SeoRouteListener` with merged route data and normalized route-tree path resolution
28
-
29
- ### Docs:
30
- - documented grouped v2 config, theme DOM/persistence options, and adaptive breakpoint helpers
31
- - documented recommended v2 setup, extended route watcher state, and adaptive range directives
32
- - promoted `V2-MIGRATION.md` from draft to working migration guide and refreshed `V2-CONFIG.md` / `ROADMAP-2.0.0.md`
33
- - moved compatibility-only surface out of primary README export lists and into explicit legacy notes
34
-
35
- ### Test:
36
- - added provider and runtime coverage for grouped theme config, persistence adapters, theme registry constraints, and adaptive helper methods
37
- - added route watcher coverage for merged/deepest selectors and adaptive directive coverage for range-based rendering
38
- - added SEO listener regression coverage for merged route-data application and canonical path normalization
39
-
40
- ---
41
-
42
- ## [1.6.0]: 03.04.2026
43
- ### Feat:
44
- - added route-aware namespace preload via `LocaleConfig.routeNamespacePreload` with `blocking` / `lazy` modes
45
- - added strict preload failure handling via `routeNamespacePreload.onError = 'throw'`
46
- - added route namespace generator CLI `presentia-gen-namespaces`
47
- - added generator report mode (`--report`, `--print-report`) for unresolved lazy imports and unsupported static-analysis cases
48
- - extended generator extraction for route data namespaces, `reLangAttrs`, object-style `reLang`, standalone imports, `loadComponent`, and `loadChildren`
49
- - added route preload diagnostics for late namespace loads after navigation
50
- - added batch namespace diagnostics and `maxBatchSize` chunking in `LangService.loadNamespaces(...)`
51
-
52
- ### Docs:
53
- - documented route preload modes, manifest generation, report mode, and consumer CLI defaults in `README`
54
- - clarified `LangPipe.placeholder` as the loading-time value while `LocaleConfig.defaultValue` remains a missing-key fallback
55
-
56
- ### Test:
57
- - added integration coverage for real router navigation with route preload
58
- - added regression coverage for custom `dataKey`, `mergeStrategy: 'replace'`, manifest parent/child merge, strict preload failures, batch diagnostics, and `maxBatchSize`
59
- - extended generator smoke coverage for report output, `reLangAttrs`, and const-based `presentiaNamespaces`
60
-
61
- ---
62
-
63
- ## [1.5.0]: 16.03.2026
64
- ### Fix:
65
- - `SeoRouteListener.init(...)` no longer duplicates router subscriptions on repeated calls and now reuses normalized `baseUrl`
66
- - `ThemeService` now normalizes persisted/requested theme values before switching
67
- - `LangPipe` now warns once in dev mode when a namespace is loaded but the requested key is unresolved
68
-
69
- ### Feat:
70
- - added `LangService.has(...)` for explicit translation key existence checks
71
- - `SeoService` is now provided in root
72
-
73
- ### Refactor:
74
- - removed lightweight `rxjs` usage from `AdaptiveService` resize listener and route event listeners (`RouteWatcher`, `SeoRouteListener`) in favor of native subscriptions/cleanup
75
- - tightened `provideReInit(...)` factories for `CHANGE_LANG` / `CHANGE_THEME`
76
- - improved presentia package metadata and test setup for storage-backed specs
77
-
78
- ### Test:
79
- - added regression coverage for repeated `SeoRouteListener.init(...)`, `ThemeService` contract behavior, init provider wiring, and unresolved lang key warnings
80
- - kept adaptive/seo regression coverage green after the refactor
81
-
82
- ---
83
-
84
- ## [1.4.4]: 05.03.2026
85
- ### Fix:
86
- - improved `RouteWatcher.params` to merge params from `pathFromRoot` (parent to deepest child), not only from deepest snapshot
87
-
88
- ### Test:
89
- - added a regression test for parent-child params inheritance in nested routes with parent component
90
-
91
- ---
92
-
93
- ## [1.4.3]: 27.02.2026
94
- ### Fix:
95
- - fixed `RouteWatcher.url` to build a full path from `pathFromRoot` instead of only deepest snapshot segments
96
-
97
- ### Test:
98
- - added a regression test for nested route URL composition (`/orgs/:orgId/users/:id`)
99
-
100
- ---
101
-
102
- ## [1.4.2]: 16.02.2026
103
- ### Fix:
104
- - fixed `LangService.getChainedValue` deep lookup for keys with flat namespace prefix (e.g. `common.some-key.sub-key.target`)
105
-
106
- ### Test:
107
- - added a regression test for nested translation resolution via flat namespace prefix key
108
-
109
- ---
110
-
111
- ## [1.4.0]: 15.02.2026
112
- ### Feat:
113
- - added `LocaleConfig.requestBuilder` and `LocaleConfig.responseAdapter` for custom API url/payload mapping
114
- - added `LocaleConfig.requestOptionsFactory` to pass `HttpClient` options (`headers`, `params`, `withCredentials`, `responseType`, `context`, `transferCache`)
115
- - added batch namespace loading support: `loadNamespaces`, `batchRequestBuilder`, `batchResponseAdapter`
116
- - added namespace cache controls: `namespaceCache.maxNamespaces`, `namespaceCache.ttlMs`
117
- - added `LangService.evictNamespace` and `LangService.clearNamespaceCache`
118
- - added typed lang key extension point (`LangKeyRegistry`, `LangKey`) for `LangService.get/observe`
119
- - added package CLI `presentia-gen-lang-keys` for generating key unions from locale json
120
-
121
- ### Test:
122
- - added integration test for language switch across multiple namespaces without page reload
123
- - added smoke test for CLI generator output
124
- - extended `LangService` tests for request options, batch mode, stale response protection, and namespace cache policies
125
-
126
- ### Docs:
127
- - updated README for new `LocaleConfig` options, service methods, typed keys, and CLI usage
128
-
129
- ---
130
-
131
- ## [1.2.0]: 16.01.2026
132
- ### Feat:
133
- - added implementation providers: `CHANGE_LANG` and `CHANGE_THEME`
134
-
135
- ---
136
-
137
- ## [1.1.1]: 14.01.2026
138
-
139
- ### Feat:
140
- - added `translate` method to `LangDirective`
141
-
142
- ### Fix:
143
- - fixed `reIfDevice` directive name
144
-
145
- ---
146
-
147
- ## [1.1.0]: 14.01.2026
148
-
149
- ### Feat:
150
- - added `LangDirective`, auto translate
151
-
152
- ---
153
-
154
- ## [1.0.1]: 11.01.2026
155
-
156
- ### Chore:
157
- - updated docs
158
-
159
- ---
160
-
161
- ## [1.0.0]: 26.12.2025
162
-
163
- - Init
1
+ ## [2.1.1]: 07.04.2026
2
+ ### Fix:
3
+ - fixed `presentia-gen-namespaces` tsconfig loading to parse commented `tsconfig` files instead of failing on raw `JSON.parse(...)`
4
+
5
+ ---
6
+
7
+ ## [2.1.0]: 05.04.2026
8
+ ### Refactor:
9
+ - replaced presentia-specific persistence adapter behavior with storage contracts and strategies backed by `@reforgium/internal`
10
+ - `LangService` and `ThemeService` now persist through storage interface bindings instead of direct localStorage-specific adapter semantics
11
+
12
+ ### Feat:
13
+ - added grouped `storage` / `persistence` options for `providePresentia(...)` theme and lang config
14
+ - kept `persistenceAdapter` as a compatibility alias during the transition to storage-based persistence
15
+
16
+ ### Fix:
17
+ - aligned `persistence: 'none'` with a real no-op storage instead of pseudo-persistent in-memory behavior
18
+ - preserved raw `lang` / `theme` browser storage keys while moving persistence onto shared storage contracts
19
+
20
+ ### Test:
21
+ - updated provider and theme tests for the storage-based persistence contract
22
+ - verified `presentia` typecheck, Vitest suite, and Angular package build after the persistence migration
23
+
24
+ ---
25
+
26
+ ## [2.0.0]: 04.04.2026
27
+ ### Feat:
28
+ - added grouped `providePresentia(...)` v2 entry point and marked `provideReInit(...)` as legacy in dev mode
29
+ - extended `ThemeService` with DOM strategies, theme registry validation, and configurable persistence adapter support
30
+ - extended `AdaptiveService` with named breakpoint helpers (`breakpoint`, `is`, `isAtLeast`, `isBetween`, `isMobile`, `isTablet`, `isDesktopSmall`)
31
+ - extended `IfDeviceDirective` with `reIfDeviceAtLeast` and `reIfDeviceBetween`
32
+ - extended `RouteWatcher` with `deepestParams`, `mergedData`, `routePattern`, `selectParam`, and path matching helpers
33
+ - aligned `SeoRouteListener` with merged route data and normalized route-tree path resolution
34
+
35
+ ### Docs:
36
+ - documented grouped v2 config, theme DOM/persistence options, and adaptive breakpoint helpers
37
+ - documented recommended v2 setup, extended route watcher state, and adaptive range directives
38
+ - promoted `V2-MIGRATION.md` from draft to working migration guide and refreshed `V2-CONFIG.md` / `ROADMAP-2.0.0.md`
39
+ - moved compatibility-only surface out of primary README export lists and into explicit legacy notes
40
+
41
+ ### Test:
42
+ - added provider and runtime coverage for grouped theme config, persistence adapters, theme registry constraints, and adaptive helper methods
43
+ - added route watcher coverage for merged/deepest selectors and adaptive directive coverage for range-based rendering
44
+ - added SEO listener regression coverage for merged route-data application and canonical path normalization
45
+
46
+ ---
47
+
48
+ ## [1.6.0]: 03.04.2026
49
+ ### Feat:
50
+ - added route-aware namespace preload via `LocaleConfig.routeNamespacePreload` with `blocking` / `lazy` modes
51
+ - added strict preload failure handling via `routeNamespacePreload.onError = 'throw'`
52
+ - added route namespace generator CLI `presentia-gen-namespaces`
53
+ - added generator report mode (`--report`, `--print-report`) for unresolved lazy imports and unsupported static-analysis cases
54
+ - extended generator extraction for route data namespaces, `reLangAttrs`, object-style `reLang`, standalone imports, `loadComponent`, and `loadChildren`
55
+ - added route preload diagnostics for late namespace loads after navigation
56
+ - added batch namespace diagnostics and `maxBatchSize` chunking in `LangService.loadNamespaces(...)`
57
+
58
+ ### Docs:
59
+ - documented route preload modes, manifest generation, report mode, and consumer CLI defaults in `README`
60
+ - clarified `LangPipe.placeholder` as the loading-time value while `LocaleConfig.defaultValue` remains a missing-key fallback
61
+
62
+ ### Test:
63
+ - added integration coverage for real router navigation with route preload
64
+ - added regression coverage for custom `dataKey`, `mergeStrategy: 'replace'`, manifest parent/child merge, strict preload failures, batch diagnostics, and `maxBatchSize`
65
+ - extended generator smoke coverage for report output, `reLangAttrs`, and const-based `presentiaNamespaces`
66
+
67
+ ---
68
+
69
+ ## [1.5.0]: 16.03.2026
70
+ ### Fix:
71
+ - `SeoRouteListener.init(...)` no longer duplicates router subscriptions on repeated calls and now reuses normalized `baseUrl`
72
+ - `ThemeService` now normalizes persisted/requested theme values before switching
73
+ - `LangPipe` now warns once in dev mode when a namespace is loaded but the requested key is unresolved
74
+
75
+ ### Feat:
76
+ - added `LangService.has(...)` for explicit translation key existence checks
77
+ - `SeoService` is now provided in root
78
+
79
+ ### Refactor:
80
+ - removed lightweight `rxjs` usage from `AdaptiveService` resize listener and route event listeners (`RouteWatcher`, `SeoRouteListener`) in favor of native subscriptions/cleanup
81
+ - tightened `provideReInit(...)` factories for `CHANGE_LANG` / `CHANGE_THEME`
82
+ - improved presentia package metadata and test setup for storage-backed specs
83
+
84
+ ### Test:
85
+ - added regression coverage for repeated `SeoRouteListener.init(...)`, `ThemeService` contract behavior, init provider wiring, and unresolved lang key warnings
86
+ - kept adaptive/seo regression coverage green after the refactor
87
+
88
+ ---
89
+
90
+ ## [1.4.4]: 05.03.2026
91
+ ### Fix:
92
+ - improved `RouteWatcher.params` to merge params from `pathFromRoot` (parent to deepest child), not only from deepest snapshot
93
+
94
+ ### Test:
95
+ - added a regression test for parent-child params inheritance in nested routes with parent component
96
+
97
+ ---
98
+
99
+ ## [1.4.3]: 27.02.2026
100
+ ### Fix:
101
+ - fixed `RouteWatcher.url` to build a full path from `pathFromRoot` instead of only deepest snapshot segments
102
+
103
+ ### Test:
104
+ - added a regression test for nested route URL composition (`/orgs/:orgId/users/:id`)
105
+
106
+ ---
107
+
108
+ ## [1.4.2]: 16.02.2026
109
+ ### Fix:
110
+ - fixed `LangService.getChainedValue` deep lookup for keys with flat namespace prefix (e.g. `common.some-key.sub-key.target`)
111
+
112
+ ### Test:
113
+ - added a regression test for nested translation resolution via flat namespace prefix key
114
+
115
+ ---
116
+
117
+ ## [1.4.0]: 15.02.2026
118
+ ### Feat:
119
+ - added `LocaleConfig.requestBuilder` and `LocaleConfig.responseAdapter` for custom API url/payload mapping
120
+ - added `LocaleConfig.requestOptionsFactory` to pass `HttpClient` options (`headers`, `params`, `withCredentials`, `responseType`, `context`, `transferCache`)
121
+ - added batch namespace loading support: `loadNamespaces`, `batchRequestBuilder`, `batchResponseAdapter`
122
+ - added namespace cache controls: `namespaceCache.maxNamespaces`, `namespaceCache.ttlMs`
123
+ - added `LangService.evictNamespace` and `LangService.clearNamespaceCache`
124
+ - added typed lang key extension point (`LangKeyRegistry`, `LangKey`) for `LangService.get/observe`
125
+ - added package CLI `presentia-gen-lang-keys` for generating key unions from locale json
126
+
127
+ ### Test:
128
+ - added integration test for language switch across multiple namespaces without page reload
129
+ - added smoke test for CLI generator output
130
+ - extended `LangService` tests for request options, batch mode, stale response protection, and namespace cache policies
131
+
132
+ ### Docs:
133
+ - updated README for new `LocaleConfig` options, service methods, typed keys, and CLI usage
134
+
135
+ ---
136
+
137
+ ## [1.2.0]: 16.01.2026
138
+ ### Feat:
139
+ - added implementation providers: `CHANGE_LANG` and `CHANGE_THEME`
140
+
141
+ ---
142
+
143
+ ## [1.1.1]: 14.01.2026
144
+
145
+ ### Feat:
146
+ - added `translate` method to `LangDirective`
147
+
148
+ ### Fix:
149
+ - fixed `reIfDevice` directive name
150
+
151
+ ---
152
+
153
+ ## [1.1.0]: 14.01.2026
154
+
155
+ ### Feat:
156
+ - added `LangDirective`, auto translate
157
+
158
+ ---
159
+
160
+ ## [1.0.1]: 11.01.2026
161
+
162
+ ### Chore:
163
+ - updated docs
164
+
165
+ ---
166
+
167
+ ## [1.0.0]: 26.12.2025
168
+
169
+ - Init
package/README.md CHANGED
@@ -122,7 +122,7 @@ providePresentia({
122
122
  });
123
123
  ```
124
124
 
125
- For a fuller mapping see [`V2-MIGRATION.md`](./V2-MIGRATION.md).
125
+ For a fuller mapping see [`V2-MIGRATION.md`](./V2-MIGRATION.md).
126
126
 
127
127
  Localization exports:
128
128
  - `LangService`