@reforgium/presentia 2.0.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 +169 -144
- package/README.md +1 -1
- package/bin/presentia-gen-namespaces.mjs +1248 -1248
- package/fesm2022/reforgium-presentia.mjs +571 -525
- package/package.json +2 -2
- package/types/reforgium-presentia.d.ts +18 -9
package/CHANGELOG.md
CHANGED
|
@@ -1,144 +1,169 @@
|
|
|
1
|
-
## [2.
|
|
2
|
-
###
|
|
3
|
-
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
|
|
16
|
-
###
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
- added
|
|
29
|
-
- extended
|
|
30
|
-
-
|
|
31
|
-
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
-
|
|
39
|
-
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
- added
|
|
52
|
-
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
-
|
|
56
|
-
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
###
|
|
76
|
-
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
###
|
|
85
|
-
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
- added
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
- added
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
- added
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
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