@equinor/fusion-framework-module-navigation 7.0.9 → 7.0.10

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 (55) hide show
  1. package/dist/esm/version.js +1 -1
  2. package/dist/esm/version.js.map +1 -1
  3. package/dist/tsconfig.tsbuildinfo +1 -1
  4. package/dist/types/version.d.ts +1 -1
  5. package/package.json +10 -7
  6. package/CHANGELOG.md +0 -600
  7. package/src/NavigateEvent.ts +0 -47
  8. package/src/NavigatedEvent.ts +0 -35
  9. package/src/NavigationConfigurator.interface.ts +0 -41
  10. package/src/NavigationConfigurator.ts +0 -226
  11. package/src/NavigationProvider.interface.ts +0 -99
  12. package/src/NavigationProvider.ts +0 -436
  13. package/src/__tests__/BrowserHistory.test.ts +0 -151
  14. package/src/__tests__/HashHistory.test.ts +0 -121
  15. package/src/__tests__/MemoryHistory.test.ts +0 -185
  16. package/src/__tests__/NavigationProvider.test.ts +0 -302
  17. package/src/__tests__/ProxyHistory.test.ts +0 -149
  18. package/src/__tests__/setup.ts +0 -8
  19. package/src/enable-navigation.ts +0 -60
  20. package/src/index.ts +0 -51
  21. package/src/lib/BaseHistory.ts +0 -255
  22. package/src/lib/BrowserHistory.ts +0 -124
  23. package/src/lib/BrowserHistoryHashStack.ts +0 -57
  24. package/src/lib/BrowserHistoryStack.ts +0 -96
  25. package/src/lib/MemoryHistory.ts +0 -76
  26. package/src/lib/MemoryHistoryStack.ts +0 -118
  27. package/src/lib/ProxyHistory.ts +0 -145
  28. package/src/lib/create-history.ts +0 -58
  29. package/src/lib/index.ts +0 -33
  30. package/src/lib/state/actions.ts +0 -108
  31. package/src/lib/state/check-blockers.ts +0 -52
  32. package/src/lib/state/create-flow.ts +0 -36
  33. package/src/lib/state/create-history-reducer.ts +0 -77
  34. package/src/lib/state/create-store.ts +0 -39
  35. package/src/lib/state/flow-creators.ts +0 -7
  36. package/src/lib/state/go.ts +0 -20
  37. package/src/lib/state/history.state.ts +0 -14
  38. package/src/lib/state/index.ts +0 -4
  39. package/src/lib/state/navigate.ts +0 -58
  40. package/src/lib/state/pop.ts +0 -24
  41. package/src/lib/state/validate-current-location.ts +0 -33
  42. package/src/lib/types.ts +0 -190
  43. package/src/lib/utils/encode-trailing-whitespace.ts +0 -18
  44. package/src/lib/utils/has-protocol.ts +0 -21
  45. package/src/lib/utils/index.ts +0 -5
  46. package/src/lib/utils/path-to-string.ts +0 -24
  47. package/src/lib/utils/path-to-url.ts +0 -52
  48. package/src/lib/utils/resolve-browser-location.ts +0 -1
  49. package/src/lib/utils/resolve-hash-location.ts +0 -26
  50. package/src/lib/utils/resolve-path.ts +0 -22
  51. package/src/lib/utils/resolve-window-location.ts +0 -24
  52. package/src/module.ts +0 -80
  53. package/src/version.ts +0 -2
  54. package/tsconfig.json +0 -24
  55. package/vitest.config.ts +0 -14
@@ -1 +1 @@
1
- export declare const version = "7.0.9";
1
+ export declare const version = "7.0.10";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@equinor/fusion-framework-module-navigation",
3
- "version": "7.0.9",
3
+ "version": "7.0.10",
4
4
  "description": "Navigation module for Fusion Framework providing routing and navigation capabilities using React Router 7",
5
5
  "sideEffects": false,
6
6
  "main": "dist/esm/index.js",
@@ -22,6 +22,9 @@
22
22
  "keywords": [],
23
23
  "author": "",
24
24
  "license": "ISC",
25
+ "files": [
26
+ "dist"
27
+ ],
25
28
  "publishConfig": {
26
29
  "access": "public"
27
30
  },
@@ -40,16 +43,16 @@
40
43
  "rxjs": "^7.8.1",
41
44
  "typescript": "^7.0.2",
42
45
  "vitest": "^4.1.10",
43
- "@equinor/fusion-framework-module": "^6.1.3",
44
- "@equinor/fusion-framework-module-event": "^6.1.0",
45
- "@equinor/fusion-observable": "^9.2.1",
46
- "@equinor/fusion-framework-module-telemetry": "^7.1.0"
46
+ "@equinor/fusion-framework-module-telemetry": "^7.1.1",
47
+ "@equinor/fusion-framework-module": "^6.1.4",
48
+ "@equinor/fusion-observable": "^9.2.2",
49
+ "@equinor/fusion-framework-module-event": "^6.1.1"
47
50
  },
48
51
  "peerDependencies": {
49
52
  "@remix-run/router": "^1.0.0",
50
53
  "rxjs": "^7.0.0",
51
- "@equinor/fusion-framework-module": "^6.1.3",
52
- "@equinor/fusion-observable": "^9.2.1"
54
+ "@equinor/fusion-framework-module": "^6.1.4",
55
+ "@equinor/fusion-observable": "^9.2.2"
53
56
  },
54
57
  "scripts": {
55
58
  "build": "tsc -b",
package/CHANGELOG.md DELETED
@@ -1,600 +0,0 @@
1
- # Change Log
2
-
3
- ## 7.0.9
4
-
5
- ### Patch Changes
6
-
7
- - f663b46: Internal: promote packages already published on the `next` prerelease channel to their stable versions.
8
-
9
- ## 7.0.8
10
-
11
- ### Patch Changes
12
-
13
- - 4a00a7a: Internal: address fusion-lint warnings — mark `FrameworkOptionsSchema` as intentionally co-located per the file's existing convention, and add intent comments to `NavigationProvider`'s path-normalization loops.
14
-
15
- ## 7.0.7
16
-
17
- ### Patch Changes
18
-
19
- - 1b9d026: Fix basename boundary matching and trailing-slash handling.
20
-
21
- - `normalizePathname` no longer strips trailing slashes — only collapses consecutive slashes. Trailing slash is now preserved as part of the path identity.
22
- - `_isWithinBasenameScope` uses a path-boundary check (`pathname === basename || pathname.startsWith(basename + '/')`) to prevent false positives from apps with overlapping name prefixes (e.g. `/apps/my-app` no longer matches `/apps/my-app-other/foo`).
23
- - `_localizePath` falls back to `'/'` when the basename-stripped pathname is empty.
24
-
25
- - 1b9d026: **Security Fix**: Replaced regex-based pathname normalization with iterative approach to prevent potential ReDoS (Regular Expression Denial of Service) vulnerability when processing user-controlled basename values.
26
-
27
- The `normalizePathname` function now uses a simple character-by-character scan instead of `/\/+/g` regex, ensuring O(n) linear time complexity even with pathological input containing thousands of consecutive slashes.
28
-
29
- This addresses CodeQL security alert: "Polynomial regular expression used on uncontrolled data"
30
-
31
- Related: #4751
32
-
33
- ## 7.0.6
34
-
35
- ### Patch Changes
36
-
37
- - 987b53f: Internal: bump `jsdom` from `29.1.1` to `30.0.1`, matching the Node.js versions supported by CI.
38
-
39
- ## 7.0.5
40
-
41
- ### Patch Changes
42
-
43
- - 80c3e4a: Internal: add a required fusion-lint intent comment explaining an `as unknown as History` cast in `NavigationProvider`. No behavior change.
44
- - 80c3e4a: Internal: added a tracking issue reference to the `@remix-run/router` removal TODO comment per fusion-lint's `no-todo-without-issue` rule; no public API changes.
45
- - 80c3e4a: Internal: renamed 3 source files to comply with the `filename-convention` lint rule (`history.reducer.ts` → `create-history-reducer.ts`, and the two `adapter.ts` files in telemetry → `ApplicationInsightsAdapter.ts`/`ConsoleAdapter.ts`). No public API changes.
46
- - 80c3e4a: Internal: renamed 45 source files across these packages to comply with the `filename-convention` lint rule (e.g. `AIConfigurator.ts` → `AiConfigurator.ts`, `BookmarkProvider.actions.ts` → `bookmark-actions.ts`, `errors/app-build-error.ts` → `errors/AppBuildError.ts`, `plugins/api/plugin.ts` → `plugins/api/ApiPlugin.ts`, `errors.ts` → `UnsupportedApiVersion.ts`, etc.). Also added `enable-signalr.ts` to the `filename-convention` exclude list since the suggested rename would incorrectly split the "SignalR" brand name. No public API changes.
47
- - 80c3e4a: Internal: added missing intent comments ahead of non-obvious control flow, RxJS `.pipe()` chains, iterator calls, and multi-source object merges to comply with the `require-intent-comment` and `require-tsdoc` lint rules. Also removed dead duplicate files left over from an earlier refactor in `navigation` (`events.ts`, `navigated-event.ts`, `history.flows.ts` — all fully superseded by their split replacements) and renamed `bookmarks/schemas.ts` to `bookmarks/bookmark.schemas.ts` in `services` to match the `*.schemas.ts` filename convention. No public API changes.
48
-
49
- ## 7.0.4
50
-
51
- ### Patch Changes
52
-
53
- - f3bf74b: Fix blank page caused by basename slash mismatch in app navigation.
54
-
55
- `NavigationProvider` now normalizes the basename on construction by stripping trailing slashes. React Router performs a strict `startsWith` check against the basename, so a basename of `/apps/my-app/` would never match the URL `/apps/my-app` and the router would render nothing.
56
-
57
- Slash-only basenames (for example `/`) are preserved when normalization would otherwise collapse to an empty string, so root-mounted configurations keep their previous behavior.
58
-
59
- The `AppLoader` in the dev portal extracts the basename with a regex that captures an optional trailing slash from the current URL, which could produce basenames like `/apps/app-admin/`. This fix ensures such values are normalized regardless of how the basename is supplied.
60
-
61
- Fixes: https://github.com/equinor/fusion/issues/848
62
-
63
- ## 7.0.3
64
-
65
- ### Patch Changes
66
-
67
- - f045ac0: Internal: upgrade `zod` from 4.3.6 to 4.4.3 to resolve validation issues; no public API changes.
68
-
69
- ## 7.0.2
70
-
71
- ### Patch Changes
72
-
73
- - a6355fe: Internal: bump `uuid` from `13.0.0` to `14.0.0`.
74
-
75
- ## 7.0.1
76
-
77
- ### Patch Changes
78
-
79
- - e97bba0: Add `ProxyHistory` to prevent shared `BrowserHistory` disposal when child apps tear down.
80
-
81
- When a child app inherits the portal's history via `NavigationConfigurator`, the history is now
82
- wrapped in a `ProxyHistory` that delegates all operations but keeps its own listener/blocker
83
- teardown list. Disposing the proxy only cleans up proxy-owned subscriptions — the underlying
84
- history remains intact.
85
-
86
- `setHistory()` gains an optional `{ proxy }` flag (default: `true`) to control wrapping behavior.
87
-
88
- Fixes: https://github.com/equinor/fusion-core-tasks/issues/1016
89
-
90
- ## 7.0.0
91
-
92
- ### Major Changes
93
-
94
- - abffa53: Major version bump for Fusion Framework React 19 release.
95
-
96
- All packages are bumped to the next major version as part of the React 19 upgrade. This release drops support for React versions below 18 and includes breaking changes across the framework.
97
-
98
- **Breaking changes:**
99
- - Peer dependencies now require React 18 or 19 (`^18.0.0 || ^19.0.0`)
100
- - React Router upgraded from v6 to v7
101
- - Navigation module refactored with new history API
102
- - `renderComponent` and `renderApp` now use `createRoot` API
103
-
104
- **Migration:**
105
- - Update your React version to 18.0.0 or higher before upgrading
106
- - Replace `NavigationProvider.createRouter()` with `@equinor/fusion-framework-react-router`
107
- - See individual package changelogs for package-specific migration steps
108
-
109
- - abffa53: Complete refactor of navigation module architecture with React Router v7 upgrade, improved state management, and history implementations.
110
-
111
- **Breaking Changes:**
112
- 1. **Upgraded to React Router v7**: `@remix-run/router` upgraded from v1.8.0 to v1.23.0 for React Router v7 compatibility
113
- - The `createRouter` API remains backward compatible
114
- - All existing router patterns continue to work
115
- - **Type compatibility note**: TypeScript types may not fully resolve with React Router v7, requiring type assertions (`as any`) in some cases when using `useRouter` with `RouterProvider`. This is a known limitation and will be addressed in future updates.
116
-
117
- ```typescript
118
- // Example: Type assertions required with React Router v7
119
- import { RouterProvider } from 'react-router';
120
- import { useRouter } from '@equinor/fusion-framework-react-app/navigation';
121
-
122
- export default function Router() {
123
- // biome-ignore lint/suspicious/noExplicitAny: types not fully resolving with React Router v7
124
- const router = useRouter(routes as any);
125
- // biome-ignore lint/suspicious/noExplicitAny: types not fully resolving with React Router v7
126
- return <RouterProvider router={router as any} />;
127
- }
128
- ```
129
-
130
- 2. **Configurator exports restructured**: `NavigationConfigurator` and `INavigationConfigurator` are now exported from separate interface files
131
- - Public API unchanged, but internal structure changed
132
- 3. **`createHistory` path changed**: Moved from root to `lib/create-history`
133
- - Public API unchanged, but internal path changed
134
- 4. **Types reorganized**: Types moved from `./types` to `./lib/types`
135
- - Public API unchanged, but internal path changed
136
- 5. **`navigator` deprecated**: Use `history` instead
137
-
138
- ```typescript
139
- // Before
140
- const nav = navigation.navigator;
141
-
142
- // After
143
- const history = navigation.history;
144
- ```
145
-
146
- 6. **`NavigationProvider.createRouter` deprecated**: Use `@equinor/fusion-framework-react-router` instead. The method now emits a deprecation warning via telemetry when called.
147
-
148
- **New Features:**
149
- - Added `NavigationProvider` and `INavigationProvider` exports
150
- - Added `enableNavigation` helper function for easier configuration
151
- - Added navigation events (`NavigateEvent`, `NavigatedEvent`)
152
- - Improved history implementations with state management
153
- - Added comprehensive test coverage
154
- - Added detailed README documentation
155
-
156
- **Internal Improvements:**
157
- - Restructured history implementations (BrowserHistory, HashHistory, MemoryHistory)
158
- - Added state management with reducer pattern
159
- - Improved type safety and organization
160
- - Better separation of concerns
161
-
162
- Closes https://github.com/equinor/fusion-framework/issues/3699
163
-
164
- ### Minor Changes
165
-
166
- - abffa53: Deprecate `NavigationProvider.createRouter` method in favor of `@equinor/fusion-framework-react-router`.
167
-
168
- The `createRouter` method now emits a deprecation warning via telemetry when called. Applications should migrate to using `@equinor/fusion-framework-react-router` for new route definitions.
169
-
170
- **Migration:** Replace `navigation.createRouter(routes)` with the React Router DSL from `@equinor/fusion-framework-react-router/routes`.
171
-
172
- ### Patch Changes
173
-
174
- - Updated dependencies [abffa53]
175
- - Updated dependencies [abffa53]
176
- - Updated dependencies [abffa53]
177
- - Updated dependencies [abffa53]
178
- - @equinor/fusion-framework-module@6.0.0
179
- - @equinor/fusion-observable@9.0.0
180
-
181
- ## 6.0.1
182
-
183
- ### Patch Changes
184
-
185
- - [#4157](https://github.com/equinor/fusion-framework/pull/4157) [`6aa8e1f`](https://github.com/equinor/fusion-framework/commit/6aa8e1f5c9d852b25e97aa7d98a63008c64d4581) Thanks [@Noggling](https://github.com/Noggling)! - Internal: patch release to align TypeScript types across packages for consistent type compatibility.
186
-
187
- - Updated dependencies [[`6aa8e1f`](https://github.com/equinor/fusion-framework/commit/6aa8e1f5c9d852b25e97aa7d98a63008c64d4581)]:
188
- - @equinor/fusion-framework-module@5.0.6
189
-
190
- ## 6.0.0
191
-
192
- ### Patch Changes
193
-
194
- - Updated dependencies [[`8fffbfb`](https://github.com/equinor/fusion-framework/commit/8fffbfb12daa9748bf5290e5084cd4d409aed253), [`8fffbfb`](https://github.com/equinor/fusion-framework/commit/8fffbfb12daa9748bf5290e5084cd4d409aed253)]:
195
- - @equinor/fusion-framework-module@5.0.0
196
-
197
- ## 5.0.3
198
-
199
- ### Patch Changes
200
-
201
- - [#3088](https://github.com/equinor/fusion-framework/pull/3088) [`7441b13`](https://github.com/equinor/fusion-framework/commit/7441b13aa50dd7362d1629086a27b6b4e571575d) Thanks [@eikeland](https://github.com/eikeland)! - chore: update package typesVersions
202
- - Updated package.json typesVersions.
203
- - Ensures backward compatibility with older node versions.
204
- - Ensured consistency with workspace and repository configuration.
205
-
206
- ## 5.0.2
207
-
208
- ### Patch Changes
209
-
210
- - [#3057](https://github.com/equinor/fusion-framework/pull/3057) [`96bb1fb`](https://github.com/equinor/fusion-framework/commit/96bb1fb744d8dc2410e99fea6ca948d2d5489428) Thanks [@odinr](https://github.com/odinr)! - fixed `typeVersions`
211
-
212
- - Updated dependencies [[`96bb1fb`](https://github.com/equinor/fusion-framework/commit/96bb1fb744d8dc2410e99fea6ca948d2d5489428)]:
213
- - @equinor/fusion-framework-module@4.4.2
214
-
215
- ## 5.0.1
216
-
217
- ### Patch Changes
218
-
219
- - [#3054](https://github.com/equinor/fusion-framework/pull/3054) [`c6af3a3`](https://github.com/equinor/fusion-framework/commit/c6af3a3c926fb245e9d056b506d47b8bf4f1efde) Thanks [@asbjornhaland](https://github.com/asbjornhaland)! - Re-add typesVersions from package.json files
220
-
221
- - Updated dependencies [[`e49f916`](https://github.com/equinor/fusion-framework/commit/e49f9161557202df57248d02ade4d2ef50231bdc), [`c6af3a3`](https://github.com/equinor/fusion-framework/commit/c6af3a3c926fb245e9d056b506d47b8bf4f1efde)]:
222
- - @equinor/fusion-framework-module@4.4.1
223
-
224
- ## 5.0.0
225
-
226
- ### Patch Changes
227
-
228
- - Updated dependencies [[`efd70a3`](https://github.com/equinor/fusion-framework/commit/efd70a34f734e0c155d3440e35ce4fa11a7abc42)]:
229
- - @equinor/fusion-framework-module@4.4.0
230
-
231
- ## 4.0.10
232
-
233
- ### Patch Changes
234
-
235
- - [#3012](https://github.com/equinor/fusion-framework/pull/3012) [`f53b60b`](https://github.com/equinor/fusion-framework/commit/f53b60b7805706ce7617e614f0ac0c24317a2e43) Thanks [@odinr](https://github.com/odinr)! - removed `typesVersions` from packages, since we no longer support TS < 4.7, also corrected `types` path in package.json
236
-
237
- - Updated dependencies [[`f53b60b`](https://github.com/equinor/fusion-framework/commit/f53b60b7805706ce7617e614f0ac0c24317a2e43)]:
238
- - @equinor/fusion-framework-module@4.3.8
239
-
240
- ## 4.0.9
241
-
242
- ### Patch Changes
243
-
244
- - [#2885](https://github.com/equinor/fusion-framework/pull/2885) [`abb3560`](https://github.com/equinor/fusion-framework/commit/abb3560a22ad8830df19904272035458433f4237) Thanks [@dependabot](https://github.com/apps/dependabot)! - Update he `Typescript` version `^5.7.3` to `^5.8.2`
245
-
246
- - Updated dependencies [[`abb3560`](https://github.com/equinor/fusion-framework/commit/abb3560a22ad8830df19904272035458433f4237)]:
247
- - @equinor/fusion-framework-module@4.3.7
248
-
249
- ## 4.0.8
250
-
251
- ### Patch Changes
252
-
253
- - [#2856](https://github.com/equinor/fusion-framework/pull/2856) [`68b180c`](https://github.com/equinor/fusion-framework/commit/68b180c687ad1939d4f3df185c634f5046a55f63) Thanks [@odinr](https://github.com/odinr)! - Conformed to Biome `linter.correctness.noVoidTypeReturn`
254
-
255
- - [#2854](https://github.com/equinor/fusion-framework/pull/2854) [`1953dd2`](https://github.com/equinor/fusion-framework/commit/1953dd217d85fa4880856b2c97b6305fcbaf2e24) Thanks [@odinr](https://github.com/odinr)! - removed useless switch cases
256
-
257
- - [#2848](https://github.com/equinor/fusion-framework/pull/2848) [`dcd2fb1`](https://github.com/equinor/fusion-framework/commit/dcd2fb1394e175d0cc2a4289ed3ede8e0271d67d) Thanks [@odinr](https://github.com/odinr)! - Refactored imports to use `type` when importing types from a module, to conform with the `useImportType` rule in Biome.
258
-
259
- - Updated dependencies [[`ba5d12e`](https://github.com/equinor/fusion-framework/commit/ba5d12eba0a38db412353765e997d02c1fbb478d), [`dcd2fb1`](https://github.com/equinor/fusion-framework/commit/dcd2fb1394e175d0cc2a4289ed3ede8e0271d67d)]:
260
- - @equinor/fusion-framework-module@4.3.6
261
-
262
- ## 4.0.7
263
-
264
- ### Patch Changes
265
-
266
- - Updated dependencies [[`2644b3d`](https://github.com/equinor/fusion-framework/commit/2644b3d63939aede736a3b1950db32dbd487877d)]:
267
- - @equinor/fusion-framework-module@4.3.5
268
-
269
- ## 4.0.6
270
-
271
- ### Patch Changes
272
-
273
- - [#2442](https://github.com/equinor/fusion-framework/pull/2442) [`80cc4e9`](https://github.com/equinor/fusion-framework/commit/80cc4e95a8f2dd8e8aae9752412faefdb457e9e2) Thanks [@odinr](https://github.com/odinr)! - Fixed reference check in navigation module and ag-grid module.
274
-
275
- hotfix for [PR-2425](https://github.com/equinor/fusion-framework/pull/2425)
276
-
277
- ## 4.0.5
278
-
279
- ### Patch Changes
280
-
281
- - Updated dependencies [[`75d676d`](https://github.com/equinor/fusion-framework/commit/75d676d2c7919f30e036b5ae97c4d814c569aa87), [`00d5e9c`](https://github.com/equinor/fusion-framework/commit/00d5e9c632876742c3d2a74efea2f126a0a169d9)]:
282
- - @equinor/fusion-framework-module@4.3.4
283
-
284
- ## 4.0.4
285
-
286
- ### Patch Changes
287
-
288
- - [#2292](https://github.com/equinor/fusion-framework/pull/2292) [`1a215c4`](https://github.com/equinor/fusion-framework/commit/1a215c45c97d2dfdc8127dc752ec21951bb048be) Thanks [@dependabot](https://github.com/apps/dependabot)! - build(deps): bump @remix-run/router from 1.15.2 to 1.17.0
289
-
290
- - Updated dependencies [[`a1524e9`](https://github.com/equinor/fusion-framework/commit/a1524e9c4d83778da3db42dbcf99908b776a0592)]:
291
- - @equinor/fusion-framework-module@4.3.3
292
-
293
- ## 4.0.3
294
-
295
- ### Patch Changes
296
-
297
- - [#2333](https://github.com/equinor/fusion-framework/pull/2333) [`86d55b8`](https://github.com/equinor/fusion-framework/commit/86d55b8d27a572f3f62170b1e72aceda54f955e1) Thanks [@odinr](https://github.com/odinr)! - Updated `TypeScript` to 5.5.3
298
-
299
- - [#2320](https://github.com/equinor/fusion-framework/pull/2320) [`1dd85f3`](https://github.com/equinor/fusion-framework/commit/1dd85f3a408a73df556d1812a5f280945cc100ee) Thanks [@odinr](https://github.com/odinr)! - Removed the `removeComments` option from the `tsconfig.base.json` file.
300
-
301
- Removing the `removeComments` option allows TypeScript to preserve comments in the compiled JavaScript output. This can be beneficial for several reasons:
302
- 1. Improved debugging: Preserved comments can help developers understand the code better during debugging sessions.
303
- 2. Documentation: JSDoc comments and other important code documentation will be retained in the compiled output.
304
- 3. Source map accuracy: Keeping comments can lead to more accurate source maps, which is crucial for debugging and error tracking.
305
-
306
- No action is required from consumers of the library. This change affects the build process and doesn't introduce any breaking changes or new features.
307
-
308
- Before:
309
-
310
- ```json
311
- {
312
- "compilerOptions": {
313
- "module": "ES2022",
314
- "target": "ES6",
315
- "incremental": true,
316
- "removeComments": true,
317
- "preserveConstEnums": true,
318
- "sourceMap": true,
319
- "moduleResolution": "node"
320
- }
321
- }
322
- ```
323
-
324
- After:
325
-
326
- ```json
327
- {
328
- "compilerOptions": {
329
- "module": "ES2022",
330
- "target": "ES6",
331
- "incremental": true,
332
- "preserveConstEnums": true,
333
- "sourceMap": true,
334
- "moduleResolution": "node"
335
- }
336
- }
337
- ```
338
-
339
- This change ensures that comments are preserved in the compiled output, potentially improving the development and debugging experience for users of the Fusion Framework.
340
-
341
- - Updated dependencies [[`2f74edc`](https://github.com/equinor/fusion-framework/commit/2f74edcd4a3ea2b87d69f0fd63492145c3c01663), [`86d55b8`](https://github.com/equinor/fusion-framework/commit/86d55b8d27a572f3f62170b1e72aceda54f955e1), [`1dd85f3`](https://github.com/equinor/fusion-framework/commit/1dd85f3a408a73df556d1812a5f280945cc100ee)]:
342
- - @equinor/fusion-framework-module@4.3.2
343
-
344
- ## 4.0.2
345
-
346
- ### Patch Changes
347
-
348
- - Updated dependencies [[`fb424be`](https://github.com/equinor/fusion-framework/commit/fb424be24ad9349d01daef91a01c464d7b1413d2), [`fb424be`](https://github.com/equinor/fusion-framework/commit/fb424be24ad9349d01daef91a01c464d7b1413d2), [`fb424be`](https://github.com/equinor/fusion-framework/commit/fb424be24ad9349d01daef91a01c464d7b1413d2)]:
349
- - @equinor/fusion-framework-module@4.3.1
350
-
351
- ## 4.0.1
352
-
353
- ### Patch Changes
354
-
355
- - [#2096](https://github.com/equinor/fusion-framework/pull/2096) [`0f95a74`](https://github.com/equinor/fusion-framework/commit/0f95a74b78cb5e86bc14c4a0f1f1715415746ef5) Thanks [@odinr](https://github.com/odinr)! - update documentation
356
-
357
- ## 4.0.0
358
-
359
- ### Minor Changes
360
-
361
- - [#1953](https://github.com/equinor/fusion-framework/pull/1953) [`f3ae28d`](https://github.com/equinor/fusion-framework/commit/f3ae28dc6d1d5043605e07e2cd2e83ae799cd904) Thanks [@odinr](https://github.com/odinr)! - updated typescript to 5.4.2
362
-
363
- ### Patch Changes
364
-
365
- - Updated dependencies [[`f3ae28d`](https://github.com/equinor/fusion-framework/commit/f3ae28dc6d1d5043605e07e2cd2e83ae799cd904), [`f3ae28d`](https://github.com/equinor/fusion-framework/commit/f3ae28dc6d1d5043605e07e2cd2e83ae799cd904)]:
366
- - @equinor/fusion-framework-module@4.3.0
367
-
368
- ## 3.1.4
369
-
370
- ### Patch Changes
371
-
372
- - Updated dependencies [[`152cf73`](https://github.com/equinor/fusion-framework/commit/152cf73d39eb32ccbaddaa6941e315c437c4972d)]:
373
- - @equinor/fusion-framework-module@4.2.7
374
-
375
- ## 3.1.3
376
-
377
- ### Patch Changes
378
-
379
- - [#1595](https://github.com/equinor/fusion-framework/pull/1595) [`9c24e84`](https://github.com/equinor/fusion-framework/commit/9c24e847d041dea8384c77439e6b237f5bdb3125) Thanks [@Gustav-Eikaas](https://github.com/Gustav-Eikaas)! - support for module resolution NodeNext & Bundler
380
-
381
- - Updated dependencies [[`9c24e84`](https://github.com/equinor/fusion-framework/commit/9c24e847d041dea8384c77439e6b237f5bdb3125)]:
382
- - @equinor/fusion-framework-module@4.2.6
383
-
384
- ## 3.1.2
385
-
386
- ### Patch Changes
387
-
388
- - [#1467](https://github.com/equinor/fusion-framework/pull/1467) [`a8f0f061`](https://github.com/equinor/fusion-framework/commit/a8f0f061dbde9efb3e2faf11fdb9c886d2277723) Thanks [@odinr](https://github.com/odinr)! - checks when `push`|`replace` is called if to is identical to previous to
389
-
390
- ## 3.1.1
391
-
392
- ### Patch Changes
393
-
394
- - [#1464](https://github.com/equinor/fusion-framework/pull/1464) [`e2ec89f4`](https://github.com/equinor/fusion-framework/commit/e2ec89f457135037e2a333a61ba546fee6d99cd8) Thanks [@odinr](https://github.com/odinr)! - fix double navigation
395
-
396
- ## 3.1.0
397
-
398
- ### Minor Changes
399
-
400
- - [#1453](https://github.com/equinor/fusion-framework/pull/1453) [`6f542d4c`](https://github.com/equinor/fusion-framework/commit/6f542d4c7c01ae94c28b7e82efba800a902a7633) Thanks [@odinr](https://github.com/odinr)! - Prevent duplicate push event when navigating
401
-
402
- Added `master` | `slave` property when creating navigator.
403
- When configured as `slave`, the navigator will replace the action from `PUSH` to `REPLACE`
404
- The result should be that only the `master` will execute the `PUSH` action to `window.location`
405
-
406
- ## 3.0.6
407
-
408
- ### Patch Changes
409
-
410
- - [`b5dfe5d2`](https://github.com/equinor/fusion-framework/commit/b5dfe5d29a249e0cca6c9589322931dfedd06acc) Thanks [@odinr](https://github.com/odinr)! - force patch bump, realign missing snapshot
411
-
412
- - Updated dependencies [[`b5dfe5d2`](https://github.com/equinor/fusion-framework/commit/b5dfe5d29a249e0cca6c9589322931dfedd06acc)]:
413
- - @equinor/fusion-framework-module@4.2.5
414
-
415
- ## 3.0.5
416
-
417
- ### Patch Changes
418
-
419
- - Updated dependencies [[`9076a498`](https://github.com/equinor/fusion-framework/commit/9076a49876e7a414a27557b7fb9095a67fe3a57f)]:
420
- - @equinor/fusion-framework-module@4.2.4
421
-
422
- ## 3.0.4
423
-
424
- ### Patch Changes
425
-
426
- - [#1109](https://github.com/equinor/fusion-framework/pull/1109) [`7ec195d4`](https://github.com/equinor/fusion-framework/commit/7ec195d42098fec8794db13e83b71ef7753ff862) Thanks [@odinr](https://github.com/odinr)! - Change packaged manager from yarn to pnpm
427
-
428
- conflicts of `@types/react` made random outcomes when using `yarn`
429
-
430
- this change should not affect consumer of the packages, but might conflict dependent on local package manager.
431
-
432
- - [#1145](https://github.com/equinor/fusion-framework/pull/1145) [`d276fc5d`](https://github.com/equinor/fusion-framework/commit/d276fc5d514566d05c64705076a1cb91c6a44272) Thanks [@dependabot](https://github.com/apps/dependabot)! - build(deps): bump rxjs from 7.5.7 to [7.8.1](https://github.com/ReactiveX/rxjs/blob/7.8.1/CHANGELOG.md)
433
-
434
- - Updated dependencies [[`7ec195d4`](https://github.com/equinor/fusion-framework/commit/7ec195d42098fec8794db13e83b71ef7753ff862), [`d276fc5d`](https://github.com/equinor/fusion-framework/commit/d276fc5d514566d05c64705076a1cb91c6a44272)]:
435
- - @equinor/fusion-framework-module@4.2.3
436
-
437
- ## 3.0.3
438
-
439
- ### Patch Changes
440
-
441
- - [#1058](https://github.com/equinor/fusion-framework/pull/1058) [`4eadd69f`](https://github.com/equinor/fusion-framework/commit/4eadd69f24dc69623086d40aa367a5c8e67b6518) Thanks [@odinr](https://github.com/odinr)! - Update dependency: @remix-run/router@^1.7.2
442
-
443
- ## 3.0.2
444
-
445
- ### Patch Changes
446
-
447
- - [#950](https://github.com/equinor/fusion-framework/pull/950) [`24123cf7`](https://github.com/equinor/fusion-framework/commit/24123cf717c9b2b8987f9a349d7507e7057ea669) Thanks [@odinr](https://github.com/odinr)! - update generate version for packages
448
-
449
- ## 3.0.1
450
-
451
- ### Patch Changes
452
-
453
- - [#946](https://github.com/equinor/fusion-framework/pull/946) [`5a160d88`](https://github.com/equinor/fusion-framework/commit/5a160d88981ddfe861d391cfefe10f54dda3d352) Thanks [@odinr](https://github.com/odinr)! - Build/update typescript to 5
454
-
455
- ## 3.0.0
456
-
457
- ### Major Changes
458
-
459
- - [#907](https://github.com/equinor/fusion-framework/pull/907) [`7500ec2c`](https://github.com/equinor/fusion-framework/commit/7500ec2c9ca9b926a19539fc97c61c67f76fc8d9) Thanks [@odinr](https://github.com/odinr)! - extend base module provider
460
- - make `NavigationProvider` extend `BaseModuleProvider`
461
- - internal function `_localizeLocation` is renamed to `_localizePath`. _should not cause breaking changes_
462
- - expose localized state from `Navigator` _(history)_
463
-
464
- BREAKING CHANGE: `NavigationProvider` no longer extends `Observable<{ action: Action; path: Path }>`, use `INavigationProvider.state# Change Log _(this is now a localized path)_
465
-
466
- ### Minor Changes
467
-
468
- - [#907](https://github.com/equinor/fusion-framework/pull/907) [`7500ec2c`](https://github.com/equinor/fusion-framework/commit/7500ec2c9ca9b926a19539fc97c61c67f76fc8d9) Thanks [@odinr](https://github.com/odinr)! - add version to module
469
- - add `prebuild` step to generate version
470
- - update `.gitignore` to skip `version.ts` since this file is generated during building
471
-
472
- ### Patch Changes
473
-
474
- - [#913](https://github.com/equinor/fusion-framework/pull/913) [`83ee5abf`](https://github.com/equinor/fusion-framework/commit/83ee5abf7bcab193c85980e5ae44895cd7f6f08d) Thanks [@odinr](https://github.com/odinr)! - **Change init of NavigationProvider**
475
-
476
- moved the init to constructor
477
-
478
- - [#905](https://github.com/equinor/fusion-framework/pull/905) [`a7858a1c`](https://github.com/equinor/fusion-framework/commit/a7858a1c01542e2dc94370709f122b4b99c3219c) Thanks [@odinr](https://github.com/odinr)! - **🚧 Chore: dedupe packages**
479
- - align all versions of typescript
480
- - update types to build
481
- - a couple of typecasts did not [satisfies](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-5-0.html#satisfies-support-in-jsdoc) and was recasted as `unknwon`, marked with `TODO`, should be fixed in future
482
-
483
- All notable changes to this project will be documented in this file.
484
- See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
485
-
486
- ## 2.1.2 (2023-05-23)
487
-
488
- **Note:** Version bump only for package @equinor/fusion-framework-module-navigation
489
-
490
- ## [2.1.1](https://github.com/equinor/fusion-framework/compare/@equinor/fusion-framework-module-navigation@2.1.0...@equinor/fusion-framework-module-navigation@2.1.1) (2023-05-08)
491
-
492
- ### Bug Fixes
493
-
494
- - **module-navigation:** prepend basename ([5d7c844](https://github.com/equinor/fusion-framework/commit/5d7c84454562a4c1a2ebad05923a716fbaf10660)), closes [/github.com/remix-run/react-router/blame/852e05ae4132132cf5dd82ffff4c7e5be76672ae/packages/router/router.ts#L716](https://github.com/equinor//github.com/remix-run/react-router/blame/852e05ae4132132cf5dd82ffff4c7e5be76672ae/packages/router/router.ts/issues/L716)
495
-
496
- ## 2.1.0 (2023-05-05)
497
-
498
- ### Features
499
-
500
- - **module-navigation:** allow no argument when creating link ([4a7b56b](https://github.com/equinor/fusion-framework/commit/4a7b56bc67fe89bb79a707e8ecf2dca6757867d5))
501
- - **module-navigation:** expose util method from provider. ([cbb1aaf](https://github.com/equinor/fusion-framework/commit/cbb1aafb700abfa0eefeac0184f92618687c3be1))
502
-
503
- ### Bug Fixes
504
-
505
- - **module-navigation:** normalize navigation path ([08decd5](https://github.com/equinor/fusion-framework/commit/08decd59d264596a714e4346cd1853995b58b869))
506
- - **module-navigation:** skip initial value when listening for change ([4d1a44d](https://github.com/equinor/fusion-framework/commit/4d1a44deb3a873983975112032652e3545e3548a))
507
-
508
- ## 2.0.1 (2023-04-18)
509
-
510
- **Note:** Version bump only for package @equinor/fusion-framework-module-navigation
511
-
512
- ## 2.0.0 (2023-04-16)
513
-
514
- **Note:** Version bump only for package @equinor/fusion-framework-module-navigation
515
-
516
- ## [1.0.8](https://github.com/equinor/fusion-framework/compare/@equinor/fusion-framework-module-navigation@1.0.7...@equinor/fusion-framework-module-navigation@1.0.8) (2023-03-22)
517
-
518
- **Note:** Version bump only for package @equinor/fusion-framework-module-navigation
519
-
520
- ## 1.0.7 (2023-03-22)
521
-
522
- ### Bug Fixes
523
-
524
- - **navigation:** allow inherent of parent history ([2c31592](https://github.com/equinor/fusion-framework/commit/2c31592b659608e9da6dcf88466660cd274174d2))
525
-
526
- ## [1.0.6](https://github.com/equinor/fusion-framework/compare/@equinor/fusion-framework-module-navigation@1.0.5...@equinor/fusion-framework-module-navigation@1.0.6) (2023-03-20)
527
-
528
- **Note:** Version bump only for package @equinor/fusion-framework-module-navigation
529
-
530
- ## [1.0.5](https://github.com/equinor/fusion-framework/compare/@equinor/fusion-framework-module-navigation@1.0.4...@equinor/fusion-framework-module-navigation@1.0.5) (2023-03-09)
531
-
532
- **Note:** Version bump only for package @equinor/fusion-framework-module-navigation
533
-
534
- ## 1.0.4 (2023-03-09)
535
-
536
- **Note:** Version bump only for package @equinor/fusion-framework-module-navigation
537
-
538
- ## 1.0.3 (2023-02-20)
539
-
540
- ### Bug Fixes
541
-
542
- - **modules/navigation:** initialize router on creation ([04ca77f](https://github.com/equinor/fusion-framework/commit/04ca77fd8d33d25e6e7e9580f1b9495a817aff92))
543
-
544
- ## 1.0.2 (2023-02-06)
545
-
546
- ### Bug Fixes
547
-
548
- - **navigation:** fix subscription of listener ([f76eee1](https://github.com/equinor/fusion-framework/commit/f76eee19327c9ef805232ca7a3271a4a06e94b6f))
549
-
550
- ## 1.0.1 (2023-01-30)
551
-
552
- **Note:** Version bump only for package @equinor/fusion-framework-module-navigation
553
-
554
- ## [1.0.0](https://github.com/equinor/fusion-framework/compare/@equinor/fusion-framework-module-navigation@0.1.7...@equinor/fusion-framework-module-navigation@1.0.0) (2023-01-27)
555
-
556
- **Note:** Version bump only for package @equinor/fusion-framework-module-navigation
557
-
558
- ## [1.0.0-alpha.0](https://github.com/equinor/fusion-framework/compare/@equinor/fusion-framework-module-navigation@0.1.7...@equinor/fusion-framework-module-navigation@1.0.0-alpha.0) (2023-01-26)
559
-
560
- **Note:** Version bump only for package @equinor/fusion-framework-module-navigation
561
-
562
- ## [0.1.7](https://github.com/equinor/fusion-framework/compare/@equinor/fusion-framework-module-navigation@0.1.6...@equinor/fusion-framework-module-navigation@0.1.7) (2023-01-26)
563
-
564
- **Note:** Version bump only for package @equinor/fusion-framework-module-navigation
565
-
566
- ## 0.1.6 (2023-01-19)
567
-
568
- ### Bug Fixes
569
-
570
- - update interface for enabling modules ([1e5730e](https://github.com/equinor/fusion-framework/commit/1e5730e91992c1d0177790c851be993a0532a3d1))
571
-
572
- ## 0.1.5 (2023-01-09)
573
-
574
- ### Bug Fixes
575
-
576
- - **module-navigation:** expose navigator ([8385afd](https://github.com/equinor/fusion-framework/commit/8385afd32a15ff3fe5e7c0a245266b3d33a3e8a0))
577
-
578
- ## 0.1.4 (2022-12-06)
579
-
580
- **Note:** Version bump only for package @equinor/fusion-framework-module-navigation
581
-
582
- ## [0.1.3](https://github.com/equinor/fusion-framework/compare/@equinor/fusion-framework-module-navigation@0.1.2...@equinor/fusion-framework-module-navigation@0.1.3) (2022-12-01)
583
-
584
- **Note:** Version bump only for package @equinor/fusion-framework-module-navigation
585
-
586
- ## 0.1.2 (2022-12-01)
587
-
588
- **Note:** Version bump only for package @equinor/fusion-framework-module-navigation
589
-
590
- ## 0.1.1 (2022-11-18)
591
-
592
- ### Bug Fixes
593
-
594
- - basename in app render ([ae75815](https://github.com/equinor/fusion-framework/commit/ae75815877701c364f853413b29ad4f053d9c2c2))
595
-
596
- ## 0.1.0 (2022-11-17)
597
-
598
- ### Features
599
-
600
- - **module-navigation:** initial ([891e69d](https://github.com/equinor/fusion-framework/commit/891e69d9a98ba02ee1f9dd1c5b0cb31ff1b5fd0f))