@equinor/fusion-framework-cli 10.7.2 → 10.7.3
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 +6 -0
- package/dist/bin/build-application.js +11 -21
- package/dist/bin/build-application.js.map +1 -1
- package/dist/bin/bundle-application.js +5 -14
- package/dist/bin/bundle-application.js.map +1 -1
- package/dist/bin/create-dev-serve.js +18 -28
- package/dist/bin/create-dev-serve.js.map +1 -1
- package/dist/bin/create-export-config.js +5 -15
- package/dist/bin/create-export-config.js.map +1 -1
- package/dist/bin/create-export-manifest.js +20 -30
- package/dist/bin/create-export-manifest.js.map +1 -1
- package/dist/bin/dev-portal/AppLoader.js +6 -4
- package/dist/bin/dev-portal/AppLoader.js.map +1 -1
- package/dist/bin/dev-portal/BookMarkSideSheet.js +1 -1
- package/dist/bin/dev-portal/BookMarkSideSheet.js.map +1 -1
- package/dist/bin/dev-portal/ContextSelector/ContextSelector.js +1 -2
- package/dist/bin/dev-portal/ContextSelector/ContextSelector.js.map +1 -1
- package/dist/bin/dev-portal/ContextSelector/useContextResolver.js +17 -21
- package/dist/bin/dev-portal/ContextSelector/useContextResolver.js.map +1 -1
- package/dist/bin/dev-portal/FusionLogo.js +1 -1
- package/dist/bin/dev-portal/FusionLogo.js.map +1 -1
- package/dist/bin/dev-portal/Header.js +3 -4
- package/dist/bin/dev-portal/Header.js.map +1 -1
- package/dist/bin/dev-portal/PersonSideSheet/index.js +1 -1
- package/dist/bin/dev-portal/PersonSideSheet/index.js.map +1 -1
- package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerApp.js +2 -3
- package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerApp.js.map +1 -1
- package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerPortal.js +1 -4
- package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerPortal.js.map +1 -1
- package/dist/bin/dev-portal/config.js +5 -14
- package/dist/bin/dev-portal/config.js.map +1 -1
- package/dist/bin/dev-portal/useAppContextNavigation.js +12 -10
- package/dist/bin/dev-portal/useAppContextNavigation.js.map +1 -1
- package/dist/bin/main.app.js +15 -26
- package/dist/bin/main.app.js.map +1 -1
- package/dist/bin/public/assets/index-Putwox-V.js +3683 -0
- package/dist/bin/public/index.html +1 -1
- package/dist/bin/publish-application.js +12 -21
- package/dist/bin/publish-application.js.map +1 -1
- package/dist/bin/tag-application.js +8 -17
- package/dist/bin/tag-application.js.map +1 -1
- package/dist/bin/upload-application.js +8 -17
- package/dist/bin/upload-application.js.map +1 -1
- package/dist/bin/upload-export-config.js +8 -17
- package/dist/bin/upload-export-config.js.map +1 -1
- package/dist/bin/utils/execute-command.js +4 -13
- package/dist/bin/utils/execute-command.js.map +1 -1
- package/dist/bin/utils/format.js +1 -2
- package/dist/bin/utils/format.js.map +1 -1
- package/dist/bin/utils/getEndpointUrl.js +6 -15
- package/dist/bin/utils/getEndpointUrl.js.map +1 -1
- package/dist/bin/utils/isAppRegistered.js +4 -13
- package/dist/bin/utils/isAppRegistered.js.map +1 -1
- package/dist/bin/utils/load-app-config.js +4 -13
- package/dist/bin/utils/load-app-config.js.map +1 -1
- package/dist/bin/utils/load-manifest.js +5 -14
- package/dist/bin/utils/load-manifest.js.map +1 -1
- package/dist/bin/utils/load-package.js +7 -13
- package/dist/bin/utils/load-package.js.map +1 -1
- package/dist/bin/utils/load-vite-config.js +10 -19
- package/dist/bin/utils/load-vite-config.js.map +1 -1
- package/dist/bin/utils/proxy-request-logger.js +1 -2
- package/dist/bin/utils/proxy-request-logger.js.map +1 -1
- package/dist/bin/utils/publishAppConfig.js +4 -13
- package/dist/bin/utils/publishAppConfig.js.map +1 -1
- package/dist/bin/utils/requireToken.js +1 -2
- package/dist/bin/utils/requireToken.js.map +1 -1
- package/dist/bin/utils/spinner.js +12 -25
- package/dist/bin/utils/spinner.js.map +1 -1
- package/dist/bin/utils/tagAppBundle.js +4 -13
- package/dist/bin/utils/tagAppBundle.js.map +1 -1
- package/dist/bin/utils/uploadAppBundle.js +5 -14
- package/dist/bin/utils/uploadAppBundle.js.map +1 -1
- package/dist/lib/app-config.js +10 -20
- package/dist/lib/app-config.js.map +1 -1
- package/dist/lib/app-manifest.js +14 -24
- package/dist/lib/app-manifest.js.map +1 -1
- package/dist/lib/app-package.js +3 -12
- package/dist/lib/app-package.js.map +1 -1
- package/dist/lib/plugins/app-assets/app-asset-plugin.js +35 -41
- package/dist/lib/plugins/app-assets/app-asset-plugin.js.map +1 -1
- package/dist/lib/plugins/app-assets/resolve-asset-id.js +3 -12
- package/dist/lib/plugins/app-assets/resolve-asset-id.js.map +1 -1
- package/dist/lib/plugins/app-proxy/app-proxy-plugin.js +15 -29
- package/dist/lib/plugins/app-proxy/app-proxy-plugin.js.map +1 -1
- package/dist/lib/plugins/app-settings/index.js +6 -17
- package/dist/lib/plugins/app-settings/index.js.map +1 -1
- package/dist/lib/plugins/external-public/external-public-plugin.js +20 -22
- package/dist/lib/plugins/external-public/external-public-plugin.js.map +1 -1
- package/dist/lib/plugins/help-proxy/help-proxy-plugin.js +4 -15
- package/dist/lib/plugins/help-proxy/help-proxy-plugin.js.map +1 -1
- package/dist/lib/utils/assert.js +4 -5
- package/dist/lib/utils/assert.js.map +1 -1
- package/dist/lib/utils/config.js +18 -35
- package/dist/lib/utils/config.js.map +1 -1
- package/dist/lib/utils/file-exists.js +5 -14
- package/dist/lib/utils/file-exists.js.map +1 -1
- package/dist/lib/utils/parse-json-request.js +6 -17
- package/dist/lib/utils/parse-json-request.js.map +1 -1
- package/dist/lib/utils/ts-transpile.js +14 -20
- package/dist/lib/utils/ts-transpile.js.map +1 -1
- package/dist/lib/vite-config.js +16 -28
- package/dist/lib/vite-config.js.map +1 -1
- package/dist/lib/vite-logger.js +1 -1
- package/dist/lib/vite-logger.js.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +14 -14
- package/dist/bin/public/assets/index-QigocmfE.js +0 -3614
|
@@ -1,20 +1,11 @@
|
|
|
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
1
|
import { Spinner } from './spinner.js';
|
|
11
2
|
import { formatPath, chalk } from './format.js';
|
|
12
3
|
import { createManifest, createManifestFromPackage } from '../../lib/app-manifest.js';
|
|
13
|
-
export const loadAppManifest = (env, pkg, options) =>
|
|
4
|
+
export const loadAppManifest = async (env, pkg, options) => {
|
|
14
5
|
const spinner = Spinner.Clone();
|
|
15
6
|
try {
|
|
16
7
|
spinner.start('create application manifest');
|
|
17
|
-
const baseManifest =
|
|
8
|
+
const baseManifest = await createManifestFromPackage(pkg);
|
|
18
9
|
spinner.info('created application manifest from package.json');
|
|
19
10
|
// TODO - this need to come from the config
|
|
20
11
|
if (env.command !== 'serve') {
|
|
@@ -22,7 +13,7 @@ export const loadAppManifest = (env, pkg, options) => __awaiter(void 0, void 0,
|
|
|
22
13
|
pkg.packageJson.type === 'module' ? 'app-bundle.js' : 'app-bundle.mjs';
|
|
23
14
|
}
|
|
24
15
|
spinner.info(`generating manifest with ${chalk.red.dim(env.command)} command in ${chalk.green.dim(env.mode)} mode`);
|
|
25
|
-
const manifest =
|
|
16
|
+
const manifest = await createManifest(env, baseManifest, { file: options?.file });
|
|
26
17
|
if (manifest.path) {
|
|
27
18
|
spinner.succeed(`Created manifest from ${formatPath(manifest.path, { relative: true })}`);
|
|
28
19
|
}
|
|
@@ -32,9 +23,9 @@ export const loadAppManifest = (env, pkg, options) => __awaiter(void 0, void 0,
|
|
|
32
23
|
return manifest;
|
|
33
24
|
}
|
|
34
25
|
catch (err) {
|
|
35
|
-
spinner.fail(`failed to resolve manifest ${
|
|
26
|
+
spinner.fail(`failed to resolve manifest ${options?.file ? formatPath(options?.file) : ''}`);
|
|
36
27
|
throw err;
|
|
37
28
|
}
|
|
38
|
-
}
|
|
29
|
+
};
|
|
39
30
|
export default loadAppManifest;
|
|
40
31
|
//# sourceMappingURL=load-manifest.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-manifest.js","sourceRoot":"","sources":["../../../src/bin/utils/load-manifest.ts"],"names":[],"mappings":"
|
|
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,KAAK,EAClC,GAAsB,EACtB,GAAuB,EACvB,OAEC,EACkD,EAAE;IACrD,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAChC,IAAI,CAAC;QACH,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;YAC5B,YAAY,CAAC,KAAM,CAAC,UAAU;gBAC5B,GAAG,CAAC,WAAW,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAAC;QAC3E,CAAC;QAED,OAAO,CAAC,IAAI,CACV,4BAA4B,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CACtG,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAElF,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAClB,OAAO,CAAC,OAAO,CAAC,yBAAyB,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QAC5F,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC,CAAC;QAC1F,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,8BAA8B,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7F,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -1,24 +1,18 @@
|
|
|
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
1
|
import { dirname } from 'node:path';
|
|
11
2
|
import { Spinner } from './spinner.js';
|
|
12
3
|
import { resolveAppPackage } from '../../lib/app-package.js';
|
|
13
4
|
import { chalk } from './format.js';
|
|
14
|
-
export const loadPackage = () =>
|
|
5
|
+
export const loadPackage = async () => {
|
|
15
6
|
const spinner = Spinner.Current;
|
|
16
7
|
spinner.start('resolve application package');
|
|
17
|
-
const pkg =
|
|
8
|
+
const pkg = await resolveAppPackage();
|
|
18
9
|
spinner.succeed();
|
|
19
10
|
spinner.info('📦', chalk.yellowBright([pkg.packageJson.name, pkg.packageJson.version].join('@')));
|
|
20
11
|
const packageDirname = dirname(pkg.path);
|
|
21
12
|
spinner.info(`🏠 ${chalk.blueBright(packageDirname)}`);
|
|
22
|
-
return
|
|
23
|
-
|
|
13
|
+
return {
|
|
14
|
+
...pkg,
|
|
15
|
+
root: packageDirname,
|
|
16
|
+
};
|
|
17
|
+
};
|
|
24
18
|
//# sourceMappingURL=load-package.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-package.js","sourceRoot":"","sources":["../../../src/bin/utils/load-package.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"load-package.js","sourceRoot":"","sources":["../../../src/bin/utils/load-package.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;IACpC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAC7C,MAAM,GAAG,GAAG,MAAM,iBAAiB,EAAE,CAAC;IACtC,OAAO,CAAC,OAAO,EAAE,CAAC;IAElB,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAElG,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACzC,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IAEvD,OAAO;QACL,GAAG,GAAG;QACN,IAAI,EAAE,cAAc;KACrB,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,32 +1,23 @@
|
|
|
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
1
|
import { AssertionError } from 'node:assert';
|
|
11
2
|
import { Spinner } from './spinner.js';
|
|
12
3
|
import { formatPath, chalk } from './format.js';
|
|
13
4
|
import { createAppViteConfig, createViteConfig } from '../../lib/vite-config.js';
|
|
14
5
|
import { mergeConfig } from 'vite';
|
|
15
|
-
export const loadViteConfig = (env, options) =>
|
|
6
|
+
export const loadViteConfig = async (env, options) => {
|
|
16
7
|
const spinner = Spinner.Current;
|
|
17
8
|
try {
|
|
18
9
|
spinner.start('load local vite configuration');
|
|
19
|
-
const appViteConfig =
|
|
20
|
-
file: options
|
|
10
|
+
const appViteConfig = await createAppViteConfig(env, {
|
|
11
|
+
file: options?.file,
|
|
21
12
|
});
|
|
22
13
|
spinner.succeed();
|
|
23
|
-
if (appViteConfig
|
|
14
|
+
if (appViteConfig?.path) {
|
|
24
15
|
spinner.info(`🛠️ ${formatPath(appViteConfig.path, { relative: true })}`);
|
|
25
16
|
}
|
|
26
|
-
else if (options
|
|
27
|
-
spinner.fail(`failed to load vite config from ${formatPath(options
|
|
17
|
+
else if (options?.file) {
|
|
18
|
+
spinner.fail(`failed to load vite config from ${formatPath(options?.file)}`);
|
|
28
19
|
throw new AssertionError({
|
|
29
|
-
message: `Expected to load config from ${formatPath(options
|
|
20
|
+
message: `Expected to load config from ${formatPath(options?.file)}`,
|
|
30
21
|
expected: '<UserConfig>',
|
|
31
22
|
});
|
|
32
23
|
}
|
|
@@ -34,9 +25,9 @@ export const loadViteConfig = (env, options) => __awaiter(void 0, void 0, void 0
|
|
|
34
25
|
spinner.info(chalk.dim(`no local vite config applied, using built-in see ${formatPath('https://vitejs.dev/config/')}`));
|
|
35
26
|
}
|
|
36
27
|
spinner.start('create vite configuration');
|
|
37
|
-
const viteConfig =
|
|
28
|
+
const viteConfig = await createViteConfig(env);
|
|
38
29
|
spinner.succeed();
|
|
39
|
-
if (appViteConfig
|
|
30
|
+
if (appViteConfig?.config) {
|
|
40
31
|
return {
|
|
41
32
|
viteConfig: mergeConfig(viteConfig, appViteConfig.config),
|
|
42
33
|
path: appViteConfig.path,
|
|
@@ -50,5 +41,5 @@ export const loadViteConfig = (env, options) => __awaiter(void 0, void 0, void 0
|
|
|
50
41
|
spinner.fail();
|
|
51
42
|
throw err;
|
|
52
43
|
}
|
|
53
|
-
}
|
|
44
|
+
};
|
|
54
45
|
//# sourceMappingURL=load-vite-config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-vite-config.js","sourceRoot":"","sources":["../../../src/bin/utils/load-vite-config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"load-vite-config.js","sourceRoot":"","sources":["../../../src/bin/utils/load-vite-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjF,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAEnC,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EACjC,GAAsB,EACtB,OAEC,EACD,EAAE;IACF,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,IAAI,CAAC;QACH,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAC/C,MAAM,aAAa,GAAG,MAAM,mBAAmB,CAAC,GAAG,EAAE;YACnD,IAAI,EAAE,OAAO,EAAE,IAAI;SACpB,CAAC,CAAC;QACH,OAAO,CAAC,OAAO,EAAE,CAAC;QAClB,IAAI,aAAa,EAAE,IAAI,EAAE,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QAC5E,CAAC;aAAM,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC,mCAAmC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YAC7E,MAAM,IAAI,cAAc,CAAC;gBACvB,OAAO,EAAE,gCAAgC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;gBACpE,QAAQ,EAAE,cAAc;aACzB,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CACV,KAAK,CAAC,GAAG,CACP,oDAAoD,UAAU,CAC5D,4BAA4B,CAC7B,EAAE,CACJ,CACF,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC/C,OAAO,CAAC,OAAO,EAAE,CAAC;QAElB,IAAI,aAAa,EAAE,MAAM,EAAE,CAAC;YAC1B,OAAO;gBACL,UAAU,EAAE,WAAW,CAAC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC;gBACzD,IAAI,EAAE,aAAa,CAAC,IAAI;aACzB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,EAAE,UAAU,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -17,12 +17,11 @@ export const proxyRequestLogger = (proxyReq) => {
|
|
|
17
17
|
spinner.ora.suffixText = formatPath([proxyReq.protocol, '//', proxyReq.host, proxyReq.path].join(''));
|
|
18
18
|
spinner.start('proxy request');
|
|
19
19
|
proxyReq.on('response', (res) => {
|
|
20
|
-
var _a;
|
|
21
20
|
if (Number(res.statusCode) < 400) {
|
|
22
21
|
spinner.succeed();
|
|
23
22
|
}
|
|
24
23
|
else {
|
|
25
|
-
spinner.warn(chalk.yellow(
|
|
24
|
+
spinner.warn(chalk.yellow(res.statusMessage ?? `${res.statusCode} `));
|
|
26
25
|
}
|
|
27
26
|
spinner.stop();
|
|
28
27
|
});
|
|
@@ -1 +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;IAC5D,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,UAAU,CACjC,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CACjE,CAAC;IACF,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC/B,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE
|
|
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;IAC5D,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,UAAU,CACjC,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CACjE,CAAC;IACF,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC/B,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE;QAC9B,IAAI,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,GAAG,EAAE,CAAC;YACjC,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,IAAI,GAAG,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,CAAC,IAAI,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QACxB,OAAO,CAAC,IAAI,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -1,12 +1,3 @@
|
|
|
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
1
|
/**
|
|
11
2
|
* Publishes app config to the apps-service endpoint
|
|
12
3
|
* @param endpoint string The endpoint to upload to
|
|
@@ -14,8 +5,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
14
5
|
* @param config Object with app config
|
|
15
6
|
* @returns HTTP response as json
|
|
16
7
|
*/
|
|
17
|
-
export const publishAppConfig = (endpoint, appKey, config) =>
|
|
18
|
-
const requestConfig =
|
|
8
|
+
export const publishAppConfig = async (endpoint, appKey, config) => {
|
|
9
|
+
const requestConfig = await fetch(endpoint, {
|
|
19
10
|
method: 'PUT',
|
|
20
11
|
body: JSON.stringify(config),
|
|
21
12
|
headers: {
|
|
@@ -29,10 +20,10 @@ export const publishAppConfig = (endpoint, appKey, config) => __awaiter(void 0,
|
|
|
29
20
|
}
|
|
30
21
|
// if the request is not ok or the status is 400 or higher, throw an error
|
|
31
22
|
if (!requestConfig.ok || requestConfig.status >= 400) {
|
|
32
|
-
const response =
|
|
23
|
+
const response = await requestConfig.json();
|
|
33
24
|
console.error(response);
|
|
34
25
|
throw new Error(`Failed to upload config. HTTP status ${requestConfig.status}, ${requestConfig.statusText}`);
|
|
35
26
|
}
|
|
36
27
|
return requestConfig.json();
|
|
37
|
-
}
|
|
28
|
+
};
|
|
38
29
|
//# sourceMappingURL=publishAppConfig.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publishAppConfig.js","sourceRoot":"","sources":["../../../src/bin/utils/publishAppConfig.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"publishAppConfig.js","sourceRoot":"","sources":["../../../src/bin/utils/publishAppConfig.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,QAAgB,EAAE,MAAc,EAAE,MAAoB,EAAE,EAAE;IAC/F,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;QAC1C,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAC5B,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE;YACnD,cAAc,EAAE,kBAAkB;SACnC;KACF,CAAC,CAAC;IAEH,6DAA6D;IAC7D,IAAI,aAAa,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACb,OAAO,MAAM,8CAA8C,aAAa,CAAC,MAAM,KAAK,aAAa,CAAC,UAAU,EAAE,CAC/G,CAAC;IACJ,CAAC;IAED,0EAA0E;IAC1E,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,aAAa,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;QACrD,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;QAC5C,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,wCAAwC,aAAa,CAAC,MAAM,KAAK,aAAa,CAAC,UAAU,EAAE,CAC5F,CAAC;IACJ,CAAC;IAED,OAAO,aAAa,CAAC,IAAI,EAAE,CAAC;AAC9B,CAAC,CAAC"}
|
|
@@ -2,8 +2,7 @@
|
|
|
2
2
|
* Make sure the user has a valid azure token.
|
|
3
3
|
*/
|
|
4
4
|
export const requireToken = () => {
|
|
5
|
-
|
|
6
|
-
if (!((_a = process === null || process === void 0 ? void 0 : process.env) === null || _a === void 0 ? void 0 : _a.FUSION_TOKEN)) {
|
|
5
|
+
if (!process?.env?.FUSION_TOKEN) {
|
|
7
6
|
throw new Error('Missing required environment variable FUSION_TOKEN. Please set it before running this command.');
|
|
8
7
|
}
|
|
9
8
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requireToken.js","sourceRoot":"","sources":["../../../src/bin/utils/requireToken.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE
|
|
1
|
+
{"version":3,"file":"requireToken.js","sourceRoot":"","sources":["../../../src/bin/utils/requireToken.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CACb,gGAAgG,CACjG,CAAC;IACJ,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -1,21 +1,10 @@
|
|
|
1
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
2
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
3
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
4
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
|
-
};
|
|
6
|
-
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
7
|
-
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
8
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
9
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
10
|
-
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
11
|
-
};
|
|
12
|
-
var _Spinner_ora;
|
|
13
1
|
import ora from 'ora';
|
|
14
2
|
const parseArgs = (args) => args.length ? args.join(' ') : undefined;
|
|
15
3
|
const originalConsole = console;
|
|
16
4
|
export class Spinner {
|
|
5
|
+
#ora;
|
|
17
6
|
get ora() {
|
|
18
|
-
return
|
|
7
|
+
return this.#ora;
|
|
19
8
|
}
|
|
20
9
|
set attachConsole(value) {
|
|
21
10
|
if (value) {
|
|
@@ -42,37 +31,35 @@ export class Spinner {
|
|
|
42
31
|
_spinner = spinner;
|
|
43
32
|
}
|
|
44
33
|
constructor(options) {
|
|
45
|
-
|
|
46
|
-
__classPrivateFieldSet(this, _Spinner_ora, ora(options), "f");
|
|
34
|
+
this.#ora = ora(options);
|
|
47
35
|
}
|
|
48
36
|
get prefixText() {
|
|
49
|
-
return
|
|
37
|
+
return this.#ora.prefixText;
|
|
50
38
|
}
|
|
51
39
|
info(...args) {
|
|
52
|
-
|
|
40
|
+
this.#ora.info(parseArgs(args));
|
|
53
41
|
}
|
|
54
42
|
succeed(...args) {
|
|
55
|
-
|
|
43
|
+
this.#ora.succeed(parseArgs(args));
|
|
56
44
|
}
|
|
57
45
|
start(...args) {
|
|
58
|
-
|
|
46
|
+
this.#ora.start(parseArgs(args));
|
|
59
47
|
}
|
|
60
48
|
fail(...args) {
|
|
61
|
-
|
|
49
|
+
this.#ora.fail(parseArgs(args));
|
|
62
50
|
}
|
|
63
51
|
warn(...args) {
|
|
64
|
-
|
|
52
|
+
this.#ora.warn(parseArgs(args));
|
|
65
53
|
}
|
|
66
54
|
clear() {
|
|
67
|
-
|
|
55
|
+
this.#ora.clear();
|
|
68
56
|
}
|
|
69
57
|
stop() {
|
|
70
|
-
|
|
58
|
+
this.#ora.stop();
|
|
71
59
|
}
|
|
72
60
|
stopAndPersist(...args) {
|
|
73
|
-
|
|
61
|
+
this.#ora.stopAndPersist(...args);
|
|
74
62
|
}
|
|
75
63
|
}
|
|
76
|
-
_Spinner_ora = new WeakMap();
|
|
77
64
|
let _spinner = new Spinner();
|
|
78
65
|
//# sourceMappingURL=spinner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spinner.js","sourceRoot":"","sources":["../../../src/bin/utils/spinner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"spinner.js","sourceRoot":"","sources":["../../../src/bin/utils/spinner.ts"],"names":[],"mappings":"AAAA,OAAO,GAA+B,MAAM,KAAK,CAAC;AAElD,MAAM,SAAS,GAAG,CAAC,IAAc,EAAsB,EAAE,CACvD,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAE3C,MAAM,eAAe,GAAG,OAAO,CAAC;AAEhC,MAAM,OAAO,OAAO;IAClB,IAAI,CAAM;IAEV,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,aAAa,CAAC,KAAc;QAC9B,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,mDAAmD;YACnD,OAAO,GAAG,eAAe,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,OAAiB;QAC7B,QAAQ,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;QAChC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAiB;QAC5B,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,IAAI,QAAQ,CAAC;QAC3C,OAAO,IAAI,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,KAAK,OAAO;QAChB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,KAAK,OAAO,CAAC,OAAgB;QACjC,QAAQ,GAAG,OAAO,CAAC;IACrB,CAAC;IAED,YAAY,OAAiB;QAC3B,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;IAC9B,CAAC;IACD,IAAI,CAAC,GAAG,IAAc;QACpB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,CAAC,GAAG,IAAc;QACvB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACrC,CAAC;IACD,KAAK,CAAC,GAAG,IAAc;QACrB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACnC,CAAC;IACD,IAAI,CAAC,GAAG,IAAc;QACpB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAClC,CAAC;IACD,IAAI,CAAC,GAAG,IAAc;QACpB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAClC,CAAC;IACD,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;IACD,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACnB,CAAC;IACD,cAAc,CAAC,GAAG,IAAuC;QACvD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,CAAC;IACpC,CAAC;CACF;AAED,IAAI,QAAQ,GAAG,IAAI,OAAO,EAAE,CAAC"}
|
|
@@ -1,20 +1,11 @@
|
|
|
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
1
|
/**
|
|
11
2
|
* Send request to apps-service to tag a bundle.
|
|
12
3
|
* @param endpoint string The endpoint to send request to.
|
|
13
4
|
* @param version string The version to tag the bundle with.
|
|
14
5
|
* @returns Response object as json.
|
|
15
6
|
*/
|
|
16
|
-
export const tagAppBundle = (endpoint, version) =>
|
|
17
|
-
const requestTag =
|
|
7
|
+
export const tagAppBundle = async (endpoint, version) => {
|
|
8
|
+
const requestTag = await fetch(endpoint, {
|
|
18
9
|
method: 'PUT',
|
|
19
10
|
body: JSON.stringify({ version }),
|
|
20
11
|
headers: {
|
|
@@ -26,10 +17,10 @@ export const tagAppBundle = (endpoint, version) => __awaiter(void 0, void 0, voi
|
|
|
26
17
|
throw new Error(`Failed to tag bundle, make sure version ${version} exist. HTTP status ${requestTag.status} - ${requestTag.statusText}`);
|
|
27
18
|
}
|
|
28
19
|
if (requestTag.status !== 200) {
|
|
29
|
-
const response =
|
|
20
|
+
const response = await requestTag.json();
|
|
30
21
|
console.error(response);
|
|
31
22
|
throw new Error(`Failed to tag bundle. HTTP status ${requestTag.status}, ${requestTag.statusText}`);
|
|
32
23
|
}
|
|
33
24
|
return requestTag.json();
|
|
34
|
-
}
|
|
25
|
+
};
|
|
35
26
|
//# sourceMappingURL=tagAppBundle.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tagAppBundle.js","sourceRoot":"","sources":["../../../src/bin/utils/tagAppBundle.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tagAppBundle.js","sourceRoot":"","sources":["../../../src/bin/utils/tagAppBundle.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,QAAgB,EAAE,OAAe,EAAE,EAAE;IACtE,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;QACvC,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;QACjC,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE;YACnD,cAAc,EAAE,kBAAkB;SACnC;KACF,CAAC,CAAC;IAEH,IAAI,UAAU,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CACb,2CAA2C,OAAO,uBAAuB,UAAU,CAAC,MAAM,MAAM,UAAU,CAAC,UAAU,EAAE,CACxH,CAAC;IACJ,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;QACzC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,qCAAqC,UAAU,CAAC,MAAM,KAAK,UAAU,CAAC,UAAU,EAAE,CACnF,CAAC;IACJ,CAAC;IAED,OAAO,UAAU,CAAC,IAAI,EAAE,CAAC;AAC3B,CAAC,CAAC"}
|
|
@@ -1,12 +1,3 @@
|
|
|
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
1
|
import { readFileSync } from 'node:fs';
|
|
11
2
|
/**
|
|
12
3
|
* Function that uploads a zip bundle to the endpoint.
|
|
@@ -14,17 +5,17 @@ import { readFileSync } from 'node:fs';
|
|
|
14
5
|
* @param bundle string The filename to upload
|
|
15
6
|
* @returns Object
|
|
16
7
|
*/
|
|
17
|
-
export const uploadAppBundle = (endpoint, bundle) =>
|
|
8
|
+
export const uploadAppBundle = async (endpoint, bundle) => {
|
|
18
9
|
const state = {
|
|
19
10
|
buffer: null,
|
|
20
11
|
};
|
|
21
12
|
try {
|
|
22
13
|
state.buffer = readFileSync(bundle);
|
|
23
14
|
}
|
|
24
|
-
catch
|
|
15
|
+
catch {
|
|
25
16
|
throw new Error(`😞 Could not read bundle ${bundle}, does it exist?`);
|
|
26
17
|
}
|
|
27
|
-
const requestBundle =
|
|
18
|
+
const requestBundle = await fetch(endpoint, {
|
|
28
19
|
method: 'POST',
|
|
29
20
|
body: state.buffer,
|
|
30
21
|
headers: {
|
|
@@ -45,10 +36,10 @@ export const uploadAppBundle = (endpoint, bundle) => __awaiter(void 0, void 0, v
|
|
|
45
36
|
throw new Error(`This app is deleted. HTTP message: ${requestBundle.statusText}`);
|
|
46
37
|
}
|
|
47
38
|
if (!requestBundle.ok) {
|
|
48
|
-
const json =
|
|
39
|
+
const json = await requestBundle.json();
|
|
49
40
|
console.error(json);
|
|
50
41
|
throw new Error(`Failed to publish bundle. HTTP status ${requestBundle.status}, ${requestBundle.statusText}`);
|
|
51
42
|
}
|
|
52
43
|
return requestBundle.json();
|
|
53
|
-
}
|
|
44
|
+
};
|
|
54
45
|
//# sourceMappingURL=uploadAppBundle.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uploadAppBundle.js","sourceRoot":"","sources":["../../../src/bin/utils/uploadAppBundle.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"uploadAppBundle.js","sourceRoot":"","sources":["../../../src/bin/utils/uploadAppBundle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAAE,QAAgB,EAAE,MAAc,EAAE,EAAE;IACxE,MAAM,KAAK,GAA8B;QACvC,MAAM,EAAE,IAAI;KACb,CAAC;IAEF,IAAI,CAAC;QACH,KAAK,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,4BAA4B,MAAM,kBAAkB,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;QAC1C,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,KAAK,CAAC,MAAM;QAClB,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE;YACnD,cAAc,EAAE,iBAAiB;SAClC;KACF,CAAC,CAAC;IAEH,IAAI,aAAa,CAAC,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACjE,MAAM,IAAI,KAAK,CACb,gEAAgE,aAAa,CAAC,UAAU,EAAE,CAC3F,CAAC;IACJ,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,wCAAwC,aAAa,CAAC,UAAU,EAAE,CAAC,CAAC;IACtF,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,oDAAoD,aAAa,CAAC,UAAU,EAAE,CAAC,CAAC;IAClG,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,sCAAsC,aAAa,CAAC,UAAU,EAAE,CAAC,CAAC;IACpF,CAAC;IAED,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;QACxC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,yCAAyC,aAAa,CAAC,MAAM,KAAK,aAAa,CAAC,UAAU,EAAE,CAC7F,CAAC;IACJ,CAAC;IAED,OAAO,aAAa,CAAC,IAAI,EAAE,CAAC;AAC9B,CAAC,CAAC"}
|
package/dist/lib/app-config.js
CHANGED
|
@@ -1,42 +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
1
|
import { loadConfig, initiateConfig, resolveConfig, } from './utils/config.js';
|
|
11
2
|
import { AssertionError } from './utils/assert.js';
|
|
12
3
|
import { ApiAppConfigSchema } from '../schemas.js';
|
|
13
4
|
export const appConfigFilename = 'app.config';
|
|
14
5
|
export const defineAppConfig = (fn) => fn;
|
|
15
|
-
export const loadAppConfig = (filename) => loadConfig(filename
|
|
16
|
-
export const resolveAppConfig = (options) =>
|
|
17
|
-
if (options
|
|
18
|
-
const config =
|
|
6
|
+
export const loadAppConfig = (filename) => loadConfig(filename ?? appConfigFilename);
|
|
7
|
+
export const resolveAppConfig = async (options) => {
|
|
8
|
+
if (options?.file) {
|
|
9
|
+
const config = await loadAppConfig(options.file);
|
|
19
10
|
return {
|
|
20
11
|
config,
|
|
21
12
|
path: options.file,
|
|
22
13
|
};
|
|
23
14
|
}
|
|
24
15
|
return resolveConfig(appConfigFilename, { find: options });
|
|
25
|
-
}
|
|
26
|
-
export const createAppConfig = (env, base, options) =>
|
|
27
|
-
|
|
28
|
-
const resolved = yield resolveAppConfig(options);
|
|
16
|
+
};
|
|
17
|
+
export const createAppConfig = async (env, base, options) => {
|
|
18
|
+
const resolved = await resolveAppConfig(options);
|
|
29
19
|
if (resolved) {
|
|
30
|
-
const configValue = (
|
|
20
|
+
const configValue = (await initiateConfig(resolved.config, env, { base })) ?? {};
|
|
31
21
|
const config = ApiAppConfigSchema.parse(configValue);
|
|
32
22
|
return { config, path: resolved.path };
|
|
33
23
|
}
|
|
34
|
-
else if (options
|
|
24
|
+
else if (options?.file) {
|
|
35
25
|
throw new AssertionError({
|
|
36
26
|
message: `Expected to load config from ${options.file}`,
|
|
37
27
|
expected: '<file>',
|
|
38
28
|
});
|
|
39
29
|
}
|
|
40
30
|
return { config: base };
|
|
41
|
-
}
|
|
31
|
+
};
|
|
42
32
|
//# sourceMappingURL=app-config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-config.js","sourceRoot":"","sources":["../../src/lib/app-config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"app-config.js","sourceRoot":"","sources":["../../src/lib/app-config.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EAGV,cAAc,EAEd,aAAa,GACd,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAqB,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAYtE,MAAM,CAAC,MAAM,iBAAiB,GAAG,YAAY,CAAC;AAC9C,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAAe,EAAE,EAAE,CAAC,EAAE,CAAC;AAEvD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAiB,EAAE,EAAE,CACjD,UAAU,CAAe,QAAQ,IAAI,iBAAiB,CAAC,CAAC;AAE1D,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACnC,OAEC,EAC4C,EAAE;IAC/C,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjD,OAAO;YACL,MAAM;YACN,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAC;IACJ,CAAC;IACD,OAAO,aAAa,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;AAC7D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAClC,GAAsB,EACtB,IAAkB,EAClB,OAA8B,EACoB,EAAE;IACpD,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACjD,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,WAAW,GAAG,CAAC,MAAM,cAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACjF,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACrD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;IACzC,CAAC;SAAM,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;QACzB,MAAM,IAAI,cAAc,CAAC;YACvB,OAAO,EAAE,gCAAgC,OAAO,CAAC,IAAI,EAAE;YACvD,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAC1B,CAAC,CAAC"}
|
package/dist/lib/app-manifest.js
CHANGED
|
@@ -1,12 +1,3 @@
|
|
|
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
1
|
import deepMerge from 'deepmerge';
|
|
11
2
|
import { execSync } from 'node:child_process';
|
|
12
3
|
import { resolveAppKey, resolveEntryPoint, } from './app-package.js';
|
|
@@ -31,10 +22,9 @@ export const manifestConfigFilename = 'app.manifest.config';
|
|
|
31
22
|
*/
|
|
32
23
|
export const defineAppManifest = (fn) => fn;
|
|
33
24
|
export function assertAppManifest(value) {
|
|
34
|
-
var _a;
|
|
35
25
|
assert(value, 'expected manifest');
|
|
36
26
|
assert(value.build, 'expected build');
|
|
37
|
-
assert(parseSemver(
|
|
27
|
+
assert(parseSemver(value.build?.version), 'invalid version');
|
|
38
28
|
// TODO make assertions
|
|
39
29
|
}
|
|
40
30
|
// /**
|
|
@@ -64,21 +54,21 @@ export const mergeManifests = (base, overrides) => {
|
|
|
64
54
|
return manifest;
|
|
65
55
|
};
|
|
66
56
|
/** loads manifestFn from file */
|
|
67
|
-
export const loadManifest = (filename) => loadConfig(filename
|
|
57
|
+
export const loadManifest = (filename) => loadConfig(filename ?? manifestConfigFilename);
|
|
68
58
|
/**
|
|
69
59
|
* tries to resolve manifest
|
|
70
60
|
* @see {@link resolveConfig | resolving config}
|
|
71
61
|
*/
|
|
72
|
-
export const resolveManifest = (options) =>
|
|
73
|
-
if (options
|
|
74
|
-
const config =
|
|
62
|
+
export const resolveManifest = async (options) => {
|
|
63
|
+
if (options?.file) {
|
|
64
|
+
const config = await loadManifest(options.file);
|
|
75
65
|
return {
|
|
76
66
|
config,
|
|
77
67
|
path: options.file,
|
|
78
68
|
};
|
|
79
69
|
}
|
|
80
70
|
return resolveConfig(manifestConfigFilename, { find: options });
|
|
81
|
-
}
|
|
71
|
+
};
|
|
82
72
|
const resolveGithubRepo = (pkg) => {
|
|
83
73
|
try {
|
|
84
74
|
/* get reporurl from package.json */
|
|
@@ -94,7 +84,7 @@ const resolveGithubRepo = (pkg) => {
|
|
|
94
84
|
.replace(/.git$/, '');
|
|
95
85
|
}
|
|
96
86
|
}
|
|
97
|
-
catch
|
|
87
|
+
catch {
|
|
98
88
|
return undefined;
|
|
99
89
|
}
|
|
100
90
|
};
|
|
@@ -102,7 +92,7 @@ const resolveGitCommitSha = () => {
|
|
|
102
92
|
try {
|
|
103
93
|
return execSync('git rev-parse HEAD').toString().trim();
|
|
104
94
|
}
|
|
105
|
-
catch
|
|
95
|
+
catch {
|
|
106
96
|
return undefined;
|
|
107
97
|
}
|
|
108
98
|
};
|
|
@@ -133,20 +123,20 @@ export const createManifestFromPackage = (pkg) => {
|
|
|
133
123
|
};
|
|
134
124
|
return manifest;
|
|
135
125
|
};
|
|
136
|
-
export const createManifest = (env, base, options) =>
|
|
137
|
-
const resolved =
|
|
126
|
+
export const createManifest = async (env, base, options) => {
|
|
127
|
+
const resolved = await resolveManifest(options);
|
|
138
128
|
if (resolved) {
|
|
139
|
-
const configuredManifest =
|
|
140
|
-
const manifest = deepMerge(base, configuredManifest
|
|
129
|
+
const configuredManifest = await initiateConfig(resolved.config, env, { base });
|
|
130
|
+
const manifest = deepMerge(base, configuredManifest ?? {});
|
|
141
131
|
assertAppManifest(manifest);
|
|
142
132
|
return { manifest, path: resolved.path };
|
|
143
133
|
}
|
|
144
|
-
else if (options
|
|
134
|
+
else if (options?.file) {
|
|
145
135
|
throw new AssertionError({
|
|
146
136
|
message: `Expected to load manifest from ${options.file}`,
|
|
147
137
|
expected: '<manifest>',
|
|
148
138
|
});
|
|
149
139
|
}
|
|
150
140
|
return { manifest: base };
|
|
151
|
-
}
|
|
141
|
+
};
|
|
152
142
|
//# sourceMappingURL=app-manifest.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-manifest.js","sourceRoot":"","sources":["../../src/lib/app-manifest.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"app-manifest.js","sourceRoot":"","sources":["../../src/lib/app-manifest.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAEL,aAAa,EAEb,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,UAAU,EACV,cAAc,EACd,aAAa,GAId,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGzE,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAa/E,4CAA4C;AAC5C,MAAM,CAAC,MAAM,sBAAsB,GAAG,qBAAqB,CAAC;AAE5D;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAAiB,EAAE,EAAE,CAAC,EAAE,CAAC;AAE3D,MAAM,UAAU,iBAAiB,CAAC,KAAkB;IAClD,MAAM,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;IACnC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACtC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,iBAAiB,CAAC,CAAC;IAC7D,uBAAuB;AACzB,CAAC;AAED,MAAM;AACN,gEAAgE;AAChE,KAAK;AACL,wDAAwD;AACxD,MAAM;AACN,uFAAuF;AACvF,mCAAmC;AACnC,8CAA8C;AAC9C,6FAA6F;AAC7F,kDAAkD;AAClD,UAAU;AACV,IAAI;AAEJ;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,IAAmC,EACnC,SAAwC,EAC3B,EAAE;IACf,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,EAAE,SAAS,CAAgB,CAAC;IAC3D,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAC5B,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,iCAAiC;AACjC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,QAAiB,EAAE,EAAE,CAChD,UAAU,CAAc,QAAQ,IAAI,sBAAsB,CAAC,CAAC;AAE9D;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAClC,OAEC,EAC8C,EAAE;IACjD,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAChD,OAAO;YACL,MAAM;YACN,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAC;IACJ,CAAC;IACD,OAAO,aAAa,CAAc,sBAAsB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;AAC/E,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,GAAmB,EAAE,EAAE;IAChD,IAAI,CAAC;QACH,oCAAoC;QACpC,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YACnB,OAAO,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;QAClF,CAAC;aAAM,CAAC;YACN,mCAAmC;YACnC,OAAO,QAAQ,CAAC,2BAA2B,CAAC;iBACzC,QAAQ,EAAE;iBACV,IAAI,EAAE;iBACN,OAAO,CAAC,iBAAiB,EAAE,qBAAqB,CAAC;iBACjD,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,GAAG,EAAE;IAC/B,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,oBAAoB,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,GAAuB,EAAe,EAAE;IAChF,MAAM,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC;IAC5B,YAAY,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;IAClD,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,gCAAgC,CAAC,CAAC;IAC3D,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,mCAAmC,CAAC,CAAC;IACjE,MAAM,UAAU,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAgB;QAC5B,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC;QACtC,WAAW,EAAE,WAAW,CAAC,IAAI;QAC7B,WAAW,EAAE,WAAW,CAAC,WAAW,IAAI,EAAE;QAC1C,QAAQ,EAAE,WAAW,CAAC,QAAQ;QAC9B,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE;YACL,UAAU;YACV,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,UAAU,EAAE,iBAAiB,CAAC,WAAW,CAAC;YAC1C,SAAS,EAAE,mBAAmB,EAAE;YAChC,WAAW,EAAE,WAAW,CAAC,WAAiD;YAC1E,WAAW,EAAE,WAAW,CAAC,QAAQ;YACjC,iBAAiB,EAAE,8BAA8B,CAAC,GAAG;YACnD,+EAA+E;YAC/E,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,EAAE,CACnB;SACF;KACF,CAAC;IACF,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EACjC,GAAsB,EACtB,IAAiB,EACjB,OAA6B,EACsB,EAAE;IACrD,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,kBAAkB,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAChF,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,EAAE,kBAAkB,IAAI,EAAE,CAAgB,CAAC;QAC1E,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC5B,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC3C,CAAC;SAAM,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;QACzB,MAAM,IAAI,cAAc,CAAC;YACvB,OAAO,EAAE,kCAAkC,OAAO,CAAC,IAAI,EAAE;YACzD,QAAQ,EAAE,YAAY;SACvB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAC5B,CAAC,CAAC"}
|