@equinor/fusion-framework-cli 11.0.0-next.7 → 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 -95
- 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 -31
- package/bin/build/bin.js +0 -21
- package/bin/build/cli.js +0 -10097
- package/bin/build/create-auth-client-7P8K_6Vu.js +0 -89
- package/bin/build/portal-config-publish-OZ7Ocme4.js +0 -12281
- 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,89 +0,0 @@
|
|
|
1
|
-
import { PublicClientApplication } from '@azure/msal-node';
|
|
2
|
-
import { PersistenceCachePlugin, PersistenceCreator, DataProtectionScope, Environment } from '@azure/msal-node-extensions';
|
|
3
|
-
import { tmpdir } from 'node:os';
|
|
4
|
-
import path from 'node:path';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Resolves the directory path for storing the authentication cache.
|
|
8
|
-
*
|
|
9
|
-
* Uses the user's root directory if available, otherwise falls back to the OS temp directory.
|
|
10
|
-
*
|
|
11
|
-
* @returns The resolved cache directory path as a string.
|
|
12
|
-
*/
|
|
13
|
-
const resolveCachePath = () => {
|
|
14
|
-
return Environment?.getUserRootDirectory() ?? tmpdir();
|
|
15
|
-
};
|
|
16
|
-
/**
|
|
17
|
-
* Resolves the file path for the authentication cache based on tenant and client IDs.
|
|
18
|
-
*
|
|
19
|
-
* @param tenantId - The Azure AD tenant ID.
|
|
20
|
-
* @param clientId - The Azure AD client/application ID.
|
|
21
|
-
* @returns The full file path for the cache file.
|
|
22
|
-
*/
|
|
23
|
-
const resolveCacheFilePath = (tenantId, clientId) => {
|
|
24
|
-
return path.join(resolveCachePath(), `.token-cache-${tenantId}_${clientId}`);
|
|
25
|
-
};
|
|
26
|
-
/**
|
|
27
|
-
* Creates a persistence cache for storing authentication data securely on disk.
|
|
28
|
-
*
|
|
29
|
-
* The cache is encrypted and scoped to the current user for security. It is uniquely identified
|
|
30
|
-
* by the provided tenant and client IDs, and is associated with the 'fusion-framework' service.
|
|
31
|
-
*
|
|
32
|
-
* @param tenantId - The Azure AD tenant ID used to identify the cache.
|
|
33
|
-
* @param clientId - The Azure AD client/application ID used to identify the cache.
|
|
34
|
-
* @returns A promise that resolves to the created persistence cache instance.
|
|
35
|
-
*/
|
|
36
|
-
const createPersistenceCache = async (tenantId, clientId) => {
|
|
37
|
-
return PersistenceCreator.createPersistence({
|
|
38
|
-
cachePath: resolveCacheFilePath(tenantId, clientId),
|
|
39
|
-
serviceName: 'fusion-framework',
|
|
40
|
-
accountName: [tenantId, clientId].join('_'),
|
|
41
|
-
dataProtectionScope: DataProtectionScope.CurrentUser,
|
|
42
|
-
});
|
|
43
|
-
};
|
|
44
|
-
/**
|
|
45
|
-
* Creates a `PersistenceCachePlugin` instance for use with MSAL, using the provided tenant and client IDs.
|
|
46
|
-
*
|
|
47
|
-
* This plugin enables MSAL to use the secure persistence cache for token storage.
|
|
48
|
-
*
|
|
49
|
-
* @param tenantId - The Azure AD tenant ID.
|
|
50
|
-
* @param clientId - The Azure AD client/application ID.
|
|
51
|
-
* @returns A promise that resolves to an instance of `PersistenceCachePlugin`.
|
|
52
|
-
*/
|
|
53
|
-
const createPersistenceCachePlugin = async (tenantId, clientId) => {
|
|
54
|
-
return new PersistenceCachePlugin(await createPersistenceCache(tenantId, clientId));
|
|
55
|
-
};
|
|
56
|
-
|
|
57
|
-
/**
|
|
58
|
-
* Creates and configures a new MSAL PublicClientApplication instance for Azure AD authentication.
|
|
59
|
-
*
|
|
60
|
-
* This function sets up the client with the specified tenant and client IDs, and attaches a secure
|
|
61
|
-
* persistence cache plugin for storing authentication tokens on disk. The resulting client can be used
|
|
62
|
-
* for both silent and interactive authentication flows, depending on how it is integrated.
|
|
63
|
-
*
|
|
64
|
-
* @param tenantId - The Azure Active Directory tenant ID (directory identifier).
|
|
65
|
-
* @param clientId - The client/application ID registered in Azure AD.
|
|
66
|
-
* @returns A Promise that resolves to a configured instance of `PublicClientApplication`.
|
|
67
|
-
*
|
|
68
|
-
* @remarks
|
|
69
|
-
* The returned client uses a secure, user-scoped cache for token storage. This is recommended for CLI tools,
|
|
70
|
-
* background services, and other Node.js applications that require persistent authentication.
|
|
71
|
-
*
|
|
72
|
-
* @example
|
|
73
|
-
* ```typescript
|
|
74
|
-
* const client = await createAuthClient('your-tenant-id', 'your-client-id');
|
|
75
|
-
* // Use the client with MSAL APIs for authentication flows
|
|
76
|
-
* ```
|
|
77
|
-
*/
|
|
78
|
-
const createAuthClient = async (tenantId, clientId) => {
|
|
79
|
-
const cachePlugin = await createPersistenceCachePlugin(tenantId, clientId);
|
|
80
|
-
return new PublicClientApplication({
|
|
81
|
-
auth: {
|
|
82
|
-
clientId: clientId,
|
|
83
|
-
authority: `https://login.microsoftonline.com/${tenantId}`,
|
|
84
|
-
},
|
|
85
|
-
cache: { cachePlugin },
|
|
86
|
-
});
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
export { createAuthClient, createAuthClient as default };
|