@equinor/fusion-framework-cli 11.0.0-next.8 → 11.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +58 -103
- package/README.md +112 -57
- package/bin/build/bin.mjs +1 -0
- package/bin/build/cli.mjs +7 -0
- package/bin/cli.mjs +1 -1
- package/dist/esm/lib/app/app-config.js.map +1 -1
- package/dist/esm/lib/app/app-manifest.js.map +1 -1
- package/dist/esm/lib/app/app-package.js +1 -1
- package/dist/esm/lib/app/app-package.js.map +1 -1
- package/dist/esm/lib/app/merge-app-config.js +11 -5
- package/dist/esm/lib/app/merge-app-config.js.map +1 -1
- package/dist/esm/lib/app/merge-app-manifest.js +2 -2
- package/dist/esm/lib/app/merge-app-manifest.js.map +1 -1
- package/dist/esm/lib/index.js +3 -1
- package/dist/esm/lib/index.js.map +1 -1
- package/dist/esm/lib/load-dev-server-config.js +7 -3
- package/dist/esm/lib/load-dev-server-config.js.map +1 -1
- package/dist/esm/lib/merge-dev-server-config.js +24 -16
- package/dist/esm/lib/merge-dev-server-config.js.map +1 -1
- package/dist/esm/lib/portal/create-portal-manifest.js.map +1 -1
- package/dist/esm/lib/portal/load-portal-config.js +1 -1
- package/dist/esm/lib/portal/load-portal-config.js.map +1 -1
- package/dist/esm/lib/portal/load-portal-manifest.js +8 -4
- package/dist/esm/lib/portal/load-portal-manifest.js.map +1 -1
- package/dist/esm/lib/portal/load-portal-schema.js.map +1 -1
- package/dist/esm/lib/portal/portal-config.js.map +1 -1
- package/dist/esm/lib/utils/index.js +1 -0
- package/dist/esm/lib/utils/index.js.map +1 -1
- package/dist/esm/lib/utils/resolve-annotations.js +48 -5
- package/dist/esm/lib/utils/resolve-annotations.js.map +1 -1
- package/dist/esm/lib/utils/resolve-devops-annotations.js +7 -3
- package/dist/esm/lib/utils/resolve-devops-annotations.js.map +1 -1
- package/dist/esm/lib/utils/resolve-git-commit-sha.js +1 -0
- package/dist/esm/lib/utils/resolve-git-commit-sha.js.map +1 -1
- package/dist/esm/lib/utils/resolve-github-annotations.js +16 -72
- package/dist/esm/lib/utils/resolve-github-annotations.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/types/bin/app-build.d.ts +2 -2
- package/dist/types/bin/app-check.d.ts +2 -2
- package/dist/types/bin/app-config-publish.d.ts +2 -2
- package/dist/types/bin/app-config.d.ts +3 -3
- package/dist/types/bin/app-dev.d.ts +1 -1
- package/dist/types/bin/app-manifest.d.ts +3 -3
- package/dist/types/bin/app-pack.d.ts +1 -1
- package/dist/types/bin/app-tag.d.ts +3 -3
- package/dist/types/bin/app-upload.d.ts +2 -2
- package/dist/types/bin/helpers/load-vite-config.d.ts +1 -2
- package/dist/types/bin/helpers/resolve-app-config.d.ts +3 -3
- package/dist/types/bin/helpers/resolve-app-manifest.d.ts +3 -3
- package/dist/types/bin/helpers/resolve-portal-config.d.ts +3 -3
- package/dist/types/bin/helpers/resolve-portal-manifest.d.ts +3 -4
- package/dist/types/bin/helpers/resolve-project-package.d.ts +2 -2
- package/dist/types/bin/index.d.ts +9 -0
- package/dist/types/bin/pack.d.ts +1 -1
- package/dist/types/bin/portal-build.d.ts +5 -5
- package/dist/types/bin/portal-config-publish.d.ts +2 -2
- package/dist/types/bin/portal-config.d.ts +4 -4
- package/dist/types/bin/portal-dev.d.ts +2 -2
- package/dist/types/bin/portal-manifest.d.ts +4 -4
- package/dist/types/bin/portal-pack.d.ts +3 -3
- package/dist/types/bin/portal-tag.d.ts +2 -2
- package/dist/types/bin/portal-upload.d.ts +2 -2
- package/dist/types/bin/utils/create-dev-server.d.ts +2 -2
- package/dist/types/cli/commands/disco/resolve.d.ts +1 -1
- package/dist/types/cli/main.d.ts +0 -20
- package/dist/types/cli/options/env.d.ts +1 -2
- package/dist/types/lib/app/app-config.d.ts +2 -2
- package/dist/types/lib/app/app-manifest.d.ts +1 -1
- package/dist/types/lib/app/merge-app-config.d.ts +1 -1
- package/dist/types/lib/app/merge-app-manifest.d.ts +1 -1
- package/dist/types/lib/index.d.ts +3 -2
- package/dist/types/lib/legacy.d.ts +1 -1
- package/dist/types/lib/load-dev-server-config.d.ts +2 -2
- package/dist/types/lib/merge-dev-server-config.d.ts +1 -1
- package/dist/types/lib/portal/create-portal-manifest.d.ts +1 -1
- package/dist/types/lib/portal/load-portal-manifest.d.ts +2 -2
- package/dist/types/lib/portal/load-portal-schema.d.ts +1 -1
- package/dist/types/lib/portal/portal-config.d.ts +2 -2
- package/dist/types/lib/portal/portal-manifest.schema.d.ts +6 -6
- package/dist/types/lib/types.d.ts +29 -0
- package/dist/types/lib/utils/index.d.ts +1 -0
- package/dist/types/lib/utils/resolve-annotations.d.ts +35 -1
- package/dist/types/lib/utils/resolve-devops-annotations.d.ts +28 -3
- package/dist/types/lib/utils/resolve-git-commit-sha.d.ts +1 -0
- package/dist/types/lib/utils/resolve-github-annotations.d.ts +85 -13
- package/dist/types/lib/utils/types.d.ts +57 -1
- package/dist/types/version.d.ts +1 -1
- package/docs/application.md +63 -8
- package/docs/auth.md +17 -1
- package/docs/migration-v10-to-v11.md +32 -20
- package/package.json +69 -33
- package/bin/build/bin.js +0 -28
- package/bin/build/cli.js +0 -10099
- package/bin/build/create-auth-client-B_j4Y_Dr.js +0 -1415
- package/bin/build/portal-config-publish-ezU_DFki.js +0 -29578
- package/dist/esm/bin/app-build.js +0 -34
- package/dist/esm/bin/app-build.js.map +0 -1
- package/dist/esm/bin/app-check.js +0 -63
- package/dist/esm/bin/app-check.js.map +0 -1
- package/dist/esm/bin/app-config-publish.js +0 -89
- package/dist/esm/bin/app-config-publish.js.map +0 -1
- package/dist/esm/bin/app-config.js +0 -48
- package/dist/esm/bin/app-config.js.map +0 -1
- package/dist/esm/bin/app-dev.js +0 -102
- package/dist/esm/bin/app-dev.js.map +0 -1
- package/dist/esm/bin/app-manifest.js +0 -38
- package/dist/esm/bin/app-manifest.js.map +0 -1
- package/dist/esm/bin/app-pack.js +0 -51
- package/dist/esm/bin/app-pack.js.map +0 -1
- package/dist/esm/bin/app-tag.js +0 -89
- package/dist/esm/bin/app-tag.js.map +0 -1
- package/dist/esm/bin/app-upload.js +0 -109
- package/dist/esm/bin/app-upload.js.map +0 -1
- package/dist/esm/bin/helpers/load-bundle-metadata.js +0 -32
- package/dist/esm/bin/helpers/load-bundle-metadata.js.map +0 -1
- package/dist/esm/bin/helpers/load-vite-config.js +0 -55
- package/dist/esm/bin/helpers/load-vite-config.js.map +0 -1
- package/dist/esm/bin/helpers/resolve-app-config.js +0 -46
- package/dist/esm/bin/helpers/resolve-app-config.js.map +0 -1
- package/dist/esm/bin/helpers/resolve-app-manifest.js +0 -55
- package/dist/esm/bin/helpers/resolve-app-manifest.js.map +0 -1
- package/dist/esm/bin/helpers/resolve-portal-config.js +0 -46
- package/dist/esm/bin/helpers/resolve-portal-config.js.map +0 -1
- package/dist/esm/bin/helpers/resolve-portal-manifest.js +0 -55
- package/dist/esm/bin/helpers/resolve-portal-manifest.js.map +0 -1
- package/dist/esm/bin/helpers/resolve-project-package.js +0 -32
- package/dist/esm/bin/helpers/resolve-project-package.js.map +0 -1
- package/dist/esm/bin/index.js +0 -12
- package/dist/esm/bin/index.js.map +0 -1
- package/dist/esm/bin/pack.js +0 -70
- package/dist/esm/bin/pack.js.map +0 -1
- package/dist/esm/bin/portal-build.js +0 -40
- package/dist/esm/bin/portal-build.js.map +0 -1
- package/dist/esm/bin/portal-config-publish.js +0 -74
- package/dist/esm/bin/portal-config-publish.js.map +0 -1
- package/dist/esm/bin/portal-config.js +0 -48
- package/dist/esm/bin/portal-config.js.map +0 -1
- package/dist/esm/bin/portal-dev.js +0 -61
- package/dist/esm/bin/portal-dev.js.map +0 -1
- package/dist/esm/bin/portal-manifest.js +0 -38
- package/dist/esm/bin/portal-manifest.js.map +0 -1
- package/dist/esm/bin/portal-pack.js +0 -60
- package/dist/esm/bin/portal-pack.js.map +0 -1
- package/dist/esm/bin/portal-tag.js +0 -96
- package/dist/esm/bin/portal-tag.js.map +0 -1
- package/dist/esm/bin/portal-upload.js +0 -99
- package/dist/esm/bin/portal-upload.js.map +0 -1
- package/dist/esm/bin/utils/ConsoleLogger.js +0 -112
- package/dist/esm/bin/utils/ConsoleLogger.js.map +0 -1
- package/dist/esm/bin/utils/create-dev-server.js +0 -167
- package/dist/esm/bin/utils/create-dev-server.js.map +0 -1
- package/dist/esm/bin/utils/format.js +0 -47
- package/dist/esm/bin/utils/format.js.map +0 -1
- package/dist/esm/bin/utils/index.js +0 -5
- package/dist/esm/bin/utils/index.js.map +0 -1
- package/dist/esm/bin/utils/spinner.js +0 -142
- package/dist/esm/bin/utils/spinner.js.map +0 -1
- package/dist/esm/cli/commands/app/alias.js +0 -42
- package/dist/esm/cli/commands/app/alias.js.map +0 -1
- package/dist/esm/cli/commands/app/build.js +0 -53
- package/dist/esm/cli/commands/app/build.js.map +0 -1
- package/dist/esm/cli/commands/app/check.js +0 -57
- package/dist/esm/cli/commands/app/check.js.map +0 -1
- package/dist/esm/cli/commands/app/config.js +0 -103
- package/dist/esm/cli/commands/app/config.js.map +0 -1
- package/dist/esm/cli/commands/app/dev.js +0 -67
- package/dist/esm/cli/commands/app/dev.js.map +0 -1
- package/dist/esm/cli/commands/app/index.js +0 -42
- package/dist/esm/cli/commands/app/index.js.map +0 -1
- package/dist/esm/cli/commands/app/manifest.js +0 -82
- package/dist/esm/cli/commands/app/manifest.js.map +0 -1
- package/dist/esm/cli/commands/app/pack.js +0 -71
- package/dist/esm/cli/commands/app/pack.js.map +0 -1
- package/dist/esm/cli/commands/app/publish.js +0 -130
- package/dist/esm/cli/commands/app/publish.js.map +0 -1
- package/dist/esm/cli/commands/app/tag.js +0 -113
- package/dist/esm/cli/commands/app/tag.js.map +0 -1
- package/dist/esm/cli/commands/app/upload.js +0 -85
- package/dist/esm/cli/commands/app/upload.js.map +0 -1
- package/dist/esm/cli/commands/auth/index.js +0 -22
- package/dist/esm/cli/commands/auth/index.js.map +0 -1
- package/dist/esm/cli/commands/auth/login.js +0 -72
- package/dist/esm/cli/commands/auth/login.js.map +0 -1
- package/dist/esm/cli/commands/auth/logout.js +0 -58
- package/dist/esm/cli/commands/auth/logout.js.map +0 -1
- package/dist/esm/cli/commands/auth/token.js +0 -78
- package/dist/esm/cli/commands/auth/token.js.map +0 -1
- package/dist/esm/cli/commands/disco/index.js +0 -6
- package/dist/esm/cli/commands/disco/index.js.map +0 -1
- package/dist/esm/cli/commands/disco/resolve.js +0 -58
- package/dist/esm/cli/commands/disco/resolve.js.map +0 -1
- package/dist/esm/cli/commands/index.js +0 -11
- package/dist/esm/cli/commands/index.js.map +0 -1
- package/dist/esm/cli/commands/portal/build.js +0 -27
- package/dist/esm/cli/commands/portal/build.js.map +0 -1
- package/dist/esm/cli/commands/portal/config.js +0 -101
- package/dist/esm/cli/commands/portal/config.js.map +0 -1
- package/dist/esm/cli/commands/portal/dev.js +0 -27
- package/dist/esm/cli/commands/portal/dev.js.map +0 -1
- package/dist/esm/cli/commands/portal/index.js +0 -23
- package/dist/esm/cli/commands/portal/index.js.map +0 -1
- package/dist/esm/cli/commands/portal/manifest.js +0 -48
- package/dist/esm/cli/commands/portal/manifest.js.map +0 -1
- package/dist/esm/cli/commands/portal/pack.js +0 -40
- package/dist/esm/cli/commands/portal/pack.js.map +0 -1
- package/dist/esm/cli/commands/portal/publish.js +0 -76
- package/dist/esm/cli/commands/portal/publish.js.map +0 -1
- package/dist/esm/cli/commands/portal/schema.js +0 -70
- package/dist/esm/cli/commands/portal/schema.js.map +0 -1
- package/dist/esm/cli/commands/portal/tag.js +0 -73
- package/dist/esm/cli/commands/portal/tag.js.map +0 -1
- package/dist/esm/cli/commands/portal/upload.js +0 -41
- package/dist/esm/cli/commands/portal/upload.js.map +0 -1
- package/dist/esm/cli/main.js +0 -52
- package/dist/esm/cli/main.js.map +0 -1
- package/dist/esm/cli/options/auth.js +0 -96
- package/dist/esm/cli/options/auth.js.map +0 -1
- package/dist/esm/cli/options/env.js +0 -30
- package/dist/esm/cli/options/env.js.map +0 -1
- package/dist/esm/lib/framework.node.js +0 -104
- package/dist/esm/lib/framework.node.js.map +0 -1
- package/dist/esm/version.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- /package/dist/types/{lib → bin}/framework.node.d.ts +0 -0
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { Command } from 'commander';
|
|
2
|
-
import loginCommand from './login.js';
|
|
3
|
-
import logoutCommand from './logout.js';
|
|
4
|
-
import tokenCommand from './token.js';
|
|
5
|
-
export const command = new Command('auth')
|
|
6
|
-
.description('Authenticate with Fusion Framework CLI')
|
|
7
|
-
.addHelpText('after', [
|
|
8
|
-
'',
|
|
9
|
-
'Authentication commands for Fusion Framework CLI.',
|
|
10
|
-
'',
|
|
11
|
-
'Use these commands to log in, log out, or acquire tokens for Fusion APIs.',
|
|
12
|
-
'',
|
|
13
|
-
'Examples:',
|
|
14
|
-
' $ fusion-framework-cli auth login',
|
|
15
|
-
' $ fusion-framework-cli auth logout',
|
|
16
|
-
' $ fusion-framework-cli auth token --scope api://my-app/.default',
|
|
17
|
-
].join('\n'));
|
|
18
|
-
command.addCommand(loginCommand, { isDefault: true });
|
|
19
|
-
command.addCommand(logoutCommand);
|
|
20
|
-
command.addCommand(tokenCommand);
|
|
21
|
-
export default command;
|
|
22
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/cli/commands/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,YAAY,MAAM,YAAY,CAAC;AACtC,OAAO,aAAa,MAAM,aAAa,CAAC;AACxC,OAAO,YAAY,MAAM,YAAY,CAAC;AAEtC,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;KACvC,WAAW,CAAC,wCAAwC,CAAC;KACrD,WAAW,CACV,OAAO,EACP;IACE,EAAE;IACF,mDAAmD;IACnD,EAAE;IACF,2EAA2E;IAC3E,EAAE;IACF,WAAW;IACX,qCAAqC;IACrC,sCAAsC;IACtC,mEAAmE;CACpE,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;AAEJ,OAAO,CAAC,UAAU,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AACtD,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AAEjC,eAAe,OAAO,CAAC"}
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import chalk from 'chalk';
|
|
2
|
-
import { createCommand } from 'commander';
|
|
3
|
-
import { ConsoleLogger } from '../../../bin/utils/ConsoleLogger.js';
|
|
4
|
-
import { initializeFramework } from '../../../lib/framework.node.js';
|
|
5
|
-
import { withAuthOptions } from '../../options/auth.js';
|
|
6
|
-
/**
|
|
7
|
-
* Command to authenticate and log in to Fusion Framework using interactive browser-based authentication.
|
|
8
|
-
*
|
|
9
|
-
* This command initializes the Fusion Framework and opens a browser window for secure login.
|
|
10
|
-
* Supports custom tenant, client, and scope options for advanced authentication scenarios.
|
|
11
|
-
*/
|
|
12
|
-
const DEFAULT_SERVER_PORT = 49741;
|
|
13
|
-
export const command = createCommand('login')
|
|
14
|
-
.description('Authenticate and log in to Fusion Framework using interactive browser-based authentication.')
|
|
15
|
-
.addHelpText('after', [
|
|
16
|
-
'',
|
|
17
|
-
'Authenticate and log in to Fusion Framework using interactive browser-based authentication.',
|
|
18
|
-
'',
|
|
19
|
-
'This command initializes the Fusion Framework and opens a browser window for secure login.',
|
|
20
|
-
'Supports custom tenant, client, and scope options for advanced authentication scenarios.',
|
|
21
|
-
'',
|
|
22
|
-
'Options:',
|
|
23
|
-
' --tenant <tenantId> Specify the tenant ID',
|
|
24
|
-
' --client <clientId> Specify the client ID',
|
|
25
|
-
' --scope <scope> Specify the scope(s) for authentication',
|
|
26
|
-
' --debug Enable debug mode for verbose logging',
|
|
27
|
-
'',
|
|
28
|
-
'Examples:',
|
|
29
|
-
' $ fusion-framework-cli login',
|
|
30
|
-
' $ fusion-framework-cli login --tenant my-tenant --client my-client-id --scope api://my-app/.default',
|
|
31
|
-
].join('\n'))
|
|
32
|
-
.action(async (options) => {
|
|
33
|
-
const log = new ConsoleLogger('auth:login', { debug: options.debug });
|
|
34
|
-
const scopes = typeof options.scope === 'string' ? [options.scope] : options.scope;
|
|
35
|
-
log.start('Initializing Fusion Framework...');
|
|
36
|
-
const framework = await initializeFramework({
|
|
37
|
-
auth: {
|
|
38
|
-
tenantId: options.tenantId,
|
|
39
|
-
clientId: options.clientId,
|
|
40
|
-
interactive: true,
|
|
41
|
-
server: {
|
|
42
|
-
port: DEFAULT_SERVER_PORT,
|
|
43
|
-
},
|
|
44
|
-
},
|
|
45
|
-
});
|
|
46
|
-
log.succeed('Initialized Fusion Framework');
|
|
47
|
-
try {
|
|
48
|
-
log.start('Logging in...');
|
|
49
|
-
const authToken = await framework.auth.login({ scopes });
|
|
50
|
-
log.info('username:', chalk.green(authToken.account?.username));
|
|
51
|
-
log.info('tenant: ', chalk.yellow(authToken.tenantId));
|
|
52
|
-
log.info('audience:', chalk.yellow(authToken.account?.idTokenClaims?.aud));
|
|
53
|
-
for (const scope of authToken.scopes) {
|
|
54
|
-
log.info('scope: ', chalk.dim(scope));
|
|
55
|
-
}
|
|
56
|
-
log.succeed('Successfully logged in', chalk.greenBright(authToken.account?.name));
|
|
57
|
-
}
|
|
58
|
-
catch (error) {
|
|
59
|
-
log.fail('Failed to log in 🥺', JSON.stringify({ tenant: options.tenant, client: options.clientId }, undefined, 2));
|
|
60
|
-
throw error;
|
|
61
|
-
}
|
|
62
|
-
});
|
|
63
|
-
/**
|
|
64
|
-
* Adds authentication options to the login command.
|
|
65
|
-
* @see withAuthOptions
|
|
66
|
-
*/
|
|
67
|
-
withAuthOptions(command, {
|
|
68
|
-
includeScope: true,
|
|
69
|
-
excludeToken: true,
|
|
70
|
-
});
|
|
71
|
-
export default command;
|
|
72
|
-
//# sourceMappingURL=login.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../../../src/cli/commands/auth/login.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,58 +0,0 @@
|
|
|
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
|
-
/**
|
|
6
|
-
* Command to log out from Fusion Framework and clear your authentication session.
|
|
7
|
-
*
|
|
8
|
-
* This command removes your current authentication state from the Fusion Framework CLI.
|
|
9
|
-
* Supports custom tenant and client options for advanced scenarios.
|
|
10
|
-
*/
|
|
11
|
-
export const command = createCommand('logout')
|
|
12
|
-
.description('Log out from Fusion Framework and clear your authentication session.')
|
|
13
|
-
.addHelpText('after', [
|
|
14
|
-
'',
|
|
15
|
-
'Log out from Fusion Framework and clear your authentication session.',
|
|
16
|
-
'',
|
|
17
|
-
'This command removes your current authentication state from the Fusion Framework CLI.',
|
|
18
|
-
'Supports custom tenant and client options for advanced scenarios.',
|
|
19
|
-
'',
|
|
20
|
-
'Options:',
|
|
21
|
-
' --tenant <tenantId> Specify the tenant ID',
|
|
22
|
-
' --client <clientId> Specify the client ID',
|
|
23
|
-
' --debug Enable debug mode for verbose logging',
|
|
24
|
-
'',
|
|
25
|
-
'Examples:',
|
|
26
|
-
' $ fusion-framework-cli logout',
|
|
27
|
-
' $ fusion-framework-cli logout --tenant my-tenant --client my-client-id',
|
|
28
|
-
].join('\n'))
|
|
29
|
-
.action(async (options) => {
|
|
30
|
-
const log = new ConsoleLogger('auth:logout', { debug: options.debug });
|
|
31
|
-
log.start('Initializing Fusion Framework...');
|
|
32
|
-
const framework = await initializeFramework({
|
|
33
|
-
auth: {
|
|
34
|
-
tenantId: options.tenantId,
|
|
35
|
-
clientId: options.clientId,
|
|
36
|
-
},
|
|
37
|
-
});
|
|
38
|
-
log.succeed('Initialized Fusion Framework');
|
|
39
|
-
try {
|
|
40
|
-
log.start('Logging in...');
|
|
41
|
-
await framework.auth.logout();
|
|
42
|
-
log.succeed('Successfully logged out');
|
|
43
|
-
}
|
|
44
|
-
catch (error) {
|
|
45
|
-
log.fail('Failed to log out 🥺', JSON.stringify({ tenant: options.tenant, client: options.clientId }, undefined, 2));
|
|
46
|
-
throw error;
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
/**
|
|
50
|
-
* Adds authentication options to the logout command.
|
|
51
|
-
* @see withAuthOptions
|
|
52
|
-
*/
|
|
53
|
-
withAuthOptions(command, {
|
|
54
|
-
excludeToken: true,
|
|
55
|
-
includeScope: false,
|
|
56
|
-
});
|
|
57
|
-
export default command;
|
|
58
|
-
//# sourceMappingURL=logout.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logout.js","sourceRoot":"","sources":["../../../../../src/cli/commands/auth/logout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC;KAC3C,WAAW,CAAC,sEAAsE,CAAC;KACnF,WAAW,CACV,OAAO,EACP;IACE,EAAE;IACF,sEAAsE;IACtE,EAAE;IACF,uFAAuF;IACvF,mEAAmE;IACnE,EAAE;IACF,UAAU;IACV,+CAA+C;IAC/C,+CAA+C;IAC/C,+DAA+D;IAC/D,EAAE;IACF,WAAW;IACX,iCAAiC;IACjC,0EAA0E;CAC3E,CAAC,IAAI,CAAC,IAAI,CAAC,CACb;KACA,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,GAAG,GAAG,IAAI,aAAa,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAEvE,GAAG,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC;QAC1C,IAAI,EAAE;YACJ,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B;KACF,CAAC,CAAC;IACH,GAAG,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;IAE5C,IAAI,CAAC;QACH,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC3B,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAC9B,GAAG,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,IAAI,CACN,sBAAsB,EACtB,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,CACnF,CAAC;QACF,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC,CAAC;AAEL;;;GAGG;AACH,eAAe,CAAC,OAAO,EAAE;IACvB,YAAY,EAAE,IAAI;IAClB,YAAY,EAAE,KAAK;CACpB,CAAC,CAAC;AAEH,eAAe,OAAO,CAAC"}
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import { createCommand } from 'commander';
|
|
2
|
-
import { NoAccountsError } from '@equinor/fusion-framework-module-msal-node/error';
|
|
3
|
-
import { ConsoleLogger } from '../../../bin/utils';
|
|
4
|
-
import { initializeFramework } from '../../../lib/framework.node.js';
|
|
5
|
-
import { withAuthOptions } from '../../options/auth.js';
|
|
6
|
-
/**
|
|
7
|
-
* Command to acquire and print an access token for Fusion APIs using your current authentication context.
|
|
8
|
-
*
|
|
9
|
-
* This command retrieves an access token for the specified scopes, tenant, and client.
|
|
10
|
-
* Supports debug and silent modes for flexible output.
|
|
11
|
-
*/
|
|
12
|
-
export const command = createCommand('token')
|
|
13
|
-
.description('Acquire and print an access token for Fusion APIs using your current authentication context.')
|
|
14
|
-
.addHelpText('after', [
|
|
15
|
-
'',
|
|
16
|
-
'Acquire and print an access token for Fusion APIs using your current authentication context.',
|
|
17
|
-
'',
|
|
18
|
-
'This command retrieves an access token for the specified scopes, tenant, and client.',
|
|
19
|
-
'Supports debug and silent modes for flexible output.',
|
|
20
|
-
'',
|
|
21
|
-
'Options:',
|
|
22
|
-
' --tenant <tenantId> Specify the tenant ID',
|
|
23
|
-
' --client <clientId> Specify the client ID',
|
|
24
|
-
' --scope <scope> Specify the scope(s) for authentication',
|
|
25
|
-
' --debug Enable debug mode for verbose logging',
|
|
26
|
-
' --silent Only output the token (no extra logging)',
|
|
27
|
-
'',
|
|
28
|
-
'Examples:',
|
|
29
|
-
' $ fusion-framework-cli token',
|
|
30
|
-
' $ fusion-framework-cli token --scope api://my-app/.default',
|
|
31
|
-
' $ fusion-framework-cli token --tenant my-tenant --client my-client-id --silent',
|
|
32
|
-
].join('\n'))
|
|
33
|
-
.option('-d, --debug', 'Enable debug mode for verbose logging', false)
|
|
34
|
-
.option('--silent', 'Only output the token (no extra logging)')
|
|
35
|
-
.action(async (options) => {
|
|
36
|
-
const log = options.silent ? null : new ConsoleLogger('auth:token', { debug: options.debug });
|
|
37
|
-
const scopes = typeof options.scope === 'string' ? [options.scope] : options.scope;
|
|
38
|
-
console.log('options');
|
|
39
|
-
log?.info('Using tenant', options.tenantId);
|
|
40
|
-
log?.info('Using client', options.clientId);
|
|
41
|
-
log?.info('Using scope', JSON.stringify(scopes));
|
|
42
|
-
log?.start('Initializing Fusion Framework...');
|
|
43
|
-
const framework = await initializeFramework({
|
|
44
|
-
auth: {
|
|
45
|
-
tenantId: options.tenantId,
|
|
46
|
-
clientId: options.clientId,
|
|
47
|
-
},
|
|
48
|
-
});
|
|
49
|
-
log?.succeed('Initialized Fusion Framework');
|
|
50
|
-
try {
|
|
51
|
-
log?.start('Getting access token...');
|
|
52
|
-
const accessToken = await framework.auth.acquireAccessToken({ scopes });
|
|
53
|
-
log?.succeed('Successfully acquired access token');
|
|
54
|
-
if (options.silent) {
|
|
55
|
-
console.log(accessToken);
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
log?.info('Access token:', accessToken);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
catch (error) {
|
|
62
|
-
if (!options.silent && error instanceof NoAccountsError) {
|
|
63
|
-
log?.fail('No accounts found, please login first');
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
throw error;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
});
|
|
70
|
-
/**
|
|
71
|
-
* Adds authentication options to the token command.
|
|
72
|
-
* @see withAuthOptions
|
|
73
|
-
*/
|
|
74
|
-
withAuthOptions(command, {
|
|
75
|
-
includeScope: true,
|
|
76
|
-
});
|
|
77
|
-
export default command;
|
|
78
|
-
//# sourceMappingURL=token.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"token.js","sourceRoot":"","sources":["../../../../../src/cli/commands/auth/token.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { createCommand } from 'commander';
|
|
2
|
-
import resolveCommand from './resolve.js';
|
|
3
|
-
const command = createCommand('disco').description('Service discovery operations');
|
|
4
|
-
command.addCommand(resolveCommand);
|
|
5
|
-
export default command;
|
|
6
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/cli/commands/disco/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,cAAc,MAAM,cAAc,CAAC;AAE1C,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,8BAA8B,CAAC,CAAC;AAEnF,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;AAEnC,eAAe,OAAO,CAAC"}
|
|
@@ -1,58 +0,0 @@
|
|
|
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';
|
|
6
|
-
/**
|
|
7
|
-
* The `resolve` command resolves and displays information about a service registered in Fusion service discovery.
|
|
8
|
-
*
|
|
9
|
-
* This command looks up a service by name and prints its discovery details using the current authentication and environment.
|
|
10
|
-
*
|
|
11
|
-
* Supports environment selection and authentication options.
|
|
12
|
-
*
|
|
13
|
-
* @command resolve
|
|
14
|
-
* @description Resolve and display information about a service registered in Fusion service discovery.
|
|
15
|
-
* @argument {string} service - Name of the service to resolve in Fusion service discovery.
|
|
16
|
-
* @option {string} --env - Environment to use (e.g., prod, test).
|
|
17
|
-
* @option {string} --token - Authentication token.
|
|
18
|
-
* @option {string} --tenantId - Tenant ID for authentication.
|
|
19
|
-
* @option {string} --clientId - Client ID for authentication.
|
|
20
|
-
* @returns {Promise<void>} Prints the resolved service details to the console.
|
|
21
|
-
*/
|
|
22
|
-
const command = withAuthOptions(createCommand('resolve')
|
|
23
|
-
.description('Resolve and display information about a service registered in Fusion service discovery.')
|
|
24
|
-
.addHelpText('after', [
|
|
25
|
-
'',
|
|
26
|
-
'Resolve and display information about a service registered in Fusion service discovery.',
|
|
27
|
-
'',
|
|
28
|
-
'This command looks up a service by name and prints its discovery details using the current authentication and environment.',
|
|
29
|
-
'',
|
|
30
|
-
'Examples:',
|
|
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.',
|
|
36
|
-
].join('\n'))
|
|
37
|
-
.addOption(createEnvOption({ allowDev: false }))
|
|
38
|
-
.argument('<service>', 'Name of the service to resolve in Fusion service discovery')
|
|
39
|
-
.action(async (service, options) => {
|
|
40
|
-
const log = new ConsoleLogger('disco:resolve');
|
|
41
|
-
log.start('Initializing Fusion Framework...');
|
|
42
|
-
console.log('Options:', options);
|
|
43
|
-
const framework = await initializeFramework({
|
|
44
|
-
env: options.environment,
|
|
45
|
-
auth: {
|
|
46
|
-
token: options.token,
|
|
47
|
-
tenantId: options.tenantId,
|
|
48
|
-
clientId: options.clientId,
|
|
49
|
-
},
|
|
50
|
-
});
|
|
51
|
-
log.succeed('Initialized Fusion Framework');
|
|
52
|
-
log.start(`Resolving service ${service}...`);
|
|
53
|
-
const appClient = await framework.serviceDiscovery.resolveService(service);
|
|
54
|
-
log.succeed(`Resolved service ${service}`);
|
|
55
|
-
console.debug(appClient);
|
|
56
|
-
}));
|
|
57
|
-
export default command;
|
|
58
|
-
//# sourceMappingURL=resolve.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import appCommand from './app';
|
|
2
|
-
import authCommands from './auth';
|
|
3
|
-
import discoCommand from './disco';
|
|
4
|
-
import portalCommand from './portal';
|
|
5
|
-
export default (program) => {
|
|
6
|
-
program.addCommand(appCommand);
|
|
7
|
-
program.addCommand(authCommands);
|
|
8
|
-
program.addCommand(discoCommand);
|
|
9
|
-
program.addCommand(portalCommand);
|
|
10
|
-
};
|
|
11
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cli/commands/index.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,MAAM,OAAO,CAAC;AAC/B,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,YAAY,MAAM,SAAS,CAAC;AACnC,OAAO,aAAa,MAAM,UAAU,CAAC;AAErC,eAAe,CAAC,OAAgB,EAAE,EAAE;IAClC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAC/B,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IACjC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IACjC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AACpC,CAAC,CAAC"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { createCommand } from 'commander';
|
|
2
|
-
import { ConsoleLogger } from '../../../bin/utils';
|
|
3
|
-
import { buildPortal } from '../../../bin/portal-build.js';
|
|
4
|
-
export const command = createCommand('build')
|
|
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.',
|
|
8
|
-
'',
|
|
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',
|
|
14
|
-
'',
|
|
15
|
-
'Examples:',
|
|
16
|
-
' $ fusion-framework-cli portal build',
|
|
17
|
-
' $ fusion-framework-cli portal build portal.manifest.prod.ts --debug',
|
|
18
|
-
'',
|
|
19
|
-
].join('\n'))
|
|
20
|
-
.option('-d, --debug', 'Enable debug mode for verbose logging', false)
|
|
21
|
-
.argument('[manifest]', 'Manifest build file to use for building (e.g., portal.manifest[.env]?.[ts,js,json])')
|
|
22
|
-
.action(async (manifest, opt) => {
|
|
23
|
-
const log = new ConsoleLogger('portal:build', { debug: opt.debug });
|
|
24
|
-
await buildPortal({ log, manifest });
|
|
25
|
-
});
|
|
26
|
-
export default command;
|
|
27
|
-
//# sourceMappingURL=build.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,101 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../src/cli/commands/portal/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { createCommand } from 'commander';
|
|
2
|
-
import { ConsoleLogger } from '../../../bin/utils';
|
|
3
|
-
import { startPortalDevServer } from '../../../bin/portal-dev.js';
|
|
4
|
-
export const command = createCommand('dev')
|
|
5
|
-
.description('Start a local development server for the Fusion portal.')
|
|
6
|
-
.addHelpText('after', [
|
|
7
|
-
'',
|
|
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',
|
|
13
|
-
'',
|
|
14
|
-
'Examples:',
|
|
15
|
-
' $ fusion-framework-cli portal dev',
|
|
16
|
-
' $ fusion-framework-cli portal dev --port 4000 --debug',
|
|
17
|
-
].join('\n'))
|
|
18
|
-
.option('-p, --port <number>', 'Port to run the development server on', '3000')
|
|
19
|
-
.option('-d, --debug', 'Enable debug mode for verbose logging')
|
|
20
|
-
.action(async (options) => {
|
|
21
|
-
const log = new ConsoleLogger('portal:dev', { debug: options.debug });
|
|
22
|
-
log.start('Starting application in development mode...');
|
|
23
|
-
startPortalDevServer({ server: { port: Number(options.port) }, log });
|
|
24
|
-
log.succeed('Development server started successfully.');
|
|
25
|
-
});
|
|
26
|
-
export default command;
|
|
27
|
-
//# sourceMappingURL=dev.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { createCommand } from 'commander';
|
|
2
|
-
import devCommand from './dev.js';
|
|
3
|
-
import manifestCommand from './manifest.js';
|
|
4
|
-
import schemaCommand from './schema.js';
|
|
5
|
-
import buildCommand from './build.js';
|
|
6
|
-
import packCommand from './pack.js';
|
|
7
|
-
import uploadCommand from './upload.js';
|
|
8
|
-
import tagCommand from './tag.js';
|
|
9
|
-
import publishCommand from './publish.js';
|
|
10
|
-
import configCommand from './config.js';
|
|
11
|
-
export const command = createCommand('portal')
|
|
12
|
-
.description('Develop and deploy portal templates')
|
|
13
|
-
.addCommand(devCommand)
|
|
14
|
-
.addCommand(manifestCommand)
|
|
15
|
-
.addCommand(schemaCommand)
|
|
16
|
-
.addCommand(buildCommand)
|
|
17
|
-
.addCommand(packCommand)
|
|
18
|
-
.addCommand(uploadCommand)
|
|
19
|
-
.addCommand(tagCommand)
|
|
20
|
-
.addCommand(publishCommand)
|
|
21
|
-
.addCommand(configCommand);
|
|
22
|
-
export default command;
|
|
23
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { createCommand } from 'commander';
|
|
2
|
-
import { dirname, resolve } from 'node:path';
|
|
3
|
-
import { mkdir } from 'node:fs/promises';
|
|
4
|
-
import { writeFile } from 'node:fs/promises';
|
|
5
|
-
import { stdout } from 'node:process';
|
|
6
|
-
import { loadPortalManifest } from '../../../bin';
|
|
7
|
-
import { ConsoleLogger } from '../../../bin/utils';
|
|
8
|
-
import { fileExistsSync } from '../../../lib/utils';
|
|
9
|
-
export const command = createCommand('manifest')
|
|
10
|
-
.description('Generate or validate a Fusion portal manifest file.')
|
|
11
|
-
.addHelpText('after', [
|
|
12
|
-
'Generates or validates a Fusion portal manifest file.',
|
|
13
|
-
'',
|
|
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',
|
|
20
|
-
'',
|
|
21
|
-
'Examples:',
|
|
22
|
-
' $ fusion-framework-cli portal manifest',
|
|
23
|
-
' $ fusion-framework-cli portal manifest portal.manifest.prod.ts --output ./dist/portal.manifest.json',
|
|
24
|
-
].join('\n'))
|
|
25
|
-
.option('-d, --debug', 'Enable debug mode for verbose logging', false)
|
|
26
|
-
.option('-o, --output <string>', 'Write manifest to the specified file', 'stdout')
|
|
27
|
-
.option('-s, --silent', 'Silent mode, suppresses output except errors')
|
|
28
|
-
.argument('[manifest]', 'Manifest build file to use (e.g., app.manifest[.env]?.[ts,js,json])')
|
|
29
|
-
.action(async (manifest, opt) => {
|
|
30
|
-
const log = opt.silent ? null : new ConsoleLogger('app:manifest', { debug: opt.debug });
|
|
31
|
-
const result = await loadPortalManifest({ log, manifest });
|
|
32
|
-
if (opt.output) {
|
|
33
|
-
const output = resolve(process.cwd(), opt.output);
|
|
34
|
-
log?.start('Writing manifest to file', opt.output);
|
|
35
|
-
// create the output directory if it doesn't exist
|
|
36
|
-
if (!fileExistsSync(dirname(output))) {
|
|
37
|
-
await mkdir(dirname(output), { recursive: true });
|
|
38
|
-
}
|
|
39
|
-
// write the manifest to the output file
|
|
40
|
-
await writeFile(output, JSON.stringify(result.manifest, null, 2));
|
|
41
|
-
log?.succeed('Manifest written to file', output);
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
stdout.write(JSON.stringify(result.manifest, null, 2));
|
|
45
|
-
}
|
|
46
|
-
});
|
|
47
|
-
export default command;
|
|
48
|
-
//# sourceMappingURL=manifest.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|