@equinor/fusion-framework-cli 10.0.0-widget-acdcb9b2 → 10.0.1
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 +642 -39
- package/README.md +31 -9
- package/dist/bin/build-application.js +23 -3
- package/dist/bin/build-application.js.map +1 -1
- package/dist/bin/bundle-application.js +9 -12
- package/dist/bin/bundle-application.js.map +1 -1
- package/dist/bin/create-dev-serve.js +89 -123
- package/dist/bin/create-dev-serve.js.map +1 -1
- package/dist/bin/create-export-config.js +5 -6
- package/dist/bin/create-export-config.js.map +1 -1
- package/dist/bin/create-export-manifest.js +44 -27
- package/dist/bin/create-export-manifest.js.map +1 -1
- package/dist/bin/dev-portal/AppLoader.js +26 -4
- package/dist/bin/dev-portal/AppLoader.js.map +1 -1
- package/dist/bin/dev-portal/ContextSelector/ContextSelector.js +41 -0
- package/dist/bin/dev-portal/ContextSelector/ContextSelector.js.map +1 -0
- package/dist/bin/dev-portal/ContextSelector/index.js +2 -0
- package/dist/bin/dev-portal/ContextSelector/index.js.map +1 -0
- package/dist/bin/dev-portal/ContextSelector/useContextResolver.js +171 -0
- package/dist/bin/dev-portal/ContextSelector/useContextResolver.js.map +1 -0
- package/dist/bin/dev-portal/Header.js +3 -2
- package/dist/bin/dev-portal/Header.js.map +1 -1
- package/dist/bin/dev-portal/PersonSideSheet/index.js +7 -2
- package/dist/bin/dev-portal/PersonSideSheet/index.js.map +1 -1
- package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureSheetContent.js +4 -0
- package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureSheetContent.js.map +1 -1
- package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerApp.js +3 -0
- package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerApp.js.map +1 -1
- package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerPortal.js +3 -0
- package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerPortal.js.map +1 -1
- package/dist/bin/dev-portal/PersonSideSheet/sheets/LandingSheetContent.js +3 -0
- package/dist/bin/dev-portal/PersonSideSheet/sheets/LandingSheetContent.js.map +1 -1
- package/dist/bin/dev-portal/Router.js +17 -1
- package/dist/bin/dev-portal/Router.js.map +1 -1
- package/dist/bin/dev-portal/config.js +7 -4
- package/dist/bin/dev-portal/config.js.map +1 -1
- package/dist/bin/dev-portal/main.js +1 -2
- package/dist/bin/dev-portal/main.js.map +1 -1
- package/dist/bin/dev-portal/useAppContextNavigation.js +68 -0
- package/dist/bin/dev-portal/useAppContextNavigation.js.map +1 -0
- package/dist/bin/main.app.js +92 -14
- package/dist/bin/main.app.js.map +1 -1
- package/dist/bin/main.js +5 -5
- package/dist/bin/main.js.map +1 -1
- package/dist/bin/public/assets/index-D0eBBcR8.js +5235 -0
- package/dist/bin/public/index.html +1 -5
- package/dist/bin/publish-application.js +104 -0
- package/dist/bin/publish-application.js.map +1 -0
- package/dist/bin/tag-application.js +82 -0
- package/dist/bin/tag-application.js.map +1 -0
- package/dist/bin/upload-application.js +72 -0
- package/dist/bin/upload-application.js.map +1 -0
- package/dist/bin/upload-export-config.js +87 -0
- package/dist/bin/upload-export-config.js.map +1 -0
- package/dist/bin/utils/{execute-commant.js → execute-command.js} +5 -2
- package/dist/bin/utils/execute-command.js.map +1 -0
- package/dist/bin/utils/format.js +1 -1
- package/dist/bin/utils/format.js.map +1 -1
- package/dist/bin/utils/getEndpointUrl.js +49 -0
- package/dist/bin/utils/getEndpointUrl.js.map +1 -0
- package/dist/bin/utils/index.js +14 -0
- package/dist/bin/utils/index.js.map +1 -0
- package/dist/bin/utils/isAppRegistered.js +35 -0
- package/dist/bin/utils/isAppRegistered.js.map +1 -0
- package/dist/bin/utils/load-app-config.js +3 -2
- package/dist/bin/utils/load-app-config.js.map +1 -1
- package/dist/bin/utils/load-manifest.js +9 -4
- package/dist/bin/utils/load-manifest.js.map +1 -1
- package/dist/bin/utils/load-vite-config.js.map +1 -1
- package/dist/bin/utils/proxy-request-logger.js +34 -0
- package/dist/bin/utils/proxy-request-logger.js.map +1 -0
- package/dist/bin/utils/publishAppConfig.js +36 -0
- package/dist/bin/utils/publishAppConfig.js.map +1 -0
- package/dist/bin/utils/requireToken.js +10 -0
- package/dist/bin/utils/requireToken.js.map +1 -0
- package/dist/bin/utils/spinner.js +10 -0
- package/dist/bin/utils/spinner.js.map +1 -1
- package/dist/bin/utils/tagAppBundle.js +35 -0
- package/dist/bin/utils/tagAppBundle.js.map +1 -0
- package/dist/bin/utils/uploadAppBundle.js +54 -0
- package/dist/bin/utils/uploadAppBundle.js.map +1 -0
- package/dist/lib/app-config.js +5 -17
- package/dist/lib/app-config.js.map +1 -1
- package/dist/lib/app-manifest.js +97 -15
- package/dist/lib/app-manifest.js.map +1 -1
- package/dist/lib/app-package.js +52 -5
- package/dist/lib/app-package.js.map +1 -1
- package/dist/lib/index.js +2 -5
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/plugins/app-assets/app-asset-plugin.js +102 -0
- package/dist/lib/plugins/app-assets/app-asset-plugin.js.map +1 -0
- package/dist/lib/plugins/app-assets/emit-asset.js +41 -0
- package/dist/lib/plugins/app-assets/emit-asset.js.map +1 -0
- package/dist/lib/plugins/app-assets/extension-filter-pattern.js +20 -0
- package/dist/lib/plugins/app-assets/extension-filter-pattern.js.map +1 -0
- package/dist/lib/plugins/app-assets/index.js +4 -0
- package/dist/lib/plugins/app-assets/index.js.map +1 -0
- package/dist/lib/plugins/app-assets/read-asset-content.js +34 -0
- package/dist/lib/plugins/app-assets/read-asset-content.js.map +1 -0
- package/dist/lib/plugins/app-assets/resolve-asset-id.js +63 -0
- package/dist/lib/plugins/app-assets/resolve-asset-id.js.map +1 -0
- package/dist/lib/plugins/app-assets/static.js +15 -0
- package/dist/lib/plugins/app-assets/static.js.map +1 -0
- package/dist/lib/plugins/app-proxy/app-proxy-plugin.js +127 -0
- package/dist/lib/plugins/app-proxy/app-proxy-plugin.js.map +1 -0
- package/dist/lib/plugins/app-proxy/index.js +2 -0
- package/dist/lib/plugins/app-proxy/index.js.map +1 -0
- package/dist/lib/plugins/external-public/external-public-plugin.js +103 -0
- package/dist/lib/plugins/external-public/external-public-plugin.js.map +1 -0
- package/dist/lib/plugins/external-public/index.js +2 -0
- package/dist/lib/plugins/external-public/index.js.map +1 -0
- package/dist/lib/utils/assert.js +2 -1
- package/dist/lib/utils/assert.js.map +1 -1
- package/dist/lib/utils/config.js +5 -0
- package/dist/lib/utils/config.js.map +1 -1
- package/dist/lib/utils/file-exists.js.map +1 -1
- package/dist/lib/utils/ts-transpile.js.map +1 -1
- package/dist/lib/vite-config.js +7 -8
- package/dist/lib/vite-config.js.map +1 -1
- package/dist/lib/vite-logger.js +2 -0
- package/dist/lib/vite-logger.js.map +1 -1
- package/dist/schemas.js +14 -0
- package/dist/schemas.js.map +1 -0
- package/dist/types/bin/build-application.d.ts +3 -3
- package/dist/types/bin/bundle-application.d.ts +0 -1
- package/dist/types/bin/create-dev-serve.d.ts +1 -4
- package/dist/types/bin/create-export-config.d.ts +9 -3
- package/dist/types/bin/create-export-manifest.d.ts +7 -11
- package/dist/types/bin/dev-portal/AppLoader.d.ts +7 -0
- package/dist/types/bin/dev-portal/ContextSelector/ContextSelector.d.ts +8 -0
- package/dist/types/bin/dev-portal/ContextSelector/index.d.ts +1 -0
- package/dist/types/bin/dev-portal/ContextSelector/useContextResolver.d.ts +15 -0
- package/dist/types/bin/dev-portal/FusionLogo.d.ts +0 -1
- package/dist/types/bin/dev-portal/PersonSideSheet/index.d.ts +4 -0
- package/dist/types/bin/dev-portal/PersonSideSheet/sheets/FeatureSheetContent.d.ts +4 -0
- package/dist/types/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerApp.d.ts +3 -0
- package/dist/types/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerPortal.d.ts +3 -0
- package/dist/types/bin/dev-portal/PersonSideSheet/sheets/LandingSheetContent.d.ts +3 -0
- package/dist/types/bin/dev-portal/PersonSideSheet/sheets/Styled.d.ts +4 -1088
- package/dist/types/bin/dev-portal/useAppContextNavigation.d.ts +5 -0
- 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/upload-export-config.d.ts +10 -0
- package/dist/types/bin/utils/execute-command.d.ts +8 -0
- package/dist/types/bin/utils/format.d.ts +0 -1
- package/dist/types/bin/utils/getEndpointUrl.d.ts +10 -0
- package/dist/types/bin/utils/index.d.ts +14 -0
- package/dist/types/bin/utils/isAppRegistered.d.ts +5 -0
- package/dist/types/bin/utils/load-app-config.d.ts +3 -2
- package/dist/types/bin/utils/load-manifest.d.ts +3 -2
- package/dist/types/bin/utils/proxy-request-logger.d.ts +15 -0
- package/dist/types/bin/utils/publishAppConfig.d.ts +9 -0
- package/dist/types/bin/utils/requireToken.d.ts +4 -0
- package/dist/types/bin/utils/spinner.d.ts +1 -0
- package/dist/types/bin/utils/tagAppBundle.d.ts +7 -0
- package/dist/types/bin/utils/uploadAppBundle.d.ts +7 -0
- package/dist/types/lib/app-config.d.ts +14 -14
- package/dist/types/lib/app-manifest.d.ts +30 -14
- package/dist/types/lib/app-package.d.ts +35 -4
- package/dist/types/lib/index.d.ts +2 -5
- package/dist/types/lib/plugins/app-assets/app-asset-plugin.d.ts +36 -0
- package/dist/types/lib/plugins/app-assets/emit-asset.d.ts +18 -0
- package/dist/types/lib/plugins/app-assets/extension-filter-pattern.d.ts +14 -0
- package/dist/types/lib/plugins/app-assets/index.d.ts +3 -0
- package/dist/types/lib/plugins/app-assets/read-asset-content.d.ts +14 -0
- package/dist/types/lib/plugins/app-assets/resolve-asset-id.d.ts +16 -0
- package/dist/types/lib/plugins/app-assets/static.d.ts +5 -0
- package/dist/types/lib/plugins/app-proxy/app-proxy-plugin.d.ts +71 -0
- package/dist/types/lib/plugins/app-proxy/index.d.ts +1 -0
- package/dist/types/lib/plugins/external-public/external-public-plugin.d.ts +30 -0
- package/dist/types/lib/plugins/external-public/index.d.ts +1 -0
- package/dist/types/lib/utils/assert.d.ts +2 -1
- package/dist/types/lib/utils/config.d.ts +9 -6
- package/dist/types/lib/utils/expect.d.ts +1 -1
- package/dist/types/lib/vite-config.d.ts +1 -1
- package/dist/types/schemas.d.ts +30 -0
- package/dist/types/version.d.ts +1 -1
- package/dist/version.js +2 -1
- package/dist/version.js.map +1 -1
- package/package.json +52 -42
- package/dist/bin/bundle-widget.js +0 -61
- package/dist/bin/bundle-widget.js.map +0 -1
- package/dist/bin/create-export-manifest-widget.js +0 -68
- package/dist/bin/create-export-manifest-widget.js.map +0 -1
- package/dist/bin/dev-portal/ContextSelector.js +0 -107
- package/dist/bin/dev-portal/ContextSelector.js.map +0 -1
- package/dist/bin/dev-portal/usePersonResolver.js +0 -40
- package/dist/bin/dev-portal/usePersonResolver.js.map +0 -1
- package/dist/bin/dev-proxy.js +0 -90
- package/dist/bin/dev-proxy.js.map +0 -1
- package/dist/bin/main.widget.js +0 -78
- package/dist/bin/main.widget.js.map +0 -1
- package/dist/bin/public/assets/index-UrNngCGF.js +0 -4083
- package/dist/bin/utils/execute-commant.js.map +0 -1
- package/dist/bin/utils/load-dev-proxy.js +0 -56
- package/dist/bin/utils/load-dev-proxy.js.map +0 -1
- package/dist/bin/utils/load-widget-manifest.js +0 -35
- package/dist/bin/utils/load-widget-manifest.js.map +0 -1
- package/dist/bin/utils/load-widget-package.js +0 -24
- package/dist/bin/utils/load-widget-package.js.map +0 -1
- package/dist/index.js +0 -12
- package/dist/index.js.map +0 -1
- package/dist/lib/dev-config.js +0 -9
- package/dist/lib/dev-config.js.map +0 -1
- package/dist/lib/widget-config.js +0 -57
- package/dist/lib/widget-config.js.map +0 -1
- package/dist/lib/widget-manifest.js +0 -73
- package/dist/lib/widget-manifest.js.map +0 -1
- package/dist/lib/widget-package.js +0 -33
- package/dist/lib/widget-package.js.map +0 -1
- package/dist/types/bin/bundle-widget.d.ts +0 -5
- package/dist/types/bin/create-export-manifest-widget.d.ts +0 -20
- package/dist/types/bin/dev-portal/ContextSelector.d.ts +0 -2
- package/dist/types/bin/dev-portal/usePersonResolver.d.ts +0 -1
- package/dist/types/bin/dev-proxy.d.ts +0 -39
- package/dist/types/bin/main.widget.d.ts +0 -3
- package/dist/types/bin/utils/execute-commant.d.ts +0 -8
- package/dist/types/bin/utils/load-dev-proxy.d.ts +0 -6
- package/dist/types/bin/utils/load-widget-manifest.d.ts +0 -8
- package/dist/types/bin/utils/load-widget-package.d.ts +0 -5
- package/dist/types/index.d.ts +0 -4
- package/dist/types/lib/dev-config.d.ts +0 -13
- package/dist/types/lib/widget-config.d.ts +0 -26
- package/dist/types/lib/widget-manifest.d.ts +0 -53
- package/dist/types/lib/widget-package.d.ts +0 -23
|
@@ -1 +1 @@
|
|
|
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,CAC1B,GAAsB,EACtB,OAEC,EACH,EAAE;IACA,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,IAAI;
|
|
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,CAC1B,GAAsB,EACtB,OAEC,EACH,EAAE;IACA,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,IAAI,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAC/C,MAAM,aAAa,GAAG,MAAM,mBAAmB,CAAC,GAAG,EAAE;YACjD,IAAI,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI;SACtB,CAAC,CAAC;QACH,OAAO,CAAC,OAAO,EAAE,CAAC;QAClB,IAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,IAAI,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9E,CAAC;aAAM,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,mCAAmC,UAAU,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YAC7E,MAAM,IAAI,cAAc,CAAC;gBACrB,OAAO,EAAE,gCAAgC,UAAU,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC,EAAE;gBACpE,QAAQ,EAAE,cAAc;aAC3B,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,IAAI,CACR,KAAK,CAAC,GAAG,CACL,oDAAoD,UAAU,CAC1D,4BAA4B,CAC/B,EAAE,CACN,CACJ,CAAC;QACN,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,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,EAAE,CAAC;YACxB,OAAO;gBACH,UAAU,EAAE,WAAW,CAAC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC;gBACzD,IAAI,EAAE,aAAa,CAAC,IAAI;aAC3B,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,OAAO,EAAE,UAAU,EAAE,CAAC;QAC1B,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,GAAG,CAAC;IACd,CAAC;AACL,CAAC,CAAA,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,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
|
+
/**
|
|
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 >= 400) {
|
|
30
|
+
const response = yield requestConfig.json();
|
|
31
|
+
console.log(response);
|
|
32
|
+
throw new Error(`Failed to upload config. HTTP status ${requestConfig.status}, ${requestConfig.statusText}`);
|
|
33
|
+
}
|
|
34
|
+
return requestConfig.json();
|
|
35
|
+
});
|
|
36
|
+
//# 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,MAAoB,EAAE,EAAE;IAC7F,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,IAAI,GAAG,EAAE,CAAC;QAC1D,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,IAAI,KAAK,CACX,wCAAwC,aAAa,CAAC,MAAM,KAAK,aAAa,CAAC,UAAU,EAAE,CAC9F,CAAC;IACN,CAAC;IAED,OAAO,aAAa,CAAC,IAAI,EAAE,CAAC;AAChC,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"}
|
|
@@ -12,10 +12,20 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
|
|
|
12
12
|
var _Spinner_ora;
|
|
13
13
|
import ora from 'ora';
|
|
14
14
|
const parseArgs = (args) => args.length ? args.join(' ') : undefined;
|
|
15
|
+
const originalConsole = console;
|
|
15
16
|
export class Spinner {
|
|
16
17
|
get ora() {
|
|
17
18
|
return __classPrivateFieldGet(this, _Spinner_ora, "f");
|
|
18
19
|
}
|
|
20
|
+
set attachConsole(value) {
|
|
21
|
+
if (value) {
|
|
22
|
+
console.log = this.info.bind(this);
|
|
23
|
+
console.info = this.info.bind(this);
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
console = originalConsole;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
19
29
|
static Global(options) {
|
|
20
30
|
_spinner = new Spinner(options);
|
|
21
31
|
return _spinner;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spinner.js","sourceRoot":"","sources":["../../../src/bin/utils/spinner.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,GAA0B,MAAM,KAAK,CAAC;AAE7C,MAAM,SAAS,GAAG,CAAC,IAAc,EAAsB,EAAE,CACrD,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAE7C,MAAM,OAAO,OAAO;IAGhB,IAAI,GAAG;QACH,OAAO,uBAAA,IAAI,oBAAK,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,OAAiB;QAC3B,QAAQ,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;QAChC,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAiB;QAC1B,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,IAAI,QAAQ,CAAC;QAC3C,OAAO,IAAI,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,KAAK,OAAO;QACd,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,MAAM,KAAK,OAAO,CAAC,OAAgB;QAC/B,QAAQ,GAAG,OAAO,CAAC;IACvB,CAAC;IAED,YAAY,OAAiB;
|
|
1
|
+
{"version":3,"file":"spinner.js","sourceRoot":"","sources":["../../../src/bin/utils/spinner.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,GAA0B,MAAM,KAAK,CAAC;AAE7C,MAAM,SAAS,GAAG,CAAC,IAAc,EAAsB,EAAE,CACrD,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAE7C,MAAM,eAAe,GAAG,OAAO,CAAC;AAEhC,MAAM,OAAO,OAAO;IAGhB,IAAI,GAAG;QACH,OAAO,uBAAA,IAAI,oBAAK,CAAC;IACrB,CAAC;IAED,IAAI,aAAa,CAAC,KAAc;QAC5B,IAAI,KAAK,EAAE,CAAC;YACR,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;QACxC,CAAC;aAAM,CAAC;YACJ,OAAO,GAAG,eAAe,CAAC;QAC9B,CAAC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,OAAiB;QAC3B,QAAQ,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;QAChC,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAiB;QAC1B,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,IAAI,QAAQ,CAAC;QAC3C,OAAO,IAAI,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,KAAK,OAAO;QACd,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,MAAM,KAAK,OAAO,CAAC,OAAgB;QAC/B,QAAQ,GAAG,OAAO,CAAC;IACvB,CAAC;IAED,YAAY,OAAiB;QAjC7B,+BAAU;QAkCN,uBAAA,IAAI,gBAAQ,GAAG,CAAC,OAAO,CAAC,MAAA,CAAC;IAC7B,CAAC;IAED,IAAI,UAAU;QACV,OAAO,uBAAA,IAAI,oBAAK,CAAC,UAAU,CAAC;IAChC,CAAC;IACD,IAAI,CAAC,GAAG,IAAc;QAClB,uBAAA,IAAI,oBAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,CAAC,GAAG,IAAc;QACrB,uBAAA,IAAI,oBAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,KAAK,CAAC,GAAG,IAAc;QACnB,uBAAA,IAAI,oBAAK,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,CAAC,GAAG,IAAc;QAClB,uBAAA,IAAI,oBAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,IAAI,CAAC,GAAG,IAAc;QAClB,uBAAA,IAAI,oBAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,KAAK;QACD,uBAAA,IAAI,oBAAK,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IACD,IAAI;QACA,uBAAA,IAAI,oBAAK,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IACD,cAAc,CAAC,GAAG,IAAuC;QACrD,uBAAA,IAAI,oBAAK,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,CAAC;IACtC,CAAC;CACJ;;AAED,IAAI,QAAQ,GAAG,IAAI,OAAO,EAAE,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
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
|
+
const response = yield requestTag.json();
|
|
30
|
+
console.log(response);
|
|
31
|
+
throw new Error(`Failed to tag bundle. HTTP status ${requestTag.status}, ${requestTag.statusText}`);
|
|
32
|
+
}
|
|
33
|
+
return requestTag.json();
|
|
34
|
+
});
|
|
35
|
+
//# 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,QAAQ,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,IAAI,KAAK,CACX,qCAAqC,UAAU,CAAC,MAAM,KAAK,UAAU,CAAC,UAAU,EAAE,CACrF,CAAC;IACN,CAAC;IAED,OAAO,UAAU,CAAC,IAAI,EAAE,CAAC;AAC7B,CAAC,CAAA,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
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
|
+
/**
|
|
12
|
+
* Function that uploads a zip bundle to the endpoint.
|
|
13
|
+
* @param endpoint string The endpoint to upload to
|
|
14
|
+
* @param bundle string The filename to upload
|
|
15
|
+
* @returns Object
|
|
16
|
+
*/
|
|
17
|
+
export const uploadAppBundle = (endpoint, bundle) => __awaiter(void 0, void 0, void 0, function* () {
|
|
18
|
+
const state = {
|
|
19
|
+
buffer: null,
|
|
20
|
+
};
|
|
21
|
+
try {
|
|
22
|
+
state.buffer = readFileSync(bundle);
|
|
23
|
+
}
|
|
24
|
+
catch (_a) {
|
|
25
|
+
throw new Error(`😞 Could not read bundle ${bundle}, does it exist?`);
|
|
26
|
+
}
|
|
27
|
+
const requestBundle = yield fetch(endpoint, {
|
|
28
|
+
method: 'POST',
|
|
29
|
+
body: state.buffer,
|
|
30
|
+
headers: {
|
|
31
|
+
Authorization: `Bearer ${process.env.FUSION_TOKEN}`,
|
|
32
|
+
'Content-Type': 'application/zip',
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
if (requestBundle.status === 401 || requestBundle.status === 403) {
|
|
36
|
+
throw new Error(`This is not allowed for this role on this app. HTTP message: ${requestBundle.statusText}`);
|
|
37
|
+
}
|
|
38
|
+
if (requestBundle.status === 404) {
|
|
39
|
+
throw new Error(`This app do not exist. HTTP message: ${requestBundle.statusText}`);
|
|
40
|
+
}
|
|
41
|
+
if (requestBundle.status === 409) {
|
|
42
|
+
throw new Error(`This version is already published. HTTP message: ${requestBundle.statusText}`);
|
|
43
|
+
}
|
|
44
|
+
if (requestBundle.status === 410) {
|
|
45
|
+
throw new Error(`This app is deleted. HTTP message: ${requestBundle.statusText}`);
|
|
46
|
+
}
|
|
47
|
+
if (!requestBundle.ok) {
|
|
48
|
+
const json = yield requestBundle.json();
|
|
49
|
+
console.error(json);
|
|
50
|
+
throw new Error(`Failed to publish bundle. HTTP status ${requestBundle.status}, ${requestBundle.statusText}`);
|
|
51
|
+
}
|
|
52
|
+
return requestBundle.json();
|
|
53
|
+
});
|
|
54
|
+
//# sourceMappingURL=uploadAppBundle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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,CAAO,QAAgB,EAAE,MAAc,EAAE,EAAE;IACtE,MAAM,KAAK,GAA8B;QACrC,MAAM,EAAE,IAAI;KACf,CAAC;IAEF,IAAI,CAAC;QACD,KAAK,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAAC,WAAM,CAAC;QACL,MAAM,IAAI,KAAK,CAAC,4BAA4B,MAAM,kBAAkB,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;QACxC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,KAAK,CAAC,MAAM;QAClB,OAAO,EAAE;YACL,aAAa,EAAE,UAAU,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE;YACnD,cAAc,EAAE,iBAAiB;SACpC;KACJ,CAAC,CAAC;IAEH,IAAI,aAAa,CAAC,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC/D,MAAM,IAAI,KAAK,CACX,gEAAgE,aAAa,CAAC,UAAU,EAAE,CAC7F,CAAC;IACN,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,wCAAwC,aAAa,CAAC,UAAU,EAAE,CAAC,CAAC;IACxF,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACX,oDAAoD,aAAa,CAAC,UAAU,EAAE,CACjF,CAAC;IACN,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,sCAAsC,aAAa,CAAC,UAAU,EAAE,CAAC,CAAC;IACtF,CAAC;IAED,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC;QACpB,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;QACxC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACpB,MAAM,IAAI,KAAK,CACX,yCAAyC,aAAa,CAAC,MAAM,KAAK,aAAa,CAAC,UAAU,EAAE,CAC/F,CAAC;IACN,CAAC;IAED,OAAO,aAAa,CAAC,IAAI,EAAE,CAAC;AAChC,CAAC,CAAA,CAAC"}
|
package/dist/lib/app-config.js
CHANGED
|
@@ -8,18 +8,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
10
|
import { loadConfig, initiateConfig, resolveConfig, } from './utils/config.js';
|
|
11
|
-
import { AssertionError
|
|
12
|
-
import
|
|
11
|
+
import { AssertionError } from './utils/assert.js';
|
|
12
|
+
import { ApiAppConfigSchema } from '../schemas.js';
|
|
13
13
|
export const appConfigFilename = 'app.config';
|
|
14
|
-
export function assertAppConfig(value) {
|
|
15
|
-
assertObject(value);
|
|
16
|
-
}
|
|
17
14
|
export const defineAppConfig = (fn) => fn;
|
|
18
|
-
export const mergeAppConfigs = (base, overrides) => {
|
|
19
|
-
const manifest = deepmerge(base, overrides);
|
|
20
|
-
assertAppConfig(manifest);
|
|
21
|
-
return manifest;
|
|
22
|
-
};
|
|
23
15
|
export const loadAppConfig = (filename) => loadConfig(filename !== null && filename !== void 0 ? filename : appConfigFilename);
|
|
24
16
|
export const resolveAppConfig = (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
25
17
|
if (options === null || options === void 0 ? void 0 : options.file) {
|
|
@@ -31,16 +23,12 @@ export const resolveAppConfig = (options) => __awaiter(void 0, void 0, void 0, f
|
|
|
31
23
|
}
|
|
32
24
|
return resolveConfig(appConfigFilename, { find: options });
|
|
33
25
|
});
|
|
34
|
-
export const createAppConfigFromPackage = (_pkg) => {
|
|
35
|
-
const appConfig = {};
|
|
36
|
-
assertAppConfig(appConfig);
|
|
37
|
-
return appConfig;
|
|
38
|
-
};
|
|
39
26
|
export const createAppConfig = (env, base, options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
27
|
+
var _a;
|
|
40
28
|
const resolved = yield resolveAppConfig(options);
|
|
41
29
|
if (resolved) {
|
|
42
|
-
const
|
|
43
|
-
|
|
30
|
+
const configValue = (_a = (yield initiateConfig(resolved.config, env, { base }))) !== null && _a !== void 0 ? _a : {};
|
|
31
|
+
const config = ApiAppConfigSchema.parse(configValue);
|
|
44
32
|
return { config, path: resolved.path };
|
|
45
33
|
}
|
|
46
34
|
else if (options === null || options === void 0 ? void 0 : options.file) {
|
|
@@ -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,EACH,UAAU,EAGV,cAAc,EAEd,aAAa,GAChB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAgB,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAYjE,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,CAC/C,UAAU,CAAe,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,iBAAiB,CAAC,CAAC;AAE5D,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,eAAe,GAAG,CAC3B,GAAsB,EACtB,IAAkB,EAClB,OAA8B,EACkB,EAAE;;IAClD,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACjD,IAAI,QAAQ,EAAE,CAAC;QACX,MAAM,WAAW,GAAG,MAAA,CAAC,MAAM,cAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,mCAAI,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;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"}
|
package/dist/lib/app-manifest.js
CHANGED
|
@@ -7,21 +7,68 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
-
import
|
|
11
|
-
import {
|
|
10
|
+
import deepMerge from 'deepmerge';
|
|
11
|
+
import { execSync } from 'node:child_process';
|
|
12
|
+
import { resolveAppKey, resolveEntryPoint, } from './app-package.js';
|
|
12
13
|
import { loadConfig, initiateConfig, resolveConfig, } from './utils/config.js';
|
|
13
14
|
import { AssertionError, assert, assertObject } from './utils/assert.js';
|
|
15
|
+
import { parse as parseSemver } from 'semver';
|
|
16
|
+
import { StandardIncludeAssetExtensions } from './plugins/app-assets/index.js';
|
|
17
|
+
/** base filename for configuration files */
|
|
14
18
|
export const manifestConfigFilename = 'app.manifest.config';
|
|
19
|
+
/**
|
|
20
|
+
* Define a manifest for an application
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```ts
|
|
24
|
+
* export default defineAppManifest(async() => {
|
|
25
|
+
* return {
|
|
26
|
+
* ...AppManifest_properties
|
|
27
|
+
* }
|
|
28
|
+
* })
|
|
29
|
+
* ```
|
|
30
|
+
* @param fnOrObj - defines the manifest as an object or callback
|
|
31
|
+
*/
|
|
15
32
|
export const defineAppManifest = (fn) => fn;
|
|
16
33
|
export function assertAppManifest(value) {
|
|
34
|
+
var _a;
|
|
17
35
|
assert(value, 'expected manifest');
|
|
36
|
+
assert(value.build, 'expected build');
|
|
37
|
+
assert(parseSemver((_a = value.build) === null || _a === void 0 ? void 0 : _a.version), 'invalid version');
|
|
38
|
+
// TODO make assertions
|
|
18
39
|
}
|
|
40
|
+
// /**
|
|
41
|
+
// * assert that the package version of the manifest is correct
|
|
42
|
+
// *
|
|
43
|
+
// * @TODO this should assert semver not .net syntax 🥺
|
|
44
|
+
// */
|
|
45
|
+
// export function assertPackageVersion(value: AppManifest['version']): asserts value {
|
|
46
|
+
// assertObjectEntries(value, {
|
|
47
|
+
// props: ['major', 'minor', 'patch'],
|
|
48
|
+
// assertion: (v, k): asserts v => assertNumber(v, `invalid value for version.${k}`),
|
|
49
|
+
// preMessage: 'expected package version',
|
|
50
|
+
// });
|
|
51
|
+
// }
|
|
52
|
+
/**
|
|
53
|
+
* @example
|
|
54
|
+
* ```ts
|
|
55
|
+
* export default defineAppManifest(base) => mergeManifests(base, {prop: value});
|
|
56
|
+
* ```
|
|
57
|
+
* @param base base manifest to merge with
|
|
58
|
+
* @param overrides target manifest to apply to base
|
|
59
|
+
* @returns deep merged manifest
|
|
60
|
+
*/
|
|
19
61
|
export const mergeManifests = (base, overrides) => {
|
|
20
|
-
const manifest =
|
|
62
|
+
const manifest = deepMerge(base, overrides);
|
|
21
63
|
assertAppManifest(manifest);
|
|
22
64
|
return manifest;
|
|
23
65
|
};
|
|
66
|
+
/** loads manifestFn from file */
|
|
24
67
|
export const loadManifest = (filename) => loadConfig(filename !== null && filename !== void 0 ? filename : manifestConfigFilename);
|
|
68
|
+
/**
|
|
69
|
+
* tries to resolve manifest
|
|
70
|
+
* @see {@link resolveConfig | resolving config}
|
|
71
|
+
*/
|
|
25
72
|
export const resolveManifest = (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
26
73
|
if (options === null || options === void 0 ? void 0 : options.file) {
|
|
27
74
|
const config = yield loadManifest(options.file);
|
|
@@ -32,30 +79,65 @@ export const resolveManifest = (options) => __awaiter(void 0, void 0, void 0, fu
|
|
|
32
79
|
}
|
|
33
80
|
return resolveConfig(manifestConfigFilename, { find: options });
|
|
34
81
|
});
|
|
82
|
+
const resolveGithubRepo = (pkg) => {
|
|
83
|
+
try {
|
|
84
|
+
/* get reporurl from package.json */
|
|
85
|
+
if (pkg.repository) {
|
|
86
|
+
return typeof pkg.repository === 'string' ? pkg.repository : pkg.repository.url;
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
/* get reporurl from git command */
|
|
90
|
+
return execSync('git remote get-url origin')
|
|
91
|
+
.toString()
|
|
92
|
+
.trim()
|
|
93
|
+
.replace('git@github.com:', 'https://github.com/')
|
|
94
|
+
.replace(/.git$/, '');
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
catch (_a) {
|
|
98
|
+
return undefined;
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
const resolveGitCommitSha = () => {
|
|
102
|
+
try {
|
|
103
|
+
return execSync('git rev-parse HEAD').toString().trim();
|
|
104
|
+
}
|
|
105
|
+
catch (_a) {
|
|
106
|
+
return undefined;
|
|
107
|
+
}
|
|
108
|
+
};
|
|
35
109
|
export const createManifestFromPackage = (pkg) => {
|
|
36
|
-
var _a, _b, _c, _d;
|
|
37
110
|
const { packageJson } = pkg;
|
|
38
111
|
assertObject(packageJson, 'expected packageJson');
|
|
39
112
|
assert(packageJson.name, 'expected [name] in packageJson');
|
|
40
113
|
assert(packageJson.version, 'expected [version] in packageJson');
|
|
41
|
-
const
|
|
42
|
-
const entry = resolveEntryPoint(pkg.packageJson);
|
|
43
|
-
assert(entry, 'expected [version] in packageJson');
|
|
114
|
+
const entryPoint = resolveEntryPoint(packageJson);
|
|
44
115
|
const manifest = {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
116
|
+
appKey: resolveAppKey(pkg.packageJson),
|
|
117
|
+
displayName: packageJson.name,
|
|
118
|
+
description: packageJson.description || '',
|
|
119
|
+
keywords: packageJson.keywords,
|
|
120
|
+
type: 'standalone',
|
|
121
|
+
build: {
|
|
122
|
+
entryPoint,
|
|
123
|
+
version: packageJson.version,
|
|
124
|
+
timestamp: new Date().toISOString(),
|
|
125
|
+
githubRepo: resolveGithubRepo(packageJson),
|
|
126
|
+
commitSha: resolveGitCommitSha(),
|
|
127
|
+
annotations: packageJson.annotations,
|
|
128
|
+
projectPage: packageJson.homepage,
|
|
129
|
+
allowedExtensions: StandardIncludeAssetExtensions.map(
|
|
130
|
+
// TODO: @jaysencpp, this is just 🫤, extensions should not require leading dot
|
|
131
|
+
(ext) => `.${ext}`),
|
|
132
|
+
},
|
|
51
133
|
};
|
|
52
|
-
assertAppManifest(manifest);
|
|
53
134
|
return manifest;
|
|
54
135
|
};
|
|
55
136
|
export const createManifest = (env, base, options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
56
137
|
const resolved = yield resolveManifest(options);
|
|
57
138
|
if (resolved) {
|
|
58
|
-
const
|
|
139
|
+
const configuredManifest = yield initiateConfig(resolved.config, env, { base });
|
|
140
|
+
const manifest = deepMerge(base, configuredManifest !== null && configuredManifest !== void 0 ? configuredManifest : {});
|
|
59
141
|
assertAppManifest(manifest);
|
|
60
142
|
return { manifest, path: resolved.path };
|
|
61
143
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-manifest.js","sourceRoot":"","sources":["../../src/lib/app-manifest.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,SAAS,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"app-manifest.js","sourceRoot":"","sources":["../../src/lib/app-manifest.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/app-package.js
CHANGED
|
@@ -7,21 +7,68 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
+
import { existsSync } from 'node:fs';
|
|
11
|
+
import { dirname, relative } from 'node:path';
|
|
10
12
|
import { readPackageUp, } from 'read-package-up';
|
|
11
13
|
import { assert } from './utils/assert.js';
|
|
12
14
|
export function defineAppPackage(fnOrObject) {
|
|
13
15
|
return fnOrObject;
|
|
14
16
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
/**
|
|
18
|
+
* Resolves the entry point of a given package.
|
|
19
|
+
*
|
|
20
|
+
* This function attempts to find the entry point of a package by checking several
|
|
21
|
+
* common properties in the package's `package.json` file, such as `entrypoint`, `main`,
|
|
22
|
+
* and `module`. If none of these properties are found, it defaults to checking for
|
|
23
|
+
* common entry files like `src/index.ts`, `src/index.tsx`, `src/index.js`, and `src/index.jsx`.
|
|
24
|
+
*
|
|
25
|
+
* @param pkg - The resolved application package containing the package.json and path information.
|
|
26
|
+
* @returns The relative path to the resolved entry point.
|
|
27
|
+
* @throws Will throw an error if no entry point can be resolved.
|
|
28
|
+
*/
|
|
29
|
+
export const resolveEntryPoint = (packageJson, pkgPath = '') => {
|
|
30
|
+
const entrypoint = [
|
|
31
|
+
packageJson.entrypoint,
|
|
32
|
+
packageJson.main,
|
|
33
|
+
packageJson.module,
|
|
34
|
+
'src/index.ts',
|
|
35
|
+
'src/index.tsx',
|
|
36
|
+
'src/index.js',
|
|
37
|
+
'src/index.jsx',
|
|
38
|
+
]
|
|
39
|
+
.filter((x) => !!x)
|
|
40
|
+
.map((x) => relative(dirname(pkgPath), x))
|
|
41
|
+
.find((entry) => existsSync(entry));
|
|
42
|
+
assert(entrypoint, 'failed to resolve entrypoint');
|
|
43
|
+
return entrypoint;
|
|
19
44
|
};
|
|
45
|
+
/**
|
|
46
|
+
* Resolves the application key from the given package.json object.
|
|
47
|
+
*
|
|
48
|
+
* @param packageJson - An object containing the 'name' property from the package.json.
|
|
49
|
+
* @returns The resolved application key, which is the package name with any leading '@' or scope removed.
|
|
50
|
+
* @throws Will throw an error if the 'name' property is not present in the packageJson.
|
|
51
|
+
*/
|
|
20
52
|
export const resolveAppKey = (packageJson) => {
|
|
21
53
|
assert(packageJson.name, 'expected [name] in packageJson');
|
|
22
54
|
return packageJson.name.replace(/^@|\w.*\//gm, '');
|
|
23
55
|
};
|
|
24
|
-
|
|
56
|
+
/**
|
|
57
|
+
* Asserts the validity of a given package by resolving its application key and entry point.
|
|
58
|
+
*
|
|
59
|
+
* @param pkg - A partial representation of the application's package JSON.
|
|
60
|
+
*/
|
|
61
|
+
export const assertPackage = (pkg) => {
|
|
62
|
+
assert(resolveAppKey(pkg));
|
|
63
|
+
assert(resolveEntryPoint(pkg));
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* Resolves the application package by searching for the nearest `package.json` file.
|
|
67
|
+
*
|
|
68
|
+
* @param options - Optional parameters to customize the search behavior.
|
|
69
|
+
* @returns A promise that resolves to the found package information.
|
|
70
|
+
* @throws Will throw an error if the `package.json` file is not found.
|
|
71
|
+
*/
|
|
25
72
|
export const resolveAppPackage = (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
26
73
|
const result = yield readPackageUp(options);
|
|
27
74
|
if (!result) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-package.js","sourceRoot":"","sources":["../../src/lib/app-package.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAEH,aAAa,GAEhB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAsB3C,MAAM,UAAU,gBAAgB,CAAC,UAAiC;IAC9D,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"app-package.js","sourceRoot":"","sources":["../../src/lib/app-package.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE9C,OAAO,EAEH,aAAa,GAEhB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAsB3C,MAAM,UAAU,gBAAgB,CAAC,UAAiC;IAC9D,OAAO,UAAU,CAAC;AACtB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,WAAwB,EAAE,UAAkB,EAAE,EAAU,EAAE;IACxF,MAAM,UAAU,GAAG;QACf,WAAW,CAAC,UAAU;QACtB,WAAW,CAAC,IAAI;QAChB,WAAW,CAAC,MAAM;QAClB,cAAc;QACd,eAAe;QACf,cAAc;QACd,eAAe;KAClB;SACI,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;SAC/B,GAAG,CAAC,CAAC,CAAC,EAAU,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;SACjD,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IAExC,MAAM,CAAC,UAAU,EAAE,8BAA8B,CAAC,CAAC;IAEnD,OAAO,UAAU,CAAC;AACtB,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,WAAsC,EAAE,EAAE;IACpE,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,gCAAgC,CAAC,CAAC;IAC3D,OAAO,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAA4B,EAAE,EAAE;IAC1D,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,MAAM,CAAC,iBAAiB,CAAC,GAAqB,CAAC,CAAC,CAAC;AACrD,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC7B,OAAkC,EACP,EAAE;IAC7B,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,MAAM,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC,CAAA,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
package/dist/lib/index.js
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
export { mergeManifests, defineAppManifest
|
|
2
|
-
export {
|
|
1
|
+
export { mergeManifests, defineAppManifest } from './app-manifest.js';
|
|
2
|
+
export { defineAppConfig } from './app-config.js';
|
|
3
3
|
export { defineAppPackage, resolveAppKey, resolveEntryPoint, } from './app-package.js';
|
|
4
|
-
export { mergeWidgetManifests, defineWidgetManifest, createWidgetManifest, } from './widget-manifest.js';
|
|
5
|
-
export { mergeWidgetConfigs, defineWidgetConfig, } from './widget-config.js';
|
|
6
|
-
export { createDevConfig } from './dev-config.js';
|
|
7
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,EAAE,eAAe,EAA0C,MAAM,iBAAiB,CAAC;AAE1F,OAAO,EACH,gBAAgB,EAChB,aAAa,EACb,iBAAiB,GAGpB,MAAM,kBAAkB,CAAC"}
|