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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/bin/build/bin.js +7 -7
  3. package/bin/build/cli.js +426 -188
  4. package/bin/build/{portal-pack-qpEBTWNW.js → portal-config-publish-OZ7Ocme4.js} +219 -22
  5. package/dist/esm/bin/helpers/resolve-portal-config.js +46 -0
  6. package/dist/esm/bin/helpers/resolve-portal-config.js.map +1 -0
  7. package/dist/esm/bin/index.js +2 -0
  8. package/dist/esm/bin/index.js.map +1 -1
  9. package/dist/esm/bin/portal-config-publish.js +74 -0
  10. package/dist/esm/bin/portal-config-publish.js.map +1 -0
  11. package/dist/esm/bin/portal-config.js +48 -0
  12. package/dist/esm/bin/portal-config.js.map +1 -0
  13. package/dist/esm/bin/portal-dev.js +3 -4
  14. package/dist/esm/bin/portal-dev.js.map +1 -1
  15. package/dist/esm/cli/commands/app/alias.js +4 -4
  16. package/dist/esm/cli/commands/app/alias.js.map +1 -1
  17. package/dist/esm/cli/commands/app/build.js +10 -3
  18. package/dist/esm/cli/commands/app/build.js.map +1 -1
  19. package/dist/esm/cli/commands/app/check.js +15 -5
  20. package/dist/esm/cli/commands/app/check.js.map +1 -1
  21. package/dist/esm/cli/commands/app/config.js +20 -8
  22. package/dist/esm/cli/commands/app/config.js.map +1 -1
  23. package/dist/esm/cli/commands/app/dev.js +10 -4
  24. package/dist/esm/cli/commands/app/dev.js.map +1 -1
  25. package/dist/esm/cli/commands/app/index.js +18 -1
  26. package/dist/esm/cli/commands/app/index.js.map +1 -1
  27. package/dist/esm/cli/commands/app/manifest.js +12 -3
  28. package/dist/esm/cli/commands/app/manifest.js.map +1 -1
  29. package/dist/esm/cli/commands/app/pack.js +16 -9
  30. package/dist/esm/cli/commands/app/pack.js.map +1 -1
  31. package/dist/esm/cli/commands/app/publish.js +15 -4
  32. package/dist/esm/cli/commands/app/publish.js.map +1 -1
  33. package/dist/esm/cli/commands/app/tag.js +16 -4
  34. package/dist/esm/cli/commands/app/tag.js.map +1 -1
  35. package/dist/esm/cli/commands/app/upload.js +13 -8
  36. package/dist/esm/cli/commands/app/upload.js.map +1 -1
  37. package/dist/esm/cli/commands/auth/index.js +13 -1
  38. package/dist/esm/cli/commands/auth/index.js.map +1 -1
  39. package/dist/esm/cli/commands/auth/login.js +11 -7
  40. package/dist/esm/cli/commands/auth/login.js.map +1 -1
  41. package/dist/esm/cli/commands/auth/logout.js +10 -7
  42. package/dist/esm/cli/commands/auth/logout.js.map +1 -1
  43. package/dist/esm/cli/commands/auth/token.js +13 -9
  44. package/dist/esm/cli/commands/auth/token.js.map +1 -1
  45. package/dist/esm/cli/commands/disco/resolve.js +13 -16
  46. package/dist/esm/cli/commands/disco/resolve.js.map +1 -1
  47. package/dist/esm/cli/commands/portal/build.js +12 -7
  48. package/dist/esm/cli/commands/portal/build.js.map +1 -1
  49. package/dist/esm/cli/commands/portal/config.js +101 -0
  50. package/dist/esm/cli/commands/portal/config.js.map +1 -0
  51. package/dist/esm/cli/commands/portal/dev.js +9 -6
  52. package/dist/esm/cli/commands/portal/dev.js.map +1 -1
  53. package/dist/esm/cli/commands/portal/index.js +3 -1
  54. package/dist/esm/cli/commands/portal/index.js.map +1 -1
  55. package/dist/esm/cli/commands/portal/manifest.js +11 -8
  56. package/dist/esm/cli/commands/portal/manifest.js.map +1 -1
  57. package/dist/esm/cli/commands/portal/pack.js +13 -8
  58. package/dist/esm/cli/commands/portal/pack.js.map +1 -1
  59. package/dist/esm/cli/commands/portal/publish.js +11 -8
  60. package/dist/esm/cli/commands/portal/publish.js.map +1 -1
  61. package/dist/esm/cli/commands/portal/schema.js +10 -8
  62. package/dist/esm/cli/commands/portal/schema.js.map +1 -1
  63. package/dist/esm/cli/commands/portal/tag.js +12 -8
  64. package/dist/esm/cli/commands/portal/tag.js.map +1 -1
  65. package/dist/esm/cli/commands/portal/upload.js +8 -7
  66. package/dist/esm/cli/commands/portal/upload.js.map +1 -1
  67. package/dist/esm/lib/portal/index.js +2 -0
  68. package/dist/esm/lib/portal/index.js.map +1 -1
  69. package/dist/esm/lib/portal/load-portal-config.js +49 -0
  70. package/dist/esm/lib/portal/load-portal-config.js.map +1 -0
  71. package/dist/esm/lib/portal/portal-config.js +23 -0
  72. package/dist/esm/lib/portal/portal-config.js.map +1 -0
  73. package/dist/esm/version.js +1 -1
  74. package/dist/tsconfig.tsbuildinfo +1 -1
  75. package/dist/types/bin/helpers/resolve-portal-config.d.ts +18 -0
  76. package/dist/types/bin/index.d.ts +2 -0
  77. package/dist/types/bin/portal-config-publish.d.ts +26 -0
  78. package/dist/types/bin/portal-config.d.ts +46 -0
  79. package/dist/types/cli/commands/app/config.d.ts +3 -3
  80. package/dist/types/cli/commands/app/pack.d.ts +1 -1
  81. package/dist/types/cli/commands/auth/logout.d.ts +0 -4
  82. package/dist/types/cli/commands/auth/token.d.ts +0 -5
  83. package/dist/types/cli/commands/disco/resolve.d.ts +0 -7
  84. package/dist/types/cli/commands/portal/config.d.ts +32 -0
  85. package/dist/types/lib/portal/index.d.ts +2 -0
  86. package/dist/types/lib/portal/load-portal-config.d.ts +83 -0
  87. package/dist/types/lib/portal/portal-config.d.ts +69 -0
  88. package/dist/types/version.d.ts +1 -1
  89. package/package.json +8 -7
@@ -1,3 +1,8 @@
1
+ import { createCommand } from 'commander';
2
+ import { ConsoleLogger } from '../../../bin/utils';
3
+ import { initializeFramework } from '../../../lib/framework.node.js';
4
+ import { withAuthOptions } from '../../options/auth.js';
5
+ import { createEnvOption } from '../../options/env';
1
6
  /**
2
7
  * The `resolve` command resolves and displays information about a service registered in Fusion service discovery.
3
8
  *
@@ -5,13 +10,6 @@
5
10
  *
6
11
  * Supports environment selection and authentication options.
7
12
  *
8
- * ## Examples
9
- *
10
- * ```sh
11
- * $ fusion resolve my-service
12
- * $ fusion resolve my-service --env prod
13
- * ```
14
- *
15
13
  * @command resolve
16
14
  * @description Resolve and display information about a service registered in Fusion service discovery.
17
15
  * @argument {string} service - Name of the service to resolve in Fusion service discovery.
@@ -21,21 +19,20 @@
21
19
  * @option {string} --clientId - Client ID for authentication.
22
20
  * @returns {Promise<void>} Prints the resolved service details to the console.
23
21
  */
24
- import { createCommand } from 'commander';
25
- import { ConsoleLogger } from '../../../bin/utils';
26
- import { initializeFramework } from '../../../lib/framework.node.js';
27
- import { withAuthOptions } from '../../options/auth.js';
28
- import { createEnvOption } from '../../options/env';
29
22
  const command = withAuthOptions(createCommand('resolve')
30
- .description([
23
+ .description('Resolve and display information about a service registered in Fusion service discovery.')
24
+ .addHelpText('after', [
25
+ '',
31
26
  'Resolve and display information about a service registered in Fusion service discovery.',
32
27
  '',
33
28
  'This command looks up a service by name and prints its discovery details using the current authentication and environment.',
34
- 'Supports environment selection and authentication options.',
35
29
  '',
36
30
  'Examples:',
37
- ' $ fusion resolve my-service',
38
- ' $ fusion resolve my-service --env prod',
31
+ ' $ fusion-framework-cli resolve my-service',
32
+ ' $ fusion-framework-cli resolve my-service --env prod',
33
+ ' $ fusion-framework-cli resolve my-service --env test --tenantId my-tenant --clientId my-client-id',
34
+ '',
35
+ 'The command will print the resolved service details to the console.',
39
36
  ].join('\n'))
40
37
  .addOption(createEnvOption({ allowDev: false }))
41
38
  .argument('<service>', 'Name of the service to resolve in Fusion service discovery')
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../../../src/cli/commands/disco/resolve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,OAAO,GAAG,eAAe,CAC7B,aAAa,CAAC,SAAS,CAAC;KACrB,WAAW,CACV;IACE,yFAAyF;IACzF,EAAE;IACF,4HAA4H;IAC5H,4DAA4D;IAC5D,EAAE;IACF,WAAW;IACX,+BAA+B;IAC/B,0CAA0C;CAC3C,CAAC,IAAI,CAAC,IAAI,CAAC,CACb;KACA,SAAS,CAAC,eAAe,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;KAC/C,QAAQ,CAAC,WAAW,EAAE,4DAA4D,CAAC;KACnF,MAAM,CAAC,KAAK,EAAE,OAAe,EAAE,OAAO,EAAE,EAAE;IACzC,MAAM,GAAG,GAAG,IAAI,aAAa,CAAC,eAAe,CAAC,CAAC;IAE/C,GAAG,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC;QAC1C,GAAG,EAAE,OAAO,CAAC,WAAW;QACxB,IAAI,EAAE;YACJ,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B;KACF,CAAC,CAAC;IACH,GAAG,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;IAE5C,GAAG,CAAC,KAAK,CAAC,qBAAqB,OAAO,KAAK,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,gBAAgB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAC3E,GAAG,CAAC,OAAO,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;IAE3C,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAC3B,CAAC,CAAC,CACL,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../../../src/cli/commands/disco/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,GAAG,eAAe,CAC7B,aAAa,CAAC,SAAS,CAAC;KACrB,WAAW,CACV,yFAAyF,CAC1F;KACA,WAAW,CACV,OAAO,EACP;IACE,EAAE;IACF,yFAAyF;IACzF,EAAE;IACF,4HAA4H;IAC5H,EAAE;IACF,WAAW;IACX,6CAA6C;IAC7C,wDAAwD;IACxD,qGAAqG;IACrG,EAAE;IACF,qEAAqE;CACtE,CAAC,IAAI,CAAC,IAAI,CAAC,CACb;KACA,SAAS,CAAC,eAAe,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;KAC/C,QAAQ,CAAC,WAAW,EAAE,4DAA4D,CAAC;KACnF,MAAM,CAAC,KAAK,EAAE,OAAe,EAAE,OAAO,EAAE,EAAE;IACzC,MAAM,GAAG,GAAG,IAAI,aAAa,CAAC,eAAe,CAAC,CAAC;IAE/C,GAAG,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC;QAC1C,GAAG,EAAE,OAAO,CAAC,WAAW;QACxB,IAAI,EAAE;YACJ,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B;KACF,CAAC,CAAC;IACH,GAAG,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;IAE5C,GAAG,CAAC,KAAK,CAAC,qBAAqB,OAAO,KAAK,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,gBAAgB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAC3E,GAAG,CAAC,OAAO,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;IAE3C,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAC3B,CAAC,CAAC,CACL,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -2,18 +2,23 @@ import { createCommand } from 'commander';
2
2
  import { ConsoleLogger } from '../../../bin/utils';
3
3
  import { buildPortal } from '../../../bin/portal-build.js';
4
4
  export const command = createCommand('build')
5
- .description([
6
- 'Build the Fusion portal using a manifest file and environment-specific configuration.',
5
+ .description('Build the Fusion portal from a manifest file with environment-specific settings.')
6
+ .addHelpText('after', [
7
+ 'Builds the Fusion portal using a manifest file and environment-specific configuration.',
7
8
  '',
8
- 'If no manifest is provided, the command will search for a default app.manifest.[ts|js|json] in the current directory.',
9
- 'You can use environment variables to customize the build process.',
9
+ 'If no manifest is provided, the command will search for a default portal.manifest.[ts|js|json] in the current directory.',
10
+ 'You can use environment variables to customize the build process (e.g., NODE_ENV, FUSION_PORTAL_*).',
11
+ '',
12
+ 'Options:',
13
+ ' -d, --debug Enable debug mode for verbose logging',
10
14
  '',
11
15
  'Examples:',
12
- ' $ fusion portal build',
13
- ' $ fusion portal build app.manifest.prod.ts --debug',
16
+ ' $ fusion-framework-cli portal build',
17
+ ' $ fusion-framework-cli portal build portal.manifest.prod.ts --debug',
18
+ '',
14
19
  ].join('\n'))
15
20
  .option('-d, --debug', 'Enable debug mode for verbose logging', false)
16
- .argument('[manifest]', 'Manifest build file to use for building (e.g., app.manifest[.env]?.[ts,js,json])')
21
+ .argument('[manifest]', 'Manifest build file to use for building (e.g., portal.manifest[.env]?.[ts,js,json])')
17
22
  .action(async (manifest, opt) => {
18
23
  const log = new ConsoleLogger('portal:build', { debug: opt.debug });
19
24
  await buildPortal({ log, manifest });
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../../../src/cli/commands/portal/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;KAC1C,WAAW,CACV;IACE,uFAAuF;IACvF,EAAE;IACF,uHAAuH;IACvH,mEAAmE;IACnE,EAAE;IACF,WAAW;IACX,yBAAyB;IACzB,sDAAsD;CACvD,CAAC,IAAI,CAAC,IAAI,CAAC,CACb;KACA,MAAM,CAAC,aAAa,EAAE,uCAAuC,EAAE,KAAK,CAAC;KACrE,QAAQ,CACP,YAAY,EACZ,kFAAkF,CACnF;KACA,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE;IAC9B,MAAM,GAAG,GAAG,IAAI,aAAa,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;IACpE,MAAM,WAAW,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC;AAEL,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../../../src/cli/commands/portal/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;KAC1C,WAAW,CAAC,kFAAkF,CAAC;KAC/F,WAAW,CACV,OAAO,EACP;IACE,wFAAwF;IACxF,EAAE;IACF,0HAA0H;IAC1H,qGAAqG;IACrG,EAAE;IACF,UAAU;IACV,yDAAyD;IACzD,EAAE;IACF,WAAW;IACX,uCAAuC;IACvC,uEAAuE;IACvE,EAAE;CACH,CAAC,IAAI,CAAC,IAAI,CAAC,CACb;KACA,MAAM,CAAC,aAAa,EAAE,uCAAuC,EAAE,KAAK,CAAC;KACrE,QAAQ,CACP,YAAY,EACZ,qFAAqF,CACtF;KACA,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE;IAC9B,MAAM,GAAG,GAAG,IAAI,aAAa,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;IACpE,MAAM,WAAW,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC;AAEL,eAAe,OAAO,CAAC"}
@@ -0,0 +1,101 @@
1
+ import { createCommand } from 'commander';
2
+ import chalk from 'chalk';
3
+ import { ConsoleLogger } from '../../../bin/utils';
4
+ import { generatePortalConfig, publishPortalConfig } from '../../../bin';
5
+ import { createEnvOption } from '../../options/env.js';
6
+ import { withAuthOptions } from '../../options/auth.js';
7
+ import { stdout } from 'node:process';
8
+ /**
9
+ * CLI command: `portal config`
10
+ *
11
+ * Generates and/or publishes the portal configuration for Fusion portals.
12
+ *
13
+ * Features:
14
+ * - Outputs the generated config to stdout or a file.
15
+ * - Use --publish to upload the config to the Fusion portal registry.
16
+ * - Options [token, tenant, client, config, identifier, env, output] are only relevant when --publish is used.
17
+ * - Option [--env] cannot be set to dev when --publish is used.
18
+ *
19
+ * Usage:
20
+ * $ fusion-framework-cli portal config --identifier <portal@version> [options]
21
+ *
22
+ * Options:
23
+ * --debug Enable debug mode for verbose logging
24
+ * --silent Silent mode, suppresses output except errors
25
+ * --publish Publish config to Fusion portal registry
26
+ * --identifier <name@version> Identifier of the portal, example my-portal@1.2.3 (required with --publish)
27
+ * -o, --output <stdout|path> Output to stdout or a file (default: stdout)
28
+ * <config> Path to the portal config file (e.g., portal.config[.env]?.[ts,js,json])
29
+ * --env <env> Target environment
30
+ *
31
+ * Examples:
32
+ * $ fusion-framework-cli portal config --identifier my-portal@1.2.3 -o stdout portal.config.ts
33
+ * $ fusion-framework-cli portal config --identifier my-portal@1.2.3 -o ./dist/portal.config.json portal.config.prod.ts
34
+ * $ fusion-framework-cli portal config --publish --env prod --identifier my-portal@1.2.3 portal.config.ts
35
+ *
36
+ * @see generatePortalConfig, publishPortalConfig for implementation details
37
+ */
38
+ export const command = withAuthOptions(createCommand('config')
39
+ .description('Generate or publish the Fusion portal configuration file.')
40
+ .addHelpText('after', [
41
+ 'Generates and/or publishes the Fusion portal configuration.',
42
+ '',
43
+ 'By default, outputs the config to stdout or a file. Use --publish to upload to the portal registry.',
44
+ '',
45
+ 'Options:',
46
+ ' --publish Publish config to Fusion portal registry',
47
+ ' --identifier Portal identifier (required with --publish)',
48
+ ' -o, --output Output to stdout or a file (default: stdout)',
49
+ ' --env Target environment',
50
+ ' --debug Enable debug mode for verbose logging',
51
+ '',
52
+ 'Examples:',
53
+ ' $ fusion-framework-cli portal config --identifier my-portal@1.2.3 -o stdout portal.config.ts',
54
+ ' $ fusion-framework-cli portal config --publish --env prod --identifier my-portal@1.2.3 portal.config.ts',
55
+ ].join('\n'))
56
+ .option('--debug', 'Enable debug mode for verbose logging')
57
+ .option('--silent', 'Silent mode, suppresses output except errors')
58
+ .option('--publish <name@version>', 'Publish config to Fusion portal registry, Identifier of the portal, example my-portal@1.2.3')
59
+ .addOption(createEnvOption({ allowDev: true }))
60
+ .option('-o, --output <stdout|path>', 'Output the result to stdout or a file (ignored with --publish, default: stdout)', 'stdout')
61
+ .argument('[config]', 'Path to the portal config file (e.g., portal.config[.env]?.[ts,js,json])')
62
+ .action(async (config, options) => {
63
+ const log = options.silent
64
+ ? null
65
+ : new ConsoleLogger('portal:config', { debug: !!options.debug });
66
+ // Validate env for publish (no dev allowed)
67
+ if (options.publish) {
68
+ const [name, version] = options.publish.split('@') || [];
69
+ if (!name || !version) {
70
+ log?.fail('🤪', 'Portal identifier is required when using', chalk.blue('--publish'));
71
+ log?.info('Example: fusion-framework-cli portal config --publish my-portal@1.2.3');
72
+ process.exit(1);
73
+ }
74
+ if (options.env === 'dev') {
75
+ log?.fail('🤪', chalk.blue('--env'), 'cannot be "dev" when', chalk.blue('--publish'), ' is used');
76
+ process.exit(1);
77
+ }
78
+ return publishPortalConfig({
79
+ config: options.config,
80
+ portal: {
81
+ name,
82
+ version,
83
+ },
84
+ environment: options.env,
85
+ auth: 'token' in options ? { token: options.token } : options,
86
+ debug: options.debug,
87
+ });
88
+ }
89
+ // Generate config
90
+ const { config: portalConfig } = await generatePortalConfig({
91
+ log,
92
+ config,
93
+ env: { environment: options.env },
94
+ output: options.output === 'stdout' ? undefined : options.output,
95
+ });
96
+ if (options.output === 'stdout') {
97
+ stdout.write(JSON.stringify(portalConfig, null, 2));
98
+ }
99
+ }));
100
+ export default command;
101
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../src/cli/commands/portal/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEzE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,eAAe,CACpC,aAAa,CAAC,QAAQ,CAAC;KACpB,WAAW,CAAC,2DAA2D,CAAC;KACxE,WAAW,CACV,OAAO,EACP;IACE,6DAA6D;IAC7D,EAAE;IACF,qGAAqG;IACrG,EAAE;IACF,UAAU;IACV,8DAA8D;IAC9D,iEAAiE;IACjE,kEAAkE;IAClE,wCAAwC;IACxC,2DAA2D;IAC3D,EAAE;IACF,WAAW;IACX,gGAAgG;IAChG,2GAA2G;CAC5G,CAAC,IAAI,CAAC,IAAI,CAAC,CACb;KACA,MAAM,CAAC,SAAS,EAAE,uCAAuC,CAAC;KAC1D,MAAM,CAAC,UAAU,EAAE,8CAA8C,CAAC;KAClE,MAAM,CACL,0BAA0B,EAC1B,6FAA6F,CAC9F;KACA,SAAS,CAAC,eAAe,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;KAC9C,MAAM,CACL,4BAA4B,EAC5B,iFAAiF,EACjF,QAAQ,CACT;KACA,QAAQ,CACP,UAAU,EACV,0EAA0E,CAC3E;KACA,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;IAChC,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM;QACxB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,IAAI,aAAa,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAEnE,4CAA4C;IAC5C,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACzD,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACtB,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,0CAA0C,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YACrF,GAAG,EAAE,IAAI,CAAC,uEAAuE,CAAC,CAAC;YACnF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,OAAO,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC;YAC1B,GAAG,EAAE,IAAI,CACP,IAAI,EACJ,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EACnB,sBAAsB,EACtB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EACvB,UAAU,CACX,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,mBAAmB,CAAC;YACzB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE;gBACN,IAAI;gBACJ,OAAO;aACR;YACD,WAAW,EAAE,OAAO,CAAC,GAAG;YACxB,IAAI,EAAE,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO;YAC7D,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB;IAClB,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,oBAAoB,CAAC;QAC1D,GAAG;QACH,MAAM;QACN,GAAG,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,GAAG,EAAE;QACjC,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM;KACjE,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;AACH,CAAC,CAAC,CACL,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -2,15 +2,18 @@ import { createCommand } from 'commander';
2
2
  import { ConsoleLogger } from '../../../bin/utils';
3
3
  import { startPortalDevServer } from '../../../bin/portal-dev.js';
4
4
  export const command = createCommand('dev')
5
- .description([
6
- 'Start the Fusion portal in development mode with live reloading and custom port support.',
5
+ .description('Start a local development server for the Fusion portal.')
6
+ .addHelpText('after', [
7
7
  '',
8
- 'This command launches a local development server for the portal, enabling rapid development and testing.',
9
- 'You can specify the port and enable debug mode for verbose logging.',
8
+ 'Starts a local development server for your Fusion portal.',
9
+ '',
10
+ 'Options:',
11
+ ' -p, --port Port to run the development server on (default: 3000)',
12
+ ' -d, --debug Enable debug mode for verbose logging',
10
13
  '',
11
14
  'Examples:',
12
- ' $ fusion portal dev',
13
- ' $ fusion portal dev --port 4000 --debug',
15
+ ' $ fusion-framework-cli portal dev',
16
+ ' $ fusion-framework-cli portal dev --port 4000 --debug',
14
17
  ].join('\n'))
15
18
  .option('-p, --port <number>', 'Port to run the development server on', '3000')
16
19
  .option('-d, --debug', 'Enable debug mode for verbose logging')
@@ -1 +1 @@
1
- {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../../../../src/cli/commands/portal/dev.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC;KACxC,WAAW,CACV;IACE,0FAA0F;IAC1F,EAAE;IACF,0GAA0G;IAC1G,qEAAqE;IACrE,EAAE;IACF,WAAW;IACX,uBAAuB;IACvB,2CAA2C;CAC5C,CAAC,IAAI,CAAC,IAAI,CAAC,CACb;KACA,MAAM,CAAC,qBAAqB,EAAE,uCAAuC,EAAE,MAAM,CAAC;KAC9E,MAAM,CAAC,aAAa,EAAE,uCAAuC,CAAC;KAC9D,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,GAAG,GAAG,IAAI,aAAa,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAEtE,GAAG,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACzD,oBAAoB,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IACtE,GAAG,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC;AAEL,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../../../../src/cli/commands/portal/dev.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC;KACxC,WAAW,CAAC,yDAAyD,CAAC;KACtE,WAAW,CACV,OAAO,EACP;IACE,EAAE;IACF,2DAA2D;IAC3D,EAAE;IACF,UAAU;IACV,sEAAsE;IACtE,sDAAsD;IACtD,EAAE;IACF,WAAW;IACX,qCAAqC;IACrC,yDAAyD;CAC1D,CAAC,IAAI,CAAC,IAAI,CAAC,CACb;KACA,MAAM,CAAC,qBAAqB,EAAE,uCAAuC,EAAE,MAAM,CAAC;KAC9E,MAAM,CAAC,aAAa,EAAE,uCAAuC,CAAC;KAC9D,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,GAAG,GAAG,IAAI,aAAa,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAEtE,GAAG,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACzD,oBAAoB,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IACtE,GAAG,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC;AAEL,eAAe,OAAO,CAAC"}
@@ -7,6 +7,7 @@ import packCommand from './pack.js';
7
7
  import uploadCommand from './upload.js';
8
8
  import tagCommand from './tag.js';
9
9
  import publishCommand from './publish.js';
10
+ import configCommand from './config.js';
10
11
  export const command = createCommand('portal')
11
12
  .description('Develop and deploy portal templates')
12
13
  .addCommand(devCommand)
@@ -16,6 +17,7 @@ export const command = createCommand('portal')
16
17
  .addCommand(packCommand)
17
18
  .addCommand(uploadCommand)
18
19
  .addCommand(tagCommand)
19
- .addCommand(publishCommand);
20
+ .addCommand(publishCommand)
21
+ .addCommand(configCommand);
20
22
  export default command;
21
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/cli/commands/portal/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,UAAU,MAAM,UAAU,CAAC;AAClC,OAAO,eAAe,MAAM,eAAe,CAAC;AAC5C,OAAO,aAAa,MAAM,aAAa,CAAC;AACxC,OAAO,YAAY,MAAM,YAAY,CAAC;AACtC,OAAO,WAAW,MAAM,WAAW,CAAC;AACpC,OAAO,aAAa,MAAM,aAAa,CAAC;AACxC,OAAO,UAAU,MAAM,UAAU,CAAC;AAClC,OAAO,cAAc,MAAM,cAAc,CAAC;AAE1C,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC;KAC3C,WAAW,CAAC,qCAAqC,CAAC;KAClD,UAAU,CAAC,UAAU,CAAC;KACtB,UAAU,CAAC,eAAe,CAAC;KAC3B,UAAU,CAAC,aAAa,CAAC;KACzB,UAAU,CAAC,YAAY,CAAC;KACxB,UAAU,CAAC,WAAW,CAAC;KACvB,UAAU,CAAC,aAAa,CAAC;KACzB,UAAU,CAAC,UAAU,CAAC;KACtB,UAAU,CAAC,cAAc,CAAC,CAAC;AAE9B,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/cli/commands/portal/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,UAAU,MAAM,UAAU,CAAC;AAClC,OAAO,eAAe,MAAM,eAAe,CAAC;AAC5C,OAAO,aAAa,MAAM,aAAa,CAAC;AACxC,OAAO,YAAY,MAAM,YAAY,CAAC;AACtC,OAAO,WAAW,MAAM,WAAW,CAAC;AACpC,OAAO,aAAa,MAAM,aAAa,CAAC;AACxC,OAAO,UAAU,MAAM,UAAU,CAAC;AAClC,OAAO,cAAc,MAAM,cAAc,CAAC;AAC1C,OAAO,aAAa,MAAM,aAAa,CAAC;AAExC,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC;KAC3C,WAAW,CAAC,qCAAqC,CAAC;KAClD,UAAU,CAAC,UAAU,CAAC;KACtB,UAAU,CAAC,eAAe,CAAC;KAC3B,UAAU,CAAC,aAAa,CAAC;KACzB,UAAU,CAAC,YAAY,CAAC;KACxB,UAAU,CAAC,WAAW,CAAC;KACvB,UAAU,CAAC,aAAa,CAAC;KACzB,UAAU,CAAC,UAAU,CAAC;KACtB,UAAU,CAAC,cAAc,CAAC;KAC1B,UAAU,CAAC,aAAa,CAAC,CAAC;AAE7B,eAAe,OAAO,CAAC"}
@@ -7,17 +7,20 @@ import { loadPortalManifest } from '../../../bin';
7
7
  import { ConsoleLogger } from '../../../bin/utils';
8
8
  import { fileExistsSync } from '../../../lib/utils';
9
9
  export const command = createCommand('manifest')
10
- .description([
11
- 'Build and output the portal manifest for Fusion apps.',
10
+ .description('Generate or validate a Fusion portal manifest file.')
11
+ .addHelpText('after', [
12
+ 'Generates or validates a Fusion portal manifest file.',
12
13
  '',
13
- 'By default, the manifest is printed to stdout. Use --output to write it to a file.',
14
- 'You can specify a custom manifest build file or use the default (app.manifest[.env]?.[ts,js,json]).',
15
- 'Supports debug and silent modes for flexible output.',
14
+ 'If no manifest is provided, a default portal.manifest.[ts|js|json] is used from the current directory.',
15
+ '',
16
+ 'Options:',
17
+ ' -o, --output Write manifest to the specified file (default: stdout)',
18
+ ' -d, --debug Enable debug mode for verbose logging',
19
+ ' -s, --silent Silent mode, suppresses output except errors',
16
20
  '',
17
21
  'Examples:',
18
- ' $ fusion portal manifest',
19
- ' $ fusion portal manifest app.manifest.prod.ts --output ./dist/portal.manifest.json',
20
- ' $ fusion portal manifest --debug',
22
+ ' $ fusion-framework-cli portal manifest',
23
+ ' $ fusion-framework-cli portal manifest portal.manifest.prod.ts --output ./dist/portal.manifest.json',
21
24
  ].join('\n'))
22
25
  .option('-d, --debug', 'Enable debug mode for verbose logging', false)
23
26
  .option('-o, --output <string>', 'Write manifest to the specified file', 'stdout')
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../../../src/cli/commands/portal/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,UAAU,CAAC;KAC7C,WAAW,CACV;IACE,uDAAuD;IACvD,EAAE;IACF,oFAAoF;IACpF,qGAAqG;IACrG,sDAAsD;IACtD,EAAE;IACF,WAAW;IACX,4BAA4B;IAC5B,sFAAsF;IACtF,oCAAoC;CACrC,CAAC,IAAI,CAAC,IAAI,CAAC,CACb;KACA,MAAM,CAAC,aAAa,EAAE,uCAAuC,EAAE,KAAK,CAAC;KACrE,MAAM,CAAC,uBAAuB,EAAE,sCAAsC,EAAE,QAAQ,CAAC;KACjF,MAAM,CAAC,cAAc,EAAE,8CAA8C,CAAC;KACtE,QAAQ,CAAC,YAAY,EAAE,qEAAqE,CAAC;KAC7F,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE;IAC9B,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;IACxF,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC3D,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAClD,GAAG,EAAE,KAAK,CAAC,0BAA0B,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACnD,kDAAkD;QAClD,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YACrC,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,CAAC;QAED,wCAAwC;QACxC,MAAM,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAClE,GAAG,EAAE,OAAO,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAC;IACnD,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;AACH,CAAC,CAAC,CAAC;AACL,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../../../src/cli/commands/portal/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,UAAU,CAAC;KAC7C,WAAW,CAAC,qDAAqD,CAAC;KAClE,WAAW,CACV,OAAO,EACP;IACE,uDAAuD;IACvD,EAAE;IACF,wGAAwG;IACxG,EAAE;IACF,UAAU;IACV,yEAAyE;IACzE,wDAAwD;IACxD,+DAA+D;IAC/D,EAAE;IACF,WAAW;IACX,0CAA0C;IAC1C,uGAAuG;CACxG,CAAC,IAAI,CAAC,IAAI,CAAC,CACb;KACA,MAAM,CAAC,aAAa,EAAE,uCAAuC,EAAE,KAAK,CAAC;KACrE,MAAM,CAAC,uBAAuB,EAAE,sCAAsC,EAAE,QAAQ,CAAC;KACjF,MAAM,CAAC,cAAc,EAAE,8CAA8C,CAAC;KACtE,QAAQ,CAAC,YAAY,EAAE,qEAAqE,CAAC;KAC7F,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE;IAC9B,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;IACxF,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC3D,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAClD,GAAG,EAAE,KAAK,CAAC,0BAA0B,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACnD,kDAAkD;QAClD,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YACrC,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,CAAC;QAED,wCAAwC;QACxC,MAAM,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAClE,GAAG,EAAE,OAAO,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAC;IACnD,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;AACH,CAAC,CAAC,CAAC;AACL,eAAe,OAAO,CAAC"}
@@ -2,21 +2,26 @@ import { createCommand } from 'commander';
2
2
  import { ConsoleLogger } from '../../../bin/utils';
3
3
  import { bundlePortal } from '../../../bin';
4
4
  export const command = createCommand('pack')
5
- .description([
6
- 'Create a distributable bundle of the Fusion portal application for deployment.',
5
+ .description('Bundle the Fusion portal into a deployable archive.')
6
+ .addHelpText('after', [
7
+ 'Bundles the Fusion portal using the provided manifest and schema into a zip archive for deployment.',
7
8
  '',
8
- 'This command packages the portal app, allowing you to specify the output archive, manifest, and schema files.',
9
- 'Supports debug mode for verbose logging.',
9
+ 'If no manifest is provided, a default portal.manifest.[ts|js|json] is used from the current directory.',
10
+ '',
11
+ 'Options:',
12
+ ' -a, --archive Name of the output archive file (default: out/bundle.zip)',
13
+ ' --schema Schema file to use for validation',
14
+ ' -d, --debug Enable debug mode for verbose logging',
10
15
  '',
11
16
  'Examples:',
12
- ' $ fusion portal pack',
13
- ' $ fusion portal pack --archive my-portal.zip --schema portal.schema.json',
14
- ' $ fusion portal pack app.manifest.prod.ts --debug',
17
+ ' $ fusion-framework-cli portal pack',
18
+ ' $ fusion-framework-cli portal pack --archive my-portal.zip --schema portal.schema.json',
19
+ ' $ fusion-framework-cli portal pack portal.manifest.prod.ts --debug',
15
20
  ].join('\n'))
16
21
  .option('-a, --archive [string]', 'Name of the output archive file (default: out/bundle.zip)', 'out/bundle.zip')
17
22
  .option('-d, --debug [boolean]', 'Enable debug mode for verbose logging', false)
18
23
  .option('--schema [string]', 'Schema file to use for validation')
19
- .argument('[manifest]', 'Manifest file to use for bundling (e.g., app.manifest[.env]?.[ts,js,json])')
24
+ .argument('[manifest]', 'Manifest file to use for bundling (e.g., portal.manifest[.env]?.[ts,js,json])')
20
25
  .action(async (manifest, options) => {
21
26
  const log = new ConsoleLogger('portal:pack', {
22
27
  debug: options.debug,
@@ -1 +1 @@
1
- {"version":3,"file":"pack.js","sourceRoot":"","sources":["../../../../../src/cli/commands/portal/pack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC;KACzC,WAAW,CACV;IACE,gFAAgF;IAChF,EAAE;IACF,+GAA+G;IAC/G,0CAA0C;IAC1C,EAAE;IACF,WAAW;IACX,wBAAwB;IACxB,4EAA4E;IAC5E,qDAAqD;CACtD,CAAC,IAAI,CAAC,IAAI,CAAC,CACb;KACA,MAAM,CACL,wBAAwB,EACxB,2DAA2D,EAC3D,gBAAgB,CACjB;KACA,MAAM,CAAC,uBAAuB,EAAE,uCAAuC,EAAE,KAAK,CAAC;KAC/E,MAAM,CAAC,mBAAmB,EAAE,mCAAmC,CAAC;KAChE,QAAQ,CACP,YAAY,EACZ,4EAA4E,CAC7E;KACA,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;IAClC,MAAM,GAAG,GAAG,IAAI,aAAa,CAAC,aAAa,EAAE;QAC3C,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC,CAAC;IACH,MAAM,YAAY,CAAC;QACjB,GAAG;QACH,QAAQ;QACR,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACjB,GAAG,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;QAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"pack.js","sourceRoot":"","sources":["../../../../../src/cli/commands/portal/pack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC;KACzC,WAAW,CAAC,qDAAqD,CAAC;KAClE,WAAW,CACV,OAAO,EACP;IACE,qGAAqG;IACrG,EAAE;IACF,wGAAwG;IACxG,EAAE;IACF,UAAU;IACV,6EAA6E;IAC7E,oDAAoD;IACpD,wDAAwD;IACxD,EAAE;IACF,WAAW;IACX,sCAAsC;IACtC,0FAA0F;IAC1F,sEAAsE;CACvE,CAAC,IAAI,CAAC,IAAI,CAAC,CACb;KACA,MAAM,CACL,wBAAwB,EACxB,2DAA2D,EAC3D,gBAAgB,CACjB;KACA,MAAM,CAAC,uBAAuB,EAAE,uCAAuC,EAAE,KAAK,CAAC;KAC/E,MAAM,CAAC,mBAAmB,EAAE,mCAAmC,CAAC;KAChE,QAAQ,CACP,YAAY,EACZ,+EAA+E,CAChF;KACA,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;IAClC,MAAM,GAAG,GAAG,IAAI,aAAa,CAAC,aAAa,EAAE;QAC3C,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC,CAAC;IACH,MAAM,YAAY,CAAC;QACjB,GAAG;QACH,QAAQ;QACR,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACjB,GAAG,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;QAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,eAAe,OAAO,CAAC"}
@@ -8,17 +8,20 @@ import { tagPortal, AllowedTags } from '../../../bin/portal-tag.js';
8
8
  import { initializeFramework } from '../../../lib/framework.node.js';
9
9
  import chalk from 'chalk';
10
10
  export const command = withAuthOptions(createCommand('publish')
11
- .description([
12
- 'Build, upload, and tag your Fusion portal bundle for deployment to the Fusion portal registry.',
11
+ .description('Build, upload, and tag your Fusion portal bundle for deployment.')
12
+ .addHelpText('after', [
13
+ 'Builds, uploads, and tags your Fusion portal bundle for deployment to the portal registry.',
13
14
  '',
14
- 'This command bundles the portal, uploads it to the registry, and applies a tag for versioning.',
15
- 'You can specify the environment, manifest file, schema, and tag. Debug mode and authentication options are supported.',
15
+ 'Options:',
16
+ ' --env Target environment',
17
+ ' -m, --manifest Manifest file to use for bundling',
18
+ ' --schema Schema file to use for validation',
19
+ ' -t, --tag Tag to apply to the published portal',
20
+ ' -d, --debug Enable debug mode for verbose logging',
16
21
  '',
17
22
  'Examples:',
18
- ' $ fusion portal publish',
19
- ' $ fusion portal publish --env prod --manifest portal.manifest.prod.ts',
20
- ' $ fusion portal publish --tag latest --debug',
21
- ' $ fusion portal publish --schema portal.schema.json',
23
+ ' $ fusion-framework-cli portal publish',
24
+ ' $ fusion-framework-cli portal publish --env prod --manifest portal.manifest.prod.ts',
22
25
  ].join('\n'))
23
26
  .option('-d, --debug', 'Enable debug mode for verbose logging', false)
24
27
  .addOption(createEnvOption({ allowDev: false }))
@@ -1 +1 @@
1
- {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../../../src/cli/commands/portal/publish.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../../../src/cli/commands/portal/publish.ts"],"names":[],"mappings":"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"}
@@ -6,17 +6,19 @@ import { writeFile } from '../../../lib/utils/write-file.js';
6
6
  import { createEnvOption } from '../../options/env.js';
7
7
  import { importJSON } from '@equinor/fusion-imports';
8
8
  export const command = createCommand('schema')
9
- .description([
10
- 'Generate and validate the JSON schema for the Fusion portal application.',
9
+ .description('Generate or validate a Fusion portal schema file.')
10
+ .addHelpText('after', [
11
+ 'Generates or validates a Fusion portal schema file.',
11
12
  '',
12
- 'This command generates a schema file for your portal app, optionally writes it to a file, and can validate a JSON file against the generated schema.',
13
- 'Supports environment selection, debug mode, and output to stdout or file.',
13
+ 'Options:',
14
+ ' -o, --output Output file name (default: stdout)',
15
+ ' -v, --validate Validate the generated schema against a JSON file',
16
+ ' -d, --debug Enable debug mode for verbose logging',
14
17
  '',
15
18
  'Examples:',
16
- ' $ fusion portal schema',
17
- ' $ fusion portal schema --output portal.schema.json',
18
- ' $ fusion portal schema --validate my-config.json',
19
- ' $ fusion portal schema portal.schema.prod.ts --debug',
19
+ ' $ fusion-framework-cli portal schema',
20
+ ' $ fusion-framework-cli portal schema --output portal.schema.json',
21
+ ' $ fusion-framework-cli portal schema --validate my-config.json',
20
22
  ].join('\n'))
21
23
  .addOption(createEnvOption({ allowDev: true }))
22
24
  .option('-o, --output <string>', 'Output file name (default: stdout)', 'stdout')
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../../src/cli/commands/portal/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../../src/cli/commands/portal/schema.ts"],"names":[],"mappings":"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"}
@@ -6,17 +6,21 @@ import { ConsoleLogger } from '../../../bin/utils/ConsoleLogger.js';
6
6
  import { loadPortalManifest } from '../../../bin/portal-manifest.js';
7
7
  import { initializeFramework } from '../../../lib';
8
8
  export const command = withAuthOptions(createCommand('tag')
9
- .description([
10
- 'Tag your Fusion portal application with a specific version or preview in the Fusion portal registry.',
9
+ .description('Tag your Fusion portal with a specific version or label.')
10
+ .addHelpText('after', [
11
+ 'Tags your Fusion portal with a specific version or label in the portal registry.',
11
12
  '',
12
- 'This command applies a tag to the specified portal version, making it easy to manage releases and previews.',
13
- 'You can provide the portal name and version directly, or let the command resolve them from the manifest file.',
14
- 'Supports environment selection, debug, and silent modes.',
13
+ 'Options:',
14
+ ' -n, --name Portal name (if not provided, resolved from manifest)',
15
+ ' -m, --manifest Manifest file to use for resolving portal name and version',
16
+ ' -v, --version Version to tag (if not provided, resolved from manifest)',
17
+ ' --env Target environment',
18
+ ' -d, --debug Enable debug mode for verbose logging',
19
+ ' --silent Silent mode, suppresses output except errors',
15
20
  '',
16
21
  'Examples:',
17
- ' $ fusion portal tag latest',
18
- ' $ fusion portal tag preview --env prod --manifest portal.manifest.prod.ts',
19
- ' $ fusion portal tag stable --name my-portal --version 1.2.3',
22
+ ' $ fusion-framework-cli portal tag latest',
23
+ ' $ fusion-framework-cli portal tag preview --env prod --manifest portal.manifest.prod.ts',
20
24
  ].join('\n'))
21
25
  .addOption(createEnvOption({ allowDev: false }))
22
26
  .option('-n, --name <string>', 'Portal name (if not provided, resolved from manifest)')
@@ -1 +1 @@
1
- {"version":3,"file":"tag.js","sourceRoot":"","sources":["../../../../../src/cli/commands/portal/tag.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tag.js","sourceRoot":"","sources":["../../../../../src/cli/commands/portal/tag.ts"],"names":[],"mappings":"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"}
@@ -5,16 +5,17 @@ import { ConsoleLogger } from '../../../bin/utils';
5
5
  import { initializeFramework } from '../../../lib';
6
6
  import { uploadPortalBundle } from '../../../bin/portal-upload.js';
7
7
  export const command = withAuthOptions(createCommand('upload')
8
- .description([
9
- 'Upload a Fusion portal bundle to the Fusion portal registry for deployment.',
8
+ .description('Upload a Fusion portal bundle to the portal registry.')
9
+ .addHelpText('after', [
10
+ 'Uploads a distributable Fusion portal bundle to the portal registry for deployment.',
10
11
  '',
11
- 'This command uploads a distributable portal bundle to the Fusion portal registry using the current authentication and environment.',
12
- 'Supports debug mode and custom environment selection.',
12
+ 'Options:',
13
+ ' --env Target environment',
14
+ ' -d, --debug Enable debug mode for verbose logging',
13
15
  '',
14
16
  'Examples:',
15
- ' $ fusion portal upload my-portal-bundle.zip',
16
- ' $ fusion portal upload my-portal-bundle.zip --env prod',
17
- ' $ fusion portal upload my-portal-bundle.zip --debug',
17
+ ' $ fusion-framework-cli portal upload my-portal-bundle.zip',
18
+ ' $ fusion-framework-cli portal upload my-portal-bundle.zip --env prod',
18
19
  ].join('\n'))
19
20
  .option('-d, --debug [boolean]', 'Enable debug mode for verbose logging', false)
20
21
  .addOption(createEnvOption({ allowDev: false }))
@@ -1 +1 @@
1
- {"version":3,"file":"upload.js","sourceRoot":"","sources":["../../../../../src/cli/commands/portal/upload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE,MAAM,CAAC,MAAM,OAAO,GAAG,eAAe,CACpC,aAAa,CAAC,QAAQ,CAAC;KACpB,WAAW,CACV;IACE,6EAA6E;IAC7E,EAAE;IACF,oIAAoI;IACpI,uDAAuD;IACvD,EAAE;IACF,WAAW;IACX,+CAA+C;IAC/C,0DAA0D;IAC1D,uDAAuD;CACxD,CAAC,IAAI,CAAC,IAAI,CAAC,CACb;KACA,MAAM,CAAC,uBAAuB,EAAE,uCAAuC,EAAE,KAAK,CAAC;KAC/E,SAAS,CAAC,eAAe,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;KAC/C,QAAQ,CAAC,UAAU,EAAE,gDAAgD,CAAC;KACtE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;IAChC,MAAM,GAAG,GAAG,IAAI,aAAa,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAEzE,GAAG,EAAE,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC;QAC1C,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,IAAI,EAAE;YACJ,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B;KACF,CAAC,CAAC;IACH,GAAG,EAAE,OAAO,CAAC,8BAA8B,CAAC,CAAC;IAC7C,MAAM,kBAAkB,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACjF,GAAG,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;QAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CACL,CAAC;AACF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"upload.js","sourceRoot":"","sources":["../../../../../src/cli/commands/portal/upload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE,MAAM,CAAC,MAAM,OAAO,GAAG,eAAe,CACpC,aAAa,CAAC,QAAQ,CAAC;KACpB,WAAW,CAAC,uDAAuD,CAAC;KACpE,WAAW,CACV,OAAO,EACP;IACE,qFAAqF;IACrF,EAAE;IACF,UAAU;IACV,iCAAiC;IACjC,wDAAwD;IACxD,EAAE;IACF,WAAW;IACX,6DAA6D;IAC7D,wEAAwE;CACzE,CAAC,IAAI,CAAC,IAAI,CAAC,CACb;KACA,MAAM,CAAC,uBAAuB,EAAE,uCAAuC,EAAE,KAAK,CAAC;KAC/E,SAAS,CAAC,eAAe,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;KAC/C,QAAQ,CAAC,UAAU,EAAE,gDAAgD,CAAC;KACtE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;IAChC,MAAM,GAAG,GAAG,IAAI,aAAa,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAEzE,GAAG,EAAE,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC;QAC1C,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,IAAI,EAAE;YACJ,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B;KACF,CAAC,CAAC;IACH,GAAG,EAAE,OAAO,CAAC,8BAA8B,CAAC,CAAC;IAC7C,MAAM,kBAAkB,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACjF,GAAG,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;QAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CACL,CAAC;AACF,eAAe,OAAO,CAAC"}
@@ -1,3 +1,5 @@
1
1
  export { createPortalManifestFromPackage, definePortalManifest, loadPortalManifest, validatePortalManifest, } from './portal-manifest.js';
2
2
  export { loadPortalSchema, definePortalSchema, } from './load-portal-schema.js';
3
+ export { definePortalConfig, } from './portal-config.js';
4
+ export { loadPortalConfig, } from './load-portal-config.js';
3
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/portal/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,+BAA+B,EAC/B,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,GAIvB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,gBAAgB,EAChB,kBAAkB,GAInB,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/portal/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,+BAA+B,EAC/B,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,GAIvB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,gBAAgB,EAChB,kBAAkB,GAInB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,kBAAkB,GAGnB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,gBAAgB,GAEjB,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,49 @@
1
+ import z from 'zod';
2
+ import { importConfig } from '@equinor/fusion-imports';
3
+ /**
4
+ * Loads and resolves the portal configuration from a file or function export.
5
+ *
6
+ * This function uses a script resolver to handle dynamic imports. If the imported module's default export
7
+ * is a function, it will be invoked with the base configuration and runtime environment. The result
8
+ * is validated against the provided schema (or a permissive passthrough schema by default).
9
+ *
10
+ * @param env - The runtime environment containing the root directory and other environment-specific settings.
11
+ * @param options - Optional parameters for configuring the import process.
12
+ * @returns A promise that resolves to the imported and validated portal configuration.
13
+ *
14
+ * @remarks
15
+ * - Supports both static and dynamic config authoring patterns for portals.
16
+ * - Ensures all configs are validated against the schema for type safety.
17
+ * - Designed for maintainability and RAG-based documentation extraction.
18
+ *
19
+ * @example
20
+ * ```ts
21
+ * const config = await loadPortalConfig(env, { file: 'custom-portal.config.ts' });
22
+ * ```
23
+ */
24
+ export const loadPortalConfig = (env, options) => {
25
+ // Suggest config filenames based on environment, fallback to default
26
+ const suggestions = options?.file ?? [`portal.config.${env.environment}`, 'portal.config'];
27
+ return importConfig(suggestions, {
28
+ baseDir: env.root, // Set the base directory for config resolution
29
+ extensions: options?.extensions, // Allow custom file extensions
30
+ script: {
31
+ // Custom resolver for the imported config module
32
+ resolve: async (module) => {
33
+ // Use provided schema or a permissive passthrough schema by default
34
+ const schema = options?.schema ?? z.object({}).passthrough();
35
+ const base = options?.base ?? {}; // Use provided base or default
36
+ // If the module's default export is a function, invoke it with the base config and environment
37
+ // and validate the result against the schema
38
+ if (typeof module.default === 'function') {
39
+ const result = (await module.default(base, env)) ?? base;
40
+ return schema.parse(result ?? base); // Validate and return
41
+ }
42
+ // If the module's default export is not a function, treat it as a configuration object
43
+ // and validate it against the schema
44
+ return schema.parse(module.default ?? base); // Validate and return
45
+ },
46
+ },
47
+ });
48
+ };
49
+ //# sourceMappingURL=load-portal-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-portal-config.js","sourceRoot":"","sources":["../../../../src/lib/portal/load-portal-config.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,YAAY,EAA2B,MAAM,yBAAyB,CAAC;AAgEhF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,GAAe,EACf,OAAiC,EACD,EAAE;IAClC,qEAAqE;IACrE,MAAM,WAAW,GAAG,OAAO,EAAE,IAAI,IAAI,CAAC,iBAAiB,GAAG,CAAC,WAAW,EAAE,EAAE,eAAe,CAAC,CAAC;IAC3F,OAAO,YAAY,CAAC,WAAW,EAAE;QAC/B,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,+CAA+C;QAClE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,+BAA+B;QAChE,MAAM,EAAE;YACN,iDAAiD;YACjD,OAAO,EAAE,KAAK,EAAE,MAAuC,EAAc,EAAE;gBACrE,oEAAoE;gBACpE,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;gBAC7D,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,IAAK,EAAQ,CAAC,CAAC,+BAA+B;gBAExE,+FAA+F;gBAC/F,6CAA6C;gBAC7C,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;oBACzC,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;oBACzD,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,sBAAsB;gBAC7D,CAAC;gBACD,uFAAuF;gBACvF,qCAAqC;gBACrC,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,sBAAsB;YACrE,CAAC;SACF;KACF,CAAC,CAAC;AACL,CAAC,CAAC"}