@equinor/fusion-framework-cli 11.0.0-next.8 → 11.0.1

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 (226) hide show
  1. package/CHANGELOG.md +71 -94
  2. package/README.md +98 -104
  3. package/bin/build/bin.mjs +1 -0
  4. package/bin/build/cli.mjs +7 -0
  5. package/bin/cli.mjs +1 -1
  6. package/dist/esm/lib/app/app-config.js.map +1 -1
  7. package/dist/esm/lib/app/app-manifest.js.map +1 -1
  8. package/dist/esm/lib/app/app-package.js +1 -1
  9. package/dist/esm/lib/app/app-package.js.map +1 -1
  10. package/dist/esm/lib/app/merge-app-config.js +11 -5
  11. package/dist/esm/lib/app/merge-app-config.js.map +1 -1
  12. package/dist/esm/lib/app/merge-app-manifest.js +2 -2
  13. package/dist/esm/lib/app/merge-app-manifest.js.map +1 -1
  14. package/dist/esm/lib/index.js +3 -1
  15. package/dist/esm/lib/index.js.map +1 -1
  16. package/dist/esm/lib/load-dev-server-config.js +7 -3
  17. package/dist/esm/lib/load-dev-server-config.js.map +1 -1
  18. package/dist/esm/lib/merge-dev-server-config.js +24 -16
  19. package/dist/esm/lib/merge-dev-server-config.js.map +1 -1
  20. package/dist/esm/lib/portal/create-portal-manifest.js.map +1 -1
  21. package/dist/esm/lib/portal/load-portal-config.js +1 -1
  22. package/dist/esm/lib/portal/load-portal-config.js.map +1 -1
  23. package/dist/esm/lib/portal/load-portal-manifest.js +8 -4
  24. package/dist/esm/lib/portal/load-portal-manifest.js.map +1 -1
  25. package/dist/esm/lib/portal/load-portal-schema.js.map +1 -1
  26. package/dist/esm/lib/portal/portal-config.js.map +1 -1
  27. package/dist/esm/lib/utils/index.js +1 -0
  28. package/dist/esm/lib/utils/index.js.map +1 -1
  29. package/dist/esm/lib/utils/resolve-annotations.js +48 -5
  30. package/dist/esm/lib/utils/resolve-annotations.js.map +1 -1
  31. package/dist/esm/lib/utils/resolve-devops-annotations.js +7 -3
  32. package/dist/esm/lib/utils/resolve-devops-annotations.js.map +1 -1
  33. package/dist/esm/lib/utils/resolve-git-commit-sha.js +1 -0
  34. package/dist/esm/lib/utils/resolve-git-commit-sha.js.map +1 -1
  35. package/dist/esm/lib/utils/resolve-github-annotations.js +16 -72
  36. package/dist/esm/lib/utils/resolve-github-annotations.js.map +1 -1
  37. package/dist/esm/version.js +1 -1
  38. package/dist/types/bin/app-build.d.ts +2 -2
  39. package/dist/types/bin/app-check.d.ts +2 -2
  40. package/dist/types/bin/app-config-publish.d.ts +2 -2
  41. package/dist/types/bin/app-config.d.ts +3 -3
  42. package/dist/types/bin/app-dev.d.ts +1 -1
  43. package/dist/types/bin/app-manifest.d.ts +3 -3
  44. package/dist/types/bin/app-pack.d.ts +1 -1
  45. package/dist/types/bin/app-tag.d.ts +3 -3
  46. package/dist/types/bin/app-upload.d.ts +2 -2
  47. package/dist/types/bin/helpers/load-vite-config.d.ts +1 -2
  48. package/dist/types/bin/helpers/resolve-app-config.d.ts +3 -3
  49. package/dist/types/bin/helpers/resolve-app-manifest.d.ts +3 -3
  50. package/dist/types/bin/helpers/resolve-portal-config.d.ts +3 -3
  51. package/dist/types/bin/helpers/resolve-portal-manifest.d.ts +3 -4
  52. package/dist/types/bin/helpers/resolve-project-package.d.ts +2 -2
  53. package/dist/types/bin/index.d.ts +9 -0
  54. package/dist/types/bin/pack.d.ts +1 -1
  55. package/dist/types/bin/portal-build.d.ts +5 -5
  56. package/dist/types/bin/portal-config-publish.d.ts +2 -2
  57. package/dist/types/bin/portal-config.d.ts +4 -4
  58. package/dist/types/bin/portal-dev.d.ts +2 -2
  59. package/dist/types/bin/portal-manifest.d.ts +4 -4
  60. package/dist/types/bin/portal-pack.d.ts +3 -3
  61. package/dist/types/bin/portal-tag.d.ts +2 -2
  62. package/dist/types/bin/portal-upload.d.ts +2 -2
  63. package/dist/types/bin/utils/create-dev-server.d.ts +2 -2
  64. package/dist/types/cli/commands/disco/resolve.d.ts +1 -1
  65. package/dist/types/cli/main.d.ts +0 -20
  66. package/dist/types/cli/options/env.d.ts +1 -2
  67. package/dist/types/lib/app/app-config.d.ts +2 -2
  68. package/dist/types/lib/app/app-manifest.d.ts +1 -1
  69. package/dist/types/lib/app/merge-app-config.d.ts +1 -1
  70. package/dist/types/lib/app/merge-app-manifest.d.ts +1 -1
  71. package/dist/types/lib/index.d.ts +3 -2
  72. package/dist/types/lib/legacy.d.ts +1 -1
  73. package/dist/types/lib/load-dev-server-config.d.ts +2 -2
  74. package/dist/types/lib/merge-dev-server-config.d.ts +1 -1
  75. package/dist/types/lib/portal/create-portal-manifest.d.ts +1 -1
  76. package/dist/types/lib/portal/load-portal-manifest.d.ts +2 -2
  77. package/dist/types/lib/portal/load-portal-schema.d.ts +1 -1
  78. package/dist/types/lib/portal/portal-config.d.ts +2 -2
  79. package/dist/types/lib/portal/portal-manifest.schema.d.ts +6 -6
  80. package/dist/types/lib/types.d.ts +29 -0
  81. package/dist/types/lib/utils/index.d.ts +1 -0
  82. package/dist/types/lib/utils/resolve-annotations.d.ts +35 -1
  83. package/dist/types/lib/utils/resolve-devops-annotations.d.ts +28 -3
  84. package/dist/types/lib/utils/resolve-git-commit-sha.d.ts +1 -0
  85. package/dist/types/lib/utils/resolve-github-annotations.d.ts +85 -13
  86. package/dist/types/lib/utils/types.d.ts +57 -1
  87. package/dist/types/version.d.ts +1 -1
  88. package/docs/application.md +73 -79
  89. package/docs/auth.md +18 -45
  90. package/docs/libsecret.md +0 -31
  91. package/docs/migration-v10-to-v11.md +43 -47
  92. package/docs/portal.md +4 -38
  93. package/package.json +69 -33
  94. package/bin/build/bin.js +0 -28
  95. package/bin/build/cli.js +0 -10099
  96. package/bin/build/create-auth-client-B_j4Y_Dr.js +0 -1415
  97. package/bin/build/portal-config-publish-ezU_DFki.js +0 -29578
  98. package/dist/esm/bin/app-build.js +0 -34
  99. package/dist/esm/bin/app-build.js.map +0 -1
  100. package/dist/esm/bin/app-check.js +0 -63
  101. package/dist/esm/bin/app-check.js.map +0 -1
  102. package/dist/esm/bin/app-config-publish.js +0 -89
  103. package/dist/esm/bin/app-config-publish.js.map +0 -1
  104. package/dist/esm/bin/app-config.js +0 -48
  105. package/dist/esm/bin/app-config.js.map +0 -1
  106. package/dist/esm/bin/app-dev.js +0 -102
  107. package/dist/esm/bin/app-dev.js.map +0 -1
  108. package/dist/esm/bin/app-manifest.js +0 -38
  109. package/dist/esm/bin/app-manifest.js.map +0 -1
  110. package/dist/esm/bin/app-pack.js +0 -51
  111. package/dist/esm/bin/app-pack.js.map +0 -1
  112. package/dist/esm/bin/app-tag.js +0 -89
  113. package/dist/esm/bin/app-tag.js.map +0 -1
  114. package/dist/esm/bin/app-upload.js +0 -109
  115. package/dist/esm/bin/app-upload.js.map +0 -1
  116. package/dist/esm/bin/helpers/load-bundle-metadata.js +0 -32
  117. package/dist/esm/bin/helpers/load-bundle-metadata.js.map +0 -1
  118. package/dist/esm/bin/helpers/load-vite-config.js +0 -55
  119. package/dist/esm/bin/helpers/load-vite-config.js.map +0 -1
  120. package/dist/esm/bin/helpers/resolve-app-config.js +0 -46
  121. package/dist/esm/bin/helpers/resolve-app-config.js.map +0 -1
  122. package/dist/esm/bin/helpers/resolve-app-manifest.js +0 -55
  123. package/dist/esm/bin/helpers/resolve-app-manifest.js.map +0 -1
  124. package/dist/esm/bin/helpers/resolve-portal-config.js +0 -46
  125. package/dist/esm/bin/helpers/resolve-portal-config.js.map +0 -1
  126. package/dist/esm/bin/helpers/resolve-portal-manifest.js +0 -55
  127. package/dist/esm/bin/helpers/resolve-portal-manifest.js.map +0 -1
  128. package/dist/esm/bin/helpers/resolve-project-package.js +0 -32
  129. package/dist/esm/bin/helpers/resolve-project-package.js.map +0 -1
  130. package/dist/esm/bin/index.js +0 -12
  131. package/dist/esm/bin/index.js.map +0 -1
  132. package/dist/esm/bin/pack.js +0 -70
  133. package/dist/esm/bin/pack.js.map +0 -1
  134. package/dist/esm/bin/portal-build.js +0 -40
  135. package/dist/esm/bin/portal-build.js.map +0 -1
  136. package/dist/esm/bin/portal-config-publish.js +0 -74
  137. package/dist/esm/bin/portal-config-publish.js.map +0 -1
  138. package/dist/esm/bin/portal-config.js +0 -48
  139. package/dist/esm/bin/portal-config.js.map +0 -1
  140. package/dist/esm/bin/portal-dev.js +0 -61
  141. package/dist/esm/bin/portal-dev.js.map +0 -1
  142. package/dist/esm/bin/portal-manifest.js +0 -38
  143. package/dist/esm/bin/portal-manifest.js.map +0 -1
  144. package/dist/esm/bin/portal-pack.js +0 -60
  145. package/dist/esm/bin/portal-pack.js.map +0 -1
  146. package/dist/esm/bin/portal-tag.js +0 -96
  147. package/dist/esm/bin/portal-tag.js.map +0 -1
  148. package/dist/esm/bin/portal-upload.js +0 -99
  149. package/dist/esm/bin/portal-upload.js.map +0 -1
  150. package/dist/esm/bin/utils/ConsoleLogger.js +0 -112
  151. package/dist/esm/bin/utils/ConsoleLogger.js.map +0 -1
  152. package/dist/esm/bin/utils/create-dev-server.js +0 -167
  153. package/dist/esm/bin/utils/create-dev-server.js.map +0 -1
  154. package/dist/esm/bin/utils/format.js +0 -47
  155. package/dist/esm/bin/utils/format.js.map +0 -1
  156. package/dist/esm/bin/utils/index.js +0 -5
  157. package/dist/esm/bin/utils/index.js.map +0 -1
  158. package/dist/esm/bin/utils/spinner.js +0 -142
  159. package/dist/esm/bin/utils/spinner.js.map +0 -1
  160. package/dist/esm/cli/commands/app/alias.js +0 -42
  161. package/dist/esm/cli/commands/app/alias.js.map +0 -1
  162. package/dist/esm/cli/commands/app/build.js +0 -53
  163. package/dist/esm/cli/commands/app/build.js.map +0 -1
  164. package/dist/esm/cli/commands/app/check.js +0 -57
  165. package/dist/esm/cli/commands/app/check.js.map +0 -1
  166. package/dist/esm/cli/commands/app/config.js +0 -103
  167. package/dist/esm/cli/commands/app/config.js.map +0 -1
  168. package/dist/esm/cli/commands/app/dev.js +0 -67
  169. package/dist/esm/cli/commands/app/dev.js.map +0 -1
  170. package/dist/esm/cli/commands/app/index.js +0 -42
  171. package/dist/esm/cli/commands/app/index.js.map +0 -1
  172. package/dist/esm/cli/commands/app/manifest.js +0 -82
  173. package/dist/esm/cli/commands/app/manifest.js.map +0 -1
  174. package/dist/esm/cli/commands/app/pack.js +0 -71
  175. package/dist/esm/cli/commands/app/pack.js.map +0 -1
  176. package/dist/esm/cli/commands/app/publish.js +0 -130
  177. package/dist/esm/cli/commands/app/publish.js.map +0 -1
  178. package/dist/esm/cli/commands/app/tag.js +0 -113
  179. package/dist/esm/cli/commands/app/tag.js.map +0 -1
  180. package/dist/esm/cli/commands/app/upload.js +0 -85
  181. package/dist/esm/cli/commands/app/upload.js.map +0 -1
  182. package/dist/esm/cli/commands/auth/index.js +0 -22
  183. package/dist/esm/cli/commands/auth/index.js.map +0 -1
  184. package/dist/esm/cli/commands/auth/login.js +0 -72
  185. package/dist/esm/cli/commands/auth/login.js.map +0 -1
  186. package/dist/esm/cli/commands/auth/logout.js +0 -58
  187. package/dist/esm/cli/commands/auth/logout.js.map +0 -1
  188. package/dist/esm/cli/commands/auth/token.js +0 -78
  189. package/dist/esm/cli/commands/auth/token.js.map +0 -1
  190. package/dist/esm/cli/commands/disco/index.js +0 -6
  191. package/dist/esm/cli/commands/disco/index.js.map +0 -1
  192. package/dist/esm/cli/commands/disco/resolve.js +0 -58
  193. package/dist/esm/cli/commands/disco/resolve.js.map +0 -1
  194. package/dist/esm/cli/commands/index.js +0 -11
  195. package/dist/esm/cli/commands/index.js.map +0 -1
  196. package/dist/esm/cli/commands/portal/build.js +0 -27
  197. package/dist/esm/cli/commands/portal/build.js.map +0 -1
  198. package/dist/esm/cli/commands/portal/config.js +0 -101
  199. package/dist/esm/cli/commands/portal/config.js.map +0 -1
  200. package/dist/esm/cli/commands/portal/dev.js +0 -27
  201. package/dist/esm/cli/commands/portal/dev.js.map +0 -1
  202. package/dist/esm/cli/commands/portal/index.js +0 -23
  203. package/dist/esm/cli/commands/portal/index.js.map +0 -1
  204. package/dist/esm/cli/commands/portal/manifest.js +0 -48
  205. package/dist/esm/cli/commands/portal/manifest.js.map +0 -1
  206. package/dist/esm/cli/commands/portal/pack.js +0 -40
  207. package/dist/esm/cli/commands/portal/pack.js.map +0 -1
  208. package/dist/esm/cli/commands/portal/publish.js +0 -76
  209. package/dist/esm/cli/commands/portal/publish.js.map +0 -1
  210. package/dist/esm/cli/commands/portal/schema.js +0 -70
  211. package/dist/esm/cli/commands/portal/schema.js.map +0 -1
  212. package/dist/esm/cli/commands/portal/tag.js +0 -73
  213. package/dist/esm/cli/commands/portal/tag.js.map +0 -1
  214. package/dist/esm/cli/commands/portal/upload.js +0 -41
  215. package/dist/esm/cli/commands/portal/upload.js.map +0 -1
  216. package/dist/esm/cli/main.js +0 -52
  217. package/dist/esm/cli/main.js.map +0 -1
  218. package/dist/esm/cli/options/auth.js +0 -96
  219. package/dist/esm/cli/options/auth.js.map +0 -1
  220. package/dist/esm/cli/options/env.js +0 -30
  221. package/dist/esm/cli/options/env.js.map +0 -1
  222. package/dist/esm/lib/framework.node.js +0 -104
  223. package/dist/esm/lib/framework.node.js.map +0 -1
  224. package/dist/esm/version.js.map +0 -1
  225. package/dist/tsconfig.tsbuildinfo +0 -1
  226. /package/dist/types/{lib → bin}/framework.node.d.ts +0 -0
@@ -1,167 +0,0 @@
1
- import { loadDevServerConfig } from '../../lib/dev-server.js';
2
- import { processServices, createDevServer as createDevServerFn, } from '@equinor/fusion-framework-dev-server';
3
- /**
4
- * Creates a Fusion dev server template environment, merging with user overrides.
5
- *
6
- * @param overrides - Partial template environment to override defaults.
7
- * @returns The dev server template environment without the 'bootstrap' property.
8
- */
9
- const createDevServerTemplate = (overrides) => ({
10
- portal: {
11
- id: '@equinor/fusion-framework-dev-portal',
12
- },
13
- title: 'Fusion Dev Portal',
14
- serviceDiscovery: {
15
- url: '/@fusion-services',
16
- scopes: ['5a842df8-3238-415d-b168-9f16a6a6031b/.default'],
17
- },
18
- msal: {
19
- clientId: '9b707e3a-3e90-41ed-a47e-652a1e3b53d0',
20
- tenantId: '3aa4a235-b6e2-48d5-9195-7fcf05b459b0',
21
- redirectUri: '/authentication/login-callback',
22
- requiresAuth: 'true',
23
- },
24
- serviceWorker: {
25
- // default proxies
26
- resources: [
27
- {
28
- url: '/apps-proxy',
29
- rewrite: '/@fusion-api/apps',
30
- scopes: ['5a842df8-3238-415d-b168-9f16a6a6031b/.default'],
31
- },
32
- {
33
- url: '/help-proxy',
34
- rewrite: '/@fusion-api/help',
35
- scopes: ['5a842df8-3238-415d-b168-9f16a6a6031b/.default'],
36
- },
37
- ],
38
- },
39
- // todo - deep merge with user config
40
- ...overrides,
41
- });
42
- /**
43
- * Adds app-specific API routes for local development.
44
- * Handles rewrites for app bundles, manifest, and config endpoints.
45
- *
46
- * @param base - The dev server options object to mutate.
47
- * @param manifest - The app manifest.
48
- * @param config - Optional app config.
49
- */
50
- const applyAppRouting = (base, manifest, config) => {
51
- const { build, appKey } = manifest;
52
- if (!build) {
53
- throw new Error('App manifest does not contain build information');
54
- }
55
- base.api.routes ??= [];
56
- // add rewrite to local fs
57
- base.api.routes.push({
58
- match: `/apps/bundles/apps/${appKey}@${build.version}/*path`,
59
- middleware: async (req, res, next) => {
60
- const location = req.params?.path;
61
- if (Array.isArray(location) === false) {
62
- next();
63
- }
64
- res.writeHead(302, {
65
- 'content-type': 'application/javascript',
66
- location: `/${location.join('/')}`,
67
- });
68
- res.end();
69
- },
70
- });
71
- // catch requests for local app manifest
72
- base.api.routes.push({
73
- match: `/apps/persons/me/apps/${appKey}`,
74
- middleware: async (_req, res) => {
75
- res.writeHead(200, {
76
- 'content-type': 'application/json',
77
- });
78
- res.end(JSON.stringify({
79
- id: 'dev-server-generated-id',
80
- ...manifest,
81
- }));
82
- },
83
- });
84
- base.api.routes.push({
85
- match: `/apps/apps/${appKey}/builds/${build.version}/config`,
86
- middleware: async (_req, res) => {
87
- res.writeHead(200, {
88
- 'content-type': 'application/json',
89
- });
90
- res.end(JSON.stringify(config));
91
- },
92
- });
93
- };
94
- /**
95
- * Adds portal-specific API routes for local development.
96
- * Handles endpoints for portal manifest and config.
97
- *
98
- * @param base - The dev server options object to mutate.
99
- * @param manifest - The portal manifest.
100
- * @param config - Optional portal config.
101
- */
102
- const applyPortalRouting = (base, manifest, config) => {
103
- base.api.routes ??= [];
104
- // @todo - might add correct tag handling later
105
- base.api.routes.push({
106
- match: `/portals/portals/${manifest.name}{@:tag}`,
107
- middleware: async (_req, res) => {
108
- res.writeHead(200, {
109
- 'content-type': 'application/json',
110
- });
111
- res.end(JSON.stringify(manifest));
112
- },
113
- });
114
- base.api.routes.push({
115
- match: `/portals/portals/${manifest.name}{@:tag}/config`,
116
- middleware: async (_req, res) => {
117
- res.writeHead(200, {
118
- 'content-type': 'application/json',
119
- });
120
- res.end(JSON.stringify(config));
121
- },
122
- });
123
- };
124
- /**
125
- * Creates the full dev server configuration for Fusion CLI.
126
- * Applies app and portal routing as needed.
127
- *
128
- * @param options - Options for dev server config, including app/portal manifests and overrides.
129
- * @returns The complete dev server options object.
130
- */
131
- export const createDevServerConfig = (options) => {
132
- const config = {
133
- spa: {
134
- templateEnv: createDevServerTemplate(options.template),
135
- },
136
- api: {
137
- serviceDiscoveryUrl: 'https://discovery.fusion.equinor.com/service-registry/environments/ci/services/',
138
- processServices: (dataResponse, route) => {
139
- const { data, routes } = processServices(dataResponse, route);
140
- return {
141
- // @todo - remove this when we have a real service discovery
142
- data: data.concat({
143
- key: 'portals',
144
- name: 'Portal Service - MOCK',
145
- uri: '/@fusion-api/portals',
146
- }),
147
- routes,
148
- };
149
- },
150
- },
151
- };
152
- if (options.app) {
153
- applyAppRouting(config, options.app.manifest, options.app.config);
154
- }
155
- if (options.portal) {
156
- applyPortalRouting(config, options.portal.manifest, options.portal.config);
157
- }
158
- return config;
159
- };
160
- export const createDevServer = async (env, options, overrides) => {
161
- const baseConfig = createDevServerConfig(options);
162
- const config = await loadDevServerConfig(env, baseConfig).catch(() => {
163
- return { config: baseConfig };
164
- });
165
- return createDevServerFn(config.config, overrides);
166
- };
167
- //# sourceMappingURL=create-dev-server.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-dev-server.js","sourceRoot":"","sources":["../../../../src/bin/utils/create-dev-server.ts"],"names":[],"mappings":"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"}
@@ -1,47 +0,0 @@
1
- /**
2
- * Utility module for formatting paths and byte sizes in CLI output.
3
- * Exports chalk for consistent styling across CLI tools.
4
- */
5
- import { relative } from 'node:path';
6
- import { statSync } from 'node:fs';
7
- import chalk from 'chalk';
8
- import prettyBytes from 'pretty-bytes';
9
- export { chalk };
10
- /**
11
- * Formats a file path for CLI output, with optional relative path and styling.
12
- *
13
- * @param path - The file path to format.
14
- * @param opt - Optional formatting options.
15
- * @param opt.relative - If true, formats as a relative path from cwd or opt.cwd.
16
- * @param opt.cwd - The base directory for relative path calculation. Defaults to process.cwd().
17
- * @returns The formatted file path, styled with chalk.blueBright.
18
- *
19
- * @example
20
- * formatPath('/foo/bar/baz.txt', { relative: true });
21
- */
22
- export const formatPath = (path, opt) => {
23
- return chalk.blueBright(opt?.relative ? `./${relative(opt?.cwd ?? process.cwd(), path)}` : path);
24
- };
25
- /**
26
- * Formats a byte size value or file path into a human-readable string for CLI output.
27
- *
28
- * If the input is a string, it is treated as a file path and the file size is used.
29
- * If the input is a number, it is formatted directly.
30
- *
31
- * @param input - File path (string) or byte size (number).
32
- * @returns A formatted string representing the byte size, styled with chalk.yellowBright.
33
- *
34
- * @throws If the input is a string and the file does not exist.
35
- *
36
- * @example
37
- * formatByteSize(1024); // '1 kB'
38
- * formatByteSize('/path/to/file.zip'); // '2.3 MB'
39
- */
40
- export const formatByteSize = (input) => {
41
- if (typeof input === 'string') {
42
- return formatByteSize(statSync(input).size);
43
- }
44
- return chalk.yellowBright(prettyBytes(input));
45
- };
46
- export default chalk;
47
- //# sourceMappingURL=format.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"format.js","sourceRoot":"","sources":["../../../../src/bin/utils/format.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,WAAW,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,GAA0C,EAAE,EAAE;IACrF,OAAO,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,GAAG,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACnG,CAAC,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAsB,EAAU,EAAE;IAC/D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;AAChD,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC"}
@@ -1,5 +0,0 @@
1
- export { formatPath, formatByteSize, chalk } from './format.js';
2
- export { Spinner } from './spinner.js';
3
- export { ConsoleLogger } from './ConsoleLogger.js';
4
- export { createDevServerConfig, createDevServer, } from './create-dev-server.js';
5
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/bin/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EACL,qBAAqB,EACrB,eAAe,GAEhB,MAAM,wBAAwB,CAAC"}
@@ -1,142 +0,0 @@
1
- import ora from 'ora';
2
- /**
3
- * Spinner utility class for CLI progress indication and logging.
4
- * Wraps the `ora` spinner and provides additional features for console capture and global state.
5
- *
6
- * @remarks
7
- * - Allows attaching/detaching spinner to native console output.
8
- * - Supports global and cloneable spinner instances.
9
- * - Provides info, success, warning, and failure logging methods.
10
- *
11
- * @example
12
- * const spinner = new Spinner({ text: 'Loading...' });
13
- * spinner.start('Processing');
14
- * spinner.succeed('Done!');
15
- */
16
- export class Spinner {
17
- /**
18
- * Internal ora spinner instance.
19
- */
20
- #ora;
21
- /**
22
- * Get the underlying ora instance for advanced usage.
23
- */
24
- get ora() {
25
- return this.#ora;
26
- }
27
- /**
28
- * Attach or detach spinner to native console output.
29
- * When enabled, console.log/info are redirected to spinner.info.
30
- */
31
- set attachConsole(value) {
32
- if (value) {
33
- console.log = this.info.bind(this);
34
- console.info = this.info.bind(this);
35
- }
36
- else {
37
- // biome-ignore lint/suspicious/noGlobalAssign: duh
38
- console = originalConsole;
39
- }
40
- }
41
- /**
42
- * Create and set a global spinner instance.
43
- * @param options - Spinner options.
44
- * @returns The global spinner instance.
45
- */
46
- static Global(options) {
47
- _spinner = new Spinner(options);
48
- return _spinner;
49
- }
50
- /**
51
- * Clone a spinner instance, optionally from an existing spinner.
52
- * @param spinner - Spinner to clone from, or use global spinner if omitted.
53
- * @returns A new Spinner instance with the same prefixText.
54
- */
55
- static Clone(spinner) {
56
- const { prefixText } = spinner || _spinner;
57
- return new Spinner({ prefixText });
58
- }
59
- /**
60
- * Get the current global spinner instance.
61
- */
62
- static get Current() {
63
- return _spinner;
64
- }
65
- /**
66
- * Set the current global spinner instance.
67
- */
68
- static set Current(spinner) {
69
- _spinner = spinner;
70
- }
71
- /**
72
- * Create a new Spinner instance.
73
- * @param options - Spinner options from ora.
74
- */
75
- constructor(options) {
76
- this.#ora = ora(options);
77
- }
78
- /**
79
- * Get the prefix text for the spinner.
80
- */
81
- get prefixText() {
82
- return this.#ora.prefixText;
83
- }
84
- /**
85
- * Log an informational message with the spinner.
86
- * @param args - Message parts to display.
87
- */
88
- info(...args) {
89
- this.#ora.info(parseArgs(args));
90
- }
91
- /**
92
- * Mark spinner as succeeded with a message.
93
- * @param args - Message parts to display.
94
- */
95
- succeed(...args) {
96
- this.#ora.succeed(parseArgs(args));
97
- }
98
- /**
99
- * Start the spinner with a message.
100
- * @param args - Message parts to display.
101
- */
102
- start(...args) {
103
- this.#ora.start(parseArgs(args));
104
- }
105
- /**
106
- * Mark spinner as failed with a message.
107
- * @param args - Message parts to display.
108
- */
109
- fail(...args) {
110
- this.#ora.fail(parseArgs(args));
111
- }
112
- /**
113
- * Log a warning message with the spinner.
114
- * @param args - Message parts to display.
115
- */
116
- warn(...args) {
117
- this.#ora.warn(parseArgs(args));
118
- }
119
- /**
120
- * Clear the spinner output.
121
- */
122
- clear() {
123
- this.#ora.clear();
124
- }
125
- /**
126
- * Stop the spinner without marking as success or failure.
127
- */
128
- stop() {
129
- this.#ora.stop();
130
- }
131
- /**
132
- * Stop the spinner and persist output with custom options.
133
- * @param args - Arguments for ora's stopAndPersist.
134
- */
135
- stopAndPersist(...args) {
136
- this.#ora.stopAndPersist(...args);
137
- }
138
- }
139
- let _spinner = new Spinner();
140
- const parseArgs = (args) => args.length ? args.join(' ') : undefined;
141
- const originalConsole = console;
142
- //# sourceMappingURL=spinner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"spinner.js","sourceRoot":"","sources":["../../../../src/bin/utils/spinner.ts"],"names":[],"mappings":"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"}
@@ -1,42 +0,0 @@
1
- /**
2
- * This file defines deprecated command aliases to support a smoother transition to v11.
3
- * Each alias maps an old "build-*" command to its new equivalent, providing warnings and guidance for users.
4
- * These aliases help maintain backward compatibility and inform users about updated command usage.
5
- */
6
- import chalk from 'chalk';
7
- import packCommand, { DEFAULT_ARCHIVE } from './pack.js';
8
- packCommand.alias('build-pack').hook('preAction', (thisCommand) => {
9
- if (process.argv[3] === 'build-pack') {
10
- console.warn(chalk.bgRedBright.bold('The command "build-pack" is deprecated. Please use "pack" instead.'));
11
- if (!thisCommand.getOptionValue('archive')) {
12
- thisCommand.setOptionValue('archive', DEFAULT_ARCHIVE);
13
- }
14
- }
15
- });
16
- import uploadCommand from './upload.js';
17
- uploadCommand.alias('build-upload').hook('preAction', (thisCommand) => {
18
- if (process.argv[3] === 'build-upload') {
19
- console.warn(chalk.bgRedBright.bold('The command "build-upload" is deprecated. Please use "upload" instead.'));
20
- if (thisCommand.getOptionValue('service')) {
21
- throw new Error('The --service option is deprecated. Please use --env instead.');
22
- }
23
- const bundle = thisCommand.getOptionValue('bundle') ?? DEFAULT_ARCHIVE;
24
- process.argv[4] = bundle;
25
- }
26
- });
27
- import manifestCommand from './manifest.js';
28
- manifestCommand.alias('build-manifest').hook('preAction', () => {
29
- if (process.argv[3] === 'build-manifest') {
30
- console.warn(chalk.bgRedBright.bold('The command "build-manifest" is deprecated. Please use "manifest" instead.'));
31
- }
32
- });
33
- import publishCommand from './publish.js';
34
- publishCommand.alias('build-publish').hook('preAction', (thisCommand) => {
35
- if (process.argv[3] === 'build-publish') {
36
- console.warn(chalk.bgRedBright.bold('The command "build-publish" is deprecated. Please use "publish" instead.'));
37
- }
38
- if (thisCommand.getOptionValue('service')) {
39
- throw new Error('The --service option is deprecated. Please use --env instead.');
40
- }
41
- });
42
- //# sourceMappingURL=alias.js.map
@@ -1 +0,0 @@
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"}
@@ -1,53 +0,0 @@
1
- import { createCommand } from 'commander';
2
- import { ConsoleLogger } from '../../../bin/utils';
3
- import { buildApplication } from '../../../bin/app-build.js';
4
- /**
5
- * CLI command: `build`
6
- *
7
- * Builds the application using a manifest file and environment-specific configuration.
8
- *
9
- * Features:
10
- * - If no manifest is provided, searches for a default `app.manifest.[ts|js|json]` in the current directory.
11
- * - Supports environment variables to customize the build process.
12
- * - Provides a debug mode for verbose logging.
13
- *
14
- * Usage:
15
- * $ fusion build
16
- * $ fusion build app.manifest.dev.ts --debug
17
- *
18
- * Arguments:
19
- * [manifest] Manifest file to use for building (e.g., app.manifest.ts)
20
- *
21
- * Options:
22
- * -d, --debug Enable debug mode for verbose logging (default: false)
23
- *
24
- * Example:
25
- * $ fusion build app.manifest.dev.ts --debug
26
- *
27
- * @see buildApplication for build implementation details
28
- */
29
- export const command = createCommand('build')
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.',
34
- 'You can use environment variables to customize the build process.',
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
- '',
42
- 'Examples:',
43
- ' $ fusion build',
44
- ' $ fusion build app.manifest.dev.ts --debug',
45
- ].join('\n'))
46
- .option('-d, --debug', 'Enable debug mode for verbose logging', false)
47
- .argument('[manifest]', 'Manifest file to use for building (e.g., app.manifest.ts)')
48
- .action(async (manifest, opt) => {
49
- const log = new ConsoleLogger('app:build', { debug: opt.debug });
50
- await buildApplication({ log, manifest });
51
- });
52
- export default command;
53
- //# sourceMappingURL=build.js.map
@@ -1 +0,0 @@
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,57 +0,0 @@
1
- import { createCommand } from 'commander';
2
- import { createEnvOption } from '../../options/env.js';
3
- import { withAuthOptions } from '../../options/auth.js';
4
- import { checkApp } from '../../../bin/app-check.js';
5
- import { ConsoleLogger } from '../../../bin/utils';
6
- /**
7
- * CLI command: `check`
8
- *
9
- * Checks if the application is registered in the Fusion app store.
10
- *
11
- * Features:
12
- * - Verifies the registration status of your application in the Fusion app store.
13
- * - Helps identify issues with app registration or configuration.
14
- * - Supports authentication and environment options.
15
- * - Provides a debug mode for verbose logging.
16
- *
17
- * Usage:
18
- * $ fusion check [options]
19
- *
20
- * Options:
21
- * -d, --debug Enable debug mode for verbose logging (default: false)
22
- * --environment <env> Specify the environment (see available environments)
23
- * --token <token> Provide an authentication token (if required)
24
- *
25
- * Example:
26
- * $ fusion check --environment prod --debug
27
- *
28
- * @see checkApp for implementation details
29
- */
30
- export const command = withAuthOptions(createCommand('check')
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',
45
- ].join('\n'))
46
- .option('-d, --debug', 'debug mode', false)
47
- .addOption(createEnvOption({ allowDev: false }))
48
- .action((options) => {
49
- const log = new ConsoleLogger('app:check', { debug: !!options.debug });
50
- return checkApp({
51
- log,
52
- environment: options.environment,
53
- auth: 'token' in options ? { token: options.token } : options,
54
- });
55
- }));
56
- export default command;
57
- //# sourceMappingURL=check.js.map
@@ -1 +0,0 @@
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"}
@@ -1,103 +0,0 @@
1
- import { createCommand } from 'commander';
2
- import chalk from 'chalk';
3
- import { ConsoleLogger } from '../../../bin/utils';
4
- import { generateApplicationConfig, publishAppConfig } 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: `config`
10
- *
11
- * Generates and/or publishes the application configuration for Fusion apps.
12
- *
13
- * Features:
14
- * - Outputs the generated config to stdout or a file.
15
- * - Use --publish to upload the config to the Fusion app registry.
16
- * - Options [token, tenant, client, manifest] are only relevant when --publish is used.
17
- * - Option [-e, --env] cannot be set to dev when --publish is used.
18
- *
19
- * Usage:
20
- * $ fusion config [config] [options]
21
- *
22
- * Arguments:
23
- * [config] Config build file to use (e.g., app.config[.env]?.[ts,js,json])
24
- *
25
- * Options:
26
- * --debug Enable debug mode for verbose logging
27
- * --silent Silent mode, suppresses output except errors
28
- * --publish Publish config to Fusion app registry
29
- * --manifest <path> Path to the app manifest file (required with --publish)
30
- * -e, --env <env> Target environment
31
- * -o, --output <stdout|path> Output to stdout or a file (default: stdout)
32
- *
33
- * Example:
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
- *
38
- * @see generateApplicationConfig, publishAppConfig for implementation details
39
- */
40
- export const command = withAuthOptions(createCommand('config')
41
- .description('Generate or publish the Fusion application configuration file.')
42
- .addHelpText('after', [
43
- 'Generate and/or publish the application configuration for Fusion apps.',
44
- '',
45
- 'By default, outputs the generated config to stdout or a file. Use --publish to upload the config to the Fusion app registry.',
46
- 'Options [token, tenant, client, manifest] are only relevant when --publish is used.',
47
- 'Option [-e, --env] cannot be set to dev when --publish is used.',
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
- '',
60
- 'Examples:',
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',
65
- ].join('\n'))
66
- .option('--debug', 'Enable debug mode for verbose logging')
67
- .option('--silent', 'Silent mode, suppresses output except errors')
68
- .option('--publish', 'Publish config to Fusion app registry')
69
- .option('--manifest <path>', 'Path to the app manifest file (required with --publish)')
70
- .addOption(createEnvOption({ allowDev: true }))
71
- .option('-o, --output <stdout|path>', 'Output the result to stdout or a file (ignored with --publish, default: stdout)', 'stdout')
72
- .argument('[config]', 'Config build file to use (e.g., app.config[.env]?.[ts,js,json])')
73
- .action(async (config, options) => {
74
- const log = options.silent
75
- ? null
76
- : new ConsoleLogger('app:config', { debug: !!options.debug });
77
- // Validate env for publish (no dev allowed)
78
- if (options.publish) {
79
- if (options.env === 'dev') {
80
- log?.fail('🤪', chalk.blue('--env'), 'cannot be "dev" when', chalk.blue('--publish'), ' is used');
81
- process.exit(1);
82
- }
83
- return publishAppConfig({
84
- config: options.config,
85
- manifest: options.manifest,
86
- environment: options.env,
87
- auth: 'token' in options ? { token: options.token } : options,
88
- debug: options.debug,
89
- });
90
- }
91
- // Generate config
92
- const { config: appConfig } = await generateApplicationConfig({
93
- log,
94
- config,
95
- env: { environment: options.env },
96
- output: options.output === 'stdout' ? undefined : options.output,
97
- });
98
- if (options.output === 'stdout') {
99
- stdout.write(JSON.stringify(appConfig, null, 2));
100
- }
101
- }));
102
- export default command;
103
- //# sourceMappingURL=config.js.map