@equinor/fusion-framework-cli 11.0.0-next.4 → 11.0.0-next.5

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,25 @@
1
1
  # Change Log
2
2
 
3
+ ## 11.0.0-next.5
4
+
5
+ ### Minor Changes
6
+
7
+ - [#3075](https://github.com/equinor/fusion-framework/pull/3075) [`a3ce07a`](https://github.com/equinor/fusion-framework/commit/a3ce07a367ae8d5a6dbac438c25928df54aefecf) Thanks [@odinr](https://github.com/odinr)! - - Portal manifest now uses `name` (unscoped) and `templateEntry` instead of `id` and `entrypoint` for improved consistency with app manifests.
8
+
9
+ - Dev server configuration and routing updated to expect and utilize the new manifest structure.
10
+ - Asset paths for development and preview builds now use `/@fs` for more reliable local development.
11
+ - Type safety and schema validation for portal manifests have been improved.
12
+ - Minor typos fixed and comments clarified throughout related files.
13
+
14
+ This refactor unifies manifest handling between apps and portals, simplifies local development, and ensures better type safety and validation. It also improves maintainability and developer experience by making configuration more predictable and robust.
15
+
16
+ ### Patch Changes
17
+
18
+ - Updated dependencies [[`2ed792a`](https://github.com/equinor/fusion-framework/commit/2ed792a1118f3726f811c4dbdf8d25c69d7bb756), [`d9a7ada`](https://github.com/equinor/fusion-framework/commit/d9a7ada786bfac3a0714f38c1379b5aac09a0f71)]:
19
+ - @equinor/fusion-framework-dev-server@1.0.0-next.3
20
+ - @equinor/fusion-imports@1.1.1-next.0
21
+ - @equinor/fusion-framework-dev-portal@1.0.0-next.2
22
+
3
23
  ## 11.0.0-next.4
4
24
 
5
25
  ### 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, l as loadPortalManifest, e as pack, p as publishAppConfig, s as startAppDevServer } from './portal-pack-tYUpOtku.js';
1
+ export { b as buildApplication, c as buildPortal, a as bundleApp, d as bundlePortal, g as generateApplicationConfig, l as loadPortalManifest, e as pack, p as publishAppConfig, s as startAppDevServer } from './portal-pack-qpEBTWNW.js';
2
2
  import 'vite';
3
3
  import 'chalk';
4
4
  import '@azure/msal-node';
package/bin/build/cli.js CHANGED
@@ -5,7 +5,7 @@ import { createCommand, createOption, InvalidOptionArgumentError, Command } from
5
5
  import 'node:fs';
6
6
  import chalk from 'chalk';
7
7
  import 'pretty-bytes';
8
- import { S as Spinner, b as buildApplication, a as bundleApp, F as FusionEnv, r as resolveDefaultEnv, f as resolveProjectPackage, h as resolveAppManifest, i as initializeFramework, p as publishAppConfig, g as generateApplicationConfig, j as formatPath, H as HttpJsonResponseError, k as loadAppManifest, s as startAppDevServer, m as fileExistsSync, N as NoAccountsError, n as createDevServer, l as loadPortalManifest, o as loadPortalSchema, w as writeFile$1, c as buildPortal, d as bundlePortal } from './portal-pack-tYUpOtku.js';
8
+ import { S as Spinner, b as buildApplication, a as bundleApp, F as FusionEnv, r as resolveDefaultEnv, f as resolveProjectPackage, h as resolveAppManifest, i as initializeFramework, p as publishAppConfig, g as generateApplicationConfig, j as formatPath, H as HttpJsonResponseError, k as loadAppManifest, s as startAppDevServer, m as fileExistsSync, N as NoAccountsError, n as resolvePortalManifest, o as createDevServer, l as loadPortalManifest, q as getDefaultExportFromCjs, t as loadPortalSchema, w as writeFile$1, c as buildPortal, d as bundlePortal } from './portal-pack-qpEBTWNW.js';
9
9
  import { importJSON } from '@equinor/fusion-imports';
10
10
  import 'lodash.mergewith';
11
11
  import '@equinor/fusion-framework-dev-server';
@@ -174,10 +174,6 @@ const command$o = createCommand('build')
174
174
  await buildApplication({ log, manifest });
175
175
  });
176
176
 
177
- function getDefaultExportFromCjs (x) {
178
- return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
179
- }
180
-
181
177
  const defaultArchive = 'app-bundle.zip';
182
178
  /**
183
179
  * CLI command: `pack`
@@ -1473,20 +1469,11 @@ const startPortalDevServer = async (options) => {
1473
1469
  mode: 'development', // Force development mode
1474
1470
  command: 'serve', // Command is always 'serve' for dev
1475
1471
  };
1476
- // @todo - replace with resolvePortalManifest
1477
- // Dummy implementation for resolving the portal manifest
1478
- const resolvePortalManifest = async (...args) => {
1479
- // Returns a dummy manifest for development; replace with real logic as needed
1480
- return {
1481
- id: 'dev-portal-dummy',
1482
- build: {
1483
- entrypoint: resolve$1(env.root || '', 'src/index.ts'),
1484
- // if this is portal - portal-template-manifest
1485
- template: {},
1486
- },
1487
- };
1488
- };
1489
- const portalManifest = await resolvePortalManifest();
1472
+ // Resolve the portal manifest using the environment and manifest path
1473
+ const portalManifest = await resolvePortalManifest(env, pkg, {
1474
+ log,
1475
+ manifestPath: options?.manifest,
1476
+ });
1490
1477
  // Dummy implementation for resolving the portal config
1491
1478
  const resolvePortalConfig = async (...args) => ({ foo: 'bar' });
1492
1479
  // Resolve the portal config (replace with real logic as needed)
@@ -1496,15 +1483,19 @@ const startPortalDevServer = async (options) => {
1496
1483
  const devServer = await createDevServer(env, {
1497
1484
  template: {
1498
1485
  portal: {
1499
- id: portalManifest.id,
1486
+ id: portalManifest.name,
1500
1487
  },
1501
1488
  },
1502
1489
  portal: {
1503
1490
  manifest: portalManifest,
1504
1491
  config: portalConfig,
1505
1492
  },
1493
+ }, {
1506
1494
  server: {
1507
1495
  port: options?.server?.port,
1496
+ fs: {
1497
+ allow: [pkg.root], // Allow access to the root directory
1498
+ },
1508
1499
  },
1509
1500
  });
1510
1501
  await devServer.listen();
@@ -290,12 +290,10 @@ const applyAppRouting = (base, manifest, config) => {
290
290
  throw new Error('App manifest does not contain build information');
291
291
  }
292
292
  base.api.routes ??= [];
293
- console.warn('\n\n:::', 'Adding app routing for', appKey, 'version', build.version, 'tag', build.tag, ':::\n\n');
294
293
  // add rewrite to local fs
295
294
  base.api.routes.push({
296
295
  match: `/apps/bundles/apps/${appKey}@${build.version}/*path`,
297
296
  middleware: async (req, res, next) => {
298
- console.warn('\n\n\n--', req.params, '--\n\n\n');
299
297
  const location = req.params?.path;
300
298
  if (Array.isArray(location) === false) {
301
299
  next();
@@ -340,8 +338,9 @@ const applyAppRouting = (base, manifest, config) => {
340
338
  */
341
339
  const applyPortalRouting = (base, manifest, config) => {
342
340
  base.api.routes ??= [];
341
+ // @todo - might add correct tag handling later
343
342
  base.api.routes.push({
344
- match: `/portals/portals/${manifest.id}{@:tag}`,
343
+ match: `/portals/portals/${manifest.name}{@:tag}`,
345
344
  middleware: async (_req, res) => {
346
345
  res.writeHead(200, {
347
346
  'content-type': 'application/json',
@@ -350,7 +349,7 @@ const applyPortalRouting = (base, manifest, config) => {
350
349
  },
351
350
  });
352
351
  base.api.routes.push({
353
- match: `/portals/portals/${manifest.id}{@:tag}/config`,
352
+ match: `/portals/portals/${manifest.name}{@:tag}/config`,
354
353
  middleware: async (_req, res) => {
355
354
  res.writeHead(200, {
356
355
  'content-type': 'application/json',
@@ -386,7 +385,6 @@ const createDevServerConfig = (options) => {
386
385
  };
387
386
  },
388
387
  },
389
- server: options.server,
390
388
  };
391
389
  if (options.app) {
392
390
  applyAppRouting(config, options.app.manifest, options.app.config);
@@ -1463,6 +1461,10 @@ class ServerSentEventResponseError extends HttpResponseError {
1463
1461
  }
1464
1462
  }
1465
1463
 
1464
+ function getDefaultExportFromCjs (x) {
1465
+ return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
1466
+ }
1467
+
1466
1468
  var re = {exports: {}};
1467
1469
 
1468
1470
  var constants;
@@ -1819,11 +1821,11 @@ function requireIdentifiers () {
1819
1821
  return identifiers;
1820
1822
  }
1821
1823
 
1822
- var semver$1;
1824
+ var semver$2;
1823
1825
  var hasRequiredSemver$1;
1824
1826
 
1825
1827
  function requireSemver$1 () {
1826
- if (hasRequiredSemver$1) return semver$1;
1828
+ if (hasRequiredSemver$1) return semver$2;
1827
1829
  hasRequiredSemver$1 = 1;
1828
1830
 
1829
1831
  const debug = requireDebug();
@@ -2142,8 +2144,8 @@ function requireSemver$1 () {
2142
2144
  }
2143
2145
  }
2144
2146
 
2145
- semver$1 = SemVer;
2146
- return semver$1;
2147
+ semver$2 = SemVer;
2148
+ return semver$2;
2147
2149
  }
2148
2150
 
2149
2151
  var parse_1;
@@ -4063,11 +4065,11 @@ function requireSubset () {
4063
4065
  return subset_1;
4064
4066
  }
4065
4067
 
4066
- var semver;
4068
+ var semver$1;
4067
4069
  var hasRequiredSemver;
4068
4070
 
4069
4071
  function requireSemver () {
4070
- if (hasRequiredSemver) return semver;
4072
+ if (hasRequiredSemver) return semver$1;
4071
4073
  hasRequiredSemver = 1;
4072
4074
 
4073
4075
  // just pre-load all the stuff that index.js lazily exports
@@ -4112,7 +4114,7 @@ function requireSemver () {
4112
4114
  const intersects = requireIntersects();
4113
4115
  const simplifyRange = requireSimplify();
4114
4116
  const subset = requireSubset();
4115
- semver = {
4117
+ semver$1 = {
4116
4118
  parse,
4117
4119
  valid,
4118
4120
  clean,
@@ -4159,18 +4161,19 @@ function requireSemver () {
4159
4161
  compareIdentifiers: identifiers.compareIdentifiers,
4160
4162
  rcompareIdentifiers: identifiers.rcompareIdentifiers,
4161
4163
  };
4162
- return semver;
4164
+ return semver$1;
4163
4165
  }
4164
4166
 
4165
4167
  var semverExports = requireSemver();
4168
+ var semver = /*@__PURE__*/getDefaultExportFromCjs(semverExports);
4166
4169
 
4167
4170
  /**
4168
4171
  * Extension of {@link SemVer} to expose `satisfies`
4169
4172
  * @see {@link [SemVer](https://www.npmjs.com/package/semver)}
4170
4173
  */
4171
- class SemanticVersion extends semverExports.SemVer {
4174
+ class SemanticVersion extends semver.SemVer {
4172
4175
  satisfies(arg) {
4173
- return semverExports.satisfies(this, arg);
4176
+ return semver.satisfies(this, arg);
4174
4177
  }
4175
4178
  }
4176
4179
 
@@ -11529,11 +11532,14 @@ const startAppDevServer = async (options) => {
11529
11532
  // Resolve the application config using the environment and config path
11530
11533
  const appConfig = await resolveAppConfig(env, { log, config: options?.config });
11531
11534
  // Attempt to resolve the portal entry point if the portal is local
11532
- let portalEntryPoint;
11535
+ let templateEntry;
11536
+ let templateFilePath;
11533
11537
  const portalFilePath = fileURLToPath(import.meta.resolve(portalId));
11534
11538
  if (fileExistsSync(portalFilePath)) {
11535
11539
  // If the portal file exists locally, set the entry point for the dev server
11536
- portalEntryPoint = `/@fs${portalFilePath}`;
11540
+ templateEntry = portalFilePath;
11541
+ // Resolve the directory of the portal file for potential asset paths
11542
+ templateFilePath = await readPackageUp({ cwd: portalFilePath }).then((x) => x ? dirname(x?.path) : undefined);
11537
11543
  }
11538
11544
  else {
11539
11545
  // Otherwise, log that the portal is external and skip entry point resolution
@@ -11548,13 +11554,14 @@ const startAppDevServer = async (options) => {
11548
11554
  },
11549
11555
  },
11550
11556
  // If a local portal entry point is found, add it to the config
11551
- ...(portalEntryPoint
11557
+ ...(templateEntry
11552
11558
  ? {
11553
11559
  portal: {
11554
11560
  manifest: {
11555
- id: portalId,
11561
+ name: portalId,
11556
11562
  build: {
11557
- entrypoint: portalEntryPoint,
11563
+ templateEntry,
11564
+ assetPath: '/@fs',
11558
11565
  },
11559
11566
  },
11560
11567
  // @todo - replace with real portal config when available
@@ -11566,9 +11573,13 @@ const startAppDevServer = async (options) => {
11566
11573
  manifest: appManifest,
11567
11574
  config: appConfig,
11568
11575
  },
11576
+ }, {
11569
11577
  server: {
11570
- port: options?.port || 3000, // Default to port 3000 if not specified
11571
- host: 'localhost', // Use localhost for local development
11578
+ port: options?.port || 3000,
11579
+ host: 'localhost',
11580
+ fs: {
11581
+ allow: templateFilePath ? [pkg.root, templateFilePath] : [pkg.root],
11582
+ },
11572
11583
  },
11573
11584
  });
11574
11585
  await devServer.listen();
@@ -11721,7 +11732,7 @@ const PortalManifestSchema = z$1.object({
11721
11732
  * @template T - The type of the portal manifest, extending Partial<PortalManifest>. Defaults to PortalManifest.
11722
11733
  * @param env - The runtime environment containing configuration such as the root directory and environment name.
11723
11734
  * @param options - Optional settings for loading the manifest.
11724
- * @returns A promise that resolves to a `LoadAppManifestResult<T>` containing the loaded manifest, the file path, and the file extension.
11735
+ * @returns A promise that resolves to a `LoadPortalManifestResult<T>` containing the loaded manifest, the file path, and the file extension.
11725
11736
  *
11726
11737
  * This function is the main entry point for loading portal manifest files. It supports merging with a base manifest, custom file name suggestions, and extension filtering.
11727
11738
  *
@@ -11811,13 +11822,13 @@ const createPortalManifestFromPackage = (env, packageJson) => {
11811
11822
  assert(packageJson.name, 'expected [name] in packageJson');
11812
11823
  assert(packageJson.version, 'expected [version] in packageJson');
11813
11824
  // Determine the entry point for the portal based on environment (prod/dev)
11814
- const entryPoint = resolvePortalEntryPoint(env, packageJson);
11815
- // Extract appKey from package name by removing the scope and leading @
11816
- // Example: '@scope/app-name' -> 'app-name'
11825
+ const templateEntry = resolvePortalEntryPoint(env, packageJson);
11826
+ // Extract portal id from package name by removing the scope and leading @
11827
+ // Example: '@scope/portal-name' -> 'portal-name'
11817
11828
  const name = packageJson.name.replace(/^@|\w.*\//gm, '');
11818
11829
  const version = packageJson.version;
11819
11830
  // Only set assetPath when not building for production (used for dev/preview)
11820
- const assetPath = env.command === 'build' ? undefined : `bundles/portals/${name}/${version}`;
11831
+ const assetPath = env.command === 'build' ? undefined : '/@fs';
11821
11832
  // Attempt to resolve GitHub repo from package, fallback to local git remote
11822
11833
  const githubRepo = resolveRepoFromPackage(packageJson) ?? resolveGitRemoteUrl();
11823
11834
  // Construct the portal manifest object with all required fields
@@ -11826,7 +11837,7 @@ const createPortalManifestFromPackage = (env, packageJson) => {
11826
11837
  displayName: packageJson.name,
11827
11838
  description: packageJson.description || '',
11828
11839
  build: {
11829
- templateEntry: entryPoint,
11840
+ templateEntry,
11830
11841
  schemaEntry: 'portal.schema.json',
11831
11842
  assetPath,
11832
11843
  githubRepo,
@@ -12070,4 +12081,4 @@ const bundlePortal = async (options) => {
12070
12081
  };
12071
12082
  };
12072
12083
 
12073
- export { FusionEnv as F, HttpJsonResponseError as H, NoAccountsError as N, Spinner as S, bundleApp as a, buildApplication as b, buildPortal as c, bundlePortal as d, pack as e, resolveProjectPackage as f, generateApplicationConfig as g, resolveAppManifest as h, initializeFramework as i, formatPath as j, loadAppManifest as k, loadPortalManifest as l, fileExistsSync as m, createDevServer as n, loadPortalSchema as o, publishAppConfig as p, resolveDefaultEnv as r, startAppDevServer as s, writeFile as w };
12084
+ export { FusionEnv as F, HttpJsonResponseError as H, NoAccountsError as N, Spinner as S, bundleApp as a, buildApplication as b, buildPortal as c, bundlePortal as d, pack as e, resolveProjectPackage as f, generateApplicationConfig as g, resolveAppManifest as h, initializeFramework as i, formatPath as j, loadAppManifest as k, loadPortalManifest as l, fileExistsSync as m, resolvePortalManifest as n, createDevServer as o, publishAppConfig as p, getDefaultExportFromCjs as q, resolveDefaultEnv as r, startAppDevServer as s, loadPortalSchema as t, writeFile as w };
@@ -4,6 +4,8 @@ import { resolveAppConfig } from './helpers/resolve-app-config.js';
4
4
  import { resolveProjectPackage } from './helpers/resolve-project-package.js';
5
5
  import { resolveAppManifest } from './helpers/resolve-app-manifest.js';
6
6
  import { createDevServer } from './utils/create-dev-server.js';
7
+ import { readPackageUp } from 'read-package-up';
8
+ import { dirname } from 'node:path';
7
9
  /**
8
10
  * Starts the application development server for local development.
9
11
  *
@@ -37,11 +39,14 @@ export const startAppDevServer = async (options) => {
37
39
  // Resolve the application config using the environment and config path
38
40
  const appConfig = await resolveAppConfig(env, { log, config: options?.config });
39
41
  // Attempt to resolve the portal entry point if the portal is local
40
- let portalEntryPoint;
42
+ let templateEntry;
43
+ let templateFilePath;
41
44
  const portalFilePath = fileURLToPath(import.meta.resolve(portalId));
42
45
  if (fileExistsSync(portalFilePath)) {
43
46
  // If the portal file exists locally, set the entry point for the dev server
44
- portalEntryPoint = `/@fs${portalFilePath}`;
47
+ templateEntry = portalFilePath;
48
+ // Resolve the directory of the portal file for potential asset paths
49
+ templateFilePath = await readPackageUp({ cwd: portalFilePath }).then((x) => x ? dirname(x?.path) : undefined);
45
50
  }
46
51
  else {
47
52
  // Otherwise, log that the portal is external and skip entry point resolution
@@ -56,13 +61,14 @@ export const startAppDevServer = async (options) => {
56
61
  },
57
62
  },
58
63
  // If a local portal entry point is found, add it to the config
59
- ...(portalEntryPoint
64
+ ...(templateEntry
60
65
  ? {
61
66
  portal: {
62
67
  manifest: {
63
- id: portalId,
68
+ name: portalId,
64
69
  build: {
65
- entrypoint: portalEntryPoint,
70
+ templateEntry,
71
+ assetPath: '/@fs',
66
72
  },
67
73
  },
68
74
  // @todo - replace with real portal config when available
@@ -74,9 +80,13 @@ export const startAppDevServer = async (options) => {
74
80
  manifest: appManifest,
75
81
  config: appConfig,
76
82
  },
83
+ }, {
77
84
  server: {
78
- port: options?.port || 3000, // Default to port 3000 if not specified
79
- host: 'localhost', // Use localhost for local development
85
+ port: options?.port || 3000,
86
+ host: 'localhost',
87
+ fs: {
88
+ allow: templateFilePath ? [pkg.root, templateFilePath] : [pkg.root],
89
+ },
80
90
  },
81
91
  });
82
92
  await devServer.listen();
@@ -1 +1 @@
1
- {"version":3,"file":"app-dev.js","sourceRoot":"","sources":["../../../src/bin/app-dev.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-dev.js","sourceRoot":"","sources":["../../../src/bin/app-dev.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { resolve } from 'node:path';
2
1
  import { createDevServer } from './utils';
3
2
  import { resolveProjectPackage } from './helpers/resolve-project-package.js';
3
+ import { resolvePortalManifest } from './helpers/resolve-portal-manifest';
4
4
  /**
5
5
  * Starts the portal development server for local development and testing.
6
6
  *
@@ -14,8 +14,6 @@ import { resolveProjectPackage } from './helpers/resolve-project-package.js';
14
14
  */
15
15
  export const startPortalDevServer = async (options) => {
16
16
  const { log } = options ?? {};
17
- // The portalId is currently hardcoded, but could be made configurable in the future
18
- const portalId = '@equinor/fusion-framework-dev-portal';
19
17
  // Resolve the application's package.json for root and metadata
20
18
  const pkg = await resolveProjectPackage(log);
21
19
  // Setup the runtime environment for the dev server
@@ -26,20 +24,11 @@ export const startPortalDevServer = async (options) => {
26
24
  mode: 'development', // Force development mode
27
25
  command: 'serve', // Command is always 'serve' for dev
28
26
  };
29
- // @todo - replace with resolvePortalManifest
30
- // Dummy implementation for resolving the portal manifest
31
- const resolvePortalManifest = async (...args) => {
32
- // Returns a dummy manifest for development; replace with real logic as needed
33
- return {
34
- id: 'dev-portal-dummy',
35
- build: {
36
- entrypoint: resolve(env.root || '', 'src/index.ts'),
37
- // if this is portal - portal-template-manifest
38
- template: {},
39
- },
40
- };
41
- };
42
- const portalManifest = await resolvePortalManifest();
27
+ // Resolve the portal manifest using the environment and manifest path
28
+ const portalManifest = await resolvePortalManifest(env, pkg, {
29
+ log,
30
+ manifestPath: options?.manifest,
31
+ });
43
32
  // Dummy implementation for resolving the portal config
44
33
  const resolvePortalConfig = async (...args) => ({ foo: 'bar' });
45
34
  // Resolve the portal config (replace with real logic as needed)
@@ -49,15 +38,19 @@ export const startPortalDevServer = async (options) => {
49
38
  const devServer = await createDevServer(env, {
50
39
  template: {
51
40
  portal: {
52
- id: portalManifest.id,
41
+ id: portalManifest.name,
53
42
  },
54
43
  },
55
44
  portal: {
56
45
  manifest: portalManifest,
57
46
  config: portalConfig,
58
47
  },
48
+ }, {
59
49
  server: {
60
50
  port: options?.server?.port,
51
+ fs: {
52
+ allow: [pkg.root], // Allow access to the root directory
53
+ },
61
54
  },
62
55
  });
63
56
  await devServer.listen();
@@ -1 +1 @@
1
- {"version":3,"file":"portal-dev.js","sourceRoot":"","sources":["../../../src/bin/portal-dev.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAAE,eAAe,EAAsB,MAAM,SAAS,CAAC;AAE9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAE7E;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAE,OAuB1C,EAAE,EAAE;IACH,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IAE9B,oFAAoF;IACpF,MAAM,QAAQ,GAAG,sCAAsC,CAAC;IAExD,+DAA+D;IAC/D,MAAM,GAAG,GAAG,MAAM,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAE7C,mDAAmD;IACnD,MAAM,GAAG,GAAe;QACtB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,WAAW,EAAE,OAAO,EAAE,oCAAoC;QAC1D,GAAG,OAAO,EAAE,GAAG,EAAE,+BAA+B;QAChD,IAAI,EAAE,aAAa,EAAE,yBAAyB;QAC9C,OAAO,EAAE,OAAO,EAAE,oCAAoC;KACvD,CAAC;IAEF,6CAA6C;IAC7C,yDAAyD;IACzD,MAAM,qBAAqB,GAAG,KAAK,EAAE,GAAG,IAAe,EAAE,EAAE;QACzD,8EAA8E;QAC9E,OAAO;YACL,EAAE,EAAE,kBAAkB;YACtB,KAAK,EAAE;gBACL,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,cAAc,CAAC;gBACnD,+CAA+C;gBAC/C,QAAQ,EAAE,EAAE;aACb;SACF,CAAC;IACJ,CAAC,CAAC;IACF,MAAM,cAAc,GAAG,MAAM,qBAAqB,EAAE,CAAC;IAErD,uDAAuD;IACvD,MAAM,mBAAmB,GAAG,KAAK,EAAE,GAAG,IAAe,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;IAE3E,gEAAgE;IAChE,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAEtF,GAAG,EAAE,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAEjD,4EAA4E;IAC5E,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE;QAC3C,QAAQ,EAAE;YACR,MAAM,EAAE;gBACN,EAAE,EAAE,cAAc,CAAC,EAAE;aACtB;SACF;QACD,MAAM,EAAE;YACN,QAAQ,EAAE,cAAc;YACxB,MAAM,EAAE,YAAY;SACrB;QACD,MAAM,EAAE;YACN,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI;SAC5B;KACF,CAAC,CAAC;IAEH,MAAM,SAAS,CAAC,MAAM,EAAE,CAAC;IAEzB,gDAAgD;IAChD,GAAG,EAAE,OAAO,CAAC,qCAAqC,SAAS,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAExF,iDAAiD;IACjD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC"}
1
+ {"version":3,"file":"portal-dev.js","sourceRoot":"","sources":["../../../src/bin/portal-dev.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAsB,MAAM,SAAS,CAAC;AAE9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAE1E;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAE,OAuB1C,EAAE,EAAE;IACH,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IAE9B,+DAA+D;IAC/D,MAAM,GAAG,GAAG,MAAM,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAE7C,mDAAmD;IACnD,MAAM,GAAG,GAAe;QACtB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,WAAW,EAAE,OAAO,EAAE,oCAAoC;QAC1D,GAAG,OAAO,EAAE,GAAG,EAAE,+BAA+B;QAChD,IAAI,EAAE,aAAa,EAAE,yBAAyB;QAC9C,OAAO,EAAE,OAAO,EAAE,oCAAoC;KACvD,CAAC;IAEF,sEAAsE;IACtE,MAAM,cAAc,GAAG,MAAM,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE;QAC3D,GAAG;QACH,YAAY,EAAE,OAAO,EAAE,QAAQ;KAChC,CAAC,CAAC;IAEH,uDAAuD;IACvD,MAAM,mBAAmB,GAAG,KAAK,EAAE,GAAG,IAAe,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;IAE3E,gEAAgE;IAChE,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAEtF,GAAG,EAAE,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAEjD,4EAA4E;IAC5E,MAAM,SAAS,GAAG,MAAM,eAAe,CACrC,GAAG,EACH;QACE,QAAQ,EAAE;YACR,MAAM,EAAE;gBACN,EAAE,EAAE,cAAc,CAAC,IAAI;aACxB;SACF;QACD,MAAM,EAAE;YACN,QAAQ,EAAE,cAAc;YACxB,MAAM,EAAE,YAAY;SACrB;KACF,EACD;QACE,MAAM,EAAE;YACN,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI;YAC3B,EAAE,EAAE;gBACF,KAAK,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,qCAAqC;aACzD;SACF;KACF,CACF,CAAC;IAEF,MAAM,SAAS,CAAC,MAAM,EAAE,CAAC;IAEzB,gDAAgD;IAChD,GAAG,EAAE,OAAO,CAAC,qCAAqC,SAAS,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAExF,iDAAiD;IACjD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC"}
@@ -53,12 +53,10 @@ const applyAppRouting = (base, manifest, config) => {
53
53
  throw new Error('App manifest does not contain build information');
54
54
  }
55
55
  base.api.routes ??= [];
56
- console.warn('\n\n:::', 'Adding app routing for', appKey, 'version', build.version, 'tag', build.tag, ':::\n\n');
57
56
  // add rewrite to local fs
58
57
  base.api.routes.push({
59
58
  match: `/apps/bundles/apps/${appKey}@${build.version}/*path`,
60
59
  middleware: async (req, res, next) => {
61
- console.warn('\n\n\n--', req.params, '--\n\n\n');
62
60
  const location = req.params?.path;
63
61
  if (Array.isArray(location) === false) {
64
62
  next();
@@ -103,8 +101,9 @@ const applyAppRouting = (base, manifest, config) => {
103
101
  */
104
102
  const applyPortalRouting = (base, manifest, config) => {
105
103
  base.api.routes ??= [];
104
+ // @todo - might add correct tag handling later
106
105
  base.api.routes.push({
107
- match: `/portals/portals/${manifest.id}{@:tag}`,
106
+ match: `/portals/portals/${manifest.name}{@:tag}`,
108
107
  middleware: async (_req, res) => {
109
108
  res.writeHead(200, {
110
109
  'content-type': 'application/json',
@@ -113,7 +112,7 @@ const applyPortalRouting = (base, manifest, config) => {
113
112
  },
114
113
  });
115
114
  base.api.routes.push({
116
- match: `/portals/portals/${manifest.id}{@:tag}/config`,
115
+ match: `/portals/portals/${manifest.name}{@:tag}/config`,
117
116
  middleware: async (_req, res) => {
118
117
  res.writeHead(200, {
119
118
  'content-type': 'application/json',
@@ -149,7 +148,6 @@ export const createDevServerConfig = (options) => {
149
148
  };
150
149
  },
151
150
  },
152
- server: options.server,
153
151
  };
154
152
  if (options.app) {
155
153
  applyAppRouting(config, options.app.manifest, options.app.config);
@@ -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":"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"}
@@ -50,13 +50,13 @@ export const createPortalManifestFromPackage = (env, packageJson) => {
50
50
  assert(packageJson.name, 'expected [name] in packageJson');
51
51
  assert(packageJson.version, 'expected [version] in packageJson');
52
52
  // Determine the entry point for the portal based on environment (prod/dev)
53
- const entryPoint = resolvePortalEntryPoint(env, packageJson);
54
- // Extract appKey from package name by removing the scope and leading @
55
- // Example: '@scope/app-name' -> 'app-name'
53
+ const templateEntry = resolvePortalEntryPoint(env, packageJson);
54
+ // Extract portal id from package name by removing the scope and leading @
55
+ // Example: '@scope/portal-name' -> 'portal-name'
56
56
  const name = packageJson.name.replace(/^@|\w.*\//gm, '');
57
57
  const version = packageJson.version;
58
58
  // Only set assetPath when not building for production (used for dev/preview)
59
- const assetPath = env.command === 'build' ? undefined : `bundles/portals/${name}/${version}`;
59
+ const assetPath = env.command === 'build' ? undefined : '/@fs';
60
60
  // Attempt to resolve GitHub repo from package, fallback to local git remote
61
61
  const githubRepo = resolveRepoFromPackage(packageJson) ?? resolveGitRemoteUrl();
62
62
  // Construct the portal manifest object with all required fields
@@ -65,7 +65,7 @@ export const createPortalManifestFromPackage = (env, packageJson) => {
65
65
  displayName: packageJson.name,
66
66
  description: packageJson.description || '',
67
67
  build: {
68
- templateEntry: entryPoint,
68
+ templateEntry,
69
69
  schemaEntry: 'portal.schema.json',
70
70
  assetPath,
71
71
  githubRepo,
@@ -1 +1 @@
1
- {"version":3,"file":"create-portal-manifest.js","sourceRoot":"","sources":["../../../../src/lib/portal/create-portal-manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-portal-manifest.js","sourceRoot":"","sources":["../../../../src/lib/portal/create-portal-manifest.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAI3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE;;;;;;;;;;GAUG;AACH,MAAM,uBAAuB,GAAG,CAAC,GAAe,EAAE,WAAwB,EAAU,EAAE;IACpF,gFAAgF;IAChF,IAAI,GAAG,CAAC,OAAO,KAAK,OAAO,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;QAC7C,qEAAqE;QACrE,OAAO,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,MAAM,IAAI,gBAAgB,CAAC;IACpE,CAAC;IACD,iEAAiE;IACjE,OAAO,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAC7C,GAAe,EACf,WAAwB,EACR,EAAE;IAClB,2EAA2E;IAC3E,YAAY,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;IAClD,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,gCAAgC,CAAC,CAAC;IAC3D,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,mCAAmC,CAAC,CAAC;IAEjE,2EAA2E;IAC3E,MAAM,aAAa,GAAG,uBAAuB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAEhE,0EAA0E;IAC1E,iDAAiD;IACjD,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;IAEpC,6EAA6E;IAC7E,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;IAE/D,4EAA4E;IAC5E,MAAM,UAAU,GAAG,sBAAsB,CAAC,WAAW,CAAC,IAAI,mBAAmB,EAAE,CAAC;IAEhF,gEAAgE;IAChE,MAAM,QAAQ,GAAG;QACf,IAAI;QACJ,WAAW,EAAE,WAAW,CAAC,IAAI;QAC7B,WAAW,EAAE,WAAW,CAAC,WAAW,IAAI,EAAE;QAC1C,KAAK,EAAE;YACL,aAAa;YACb,WAAW,EAAE,oBAAoB;YACjC,SAAS;YACT,UAAU;YACV,OAAO;YACP,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,SAAS,EAAE,mBAAmB,EAAE;YAChC,WAAW,EAAE;gBACX,GAAG,kBAAkB,EAAE;gBACvB,mCAAmC;aACpC;YACD,WAAW,EAAE,WAAW,CAAC,QAAQ;YACjC,iBAAiB,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC;SAC5D;KACF,CAAC;IAEF,wDAAwD;IACxD,MAAM,MAAM,GAAG,oBAAoB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACxD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM;aAChC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;aACjD,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,CAAC,sDAAsD,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAChG,CAAC;IACD,OAAO,MAAM,CAAC,IAAsB,CAAC;AACvC,CAAC,CAAC"}
@@ -6,7 +6,7 @@ import { PortalManifestSchema } from './portal-manifest.schema.js';
6
6
  * @template T - The type of the portal manifest, extending Partial<PortalManifest>. Defaults to PortalManifest.
7
7
  * @param env - The runtime environment containing configuration such as the root directory and environment name.
8
8
  * @param options - Optional settings for loading the manifest.
9
- * @returns A promise that resolves to a `LoadAppManifestResult<T>` containing the loaded manifest, the file path, and the file extension.
9
+ * @returns A promise that resolves to a `LoadPortalManifestResult<T>` containing the loaded manifest, the file path, and the file extension.
10
10
  *
11
11
  * This function is the main entry point for loading portal manifest files. It supports merging with a base manifest, custom file name suggestions, and extension filtering.
12
12
  *
@@ -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,EACH,EAAE;IACrC,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,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,3 +1,4 @@
1
+ import { z } from 'zod';
1
2
  /**
2
3
  * Zod schema for validating the build section of the PortalManifest object.
3
4
  *
@@ -7,7 +8,6 @@
7
8
  * - Maintainers: Update this schema if the build contract changes.
8
9
  * - This schema is the canonical source for portal build validation and structure.
9
10
  */
10
- import { z } from 'zod';
11
11
  export const PortalManifestBuildSchema = z.object({
12
12
  // Main entry point for the portal (required)
13
13
  templateEntry: z
@@ -1 +1 @@
1
- {"version":3,"file":"portal-manifest.schema.js","sourceRoot":"","sources":["../../../../src/lib/portal/portal-manifest.schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"portal-manifest.schema.js","sourceRoot":"","sources":["../../../../src/lib/portal/portal-manifest.schema.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  // Generated by genversion.
2
- export const version = '11.0.0-next.4';
2
+ export const version = '11.0.0-next.5';
3
3
  //# sourceMappingURL=version.js.map