@equinor/fusion-framework-cli 9.12.9 → 10.0.0-beta-8c92234668d5f4b20de0650ff947f3afeb7c335c
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 +10 -8
- package/dist/bin/bundle-application.js.map +1 -1
- package/dist/bin/create-dev-serve.js +13 -1
- package/dist/bin/create-dev-serve.js.map +1 -1
- package/dist/bin/create-export-config.js +24 -4
- package/dist/bin/create-export-config.js.map +1 -1
- package/dist/bin/create-export-manifest.js +10 -1
- package/dist/bin/create-export-manifest.js.map +1 -1
- package/dist/bin/dev-proxy.js +23 -10
- package/dist/bin/dev-proxy.js.map +1 -1
- package/dist/bin/main.app.js +38 -0
- package/dist/bin/main.app.js.map +1 -1
- package/dist/bin/main.js +2 -3
- package/dist/bin/main.js.map +1 -1
- package/dist/bin/public/assets/{index-DqjqGv_W.js → index-DGTu1kLV.js} +392 -414
- package/dist/bin/public/index.html +1 -1
- package/dist/bin/publish-application.js +47 -0
- package/dist/bin/publish-application.js.map +1 -0
- package/dist/bin/tag-application.js +44 -0
- package/dist/bin/tag-application.js.map +1 -0
- package/dist/bin/upload-application.js +36 -0
- package/dist/bin/upload-application.js.map +1 -0
- package/dist/bin/utils/app-api.js +169 -0
- package/dist/bin/utils/app-api.js.map +1 -0
- package/dist/lib/app-config.js.map +1 -1
- package/dist/lib/app-manifest.js.map +1 -1
- package/dist/lib/index.js +1 -1
- package/dist/lib/index.js.map +1 -1
- package/dist/types/bin/create-export-config.d.ts +6 -2
- package/dist/types/bin/create-export-manifest.d.ts +6 -7
- package/dist/types/bin/dev-proxy.d.ts +7 -9
- package/dist/types/bin/publish-application.d.ts +6 -0
- package/dist/types/bin/tag-application.d.ts +12 -0
- package/dist/types/bin/upload-application.d.ts +6 -0
- package/dist/types/bin/utils/app-api.d.ts +8 -0
- package/dist/types/bin/utils/load-app-config.d.ts +1 -1
- package/dist/types/bin/utils/load-manifest.d.ts +1 -1
- package/dist/types/lib/app-config.d.ts +1 -4
- package/dist/types/lib/app-manifest.d.ts +1 -13
- package/dist/types/lib/app-package.d.ts +1 -1
- package/dist/types/lib/index.d.ts +2 -2
- package/dist/types/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +15 -15
|
@@ -0,0 +1,47 @@
|
|
|
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 { uploadAppBundle, appRegistered, validateToken, tagAppBundle, } from './utils/app-api.js';
|
|
15
|
+
export const publishApplication = (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
16
|
+
const { tag, env, service } = options;
|
|
17
|
+
const spinner = Spinner.Global({ prefixText: chalk.dim('Publish') });
|
|
18
|
+
const validToken = validateToken();
|
|
19
|
+
if (!validToken) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
const pkg = yield resolveAppPackage();
|
|
23
|
+
const appKey = resolveAppKey(pkg.packageJson);
|
|
24
|
+
spinner.info(`Publishing app: "${appKey}" with tag: "${tag}"`);
|
|
25
|
+
spinner.info('Verifying that App is registered in api.');
|
|
26
|
+
const appResponse = yield appRegistered(appKey, env, service);
|
|
27
|
+
if (!appResponse) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
spinner.info('Create bundle');
|
|
31
|
+
yield bundleApplication({
|
|
32
|
+
archive: 'app-bundle.zip',
|
|
33
|
+
outDir: 'dist',
|
|
34
|
+
});
|
|
35
|
+
spinner.info('Uploading bundle');
|
|
36
|
+
const uploadedBundle = yield uploadAppBundle(appKey, 'app-bundle.zip', env, service);
|
|
37
|
+
if (!uploadedBundle) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
spinner.info(`Tag app bundle with: ${tag}`);
|
|
41
|
+
const tagd = yield tagAppBundle(tag, appKey, uploadedBundle.version, env, service);
|
|
42
|
+
if (!tagd) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
spinner.succeed('✅', `Published app: "${chalk.greenBright(appKey)}"`, `With version: "${chalk.greenBright(tagd.version)}"`, `Tag: "${chalk.greenBright(tagd.tagName)}"`);
|
|
46
|
+
});
|
|
47
|
+
//# sourceMappingURL=publish-application.js.map
|
|
@@ -0,0 +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,aAAa,EACb,aAAa,EACb,YAAY,GAEf,MAAM,oBAAoB,CAAC;AAE5B,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAO,OAIxC,EAAE,EAAE;IACD,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAEtC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAErE,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,OAAO;IACX,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,iBAAiB,EAAE,CAAC;IACtC,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAE9C,OAAO,CAAC,IAAI,CAAC,oBAAoB,MAAM,gBAAgB,GAAG,GAAG,CAAC,CAAC;IAE/D,OAAO,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAC9D,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,OAAO;IACX,CAAC;IAGD,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC9B,MAAM,iBAAiB,CAAC;QACpB,OAAO,EAAE,gBAAgB;QACzB,MAAM,EAAE,MAAM;KACjB,CAAC,CAAC;IAEH,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACjC,MAAM,cAAc,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACrF,IAAI,CAAC,cAAc,EAAE,CAAC;QAClB,OAAO;IACX,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,wBAAwB,GAAG,EAAE,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAEnF,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO;IACX,CAAC;IAED,OAAO,CAAC,OAAO,CACX,GAAG,EACH,mBAAmB,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,EAC/C,kBAAkB,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EACpD,SAAS,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAC9C,CAAC;AACN,CAAC,CAAA,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
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 { resolveAppPackage, resolveAppKey } from '../lib/app-package.js';
|
|
13
|
+
import { appRegistered, validateToken, tagAppBundle } from './utils/app-api.js';
|
|
14
|
+
var Tags;
|
|
15
|
+
(function (Tags) {
|
|
16
|
+
Tags["preview"] = "preview";
|
|
17
|
+
Tags["latest"] = "latest";
|
|
18
|
+
})(Tags || (Tags = {}));
|
|
19
|
+
export const tagApplication = (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
20
|
+
const { tag, version, env, service } = options;
|
|
21
|
+
const spinner = Spinner.Global({ prefixText: chalk.dim('Tag') });
|
|
22
|
+
const validToken = validateToken();
|
|
23
|
+
if (!validToken) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
const pkg = yield resolveAppPackage();
|
|
27
|
+
const appKey = resolveAppKey(pkg.packageJson);
|
|
28
|
+
if (!Object.values(Tags).includes(tag)) {
|
|
29
|
+
spinner.fail('😞', `Tag must match (${Tags.latest} | ${Tags.preview})`);
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
spinner.info(`Tag app "${appKey}@${version}" with: "${tag}"`);
|
|
33
|
+
spinner.info('Verifying that App is registered');
|
|
34
|
+
const registered = yield appRegistered(appKey, env, service);
|
|
35
|
+
if (!registered) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
const tagd = yield tagAppBundle(tag, appKey, version, env, service);
|
|
39
|
+
if (!tagd) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
spinner.succeed('✅', `App: "${chalk.greenBright(appKey)}"`, `Version: "${chalk.greenBright(tagd.version)}"`, `Tag: "${chalk.greenBright(tagd.tagName)}"`);
|
|
43
|
+
});
|
|
44
|
+
//# sourceMappingURL=tag-application.js.map
|
|
@@ -0,0 +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,aAAa,EAAE,aAAa,EAAE,YAAY,EAAkB,MAAM,oBAAoB,CAAC;AAEhG,IAAK,IAGJ;AAHD,WAAK,IAAI;IACL,2BAAmB,CAAA;IACnB,yBAAiB,CAAA;AACrB,CAAC,EAHI,IAAI,KAAJ,IAAI,QAGR;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAO,OAKpC,EAAE,EAAE;IACD,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAE/C,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAEjE,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,OAAO;IACX,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,iBAAiB,EAAE,CAAC;IACtC,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAG9C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAW,CAAC,EAAE,CAAC;QAC7C,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,mBAAmB,IAAI,CAAC,MAAM,MAAM,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACxE,OAAO;IACX,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,YAAY,MAAM,IAAI,OAAO,YAAY,GAAG,GAAG,CAAC,CAAC;IAE9D,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAC7D,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,OAAO;IACX,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAEpE,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO;IACX,CAAC;IAED,OAAO,CAAC,OAAO,CACX,GAAG,EACH,SAAS,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,EACrC,aAAa,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAC/C,SAAS,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAC9C,CAAC;AACN,CAAC,CAAA,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
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 { Spinner } from './utils/spinner.js';
|
|
11
|
+
import { chalk } from './utils/format.js';
|
|
12
|
+
import { resolveAppPackage, resolveAppKey } from '../lib/app-package.js';
|
|
13
|
+
import { uploadAppBundle, appRegistered, validateToken } from './utils/app-api.js';
|
|
14
|
+
export const uploadApplication = (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
15
|
+
const { bundle, env, service } = options;
|
|
16
|
+
const spinner = Spinner.Global({ prefixText: chalk.dim('Upload') });
|
|
17
|
+
const validToken = validateToken();
|
|
18
|
+
if (!validToken) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
const pkg = yield resolveAppPackage();
|
|
22
|
+
const appKey = resolveAppKey(pkg.packageJson);
|
|
23
|
+
spinner.info('Verifying App is registered');
|
|
24
|
+
const appResponse = yield appRegistered(appKey, env, service);
|
|
25
|
+
if (!appResponse) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
spinner.info(`Uploading appkey: ${chalk.yellowBright(appKey)}`);
|
|
29
|
+
spinner.info(`Uploading bundle ${chalk.yellowBright(bundle)}`);
|
|
30
|
+
const uploadedBundle = yield uploadAppBundle(appKey, bundle, env, service);
|
|
31
|
+
if (!uploadedBundle) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
spinner.succeed('✅', `Uploaded app: "${chalk.greenBright(appKey)}"`, `Version: "${chalk.greenBright(uploadedBundle.version)}"`);
|
|
35
|
+
});
|
|
36
|
+
//# sourceMappingURL=upload-application.js.map
|
|
@@ -0,0 +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,aAAa,EAAE,aAAa,EAAkB,MAAM,oBAAoB,CAAC;AAEnG,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,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,OAAO;IACX,CAAC;IAGD,MAAM,GAAG,GAAG,MAAM,iBAAiB,EAAE,CAAC;IACtC,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAE9C,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAC9D,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,OAAO;IACX,CAAC;IAGD,OAAO,CAAC,IAAI,CAAC,qBAAqB,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAChE,OAAO,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC/D,MAAM,cAAc,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAC3E,IAAI,CAAC,cAAc,EAAE,CAAC;QAClB,OAAO;IACX,CAAC;IAED,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;AACN,CAAC,CAAA,CAAC"}
|
|
@@ -0,0 +1,169 @@
|
|
|
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 { readFileSync } from 'node:fs';
|
|
11
|
+
import { Spinner } from './spinner.js';
|
|
12
|
+
import { chalk } from './format.js';
|
|
13
|
+
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-preview') {
|
|
14
|
+
const { CUSTOM_APPAPI, FUSION_CLI_ENV, FUSION_TOKEN } = process.env;
|
|
15
|
+
const spinner = Spinner.Current;
|
|
16
|
+
if (service || CUSTOM_APPAPI) {
|
|
17
|
+
return service !== null && service !== void 0 ? service : CUSTOM_APPAPI;
|
|
18
|
+
}
|
|
19
|
+
if (FUSION_CLI_ENV !== fusionEnv || !process.env.FUSION_CLI_APPAPI) {
|
|
20
|
+
process.env.FUSION_CLI_ENV = fusionEnv;
|
|
21
|
+
const requestService = yield fetch(`https://discovery.ci.fusion-dev.net/service-registry/environments/${fusionEnv}/services/apps`, {
|
|
22
|
+
headers: {
|
|
23
|
+
Authorization: `Bearer ${FUSION_TOKEN}`,
|
|
24
|
+
},
|
|
25
|
+
});
|
|
26
|
+
if (!requestService.ok) {
|
|
27
|
+
spinner.fail('😞', chalk.redBright('Could not resolve app api endpoint from service discovery api'));
|
|
28
|
+
spinner.info('🤯', chalk.yellowBright(`HTTP status ${requestService.status}, ${requestService.statusText}`));
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
const responseService = yield requestService.json();
|
|
32
|
+
process.env.FUSION_CLI_APPAPI = responseService.uri;
|
|
33
|
+
}
|
|
34
|
+
const uri = new URL(`${process.env.FUSION_CLI_APPAPI}/${endpoint}`);
|
|
35
|
+
uri.searchParams.set('api-version', version);
|
|
36
|
+
return uri.href;
|
|
37
|
+
});
|
|
38
|
+
export const validateToken = () => {
|
|
39
|
+
var _a;
|
|
40
|
+
const spinner = Spinner.Current;
|
|
41
|
+
spinner.info('Validating FUSION_TOKEN');
|
|
42
|
+
if (!((_a = process === null || process === void 0 ? void 0 : process.env) === null || _a === void 0 ? void 0 : _a.FUSION_TOKEN)) {
|
|
43
|
+
spinner.fail('😞', `Missing environment variable "${chalk.yellowBright('FUSION_TOKEN')}"`, `\n\nThe "${chalk.yellowBright('FUSION_TOKEN')}" variable is required to perform any actions towards the app api. \nDefine the variable with a valid accessToken in you pipeline|shell before running commands using the app api.`);
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
const tokenPayload = process.env.FUSION_TOKEN.split('.')[1];
|
|
47
|
+
const buffer = Buffer.from(tokenPayload, 'base64');
|
|
48
|
+
const userToken = JSON.parse(buffer.toString('utf-8').trim());
|
|
49
|
+
if (Number(userToken.exp) < Date.now() / 1000) {
|
|
50
|
+
spinner.fail('😞', chalk.yellowBright('FUSION_TOKEN expired', Math.round(Date.now() / 1000 - Number(userToken.exp)), 'seconds ago'));
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
spinner.succeed('Token is valid');
|
|
54
|
+
return true;
|
|
55
|
+
};
|
|
56
|
+
export const appRegistered = (appKey, env, service) => __awaiter(void 0, void 0, void 0, function* () {
|
|
57
|
+
const spinner = Spinner.Current;
|
|
58
|
+
const endpoint = yield getEndpointUrl(`apps/${appKey}`, env, service);
|
|
59
|
+
if (!endpoint) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
const requestApp = yield fetch(endpoint, {
|
|
63
|
+
headers: {
|
|
64
|
+
Authorization: `Bearer ${process.env.FUSION_TOKEN}`,
|
|
65
|
+
},
|
|
66
|
+
});
|
|
67
|
+
if (requestApp.status === 404) {
|
|
68
|
+
spinner.fail('🙅♂️', chalk.bgRed(`The appkey '${appKey}' is not registered, visit the app-admin app and register the application there.`));
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
if (!requestApp.ok) {
|
|
72
|
+
spinner.fail('😞', chalk.redBright('Could not connect to apps API'));
|
|
73
|
+
spinner.info('🤯', chalk.yellowBright(`HTTP status ${requestApp.status}, ${requestApp.statusText}`));
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
spinner.succeed('✅', 'app is registered');
|
|
77
|
+
return yield requestApp.json();
|
|
78
|
+
});
|
|
79
|
+
export const uploadAppBundle = (appKey, bundle, env, service) => __awaiter(void 0, void 0, void 0, function* () {
|
|
80
|
+
const spinner = Spinner.Current;
|
|
81
|
+
const state = {
|
|
82
|
+
buffer: null,
|
|
83
|
+
};
|
|
84
|
+
try {
|
|
85
|
+
state.buffer = readFileSync(bundle);
|
|
86
|
+
}
|
|
87
|
+
catch (_a) {
|
|
88
|
+
spinner.fail('😞', 'Could not retreive app bundle, does it exist?');
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
const endpointUrl = yield getEndpointUrl(`bundles/apps/${appKey}`, env, service);
|
|
92
|
+
if (!endpointUrl) {
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
spinner.info(`Posting bundle to => ${endpointUrl}`);
|
|
96
|
+
const requestBundle = yield fetch(endpointUrl, {
|
|
97
|
+
method: 'POST',
|
|
98
|
+
body: state.buffer,
|
|
99
|
+
headers: {
|
|
100
|
+
Authorization: `Bearer ${process.env.FUSION_TOKEN}`,
|
|
101
|
+
'Content-Type': 'application/zip',
|
|
102
|
+
},
|
|
103
|
+
});
|
|
104
|
+
if (requestBundle.status === 409) {
|
|
105
|
+
spinner.info('🤯', chalk.yellowBright(`This app version is already published`));
|
|
106
|
+
spinner.fail('😞', chalk.redBright('Failed to publish bundle'));
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
if (!requestBundle.ok) {
|
|
110
|
+
spinner.info('🤯', chalk.yellowBright(`HTTP status ${requestBundle.status}, ${requestBundle.statusText}`));
|
|
111
|
+
spinner.fail('😞', chalk.redBright('Failed to publish bundle'));
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
return yield requestBundle.json();
|
|
115
|
+
});
|
|
116
|
+
export const tagAppBundle = (tag, appKey, version, env, service) => __awaiter(void 0, void 0, void 0, function* () {
|
|
117
|
+
const spinner = Spinner.Current;
|
|
118
|
+
const endpointUrl = yield getEndpointUrl(`apps/${appKey}/tags/${tag}`, env, service);
|
|
119
|
+
if (!endpointUrl) {
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
spinner.info(`Tagging in app api => ${endpointUrl}`);
|
|
123
|
+
const requestTag = yield fetch(endpointUrl, {
|
|
124
|
+
method: 'PUT',
|
|
125
|
+
body: JSON.stringify({ version }),
|
|
126
|
+
headers: {
|
|
127
|
+
Authorization: `Bearer ${process.env.FUSION_TOKEN}`,
|
|
128
|
+
'Content-Type': 'application/json',
|
|
129
|
+
},
|
|
130
|
+
});
|
|
131
|
+
if (!requestTag.ok) {
|
|
132
|
+
spinner.fail('😞', chalk.redBright('Failed to tag bundle'));
|
|
133
|
+
spinner.info('🤯', chalk.yellowBright(`HTTP status ${requestTag.status}, ${requestTag.statusText}`));
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
return yield requestTag.json();
|
|
137
|
+
});
|
|
138
|
+
export const publishAppConfig = (appKey, version, config, env, service) => __awaiter(void 0, void 0, void 0, function* () {
|
|
139
|
+
const spinner = Spinner.Current;
|
|
140
|
+
const isAppRegistered = appRegistered(appKey, env, service);
|
|
141
|
+
if (!isAppRegistered) {
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
const endpointUrl = yield getEndpointUrl(`apps/${appKey}/builds/${version}/config`, env, service);
|
|
145
|
+
if (!endpointUrl) {
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
spinner.info(`Publishing app config to => ${endpointUrl}`);
|
|
149
|
+
const requestConfig = yield fetch(endpointUrl, {
|
|
150
|
+
method: 'PUT',
|
|
151
|
+
body: JSON.stringify(config),
|
|
152
|
+
headers: {
|
|
153
|
+
Authorization: `Bearer ${process.env.FUSION_TOKEN}`,
|
|
154
|
+
'Content-Type': 'application/json',
|
|
155
|
+
},
|
|
156
|
+
});
|
|
157
|
+
if (requestConfig.status === 404) {
|
|
158
|
+
spinner.fail('😞', chalk.redBright('App version is not published'));
|
|
159
|
+
spinner.info('🤯', chalk.yellowBright(`HTTP status ${requestConfig.status}, ${requestConfig.statusText}`));
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
if (!requestConfig.ok) {
|
|
163
|
+
spinner.fail('😞', chalk.redBright('Failed to upload config'));
|
|
164
|
+
spinner.info('🤯', chalk.yellowBright(`HTTP status ${requestConfig.status}, ${requestConfig.statusText}`));
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
return yield requestConfig.json();
|
|
168
|
+
});
|
|
169
|
+
//# sourceMappingURL=app-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-api.js","sourceRoot":"","sources":["../../../src/bin/utils/app-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-config.js","sourceRoot":"","sources":["../../src/lib/app-config.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EACH,UAAU,EAGV,cAAc,EAEd,aAAa,GAChB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjE,OAAO,SAAS,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"app-config.js","sourceRoot":"","sources":["../../src/lib/app-config.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EACH,UAAU,EAGV,cAAc,EAEd,aAAa,GAChB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjE,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAc3C,MAAM,CAAC,MAAM,iBAAiB,GAAG,YAAY,CAAC;AAE9C,MAAM,UAAU,eAAe,CAAC,KAAgB;IAE5C,YAAY,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAAe,EAAE,EAAE,CAAC,EAAE,CAAC;AAEvD,MAAM,CAAC,MAAM,eAAe,GAAG,CAC3B,IAAwB,EACxB,SAA6B,EACpB,EAAE;IACX,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,EAAE,SAAS,CAAyB,CAAC;IACpE,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC1B,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAiB,EAAE,EAAE,CAC/C,UAAU,CAAY,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,iBAAiB,CAAC,CAAC;AAEzD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC5B,OAEC,EAC0C,EAAE;IAC7C,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAE,CAAC;QAChB,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjD,OAAO;YACH,MAAM;YACN,IAAI,EAAE,OAAO,CAAC,IAAI;SACrB,CAAC;IACN,CAAC;IACD,OAAO,aAAa,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;AAC/D,CAAC,CAAA,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,IAAwB,EAAa,EAAE;IAC9E,MAAM,SAAS,GAAG,EAAE,CAAC;IACrB,eAAe,CAAC,SAAS,CAAC,CAAC;IAC3B,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAC3B,GAAsB,EACtB,IAAe,EACf,OAA8B,EACe,EAAE;IAC/C,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACjD,IAAI,QAAQ,EAAE,CAAC;QACX,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACpE,eAAe,CAAC,MAAM,CAAC,CAAC;QACxB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC3C,CAAC;SAAM,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAE,CAAC;QACvB,MAAM,IAAI,cAAc,CAAC;YACrB,OAAO,EAAE,gCAAgC,OAAO,CAAC,IAAI,EAAE;YACvD,QAAQ,EAAE,QAAQ;SACrB,CAAC,CAAC;IACP,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAC5B,CAAC,CAAA,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-manifest.js","sourceRoot":"","sources":["../../src/lib/app-manifest.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,SAAS,MAAM,WAAW,CAAC;AAElC,OAAO,EAAsB,aAAa,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"app-manifest.js","sourceRoot":"","sources":["../../src/lib/app-manifest.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { mergeManifests, defineAppManifest
|
|
1
|
+
export { mergeManifests, defineAppManifest } from './app-manifest.js';
|
|
2
2
|
export { mergeAppConfigs, defineAppConfig, } from './app-config.js';
|
|
3
3
|
export { defineAppPackage, resolveAppKey, resolveEntryPoint, } from './app-package.js';
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
package/dist/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAsB,MAAM,mBAAmB,CAAC;AAE1F,OAAO,EACH,eAAe,EACf,eAAe,GAGlB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACH,gBAAgB,EAChB,aAAa,EACb,iBAAiB,GAGpB,MAAM,kBAAkB,CAAC"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
|
+
import { type FusionEnv } from './utils/app-api.js';
|
|
1
2
|
import { ConfigExecuterEnv } from '../lib/utils/config.js';
|
|
2
|
-
export declare const createExportConfig: (options
|
|
3
|
+
export declare const createExportConfig: (options: {
|
|
3
4
|
command?: ConfigExecuterEnv['command'];
|
|
4
5
|
configFile?: string;
|
|
6
|
+
publish?: string;
|
|
5
7
|
outputFile?: string;
|
|
6
|
-
|
|
8
|
+
env: FusionEnv;
|
|
9
|
+
service: string;
|
|
10
|
+
}) => Promise<import("@equinor/fusion-framework-module-app").AppConfig | undefined>;
|
|
7
11
|
export default createExportConfig;
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import { ConfigExecuterEnv } from '../lib/utils/config.js';
|
|
2
|
-
import { AppManifest } from '
|
|
2
|
+
import type { AppManifest } from '@equinor/fusion-framework-module-app';
|
|
3
3
|
export declare const normalizeVersion: (version: string) => {
|
|
4
4
|
major: number;
|
|
5
5
|
minor: number;
|
|
6
6
|
patch: number;
|
|
7
7
|
};
|
|
8
|
-
type AppManifestExport =
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
};
|
|
8
|
+
type AppManifestExport = AppManifest & {
|
|
9
|
+
entryPoint: string;
|
|
10
|
+
commitSha?: string;
|
|
11
|
+
githubRepo?: string;
|
|
12
|
+
timestamp?: string;
|
|
14
13
|
};
|
|
15
14
|
export declare const createExportManifest: (options?: {
|
|
16
15
|
command?: ConfigExecuterEnv['command'];
|
|
@@ -1,23 +1,21 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import express, { type Express } from 'express';
|
|
3
3
|
import { type Options as ProxyOptions } from 'http-proxy-middleware';
|
|
4
|
-
import { type AppManifest } from '../lib/app-manifest.js';
|
|
5
4
|
import { type IncomingMessage } from 'node:http';
|
|
6
|
-
import {
|
|
5
|
+
import type { AppConfig, AppManifest } from '@equinor/fusion-framework-module-app';
|
|
7
6
|
type ProxyHandlerResult<T> = {
|
|
8
7
|
response?: T;
|
|
9
8
|
statusCode?: number;
|
|
10
9
|
path?: string;
|
|
11
10
|
} | void;
|
|
12
11
|
type ProxyHandlerReturn<T> = Promise<ProxyHandlerResult<T>> | ProxyHandlerResult<T>;
|
|
12
|
+
type Slug = {
|
|
13
|
+
appKey: string;
|
|
14
|
+
};
|
|
13
15
|
export interface ProxyHandler {
|
|
14
|
-
onManifestListResponse(slug:
|
|
15
|
-
onManifestResponse(slug:
|
|
16
|
-
|
|
17
|
-
}, message: IncomingMessage, data?: AppManifest): ProxyHandlerReturn<AppManifest>;
|
|
18
|
-
onConfigResponse(slug: {
|
|
19
|
-
appKey: string;
|
|
20
|
-
}, message: IncomingMessage, data?: AppConfig): ProxyHandlerReturn<AppConfig>;
|
|
16
|
+
onManifestListResponse(slug: Slug, message: IncomingMessage, data?: Array<AppManifest>): ProxyHandlerReturn<Array<AppManifest>>;
|
|
17
|
+
onManifestResponse(slug: Slug, message: IncomingMessage, data?: AppManifest): ProxyHandlerReturn<AppManifest>;
|
|
18
|
+
onConfigResponse(slug: Slug, message: IncomingMessage, data?: AppConfig): ProxyHandlerReturn<AppConfig>;
|
|
21
19
|
}
|
|
22
20
|
export declare const createDevProxy: (handler: ProxyHandler, options: Pick<ProxyOptions, "target"> & {
|
|
23
21
|
staticAssets?: {
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type FusionEnv } from './utils/app-api.js';
|
|
2
|
+
declare enum Tags {
|
|
3
|
+
preview = "preview",
|
|
4
|
+
latest = "latest"
|
|
5
|
+
}
|
|
6
|
+
export declare const tagApplication: (options: {
|
|
7
|
+
tag: keyof typeof Tags;
|
|
8
|
+
version: string;
|
|
9
|
+
env: FusionEnv;
|
|
10
|
+
service: string;
|
|
11
|
+
}) => Promise<void>;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { AppConfig } from '@equinor/fusion-framework-module-app';
|
|
2
|
+
export type FusionEnv = 'ci' | 'fqa' | 'tr' | 'fprd';
|
|
3
|
+
export declare const getEndpointUrl: (endpoint: string, fusionEnv: FusionEnv, service: string, version?: string) => Promise<string | undefined>;
|
|
4
|
+
export declare const validateToken: () => boolean;
|
|
5
|
+
export declare const appRegistered: (appKey: string, env: FusionEnv, service: string) => Promise<any>;
|
|
6
|
+
export declare const uploadAppBundle: (appKey: string, bundle: string, env: FusionEnv, service: string) => Promise<any>;
|
|
7
|
+
export declare const tagAppBundle: (tag: string, appKey: string, version: string, env: FusionEnv, service: string) => Promise<any>;
|
|
8
|
+
export declare const publishAppConfig: (appKey: string, version: string, config: AppConfig, env: FusionEnv, service: string) => Promise<any>;
|
|
@@ -3,7 +3,7 @@ import { type ResolvedAppPackage } from '../../lib/app-package.js';
|
|
|
3
3
|
export declare const loadAppConfig: (env: ConfigExecuterEnv, pkg: ResolvedAppPackage, options?: {
|
|
4
4
|
file?: string;
|
|
5
5
|
}) => Promise<{
|
|
6
|
-
config: import("
|
|
6
|
+
config: import("@equinor/fusion-framework-module-app").AppConfig;
|
|
7
7
|
path?: string | undefined;
|
|
8
8
|
}>;
|
|
9
9
|
export default loadAppConfig;
|
|
@@ -3,7 +3,7 @@ import { type ResolvedAppPackage } from '../../lib/app-package.js';
|
|
|
3
3
|
export declare const loadAppManifest: (env: ConfigExecuterEnv, pkg: ResolvedAppPackage, options?: {
|
|
4
4
|
file?: string;
|
|
5
5
|
}) => Promise<{
|
|
6
|
-
manifest: import("
|
|
6
|
+
manifest: import("@equinor/fusion-framework-module-app").AppManifest;
|
|
7
7
|
path?: string | undefined;
|
|
8
8
|
}>;
|
|
9
9
|
export default loadAppManifest;
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import { type ResolvedConfig, type FindConfigOptions, ConfigExecuterEnv } from './utils/config.js';
|
|
2
2
|
import { ResolvedAppPackage } from './app-package.js';
|
|
3
|
-
|
|
4
|
-
environment?: Record<string, unknown>;
|
|
5
|
-
endpoints?: Record<string, string>;
|
|
6
|
-
};
|
|
3
|
+
import type { AppConfig } from '@equinor/fusion-framework-module-app';
|
|
7
4
|
type FindAppConfigOptions = FindConfigOptions & {
|
|
8
5
|
file?: string;
|
|
9
6
|
};
|
|
@@ -1,19 +1,7 @@
|
|
|
1
1
|
import { ResolvedAppPackage } from './app-package.js';
|
|
2
|
+
import type { AppManifest } from '@equinor/fusion-framework-module-app';
|
|
2
3
|
import { type FindConfigOptions, type ResolvedConfig, ConfigExecuterEnv } from './utils/config.js';
|
|
3
4
|
import { RecursivePartial } from './utils/types.js';
|
|
4
|
-
export type AppManifest = {
|
|
5
|
-
version: string;
|
|
6
|
-
key: string;
|
|
7
|
-
entry: string;
|
|
8
|
-
name: string;
|
|
9
|
-
shortName: string;
|
|
10
|
-
description?: string;
|
|
11
|
-
admins?: string[];
|
|
12
|
-
owners?: string[];
|
|
13
|
-
main?: string;
|
|
14
|
-
icon?: string;
|
|
15
|
-
resource?: string[];
|
|
16
|
-
};
|
|
17
5
|
export type AppManifestFn = (env: ConfigExecuterEnv, args: {
|
|
18
6
|
base: AppManifest;
|
|
19
7
|
}) => AppManifest | Promise<AppManifest>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PackageJson, type NormalizeOptions as ResolveAppPackageOptions } from 'read-package-up';
|
|
2
|
-
import { AppManifest } from '
|
|
2
|
+
import { AppManifest } from '@equinor/fusion-framework-module-app';
|
|
3
3
|
export type AppPackageJson = PackageJson & {
|
|
4
4
|
manifest?: AppManifest;
|
|
5
5
|
};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { mergeManifests, defineAppManifest, type
|
|
2
|
-
export { mergeAppConfigs, defineAppConfig, type
|
|
1
|
+
export { mergeManifests, defineAppManifest, type AppManifestFn } from './app-manifest.js';
|
|
2
|
+
export { mergeAppConfigs, defineAppConfig, type AppConfigFn, type AppConfigExport, } from './app-config.js';
|
|
3
3
|
export { defineAppPackage, resolveAppKey, resolveEntryPoint, type AppPackageJson, type ResolvedAppPackage, } from './app-package.js';
|
package/dist/types/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "9.12.
|
|
1
|
+
export declare const version = "9.12.8";
|
package/dist/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const version = '9.12.
|
|
1
|
+
export const version = '9.12.8';
|
|
2
2
|
//# sourceMappingURL=version.js.map
|