@equinor/fusion-framework-cli 12.4.6 → 12.5.0-next.0

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,5 +1,72 @@
1
1
  # Change Log
2
2
 
3
+ ## 12.5.0-next.0
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.
28
+
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.
30
+
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
34
+
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.
36
+
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
+ ```
56
+
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.
58
+
59
+ ### Patch Changes
60
+
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
69
+
3
70
  ## 12.4.6
4
71
 
5
72
  ### Patch Changes
@@ -68,7 +135,6 @@
68
135
  Portal tagging functionality has been enhanced to accept any string value for tags instead of being restricted to predefined enum values.
69
136
 
70
137
  **Breaking Changes**
71
-
72
138
  - **Removed `AllowedPortalTags` enum**: The enum that previously restricted portal tags to only `'latest'` and `'preview'` has been removed.
73
139
  - **No longer exported**: `AllowedPortalTags` is no longer exported from `@equinor/fusion-framework-cli/bin`.
74
140
 
@@ -103,13 +169,11 @@
103
169
  ```
104
170
 
105
171
  **Enhanced Documentation**
106
-
107
172
  - Updated CLI help text with practical examples
108
173
  - Added common tag examples (`latest`, `preview`, `next`, `stable`) in documentation
109
174
  - Maintained guidance while showing flexibility
110
175
 
111
176
  **Validation**
112
-
113
177
  - Tags must be non-empty strings
114
178
  - No other restrictions on tag format or content
115
179
  - Backward compatibility maintained for existing tag values
@@ -179,20 +243,17 @@
179
243
  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.
180
244
 
181
245
  **Changes:**
182
-
183
246
  - Updated Vite from v7.1.10 to v7.1.12
184
247
  - Includes security fix for development server file system checks
185
248
  - Includes compatibility fix for CommonJS plugin
186
249
  - No breaking changes or API modifications
187
250
 
188
251
  **Security Fix (v7.1.11):**
189
-
190
252
  - **dev**: trim trailing slash before `server.fs.deny` check ([#20968](https://github.com/vitejs/vite/issues/20968))
191
253
  - Prevents potential path traversal vulnerability in development server
192
254
  - Only affects development environment, not production builds
193
255
 
194
256
  **Bug Fix (v7.1.12):**
195
-
196
257
  - **deps**: downgrade commonjs plugin to 28.0.6 to avoid rollup/plugins issues ([#20990](https://github.com/vitejs/vite/issues/20990))
197
258
  - Improves compatibility with Rollup plugin ecosystem
198
259
  - Prevents potential build issues
@@ -214,12 +275,10 @@
214
275
  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.
215
276
 
216
277
  ### What Changed
217
-
218
278
  - Corrected parameter passing in `packages/cli/src/cli/commands/app/config.ts`
219
279
  - Changed `config: options.config` to `config` in the `publishAppConfig` call
220
280
 
221
281
  ### Impact
222
-
223
282
  - The `ffc app config --publish` command now correctly uses the provided config file argument
224
283
  - Fixes the issue where custom config files were not being passed to the publish function
225
284
  - No breaking changes to the CLI interface
@@ -234,7 +293,6 @@
234
293
  - [#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
235
294
 
236
295
  Bug fixes:
237
-
238
296
  - fix: resolve bare targets of package "imports" using export maps; avoid fileURLToPath(null)
239
297
  - fix: error thrown with empty entry
240
298
 
@@ -268,11 +326,9 @@
268
326
  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.
269
327
 
270
328
  **Changes:**
271
-
272
329
  - Added `is-mergeable-object@^1.1.1` to dependencies in `packages/cli/package.json`
273
330
 
274
331
  **Impact:**
275
-
276
332
  - Fixes "Cannot find module 'is-mergeable-object'" errors during app development
277
333
  - Ensures proper dependency resolution for CLI tools that use deepmerge functionality
278
334
  - No breaking changes - this is purely a dependency fix
@@ -282,13 +338,11 @@
282
338
  ### Patch Changes
283
339
 
284
340
  - [#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.
285
-
286
341
  - Created new `defaultHeaders` utility that includes CLI name, version, and user-agent
287
342
  - Updated app upload/tag operations to include default headers
288
343
  - Updated portal upload/tag operations to include default headers
289
344
 
290
345
  All HTTP requests from the CLI now include:
291
-
292
346
  - `X-Fusion-CLI-Name`: Identifies the CLI tool name
293
347
  - `X-Fusion-CLI-Version`: Specifies the CLI version making the request
294
348
  - `User-Agent`: Standard user agent header with CLI name and version
@@ -298,7 +352,6 @@
298
352
  Closes: #3539
299
353
 
300
354
  - [#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.
301
-
302
355
  - Added `cliVersion` property to `ReleaseAnnotations` type
303
356
  - Ensured annotations are always returned (removed undefined return type)
304
357
  - Added fallback annotations for local builds with default values
@@ -316,7 +369,6 @@
316
369
  ### Minor Changes
317
370
 
318
371
  - [#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)).
319
-
320
372
  - Added `/portal-proxy` service worker resource configuration to CLI dev server
321
373
  - Routes portal proxy requests to Fusion portal service API (`/@fusion-api/portal-config`)
322
374
  - Enhanced dev server creation with improved logging and error handling
@@ -328,7 +380,6 @@
328
380
  ### Patch Changes
329
381
 
330
382
  - [`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.
331
-
332
383
  - Modified `startAppDevServer` function in `app-dev.ts` to use host configuration from local Vite config
333
384
  - Changed hardcoded 'localhost' host to respect `localViteConfig.server?.host` with 'localhost' as fallback
334
385
  - Improved configuration loading by storing `localViteConfig` in a variable to avoid duplicate loading
@@ -353,7 +404,6 @@
353
404
  ref: [3548](https://github.com/equinor/fusion-framework/issues/3548)
354
405
 
355
406
  - [#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.
356
-
357
407
  - Added detailed portal proxy configuration section in dev-server-config.md
358
408
  - Documented portal proxy behavior, use cases, and benefits
359
409
  - Provided complete code examples for portal proxy setup
@@ -371,7 +421,6 @@
371
421
  ### Minor Changes
372
422
 
373
423
  - [#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.
374
-
375
424
  - Modified `checkApp` function to return boolean values instead of log results for better programmatic usage
376
425
  - Added handling for HTTP 410 status (deleted apps) in app registration checks
377
426
  - Added pre-flight app registration validation to `publish` and `upload` commands
@@ -387,7 +436,6 @@
387
436
  ### Patch Changes
388
437
 
389
438
  - [#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.
390
-
391
439
  - Added detailed `dev-server-config.md` documentation covering configuration options, API mocking, service discovery customization, and template environment overrides
392
440
  - Updated main `dev-server.md` documentation with improved architecture overview and configuration reference
393
441
  - Provided practical examples and troubleshooting guidance for dev-server configuration
@@ -414,7 +462,6 @@
414
462
  ### Patch Changes
415
463
 
416
464
  - [`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.
417
-
418
465
  - Changed workspace dependencies from `workspace:^` to `workspace:*` across CLI, dev-server, and SPA vite plugin packages
419
466
  - Ensures exact version resolution within the monorepo for predictable builds and releases
420
467
  - Affects both dependencies and devDependencies where applicable
@@ -435,7 +482,6 @@
435
482
  ### Minor Changes
436
483
 
437
484
  - [#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.
438
-
439
485
  - Added interactive prompt for users to choose between HTTPS and SSH protocols
440
486
  - Implemented intelligent SSH detection using both git config and filesystem checks
441
487
  - Removed automatic SSH-to-HTTPS fallback in favor of explicit user choice
@@ -463,7 +509,6 @@
463
509
  - [#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.
464
510
 
465
511
  - [#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
466
-
467
512
  - **v4.1.10**: Fixed shape caching issue (#5263) improving validation performance for complex schemas
468
513
  - **v4.1.11**: Maintenance release with general improvements
469
514
 
@@ -484,7 +529,6 @@
484
529
  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.
485
530
 
486
531
  Key changes in source code:
487
-
488
532
  - Fixed record schema definitions to use explicit key and value types (`z.record(z.string(), z.any())`)
489
533
  - Updated portal manifest schemas to use `message` instead of `description` for error messages
490
534
  - Simplified error message options format (removed `required_error`, `invalid_type_error` from options object)
@@ -494,14 +538,12 @@
494
538
  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.
495
539
 
496
540
  Links:
497
-
498
541
  - [Zod v4 Migration Guide](https://github.com/colinhacks/zod/releases/tag/v4.0.0)
499
542
  - [Zod v4.1.8 Release Notes](https://github.com/colinhacks/zod/releases/tag/v4.1.8)
500
543
 
501
544
  ### Patch Changes
502
545
 
503
546
  - [#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
504
-
505
547
  - Update app publish command description to clearly explain conditional building behavior
506
548
  - Add prominent note explaining when building occurs vs when it doesn't
507
549
  - Add complete portal publish command documentation (was missing)
@@ -522,24 +564,20 @@
522
564
  - [#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.
523
565
 
524
566
  ### Breaking Changes
525
-
526
567
  - Commander 14 requires Node.js v20 or higher (compatible with existing project requirements)
527
568
 
528
569
  ### New Features
529
-
530
570
  - Support for groups of options and commands in help
531
571
  - Support for unescaped negative numbers as arguments
532
572
  - Enhanced TypeScript support with parseArg property
533
573
 
534
574
  ### Links
535
-
536
575
  - [GitHub releases](https://github.com/tj/commander.js/releases/tag/v14.0.1)
537
576
  - [Changelog](https://github.com/tj/commander.js/blob/master/CHANGELOG.md)
538
577
 
539
578
  - [#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
540
579
 
541
580
  Major version update of Vite build tool across all packages. This update includes:
542
-
543
581
  - Enhanced build performance and caching
544
582
  - Better error reporting with code frames
545
583
  - Improved TypeScript integration
@@ -547,7 +585,6 @@
547
585
  - New development server features
548
586
 
549
587
  ### Links
550
-
551
588
  - [Vite 7.1.5 Release Notes](https://github.com/vitejs/vite/releases/tag/v7.1.5)
552
589
  - [Vite 7.x Migration Guide](https://vitejs.dev/guide/migration)
553
590
 
@@ -556,17 +593,14 @@
556
593
  - [#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
557
594
 
558
595
  ### Breaking Changes
559
-
560
596
  - ora v9.0.0 now requires Node.js 20+ (previously supported older versions)
561
597
 
562
598
  ### New Features
563
-
564
599
  - Fix clearing in some cases
565
600
  - Fix `frame()` not displaying dynamic `prefixText`/`suffixText` from functions
566
601
  - Fix multiline text exceeding console height leaving garbage when scrolling
567
602
 
568
603
  ### Links
569
-
570
604
  - [GitHub releases](https://github.com/sindresorhus/ora/releases/tag/v9.0.0)
571
605
  - [npm changelog](https://www.npmjs.com/package/ora?activeTab=versions)
572
606
 
@@ -575,18 +609,15 @@
575
609
  Major version update of Vitest coverage package for CLI testing.
576
610
 
577
611
  ### Breaking Changes
578
-
579
612
  - Updated from @vitest/coverage-v8 v2 to v3
580
613
  - Coverage reporting may have configuration changes
581
614
 
582
615
  ### New Features
583
-
584
616
  - Enhanced coverage reporting capabilities
585
617
  - Improved test performance
586
618
  - Better error handling and reporting
587
619
 
588
620
  ### Links
589
-
590
621
  - [Vitest v3.2.4 Release Notes](https://github.com/vitest-dev/vitest/releases/tag/v3.2.4)
591
622
  - [Vitest v3 Migration Guide](https://vitest.dev/guide/migration.html)
592
623
  - [Coverage v8 Documentation](https://vitest.dev/guide/coverage.html)
@@ -601,13 +632,11 @@
601
632
  ### Patch Changes
602
633
 
603
634
  - [#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
604
-
605
635
  - Updated inquirer to latest patch version 12.9.6
606
636
  - Includes bug fixes and performance improvements
607
637
  - No breaking changes in this patch update
608
638
 
609
639
  - [#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
610
-
611
640
  - Updated rollup dependency to latest patch version
612
641
  - Includes bug fixes for tree-shaking array destructuring patterns
613
642
  - Performance improvements and platform support updates
@@ -616,7 +645,6 @@
616
645
  - [#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.
617
646
 
618
647
  ## Breaking Changes
619
-
620
648
  - **Node.js Requirements**: Requires Node.js 18+ (already satisfied)
621
649
  - **Vite Compatibility**: Updated to work with Vite 7.x (already using Vite 7.1.5)
622
650
  - **Snapshot Format**: Snapshots now use backtick quotes (\`) instead of single quotes
@@ -624,18 +652,15 @@
624
652
  - **TypeScript Support**: Enhanced TypeScript integration and type definitions
625
653
 
626
654
  ## Security Updates
627
-
628
655
  - CVE-2025-24963: Browser mode serves arbitrary files (fixed in 2.1.9)
629
656
  - CVE-2025-24964: Remote Code Execution vulnerability (fixed in 2.1.9)
630
657
 
631
658
  ## Migration Notes
632
-
633
659
  - Test snapshots may need regeneration due to quote format changes
634
660
  - Some test configurations might need updates for new TypeScript support
635
661
  - Peer dependency warnings for @vitest/coverage-v8 are expected and safe to ignore
636
662
 
637
663
  ## Links
638
-
639
664
  - [Vitest 3.0 Migration Guide](https://vitest.dev/guide/migration)
640
665
  - [Vitest 3.2.4 Release Notes](https://github.com/vitest-dev/vitest/releases/tag/v3.2.4)
641
666
 
@@ -652,7 +677,6 @@
652
677
  - [#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.
653
678
 
654
679
  **New Features**
655
-
656
680
  - Added `ffc create app <name>` command with interactive template selection
657
681
  - Supports both `ffc create app` and `ffc app create` command patterns for improved flexibility
658
682
  - Includes template validation and interactive prompts using inquirer
@@ -660,13 +684,11 @@
660
684
  - Implemented modular helper functions for each step of app creation
661
685
 
662
686
  **Template Support**
663
-
664
687
  - Supports both bare and basic application templates from fusion-app-template repository
665
688
  - Includes template validation and interactive prompts using inquirer
666
689
  - Added comprehensive template repository system with schema validation
667
690
 
668
691
  **Developer Experience**
669
-
670
692
  - Added IDE integration with automatic project opening
671
693
  - Includes dependency management and dev server startup
672
694
  - Added comprehensive documentation with examples and best practices
@@ -674,7 +696,6 @@
674
696
  - Added GitHub template integration links for alternative app creation methods
675
697
 
676
698
  **Error Handling & Reliability**
677
-
678
699
  - Enhanced error handling for spawn operations in IDE opening and dev server startup
679
700
  - Migrated to execa for automatic process cleanup and better signal handling
680
701
  - Fixed misleading success messages by wrapping template copy operations in try-catch blocks
@@ -683,14 +704,12 @@
683
704
  - Enhanced TSDoc documentation and inline comments across helper functions
684
705
 
685
706
  **Dependencies**
686
-
687
707
  - Added new dependencies: `inquirer`, `@types/inquirer`, and `execa` for enhanced CLI experience
688
708
  - Migrated process spawning from native child_process to execa for better process management
689
709
 
690
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.
691
711
 
692
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
693
-
694
713
  - Added `updatePackageJson` helper for updating package.json with app name and resolving workspace dependencies
695
714
  - Added `resolve-workspace-dependencies` helper to convert workspace:^ dependencies to npm versions
696
715
  - Added `package-info` utility for fetching package metadata from npm registry
@@ -705,25 +724,21 @@
705
724
  - [#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.
706
725
 
707
726
  ## New Features
708
-
709
727
  - **Path Security Validation**: Added `validateSafePath()` function to prevent path traversal attacks
710
728
  - **Safe Directory Operations**: Added `safeRmSync()` function for secure directory removal
711
729
  - **Enhanced Error Messages**: Improved user-friendly error messages with visual indicators
712
730
 
713
731
  ## Security Improvements
714
-
715
732
  - **Path Traversal Protection**: Prevents users from specifying paths outside the current working directory
716
733
  - **Input Validation**: Validates target paths before performing file system operations
717
734
  - **Safe Cleanup**: Directory removal operations now validate paths before execution
718
735
 
719
736
  ## User Experience
720
-
721
737
  - **Better Error Messages**: Clear, actionable error messages with ❌ and 💡 indicators
722
738
  - **Helpful Guidance**: Users get specific suggestions when path validation fails
723
739
  - **Clean Error Handling**: No more messy stack traces for path-related errors
724
740
 
725
741
  ## Technical Details
726
-
727
742
  - Uses `is-path-inside` library for robust path validation
728
743
  - Integrates path security into `checkTargetDirectory` helper
729
744
  - Maintains backward compatibility with existing functionality
@@ -732,7 +747,6 @@
732
747
  - [`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.
733
748
 
734
749
  Fixed `--version` flag conflict in CLI tag commands and improved API consistency.
735
-
736
750
  - **Fixed:** Resolved conflict between custom `--version` option and Commander's built-in `--version` flag that displays CLI version
737
751
  - **Refactored:** Replaced separate `--appKey`/`--version` options with unified `--package name@version` syntax for both `app tag` and `portal tag` commands
738
752
  - **Improved:** Enhanced error handling with clear validation messages for package format
@@ -741,7 +755,6 @@
741
755
 
742
756
  **Breaking Changes:**
743
757
  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:
744
-
745
758
  1. The `--version` flag never worked properly due to the conflict with Commander's built-in version flag
746
759
  2. The old API was fundamentally broken and unusable
747
760
  3. Limited adoption in production environments means minimal impact
@@ -750,7 +763,6 @@
750
763
  - The Fusion App Admin UI (graphical interface for release management)
751
764
 
752
765
  **Migration:**
753
-
754
766
  - Old: `fusion-framework-cli app tag --appKey my-app --version 1.2.3 latest`
755
767
  - New: `fusion-framework-cli app tag --package my-app@1.2.3 latest`
756
768
 
@@ -761,7 +773,6 @@
761
773
  **Fixes:** https://github.com/equinor/fusion/issues/652
762
774
 
763
775
  - [#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.
764
-
765
776
  - Added `isGitDir` utility function to check if a directory is a valid git repository
766
777
  - Added `assertGitRepository` assertion function for git repository validation
767
778
  - Enhanced assert utilities with git repository checking capabilities
@@ -773,7 +784,6 @@
773
784
  ### Minor Changes
774
785
 
775
786
  - [#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.
776
-
777
787
  - Added new `docs/dev-server.md` with complete dev-server documentation
778
788
  - Updated README.md to include dev-server documentation link
779
789
  - Covers dev-server features, architecture, configuration, and troubleshooting
@@ -781,7 +791,6 @@
781
791
  ### Patch Changes
782
792
 
783
793
  - [#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.
784
-
785
794
  - Added detailed explanation of `app.vite.config.ts` → `vite.config.ts` file naming change
786
795
  - Emphasized that `vite.config.ts` should be a last resort for custom setups
787
796
  - Recommended using `dev-server.config.js` instead to avoid unexpected behavior
@@ -798,7 +807,6 @@
798
807
  ### Patch Changes
799
808
 
800
809
  - [#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.
801
-
802
810
  - Disabled built-in normalization in `read-package-up` to preserve version build metadata
803
811
  - Added manual package data normalization using `normalize-package-data` library
804
812
  - Preserves original version with build metadata (e.g., `11.8.0+commit`) in app manifests
@@ -816,7 +824,6 @@
816
824
  ### Patch Changes
817
825
 
818
826
  - [#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.
819
-
820
827
  - Added `--silent` flag that completely disables the CLI logger and all logging output
821
828
  - Only outputs the resolved service details as JSON when silent mode is enabled
822
829
  - Enables piping the command output to other tools (e.g., `jq`, `grep`, etc.)
@@ -824,31 +831,26 @@
824
831
  - Cleaned up debug console.log statements
825
832
 
826
833
  - [#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.
827
-
828
834
  - Standardized option format from short flags to long flags (--debug, --port)
829
835
  - Added --env option support for runtime environment configuration
830
836
  - Updated logging message to be portal-specific ("Starting portal in development mode...")
831
837
  - Enhanced startPortalDevServer function call to include env parameter
832
838
 
833
839
  - [#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.
834
-
835
840
  - Removed local `libsecret.md` documentation file
836
841
  - Updated all libsecret references to point to centralized MSAL Node module documentation
837
842
  - Enhanced authentication guide with cross-references to underlying module documentation
838
843
  - Improved documentation structure by consolidating authentication docs in the appropriate module packages
839
844
 
840
845
  **Migration Notes:**
841
-
842
846
  - libsecret installation guide is now available at: https://equinor.github.io/fusion-framework/modules/auth/msal-node/docs/libsecret.html
843
847
  - All authentication-related documentation is now centralized in the MSAL Node module package
844
848
 
845
849
  - [#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.
846
-
847
850
  - Added the required `env` parameter to the `buildApplication` function call in `packages/cli/src/bin/app-pack.ts`
848
851
  - This ensures the build process receives the correct runtime environment configuration
849
852
 
850
853
  - [#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.
851
-
852
854
  - Replaced `stdout.write()` with `console.log()` for proper newline handling in:
853
855
  - `ffc app manifest` command
854
856
  - `ffc app config` command
@@ -860,7 +862,6 @@
860
862
  These changes ensure that shell prompts no longer concatenate to JSON output, making the commands safe to pipe to tools like `jq`.
861
863
 
862
864
  - [#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.
863
-
864
865
  - Updated command examples to use `ffc` (alias) instead of `fusion-framework-cli`
865
866
  - Improved TSDoc comments with comprehensive descriptions and examples
866
867
  - Streamlined help text by removing redundant information and improving formatting
@@ -880,7 +881,6 @@
880
881
  ### Patch Changes
881
882
 
882
883
  - [#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.
883
-
884
884
  - Added `vite-tsconfig-paths` plugin for better TypeScript path resolution in development
885
885
  - Refactored app and portal dev servers to use centralized `loadViteConfig` function
886
886
  - Improved Vite config merging with `mergeConfigVite` for better configuration management
@@ -979,14 +979,12 @@
979
979
  ### Patch Changes
980
980
 
981
981
  - [#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
982
-
983
982
  - Updated `chalk` to version ^5.6.0 in root, CLI, and log utils packages.
984
983
  - No breaking changes expected.
985
984
 
986
985
  See [chalk changelog](https://github.com/chalk/chalk/releases) for details.
987
986
 
988
987
  - [#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.
989
-
990
988
  - Updated all internal documentation links to use relative paths without leading `./` for consistency and compatibility with VuePress.
991
989
  - Updated the `TODO.md` file to remove completed or obsolete tasks and clarify remaining todos.
992
990
 
@@ -1001,7 +999,6 @@
1001
999
  ### Major Changes
1002
1000
 
1003
1001
  - [#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**
1004
-
1005
1002
  - **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.
1006
1003
  - **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.
1007
1004
  - **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.
@@ -1013,22 +1010,18 @@
1013
1010
  - **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.
1014
1011
 
1015
1012
  **Minor Changes**
1016
-
1017
1013
  - **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.
1018
1014
  - **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.
1019
1015
  - **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.
1020
1016
 
1021
1017
  **Patch Changes**
1022
-
1023
1018
  - **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.
1024
1019
  - **Node Version Check:** Added Node.js version check and LTS recommendation to CLI entrypoint. Build config injects version info via environment variables.
1025
1020
 
1026
1021
  **Other**
1027
-
1028
1022
  - Improved maintainability, type safety, and developer experience throughout the CLI and dev server packages.
1029
1023
 
1030
1024
  **Note:**
1031
-
1032
1025
  - 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.
1033
1026
  - The new utility modules are available for advanced use cases and automation, but do not affect most standard CLI usage.
1034
1027
  - If you are authoring an `app.config.ts` file, you now need to import the config helper as follows:
@@ -1042,14 +1035,12 @@
1042
1035
 
1043
1036
  +- 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.
1044
1037
  +- The [docs folder](https://github.com/equinor/fusion-framework/tree/main/packages/cli/docs) contains:
1045
-
1046
1038
  - - [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.
1047
1039
  - - [Developing Portals](https://github.com/equinor/fusion-framework/blob/main/packages/cli/docs/portal.md): Portal template development, manifest/schema, and deployment.
1048
1040
  - - [Authentication](https://github.com/equinor/fusion-framework/blob/main/packages/cli/docs/auth.md): Local and CI/CD authentication, MSAL, and secure token storage.
1049
1041
  - - [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.
1050
1042
  - - [libsecret setup](https://github.com/equinor/fusion-framework/blob/main/packages/cli/docs/libsecret.md): Secure credential storage for Linux users.
1051
1043
  +- For real-world examples, see the [cookbooks/](https://github.com/equinor/fusion-framework/tree/main/cookbooks) directory.
1052
-
1053
1044
  * Key usage notes:
1054
1045
  - All config and manifest files must use helpers from `@equinor/fusion-framework-cli/app`.
1055
1046
  - Use `fusion-framework-cli auth login` for local authentication; use `FUSION_TOKEN` for CI/CD.
@@ -1076,7 +1067,6 @@
1076
1067
  ### Patch Changes
1077
1068
 
1078
1069
  - [#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).
1079
-
1080
1070
  - Use `unknown as PluginContext` for type casting in `resolveId` and `emitAssetSync` calls.
1081
1071
  - Add null check and warning if asset emission fails.
1082
1072
  - Minor code style and safety improvements.
@@ -1123,18 +1113,15 @@
1123
1113
  ### Minor Changes
1124
1114
 
1125
1115
  - [#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:**
1126
-
1127
1116
  - Enhanced `useAppContextNavigation` to support custom context path extraction and generation. This allows for more flexible navigation handling based on application-specific requirements.
1128
1117
 
1129
1118
  **@equinor/fusion-framework-module-context:**
1130
-
1131
1119
  - Added support for custom context path extraction and generation in `ContextConfigBuilder`, `ContextProvider`, and `ContextModuleConfigurator`.
1132
1120
  - Introduced `setContextPathExtractor` and `setContextPathGenerator` methods in `ContextConfigBuilder` to allow developers to define custom logic for extracting and generating context paths.
1133
1121
  - Updated `ContextProvider` to utilize `extractContextIdFromPath` and `generatePathFromContext` from the configuration, enabling dynamic path handling.
1134
1122
  - Enhanced `ContextModuleConfigurator` to include `extractContextIdFromPath` and `generatePathFromContext` in the module configuration.
1135
1123
 
1136
1124
  If you are using `@equinor/fusion-framework-module-context` and need custom logic for context path handling:
1137
-
1138
1125
  1. Use `setContextPathExtractor` to define how to extract context IDs from paths.
1139
1126
  2. Use `setContextPathGenerator` to define how to generate paths based on context items.
1140
1127
 
@@ -1161,11 +1148,11 @@
1161
1148
  // Custom logic to generate path from context
1162
1149
  const path = contextProvider.generatePathFromContext?.(
1163
1150
  context,
1164
- location.pathname
1151
+ location.pathname,
1165
1152
  );
1166
1153
  return path ?? fallbackPathGenerator(context, location.pathname);
1167
1154
  }),
1168
- filter(Boolean)
1155
+ filter(Boolean),
1169
1156
  )
1170
1157
  .subscribe((path) => history.push(path));
1171
1158
  ```
@@ -1189,7 +1176,6 @@
1189
1176
  - [#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`
1190
1177
 
1191
1178
  - [#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
1192
-
1193
1179
  - Updated `SelectorPage.tsx` to use self-closing tags for `PersonSelect` components.
1194
1180
  - Updated `Header.Actions.tsx` to use self-closing tags for `fwc-person-avatar` component.
1195
1181
  - Updated `FeatureSheetContent.tsx` to use self-closing tags for `Icon` and `Divider` components.
@@ -1299,12 +1285,10 @@
1299
1285
  - [#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.
1300
1286
 
1301
1287
  **Modified files:**
1302
-
1303
1288
  - `packages/cli/src/bin/create-dev-serve.ts`
1304
1289
  - `packages/cli/src/bin/main.app.ts`
1305
1290
 
1306
1291
  **Changes:**
1307
-
1308
1292
  - Added `noOpen` boolean option to `createDevServer` function.
1309
1293
  - Updated the server configuration to conditionally open the app in the default browser based on the `noOpen` option.
1310
1294
  - Added `-n, --noOpen` option to the CLI command for starting the development server.
@@ -1350,7 +1334,6 @@
1350
1334
  ### Patch Changes
1351
1335
 
1352
1336
  - [#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
1353
-
1354
1337
  - Stopped using node:path join in app-proxy-plugin since it caused issues on windows
1355
1338
 
1356
1339
  ## 10.2.4
@@ -1362,7 +1345,6 @@
1362
1345
  `AppLoader.tsx`
1363
1346
 
1364
1347
  ### Changes
1365
-
1366
1348
  - Added import for last operator from rxjs/operators.
1367
1349
  - Updated the initialize subscription to use the last operator.
1368
1350
 
@@ -1371,7 +1353,6 @@
1371
1353
  ### Patch Changes
1372
1354
 
1373
1355
  - [#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:
1374
-
1375
1356
  - Updated @equinor/fusion-wc-person to ^3.0.5 in package.json.
1376
1357
 
1377
1358
  ## 10.2.2
@@ -1391,14 +1372,11 @@
1391
1372
  ### Minor Changes
1392
1373
 
1393
1374
  - [#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
1394
-
1395
1375
  - **Refactored `BookMarkSideSheet.tsx`:**
1396
-
1397
1376
  - Replaced `useHasBookmark` with `useCurrentAppModule<BookmarkModule>('bookmark')` for better module integration.
1398
1377
  - Updated button `disabled` state to use `bookmarkProvider?.hasBookmarkCreators`.
1399
1378
 
1400
1379
  - **Updated `Header.tsx`:**
1401
-
1402
1380
  - Added `useCurrentAppModule<BookmarkModule>('bookmark')` to manage bookmark module state.
1403
1381
  - Disabled bookmark button if `bookmarkProvider` is not available.
1404
1382
  - Passed `bookmarkProvider` to `BookmarkProvider` component.
@@ -1430,7 +1408,6 @@
1430
1408
  ### Patch Changes
1431
1409
 
1432
1410
  - [#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:
1433
-
1434
1411
  - changing ci urls to new domain
1435
1412
 
1436
1413
  ## 10.0.2
@@ -1438,7 +1415,6 @@
1438
1415
  ### Patch Changes
1439
1416
 
1440
1417
  - [#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
1441
-
1442
1418
  - Removed individual file additions for package.json, LICENSE.md, and README.md.
1443
1419
  - Added a loop to handle multiple files (package.json, LICENSE.md, README.md, CHANGELOG.md) in a more concise manner.
1444
1420
  - Updated the spinner messages accordingly.
@@ -1458,7 +1434,6 @@
1458
1434
  Introduces new parameters to the `build-config` command for publishing the app config to a build version.
1459
1435
 
1460
1436
  Commands:
1461
-
1462
1437
  - `build-pack` - Bundle the app for distribution
1463
1438
  - `-o, --output <output>` - Output directory for the packed app
1464
1439
  - `-a, --archive` - Archive name for the packed app
@@ -1519,7 +1494,6 @@
1519
1494
  ```
1520
1495
 
1521
1496
  **breaking changes:**
1522
-
1523
1497
  - renaming all commands accociated with build.
1524
1498
  - The app-config endpoints is now an object containing url and scopes, where name is the object key:
1525
1499
 
@@ -1540,12 +1514,10 @@
1540
1514
  ### Minor Changes
1541
1515
 
1542
1516
  - [#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.
1543
-
1544
1517
  - Show the request URL and method in the console when a proxy request is made.
1545
1518
  - Show proxy response status code
1546
1519
 
1547
1520
  - [#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.
1548
-
1549
1521
  - Enhanced the middleware to intercept requests and serve the `index.html` file from the specified external public directory.
1550
1522
  - Transformed the HTML using Vite's `transformIndexHtml` method.
1551
1523
  - Applied appropriate content headers and additional configured headers before sending the response.
@@ -1562,7 +1534,6 @@
1562
1534
  ```
1563
1535
 
1564
1536
  - [#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:
1565
-
1566
1537
  - renamed `config` to `build-config` to generate build config of an application.
1567
1538
  - renamed `pack`to `build-pack` to bundle an application.
1568
1539
  - added `build-manifest` command to generate build manifest of an application.
@@ -1578,16 +1549,13 @@
1578
1549
  It sets up proxy rules for API and bundle requests and serves the app configuration and manifest based on the app key and version.
1579
1550
 
1580
1551
  Key Features:
1581
-
1582
1552
  1. Proxy Configuration:
1583
-
1584
1553
  - Proxies API calls to the Fusion apps backend.
1585
1554
  - Proxies bundle requests to the Fusion apps backend.
1586
1555
  - Uses a base path `proxyPath` for proxying.
1587
1556
  - Captures and reuses authorization tokens for asset requests.
1588
1557
 
1589
1558
  2. **App Configuration and Manifest**:
1590
-
1591
1559
  - Serves the app configuration if the request matches the current app and version.
1592
1560
  - Serves the app manifest if the request matches the current app.
1593
1561
 
@@ -1664,7 +1632,6 @@
1664
1632
  - [#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.
1665
1633
 
1666
1634
  Updated the following dependencies
1667
-
1668
1635
  - `@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`.
1669
1636
 
1670
1637
  - [#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`
@@ -1676,7 +1643,6 @@
1676
1643
  - [#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.
1677
1644
 
1678
1645
  Updated the following dependencies
1679
-
1680
1646
  - `@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`.
1681
1647
 
1682
1648
  - Updated dependencies [[`4839295`](https://github.com/equinor/fusion-framework/commit/4839295263f07704bc43930351ce34dfb27a4c81)]:
@@ -1696,7 +1662,6 @@
1696
1662
 
1697
1663
  > [!NOTE]
1698
1664
  > This is a quick fix until the new major version of the CLI is released.
1699
-
1700
1665
  - Updated the `baseUri` to use a more specific URL path for service discovery.
1701
1666
  - Changed from `new URL(import.meta.url).origin` to `String(new URL('/_discovery/environments/current', import.meta.url))`.
1702
1667
  - Changed parsing of service discovery response to match new API format.
@@ -1758,7 +1723,6 @@
1758
1723
  - [#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
1759
1724
 
1760
1725
  - [#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:
1761
-
1762
1726
  - Implemented responsive context clearing mechanism
1763
1727
  - Improved handling of context selection and clearing events
1764
1728
  - Optimized component rendering with useMemo and useCallback hooks
@@ -1802,7 +1766,6 @@
1802
1766
  - [#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.
1803
1767
 
1804
1768
  Removing the `removeComments` option allows TypeScript to preserve comments in the compiled JavaScript output. This can be beneficial for several reasons:
1805
-
1806
1769
  1. Improved debugging: Preserved comments can help developers understand the code better during debugging sessions.
1807
1770
  2. Documentation: JSDoc comments and other important code documentation will be retained in the compiled output.
1808
1771
  3. Source map accuracy: Keeping comments can lead to more accurate source maps, which is crucial for debugging and error tracking.
@@ -1921,7 +1884,6 @@
1921
1884
  ### Patch Changes
1922
1885
 
1923
1886
  - [#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`
1924
-
1925
1887
  - added default resolve value when generating base vite configuration
1926
1888
  - moved default query log level resolve outside class
1927
1889
 
@@ -2089,7 +2051,6 @@
2089
2051
  ### Patch Changes
2090
2052
 
2091
2053
  - [#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
2092
-
2093
2054
  - Add info icon for no result
2094
2055
 
2095
2056
  - [#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
@@ -2425,7 +2386,6 @@
2425
2386
  ### Patch Changes
2426
2387
 
2427
2388
  - [#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
2428
-
2429
2389
  - support for [styled-components@6](https://styled-components.com/releases#v6.0.0)
2430
2390
 
2431
2391
  ## 9.1.3
@@ -2523,7 +2483,6 @@
2523
2483
  > the CLI was thrown together as a proof of concept, but grown un-manageable, because of lack of structure
2524
2484
 
2525
2485
  **Main Features**
2526
-
2527
2486
  - Separate logic and utilities from program (app/cli commands)
2528
2487
  - allow user to provide config files `app.{config,manifest,vite}.{ts,js,json}`
2529
2488
  - the cli will try to resolve from `.ts` then `.js` then `.json`
@@ -2556,7 +2515,7 @@
2556
2515
  },
2557
2516
  },
2558
2517
  },
2559
- })
2518
+ }),
2560
2519
  );
2561
2520
  ```
2562
2521
 
@@ -2633,7 +2592,6 @@
2633
2592
 
2634
2593
  align CLI with EDS and use style components instead of emotion 🥲
2635
2594
  prevent conflict of react types dependent on both emotion and eds
2636
-
2637
2595
  - remove @emotion/\*
2638
2596
  - convert emotion to styled-components
2639
2597
  - fix styling of cli
@@ -2669,7 +2627,6 @@
2669
2627
  see [react changelog](https://github.com/facebook/react/releases) for details
2670
2628
 
2671
2629
  - [#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)
2672
-
2673
2630
  - 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)
2674
2631
  - removed `@types/style-components` from `@equinor/fusion-framework-react-components-bookmark`
2675
2632
 
@@ -2747,7 +2704,6 @@
2747
2704
  both `"main": "src/index.ts"` and `"main": "/src/index.ts"` will resolve.
2748
2705
 
2749
2706
  - [#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**
2750
-
2751
2707
  - align all versions of typescript
2752
2708
  - update types to build
2753
2709
  - 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