@equinor/fusion-framework-cli 11.0.0-next.12 → 11.0.0-next.14

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,36 @@
1
1
  # Change Log
2
2
 
3
+ ## 11.0.0-next.14
4
+
5
+ ### Patch Changes
6
+
7
+ - [#3075](https://github.com/equinor/fusion-framework/pull/3075) [`5973182`](https://github.com/equinor/fusion-framework/commit/5973182b156adb56137f1fc683635ae15274cc57) Thanks [@odinr](https://github.com/odinr)! - Update portal config and manifest API routes and types for consistency:
8
+
9
+ - Change dev server API route for portal manifest/config from `/portals/portals/...` to `/portal-config/portals/...` for alignment with client usage.
10
+ - Make portal config optional in dev server route and type definitions.
11
+ - Update SPA bootstrap to use `portal-config` as the service discovery client key.
12
+ - Refactor portal manifest/config loading and merging to use `RecursivePartial` and `lodash.mergewith` for deep merge support.
13
+ - Remove unused zod import from portal config type.
14
+
15
+ These changes improve consistency, flexibility, and correctness in portal manifest/config handling across CLI and SPA plugin.
16
+
17
+ - Updated dependencies []:
18
+ - @equinor/fusion-framework-dev-server@1.0.0-next.9
19
+ - @equinor/fusion-framework-dev-portal@1.0.0-next.2
20
+
21
+ ## 11.0.0-next.13
22
+
23
+ ### Patch Changes
24
+
25
+ - [#3075](https://github.com/equinor/fusion-framework/pull/3075) [`32273e1`](https://github.com/equinor/fusion-framework/commit/32273e19dd89ed7b51fac175e1e5a0b82c7ba8ec) Thanks [@odinr](https://github.com/odinr)! - Refactor dev server config loading and merging:
26
+
27
+ - Add `RecursivePartial` type for improved type safety and flexibility in dev server config overrides.
28
+ - Update `mergeDevServerConfig` to use a custom array merge strategy (source arrays replace and prepend base arrays).
29
+ - Refactor `loadDevServerConfig` to support async config functions and deep merging with the new strategy.
30
+ - Improve inline documentation and maintainability for config utilities.
31
+
32
+ This change improves the developer experience and reliability of dev server configuration in the CLI package.
33
+
3
34
  ## 11.0.0-next.12
4
35
 
5
36
  ### Patch Changes
package/bin/build/bin.js CHANGED
@@ -1,4 +1,4 @@
1
- export { b as buildApplication, c as buildPortal, a as bundleApp, d as bundlePortal, g as generateApplicationConfig, e as generatePortalConfig, l as loadPortalManifest, h as pack, p as publishAppConfig, f as publishPortalConfig, s as startAppDevServer } from './portal-config-publish-ezU_DFki.js';
1
+ export { b as buildApplication, c as buildPortal, a as bundleApp, d as bundlePortal, g as generateApplicationConfig, e as generatePortalConfig, l as loadPortalManifest, h as pack, p as publishAppConfig, f as publishPortalConfig, s as startAppDevServer } from './portal-config-publish--QAre9Id.js';
2
2
  import 'vite';
3
3
  import 'chalk';
4
4
  import '@equinor/fusion-imports';
package/bin/build/cli.js CHANGED
@@ -4,7 +4,7 @@ import { readPackageUpSync } from 'read-package-up';
4
4
  import { createCommand, createOption, InvalidOptionArgumentError, Command } from 'commander';
5
5
  import 'node:fs';
6
6
  import chalk from 'chalk';
7
- import { S as Spinner, b as buildApplication, a as bundleApp, F as FusionEnv, r as resolveDefaultEnv, i as resolveProjectPackage, j as resolveAppManifest, k as initializeFramework, p as publishAppConfig, g as generateApplicationConfig, m as formatPath, H as HttpJsonResponseError, n as loadAppManifest, s as startAppDevServer, o as fileExistsSync, N as NoAccountsError, q as resolvePortalManifest, t as resolvePortalConfig, u as createDevServer, l as loadPortalManifest, v as getDefaultExportFromCjs, w as loadPortalSchema, x as writeFile$1, c as buildPortal, d as bundlePortal, f as publishPortalConfig, e as generatePortalConfig } from './portal-config-publish-ezU_DFki.js';
7
+ import { S as Spinner, b as buildApplication, a as bundleApp, F as FusionEnv, r as resolveDefaultEnv, i as resolveProjectPackage, j as resolveAppManifest, k as initializeFramework, p as publishAppConfig, g as generateApplicationConfig, m as formatPath, H as HttpJsonResponseError, n as loadAppManifest, s as startAppDevServer, o as fileExistsSync, N as NoAccountsError, q as resolvePortalManifest, t as resolvePortalConfig, u as createDevServer, l as loadPortalManifest, v as getDefaultExportFromCjs, w as loadPortalSchema, x as writeFile$1, c as buildPortal, d as bundlePortal, f as publishPortalConfig, e as generatePortalConfig } from './portal-config-publish--QAre9Id.js';
8
8
  import { importJSON } from '@equinor/fusion-imports';
9
9
  import '@equinor/fusion-framework-dev-server';
10
10
  import 'vite';
@@ -1,4 +1,4 @@
1
- import { P as PublicClientApplication } from './portal-config-publish-ezU_DFki.js';
1
+ import { P as PublicClientApplication } from './portal-config-publish--QAre9Id.js';
2
2
  import 'crypto';
3
3
  import { promises } from 'fs';
4
4
  import { pid } from 'process';
@@ -359,42 +359,6 @@ let _spinner = new Spinner();
359
359
  const parseArgs = (args) => args.length ? args.join(' ') : undefined;
360
360
  const originalConsole = console;
361
361
 
362
- /**
363
- * Loads the dev server configuration from a file or function.
364
- *
365
- * @param env - The runtime environment configuration.
366
- * @param base - The base DevServerOptions to use as defaults.
367
- * @param options - Optional settings for file name and extensions.
368
- * @returns A promise resolving to the imported config result.
369
- *
370
- * This function uses importConfig to dynamically load the configuration file.
371
- * If the config export is a function, it is invoked with the environment and a cloned base config.
372
- * If the config export is an object, it is merged with the base config.
373
- *
374
- * Inline comments are provided for maintainability and clarity.
375
- */
376
- const loadDevServerConfig = async (env, base, options) => {
377
- // Use importConfig to load the config file, defaulting to 'dev-server.config' if not specified
378
- return importConfig('dev-server.config', {
379
- baseDir: env.root, // Set the base directory for config resolution
380
- extensions: options?.extensions, // Allow custom file extensions
381
- script: {
382
- // Custom resolver for the config module
383
- resolve: async (module) => {
384
- // If the default export is a function, call it with env and a cloned base config
385
- if (typeof module.default === 'function') {
386
- const baseClone = { ...base }; // Clone base to avoid mutation
387
- const result = (await module.default(env, { base: baseClone })) ?? base;
388
- // TODO: Add zod validation of the config for type safety
389
- return result ?? baseClone;
390
- }
391
- // If the default export is an object, return it or fallback to base
392
- return module.default ?? base;
393
- },
394
- },
395
- });
396
- };
397
-
398
362
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
399
363
 
400
364
  function getDefaultExportFromCjs (x) {
@@ -2386,6 +2350,80 @@ function requireLodash_mergewith () {
2386
2350
  var lodash_mergewithExports = requireLodash_mergewith();
2387
2351
  var mergeWith = /*@__PURE__*/getDefaultExportFromCjs(lodash_mergewithExports);
2388
2352
 
2353
+ /**
2354
+ * Customizer function for merging objects, intended for use with utilities like `_.mergeWith`.
2355
+ *
2356
+ * - If either `objValue` or `srcValue` is an array, replaces the target array with the source array,
2357
+ * concatenating the source array with the target array (source first).
2358
+ * - For non-array values, allows the default merge behavior.
2359
+ *
2360
+ * @param objValue - The destination value being merged.
2361
+ * @param srcValue - The source value being merged.
2362
+ * @returns The merged value if custom logic applies, otherwise `undefined` to use default merging.
2363
+ */
2364
+ const customizer = (objValue, srcValue) => {
2365
+ if (Array.isArray(objValue) || Array.isArray(srcValue)) {
2366
+ // Replace arrays instead of merging/concatenating them
2367
+ return (srcValue ?? []).concat(objValue ?? []);
2368
+ }
2369
+ // For non-arrays, use default merge behavior
2370
+ };
2371
+ /**
2372
+ * Merges a base development server configuration with an overrides object.
2373
+ *
2374
+ * Uses lodash.mergeWith to deeply merge properties, with custom logic for arrays.
2375
+ * Arrays in the overrides object will replace arrays in the base config.
2376
+ *
2377
+ * @param base - The base development server configuration.
2378
+ * @param overrides - A partial configuration object containing properties to override in the base configuration.
2379
+ * @returns The merged development server configuration.
2380
+ *
2381
+ * Inline comments are provided for maintainability and clarity.
2382
+ */
2383
+ const mergeDevServerConfig = (base, overrides) => {
2384
+ // Use lodash.mergeWith to merge base and overrides, applying the customizer for arrays
2385
+ return mergeWith(base, overrides, customizer);
2386
+ };
2387
+
2388
+ /**
2389
+ * Loads the dev server configuration from a file or function.
2390
+ *
2391
+ * @param env - The runtime environment configuration.
2392
+ * @param base - The base DevServerOptions to use as defaults.
2393
+ * @param options - Optional settings for file name and extensions.
2394
+ * @returns A promise resolving to the imported config result.
2395
+ *
2396
+ * This function uses importConfig to dynamically load the configuration file.
2397
+ * If the config export is a function, it is invoked with the environment and a cloned base config.
2398
+ * If the config export is an object, it is merged with the base config.
2399
+ *
2400
+ * Inline comments are provided for maintainability and clarity.
2401
+ */
2402
+ const loadDevServerConfig = async (env, base, options) => {
2403
+ // Use importConfig to load the config file, defaulting to 'dev-server.config' if not specified
2404
+ return importConfig('dev-server.config', {
2405
+ baseDir: env.root, // Set the base directory for config resolution
2406
+ extensions: options?.extensions, // Allow custom file extensions
2407
+ script: {
2408
+ // Custom resolver for the config module
2409
+ resolve: async (module) => {
2410
+ // If the default export is a function, call it with env and a cloned base config
2411
+ let overrides;
2412
+ if (typeof module.default === 'function') {
2413
+ const baseClone = { ...base }; // Clone base to avoid mutation
2414
+ overrides = await module.default(env, { base: baseClone });
2415
+ // TODO: Add zod validation of the config for type safety
2416
+ }
2417
+ else {
2418
+ overrides = module.default;
2419
+ }
2420
+ // If the default export is an object, return it or fallback to base
2421
+ return mergeDevServerConfig(base, overrides ?? {});
2422
+ },
2423
+ },
2424
+ });
2425
+ };
2426
+
2389
2427
  /**
2390
2428
  * Creates a Fusion dev server template environment, merging with user overrides.
2391
2429
  *
@@ -2488,8 +2526,9 @@ const applyAppRouting = (base, manifest, config) => {
2488
2526
  const applyPortalRouting = (base, manifest, config) => {
2489
2527
  base.api.routes ??= [];
2490
2528
  // @todo - might add correct tag handling later
2529
+ const serviceName = 'portal-config';
2491
2530
  base.api.routes.push({
2492
- match: `/portals/portals/${manifest.name}{@:tag}`,
2531
+ match: `/${serviceName}/portals/${manifest.name}{@:tag}`,
2493
2532
  middleware: async (_req, res) => {
2494
2533
  res.writeHead(200, {
2495
2534
  'content-type': 'application/json',
@@ -2497,15 +2536,18 @@ const applyPortalRouting = (base, manifest, config) => {
2497
2536
  res.end(JSON.stringify(manifest));
2498
2537
  },
2499
2538
  });
2500
- base.api.routes.push({
2501
- match: `/portals/portals/${manifest.name}{@:tag}/config`,
2502
- middleware: async (_req, res) => {
2503
- res.writeHead(200, {
2504
- 'content-type': 'application/json',
2505
- });
2506
- res.end(JSON.stringify(config));
2507
- },
2508
- });
2539
+ // @TODO - should config be allowed, dev-server.config could be used instead
2540
+ if (config) {
2541
+ base.api.routes.push({
2542
+ match: `/${serviceName}/portals/${manifest.name}{@:tag}/config`,
2543
+ middleware: async (_req, res) => {
2544
+ res.writeHead(200, {
2545
+ 'content-type': 'application/json',
2546
+ });
2547
+ res.end(JSON.stringify(config));
2548
+ },
2549
+ });
2550
+ }
2509
2551
  };
2510
2552
  /**
2511
2553
  * Creates the full dev server configuration for Fusion CLI.
@@ -23386,7 +23428,7 @@ class AuthConfigurator extends BaseConfigBuilder {
23386
23428
  // Dynamically import the createAuthClient function since the client uses `libsecret``
23387
23429
  // which is not default installed in all environments.
23388
23430
  // This avoids installing `libsecret` in environments where it is not needed, like CI/CD pipelines.
23389
- const { createAuthClient } = await import('./create-auth-client-B_j4Y_Dr.js');
23431
+ const { createAuthClient } = await import('./create-auth-client-DEexcuNX.js');
23390
23432
  return createAuthClient(tenantId, clientId);
23391
23433
  });
23392
23434
  }
@@ -29045,14 +29087,17 @@ const loadPortalManifest$1 = async (env, options) => {
29045
29087
  resolve: async (module) => {
29046
29088
  // Use the provided base manifest or an empty object as the starting point
29047
29089
  const base = options?.base ?? {};
29090
+ let overrides;
29048
29091
  // If the manifest export is a function, call it with the environment and base manifest
29049
29092
  if (typeof module.default === 'function') {
29050
29093
  // Await the result of the manifest function, falling back to base if undefined
29051
- const result = (await module.default(env, { base })) ?? base;
29052
- return result ?? base;
29094
+ overrides = (await module.default(env, { base })) ?? undefined;
29095
+ }
29096
+ else {
29097
+ // If the manifest export is not a function, treat it as an object
29098
+ overrides = module.default;
29053
29099
  }
29054
- // If the manifest export is an object, merge or return it directly
29055
- return module.default ?? base;
29100
+ return mergeWith(base, overrides);
29056
29101
  },
29057
29102
  },
29058
29103
  });
@@ -102,8 +102,9 @@ const applyAppRouting = (base, manifest, config) => {
102
102
  const applyPortalRouting = (base, manifest, config) => {
103
103
  base.api.routes ??= [];
104
104
  // @todo - might add correct tag handling later
105
+ const serviceName = 'portal-config';
105
106
  base.api.routes.push({
106
- match: `/portals/portals/${manifest.name}{@:tag}`,
107
+ match: `/${serviceName}/portals/${manifest.name}{@:tag}`,
107
108
  middleware: async (_req, res) => {
108
109
  res.writeHead(200, {
109
110
  'content-type': 'application/json',
@@ -111,15 +112,18 @@ const applyPortalRouting = (base, manifest, config) => {
111
112
  res.end(JSON.stringify(manifest));
112
113
  },
113
114
  });
114
- base.api.routes.push({
115
- match: `/portals/portals/${manifest.name}{@:tag}/config`,
116
- middleware: async (_req, res) => {
117
- res.writeHead(200, {
118
- 'content-type': 'application/json',
119
- });
120
- res.end(JSON.stringify(config));
121
- },
122
- });
115
+ // @TODO - should config be allowed, dev-server.config could be used instead
116
+ if (config) {
117
+ base.api.routes.push({
118
+ match: `/${serviceName}/portals/${manifest.name}{@:tag}/config`,
119
+ middleware: async (_req, res) => {
120
+ res.writeHead(200, {
121
+ 'content-type': 'application/json',
122
+ });
123
+ res.end(JSON.stringify(config));
124
+ },
125
+ });
126
+ }
123
127
  };
124
128
  /**
125
129
  * Creates the full dev server configuration for Fusion CLI.
@@ -1 +1 @@
1
- {"version":3,"file":"create-dev-server.js","sourceRoot":"","sources":["../../../../src/bin/utils/create-dev-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-dev-server.js","sourceRoot":"","sources":["../../../../src/bin/utils/create-dev-server.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EACL,eAAe,EACf,eAAe,IAAI,iBAAiB,GAIrC,MAAM,sCAAsC,CAAC;AAyC9C;;;;;GAKG;AACH,MAAM,uBAAuB,GAAG,CAC9B,SAAsC,EACA,EAAE,CAAC,CAAC;IAC1C,MAAM,EAAE;QACN,EAAE,EAAE,sCAAsC;KAC3C;IACD,KAAK,EAAE,mBAAmB;IAC1B,gBAAgB,EAAE;QAChB,GAAG,EAAE,mBAAmB;QACxB,MAAM,EAAE,CAAC,+CAA+C,CAAC;KAC1D;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,sCAAsC;QAChD,QAAQ,EAAE,sCAAsC;QAChD,WAAW,EAAE,gCAAgC;QAC7C,YAAY,EAAE,MAAM;KACrB;IACD,aAAa,EAAE;QACb,kBAAkB;QAClB,SAAS,EAAE;YACT;gBACE,GAAG,EAAE,aAAa;gBAClB,OAAO,EAAE,mBAAmB;gBAC5B,MAAM,EAAE,CAAC,+CAA+C,CAAC;aAC1D;YACD;gBACE,GAAG,EAAE,aAAa;gBAClB,OAAO,EAAE,mBAAmB;gBAC5B,MAAM,EAAE,CAAC,+CAA+C,CAAC;aAC1D;SACF;KACF;IACD,qCAAqC;IACrC,GAAG,SAAS;CACb,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,MAAM,eAAe,GAAG,CAAC,IAAsB,EAAE,QAAqB,EAAE,MAAqB,EAAE,EAAE;IAC/F,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;IACnC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,EAAE,CAAC;IAEvB,0BAA0B;IAC1B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;QACnB,KAAK,EAAE,sBAAsB,MAAM,IAAI,KAAK,CAAC,OAAO,QAAQ;QAC5D,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACnC,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,IAAgB,CAAC;YAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,KAAK,EAAE,CAAC;gBACtC,IAAI,EAAE,CAAC;YACT,CAAC;YACD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;gBACjB,cAAc,EAAE,wBAAwB;gBACxC,QAAQ,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;aACnC,CAAC,CAAC;YACH,GAAG,CAAC,GAAG,EAAE,CAAC;QACZ,CAAC;KACF,CAAC,CAAC;IAEH,wCAAwC;IACxC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;QACnB,KAAK,EAAE,yBAAyB,MAAM,EAAE;QACxC,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;YAC9B,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;gBACjB,cAAc,EAAE,kBAAkB;aACnC,CAAC,CAAC;YACH,GAAG,CAAC,GAAG,CACL,IAAI,CAAC,SAAS,CAAC;gBACb,EAAE,EAAE,yBAAyB;gBAC7B,GAAG,QAAQ;aACZ,CAAC,CACH,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;QACnB,KAAK,EAAE,cAAc,MAAM,WAAW,KAAK,CAAC,OAAO,SAAS;QAC5D,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;YAC9B,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;gBACjB,cAAc,EAAE,kBAAkB;aACnC,CAAC,CAAC;YACH,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAClC,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,kBAAkB,GAAG,CACzB,IAAsB,EACtB,QAAwB,EACxB,MAAqB,EACrB,EAAE;IACF,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,EAAE,CAAC;IAEvB,+CAA+C;IAC/C,MAAM,WAAW,GAAG,eAAe,CAAC;IAEpC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;QACnB,KAAK,EAAE,IAAI,WAAW,YAAY,QAAQ,CAAC,IAAI,SAAS;QACxD,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;YAC9B,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;gBACjB,cAAc,EAAE,kBAAkB;aACnC,CAAC,CAAC;YACH,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpC,CAAC;KACF,CAAC,CAAC;IACH,4EAA4E;IAC5E,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;YACnB,KAAK,EAAE,IAAI,WAAW,YAAY,QAAQ,CAAC,IAAI,gBAAgB;YAC/D,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;gBAC9B,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;oBACjB,cAAc,EAAE,kBAAkB;iBACnC,CAAC,CAAC;gBACH,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;YAClC,CAAC;SACF,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,OAA+B,EAAE,EAAE;IACvE,MAAM,MAAM,GAAqB;QAC/B,GAAG,EAAE;YACH,WAAW,EAAE,uBAAuB,CAAC,OAAO,CAAC,QAAQ,CAAC;SACvD;QACD,GAAG,EAAE;YACH,mBAAmB,EACjB,iFAAiF;YACnF,eAAe,EAAE,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE;gBACvC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;gBAC9D,OAAO;oBACL,4DAA4D;oBAC5D,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;wBAChB,GAAG,EAAE,SAAS;wBACd,IAAI,EAAE,uBAAuB;wBAC7B,GAAG,EAAE,sBAAsB;qBAC5B,CAAC;oBACF,MAAM;iBACP,CAAC;YACJ,CAAC;SACF;KACF,CAAC;IAEF,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAClC,GAAe,EACf,OAA+B,EAC/B,SAAsB,EACtB,EAAE;IACF,MAAM,UAAU,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QACnE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAChC,CAAC,CAAC,CAAC;IACH,OAAO,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AACrD,CAAC,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { importConfig } from '@equinor/fusion-imports';
2
+ import { mergeDevServerConfig } from './merge-dev-server-config.js';
2
3
  /**
3
4
  * Helper to define a dev server config function with proper typing.
4
5
  * @param fn - The configuration function to be used as the dev server config.
@@ -28,14 +29,17 @@ export const loadDevServerConfig = async (env, base, options) => {
28
29
  // Custom resolver for the config module
29
30
  resolve: async (module) => {
30
31
  // If the default export is a function, call it with env and a cloned base config
32
+ let overrides;
31
33
  if (typeof module.default === 'function') {
32
34
  const baseClone = { ...base }; // Clone base to avoid mutation
33
- const result = (await module.default(env, { base: baseClone })) ?? base;
35
+ overrides = await module.default(env, { base: baseClone });
34
36
  // TODO: Add zod validation of the config for type safety
35
- return result ?? baseClone;
37
+ }
38
+ else {
39
+ overrides = module.default;
36
40
  }
37
41
  // If the default export is an object, return it or fallback to base
38
- return module.default ?? base;
42
+ return mergeDevServerConfig(base, overrides ?? {});
39
43
  },
40
44
  },
41
45
  });
@@ -1 +1 @@
1
- {"version":3,"file":"load-dev-server-config.js","sourceRoot":"","sources":["../../../src/lib/load-dev-server-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA2B,MAAM,yBAAyB,CAAC;AAoBhF;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EAAqB,EAAE,EAAE,CAAC,EAAE,CAAC;AAEnE;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACtC,GAAe,EACf,IAAsB,EACtB,OAGC,EAC8C,EAAE;IACjD,+FAA+F;IAC/F,OAAO,YAAY,CAAC,OAAO,EAAE,IAAI,IAAI,mBAAmB,EAAE;QACxD,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,+CAA+C;QAClE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,+BAA+B;QAChE,MAAM,EAAE;YACN,wCAAwC;YACxC,OAAO,EAAE,KAAK,EAAE,MAA0C,EAA6B,EAAE;gBACvF,iFAAiF;gBACjF,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;oBACzC,MAAM,SAAS,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,+BAA+B;oBAC9D,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC;oBACxE,yDAAyD;oBACzD,OAAO,MAAM,IAAI,SAAS,CAAC;gBAC7B,CAAC;gBACD,oEAAoE;gBACpE,OAAO,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC;YAChC,CAAC;SACF;KACF,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"load-dev-server-config.js","sourceRoot":"","sources":["../../../src/lib/load-dev-server-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA2B,MAAM,yBAAyB,CAAC;AAGhF,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAqBpE;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EAAqB,EAAE,EAAE,CAAC,EAAE,CAAC;AAEnE;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACtC,GAAe,EACf,IAAsB,EACtB,OAGC,EAC8C,EAAE;IACjD,+FAA+F;IAC/F,OAAO,YAAY,CAAC,OAAO,EAAE,IAAI,IAAI,mBAAmB,EAAE;QACxD,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,+CAA+C;QAClE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,+BAA+B;QAChE,MAAM,EAAE;YACN,wCAAwC;YACxC,OAAO,EAAE,KAAK,EAAE,MAA0C,EAA6B,EAAE;gBACvF,iFAAiF;gBACjF,IAAI,SAAyD,CAAC;gBAC9D,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;oBACzC,MAAM,SAAS,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,+BAA+B;oBAC9D,SAAS,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;oBAC3D,yDAAyD;gBAC3D,CAAC;qBAAM,CAAC;oBACN,SAAS,GAAG,MAAM,CAAC,OAA6C,CAAC;gBACnE,CAAC;gBACD,oEAAoE;gBACpE,OAAO,oBAAoB,CAAC,IAAI,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC;YACrD,CAAC;SACF;KACF,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -1,18 +1,19 @@
1
1
  import mergeWith from 'lodash.mergewith';
2
2
  /**
3
- * Customizer function for lodash.mergeWith to handle merging arrays.
3
+ * Customizer function for merging objects, intended for use with utilities like `_.mergeWith`.
4
4
  *
5
- * If the property being merged is an array, the source value replaces the object value.
6
- * This prevents arrays from being concatenated, which is the default lodash behavior.
5
+ * - If either `objValue` or `srcValue` is an array, replaces the target array with the source array,
6
+ * concatenating the source array with the target array (source first).
7
+ * - For non-array values, allows the default merge behavior.
7
8
  *
8
- * @param objValue - The value from the base object.
9
- * @param srcValue - The value from the overrides object.
10
- * @returns The value to use in the merged result, or undefined to use default merging.
9
+ * @param objValue - The destination value being merged.
10
+ * @param srcValue - The source value being merged.
11
+ * @returns The merged value if custom logic applies, otherwise `undefined` to use default merging.
11
12
  */
12
13
  const customizer = (objValue, srcValue) => {
13
- if (Array.isArray(objValue)) {
14
+ if (Array.isArray(objValue) || Array.isArray(srcValue)) {
14
15
  // Replace arrays instead of merging/concatenating them
15
- return srcValue;
16
+ return (srcValue ?? []).concat(objValue ?? []);
16
17
  }
17
18
  // For non-arrays, use default merge behavior
18
19
  };
@@ -1 +1 @@
1
- {"version":3,"file":"merge-dev-server-config.js","sourceRoot":"","sources":["../../../src/lib/merge-dev-server-config.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,kBAAkB,CAAC;AAKzC;;;;;;;;;GASG;AACH,MAAM,UAAU,GAAG,CAAC,QAAiB,EAAE,QAAiB,EAAE,EAAE;IAC1D,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,uDAAuD;QACvD,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,6CAA6C;AAC/C,CAAC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,IAAsB,EACtB,SAA6C,EAC3B,EAAE;IACpB,uFAAuF;IACvF,OAAO,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAqB,CAAC;AACpE,CAAC,CAAC;AAEF,+CAA+C;AAC/C,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"merge-dev-server-config.js","sourceRoot":"","sources":["../../../src/lib/merge-dev-server-config.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,kBAAkB,CAAC;AAKzC;;;;;;;;;;GAUG;AACH,MAAM,UAAU,GAAG,CAAC,QAAiB,EAAE,QAAiB,EAAE,EAAE;IAC1D,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvD,uDAAuD;QACvD,OAAO,CAAE,QAA2B,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,6CAA6C;AAC/C,CAAC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,IAAsB,EACtB,SAA6C,EAC3B,EAAE;IACpB,uFAAuF;IACvF,OAAO,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAqB,CAAC;AACpE,CAAC,CAAC;AAEF,+CAA+C;AAC/C,eAAe,oBAAoB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { importConfig } from '@equinor/fusion-imports';
2
+ import mergeWith from 'lodash.mergewith';
2
3
  import { PortalManifestSchema } from './portal-manifest.schema.js';
3
4
  /**
4
5
  * Loads a portal manifest configuration file, merging it with optional base values and supporting multiple file extensions.
@@ -27,14 +28,17 @@ export const loadPortalManifest = async (env, options) => {
27
28
  resolve: async (module) => {
28
29
  // Use the provided base manifest or an empty object as the starting point
29
30
  const base = options?.base ?? {};
31
+ let overrides;
30
32
  // If the manifest export is a function, call it with the environment and base manifest
31
33
  if (typeof module.default === 'function') {
32
34
  // Await the result of the manifest function, falling back to base if undefined
33
- const result = (await module.default(env, { base })) ?? base;
34
- return result ?? base;
35
+ overrides = (await module.default(env, { base })) ?? undefined;
35
36
  }
36
- // If the manifest export is an object, merge or return it directly
37
- return module.default ?? base;
37
+ else {
38
+ // If the manifest export is not a function, treat it as an object
39
+ overrides = module.default;
40
+ }
41
+ return mergeWith(base, overrides);
38
42
  },
39
43
  },
40
44
  });
@@ -1 +1 @@
1
- {"version":3,"file":"load-portal-manifest.js","sourceRoot":"","sources":["../../../../src/lib/portal/load-portal-manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAuDnE;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EACrC,GAAe,EACf,OAAsC,EACA,EAAE;IACxC,iGAAiG;IACjG,MAAM,WAAW,GAAG,OAAO,EAAE,IAAI,IAAI,CAAC,mBAAmB,GAAG,CAAC,WAAW,EAAE,EAAE,iBAAiB,CAAC,CAAC;IAE/F,+EAA+E;IAC/E,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,WAAW,EAAE;QACnD,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,iDAAiD;QACpE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,2CAA2C;QAC5E,MAAM,EAAE;YACN,uCAAuC;YACvC,OAAO,EAAE,KAAK,EAAE,MAA4C,EAAc,EAAE;gBAC1E,0EAA0E;gBAC1E,MAAM,IAAI,GAAM,OAAO,EAAE,IAAI,IAAK,EAAQ,CAAC;gBAC3C,uFAAuF;gBACvF,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;oBACzC,+EAA+E;oBAC/E,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC;oBAC7D,OAAO,MAAM,IAAI,IAAI,CAAC;gBACxB,CAAC;gBACD,mEAAmE;gBACnE,OAAQ,MAAM,CAAC,OAAa,IAAI,IAAI,CAAC;YACvC,CAAC;SACF;KACF,CAAC,CAAC;IAEH,0EAA0E;IAC1E,8EAA8E;IAC9E,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAW,CAAC;IAC1C,MAAM,UAAU,GAAG,oBAAoB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC5D,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,4BAA4B,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACjH,CAAC;IACJ,CAAC;IACD,OAAO;QACL,QAAQ;QACR,IAAI,EAAE,YAAY,CAAC,IAAI;QACvB,SAAS,EAAE,YAAY,CAAC,SAAS;KAClC,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"load-portal-manifest.js","sourceRoot":"","sources":["../../../../src/lib/portal/load-portal-manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,SAAS,MAAM,kBAAkB,CAAC;AAEzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAuDnE;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EACrC,GAAe,EACf,OAAsC,EACA,EAAE;IACxC,iGAAiG;IACjG,MAAM,WAAW,GAAG,OAAO,EAAE,IAAI,IAAI,CAAC,mBAAmB,GAAG,CAAC,WAAW,EAAE,EAAE,iBAAiB,CAAC,CAAC;IAE/F,+EAA+E;IAC/E,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,WAAW,EAAE;QACnD,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,iDAAiD;QACpE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,2CAA2C;QAC5E,MAAM,EAAE;YACN,uCAAuC;YACvC,OAAO,EAAE,KAAK,EAAE,MAA4C,EAAc,EAAE;gBAC1E,0EAA0E;gBAC1E,MAAM,IAAI,GAAM,OAAO,EAAE,IAAI,IAAK,EAAQ,CAAC;gBAC3C,IAAI,SAA0C,CAAC;gBAC/C,uFAAuF;gBACvF,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;oBACzC,+EAA+E;oBAC/E,SAAS,GAAG,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,SAAS,CAAC;gBACjE,CAAC;qBAAM,CAAC;oBACN,kEAAkE;oBAClE,SAAS,GAAG,MAAM,CAAC,OAA8B,CAAC;gBACpD,CAAC;gBACD,OAAO,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACpC,CAAC;SACF;KACF,CAAC,CAAC;IAEH,0EAA0E;IAC1E,8EAA8E;IAC9E,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAW,CAAC;IAC1C,MAAM,UAAU,GAAG,oBAAoB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC5D,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,4BAA4B,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACjH,CAAC;IACJ,CAAC;IACD,OAAO;QACL,QAAQ;QACR,IAAI,EAAE,YAAY,CAAC,IAAI;QACvB,SAAS,EAAE,YAAY,CAAC,SAAS;KAClC,CAAC;AACJ,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"portal-config.js","sourceRoot":"","sources":["../../../../src/lib/portal/portal-config.ts"],"names":[],"mappings":"AAwDA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EAAkB,EAAE,EAAE,CAAC,EAAE,CAAC"}
1
+ {"version":3,"file":"portal-config.js","sourceRoot":"","sources":["../../../../src/lib/portal/portal-config.ts"],"names":[],"mappings":"AAuDA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EAAkB,EAAE,EAAE,CAAC,EAAE,CAAC"}
@@ -1,3 +1,3 @@
1
1
  // Generated by genversion.
2
- export const version = '11.0.0-next.12';
2
+ export const version = '11.0.0-next.14';
3
3
  //# sourceMappingURL=version.js.map