@equinor/fusion-framework-cli 12.5.0-next.0 → 12.5.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,71 +1,24 @@
1
1
  # Change Log
2
2
 
3
- ## 12.5.0-next.0
3
+ ## 12.5.1
4
4
 
5
- ### Minor Changes
6
-
7
- - [#3820](https://github.com/equinor/fusion-framework/pull/3820) [`d252b0d`](https://github.com/equinor/fusion-framework/commit/d252b0d442b7c8c1b50bf2768cf9ecbbb55a76f8) Thanks [@odinr](https://github.com/odinr)! - Add automatic support for `?raw` imports in Vite builds.
8
-
9
- The CLI now automatically includes the `rawImportsPlugin` in Vite configurations, enabling `?raw` imports for markdown files (and other configured extensions) without manual plugin configuration.
10
-
11
- ```typescript
12
- import readmeContent from "../../README.md?raw";
13
- ```
14
-
15
- This ensures consistent behavior across all Fusion Framework CLI builds.
16
-
17
- - [#3820](https://github.com/equinor/fusion-framework/pull/3820) [`d252b0d`](https://github.com/equinor/fusion-framework/commit/d252b0d442b7c8c1b50bf2768cf9ecbbb55a76f8) Thanks [@odinr](https://github.com/odinr)! - Add `app serve` command to serve built applications with the dev-portal.
18
-
19
- The new `serve` command provides a production-like preview environment for testing built applications locally. It serves your built application through the dev-portal, similar to the `dev` command but using production-built files.
20
-
21
- ```sh
22
- pnpm fusion-framework-cli app serve
23
- pnpm fusion-framework-cli app serve --port 5000
24
- pnpm fusion-framework-cli app serve --dir ./dist --host 0.0.0.0
25
- ```
26
-
27
- The command automatically detects the build directory from your Vite configuration and provides options for custom port, host, directory, manifest, and config files. The application must be built first using `ffc app build` before serving.
5
+ ### Patch Changes
28
6
 
29
- - [#3820](https://github.com/equinor/fusion-framework/pull/3820) [`d252b0d`](https://github.com/equinor/fusion-framework/commit/d252b0d442b7c8c1b50bf2768cf9ecbbb55a76f8) Thanks [@odinr](https://github.com/odinr)! - Add route schema support to app manifests for documentation and API schema generation.
7
+ - [#3845](https://github.com/equinor/fusion-framework/pull/3845) [`5114ac4`](https://github.com/equinor/fusion-framework/commit/5114ac4f71a60935d0194b9b2766f95adff0ba1e) Thanks [@asbjornhaland](https://github.com/asbjornhaland)! - Fix tsconfig references
30
8
 
31
- **New Features:**
32
- - **module-app**: Added `RouteSchemaEntry` type and `routes` field to `AppManifest` interface
33
- - **cli**: Added `RouteSchemaEntry` and `AppManifestWithRoutes` type exports for app manifest generation
9
+ - Updated dependencies []:
10
+ - @equinor/fusion-framework-dev-portal@1.2.6
34
11
 
35
- Route schemas allow applications to document their routes in app manifests, enabling automatic API documentation and schema generation. The `RouteSchemaEntry` type represents a route with its path, description, and optional parameter/search schemas.
12
+ ## 12.5.0
36
13
 
37
- ```typescript
38
- import type {
39
- RouteSchemaEntry,
40
- AppManifest,
41
- } from "@equinor/fusion-framework-module-app";
42
- import type { AppManifestWithRoutes } from "@equinor/fusion-framework-cli/app";
43
-
44
- const manifest: AppManifest = {
45
- appKey: "my-app",
46
- displayName: "My App",
47
- description: "My app description",
48
- type: "standalone",
49
- routes: [
50
- ["/", "Home page"],
51
- ["/products", "Products listing page"],
52
- ["/products/:id", "Product detail page", { id: "Product ID" }],
53
- ],
54
- };
55
- ```
14
+ ### Minor Changes
56
15
 
57
- The CLI package also exports `AppManifestWithRoutes` which allows RouteNode objects (from the router package) to be used in manifest definitions, which are then serialized to RouteSchemaEntry arrays.
16
+ - [#3842](https://github.com/equinor/fusion-framework/pull/3842) [`d38cd60`](https://github.com/equinor/fusion-framework/commit/d38cd60472380d60282c2a5672dc6e3bba3e7ca9) Thanks [@asbjornhaland](https://github.com/asbjornhaland)! - Add module fusion-framework-module-analytics
58
17
 
59
18
  ### Patch Changes
60
19
 
61
- - [#3820](https://github.com/equinor/fusion-framework/pull/3820) [`265bb76`](https://github.com/equinor/fusion-framework/commit/265bb767249989eeb1971e83f3fba94879e0813b) Thanks [@odinr](https://github.com/odinr)! - relase next
62
-
63
- - Updated dependencies [[`7ccaec2`](https://github.com/equinor/fusion-framework/commit/7ccaec2a59e7f17505ea6537f594665fe978a5b6), [`d252b0d`](https://github.com/equinor/fusion-framework/commit/d252b0d442b7c8c1b50bf2768cf9ecbbb55a76f8), [`265bb76`](https://github.com/equinor/fusion-framework/commit/265bb767249989eeb1971e83f3fba94879e0813b), [`d252b0d`](https://github.com/equinor/fusion-framework/commit/d252b0d442b7c8c1b50bf2768cf9ecbbb55a76f8), [`d252b0d`](https://github.com/equinor/fusion-framework/commit/d252b0d442b7c8c1b50bf2768cf9ecbbb55a76f8), [`75c068f`](https://github.com/equinor/fusion-framework/commit/75c068fea13c32435ac26bd9043cc156482bfaf1), [`d252b0d`](https://github.com/equinor/fusion-framework/commit/d252b0d442b7c8c1b50bf2768cf9ecbbb55a76f8)]:
64
- - @equinor/fusion-framework-dev-portal@2.0.0-next.0
65
- - @equinor/fusion-framework-vite-plugin-raw-imports@1.1.0-next.0
66
- - @equinor/fusion-imports@1.2.0-next.0
67
- - @equinor/fusion-framework-dev-server@1.1.19-next.0
68
- - @equinor/fusion-framework-module-msal-node@2.0.2-next.0
20
+ - Updated dependencies []:
21
+ - @equinor/fusion-framework-dev-portal@1.2.6
69
22
 
70
23
  ## 12.4.6
71
24
 
@@ -135,6 +88,7 @@
135
88
  Portal tagging functionality has been enhanced to accept any string value for tags instead of being restricted to predefined enum values.
136
89
 
137
90
  **Breaking Changes**
91
+
138
92
  - **Removed `AllowedPortalTags` enum**: The enum that previously restricted portal tags to only `'latest'` and `'preview'` has been removed.
139
93
  - **No longer exported**: `AllowedPortalTags` is no longer exported from `@equinor/fusion-framework-cli/bin`.
140
94
 
@@ -169,11 +123,13 @@
169
123
  ```
170
124
 
171
125
  **Enhanced Documentation**
126
+
172
127
  - Updated CLI help text with practical examples
173
128
  - Added common tag examples (`latest`, `preview`, `next`, `stable`) in documentation
174
129
  - Maintained guidance while showing flexibility
175
130
 
176
131
  **Validation**
132
+
177
133
  - Tags must be non-empty strings
178
134
  - No other restrictions on tag format or content
179
135
  - Backward compatibility maintained for existing tag values
@@ -243,17 +199,20 @@
243
199
  This update addresses a security vulnerability in Vite's development server and includes bug fixes for improved compatibility. The update ensures secure development environments and better plugin ecosystem compatibility.
244
200
 
245
201
  **Changes:**
202
+
246
203
  - Updated Vite from v7.1.10 to v7.1.12
247
204
  - Includes security fix for development server file system checks
248
205
  - Includes compatibility fix for CommonJS plugin
249
206
  - No breaking changes or API modifications
250
207
 
251
208
  **Security Fix (v7.1.11):**
209
+
252
210
  - **dev**: trim trailing slash before `server.fs.deny` check ([#20968](https://github.com/vitejs/vite/issues/20968))
253
211
  - Prevents potential path traversal vulnerability in development server
254
212
  - Only affects development environment, not production builds
255
213
 
256
214
  **Bug Fix (v7.1.12):**
215
+
257
216
  - **deps**: downgrade commonjs plugin to 28.0.6 to avoid rollup/plugins issues ([#20990](https://github.com/vitejs/vite/issues/20990))
258
217
  - Improves compatibility with Rollup plugin ecosystem
259
218
  - Prevents potential build issues
@@ -275,10 +234,12 @@
275
234
  Fixed a bug in the `app config` command where the `config` parameter was incorrectly referenced as `options.config` when calling `publishAppConfig`. This was causing the publish functionality to fail when a custom config file path was provided.
276
235
 
277
236
  ### What Changed
237
+
278
238
  - Corrected parameter passing in `packages/cli/src/cli/commands/app/config.ts`
279
239
  - Changed `config: options.config` to `config` in the `publishAppConfig` call
280
240
 
281
241
  ### Impact
242
+
282
243
  - The `ffc app config --publish` command now correctly uses the provided config file argument
283
244
  - Fixes the issue where custom config files were not being passed to the publish function
284
245
  - No breaking changes to the CLI interface
@@ -293,6 +254,7 @@
293
254
  - [#3584](https://github.com/equinor/fusion-framework/pull/3584) [`0dd31cd`](https://github.com/equinor/fusion-framework/commit/0dd31cd1078b383ddab4a8cf1bb03d502e214715) Thanks [@dependabot](https://github.com/apps/dependabot)! - chore: bump @rollup/plugin-node-resolve from 16.0.1 to 16.0.3
294
255
 
295
256
  Bug fixes:
257
+
296
258
  - fix: resolve bare targets of package "imports" using export maps; avoid fileURLToPath(null)
297
259
  - fix: error thrown with empty entry
298
260
 
@@ -326,9 +288,11 @@
326
288
  Added `is-mergeable-object` as a direct dependency to resolve runtime errors when using the CLI's app development features. This package is required by `deepmerge` but was not explicitly declared as a dependency, causing module resolution failures during app development.
327
289
 
328
290
  **Changes:**
291
+
329
292
  - Added `is-mergeable-object@^1.1.1` to dependencies in `packages/cli/package.json`
330
293
 
331
294
  **Impact:**
295
+
332
296
  - Fixes "Cannot find module 'is-mergeable-object'" errors during app development
333
297
  - Ensures proper dependency resolution for CLI tools that use deepmerge functionality
334
298
  - No breaking changes - this is purely a dependency fix
@@ -338,11 +302,13 @@
338
302
  ### Patch Changes
339
303
 
340
304
  - [#3559](https://github.com/equinor/fusion-framework/pull/3559) [`6667a4e`](https://github.com/equinor/fusion-framework/commit/6667a4ee24a5374a02ec76952f440d495d62dbc3) Thanks [@eikeland](https://github.com/eikeland)! - Added default headers to CLI REST API requests for better identification and tracking.
305
+
341
306
  - Created new `defaultHeaders` utility that includes CLI name, version, and user-agent
342
307
  - Updated app upload/tag operations to include default headers
343
308
  - Updated portal upload/tag operations to include default headers
344
309
 
345
310
  All HTTP requests from the CLI now include:
311
+
346
312
  - `X-Fusion-CLI-Name`: Identifies the CLI tool name
347
313
  - `X-Fusion-CLI-Version`: Specifies the CLI version making the request
348
314
  - `User-Agent`: Standard user agent header with CLI name and version
@@ -352,6 +318,7 @@
352
318
  Closes: #3539
353
319
 
354
320
  - [#3552](https://github.com/equinor/fusion-framework/pull/3552) [`8694e5b`](https://github.com/equinor/fusion-framework/commit/8694e5bb9bb1249dc52853dc6a5048f81ed9ab9c) Thanks [@eikeland](https://github.com/eikeland)! - Fixed release annotations to always include CLI version and required metadata.
321
+
355
322
  - Added `cliVersion` property to `ReleaseAnnotations` type
356
323
  - Ensured annotations are always returned (removed undefined return type)
357
324
  - Added fallback annotations for local builds with default values
@@ -369,6 +336,7 @@
369
336
  ### Minor Changes
370
337
 
371
338
  - [#3547](https://github.com/equinor/fusion-framework/pull/3547) [`99a3c26`](https://github.com/equinor/fusion-framework/commit/99a3c26275c2089c3708124f5819ce383d8dc3dc) Thanks [@odinr](https://github.com/odinr)! - Enhanced CLI with portal proxy support for testing apps in real portal environments ([Issue #3546](https://github.com/equinor/fusion-framework/issues/3546)).
339
+
372
340
  - Added `/portal-proxy` service worker resource configuration to CLI dev server
373
341
  - Routes portal proxy requests to Fusion portal service API (`/@fusion-api/portal-config`)
374
342
  - Enhanced dev server creation with improved logging and error handling
@@ -380,6 +348,7 @@
380
348
  ### Patch Changes
381
349
 
382
350
  - [`4717aab`](https://github.com/equinor/fusion-framework/commit/4717aab6b50d0a795255f7615bb334eae8dc9d3f) Thanks [@Noggling](https://github.com/Noggling)! - Enhanced dev server host configuration to respect Vite config settings.
351
+
383
352
  - Modified `startAppDevServer` function in `app-dev.ts` to use host configuration from local Vite config
384
353
  - Changed hardcoded 'localhost' host to respect `localViteConfig.server?.host` with 'localhost' as fallback
385
354
  - Improved configuration loading by storing `localViteConfig` in a variable to avoid duplicate loading
@@ -404,6 +373,7 @@
404
373
  ref: [3548](https://github.com/equinor/fusion-framework/issues/3548)
405
374
 
406
375
  - [#3547](https://github.com/equinor/fusion-framework/pull/3547) [`99a3c26`](https://github.com/equinor/fusion-framework/commit/99a3c26275c2089c3708124f5819ce383d8dc3dc) Thanks [@odinr](https://github.com/odinr)! - Enhanced CLI documentation with comprehensive portal proxy configuration guide.
376
+
407
377
  - Added detailed portal proxy configuration section in dev-server-config.md
408
378
  - Documented portal proxy behavior, use cases, and benefits
409
379
  - Provided complete code examples for portal proxy setup
@@ -421,6 +391,7 @@
421
391
  ### Minor Changes
422
392
 
423
393
  - [#3512](https://github.com/equinor/fusion-framework/pull/3512) [`6f17817`](https://github.com/equinor/fusion-framework/commit/6f17817d3e1290d0befca8bb528728128612f8f1) Thanks [@eikeland](https://github.com/eikeland)! - Enhanced app management commands with pre-flight registration checks.
394
+
424
395
  - Modified `checkApp` function to return boolean values instead of log results for better programmatic usage
425
396
  - Added handling for HTTP 410 status (deleted apps) in app registration checks
426
397
  - Added pre-flight app registration validation to `publish` and `upload` commands
@@ -436,6 +407,7 @@
436
407
  ### Patch Changes
437
408
 
438
409
  - [#3534](https://github.com/equinor/fusion-framework/pull/3534) [`8049b43`](https://github.com/equinor/fusion-framework/commit/8049b43847370c73814939f258a86723329b6b3c) Thanks [@odinr](https://github.com/odinr)! - Enhanced dev-server documentation with comprehensive configuration guide.
410
+
439
411
  - Added detailed `dev-server-config.md` documentation covering configuration options, API mocking, service discovery customization, and template environment overrides
440
412
  - Updated main `dev-server.md` documentation with improved architecture overview and configuration reference
441
413
  - Provided practical examples and troubleshooting guidance for dev-server configuration
@@ -462,6 +434,7 @@
462
434
  ### Patch Changes
463
435
 
464
436
  - [`56c27ec`](https://github.com/equinor/fusion-framework/commit/56c27ec9de03e07e725eecfdf2c028a1e29b6ece) Thanks [@odinr](https://github.com/odinr)! - Updated workspace dependencies to use exact version specifiers for consistent release behavior.
437
+
465
438
  - Changed workspace dependencies from `workspace:^` to `workspace:*` across CLI, dev-server, and SPA vite plugin packages
466
439
  - Ensures exact version resolution within the monorepo for predictable builds and releases
467
440
  - Affects both dependencies and devDependencies where applicable
@@ -482,6 +455,7 @@
482
455
  ### Minor Changes
483
456
 
484
457
  - [#3459](https://github.com/equinor/fusion-framework/pull/3459) [`58b5cee`](https://github.com/equinor/fusion-framework/commit/58b5ceeba5c6488a459ecaa22013823d3310ebc9) Thanks [@odinr](https://github.com/odinr)! - Enhanced Git repository cloning with user-controlled protocol selection.
458
+
485
459
  - Added interactive prompt for users to choose between HTTPS and SSH protocols
486
460
  - Implemented intelligent SSH detection using both git config and filesystem checks
487
461
  - Removed automatic SSH-to-HTTPS fallback in favor of explicit user choice
@@ -509,6 +483,7 @@
509
483
  - [#3425](https://github.com/equinor/fusion-framework/pull/3425) [`41cc520`](https://github.com/equinor/fusion-framework/commit/41cc520707c37672c59855ed53a0d4cedae0ec61) Thanks [@dependabot](https://github.com/apps/dependabot)! - Updated pretty-bytes from 7.0.1 to 7.1.0, adding `fixedWidth` and `nonBreakingSpace` options for enhanced CLI output formatting.
510
484
 
511
485
  - [#3428](https://github.com/equinor/fusion-framework/pull/3428) [`1700ca8`](https://github.com/equinor/fusion-framework/commit/1700ca8851fa108e55e9729fd24f595272766e63) Thanks [@dependabot](https://github.com/apps/dependabot)! - Update zod from 4.1.9 to 4.1.11
486
+
512
487
  - **v4.1.10**: Fixed shape caching issue (#5263) improving validation performance for complex schemas
513
488
  - **v4.1.11**: Maintenance release with general improvements
514
489
 
@@ -529,6 +504,7 @@
529
504
  Updated source code to migrate from zod v3 to v4. Updated zod dependency from v3.25.76 to v4.1.8 and modified schema definitions in the CLI package to use explicit key and value types for records, updated error message format, and changed ZodError `.errors` property to `.issues` for zod v4 compatibility.
530
505
 
531
506
  Key changes in source code:
507
+
532
508
  - Fixed record schema definitions to use explicit key and value types (`z.record(z.string(), z.any())`)
533
509
  - Updated portal manifest schemas to use `message` instead of `description` for error messages
534
510
  - Simplified error message options format (removed `required_error`, `invalid_type_error` from options object)
@@ -538,12 +514,14 @@
538
514
  Breaking changes: Record schemas must specify both key and value types explicitly. Error message format has changed from zod v3 to v4 format. Function schema definitions now require explicit typing.
539
515
 
540
516
  Links:
517
+
541
518
  - [Zod v4 Migration Guide](https://github.com/colinhacks/zod/releases/tag/v4.0.0)
542
519
  - [Zod v4.1.8 Release Notes](https://github.com/colinhacks/zod/releases/tag/v4.1.8)
543
520
 
544
521
  ### Patch Changes
545
522
 
546
523
  - [#3418](https://github.com/equinor/fusion-framework/pull/3418) [`6426d40`](https://github.com/equinor/fusion-framework/commit/6426d4051d153a01f2bc37ba7e7f4d0e85a82753) Thanks [@odinr](https://github.com/odinr)! - Improve publish command documentation clarity
524
+
547
525
  - Update app publish command description to clearly explain conditional building behavior
548
526
  - Add prominent note explaining when building occurs vs when it doesn't
549
527
  - Add complete portal publish command documentation (was missing)
@@ -564,20 +542,24 @@
564
542
  - [#3369](https://github.com/equinor/fusion-framework/pull/3369) [`bd8360e`](https://github.com/equinor/fusion-framework/commit/bd8360e6b93704b3f8ba4eb0d7fd142e27c01ef9) Thanks [@dependabot](https://github.com/apps/dependabot)! - Updated commander from v13 to v14 with improved help system and Node.js v20+ requirement.
565
543
 
566
544
  ### Breaking Changes
545
+
567
546
  - Commander 14 requires Node.js v20 or higher (compatible with existing project requirements)
568
547
 
569
548
  ### New Features
549
+
570
550
  - Support for groups of options and commands in help
571
551
  - Support for unescaped negative numbers as arguments
572
552
  - Enhanced TypeScript support with parseArg property
573
553
 
574
554
  ### Links
555
+
575
556
  - [GitHub releases](https://github.com/tj/commander.js/releases/tag/v14.0.1)
576
557
  - [Changelog](https://github.com/tj/commander.js/blob/master/CHANGELOG.md)
577
558
 
578
559
  - [#3349](https://github.com/equinor/fusion-framework/pull/3349) [`c511123`](https://github.com/equinor/fusion-framework/commit/c511123c835e24e9ddefcc4c47c2455f5df12087) Thanks [@dependabot](https://github.com/apps/dependabot)! - chore: bump vite from 6.x to 7.1.5
579
560
 
580
561
  Major version update of Vite build tool across all packages. This update includes:
562
+
581
563
  - Enhanced build performance and caching
582
564
  - Better error reporting with code frames
583
565
  - Improved TypeScript integration
@@ -585,6 +567,7 @@
585
567
  - New development server features
586
568
 
587
569
  ### Links
570
+
588
571
  - [Vite 7.1.5 Release Notes](https://github.com/vitejs/vite/releases/tag/v7.1.5)
589
572
  - [Vite 7.x Migration Guide](https://vitejs.dev/guide/migration)
590
573
 
@@ -593,14 +576,17 @@
593
576
  - [#3389](https://github.com/equinor/fusion-framework/pull/3389) [`db19291`](https://github.com/equinor/fusion-framework/commit/db192912ec35b41a10f0324ee70ecc85a686d4fa) Thanks [@dependabot](https://github.com/apps/dependabot)! - chore: bump ora from 8.2.0 to 9.0.0
594
577
 
595
578
  ### Breaking Changes
579
+
596
580
  - ora v9.0.0 now requires Node.js 20+ (previously supported older versions)
597
581
 
598
582
  ### New Features
583
+
599
584
  - Fix clearing in some cases
600
585
  - Fix `frame()` not displaying dynamic `prefixText`/`suffixText` from functions
601
586
  - Fix multiline text exceeding console height leaving garbage when scrolling
602
587
 
603
588
  ### Links
589
+
604
590
  - [GitHub releases](https://github.com/sindresorhus/ora/releases/tag/v9.0.0)
605
591
  - [npm changelog](https://www.npmjs.com/package/ora?activeTab=versions)
606
592
 
@@ -609,15 +595,18 @@
609
595
  Major version update of Vitest coverage package for CLI testing.
610
596
 
611
597
  ### Breaking Changes
598
+
612
599
  - Updated from @vitest/coverage-v8 v2 to v3
613
600
  - Coverage reporting may have configuration changes
614
601
 
615
602
  ### New Features
603
+
616
604
  - Enhanced coverage reporting capabilities
617
605
  - Improved test performance
618
606
  - Better error handling and reporting
619
607
 
620
608
  ### Links
609
+
621
610
  - [Vitest v3.2.4 Release Notes](https://github.com/vitest-dev/vitest/releases/tag/v3.2.4)
622
611
  - [Vitest v3 Migration Guide](https://vitest.dev/guide/migration.html)
623
612
  - [Coverage v8 Documentation](https://vitest.dev/guide/coverage.html)
@@ -632,11 +621,13 @@
632
621
  ### Patch Changes
633
622
 
634
623
  - [#3379](https://github.com/equinor/fusion-framework/pull/3379) [`96d319c`](https://github.com/equinor/fusion-framework/commit/96d319c64e2ccb0ad080d633b74b76cbc4f48083) Thanks [@dependabot](https://github.com/apps/dependabot)! - Updated inquirer dependency from 12.9.4 to 12.9.6
624
+
635
625
  - Updated inquirer to latest patch version 12.9.6
636
626
  - Includes bug fixes and performance improvements
637
627
  - No breaking changes in this patch update
638
628
 
639
629
  - [#3381](https://github.com/equinor/fusion-framework/pull/3381) [`bae9c95`](https://github.com/equinor/fusion-framework/commit/bae9c9554f335d0384b864436874bded47d00ed8) Thanks [@dependabot](https://github.com/apps/dependabot)! - Update rollup from 4.46.3 to 4.50.2
630
+
640
631
  - Updated rollup dependency to latest patch version
641
632
  - Includes bug fixes for tree-shaking array destructuring patterns
642
633
  - Performance improvements and platform support updates
@@ -645,6 +636,7 @@
645
636
  - [#2910](https://github.com/equinor/fusion-framework/pull/2910) [`07cc985`](https://github.com/equinor/fusion-framework/commit/07cc9857e1427b574e011cc319518e701dba784d) Thanks [@dependabot](https://github.com/apps/dependabot)! - Updated vitest from 2.1.9 to 3.2.4 across all packages.
646
637
 
647
638
  ## Breaking Changes
639
+
648
640
  - **Node.js Requirements**: Requires Node.js 18+ (already satisfied)
649
641
  - **Vite Compatibility**: Updated to work with Vite 7.x (already using Vite 7.1.5)
650
642
  - **Snapshot Format**: Snapshots now use backtick quotes (\`) instead of single quotes
@@ -652,15 +644,18 @@
652
644
  - **TypeScript Support**: Enhanced TypeScript integration and type definitions
653
645
 
654
646
  ## Security Updates
647
+
655
648
  - CVE-2025-24963: Browser mode serves arbitrary files (fixed in 2.1.9)
656
649
  - CVE-2025-24964: Remote Code Execution vulnerability (fixed in 2.1.9)
657
650
 
658
651
  ## Migration Notes
652
+
659
653
  - Test snapshots may need regeneration due to quote format changes
660
654
  - Some test configurations might need updates for new TypeScript support
661
655
  - Peer dependency warnings for @vitest/coverage-v8 are expected and safe to ignore
662
656
 
663
657
  ## Links
658
+
664
659
  - [Vitest 3.0 Migration Guide](https://vitest.dev/guide/migration)
665
660
  - [Vitest 3.2.4 Release Notes](https://github.com/vitest-dev/vitest/releases/tag/v3.2.4)
666
661
 
@@ -677,6 +672,7 @@
677
672
  - [#3377](https://github.com/equinor/fusion-framework/pull/3377) [`70638da`](https://github.com/equinor/fusion-framework/commit/70638da56c0dad3f349a2d063e8d8bcea3b71b12) Thanks [@odinr](https://github.com/odinr)! - Add comprehensive create app command for generating Fusion applications from templates.
678
673
 
679
674
  **New Features**
675
+
680
676
  - Added `ffc create app <name>` command with interactive template selection
681
677
  - Supports both `ffc create app` and `ffc app create` command patterns for improved flexibility
682
678
  - Includes template validation and interactive prompts using inquirer
@@ -684,11 +680,13 @@
684
680
  - Implemented modular helper functions for each step of app creation
685
681
 
686
682
  **Template Support**
683
+
687
684
  - Supports both bare and basic application templates from fusion-app-template repository
688
685
  - Includes template validation and interactive prompts using inquirer
689
686
  - Added comprehensive template repository system with schema validation
690
687
 
691
688
  **Developer Experience**
689
+
692
690
  - Added IDE integration with automatic project opening
693
691
  - Includes dependency management and dev server startup
694
692
  - Added comprehensive documentation with examples and best practices
@@ -696,6 +694,7 @@
696
694
  - Added GitHub template integration links for alternative app creation methods
697
695
 
698
696
  **Error Handling & Reliability**
697
+
699
698
  - Enhanced error handling for spawn operations in IDE opening and dev server startup
700
699
  - Migrated to execa for automatic process cleanup and better signal handling
701
700
  - Fixed misleading success messages by wrapping template copy operations in try-catch blocks
@@ -704,12 +703,14 @@
704
703
  - Enhanced TSDoc documentation and inline comments across helper functions
705
704
 
706
705
  **Dependencies**
706
+
707
707
  - Added new dependencies: `inquirer`, `@types/inquirer`, and `execa` for enhanced CLI experience
708
708
  - Migrated process spawning from native child_process to execa for better process management
709
709
 
710
710
  The new command provides an intuitive way for developers to bootstrap new Fusion applications using predefined templates from the ecosystem while maintaining backward compatibility and providing robust error handling.
711
711
 
712
712
  - [#3377](https://github.com/equinor/fusion-framework/pull/3377) [`70638da`](https://github.com/equinor/fusion-framework/commit/70638da56c0dad3f349a2d063e8d8bcea3b71b12) Thanks [@odinr](https://github.com/odinr)! - Add workspace dependency resolution to create app command
713
+
713
714
  - Added `updatePackageJson` helper for updating package.json with app name and resolving workspace dependencies
714
715
  - Added `resolve-workspace-dependencies` helper to convert workspace:^ dependencies to npm versions
715
716
  - Added `package-info` utility for fetching package metadata from npm registry
@@ -724,21 +725,25 @@
724
725
  - [#3377](https://github.com/equinor/fusion-framework/pull/3377) [`70638da`](https://github.com/equinor/fusion-framework/commit/70638da56c0dad3f349a2d063e8d8bcea3b71b12) Thanks [@odinr](https://github.com/odinr)! - Enhanced CLI security with path validation and improved error handling for create command.
725
726
 
726
727
  ## New Features
728
+
727
729
  - **Path Security Validation**: Added `validateSafePath()` function to prevent path traversal attacks
728
730
  - **Safe Directory Operations**: Added `safeRmSync()` function for secure directory removal
729
731
  - **Enhanced Error Messages**: Improved user-friendly error messages with visual indicators
730
732
 
731
733
  ## Security Improvements
734
+
732
735
  - **Path Traversal Protection**: Prevents users from specifying paths outside the current working directory
733
736
  - **Input Validation**: Validates target paths before performing file system operations
734
737
  - **Safe Cleanup**: Directory removal operations now validate paths before execution
735
738
 
736
739
  ## User Experience
740
+
737
741
  - **Better Error Messages**: Clear, actionable error messages with ❌ and 💡 indicators
738
742
  - **Helpful Guidance**: Users get specific suggestions when path validation fails
739
743
  - **Clean Error Handling**: No more messy stack traces for path-related errors
740
744
 
741
745
  ## Technical Details
746
+
742
747
  - Uses `is-path-inside` library for robust path validation
743
748
  - Integrates path security into `checkTargetDirectory` helper
744
749
  - Maintains backward compatibility with existing functionality
@@ -747,6 +752,7 @@
747
752
  - [`7983d30`](https://github.com/equinor/fusion-framework/commit/7983d302f5269d70646c3c5231944b8081844e86) Thanks [@odinr](https://github.com/odinr)! - **Note:** This changeset documents changes that were already implemented and released in [PR #3341](https://github.com/equinor/fusion-framework/pull/3341) (merged 2025-09-05) and included in the [🤖 Bip Bop - Fusion Framework Release](https://github.com/equinor/fusion-framework/pull/3342) (merged 2025-09-08). This changeset serves as a historical record and comprehensive documentation of the CLI tag command improvements, ensuring the changelog contains detailed information about the breaking changes, migration path, and technical details that may be referenced by users upgrading or troubleshooting CLI issues.
748
753
 
749
754
  Fixed `--version` flag conflict in CLI tag commands and improved API consistency.
755
+
750
756
  - **Fixed:** Resolved conflict between custom `--version` option and Commander's built-in `--version` flag that displays CLI version
751
757
  - **Refactored:** Replaced separate `--appKey`/`--version` options with unified `--package name@version` syntax for both `app tag` and `portal tag` commands
752
758
  - **Improved:** Enhanced error handling with clear validation messages for package format
@@ -755,6 +761,7 @@
755
761
 
756
762
  **Breaking Changes:**
757
763
  This introduces a breaking change to the CLI API by removing the `--version` and `--appKey` options in favor of the `--package` option. However, we're releasing this as a patch since:
764
+
758
765
  1. The `--version` flag never worked properly due to the conflict with Commander's built-in version flag
759
766
  2. The old API was fundamentally broken and unusable
760
767
  3. Limited adoption in production environments means minimal impact
@@ -763,6 +770,7 @@
763
770
  - The Fusion App Admin UI (graphical interface for release management)
764
771
 
765
772
  **Migration:**
773
+
766
774
  - Old: `fusion-framework-cli app tag --appKey my-app --version 1.2.3 latest`
767
775
  - New: `fusion-framework-cli app tag --package my-app@1.2.3 latest`
768
776
 
@@ -773,6 +781,7 @@
773
781
  **Fixes:** https://github.com/equinor/fusion/issues/652
774
782
 
775
783
  - [#3377](https://github.com/equinor/fusion-framework/pull/3377) [`70638da`](https://github.com/equinor/fusion-framework/commit/70638da56c0dad3f349a2d063e8d8bcea3b71b12) Thanks [@odinr](https://github.com/odinr)! - Add git repository validation utilities to CLI package.
784
+
776
785
  - Added `isGitDir` utility function to check if a directory is a valid git repository
777
786
  - Added `assertGitRepository` assertion function for git repository validation
778
787
  - Enhanced assert utilities with git repository checking capabilities
@@ -784,6 +793,7 @@
784
793
  ### Minor Changes
785
794
 
786
795
  - [#3362](https://github.com/equinor/fusion-framework/pull/3362) [`6151ff4`](https://github.com/equinor/fusion-framework/commit/6151ff429fc5dc221a4cb43f11362cf39c2a3136) Thanks [@odinr](https://github.com/odinr)! - Added comprehensive dev-server documentation with architecture overview and configuration guide.
796
+
787
797
  - Added new `docs/dev-server.md` with complete dev-server documentation
788
798
  - Updated README.md to include dev-server documentation link
789
799
  - Covers dev-server features, architecture, configuration, and troubleshooting
@@ -791,6 +801,7 @@
791
801
  ### Patch Changes
792
802
 
793
803
  - [#3345](https://github.com/equinor/fusion-framework/pull/3345) [`0b53fa8`](https://github.com/equinor/fusion-framework/commit/0b53fa8dcd31b0b333a172bfcc15b342c5548bf9) Thanks [@odinr](https://github.com/odinr)! - Documented missing breaking change for Vite configuration file naming in CLI v11 migration guide and changelog.
804
+
794
805
  - Added detailed explanation of `app.vite.config.ts` → `vite.config.ts` file naming change
795
806
  - Emphasized that `vite.config.ts` should be a last resort for custom setups
796
807
  - Recommended using `dev-server.config.js` instead to avoid unexpected behavior
@@ -807,6 +818,7 @@
807
818
  ### Patch Changes
808
819
 
809
820
  - [#3356](https://github.com/equinor/fusion-framework/pull/3356) [`2e47652`](https://github.com/equinor/fusion-framework/commit/2e47652aba8ab14dea62307953666d8f136d7ca0) Thanks [@odinr](https://github.com/odinr)! - Fix SemVer 2.0 compliance issue where build metadata was stripped from package versions.
821
+
810
822
  - Disabled built-in normalization in `read-package-up` to preserve version build metadata
811
823
  - Added manual package data normalization using `normalize-package-data` library
812
824
  - Preserves original version with build metadata (e.g., `11.8.0+commit`) in app manifests
@@ -824,6 +836,7 @@
824
836
  ### Patch Changes
825
837
 
826
838
  - [#3341](https://github.com/equinor/fusion-framework/pull/3341) [`cd09bef`](https://github.com/equinor/fusion-framework/commit/cd09befcdab4162a38d4dfd14f280ce228ea97d9) Thanks [@odinr](https://github.com/odinr)! - Added `--silent` option to the `disco resolve` command to disable CLI logger output and only output structured JSON results for piping.
839
+
827
840
  - Added `--silent` flag that completely disables the CLI logger and all logging output
828
841
  - Only outputs the resolved service details as JSON when silent mode is enabled
829
842
  - Enables piping the command output to other tools (e.g., `jq`, `grep`, etc.)
@@ -831,26 +844,31 @@
831
844
  - Cleaned up debug console.log statements
832
845
 
833
846
  - [#3341](https://github.com/equinor/fusion-framework/pull/3341) [`cd09bef`](https://github.com/equinor/fusion-framework/commit/cd09befcdab4162a38d4dfd14f280ce228ea97d9) Thanks [@odinr](https://github.com/odinr)! - Aligned portal dev command options with app dev command for consistency.
847
+
834
848
  - Standardized option format from short flags to long flags (--debug, --port)
835
849
  - Added --env option support for runtime environment configuration
836
850
  - Updated logging message to be portal-specific ("Starting portal in development mode...")
837
851
  - Enhanced startPortalDevServer function call to include env parameter
838
852
 
839
853
  - [#3343](https://github.com/equinor/fusion-framework/pull/3343) [`33054ac`](https://github.com/equinor/fusion-framework/commit/33054ac27b309e9d0301dd1f1d63639dac27f00b) Thanks [@odinr](https://github.com/odinr)! - Reorganized authentication documentation to improve maintainability and user experience.
854
+
840
855
  - Removed local `libsecret.md` documentation file
841
856
  - Updated all libsecret references to point to centralized MSAL Node module documentation
842
857
  - Enhanced authentication guide with cross-references to underlying module documentation
843
858
  - Improved documentation structure by consolidating authentication docs in the appropriate module packages
844
859
 
845
860
  **Migration Notes:**
861
+
846
862
  - libsecret installation guide is now available at: https://equinor.github.io/fusion-framework/modules/auth/msal-node/docs/libsecret.html
847
863
  - All authentication-related documentation is now centralized in the MSAL Node module package
848
864
 
849
865
  - [#3341](https://github.com/equinor/fusion-framework/pull/3341) [`cd09bef`](https://github.com/equinor/fusion-framework/commit/cd09befcdab4162a38d4dfd14f280ce228ea97d9) Thanks [@odinr](https://github.com/odinr)! - Fixed missing `env` parameter in `buildApplication` call within `bundleApp` function.
866
+
850
867
  - Added the required `env` parameter to the `buildApplication` function call in `packages/cli/src/bin/app-pack.ts`
851
868
  - This ensures the build process receives the correct runtime environment configuration
852
869
 
853
870
  - [#3341](https://github.com/equinor/fusion-framework/pull/3341) [`cd09bef`](https://github.com/equinor/fusion-framework/commit/cd09befcdab4162a38d4dfd14f280ce228ea97d9) Thanks [@odinr](https://github.com/odinr)! - Fixed stdout concatenation issues in CLI commands that output JSON to stdout.
871
+
854
872
  - Replaced `stdout.write()` with `console.log()` for proper newline handling in:
855
873
  - `ffc app manifest` command
856
874
  - `ffc app config` command
@@ -862,6 +880,7 @@
862
880
  These changes ensure that shell prompts no longer concatenate to JSON output, making the commands safe to pipe to tools like `jq`.
863
881
 
864
882
  - [#3341](https://github.com/equinor/fusion-framework/pull/3341) [`cd09bef`](https://github.com/equinor/fusion-framework/commit/cd09befcdab4162a38d4dfd14f280ce228ea97d9) Thanks [@odinr](https://github.com/odinr)! - Enhanced CLI command documentation and help text across all commands.
883
+
865
884
  - Updated command examples to use `ffc` (alias) instead of `fusion-framework-cli`
866
885
  - Improved TSDoc comments with comprehensive descriptions and examples
867
886
  - Streamlined help text by removing redundant information and improving formatting
@@ -881,6 +900,7 @@
881
900
  ### Patch Changes
882
901
 
883
902
  - [#3330](https://github.com/equinor/fusion-framework/pull/3330) [`3590104`](https://github.com/equinor/fusion-framework/commit/3590104bdf3bba3386cdec7e2692078e6a92bd01) Thanks [@odinr](https://github.com/odinr)! - Enhanced Vite configuration with improved TypeScript path resolution and centralized config loading.
903
+
884
904
  - Added `vite-tsconfig-paths` plugin for better TypeScript path resolution in development
885
905
  - Refactored app and portal dev servers to use centralized `loadViteConfig` function
886
906
  - Improved Vite config merging with `mergeConfigVite` for better configuration management
@@ -979,12 +999,14 @@
979
999
  ### Patch Changes
980
1000
 
981
1001
  - [#3271](https://github.com/equinor/fusion-framework/pull/3271) [`7832bd7`](https://github.com/equinor/fusion-framework/commit/7832bd78843621ca95373596761bec29d4bdbbb8) Thanks [@dependabot](https://github.com/apps/dependabot)! - Update dependency `chalk` to ^5.6.0
1002
+
982
1003
  - Updated `chalk` to version ^5.6.0 in root, CLI, and log utils packages.
983
1004
  - No breaking changes expected.
984
1005
 
985
1006
  See [chalk changelog](https://github.com/chalk/chalk/releases) for details.
986
1007
 
987
1008
  - [#3309](https://github.com/equinor/fusion-framework/pull/3309) [`29efd10`](https://github.com/equinor/fusion-framework/commit/29efd10c48f9d11ba5aa7246d3217c5ea81ddc14) Thanks [@odinr](https://github.com/odinr)! - - Removed all YAML/Markdown frontmatter blocks from CLI documentation files in `/packages/cli/docs` and `/packages/cli/README.md` for a cleaner, more maintainable documentation source.
1009
+
988
1010
  - Updated all internal documentation links to use relative paths without leading `./` for consistency and compatibility with VuePress.
989
1011
  - Updated the `TODO.md` file to remove completed or obsolete tasks and clarify remaining todos.
990
1012
 
@@ -999,6 +1021,7 @@
999
1021
  ### Major Changes
1000
1022
 
1001
1023
  - [#3075](https://github.com/equinor/fusion-framework/pull/3075) [`8fffbfb`](https://github.com/equinor/fusion-framework/commit/8fffbfb12daa9748bf5290e5084cd4d409aed253) Thanks [@odinr](https://github.com/odinr)! - **Major Changes**
1024
+
1002
1025
  - **Rewrite:** The CLI has been rewritten to use Fusion Framework internally, minimizing dependencies and improving performance. It is now a first-class citizen in the Fusion Framework ecosystem, providing a more consistent and integrated experience.
1003
1026
  - **Dev Portal Modularization:** The dev portal has been moved to a separate package `@equinor/fusion-framework-dev-server`, enabling modular architecture and independent updates. The dev portal can be configured via `dev-server.config.js` and supports live preview and API mocking.
1004
1027
  - **Command Structure:** CLI is now divided into three main groups: `bin` (executable functions), `commands` (CLI commands), and `lib` (for consumers, config, and utilities). This improves organization and modularity.
@@ -1010,18 +1033,22 @@
1010
1033
  - **New Utility Functions:** The CLI now includes new utility modules for resolving CI/CD metadata (GitHub Actions, Azure DevOps), git commit and remote info, and package metadata. These utilities support advanced scripting and automation scenarios.
1011
1034
 
1012
1035
  **Minor Changes**
1036
+
1013
1037
  - **Portal Config Support:** Added helpers for loading and resolving portal configuration files, with new types and utilities for authoring static or dynamic portal configs. Dev server logic updated to use resolved portal config.
1014
1038
  - **Manifest Refactor:** Portal manifest now uses `name` and `templateEntry` for consistency with app manifests. Dev server config and routing updated. Asset paths now use `/@fs` for local development. Improved type safety and schema validation.
1015
1039
  - **ESM Modernization:** Refactored CLI to use deepmerge instead of lodash.mergewith, updated all imports to use explicit `.js` extensions, and re-exported all bin entrypoints for ESM compatibility. Updated package.json and tsconfig.json for ESM.
1016
1040
 
1017
1041
  **Patch Changes**
1042
+
1018
1043
  - **Dev Server Config:** Refactored config loading and merging, added `RecursivePartial` type, custom array merge strategy, and improved documentation. Arrays of route objects are now merged by `match` property to ensure uniqueness.
1019
1044
  - **Node Version Check:** Added Node.js version check and LTS recommendation to CLI entrypoint. Build config injects version info via environment variables.
1020
1045
 
1021
1046
  **Other**
1047
+
1022
1048
  - Improved maintainability, type safety, and developer experience throughout the CLI and dev server packages.
1023
1049
 
1024
1050
  **Note:**
1051
+
1025
1052
  - The removal of Vite config and schema utilities is a breaking change for users who previously relied on CLI-provided defaults. Please migrate to custom configuration as needed.
1026
1053
  - The new utility modules are available for advanced use cases and automation, but do not affect most standard CLI usage.
1027
1054
  - If you are authoring an `app.config.ts` file, you now need to import the config helper as follows:
@@ -1035,12 +1062,14 @@
1035
1062
 
1036
1063
  +- See the CLI's [README](https://github.com/equinor/fusion-framework/blob/main/packages/cli/README.md) for a full overview, installation, and command reference.
1037
1064
  +- The [docs folder](https://github.com/equinor/fusion-framework/tree/main/packages/cli/docs) contains:
1065
+
1038
1066
  - - [Developing Apps](https://github.com/equinor/fusion-framework/blob/main/packages/cli/docs/application.md): Step-by-step guide to app setup, config, CI/CD, and best practices.
1039
1067
  - - [Developing Portals](https://github.com/equinor/fusion-framework/blob/main/packages/cli/docs/portal.md): Portal template development, manifest/schema, and deployment.
1040
1068
  - - [Authentication](https://github.com/equinor/fusion-framework/blob/main/packages/cli/docs/auth.md): Local and CI/CD authentication, MSAL, and secure token storage.
1041
1069
  - - [Migration Guide: v10 to v11](https://github.com/equinor/fusion-framework/blob/main/packages/cli/docs/migration-v10-to-v11.md): Breaking changes, deprecated commands, and upgrade steps.
1042
1070
  - - [libsecret setup](https://github.com/equinor/fusion-framework/blob/main/packages/cli/docs/libsecret.md): Secure credential storage for Linux users.
1043
1071
  +- For real-world examples, see the [cookbooks/](https://github.com/equinor/fusion-framework/tree/main/cookbooks) directory.
1072
+
1044
1073
  * Key usage notes:
1045
1074
  - All config and manifest files must use helpers from `@equinor/fusion-framework-cli/app`.
1046
1075
  - Use `fusion-framework-cli auth login` for local authentication; use `FUSION_TOKEN` for CI/CD.
@@ -1067,6 +1096,7 @@
1067
1096
  ### Patch Changes
1068
1097
 
1069
1098
  - [#3268](https://github.com/equinor/fusion-framework/pull/3268) [`7ef5afc`](https://github.com/equinor/fusion-framework/commit/7ef5afc96a8c2cebecedc85703be820d84e3885a) Thanks [@odinr](https://github.com/odinr)! - Fix: Improve type safety and error handling in `AppAssetExportPlugin` (app-assets plugin).
1099
+
1070
1100
  - Use `unknown as PluginContext` for type casting in `resolveId` and `emitAssetSync` calls.
1071
1101
  - Add null check and warning if asset emission fails.
1072
1102
  - Minor code style and safety improvements.
@@ -1113,15 +1143,18 @@
1113
1143
  ### Minor Changes
1114
1144
 
1115
1145
  - [#2930](https://github.com/equinor/fusion-framework/pull/2930) [`5da6b2d`](https://github.com/equinor/fusion-framework/commit/5da6b2d4cb7fb93ff3784753a0052d3362ab828d) Thanks [@odinr](https://github.com/odinr)! - **@equinor/fusion-framework-react:**
1146
+
1116
1147
  - Enhanced `useAppContextNavigation` to support custom context path extraction and generation. This allows for more flexible navigation handling based on application-specific requirements.
1117
1148
 
1118
1149
  **@equinor/fusion-framework-module-context:**
1150
+
1119
1151
  - Added support for custom context path extraction and generation in `ContextConfigBuilder`, `ContextProvider`, and `ContextModuleConfigurator`.
1120
1152
  - Introduced `setContextPathExtractor` and `setContextPathGenerator` methods in `ContextConfigBuilder` to allow developers to define custom logic for extracting and generating context paths.
1121
1153
  - Updated `ContextProvider` to utilize `extractContextIdFromPath` and `generatePathFromContext` from the configuration, enabling dynamic path handling.
1122
1154
  - Enhanced `ContextModuleConfigurator` to include `extractContextIdFromPath` and `generatePathFromContext` in the module configuration.
1123
1155
 
1124
1156
  If you are using `@equinor/fusion-framework-module-context` and need custom logic for context path handling:
1157
+
1125
1158
  1. Use `setContextPathExtractor` to define how to extract context IDs from paths.
1126
1159
  2. Use `setContextPathGenerator` to define how to generate paths based on context items.
1127
1160
 
@@ -1148,11 +1181,11 @@
1148
1181
  // Custom logic to generate path from context
1149
1182
  const path = contextProvider.generatePathFromContext?.(
1150
1183
  context,
1151
- location.pathname,
1184
+ location.pathname
1152
1185
  );
1153
1186
  return path ?? fallbackPathGenerator(context, location.pathname);
1154
1187
  }),
1155
- filter(Boolean),
1188
+ filter(Boolean)
1156
1189
  )
1157
1190
  .subscribe((path) => history.push(path));
1158
1191
  ```
@@ -1176,6 +1209,7 @@
1176
1209
  - [#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`
1177
1210
 
1178
1211
  - [#2890](https://github.com/equinor/fusion-framework/pull/2890) [`1ad39f5`](https://github.com/equinor/fusion-framework/commit/1ad39f509a33627f2ad877a4125386a80ab8f510) Thanks [@odinr](https://github.com/odinr)! - refactor: adhere to self-closing tags for components
1212
+
1179
1213
  - Updated `SelectorPage.tsx` to use self-closing tags for `PersonSelect` components.
1180
1214
  - Updated `Header.Actions.tsx` to use self-closing tags for `fwc-person-avatar` component.
1181
1215
  - Updated `FeatureSheetContent.tsx` to use self-closing tags for `Icon` and `Divider` components.
@@ -1285,10 +1319,12 @@
1285
1319
  - [#2661](https://github.com/equinor/fusion-framework/pull/2661) [`f60748b`](https://github.com/equinor/fusion-framework/commit/f60748b4f3980f00fa3aed131fef97513f1424c6) Thanks [@eikeland](https://github.com/eikeland)! - Added `noOpen` option to the development server configuration.
1286
1320
 
1287
1321
  **Modified files:**
1322
+
1288
1323
  - `packages/cli/src/bin/create-dev-serve.ts`
1289
1324
  - `packages/cli/src/bin/main.app.ts`
1290
1325
 
1291
1326
  **Changes:**
1327
+
1292
1328
  - Added `noOpen` boolean option to `createDevServer` function.
1293
1329
  - Updated the server configuration to conditionally open the app in the default browser based on the `noOpen` option.
1294
1330
  - Added `-n, --noOpen` option to the CLI command for starting the development server.
@@ -1334,6 +1370,7 @@
1334
1370
  ### Patch Changes
1335
1371
 
1336
1372
  - [#2612](https://github.com/equinor/fusion-framework/pull/2612) [`1f9da67`](https://github.com/equinor/fusion-framework/commit/1f9da67df85f466763788039c9f0df67164eb391) Thanks [@eikeland](https://github.com/eikeland)! - ### Changes
1373
+
1337
1374
  - Stopped using node:path join in app-proxy-plugin since it caused issues on windows
1338
1375
 
1339
1376
  ## 10.2.4
@@ -1345,6 +1382,7 @@
1345
1382
  `AppLoader.tsx`
1346
1383
 
1347
1384
  ### Changes
1385
+
1348
1386
  - Added import for last operator from rxjs/operators.
1349
1387
  - Updated the initialize subscription to use the last operator.
1350
1388
 
@@ -1353,6 +1391,7 @@
1353
1391
  ### Patch Changes
1354
1392
 
1355
1393
  - [#2591](https://github.com/equinor/fusion-framework/pull/2591) [`445760c`](https://github.com/equinor/fusion-framework/commit/445760ce73e1d76303c83c367a394adfb5b7a479) Thanks [@eikeland](https://github.com/eikeland)! - ### Updated Dependencies:
1394
+
1356
1395
  - Updated @equinor/fusion-wc-person to ^3.0.5 in package.json.
1357
1396
 
1358
1397
  ## 10.2.2
@@ -1372,11 +1411,14 @@
1372
1411
  ### Minor Changes
1373
1412
 
1374
1413
  - [#2410](https://github.com/equinor/fusion-framework/pull/2410) [`9d1cb90`](https://github.com/equinor/fusion-framework/commit/9d1cb9003fa10e7ccaa95c20ef86f0a618034641) Thanks [@odinr](https://github.com/odinr)! - Updated Bookmark Integration in Dev Portal
1414
+
1375
1415
  - **Refactored `BookMarkSideSheet.tsx`:**
1416
+
1376
1417
  - Replaced `useHasBookmark` with `useCurrentAppModule<BookmarkModule>('bookmark')` for better module integration.
1377
1418
  - Updated button `disabled` state to use `bookmarkProvider?.hasBookmarkCreators`.
1378
1419
 
1379
1420
  - **Updated `Header.tsx`:**
1421
+
1380
1422
  - Added `useCurrentAppModule<BookmarkModule>('bookmark')` to manage bookmark module state.
1381
1423
  - Disabled bookmark button if `bookmarkProvider` is not available.
1382
1424
  - Passed `bookmarkProvider` to `BookmarkProvider` component.
@@ -1408,6 +1450,7 @@
1408
1450
  ### Patch Changes
1409
1451
 
1410
1452
  - [#2523](https://github.com/equinor/fusion-framework/pull/2523) [`e188193`](https://github.com/equinor/fusion-framework/commit/e188193a09802cfb74bd8aeaa8713b75b10a0638) Thanks [@eikeland](https://github.com/eikeland)! - ## changes:
1453
+
1411
1454
  - changing ci urls to new domain
1412
1455
 
1413
1456
  ## 10.0.2
@@ -1415,6 +1458,7 @@
1415
1458
  ### Patch Changes
1416
1459
 
1417
1460
  - [#2521](https://github.com/equinor/fusion-framework/pull/2521) [`65f03fa`](https://github.com/equinor/fusion-framework/commit/65f03fa01b71d387874dbe8ae21163c7c1c3d4b8) Thanks [@eikeland](https://github.com/eikeland)! - ### Adds CHANGELOG.md to app zip package
1461
+
1418
1462
  - Removed individual file additions for package.json, LICENSE.md, and README.md.
1419
1463
  - Added a loop to handle multiple files (package.json, LICENSE.md, README.md, CHANGELOG.md) in a more concise manner.
1420
1464
  - Updated the spinner messages accordingly.
@@ -1434,6 +1478,7 @@
1434
1478
  Introduces new parameters to the `build-config` command for publishing the app config to a build version.
1435
1479
 
1436
1480
  Commands:
1481
+
1437
1482
  - `build-pack` - Bundle the app for distribution
1438
1483
  - `-o, --output <output>` - Output directory for the packed app
1439
1484
  - `-a, --archive` - Archive name for the packed app
@@ -1494,6 +1539,7 @@
1494
1539
  ```
1495
1540
 
1496
1541
  **breaking changes:**
1542
+
1497
1543
  - renaming all commands accociated with build.
1498
1544
  - The app-config endpoints is now an object containing url and scopes, where name is the object key:
1499
1545
 
@@ -1514,10 +1560,12 @@
1514
1560
  ### Minor Changes
1515
1561
 
1516
1562
  - [#2494](https://github.com/equinor/fusion-framework/pull/2494) [`e11ad64`](https://github.com/equinor/fusion-framework/commit/e11ad64a42210443bdfd9ab9eb2fb95e7e345251) Thanks [@odinr](https://github.com/odinr)! - Introduced `proxyRequestLogger` to log proxy requests in the CLI.
1563
+
1517
1564
  - Show the request URL and method in the console when a proxy request is made.
1518
1565
  - Show proxy response status code
1519
1566
 
1520
1567
  - [#2494](https://github.com/equinor/fusion-framework/pull/2494) [`e11ad64`](https://github.com/equinor/fusion-framework/commit/e11ad64a42210443bdfd9ab9eb2fb95e7e345251) Thanks [@odinr](https://github.com/odinr)! - Create a plugin `externalPublicPlugin` to fix the issue with serving the `index.html` file from the specified external public directory. Vite mode `spa` will not serve the `index.html` file from the specified external public directory.
1568
+
1521
1569
  - Enhanced the middleware to intercept requests and serve the `index.html` file from the specified external public directory.
1522
1570
  - Transformed the HTML using Vite's `transformIndexHtml` method.
1523
1571
  - Applied appropriate content headers and additional configured headers before sending the response.
@@ -1534,6 +1582,7 @@
1534
1582
  ```
1535
1583
 
1536
1584
  - [#2494](https://github.com/equinor/fusion-framework/pull/2494) [`e11ad64`](https://github.com/equinor/fusion-framework/commit/e11ad64a42210443bdfd9ab9eb2fb95e7e345251) Thanks [@odinr](https://github.com/odinr)! - Updated commands in CLI to reflect purpose of the command:
1585
+
1537
1586
  - renamed `config` to `build-config` to generate build config of an application.
1538
1587
  - renamed `pack`to `build-pack` to bundle an application.
1539
1588
  - added `build-manifest` command to generate build manifest of an application.
@@ -1549,13 +1598,16 @@
1549
1598
  It sets up proxy rules for API and bundle requests and serves the app configuration and manifest based on the app key and version.
1550
1599
 
1551
1600
  Key Features:
1601
+
1552
1602
  1. Proxy Configuration:
1603
+
1553
1604
  - Proxies API calls to the Fusion apps backend.
1554
1605
  - Proxies bundle requests to the Fusion apps backend.
1555
1606
  - Uses a base path `proxyPath` for proxying.
1556
1607
  - Captures and reuses authorization tokens for asset requests.
1557
1608
 
1558
1609
  2. **App Configuration and Manifest**:
1610
+
1559
1611
  - Serves the app configuration if the request matches the current app and version.
1560
1612
  - Serves the app manifest if the request matches the current app.
1561
1613
 
@@ -1632,6 +1684,7 @@
1632
1684
  - [#2494](https://github.com/equinor/fusion-framework/pull/2494) [`e11ad64`](https://github.com/equinor/fusion-framework/commit/e11ad64a42210443bdfd9ab9eb2fb95e7e345251) Thanks [@odinr](https://github.com/odinr)! - Updating fusion-wc-person to fix issues when using selectedPerson = null in PersonSelect component.
1633
1685
 
1634
1686
  Updated the following dependencies
1687
+
1635
1688
  - `@equinor/fusion-wc-person` from `^3.0.1` to `^3.0.3` in `packages/cli/package.json` and `packages/react/components/people-resolver/package.json`.
1636
1689
 
1637
1690
  - [#2494](https://github.com/equinor/fusion-framework/pull/2494) [`e11ad64`](https://github.com/equinor/fusion-framework/commit/e11ad64a42210443bdfd9ab9eb2fb95e7e345251) Thanks [@odinr](https://github.com/odinr)! - Generated base manifest from package will now include `StandardIncludeAssetExtensions` as `allowedExtensions`
@@ -1643,6 +1696,7 @@
1643
1696
  - [#2493](https://github.com/equinor/fusion-framework/pull/2493) [`4839295`](https://github.com/equinor/fusion-framework/commit/4839295263f07704bc43930351ce34dfb27a4c81) Thanks [@eikeland](https://github.com/eikeland)! - Updating fusion-wc-person to fix issues when using selectedPerson = null in PersonSelect component.
1644
1697
 
1645
1698
  Updated the following dependencies
1699
+
1646
1700
  - `@equinor/fusion-wc-person` from `^3.0.1` to `^3.0.3` in `packages/cli/package.json` and `packages/react/components/people-resolver/package.json`.
1647
1701
 
1648
1702
  - Updated dependencies [[`4839295`](https://github.com/equinor/fusion-framework/commit/4839295263f07704bc43930351ce34dfb27a4c81)]:
@@ -1662,6 +1716,7 @@
1662
1716
 
1663
1717
  > [!NOTE]
1664
1718
  > This is a quick fix until the new major version of the CLI is released.
1719
+
1665
1720
  - Updated the `baseUri` to use a more specific URL path for service discovery.
1666
1721
  - Changed from `new URL(import.meta.url).origin` to `String(new URL('/_discovery/environments/current', import.meta.url))`.
1667
1722
  - Changed parsing of service discovery response to match new API format.
@@ -1723,6 +1778,7 @@
1723
1778
  - [#2350](https://github.com/equinor/fusion-framework/pull/2350) [`960ca34`](https://github.com/equinor/fusion-framework/commit/960ca34cae26f386e28c16bac00e7932f4f9199a) Thanks [@dependabot](https://github.com/apps/dependabot)! - build(deps): bump @equinor/eds-core-react from 0.38.0 to 0.40.1
1724
1779
 
1725
1780
  - [#2360](https://github.com/equinor/fusion-framework/pull/2360) [`1c7ac1b`](https://github.com/equinor/fusion-framework/commit/1c7ac1b42213f33a668e79d750e0b12b227a7052) Thanks [@eikeland](https://github.com/eikeland)! - Enhanced ContextSelector component in the CLI package:
1781
+
1726
1782
  - Implemented responsive context clearing mechanism
1727
1783
  - Improved handling of context selection and clearing events
1728
1784
  - Optimized component rendering with useMemo and useCallback hooks
@@ -1766,6 +1822,7 @@
1766
1822
  - [#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.
1767
1823
 
1768
1824
  Removing the `removeComments` option allows TypeScript to preserve comments in the compiled JavaScript output. This can be beneficial for several reasons:
1825
+
1769
1826
  1. Improved debugging: Preserved comments can help developers understand the code better during debugging sessions.
1770
1827
  2. Documentation: JSDoc comments and other important code documentation will be retained in the compiled output.
1771
1828
  3. Source map accuracy: Keeping comments can lead to more accurate source maps, which is crucial for debugging and error tracking.
@@ -1884,6 +1941,7 @@
1884
1941
  ### Patch Changes
1885
1942
 
1886
1943
  - [#2107](https://github.com/equinor/fusion-framework/pull/2107) [`491c2e0`](https://github.com/equinor/fusion-framework/commit/491c2e05a2383dc7aa310f11ba6f7325a69e7197) Thanks [@odinr](https://github.com/odinr)! - Fixed issue with missing process env `FUSION_LOG_LEVEL`
1944
+
1887
1945
  - added default resolve value when generating base vite configuration
1888
1946
  - moved default query log level resolve outside class
1889
1947
 
@@ -2051,6 +2109,7 @@
2051
2109
  ### Patch Changes
2052
2110
 
2053
2111
  - [#1878](https://github.com/equinor/fusion-framework/pull/1878) [`fe1a239`](https://github.com/equinor/fusion-framework/commit/fe1a239e9ce9fc0e39b4faf67ffda40d287d5bd2) Thanks [@asbjornhaland](https://github.com/asbjornhaland)! - - Add error icon for errors
2112
+
2054
2113
  - Add info icon for no result
2055
2114
 
2056
2115
  - [#1875](https://github.com/equinor/fusion-framework/pull/1875) [`e018c6e`](https://github.com/equinor/fusion-framework/commit/e018c6e5b5f8676b642ded1bb8b5b41bc65f674f) Thanks [@asbjornhaland](https://github.com/asbjornhaland)! - Show message when unhandled error occurs in context selector
@@ -2386,6 +2445,7 @@
2386
2445
  ### Patch Changes
2387
2446
 
2388
2447
  - [#1348](https://github.com/equinor/fusion-framework/pull/1348) [`0acc8827`](https://github.com/equinor/fusion-framework/commit/0acc8827e5e2df8b5b2aeac5e1a2cd29c4384e78) Thanks [@dependabot](https://github.com/apps/dependabot)! - build(deps): bump @equinor/eds-core-react from 0.32.4 to 0.33.0
2448
+
2389
2449
  - support for [styled-components@6](https://styled-components.com/releases#v6.0.0)
2390
2450
 
2391
2451
  ## 9.1.3
@@ -2483,6 +2543,7 @@
2483
2543
  > the CLI was thrown together as a proof of concept, but grown un-manageable, because of lack of structure
2484
2544
 
2485
2545
  **Main Features**
2546
+
2486
2547
  - Separate logic and utilities from program (app/cli commands)
2487
2548
  - allow user to provide config files `app.{config,manifest,vite}.{ts,js,json}`
2488
2549
  - the cli will try to resolve from `.ts` then `.js` then `.json`
@@ -2515,7 +2576,7 @@
2515
2576
  },
2516
2577
  },
2517
2578
  },
2518
- }),
2579
+ })
2519
2580
  );
2520
2581
  ```
2521
2582
 
@@ -2592,6 +2653,7 @@
2592
2653
 
2593
2654
  align CLI with EDS and use style components instead of emotion 🥲
2594
2655
  prevent conflict of react types dependent on both emotion and eds
2656
+
2595
2657
  - remove @emotion/\*
2596
2658
  - convert emotion to styled-components
2597
2659
  - fix styling of cli
@@ -2627,6 +2689,7 @@
2627
2689
  see [react changelog](https://github.com/facebook/react/releases) for details
2628
2690
 
2629
2691
  - [#1122](https://github.com/equinor/fusion-framework/pull/1122) [`1a055b21`](https://github.com/equinor/fusion-framework/commit/1a055b21e07f84bc5d35cc891586aa9aa0bdf661) Thanks [@dependabot](https://github.com/apps/dependabot)! - Update styled-components to [^6.0.7](https://github.com/styled-components/styled-components/releases/tag/v6.0.7)
2692
+
2630
2693
  - upgraded dev deps of `@equinor/fusion-framework-react-components-bookmark` to react 18, see style-components [changelog](https://github.com/styled-components/styled-components/releases/tag/v6.0.0)
2631
2694
  - removed `@types/style-components` from `@equinor/fusion-framework-react-components-bookmark`
2632
2695
 
@@ -2704,6 +2767,7 @@
2704
2767
  both `"main": "src/index.ts"` and `"main": "/src/index.ts"` will resolve.
2705
2768
 
2706
2769
  - [#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**
2770
+
2707
2771
  - align all versions of typescript
2708
2772
  - update types to build
2709
2773
  - 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