@equinor/fusion-framework-cli 10.0.0-beta-8c92234668d5f4b20de0650ff947f3afeb7c335c → 10.0.0-next-9f6eec8c5a4cb3dd430fc6bee227442a3dc28bb8
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 +399 -6
- package/README.md +31 -9
- package/dist/bin/build-application.js +22 -1
- package/dist/bin/build-application.js.map +1 -1
- package/dist/bin/bundle-application.js +8 -11
- package/dist/bin/bundle-application.js.map +1 -1
- package/dist/bin/create-dev-serve.js +89 -117
- package/dist/bin/create-dev-serve.js.map +1 -1
- package/dist/bin/create-export-config.js +54 -12
- package/dist/bin/create-export-config.js.map +1 -1
- package/dist/bin/create-export-manifest.js +44 -36
- package/dist/bin/create-export-manifest.js.map +1 -1
- package/dist/bin/dev-portal/AppLoader.js +23 -0
- package/dist/bin/dev-portal/AppLoader.js.map +1 -1
- package/dist/bin/dev-portal/ContextSelector/ContextSelector.js +17 -2
- package/dist/bin/dev-portal/ContextSelector/ContextSelector.js.map +1 -1
- package/dist/bin/dev-portal/ContextSelector/useContextResolver.js +35 -1
- package/dist/bin/dev-portal/ContextSelector/useContextResolver.js.map +1 -1
- package/dist/bin/dev-portal/Header.js +1 -0
- package/dist/bin/dev-portal/Header.js.map +1 -1
- package/dist/bin/dev-portal/PersonSideSheet/index.js +4 -0
- package/dist/bin/dev-portal/PersonSideSheet/index.js.map +1 -1
- package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureSheetContent.js +4 -0
- package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureSheetContent.js.map +1 -1
- package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerApp.js +3 -0
- package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerApp.js.map +1 -1
- package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerPortal.js +3 -0
- package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerPortal.js.map +1 -1
- package/dist/bin/dev-portal/PersonSideSheet/sheets/LandingSheetContent.js +3 -0
- package/dist/bin/dev-portal/PersonSideSheet/sheets/LandingSheetContent.js.map +1 -1
- package/dist/bin/dev-portal/Router.js +3 -0
- package/dist/bin/dev-portal/Router.js.map +1 -1
- package/dist/bin/dev-portal/config.js +7 -2
- package/dist/bin/dev-portal/config.js.map +1 -1
- package/dist/bin/dev-portal/useAppContextNavigation.js +27 -6
- package/dist/bin/dev-portal/useAppContextNavigation.js.map +1 -1
- package/dist/bin/main.app.js +32 -19
- package/dist/bin/main.app.js.map +1 -1
- package/dist/bin/main.js +3 -0
- package/dist/bin/main.js.map +1 -1
- package/dist/bin/public/assets/index-CwGBhRCD.js +5235 -0
- package/dist/bin/public/index.html +1 -1
- package/dist/bin/publish-application.js +75 -20
- package/dist/bin/publish-application.js.map +1 -1
- package/dist/bin/tag-application.js +52 -16
- package/dist/bin/tag-application.js.map +1 -1
- package/dist/bin/upload-application.js +47 -14
- package/dist/bin/upload-application.js.map +1 -1
- package/dist/bin/utils/{execute-commant.js → execute-command.js} +5 -2
- package/dist/bin/utils/execute-command.js.map +1 -0
- package/dist/bin/utils/format.js +1 -1
- package/dist/bin/utils/format.js.map +1 -1
- package/dist/bin/utils/getEndpointUrl.js +49 -0
- package/dist/bin/utils/getEndpointUrl.js.map +1 -0
- package/dist/bin/utils/index.js +14 -0
- package/dist/bin/utils/index.js.map +1 -0
- package/dist/bin/utils/isAppRegistered.js +32 -0
- package/dist/bin/utils/isAppRegistered.js.map +1 -0
- package/dist/bin/utils/load-app-config.js +1 -0
- package/dist/bin/utils/load-app-config.js.map +1 -1
- package/dist/bin/utils/load-manifest.js +9 -4
- package/dist/bin/utils/load-manifest.js.map +1 -1
- package/dist/bin/utils/proxy-request-logger.js +34 -0
- package/dist/bin/utils/proxy-request-logger.js.map +1 -0
- package/dist/bin/utils/publishAppConfig.js +36 -0
- package/dist/bin/utils/publishAppConfig.js.map +1 -0
- package/dist/bin/utils/requireToken.js +10 -0
- package/dist/bin/utils/requireToken.js.map +1 -0
- package/dist/bin/utils/spinner.js +10 -0
- package/dist/bin/utils/spinner.js.map +1 -1
- package/dist/bin/utils/tagAppBundle.js +35 -0
- package/dist/bin/utils/tagAppBundle.js.map +1 -0
- package/dist/bin/utils/uploadAppBundle.js +54 -0
- package/dist/bin/utils/uploadAppBundle.js.map +1 -0
- package/dist/lib/app-config.js +3 -1
- package/dist/lib/app-config.js.map +1 -1
- package/dist/lib/app-manifest.js +97 -15
- package/dist/lib/app-manifest.js.map +1 -1
- package/dist/lib/app-package.js +52 -5
- package/dist/lib/app-package.js.map +1 -1
- package/dist/lib/plugins/app-assets/app-asset-plugin.js +102 -0
- package/dist/lib/plugins/app-assets/app-asset-plugin.js.map +1 -0
- package/dist/lib/plugins/app-assets/emit-asset.js +41 -0
- package/dist/lib/plugins/app-assets/emit-asset.js.map +1 -0
- package/dist/lib/plugins/app-assets/extension-filter-pattern.js +20 -0
- package/dist/lib/plugins/app-assets/extension-filter-pattern.js.map +1 -0
- package/dist/lib/plugins/app-assets/index.js +4 -0
- package/dist/lib/plugins/app-assets/index.js.map +1 -0
- package/dist/lib/plugins/app-assets/read-asset-content.js +34 -0
- package/dist/lib/plugins/app-assets/read-asset-content.js.map +1 -0
- package/dist/lib/plugins/app-assets/resolve-asset-id.js +63 -0
- package/dist/lib/plugins/app-assets/resolve-asset-id.js.map +1 -0
- package/dist/lib/plugins/app-assets/static.js +15 -0
- package/dist/lib/plugins/app-assets/static.js.map +1 -0
- package/dist/lib/plugins/app-proxy/app-proxy-plugin.js +127 -0
- package/dist/lib/plugins/app-proxy/app-proxy-plugin.js.map +1 -0
- package/dist/lib/plugins/app-proxy/index.js +2 -0
- package/dist/lib/plugins/app-proxy/index.js.map +1 -0
- package/dist/lib/plugins/external-public/external-public-plugin.js +103 -0
- package/dist/lib/plugins/external-public/external-public-plugin.js.map +1 -0
- package/dist/lib/plugins/external-public/index.js +2 -0
- package/dist/lib/plugins/external-public/index.js.map +1 -0
- package/dist/lib/utils/assert.js +2 -1
- package/dist/lib/utils/assert.js.map +1 -1
- package/dist/lib/utils/config.js +5 -0
- package/dist/lib/utils/config.js.map +1 -1
- package/dist/lib/vite-config.js +4 -4
- package/dist/lib/vite-config.js.map +1 -1
- package/dist/lib/vite-logger.js +2 -0
- package/dist/lib/vite-logger.js.map +1 -1
- package/dist/types/bin/build-application.d.ts +4 -3
- package/dist/types/bin/create-dev-serve.d.ts +1 -1
- package/dist/types/bin/create-export-config.d.ts +3 -3
- package/dist/types/bin/create-export-manifest.d.ts +6 -9
- package/dist/types/bin/dev-portal/AppLoader.d.ts +7 -0
- package/dist/types/bin/dev-portal/ContextSelector/ContextSelector.d.ts +5 -0
- package/dist/types/bin/dev-portal/ContextSelector/useContextResolver.d.ts +6 -0
- package/dist/types/bin/dev-portal/FusionLogo.d.ts +0 -1
- package/dist/types/bin/dev-portal/PersonSideSheet/index.d.ts +4 -0
- package/dist/types/bin/dev-portal/PersonSideSheet/sheets/FeatureSheetContent.d.ts +4 -0
- package/dist/types/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerApp.d.ts +3 -0
- package/dist/types/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerPortal.d.ts +3 -0
- package/dist/types/bin/dev-portal/PersonSideSheet/sheets/LandingSheetContent.d.ts +3 -0
- package/dist/types/bin/dev-portal/PersonSideSheet/sheets/Styled.d.ts +4 -5
- package/dist/types/bin/dev-portal/useAppContextNavigation.d.ts +4 -0
- package/dist/types/bin/publish-application.d.ts +1 -1
- package/dist/types/bin/tag-application.d.ts +1 -1
- package/dist/types/bin/upload-application.d.ts +1 -1
- package/dist/types/bin/utils/execute-command.d.ts +8 -0
- package/dist/types/bin/utils/format.d.ts +0 -2
- package/dist/types/bin/utils/getEndpointUrl.d.ts +10 -0
- package/dist/types/bin/utils/index.d.ts +14 -0
- package/dist/types/bin/utils/isAppRegistered.d.ts +7 -0
- package/dist/types/bin/utils/load-app-config.d.ts +1 -1
- package/dist/types/bin/utils/load-manifest.d.ts +3 -2
- package/dist/types/bin/utils/proxy-request-logger.d.ts +15 -0
- package/dist/types/bin/utils/publishAppConfig.d.ts +9 -0
- package/dist/types/bin/utils/requireToken.d.ts +4 -0
- package/dist/types/bin/utils/spinner.d.ts +1 -0
- package/dist/types/bin/utils/tagAppBundle.d.ts +7 -0
- package/dist/types/bin/utils/uploadAppBundle.d.ts +7 -0
- package/dist/types/lib/app-config.d.ts +1 -1
- package/dist/types/lib/app-manifest.d.ts +30 -2
- package/dist/types/lib/app-package.d.ts +34 -3
- package/dist/types/lib/plugins/app-assets/app-asset-plugin.d.ts +36 -0
- package/dist/types/lib/plugins/app-assets/emit-asset.d.ts +18 -0
- package/dist/types/lib/plugins/app-assets/extension-filter-pattern.d.ts +14 -0
- package/dist/types/lib/plugins/app-assets/index.d.ts +3 -0
- package/dist/types/lib/plugins/app-assets/read-asset-content.d.ts +14 -0
- package/dist/types/lib/plugins/app-assets/resolve-asset-id.d.ts +16 -0
- package/dist/types/lib/plugins/app-assets/static.d.ts +5 -0
- package/dist/types/lib/plugins/app-proxy/app-proxy-plugin.d.ts +70 -0
- package/dist/types/lib/plugins/app-proxy/index.d.ts +1 -0
- package/dist/types/lib/plugins/external-public/external-public-plugin.d.ts +30 -0
- package/dist/types/lib/plugins/external-public/index.d.ts +1 -0
- package/dist/types/lib/utils/assert.d.ts +2 -2
- package/dist/types/lib/utils/config.d.ts +7 -1
- package/dist/types/lib/utils/expect.d.ts +1 -1
- package/dist/types/lib/vite-config.d.ts +1 -1
- package/dist/types/version.d.ts +1 -1
- package/dist/version.js +2 -1
- package/dist/version.js.map +1 -1
- package/package.json +49 -35
- package/dist/bin/dev-proxy.js +0 -89
- package/dist/bin/dev-proxy.js.map +0 -1
- package/dist/bin/public/assets/index-DGTu1kLV.js +0 -3482
- package/dist/bin/utils/app-api.js +0 -169
- package/dist/bin/utils/app-api.js.map +0 -1
- package/dist/bin/utils/execute-commant.js.map +0 -1
- package/dist/index.js +0 -12
- package/dist/index.js.map +0 -1
- package/dist/types/bin/dev-proxy.d.ts +0 -26
- package/dist/types/bin/utils/app-api.d.ts +0 -8
- package/dist/types/bin/utils/execute-commant.d.ts +0 -8
- package/dist/types/index.d.ts +0 -4
|
@@ -11,37 +11,92 @@ import { chalk } from './utils/format.js';
|
|
|
11
11
|
import { Spinner } from './utils/spinner.js';
|
|
12
12
|
import { bundleApplication } from './bundle-application.js';
|
|
13
13
|
import { resolveAppPackage, resolveAppKey } from '../lib/app-package.js';
|
|
14
|
-
import {
|
|
14
|
+
import { isAppRegistered, getEndpointUrl, requireToken, tagAppBundle, uploadAppBundle, } from './utils/index.js';
|
|
15
|
+
import { exit } from 'node:process';
|
|
15
16
|
export const publishApplication = (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
16
17
|
const { tag, env, service } = options;
|
|
17
18
|
const spinner = Spinner.Global({ prefixText: chalk.dim('Publish') });
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
try {
|
|
20
|
+
spinner.info('Validating FUSION_TOKEN');
|
|
21
|
+
// make sure token exist
|
|
22
|
+
requireToken();
|
|
23
|
+
// call service discovery with token, will throw error if failed
|
|
24
|
+
yield getEndpointUrl('apps', env, '');
|
|
25
|
+
spinner.succeed('Found valid FUSION_TOKEN');
|
|
26
|
+
}
|
|
27
|
+
catch (e) {
|
|
28
|
+
const err = e;
|
|
29
|
+
spinner.fail(chalk.bgRed(err.message));
|
|
30
|
+
exit(1);
|
|
21
31
|
}
|
|
22
32
|
const pkg = yield resolveAppPackage();
|
|
23
33
|
const appKey = resolveAppKey(pkg.packageJson);
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
34
|
+
try {
|
|
35
|
+
spinner.info('Verifying that App is registered');
|
|
36
|
+
const state = { endpoint: '' };
|
|
37
|
+
try {
|
|
38
|
+
state.endpoint = yield getEndpointUrl(`apps/${appKey}`, env, service);
|
|
39
|
+
}
|
|
40
|
+
catch (e) {
|
|
41
|
+
const err = e;
|
|
42
|
+
throw new Error(`Could not get endpoint from service discovery while verifying app is registered. service-discovery status: ${err.message}`);
|
|
43
|
+
}
|
|
44
|
+
yield isAppRegistered(state.endpoint, appKey);
|
|
45
|
+
spinner.succeed(`${appKey} is registered`);
|
|
46
|
+
}
|
|
47
|
+
catch (e) {
|
|
48
|
+
const err = e;
|
|
49
|
+
spinner.fail('🙅♂️', chalk.bgRed(err.message));
|
|
50
|
+
exit(1);
|
|
29
51
|
}
|
|
30
|
-
|
|
52
|
+
const bundle = 'app-bundle.zip';
|
|
53
|
+
/* Zip app bundle */
|
|
54
|
+
spinner.info('Creating zip bundle');
|
|
31
55
|
yield bundleApplication({
|
|
32
|
-
archive:
|
|
56
|
+
archive: bundle,
|
|
33
57
|
outDir: 'dist',
|
|
34
58
|
});
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
59
|
+
const state = {
|
|
60
|
+
uploadedBundle: { version: '' },
|
|
61
|
+
endpoint: '',
|
|
62
|
+
};
|
|
63
|
+
spinner.info(`Publishing app: "${appKey}" with tag: "${tag}"`);
|
|
64
|
+
/* Upload app bundle */
|
|
65
|
+
try {
|
|
66
|
+
spinner.info(`Uploading bundle ${chalk.yellowBright(bundle)} to appKey ${chalk.yellowBright(appKey)}`);
|
|
67
|
+
try {
|
|
68
|
+
state.endpoint = yield getEndpointUrl(`bundles/apps/${appKey}`, env, service);
|
|
69
|
+
}
|
|
70
|
+
catch (e) {
|
|
71
|
+
const err = e;
|
|
72
|
+
throw new Error(`Could not get endpoint from service discovery while uploading app bundle. service-discovery status: ${err.message}`);
|
|
73
|
+
}
|
|
74
|
+
spinner.info(`Posting bundle to => ${state.endpoint}`);
|
|
75
|
+
state.uploadedBundle = yield uploadAppBundle(state.endpoint, bundle);
|
|
76
|
+
spinner.succeed('✅', `Uploaded bundle: "${chalk.greenBright(bundle)}" with version: ${chalk.greenBright(state.uploadedBundle.version)}"`);
|
|
77
|
+
}
|
|
78
|
+
catch (e) {
|
|
79
|
+
const err = e;
|
|
80
|
+
spinner.fail('🙅♂️', chalk.bgRed(err.message));
|
|
81
|
+
exit(1);
|
|
82
|
+
}
|
|
83
|
+
try {
|
|
84
|
+
spinner.info(`Tagging ${state.uploadedBundle.version} with ${tag}`);
|
|
85
|
+
try {
|
|
86
|
+
state.endpoint = yield getEndpointUrl(`apps/${appKey}/tags/${tag}`, env, service);
|
|
87
|
+
}
|
|
88
|
+
catch (e) {
|
|
89
|
+
const err = e;
|
|
90
|
+
throw new Error(`Could not get endpoint from service discovery while tagging app. service-discovery status: ${err.message}`);
|
|
91
|
+
}
|
|
92
|
+
const tagged = yield tagAppBundle(state.endpoint, state.uploadedBundle.version);
|
|
93
|
+
spinner.succeed('✅', `Tagged version ${chalk.greenBright(tagged.version)} with ${chalk.greenBright(tagged.tagName)}`);
|
|
39
94
|
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
95
|
+
catch (e) {
|
|
96
|
+
const err = e;
|
|
97
|
+
spinner.fail('🙅♂️', chalk.bgRed(err.message));
|
|
98
|
+
exit(1);
|
|
44
99
|
}
|
|
45
|
-
spinner.succeed('
|
|
100
|
+
spinner.succeed('⭐️', `Published app: "${chalk.greenBright(appKey)}" version: "${chalk.greenBright(state.uploadedBundle.version)}" with tagg: "${chalk.greenBright(tag)}"`);
|
|
46
101
|
});
|
|
47
102
|
//# sourceMappingURL=publish-application.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish-application.js","sourceRoot":"","sources":["../../src/bin/publish-application.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEzE,OAAO,EACH,eAAe,EACf,
|
|
1
|
+
{"version":3,"file":"publish-application.js","sourceRoot":"","sources":["../../src/bin/publish-application.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,10 +7,11 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
+
import { exit } from 'node:process';
|
|
10
11
|
import { chalk } from './utils/format.js';
|
|
11
12
|
import { Spinner } from './utils/spinner.js';
|
|
12
13
|
import { resolveAppPackage, resolveAppKey } from '../lib/app-package.js';
|
|
13
|
-
import {
|
|
14
|
+
import { isAppRegistered, getEndpointUrl, requireToken, tagAppBundle } from './utils/index.js';
|
|
14
15
|
var Tags;
|
|
15
16
|
(function (Tags) {
|
|
16
17
|
Tags["preview"] = "preview";
|
|
@@ -19,26 +20,61 @@ var Tags;
|
|
|
19
20
|
export const tagApplication = (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
20
21
|
const { tag, version, env, service } = options;
|
|
21
22
|
const spinner = Spinner.Global({ prefixText: chalk.dim('Tag') });
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
if (!Object.values(Tags).includes(tag)) {
|
|
24
|
+
spinner.fail('😞', `Tag must match (${Tags.latest} | ${Tags.preview})`);
|
|
25
|
+
exit(1);
|
|
26
|
+
}
|
|
27
|
+
/** make sure user has a valid token */
|
|
28
|
+
try {
|
|
29
|
+
spinner.info('Validating FUSION_TOKEN');
|
|
30
|
+
// make sure token exist
|
|
31
|
+
requireToken();
|
|
32
|
+
// call service discovery with token, will throw error if failed
|
|
33
|
+
yield getEndpointUrl('apps', env, '');
|
|
34
|
+
spinner.succeed('Found valid FUSION_TOKEN');
|
|
35
|
+
}
|
|
36
|
+
catch (e) {
|
|
37
|
+
const err = e;
|
|
38
|
+
spinner.fail(chalk.bgRed(err.message));
|
|
39
|
+
exit(1);
|
|
25
40
|
}
|
|
26
41
|
const pkg = yield resolveAppPackage();
|
|
27
42
|
const appKey = resolveAppKey(pkg.packageJson);
|
|
28
|
-
|
|
29
|
-
spinner.
|
|
30
|
-
|
|
43
|
+
try {
|
|
44
|
+
spinner.info('Verifying that App is registered');
|
|
45
|
+
const state = { endpoint: '' };
|
|
46
|
+
try {
|
|
47
|
+
state.endpoint = yield getEndpointUrl(`apps/${appKey}`, env, service);
|
|
48
|
+
}
|
|
49
|
+
catch (e) {
|
|
50
|
+
const err = e;
|
|
51
|
+
throw new Error(`Could not get endpoint from service discovery while verifying app is registered. service-discovery status: ${err.message}`);
|
|
52
|
+
}
|
|
53
|
+
yield isAppRegistered(state.endpoint, appKey);
|
|
54
|
+
spinner.succeed(`${appKey} is registered`);
|
|
55
|
+
}
|
|
56
|
+
catch (e) {
|
|
57
|
+
const err = e;
|
|
58
|
+
spinner.fail('🙅♂️', chalk.bgRed(err.message));
|
|
59
|
+
exit(1);
|
|
31
60
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
61
|
+
try {
|
|
62
|
+
spinner.info(`Tagging "${appKey}@${version}" with: "${tag}"`);
|
|
63
|
+
const state = { endpoint: '' };
|
|
64
|
+
try {
|
|
65
|
+
state.endpoint = yield getEndpointUrl(`apps/${appKey}/tags/${tag}`, env, service);
|
|
66
|
+
}
|
|
67
|
+
catch (e) {
|
|
68
|
+
const err = e;
|
|
69
|
+
throw new Error(`Could not get endpoint from service discovery while tagging app. service-discovery status: ${err.message}`);
|
|
70
|
+
}
|
|
71
|
+
const tagged = yield tagAppBundle(state.endpoint, version);
|
|
72
|
+
spinner.succeed('✅', `Tagged app: "${chalk.greenBright(appKey)}"`, `version: "${chalk.greenBright(tagged.version)}"`, `with tag: "${chalk.greenBright(tagged.tagName)}"`);
|
|
37
73
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
74
|
+
catch (e) {
|
|
75
|
+
const err = e;
|
|
76
|
+
spinner.fail('🙅♂️', chalk.bgRed(err.message));
|
|
77
|
+
exit(1);
|
|
41
78
|
}
|
|
42
|
-
spinner.succeed('✅', `App: "${chalk.greenBright(appKey)}"`, `Version: "${chalk.greenBright(tagd.version)}"`, `Tag: "${chalk.greenBright(tagd.tagName)}"`);
|
|
43
79
|
});
|
|
44
80
|
//# sourceMappingURL=tag-application.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tag-application.js","sourceRoot":"","sources":["../../src/bin/tag-application.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"tag-application.js","sourceRoot":"","sources":["../../src/bin/tag-application.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,30 +7,63 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
+
import { exit } from 'node:process';
|
|
10
11
|
import { Spinner } from './utils/spinner.js';
|
|
11
12
|
import { chalk } from './utils/format.js';
|
|
12
13
|
import { resolveAppPackage, resolveAppKey } from '../lib/app-package.js';
|
|
13
|
-
import {
|
|
14
|
+
import { isAppRegistered, getEndpointUrl, requireToken, uploadAppBundle } from './utils/index.js';
|
|
14
15
|
export const uploadApplication = (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
15
16
|
const { bundle, env, service } = options;
|
|
16
17
|
const spinner = Spinner.Global({ prefixText: chalk.dim('Upload') });
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
try {
|
|
19
|
+
spinner.info('Validating FUSION_TOKEN');
|
|
20
|
+
// make sure token exist
|
|
21
|
+
requireToken();
|
|
22
|
+
// call service discovery with token, will throw error if failed
|
|
23
|
+
yield getEndpointUrl('apps', env, '');
|
|
24
|
+
spinner.succeed('Found valid FUSION_TOKEN');
|
|
20
25
|
}
|
|
26
|
+
catch (e) {
|
|
27
|
+
const err = e;
|
|
28
|
+
spinner.fail(chalk.bgRed(err.message));
|
|
29
|
+
exit(1);
|
|
30
|
+
}
|
|
31
|
+
/* get package.json */
|
|
21
32
|
const pkg = yield resolveAppPackage();
|
|
22
33
|
const appKey = resolveAppKey(pkg.packageJson);
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
34
|
+
try {
|
|
35
|
+
spinner.info('Verifying that App is registered');
|
|
36
|
+
const state = { endpoint: '' };
|
|
37
|
+
try {
|
|
38
|
+
state.endpoint = yield getEndpointUrl(`apps/${appKey}`, env, service);
|
|
39
|
+
}
|
|
40
|
+
catch (e) {
|
|
41
|
+
const err = e;
|
|
42
|
+
throw new Error(`Could not get endpoint from service discovery while verifying app. service-discovery status: ${err.message}`);
|
|
43
|
+
}
|
|
44
|
+
yield isAppRegistered(state.endpoint, appKey);
|
|
45
|
+
spinner.succeed(`${appKey} is registered`);
|
|
46
|
+
}
|
|
47
|
+
catch (e) {
|
|
48
|
+
const err = e;
|
|
49
|
+
spinner.fail('🙅♂️', chalk.bgRed(err.message));
|
|
50
|
+
exit(1);
|
|
51
|
+
}
|
|
52
|
+
/* Upload app bundle */
|
|
53
|
+
try {
|
|
54
|
+
spinner.info(`Uploading bundle ${chalk.yellowBright(bundle)} to appKey ${chalk.yellowBright(appKey)}`);
|
|
55
|
+
const endpoint = yield getEndpointUrl(`bundles/apps/${appKey}`, env, service);
|
|
56
|
+
if (!endpoint) {
|
|
57
|
+
throw new Error('Could not get endpoint from service discovery');
|
|
58
|
+
}
|
|
59
|
+
spinner.info(`Posting bundle to => ${endpoint}`);
|
|
60
|
+
const uploadedBundle = yield uploadAppBundle(endpoint, bundle);
|
|
61
|
+
spinner.succeed('✅', `Uploaded app: "${chalk.greenBright(appKey)}"`, `Version: "${chalk.greenBright(uploadedBundle.version)}"`);
|
|
27
62
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
return;
|
|
63
|
+
catch (e) {
|
|
64
|
+
const err = e;
|
|
65
|
+
spinner.fail('🙅♂️', chalk.bgRed(err.message));
|
|
66
|
+
exit(1);
|
|
33
67
|
}
|
|
34
|
-
spinner.succeed('✅', `Uploaded app: "${chalk.greenBright(appKey)}"`, `Version: "${chalk.greenBright(uploadedBundle.version)}"`);
|
|
35
68
|
});
|
|
36
69
|
//# sourceMappingURL=upload-application.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload-application.js","sourceRoot":"","sources":["../../src/bin/upload-application.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"upload-application.js","sourceRoot":"","sources":["../../src/bin/upload-application.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGlG,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAO,OAIvC,EAAE,EAAE;IACD,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAEzC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEpE,IAAI,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAExC,wBAAwB;QACxB,YAAY,EAAE,CAAC;QAEf,gEAAgE;QAChE,MAAM,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QAEtC,OAAO,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,MAAM,GAAG,GAAG,CAAU,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QACvC,IAAI,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,sBAAsB;IACtB,MAAM,GAAG,GAAG,MAAM,iBAAiB,EAAE,CAAC;IACtC,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAE9C,IAAI,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QAE/B,IAAI,CAAC;YACD,KAAK,CAAC,QAAQ,GAAG,MAAM,cAAc,CAAC,QAAQ,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QAC1E,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,MAAM,GAAG,GAAG,CAAU,CAAC;YACvB,MAAM,IAAI,KAAK,CACX,gGAAgG,GAAG,CAAC,OAAO,EAAE,CAChH,CAAC;QACN,CAAC;QAED,MAAM,eAAe,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC9C,OAAO,CAAC,OAAO,CAAC,GAAG,MAAM,gBAAgB,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,MAAM,GAAG,GAAG,CAAU,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QAChD,IAAI,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,uBAAuB;IACvB,IAAI,CAAC;QACD,OAAO,CAAC,IAAI,CACR,oBAAoB,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,cAAc,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAC3F,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,gBAAgB,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QAC9E,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACrE,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,wBAAwB,QAAQ,EAAE,CAAC,CAAC;QAEjD,MAAM,cAAc,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAE/D,OAAO,CAAC,OAAO,CACX,GAAG,EACH,kBAAkB,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,EAC9C,aAAa,KAAK,CAAC,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAC5D,CAAC;IACN,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,MAAM,GAAG,GAAG,CAAU,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QAChD,IAAI,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;AACL,CAAC,CAAA,CAAC"}
|
|
@@ -9,7 +9,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
};
|
|
10
10
|
import { fork } from 'node:child_process';
|
|
11
11
|
import { assert } from 'node:console';
|
|
12
|
-
export const executeCommand = (program, command,
|
|
12
|
+
export const executeCommand = (program, command,
|
|
13
|
+
// TODO map command args
|
|
14
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
15
|
+
...options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
13
16
|
assert(process.env.CLI_BIN, 'expected bin path in env');
|
|
14
17
|
return new Promise((resolve, reject) => {
|
|
15
18
|
const job = fork(String(process.env.CLI_BIN), [program, command, ...(options !== null && options !== void 0 ? options : [])], {});
|
|
@@ -17,4 +20,4 @@ export const executeCommand = (program, command, ...options) => __awaiter(void 0
|
|
|
17
20
|
job.addListener('error', reject);
|
|
18
21
|
});
|
|
19
22
|
});
|
|
20
|
-
//# sourceMappingURL=execute-
|
|
23
|
+
//# sourceMappingURL=execute-command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execute-command.js","sourceRoot":"","sources":["../../../src/bin/utils/execute-command.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAUtC,MAAM,CAAC,MAAM,cAAc,GAAG,CAC1B,OAAiB,EACjB,OAAiC;AACjC,wBAAwB;AACxB,8DAA8D;AAC9D,GAAG,OAAc,EACnB,EAAE;IACA,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC;IACxD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1F,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAClC,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACP,CAAC,CAAA,CAAC"}
|
package/dist/bin/utils/format.js
CHANGED
|
@@ -5,7 +5,7 @@ import prettyBytes from 'pretty-bytes';
|
|
|
5
5
|
export { chalk };
|
|
6
6
|
export const formatPath = (path, opt) => {
|
|
7
7
|
var _a;
|
|
8
|
-
return chalk.blueBright((opt === null || opt === void 0 ? void 0 : opt.relative) ? relative((_a = opt === null || opt === void 0 ? void 0 : opt.cwd) !== null && _a !== void 0 ? _a : process.cwd(), path) : path);
|
|
8
|
+
return chalk.blueBright((opt === null || opt === void 0 ? void 0 : opt.relative) ? './' + relative((_a = opt === null || opt === void 0 ? void 0 : opt.cwd) !== null && _a !== void 0 ? _a : process.cwd(), path) : path);
|
|
9
9
|
};
|
|
10
10
|
export const formatByteSize = (input) => {
|
|
11
11
|
if (typeof input === 'string') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../../src/bin/utils/format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,WAAW,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,GAA0C,EAAE,EAAE;;IACnF,OAAO,KAAK,CAAC,UAAU,
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../../src/bin/utils/format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,WAAW,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,GAA0C,EAAE,EAAE;;IACnF,OAAO,KAAK,CAAC,UAAU,CACnB,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,QAAQ,EAAC,CAAC,CAAC,IAAI,GAAG,QAAQ,CAAC,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,GAAG,mCAAI,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAC1E,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAsB,EAAU,EAAE;IAC7D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;AAClD,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import fetch from 'node-fetch';
|
|
11
|
+
/**
|
|
12
|
+
* Retreive full endpoint URI to env in service-discovery
|
|
13
|
+
* @param endpoint <string> The endpoint to call in+ uri
|
|
14
|
+
* @param fusionEnv <FusionEnv> The Fusion env to get uri for
|
|
15
|
+
* @param service <string> Custom service uri to use insted of Fusion
|
|
16
|
+
* @param version <string> The version of the api to use
|
|
17
|
+
* @returns <string> The uri with endpoint
|
|
18
|
+
*/
|
|
19
|
+
export const getEndpointUrl = (endpoint_1, fusionEnv_1, service_1, ...args_1) => __awaiter(void 0, [endpoint_1, fusionEnv_1, service_1, ...args_1], void 0, function* (endpoint, fusionEnv, service, version = '1.0') {
|
|
20
|
+
const { CUSTOM_APPAPI, FUSION_CLI_ENV, FUSION_TOKEN } = process.env;
|
|
21
|
+
/* use consumer provided api url */
|
|
22
|
+
if (service || CUSTOM_APPAPI) {
|
|
23
|
+
return service !== null && service !== void 0 ? service : CUSTOM_APPAPI;
|
|
24
|
+
}
|
|
25
|
+
/* Env has changed get new api url */
|
|
26
|
+
if (FUSION_CLI_ENV !== fusionEnv || !process.env.FUSION_CLI_APPAPI) {
|
|
27
|
+
process.env.FUSION_CLI_ENV = fusionEnv;
|
|
28
|
+
const requestService = yield fetch(`https://discovery.fusion.equinor.com/service-registry/environments/${fusionEnv}/services/apps`, {
|
|
29
|
+
headers: {
|
|
30
|
+
Authorization: `Bearer ${FUSION_TOKEN}`,
|
|
31
|
+
},
|
|
32
|
+
});
|
|
33
|
+
if (requestService.status === 401) {
|
|
34
|
+
throw new Error(`The provided FUSION_TOKEN is not valid. Refresh your token and try again.`);
|
|
35
|
+
}
|
|
36
|
+
if (!requestService.ok) {
|
|
37
|
+
const response = yield requestService.json();
|
|
38
|
+
console.log(response);
|
|
39
|
+
throw new Error(`Failed getEndpointUrl from service-discovery. HTTP status: ${requestService.status} - ${requestService.statusText}`);
|
|
40
|
+
}
|
|
41
|
+
const responseService = (yield requestService.json());
|
|
42
|
+
process.env.FUSION_CLI_APPAPI = responseService.uri;
|
|
43
|
+
}
|
|
44
|
+
const uri = new URL(`${process.env.FUSION_CLI_APPAPI}/${endpoint}`);
|
|
45
|
+
uri.searchParams.set('api-version', version);
|
|
46
|
+
/* return fresh/cached endpoint url */
|
|
47
|
+
return uri.href;
|
|
48
|
+
});
|
|
49
|
+
//# sourceMappingURL=getEndpointUrl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getEndpointUrl.js","sourceRoot":"","sources":["../../../src/bin/utils/getEndpointUrl.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,gDAKX,EAAE,uFAJjB,QAAgB,EAChB,SAAoB,EACpB,OAAe,EACf,UAAkB,KAAK;IAEvB,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAEpE,mCAAmC;IACnC,IAAI,OAAO,IAAI,aAAa,EAAE,CAAC;QAC3B,OAAO,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,aAAa,CAAC;IACpC,CAAC;IAED,qCAAqC;IACrC,IAAI,cAAc,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,SAAS,CAAC;QAEvC,MAAM,cAAc,GAAG,MAAM,KAAK,CAC9B,sEAAsE,SAAS,gBAAgB,EAC/F;YACI,OAAO,EAAE;gBACL,aAAa,EAAE,UAAU,YAAY,EAAE;aAC1C;SACJ,CACJ,CAAC;QAEF,IAAI,cAAc,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CACX,2EAA2E,CAC9E,CAAC;QACN,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC;YACrB,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACtB,MAAM,IAAI,KAAK,CACX,8DAA8D,cAAc,CAAC,MAAM,MAAM,cAAc,CAAC,UAAU,EAAE,CACvH,CAAC;QACN,CAAC;QAED,MAAM,eAAe,GAAG,CAAC,MAAM,cAAc,CAAC,IAAI,EAAE,CAAoB,CAAC;QACzE,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,eAAe,CAAC,GAAG,CAAC;IACxD,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,QAAQ,EAAE,CAAC,CAAC;IACpE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAE7C,sCAAsC;IACtC,OAAO,GAAG,CAAC,IAAI,CAAC;AACpB,CAAC,CAAA,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export { getEndpointUrl } from './getEndpointUrl.js';
|
|
2
|
+
export { requireToken } from './requireToken.js';
|
|
3
|
+
export { isAppRegistered } from './isAppRegistered.js';
|
|
4
|
+
export { loadAppConfig } from './load-app-config.js';
|
|
5
|
+
export { loadAppManifest } from './load-manifest.js';
|
|
6
|
+
export { loadPackage } from './load-package.js';
|
|
7
|
+
export { loadViteConfig } from './load-vite-config.js';
|
|
8
|
+
export { formatPath, formatByteSize } from './format.js';
|
|
9
|
+
export { executeCommand } from './execute-command.js';
|
|
10
|
+
export { publishAppConfig } from './publishAppConfig.js';
|
|
11
|
+
export { tagAppBundle } from './tagAppBundle.js';
|
|
12
|
+
export { uploadAppBundle } from './uploadAppBundle.js';
|
|
13
|
+
export { Spinner } from './spinner.js';
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/bin/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Make sure the app is registerred in the app-service
|
|
12
|
+
* @param endpoint <string> The endpoint to make a call to
|
|
13
|
+
* @param appKey <string> The appkey to check for
|
|
14
|
+
* @returns response object as json
|
|
15
|
+
*/
|
|
16
|
+
export const isAppRegistered = (endpoint, appKey) => __awaiter(void 0, void 0, void 0, function* () {
|
|
17
|
+
const requestApp = yield fetch(endpoint, {
|
|
18
|
+
headers: {
|
|
19
|
+
Authorization: `Bearer ${process.env.FUSION_TOKEN}`,
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
if (requestApp.status === 404) {
|
|
23
|
+
throw new Error(`The appkey '${appKey}' is not registered, visit the app-admin app and register the application there.`);
|
|
24
|
+
}
|
|
25
|
+
if (!requestApp.ok) {
|
|
26
|
+
const response = yield requestApp.json();
|
|
27
|
+
console.log(response);
|
|
28
|
+
throw new Error(`Could not connect to apps-service. HTTP status ${requestApp.status}, ${requestApp.statusText}`);
|
|
29
|
+
}
|
|
30
|
+
return yield requestApp.json();
|
|
31
|
+
});
|
|
32
|
+
//# sourceMappingURL=isAppRegistered.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isAppRegistered.js","sourceRoot":"","sources":["../../../src/bin/utils/isAppRegistered.ts"],"names":[],"mappings":";;;;;;;;;AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAO,QAAgB,EAAE,MAAc,EAAE,EAAE;IACtE,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;QACrC,OAAO,EAAE;YACL,aAAa,EAAE,UAAU,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE;SACtD;KACJ,CAAC,CAAC;IAEH,IAAI,UAAU,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACX,eAAe,MAAM,kFAAkF,CAC1G,CAAC;IACN,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,IAAI,KAAK,CACX,kDAAkD,UAAU,CAAC,MAAM,KAAK,UAAU,CAAC,UAAU,EAAE,CAClG,CAAC;IACN,CAAC;IAED,OAAO,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;AACnC,CAAC,CAAA,CAAC"}
|
|
@@ -14,6 +14,7 @@ export const loadAppConfig = (env, pkg, options) => __awaiter(void 0, void 0, vo
|
|
|
14
14
|
const spinner = Spinner.Current;
|
|
15
15
|
try {
|
|
16
16
|
spinner.start('create application configuration');
|
|
17
|
+
spinner.info(`generating config with ${chalk.red.dim(env.command)} command in ${chalk.green.dim(env.mode)} mode`);
|
|
17
18
|
const baseAppConfig = createAppConfigFromPackage(pkg);
|
|
18
19
|
const appConfig = yield createAppConfig(env, baseAppConfig, { file: options === null || options === void 0 ? void 0 : options.file });
|
|
19
20
|
spinner.succeed();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-app-config.js","sourceRoot":"","sources":["../../../src/bin/utils/load-app-config.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAItF,MAAM,CAAC,MAAM,aAAa,GAAG,CACzB,GAAsB,EACtB,GAAuB,EACvB,OAEC,EACH,EAAE;IACA,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,IAAI,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAClD,MAAM,aAAa,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAE,CAAC,CAAC;QACrF,OAAO,CAAC,OAAO,EAAE,CAAC;QAClB,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,CACR,0BAA0B,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,CAC7E,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC,CAAC;QACnF,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CACR,wCACI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAC,CAAC,CAAC,UAAU,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAChD,EAAE,CACL,CAAC;QACF,MAAM,GAAG,CAAC;IACd,CAAC;AACL,CAAC,CAAA,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"load-app-config.js","sourceRoot":"","sources":["../../../src/bin/utils/load-app-config.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAItF,MAAM,CAAC,MAAM,aAAa,GAAG,CACzB,GAAsB,EACtB,GAAuB,EACvB,OAEC,EACH,EAAE;IACA,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,IAAI,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAClD,OAAO,CAAC,IAAI,CACR,0BAA0B,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CACtG,CAAC;QACF,MAAM,aAAa,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAE,CAAC,CAAC;QACrF,OAAO,CAAC,OAAO,EAAE,CAAC;QAClB,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,CACR,0BAA0B,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,CAC7E,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC,CAAC;QACnF,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CACR,wCACI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAC,CAAC,CAAC,UAAU,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAChD,EAAE,CACL,CAAC;QACF,MAAM,GAAG,CAAC;IACd,CAAC;AACL,CAAC,CAAA,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -11,18 +11,23 @@ import { Spinner } from './spinner.js';
|
|
|
11
11
|
import { formatPath, chalk } from './format.js';
|
|
12
12
|
import { createManifest, createManifestFromPackage } from '../../lib/app-manifest.js';
|
|
13
13
|
export const loadAppManifest = (env, pkg, options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
14
|
-
const spinner = Spinner.
|
|
14
|
+
const spinner = Spinner.Clone();
|
|
15
15
|
try {
|
|
16
16
|
spinner.start('create application manifest');
|
|
17
17
|
const baseManifest = yield createManifestFromPackage(pkg);
|
|
18
18
|
spinner.info('created application manifest from package.json');
|
|
19
|
+
// TODO - this need to come from the config
|
|
20
|
+
if (env.command !== 'serve') {
|
|
21
|
+
baseManifest.build.entryPoint =
|
|
22
|
+
pkg.packageJson.type === 'module' ? 'app-bundle.js' : 'app-bundle.mjs';
|
|
23
|
+
}
|
|
24
|
+
spinner.info(`generating manifest with ${chalk.red.dim(env.command)} command in ${chalk.green.dim(env.mode)} mode`);
|
|
19
25
|
const manifest = yield createManifest(env, baseManifest, { file: options === null || options === void 0 ? void 0 : options.file });
|
|
20
|
-
spinner.succeed();
|
|
21
26
|
if (manifest.path) {
|
|
22
|
-
spinner.
|
|
27
|
+
spinner.succeed(`Created manifest from ${formatPath(manifest.path, { relative: true })}`);
|
|
23
28
|
}
|
|
24
29
|
else {
|
|
25
|
-
spinner.
|
|
30
|
+
spinner.succeed(chalk.dim('no local manifest config applied, using default generated'));
|
|
26
31
|
}
|
|
27
32
|
return manifest;
|
|
28
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-manifest.js","sourceRoot":"","sources":["../../../src/bin/utils/load-manifest.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"load-manifest.js","sourceRoot":"","sources":["../../../src/bin/utils/load-manifest.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAOtF,MAAM,CAAC,MAAM,eAAe,GAAG,CAC3B,GAAsB,EACtB,GAAuB,EACvB,OAEC,EACgD,EAAE;IACnD,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAChC,IAAI,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAC7C,MAAM,YAAY,GAAG,MAAM,yBAAyB,CAAC,GAAG,CAAC,CAAC;QAC1D,OAAO,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;QAE/D,2CAA2C;QAC3C,IAAI,GAAG,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YAC1B,YAAY,CAAC,KAAM,CAAC,UAAU;gBAC1B,GAAG,CAAC,WAAW,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAAC;QAC/E,CAAC;QAED,OAAO,CAAC,IAAI,CACR,4BAA4B,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CACxG,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAE,CAAC,CAAC;QAElF,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAChB,OAAO,CAAC,OAAO,CACX,yBAAyB,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,CAC3E,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC,CAAC;QAC5F,CAAC;QAED,OAAO,QAAQ,CAAC;IACpB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CACR,8BAA8B,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAC,CAAC,CAAC,UAAU,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CACjF,CAAC;QACF,MAAM,GAAG,CAAC;IACd,CAAC;AACL,CAAC,CAAA,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Spinner } from './spinner.js';
|
|
2
|
+
import { formatPath, chalk } from './format.js';
|
|
3
|
+
/**
|
|
4
|
+
* Logs the status of a proxy request using a spinner.
|
|
5
|
+
*
|
|
6
|
+
* @param proxyReq - The proxy request to log.
|
|
7
|
+
*
|
|
8
|
+
* The function attaches event listeners to the proxy request to handle
|
|
9
|
+
* 'response' and 'error' events. It uses a spinner to indicate the status
|
|
10
|
+
* of the request:
|
|
11
|
+
* - On a successful response (status code < 400), the spinner succeeds.
|
|
12
|
+
* - On a response with a status code >= 400, the spinner warns with the status message.
|
|
13
|
+
* - On an error, the spinner fails.
|
|
14
|
+
*/
|
|
15
|
+
export const proxyRequestLogger = (proxyReq) => {
|
|
16
|
+
const spinner = Spinner.Clone();
|
|
17
|
+
spinner.ora.suffixText = formatPath([proxyReq.protocol, '//', proxyReq.host, proxyReq.path].join(''));
|
|
18
|
+
spinner.start('proxy request');
|
|
19
|
+
proxyReq.on('response', (res) => {
|
|
20
|
+
var _a;
|
|
21
|
+
if (Number(res.statusCode) < 400) {
|
|
22
|
+
spinner.succeed();
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
spinner.warn(chalk.yellow((_a = res.statusMessage) !== null && _a !== void 0 ? _a : `${res.statusCode} `));
|
|
26
|
+
}
|
|
27
|
+
spinner.stop();
|
|
28
|
+
});
|
|
29
|
+
proxyReq.on('error', () => {
|
|
30
|
+
spinner.fail();
|
|
31
|
+
});
|
|
32
|
+
};
|
|
33
|
+
export default proxyRequestLogger;
|
|
34
|
+
//# sourceMappingURL=proxy-request-logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proxy-request-logger.js","sourceRoot":"","sources":["../../../src/bin/utils/proxy-request-logger.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEhD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,QAAuB,EAAE,EAAE;IAC1D,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,UAAU,CAC/B,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CACnE,CAAC;IACF,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC/B,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE;;QAC5B,IAAI,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,GAAG,EAAE,CAAC;YAC/B,OAAO,CAAC,OAAO,EAAE,CAAC;QACtB,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAA,GAAG,CAAC,aAAa,mCAAI,GAAG,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QAC1E,CAAC;QACD,OAAO,CAAC,IAAI,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QACtB,OAAO,CAAC,IAAI,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|