@equinor/fusion-framework-cli 11.0.0-next.1 → 11.0.0-next.11

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 (111) hide show
  1. package/CHANGELOG.md +108 -0
  2. package/bin/build/bin.js +16 -9
  3. package/bin/build/cli.js +443 -212
  4. package/bin/build/create-auth-client-B_j4Y_Dr.js +1415 -0
  5. package/bin/build/portal-config-publish-ezU_DFki.js +29578 -0
  6. package/dist/esm/bin/app-dev.js +17 -7
  7. package/dist/esm/bin/app-dev.js.map +1 -1
  8. package/dist/esm/bin/helpers/resolve-portal-config.js +46 -0
  9. package/dist/esm/bin/helpers/resolve-portal-config.js.map +1 -0
  10. package/dist/esm/bin/index.js +2 -0
  11. package/dist/esm/bin/index.js.map +1 -1
  12. package/dist/esm/bin/portal-config-publish.js +74 -0
  13. package/dist/esm/bin/portal-config-publish.js.map +1 -0
  14. package/dist/esm/bin/portal-config.js +48 -0
  15. package/dist/esm/bin/portal-config.js.map +1 -0
  16. package/dist/esm/bin/portal-dev.js +13 -21
  17. package/dist/esm/bin/portal-dev.js.map +1 -1
  18. package/dist/esm/bin/utils/create-dev-server.js +4 -4
  19. package/dist/esm/bin/utils/create-dev-server.js.map +1 -1
  20. package/dist/esm/cli/commands/app/alias.js +4 -4
  21. package/dist/esm/cli/commands/app/alias.js.map +1 -1
  22. package/dist/esm/cli/commands/app/build.js +10 -3
  23. package/dist/esm/cli/commands/app/build.js.map +1 -1
  24. package/dist/esm/cli/commands/app/check.js +15 -5
  25. package/dist/esm/cli/commands/app/check.js.map +1 -1
  26. package/dist/esm/cli/commands/app/config.js +20 -8
  27. package/dist/esm/cli/commands/app/config.js.map +1 -1
  28. package/dist/esm/cli/commands/app/dev.js +10 -4
  29. package/dist/esm/cli/commands/app/dev.js.map +1 -1
  30. package/dist/esm/cli/commands/app/index.js +18 -1
  31. package/dist/esm/cli/commands/app/index.js.map +1 -1
  32. package/dist/esm/cli/commands/app/manifest.js +12 -3
  33. package/dist/esm/cli/commands/app/manifest.js.map +1 -1
  34. package/dist/esm/cli/commands/app/pack.js +16 -9
  35. package/dist/esm/cli/commands/app/pack.js.map +1 -1
  36. package/dist/esm/cli/commands/app/publish.js +15 -4
  37. package/dist/esm/cli/commands/app/publish.js.map +1 -1
  38. package/dist/esm/cli/commands/app/tag.js +16 -4
  39. package/dist/esm/cli/commands/app/tag.js.map +1 -1
  40. package/dist/esm/cli/commands/app/upload.js +13 -8
  41. package/dist/esm/cli/commands/app/upload.js.map +1 -1
  42. package/dist/esm/cli/commands/auth/index.js +13 -1
  43. package/dist/esm/cli/commands/auth/index.js.map +1 -1
  44. package/dist/esm/cli/commands/auth/login.js +11 -7
  45. package/dist/esm/cli/commands/auth/login.js.map +1 -1
  46. package/dist/esm/cli/commands/auth/logout.js +10 -7
  47. package/dist/esm/cli/commands/auth/logout.js.map +1 -1
  48. package/dist/esm/cli/commands/auth/token.js +13 -9
  49. package/dist/esm/cli/commands/auth/token.js.map +1 -1
  50. package/dist/esm/cli/commands/disco/resolve.js +13 -16
  51. package/dist/esm/cli/commands/disco/resolve.js.map +1 -1
  52. package/dist/esm/cli/commands/portal/build.js +12 -7
  53. package/dist/esm/cli/commands/portal/build.js.map +1 -1
  54. package/dist/esm/cli/commands/portal/config.js +101 -0
  55. package/dist/esm/cli/commands/portal/config.js.map +1 -0
  56. package/dist/esm/cli/commands/portal/dev.js +9 -6
  57. package/dist/esm/cli/commands/portal/dev.js.map +1 -1
  58. package/dist/esm/cli/commands/portal/index.js +3 -1
  59. package/dist/esm/cli/commands/portal/index.js.map +1 -1
  60. package/dist/esm/cli/commands/portal/manifest.js +11 -8
  61. package/dist/esm/cli/commands/portal/manifest.js.map +1 -1
  62. package/dist/esm/cli/commands/portal/pack.js +13 -8
  63. package/dist/esm/cli/commands/portal/pack.js.map +1 -1
  64. package/dist/esm/cli/commands/portal/publish.js +11 -8
  65. package/dist/esm/cli/commands/portal/publish.js.map +1 -1
  66. package/dist/esm/cli/commands/portal/schema.js +10 -8
  67. package/dist/esm/cli/commands/portal/schema.js.map +1 -1
  68. package/dist/esm/cli/commands/portal/tag.js +12 -8
  69. package/dist/esm/cli/commands/portal/tag.js.map +1 -1
  70. package/dist/esm/cli/commands/portal/upload.js +8 -7
  71. package/dist/esm/cli/commands/portal/upload.js.map +1 -1
  72. package/dist/esm/lib/app/create-app-manifest.js +2 -0
  73. package/dist/esm/lib/app/create-app-manifest.js.map +1 -1
  74. package/dist/esm/lib/portal/create-portal-manifest.js +5 -5
  75. package/dist/esm/lib/portal/create-portal-manifest.js.map +1 -1
  76. package/dist/esm/lib/portal/index.js +2 -0
  77. package/dist/esm/lib/portal/index.js.map +1 -1
  78. package/dist/esm/lib/portal/load-portal-config.js +49 -0
  79. package/dist/esm/lib/portal/load-portal-config.js.map +1 -0
  80. package/dist/esm/lib/portal/load-portal-manifest.js +1 -1
  81. package/dist/esm/lib/portal/load-portal-manifest.js.map +1 -1
  82. package/dist/esm/lib/portal/portal-config.js +23 -0
  83. package/dist/esm/lib/portal/portal-config.js.map +1 -0
  84. package/dist/esm/lib/portal/portal-manifest.schema.js +1 -1
  85. package/dist/esm/lib/portal/portal-manifest.schema.js.map +1 -1
  86. package/dist/esm/version.js +1 -1
  87. package/dist/esm/version.js.map +1 -1
  88. package/dist/tsconfig.tsbuildinfo +1 -1
  89. package/dist/types/bin/helpers/resolve-portal-config.d.ts +18 -0
  90. package/dist/types/bin/index.d.ts +2 -0
  91. package/dist/types/bin/portal-build.d.ts +1 -1
  92. package/dist/types/bin/portal-config-publish.d.ts +26 -0
  93. package/dist/types/bin/portal-config.d.ts +46 -0
  94. package/dist/types/bin/portal-manifest.d.ts +1 -1
  95. package/dist/types/bin/portal-pack.d.ts +1 -1
  96. package/dist/types/bin/utils/create-dev-server.d.ts +3 -3
  97. package/dist/types/cli/commands/app/config.d.ts +3 -3
  98. package/dist/types/cli/commands/app/pack.d.ts +1 -1
  99. package/dist/types/cli/commands/auth/logout.d.ts +0 -4
  100. package/dist/types/cli/commands/auth/token.d.ts +0 -5
  101. package/dist/types/cli/commands/disco/resolve.d.ts +0 -7
  102. package/dist/types/cli/commands/portal/config.d.ts +32 -0
  103. package/dist/types/lib/portal/index.d.ts +2 -0
  104. package/dist/types/lib/portal/load-portal-config.d.ts +83 -0
  105. package/dist/types/lib/portal/load-portal-manifest.d.ts +3 -3
  106. package/dist/types/lib/portal/portal-config.d.ts +69 -0
  107. package/dist/types/lib/portal/portal-manifest.schema.d.ts +7 -7
  108. package/dist/types/version.d.ts +1 -1
  109. package/package.json +26 -23
  110. package/bin/build/create-auth-client-7P8K_6Vu.js +0 -89
  111. package/bin/build/portal-pack-CAsnV44B.js +0 -12069
@@ -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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"}
@@ -0,0 +1,46 @@
1
+ import { FileNotFoundError } from '@equinor/fusion-imports';
2
+ import { chalk, formatPath } from '../utils/format.js';
3
+ import { loadPortalConfig } from '../../lib/portal';
4
+ /**
5
+ * Resolves the portal configuration based on the provided runtime environment and options.
6
+ * Handles logging, error reporting, and fallback to built-in config if no local config is found.
7
+ *
8
+ * @param env - The runtime environment containing the command and mode information.
9
+ * @param options - Optional parameters:
10
+ * - config: Path to a specific configuration file.
11
+ * - log: Logger utility for progress and status messages.
12
+ * @returns A promise resolving to the loaded portal configuration.
13
+ * @throws If the portal configuration cannot be resolved.
14
+ */
15
+ export const resolvePortalConfig = async (env, options) => {
16
+ const { log } = options;
17
+ try {
18
+ // Start logging the config creation process
19
+ log?.start('create portal configuration');
20
+ log?.info(`generating config with ${chalk.red.dim(env.command)} command in ${chalk.green.dim(env.mode)} mode`);
21
+ // Attempt to load the portal config (from file if specified)
22
+ const result = await loadPortalConfig(env, { file: options?.config });
23
+ // Log success and show the config file path
24
+ log?.succeed('⚙️ generated config from ', formatPath(result.path, { relative: true }));
25
+ return result.config;
26
+ }
27
+ catch (err) {
28
+ // Handle missing config file error
29
+ if (err instanceof FileNotFoundError) {
30
+ if (options.config) {
31
+ // Warn if a specific config file was requested but not found
32
+ log?.warn(`failed to load config file ${formatPath(options.config)}, please check the path.`);
33
+ }
34
+ else {
35
+ // Fallback to built-in config if no local config is present
36
+ log?.succeed(chalk.dim('⚙️ no local portal config applied, using built-in'));
37
+ return {};
38
+ }
39
+ }
40
+ // Log failure and debug information for other errors
41
+ log?.fail('failed to resolve portal config');
42
+ log?.debug(err);
43
+ throw err;
44
+ }
45
+ };
46
+ //# sourceMappingURL=resolve-portal-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-portal-config.js","sourceRoot":"","sources":["../../../../src/bin/helpers/resolve-portal-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAK5D,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,gBAAgB,EAAqB,MAAM,kBAAkB,CAAC;AAEvE;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACtC,GAAe,EACf,OAAwD,EAC5C,EAAE;IACd,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IACxB,IAAI,CAAC;QACH,4CAA4C;QAC5C,GAAG,EAAE,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAC1C,GAAG,EAAE,IAAI,CACP,0BAA0B,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CACpG,CAAC;QACF,6DAA6D;QAC7D,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAI,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACzE,4CAA4C;QAC5C,GAAG,EAAE,OAAO,CAAC,2BAA2B,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACvF,OAAO,MAAM,CAAC,MAAM,CAAC;IACvB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,mCAAmC;QACnC,IAAI,GAAG,YAAY,iBAAiB,EAAE,CAAC;YACrC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,6DAA6D;gBAC7D,GAAG,EAAE,IAAI,CACP,8BAA8B,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,0BAA0B,CACnF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,4DAA4D;gBAC5D,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC,CAAC;gBAC7E,OAAO,EAAO,CAAC;YACjB,CAAC;QACH,CAAC;QACD,qDAAqD;QACrD,GAAG,EAAE,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAC7C,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAChB,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC,CAAC"}
@@ -6,5 +6,7 @@ export { startAppDevServer } from './app-dev.js';
6
6
  export { buildPortal } from './portal-build.js';
7
7
  export { bundlePortal } from './portal-pack.js';
8
8
  export { loadPortalManifest } from './portal-manifest.js';
9
+ export { generatePortalConfig } from './portal-config.js';
10
+ export { publishPortalConfig } from './portal-config-publish.js';
9
11
  export { pack } from './pack.js';
10
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/bin/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/bin/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,74 @@
1
+ import { HttpJsonResponseError } from '@equinor/fusion-framework-module-http/errors';
2
+ import { initializeFramework, } from '../lib/framework.node.js';
3
+ import { formatPath, chalk } from './utils';
4
+ import { generatePortalConfig } from './portal-config.js';
5
+ /**
6
+ * Publishes the portal configuration to the portal store for a specific build version.
7
+ *
8
+ * This function generates the portal config, loads the manifest, initializes the Fusion Framework,
9
+ * and sends the config to the portal service. Handles and logs errors for common failure scenarios.
10
+ *
11
+ * @param options - Options for config, manifest, environment, authentication, and logging.
12
+ * @returns A promise that resolves when publishing is complete.
13
+ * @throws If the build version is missing or publishing fails.
14
+ * @public
15
+ */
16
+ export const publishPortalConfig = async (options) => {
17
+ const { log, portal } = options;
18
+ // Generate the portal config using provided options and environment
19
+ const { config: portalConfig } = await generatePortalConfig({
20
+ log,
21
+ config: options.config,
22
+ env: { environment: options.environment },
23
+ });
24
+ log?.start('Initializing Fusion Framework...');
25
+ // Initialize the Fusion Framework with the provided environment and authentication
26
+ const framework = await initializeFramework({
27
+ env: options.environment,
28
+ auth: options.auth,
29
+ });
30
+ log?.succeed('Initialized Fusion Framework');
31
+ // Create a client for the 'portals' service
32
+ const portalClient = await framework.serviceDiscovery.createClient('portals');
33
+ // Subscribe to outgoing requests for logging and debugging
34
+ portalClient.request$.subscribe((request) => {
35
+ log?.debug('Request:', request);
36
+ log?.info('🌎', 'Executing request to:', formatPath(request.uri));
37
+ });
38
+ log?.start('Publishing portal config');
39
+ log?.info('Using environment:', chalk.redBright(options.environment));
40
+ try {
41
+ // Send a PUT request to publish the portal config for the specific build version
42
+ const response = await portalClient.json(`/portals/${portal.name}@${portal.version}/config`, {
43
+ method: 'PUT',
44
+ body: portalConfig,
45
+ });
46
+ log?.debug('Response:', response);
47
+ log?.succeed('Published portal config');
48
+ }
49
+ catch (error) {
50
+ // Handle known HTTP errors with specific log messages
51
+ if (error instanceof HttpJsonResponseError) {
52
+ switch (error.response.status) {
53
+ case 410:
54
+ log?.fail('🤬', `Portal ${portal.name} is deleted from portals-service. Please check the portal key and try again.`);
55
+ break;
56
+ case 404:
57
+ log?.fail('🤬', `Portal ${portal.name} not found. Please check the portal key and try again.`);
58
+ break;
59
+ case 403:
60
+ case 401:
61
+ log?.fail('🤬', 'You are not authorized to publish portal config. Please check your permissions.');
62
+ break;
63
+ default:
64
+ log?.fail('🤬', 'Failed to publish portal config.', `Status code: ${error.response.status}`, `Message: ${error.response.statusText}`);
65
+ break;
66
+ }
67
+ }
68
+ // Rethrow error for upstream handling
69
+ throw error;
70
+ }
71
+ };
72
+ // Export as default for compatibility with import patterns
73
+ export default publishPortalConfig;
74
+ //# sourceMappingURL=portal-config-publish.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portal-config-publish.js","sourceRoot":"","sources":["../../../src/bin/portal-config-publish.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import { writeFile } from '../lib/utils';
2
+ import { formatPath } from './utils';
3
+ import { resolveProjectPackage } from './helpers/resolve-project-package.js';
4
+ import { resolvePortalConfig } from './helpers/resolve-portal-config.js';
5
+ /**
6
+ * Generates the portal configuration object for the current project.
7
+ *
8
+ * This function resolves the portal package, sets up the runtime environment, resolves the portal config,
9
+ * and optionally writes the config to a file if an output path is provided. Logging is supported for
10
+ * debugging and progress tracking.
11
+ *
12
+ * @param options - Optional settings for logger, environment overrides, config path, and output file.
13
+ * @returns An object containing the generated config and the resolved package info.
14
+ * @throws If writing the config to file fails.
15
+ * @public
16
+ */
17
+ export const generatePortalConfig = async (options) => {
18
+ const { log } = options ?? {};
19
+ // Resolve the portal's package.json for root and metadata
20
+ const pkg = await resolveProjectPackage(log);
21
+ // Setup the runtime environment for config resolution
22
+ const env = {
23
+ command: 'build',
24
+ mode: process.env.NODE_ENV ?? 'production',
25
+ root: pkg.root,
26
+ ...options?.env, // Allow overrides from options
27
+ };
28
+ // Resolve the portal config using the environment and config path
29
+ const config = await resolvePortalConfig(env, { log, config: options?.config });
30
+ log?.debug('config:', config);
31
+ // If an output path is provided, write the config to file
32
+ if (options?.output) {
33
+ log?.start('writing config to file');
34
+ try {
35
+ // Write the config as pretty-printed JSON
36
+ await writeFile(options.output, JSON.stringify(config, null, 2));
37
+ log?.succeed('config written successfully', formatPath(options.output, { relative: true }));
38
+ }
39
+ catch (error) {
40
+ // Log and rethrow errors encountered during file write
41
+ log?.fail('failed to write config');
42
+ throw error;
43
+ }
44
+ }
45
+ // Return the generated config and resolved package info for further use
46
+ return { config, pkg };
47
+ };
48
+ //# sourceMappingURL=portal-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portal-config.js","sourceRoot":"","sources":["../../../src/bin/portal-config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,UAAU,EAAsB,MAAM,SAAS,CAAC;AAEzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AA8BzE;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAE,OAAqC,EAAE,EAAE;IAClF,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IAC9B,0DAA0D;IAC1D,MAAM,GAAG,GAAG,MAAM,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAE7C,sDAAsD;IACtD,MAAM,GAAG,GAAe;QACtB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,YAAY;QAC1C,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,GAAG,OAAO,EAAE,GAAG,EAAE,+BAA+B;KACjD,CAAC;IAEF,kEAAkE;IAClE,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAChF,GAAG,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAE9B,0DAA0D;IAC1D,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;QACpB,GAAG,EAAE,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACrC,IAAI,CAAC;YACH,0CAA0C;YAC1C,MAAM,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACjE,GAAG,EAAE,OAAO,CAAC,6BAA6B,EAAE,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC9F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,uDAAuD;YACvD,GAAG,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;YACpC,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,wEAAwE;IACxE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACzB,CAAC,CAAC"}
@@ -1,6 +1,7 @@
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.js';
4
+ import { resolvePortalConfig } from './helpers/resolve-portal-config.js';
4
5
  /**
5
6
  * Starts the portal development server for local development and testing.
6
7
  *
@@ -14,9 +15,7 @@ import { resolveProjectPackage } from './helpers/resolve-project-package.js';
14
15
  */
15
16
  export const startPortalDevServer = async (options) => {
16
17
  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
- // Resolve the application's package.json for root and metadata
18
+ // Resolve the portals's package.json for root and metadata
20
19
  const pkg = await resolveProjectPackage(log);
21
20
  // Setup the runtime environment for the dev server
22
21
  const env = {
@@ -26,22 +25,11 @@ export const startPortalDevServer = async (options) => {
26
25
  mode: 'development', // Force development mode
27
26
  command: 'serve', // Command is always 'serve' for dev
28
27
  };
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();
43
- // Dummy implementation for resolving the portal config
44
- const resolvePortalConfig = async (...args) => ({ foo: 'bar' });
28
+ // Resolve the portal manifest using the environment and manifest path
29
+ const portalManifest = await resolvePortalManifest(env, pkg, {
30
+ log,
31
+ manifestPath: options?.manifest,
32
+ });
45
33
  // Resolve the portal config (replace with real logic as needed)
46
34
  const portalConfig = await resolvePortalConfig(env, { log, config: options?.config });
47
35
  log?.start('Starting app development server...');
@@ -49,15 +37,19 @@ export const startPortalDevServer = async (options) => {
49
37
  const devServer = await createDevServer(env, {
50
38
  template: {
51
39
  portal: {
52
- id: portalManifest.id,
40
+ id: portalManifest.name,
53
41
  },
54
42
  },
55
43
  portal: {
56
44
  manifest: portalManifest,
57
45
  config: portalConfig,
58
46
  },
47
+ }, {
59
48
  server: {
60
49
  port: options?.server?.port,
50
+ fs: {
51
+ allow: [pkg.root], // Allow access to the root directory
52
+ },
61
53
  },
62
54
  });
63
55
  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,sCAAsC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAEzE;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAE,OAuB1C,EAAE,EAAE;IACH,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IAE9B,2DAA2D;IAC3D,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,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"}
@@ -55,7 +55,7 @@ const applyAppRouting = (base, manifest, config) => {
55
55
  base.api.routes ??= [];
56
56
  // add rewrite to local fs
57
57
  base.api.routes.push({
58
- match: `/apps/bundles/apps/${manifest.appKey}/${build.version}/*path`,
58
+ match: `/apps/bundles/apps/${appKey}@${build.version}/*path`,
59
59
  middleware: async (req, res, next) => {
60
60
  const location = req.params?.path;
61
61
  if (Array.isArray(location) === false) {
@@ -101,8 +101,9 @@ const applyAppRouting = (base, manifest, config) => {
101
101
  */
102
102
  const applyPortalRouting = (base, manifest, config) => {
103
103
  base.api.routes ??= [];
104
+ // @todo - might add correct tag handling later
104
105
  base.api.routes.push({
105
- match: `/portals/portals/${manifest.id}{@:tag}`,
106
+ match: `/portals/portals/${manifest.name}{@:tag}`,
106
107
  middleware: async (_req, res) => {
107
108
  res.writeHead(200, {
108
109
  'content-type': 'application/json',
@@ -111,7 +112,7 @@ const applyPortalRouting = (base, manifest, config) => {
111
112
  },
112
113
  });
113
114
  base.api.routes.push({
114
- match: `/portals/portals/${manifest.id}{@:tag}/config`,
115
+ match: `/portals/portals/${manifest.name}{@:tag}/config`,
115
116
  middleware: async (_req, res) => {
116
117
  res.writeHead(200, {
117
118
  'content-type': 'application/json',
@@ -147,7 +148,6 @@ export const createDevServerConfig = (options) => {
147
148
  };
148
149
  },
149
150
  },
150
- server: options.server,
151
151
  };
152
152
  if (options.app) {
153
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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"}
@@ -4,12 +4,12 @@
4
4
  * These aliases help maintain backward compatibility and inform users about updated command usage.
5
5
  */
6
6
  import chalk from 'chalk';
7
- import packCommand, { defaultArchive } from './pack.js';
7
+ import packCommand, { DEFAULT_ARCHIVE } from './pack.js';
8
8
  packCommand.alias('build-pack').hook('preAction', (thisCommand) => {
9
9
  if (process.argv[3] === 'build-pack') {
10
10
  console.warn(chalk.bgRedBright.bold('The command "build-pack" is deprecated. Please use "pack" instead.'));
11
11
  if (!thisCommand.getOptionValue('archive')) {
12
- thisCommand.setOptionValue('archive', defaultArchive);
12
+ thisCommand.setOptionValue('archive', DEFAULT_ARCHIVE);
13
13
  }
14
14
  }
15
15
  });
@@ -20,12 +20,12 @@ uploadCommand.alias('build-upload').hook('preAction', (thisCommand) => {
20
20
  if (thisCommand.getOptionValue('service')) {
21
21
  throw new Error('The --service option is deprecated. Please use --env instead.');
22
22
  }
23
- const bundle = thisCommand.getOptionValue('bundle') ?? defaultArchive;
23
+ const bundle = thisCommand.getOptionValue('bundle') ?? DEFAULT_ARCHIVE;
24
24
  process.argv[4] = bundle;
25
25
  }
26
26
  });
27
27
  import manifestCommand from './manifest.js';
28
- manifestCommand.alias('build-manifest').hook('preAction', (thisCommand) => {
28
+ manifestCommand.alias('build-manifest').hook('preAction', () => {
29
29
  if (process.argv[3] === 'build-manifest') {
30
30
  console.warn(chalk.bgRedBright.bold('The command "build-manifest" is deprecated. Please use "manifest" instead.'));
31
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"alias.js","sourceRoot":"","sources":["../../../../../src/cli/commands/app/alias.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,WAAW,EAAE,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACxD,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,EAAE;IAChE,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY,EAAE,CAAC;QACrC,OAAO,CAAC,IAAI,CACV,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAC7F,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3C,WAAW,CAAC,cAAc,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,OAAO,aAAa,MAAM,aAAa,CAAC;AACxC,aAAa,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,EAAE;IACpE,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,cAAc,EAAE,CAAC;QACvC,OAAO,CAAC,IAAI,CACV,KAAK,CAAC,WAAW,CAAC,IAAI,CACpB,wEAAwE,CACzE,CACF,CAAC;QACF,IAAI,WAAW,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;QACnF,CAAC;QACD,MAAM,MAAM,GAAG,WAAW,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,cAAc,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;IAC3B,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,OAAO,eAAe,MAAM,eAAe,CAAC;AAC5C,eAAe,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,EAAE;IACxE,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,gBAAgB,EAAE,CAAC;QACzC,OAAO,CAAC,IAAI,CACV,KAAK,CAAC,WAAW,CAAC,IAAI,CACpB,4EAA4E,CAC7E,CACF,CAAC;IACJ,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,OAAO,cAAc,MAAM,cAAc,CAAC;AAC1C,cAAc,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,EAAE;IACtE,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,eAAe,EAAE,CAAC;QACxC,OAAO,CAAC,IAAI,CACV,KAAK,CAAC,WAAW,CAAC,IAAI,CACpB,0EAA0E,CAC3E,CACF,CAAC;IACJ,CAAC;IACD,IAAI,WAAW,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACnF,CAAC;AACH,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"alias.js","sourceRoot":"","sources":["../../../../../src/cli/commands/app/alias.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,WAAW,EAAE,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACzD,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,EAAE;IAChE,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY,EAAE,CAAC;QACrC,OAAO,CAAC,IAAI,CACV,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAC7F,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3C,WAAW,CAAC,cAAc,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,OAAO,aAAa,MAAM,aAAa,CAAC;AACxC,aAAa,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,EAAE;IACpE,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,cAAc,EAAE,CAAC;QACvC,OAAO,CAAC,IAAI,CACV,KAAK,CAAC,WAAW,CAAC,IAAI,CACpB,wEAAwE,CACzE,CACF,CAAC;QACF,IAAI,WAAW,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;QACnF,CAAC;QACD,MAAM,MAAM,GAAG,WAAW,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,eAAe,CAAC;QACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;IAC3B,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,OAAO,eAAe,MAAM,eAAe,CAAC;AAC5C,eAAe,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE;IAC7D,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,gBAAgB,EAAE,CAAC;QACzC,OAAO,CAAC,IAAI,CACV,KAAK,CAAC,WAAW,CAAC,IAAI,CACpB,4EAA4E,CAC7E,CACF,CAAC;IACJ,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,OAAO,cAAc,MAAM,cAAc,CAAC;AAC1C,cAAc,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,EAAE;IACtE,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,eAAe,EAAE,CAAC;QACxC,OAAO,CAAC,IAAI,CACV,KAAK,CAAC,WAAW,CAAC,IAAI,CACpB,0EAA0E,CAC3E,CACF,CAAC;IACJ,CAAC;IACD,IAAI,WAAW,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACnF,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -27,11 +27,18 @@ import { buildApplication } from '../../../bin/app-build.js';
27
27
  * @see buildApplication for build implementation details
28
28
  */
29
29
  export const command = createCommand('build')
30
- .description([
31
- 'Build the application using a manifest file and environment-specific configuration.',
32
- 'If no manifest is provided, the command will search for a default app.manifest.[ts|js|json] in the current directory.',
30
+ .description('Build the application using a manifest file and environment-specific configuration.')
31
+ .addHelpText('after', [
32
+ 'Builds the application using a manifest file and environment-specific configuration.',
33
+ 'If no manifest is provided, searches for a default app.manifest.[ts|js|json] in the current directory.',
33
34
  'You can use environment variables to customize the build process.',
34
35
  '',
36
+ 'Arguments:',
37
+ ' [manifest] Manifest file to use for building (e.g., app.manifest.ts)',
38
+ '',
39
+ 'Options:',
40
+ ' -d, --debug Enable debug mode for verbose logging (default: false)',
41
+ '',
35
42
  'Examples:',
36
43
  ' $ fusion build',
37
44
  ' $ fusion build app.manifest.dev.ts --debug',
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../../../src/cli/commands/app/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;KAC1C,WAAW,CACV;IACE,qFAAqF;IACrF,uHAAuH;IACvH,mEAAmE;IACnE,EAAE;IACF,WAAW;IACX,kBAAkB;IAClB,8CAA8C;CAC/C,CAAC,IAAI,CAAC,IAAI,CAAC,CACb;KACA,MAAM,CAAC,aAAa,EAAE,uCAAuC,EAAE,KAAK,CAAC;KACrE,QAAQ,CAAC,YAAY,EAAE,2DAA2D,CAAC;KACnF,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE;IAC9B,MAAM,GAAG,GAAG,IAAI,aAAa,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;IACjE,MAAM,gBAAgB,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC;AAEL,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../../../src/cli/commands/app/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;KAC1C,WAAW,CACV,qFAAqF,CACtF;KACA,WAAW,CACV,OAAO,EACP;IACE,sFAAsF;IACtF,wGAAwG;IACxG,mEAAmE;IACnE,EAAE;IACF,YAAY;IACZ,0EAA0E;IAC1E,EAAE;IACF,UAAU;IACV,uEAAuE;IACvE,EAAE;IACF,WAAW;IACX,kBAAkB;IAClB,8CAA8C;CAC/C,CAAC,IAAI,CAAC,IAAI,CAAC,CACb;KACA,MAAM,CAAC,aAAa,EAAE,uCAAuC,EAAE,KAAK,CAAC;KACrE,QAAQ,CAAC,YAAY,EAAE,2DAA2D,CAAC;KACnF,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE;IAC9B,MAAM,GAAG,GAAG,IAAI,aAAa,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;IACjE,MAAM,gBAAgB,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC;AAEL,eAAe,OAAO,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { createCommand } from 'commander';
2
2
  import { createEnvOption } from '../../options/env.js';
3
3
  import { withAuthOptions } from '../../options/auth.js';
4
- import checkApp from '../../../bin/app-check.js';
4
+ import { checkApp } from '../../../bin/app-check.js';
5
5
  import { ConsoleLogger } from '../../../bin/utils';
6
6
  /**
7
7
  * CLI command: `check`
@@ -28,10 +28,20 @@ import { ConsoleLogger } from '../../../bin/utils';
28
28
  * @see checkApp for implementation details
29
29
  */
30
30
  export const command = withAuthOptions(createCommand('check')
31
- .description([
32
- 'Check if application is registered in Fusion app store',
33
- 'This command verifies the registration status of your application in the Fusion app store.',
34
- "It can help identify issues with your app's registration or configuration.",
31
+ .description('Check if application is registered in Fusion app store.')
32
+ .addHelpText('after', [
33
+ 'Checks if the application is registered in the Fusion app store.',
34
+ 'Verifies the registration status of your application in the Fusion app store.',
35
+ 'Helps identify issues with app registration or configuration.',
36
+ 'Supports authentication and environment options. Provides a debug mode for verbose logging.',
37
+ '',
38
+ 'Options:',
39
+ ' -d, --debug Enable debug mode for verbose logging (default: false)',
40
+ ' --environment <env> Specify the environment (see available environments)',
41
+ ' --token <token> Provide an authentication token (if required)',
42
+ '',
43
+ 'Examples:',
44
+ ' $ fusion check --environment prod --debug',
35
45
  ].join('\n'))
36
46
  .option('-d, --debug', 'debug mode', false)
37
47
  .addOption(createEnvOption({ allowDev: false }))
@@ -1 +1 @@
1
- {"version":3,"file":"check.js","sourceRoot":"","sources":["../../../../../src/cli/commands/app/check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,QAAQ,MAAM,2BAA2B,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,eAAe,CACpC,aAAa,CAAC,OAAO,CAAC;KACnB,WAAW,CACV;IACE,wDAAwD;IACxD,4FAA4F;IAC5F,4EAA4E;CAC7E,CAAC,IAAI,CAAC,IAAI,CAAC,CACb;KACA,MAAM,CAAC,aAAa,EAAE,YAAY,EAAE,KAAK,CAAC;KAC1C,SAAS,CAAC,eAAe,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;KAC/C,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;IAClB,MAAM,GAAG,GAAG,IAAI,aAAa,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IACvE,OAAO,QAAQ,CAAC;QACd,GAAG;QACH,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,IAAI,EAAE,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO;KAC9D,CAAC,CAAC;AACL,CAAC,CAAC,CACL,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"check.js","sourceRoot":"","sources":["../../../../../src/cli/commands/app/check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,eAAe,CACpC,aAAa,CAAC,OAAO,CAAC;KACnB,WAAW,CAAC,yDAAyD,CAAC;KACtE,WAAW,CACV,OAAO,EACP;IACE,kEAAkE;IAClE,+EAA+E;IAC/E,+DAA+D;IAC/D,6FAA6F;IAC7F,EAAE;IACF,UAAU;IACV,8EAA8E;IAC9E,4EAA4E;IAC5E,qEAAqE;IACrE,EAAE;IACF,WAAW;IACX,6CAA6C;CAC9C,CAAC,IAAI,CAAC,IAAI,CAAC,CACb;KACA,MAAM,CAAC,aAAa,EAAE,YAAY,EAAE,KAAK,CAAC;KAC1C,SAAS,CAAC,eAAe,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;KAC/C,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;IAClB,MAAM,GAAG,GAAG,IAAI,aAAa,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IACvE,OAAO,QAAQ,CAAC;QACd,GAAG;QACH,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,IAAI,EAAE,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO;KAC9D,CAAC,CAAC;AACL,CAAC,CAAC,CACL,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -31,25 +31,37 @@ import { stdout } from 'node:process';
31
31
  * -o, --output <stdout|path> Output to stdout or a file (default: stdout)
32
32
  *
33
33
  * Example:
34
- * $ fusion config app.config.ts
35
- * $ fusion config app.config.prod.ts --output ./dist/app.config.json
36
- * $ fusion config --publish --manifest app.manifest.ts --env prod
34
+ * $ fusion-framework-cli config app.config.ts
35
+ * $ fusion-framework-cli config app.config.prod.ts --output ./dist/app.config.json
36
+ * $ fusion-framework-cli config --publish --manifest app.manifest.ts --env prod
37
37
  *
38
38
  * @see generateApplicationConfig, publishAppConfig for implementation details
39
39
  */
40
40
  export const command = withAuthOptions(createCommand('config')
41
- .description([
41
+ .description('Generate or publish the Fusion application configuration file.')
42
+ .addHelpText('after', [
42
43
  'Generate and/or publish the application configuration for Fusion apps.',
43
44
  '',
44
45
  'By default, outputs the generated config to stdout or a file. Use --publish to upload the config to the Fusion app registry.',
45
46
  'Options [token, tenant, client, manifest] are only relevant when --publish is used.',
46
47
  'Option [-e, --env] cannot be set to dev when --publish is used.',
47
48
  '',
49
+ 'Arguments:',
50
+ ' [config] Config build file to use (e.g., app.config[.env]?.[ts,js,json])',
51
+ '',
52
+ 'Options:',
53
+ ' --debug Enable debug mode for verbose logging',
54
+ ' --silent Silent mode, suppresses output except errors',
55
+ ' --publish Publish config to Fusion app registry',
56
+ ' --manifest <path> Path to the app manifest file (required with --publish)',
57
+ ' -e, --env <env> Target environment',
58
+ ' -o, --output <stdout|path> Output to stdout or a file (default: stdout)',
59
+ '',
48
60
  'Examples:',
49
- ' $ fusion config app.config.ts',
50
- ' $ fusion config app.config.prod.ts --output ./dist/app.config.json',
51
- ' $ fusion config --publish --manifest app.manifest.ts --env prod',
52
- ' $ fusion config --env prod my-custom.config.ts',
61
+ ' $ fusion-framework-cli config app.config.ts',
62
+ ' $ fusion-framework-cli config app.config.prod.ts --output ./dist/app.config.json',
63
+ ' $ fusion-framework-cli config --publish --manifest app.manifest.ts --env prod',
64
+ ' $ fusion-framework-cli config --env prod my-custom.config.ts',
53
65
  ].join('\n'))
54
66
  .option('--debug', 'Enable debug mode for verbose logging')
55
67
  .option('--silent', 'Silent mode, suppresses output except errors')
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../src/cli/commands/app/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../src/cli/commands/app/config.ts"],"names":[],"mappings":"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"}
@@ -29,11 +29,17 @@ import { ConsoleLogger } from '../../../bin/utils';
29
29
  * @see startAppDevServer for implementation details
30
30
  */
31
31
  export const command = createCommand('dev')
32
- .description([
33
- 'Start the application in development mode.',
32
+ .description('Start the application in development mode.')
33
+ .addHelpText('after', [
34
34
  '',
35
- 'This command launches the development server for your application.',
36
- 'You can specify a custom manifest or config file, set the runtime environment, and choose the port.',
35
+ 'Starts the application in development mode with a local dev server.',
36
+ '',
37
+ 'Options:',
38
+ ' --debug Enable debug mode',
39
+ ' --manifest <path> Path to the app manifest file (app.manifest[.env]?.[ts,js,json])',
40
+ ' --config <path> Path to the app config file (app.config[.env]?.[ts,js,json])',
41
+ ' --env <environment> Runtime environment for the dev server (default: local)',
42
+ ' --port <port> Port for the development server (default: 3000)',
37
43
  '',
38
44
  'Examples:',
39
45
  ' $ fusion app dev',