@equinor/fusion-framework-cli 9.12.13 → 10.0.0-alpha-17c4eed176e5b4a0fcf867ed245471d3863af237

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/CHANGELOG.md +156 -0
  2. package/README.md +31 -9
  3. package/dist/bin/bundle-application.js +3 -2
  4. package/dist/bin/bundle-application.js.map +1 -1
  5. package/dist/bin/create-dev-serve.js +84 -113
  6. package/dist/bin/create-dev-serve.js.map +1 -1
  7. package/dist/bin/create-export-config.js +68 -6
  8. package/dist/bin/create-export-config.js.map +1 -1
  9. package/dist/bin/create-export-manifest.js +3 -4
  10. package/dist/bin/create-export-manifest.js.map +1 -1
  11. package/dist/bin/dev-portal/config.js +6 -2
  12. package/dist/bin/dev-portal/config.js.map +1 -1
  13. package/dist/bin/main.app.js +42 -1
  14. package/dist/bin/main.app.js.map +1 -1
  15. package/dist/bin/main.js +2 -3
  16. package/dist/bin/main.js.map +1 -1
  17. package/dist/bin/plugins/app-proxy.js +137 -0
  18. package/dist/bin/plugins/app-proxy.js.map +1 -0
  19. package/dist/bin/plugins/external-public.js +67 -0
  20. package/dist/bin/plugins/external-public.js.map +1 -0
  21. package/dist/bin/public/assets/{index-DbG061TJ.js → index-BF2-imeq.js} +407 -407
  22. package/dist/bin/public/index.html +1 -1
  23. package/dist/bin/publish-application.js +102 -0
  24. package/dist/bin/publish-application.js.map +1 -0
  25. package/dist/bin/tag-application.js +80 -0
  26. package/dist/bin/tag-application.js.map +1 -0
  27. package/dist/bin/upload-application.js +69 -0
  28. package/dist/bin/upload-application.js.map +1 -0
  29. package/dist/bin/utils/{execute-commant.js → execute-command.js} +1 -1
  30. package/dist/bin/utils/{execute-commant.js.map → execute-command.js.map} +1 -1
  31. package/dist/bin/utils/format.js +1 -1
  32. package/dist/bin/utils/format.js.map +1 -1
  33. package/dist/bin/utils/getEndpointUrl.js +49 -0
  34. package/dist/bin/utils/getEndpointUrl.js.map +1 -0
  35. package/dist/bin/utils/index.js +14 -0
  36. package/dist/bin/utils/index.js.map +1 -0
  37. package/dist/bin/utils/isAppRegistered.js +30 -0
  38. package/dist/bin/utils/isAppRegistered.js.map +1 -0
  39. package/dist/bin/utils/load-manifest.js +7 -3
  40. package/dist/bin/utils/load-manifest.js.map +1 -1
  41. package/dist/bin/utils/proxy-request-logger.js +34 -0
  42. package/dist/bin/utils/proxy-request-logger.js.map +1 -0
  43. package/dist/bin/utils/publishAppConfig.js +34 -0
  44. package/dist/bin/utils/publishAppConfig.js.map +1 -0
  45. package/dist/bin/utils/requireToken.js +10 -0
  46. package/dist/bin/utils/requireToken.js.map +1 -0
  47. package/dist/bin/utils/tagAppBundle.js +33 -0
  48. package/dist/bin/utils/tagAppBundle.js.map +1 -0
  49. package/dist/bin/utils/uploadAppBundle.js +52 -0
  50. package/dist/bin/utils/uploadAppBundle.js.map +1 -0
  51. package/dist/lib/app-config.js.map +1 -1
  52. package/dist/lib/app-manifest.js +35 -11
  53. package/dist/lib/app-manifest.js.map +1 -1
  54. package/dist/lib/app-package.js +55 -6
  55. package/dist/lib/app-package.js.map +1 -1
  56. package/dist/lib/index.js +1 -1
  57. package/dist/lib/index.js.map +1 -1
  58. package/dist/lib/vite-config.js +1 -3
  59. package/dist/lib/vite-config.js.map +1 -1
  60. package/dist/types/bin/create-export-config.d.ts +6 -2
  61. package/dist/types/bin/create-export-manifest.d.ts +1 -8
  62. package/dist/types/bin/plugins/app-proxy.d.ts +70 -0
  63. package/dist/types/bin/plugins/external-public.d.ts +22 -0
  64. package/dist/types/bin/publish-application.d.ts +6 -0
  65. package/dist/types/bin/tag-application.d.ts +12 -0
  66. package/dist/types/bin/upload-application.d.ts +6 -0
  67. package/dist/types/bin/utils/getEndpointUrl.d.ts +10 -0
  68. package/dist/types/bin/utils/index.d.ts +14 -0
  69. package/dist/types/bin/utils/isAppRegistered.d.ts +7 -0
  70. package/dist/types/bin/utils/load-app-config.d.ts +1 -1
  71. package/dist/types/bin/utils/load-manifest.d.ts +2 -1
  72. package/dist/types/bin/utils/proxy-request-logger.d.ts +15 -0
  73. package/dist/types/bin/utils/publishAppConfig.d.ts +9 -0
  74. package/dist/types/bin/utils/requireToken.d.ts +4 -0
  75. package/dist/types/bin/utils/tagAppBundle.d.ts +7 -0
  76. package/dist/types/bin/utils/uploadAppBundle.d.ts +7 -0
  77. package/dist/types/lib/app-config.d.ts +1 -6
  78. package/dist/types/lib/app-manifest.d.ts +16 -20
  79. package/dist/types/lib/app-package.d.ts +35 -4
  80. package/dist/types/lib/index.d.ts +2 -2
  81. package/dist/types/version.d.ts +1 -1
  82. package/dist/version.js +1 -1
  83. package/package.json +28 -33
  84. package/dist/bin/dev-proxy.js +0 -82
  85. package/dist/bin/dev-proxy.js.map +0 -1
  86. package/dist/index.js +0 -13
  87. package/dist/index.js.map +0 -1
  88. package/dist/types/bin/dev-proxy.d.ts +0 -27
  89. package/dist/types/index.d.ts +0 -4
  90. /package/dist/types/bin/utils/{execute-commant.d.ts → execute-command.d.ts} +0 -0
@@ -28,7 +28,7 @@
28
28
  }
29
29
  </style>
30
30
 
31
- <script type="module" crossorigin src="/assets/index-DbG061TJ.js"></script>
31
+ <script type="module" crossorigin src="/assets/index-BF2-imeq.js"></script>
32
32
 
33
33
  <body>
34
34
  <div id="root"></div>
@@ -0,0 +1,102 @@
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 { chalk } from './utils/format.js';
11
+ import { Spinner } from './utils/spinner.js';
12
+ import { bundleApplication } from './bundle-application.js';
13
+ import { resolveAppPackage, resolveAppKey } from '../lib/app-package.js';
14
+ import { isAppRegistered, getEndpointUrl, requireToken, tagAppBundle, uploadAppBundle, } from './utils/index.js';
15
+ import { exit } from 'node:process';
16
+ export const publishApplication = (options) => __awaiter(void 0, void 0, void 0, function* () {
17
+ const { tag, env, service } = options;
18
+ const spinner = Spinner.Global({ prefixText: chalk.dim('Publish') });
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);
31
+ }
32
+ const pkg = yield resolveAppPackage();
33
+ const appKey = resolveAppKey(pkg.packageJson);
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);
51
+ }
52
+ const bundle = 'app-bundle.zip';
53
+ /* Zip app bundle */
54
+ spinner.info('Creating zip bundle');
55
+ yield bundleApplication({
56
+ archive: bundle,
57
+ outDir: 'dist',
58
+ });
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)}`);
94
+ }
95
+ catch (e) {
96
+ const err = e;
97
+ spinner.fail('🙅‍♂️', chalk.bgRed(err.message));
98
+ exit(1);
99
+ }
100
+ spinner.succeed('⭐️', `Published app: "${chalk.greenBright(appKey)}" version: "${chalk.greenBright(state.uploadedBundle.version)}" with tagg: "${chalk.greenBright(tag)}"`);
101
+ });
102
+ //# sourceMappingURL=publish-application.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish-application.js","sourceRoot":"","sources":["../../src/bin/publish-application.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,80 @@
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 { exit } from 'node:process';
11
+ import { chalk } from './utils/format.js';
12
+ import { Spinner } from './utils/spinner.js';
13
+ import { resolveAppPackage, resolveAppKey } from '../lib/app-package.js';
14
+ import { isAppRegistered, getEndpointUrl, requireToken, tagAppBundle } from './utils/index.js';
15
+ var Tags;
16
+ (function (Tags) {
17
+ Tags["preview"] = "preview";
18
+ Tags["latest"] = "latest";
19
+ })(Tags || (Tags = {}));
20
+ export const tagApplication = (options) => __awaiter(void 0, void 0, void 0, function* () {
21
+ const { tag, version, env, service } = options;
22
+ const spinner = Spinner.Global({ prefixText: chalk.dim('Tag') });
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);
40
+ }
41
+ const pkg = yield resolveAppPackage();
42
+ const appKey = resolveAppKey(pkg.packageJson);
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);
60
+ }
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)}"`);
73
+ }
74
+ catch (e) {
75
+ const err = e;
76
+ spinner.fail('🙅‍♂️', chalk.bgRed(err.message));
77
+ exit(1);
78
+ }
79
+ });
80
+ //# sourceMappingURL=tag-application.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag-application.js","sourceRoot":"","sources":["../../src/bin/tag-application.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
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 { exit } from 'node:process';
11
+ import { Spinner } from './utils/spinner.js';
12
+ import { chalk } from './utils/format.js';
13
+ import { resolveAppPackage, resolveAppKey } from '../lib/app-package.js';
14
+ import { isAppRegistered, getEndpointUrl, requireToken, uploadAppBundle } from './utils/index.js';
15
+ export const uploadApplication = (options) => __awaiter(void 0, void 0, void 0, function* () {
16
+ const { bundle, env, service } = options;
17
+ const spinner = Spinner.Global({ prefixText: chalk.dim('Upload') });
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');
25
+ }
26
+ catch (e) {
27
+ const err = e;
28
+ spinner.fail(chalk.bgRed(err.message));
29
+ exit(1);
30
+ }
31
+ /* get package.json */
32
+ const pkg = yield resolveAppPackage();
33
+ const appKey = resolveAppKey(pkg.packageJson);
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)}"`);
62
+ }
63
+ catch (e) {
64
+ const err = e;
65
+ spinner.fail('🙅‍♂️', chalk.bgRed(err.message));
66
+ exit(1);
67
+ }
68
+ });
69
+ //# sourceMappingURL=upload-application.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upload-application.js","sourceRoot":"","sources":["../../src/bin/upload-application.ts"],"names":[],"mappings":"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"}
@@ -20,4 +20,4 @@ export const executeCommand = (program, command,
20
20
  job.addListener('error', reject);
21
21
  });
22
22
  });
23
- //# sourceMappingURL=execute-commant.js.map
23
+ //# sourceMappingURL=execute-command.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"execute-commant.js","sourceRoot":"","sources":["../../../src/bin/utils/execute-commant.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"}
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"}
@@ -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,CAAC,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,QAAQ,EAAC,CAAC,CAAC,QAAQ,CAAC,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,GAAG,mCAAI,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAC9F,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"}
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
+ /**
11
+ * Retreive full endpoint URI to env in service-discovery
12
+ * @param endpoint <string> The endpoint to call in+ uri
13
+ * @param fusionEnv <FusionEnv> The Fusion env to get uri for
14
+ * @param service <string> Custom service uri to use insted of Fusion
15
+ * @param version <string> The version of the api to use
16
+ * @returns <string> The uri with endpoint
17
+ */
18
+ 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') {
19
+ const { CUSTOM_APPAPI, FUSION_CLI_ENV, FUSION_TOKEN } = process.env;
20
+ /* use consumer provided api url */
21
+ if (service || CUSTOM_APPAPI) {
22
+ return service !== null && service !== void 0 ? service : CUSTOM_APPAPI;
23
+ }
24
+ /* Env has changed get new api url */
25
+ if (FUSION_CLI_ENV !== fusionEnv || !process.env.FUSION_CLI_APPAPI) {
26
+ process.env.FUSION_CLI_ENV = fusionEnv;
27
+ const requestService = yield fetch(
28
+ // TODO: Change to production url.
29
+ // `https://discovery.fusion.equinor.com/service-registry/environments/${fusionEnv}/services/apps`,
30
+ `https://discovery.ci.fusion-dev.net/service-registry/environments/${fusionEnv}/services/apps`, {
31
+ headers: {
32
+ Authorization: `Bearer ${FUSION_TOKEN}`,
33
+ },
34
+ });
35
+ if (requestService.status === 401) {
36
+ throw new Error(`The provided FUSION_TOKEN is not valid. Refresh your token and try again.`);
37
+ }
38
+ if (!requestService.ok) {
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":";;;;;;;;;AAEA;;;;;;;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;QAC9B,kCAAkC;QAClC,mGAAmG;QACnG,qEAAqE,SAAS,gBAAgB,EAC9F;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,IAAI,KAAK,CACX,8DAA8D,cAAc,CAAC,MAAM,MAAM,cAAc,CAAC,UAAU,EAAE,CACvH,CAAC;QACN,CAAC;QAED,MAAM,eAAe,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC;QACpD,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,30 @@
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
+ throw new Error(`Could not connect to apps-service. HTTP status ${requestApp.status}, ${requestApp.statusText}`);
27
+ }
28
+ return yield requestApp.json();
29
+ });
30
+ //# 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,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"}
@@ -9,17 +9,21 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  };
10
10
  import { Spinner } from './spinner.js';
11
11
  import { formatPath, chalk } from './format.js';
12
- import { createManifest, createManifestFromPackage } from '../../lib/app-manifest.js';
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
14
  const spinner = Spinner.Current;
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.mode !== 'development') {
21
+ baseManifest.entryPoint = 'app-bundle.mjs';
22
+ }
19
23
  const manifest = yield createManifest(env, baseManifest, { file: options === null || options === void 0 ? void 0 : options.file });
20
24
  spinner.succeed();
21
- if (manifest.path) {
22
- spinner.info(`generating manifest from ${formatPath(manifest.path, { relative: true })}`);
25
+ if (options === null || options === void 0 ? void 0 : options.file) {
26
+ spinner.info(`generating manifest from ${formatPath(options.file, { relative: true })}`);
23
27
  }
24
28
  else {
25
29
  spinner.info(chalk.dim('no local manifest config applied, using default generated'));
@@ -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;AAItF,MAAM,CAAC,MAAM,eAAe,GAAG,CAC3B,GAAsB,EACtB,GAAuB,EACvB,OAEC,EACH,EAAE;IACA,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,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,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAE,CAAC,CAAC;QAClF,OAAO,CAAC,OAAO,EAAE,CAAC;QAElB,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CACR,4BAA4B,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,CAC9E,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC,CAAC;QACzF,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"}
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,EAEH,cAAc,EACd,yBAAyB,GAC5B,MAAM,2BAA2B,CAAC;AAInC,MAAM,CAAC,MAAM,eAAe,GAAG,CAC3B,GAAsB,EACtB,GAAuB,EACvB,OAEC,EACsD,EAAE;IACzD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,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,IAAI,KAAK,aAAa,EAAE,CAAC;YAC7B,YAAY,CAAC,UAAU,GAAG,gBAAgB,CAAC;QAC/C,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAE,CAAC,CAAC;QAClF,OAAO,CAAC,OAAO,EAAE,CAAC;QAElB,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CACR,4BAA4B,UAAU,CAAC,OAAO,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,2DAA2D,CAAC,CAAC,CAAC;QACzF,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"}
@@ -0,0 +1,34 @@
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
+ * Publishes app config to the apps-service endpoint
12
+ * @param endpoint string The endpoint to upload to
13
+ * @param appKey The application key
14
+ * @param config Object with app config
15
+ * @returns HTTP response as json
16
+ */
17
+ export const publishAppConfig = (endpoint, appKey, config) => __awaiter(void 0, void 0, void 0, function* () {
18
+ const requestConfig = yield fetch(endpoint, {
19
+ method: 'PUT',
20
+ body: JSON.stringify(config),
21
+ headers: {
22
+ Authorization: `Bearer ${process.env.FUSION_TOKEN}`,
23
+ 'Content-Type': 'application/json',
24
+ },
25
+ });
26
+ if (requestConfig.status === 410) {
27
+ throw new Error(`App ${appKey} is deleted from apps-service. HTTP status ${requestConfig.status}, ${requestConfig.statusText}`);
28
+ }
29
+ else if (!requestConfig.ok || requestConfig.status > 399) {
30
+ throw new Error(`Failed to upload config. HTTP status ${requestConfig.status}, ${requestConfig.statusText}`);
31
+ }
32
+ return yield requestConfig.json();
33
+ });
34
+ //# sourceMappingURL=publishAppConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publishAppConfig.js","sourceRoot":"","sources":["../../../src/bin/utils/publishAppConfig.ts"],"names":[],"mappings":";;;;;;;;;AAEA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAO,QAAgB,EAAE,MAAc,EAAE,MAAiB,EAAE,EAAE;IAC1F,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;QACxC,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAC5B,OAAO,EAAE;YACL,aAAa,EAAE,UAAU,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE;YACnD,cAAc,EAAE,kBAAkB;SACrC;KACJ,CAAC,CAAC;IAEH,IAAI,aAAa,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACX,OAAO,MAAM,8CAA8C,aAAa,CAAC,MAAM,KAAK,aAAa,CAAC,UAAU,EAAE,CACjH,CAAC;IACN,CAAC;SAAM,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,aAAa,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CACX,wCAAwC,aAAa,CAAC,MAAM,KAAK,aAAa,CAAC,UAAU,EAAE,CAC9F,CAAC;IACN,CAAC;IAED,OAAO,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;AACtC,CAAC,CAAA,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Make sure the user has a valid azure token.
3
+ */
4
+ export const requireToken = () => {
5
+ var _a;
6
+ if (!((_a = process === null || process === void 0 ? void 0 : process.env) === null || _a === void 0 ? void 0 : _a.FUSION_TOKEN)) {
7
+ throw new Error('Missing required environment variable FUSION_TOKEN. Please set it before running this command.');
8
+ }
9
+ };
10
+ //# sourceMappingURL=requireToken.js.map
@@ -0,0 +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;;IAC7B,IAAI,CAAC,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,0CAAE,YAAY,CAAA,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CACX,gGAAgG,CACnG,CAAC;IACN,CAAC;AACL,CAAC,CAAC"}
@@ -0,0 +1,33 @@
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
+ * Send request to apps-service to tag a bundle.
12
+ * @param endpoint string The endpoint to send request to.
13
+ * @param version string The version to tag the bundle with.
14
+ * @returns Response object as json.
15
+ */
16
+ export const tagAppBundle = (endpoint, version) => __awaiter(void 0, void 0, void 0, function* () {
17
+ const requestTag = yield fetch(endpoint, {
18
+ method: 'PUT',
19
+ body: JSON.stringify({ version }),
20
+ headers: {
21
+ Authorization: `Bearer ${process.env.FUSION_TOKEN}`,
22
+ 'Content-Type': 'application/json',
23
+ },
24
+ });
25
+ if (requestTag.status === 404) {
26
+ throw new Error(`Failed to tag bundle, make sure version ${version} exist. HTTP status ${requestTag.status} - ${requestTag.statusText}`);
27
+ }
28
+ if (requestTag.status !== 200) {
29
+ throw new Error(`Failed to tag bundle. HTTP status ${requestTag.status}, ${requestTag.statusText}`);
30
+ }
31
+ return yield requestTag.json();
32
+ });
33
+ //# sourceMappingURL=tagAppBundle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tagAppBundle.js","sourceRoot":"","sources":["../../../src/bin/utils/tagAppBundle.ts"],"names":[],"mappings":";;;;;;;;;AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAO,QAAgB,EAAE,OAAe,EAAE,EAAE;IACpE,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;QACrC,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;QACjC,OAAO,EAAE;YACL,aAAa,EAAE,UAAU,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE;YACnD,cAAc,EAAE,kBAAkB;SACrC;KACJ,CAAC,CAAC;IAEH,IAAI,UAAU,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACX,2CAA2C,OAAO,uBAAuB,UAAU,CAAC,MAAM,MAAM,UAAU,CAAC,UAAU,EAAE,CAC1H,CAAC;IACN,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACX,qCAAqC,UAAU,CAAC,MAAM,KAAK,UAAU,CAAC,UAAU,EAAE,CACrF,CAAC;IACN,CAAC;IAED,OAAO,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;AACnC,CAAC,CAAA,CAAC"}