@alauda-fe/plugin-sdk 0.0.1 → 0.0.2

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 (32) hide show
  1. package/esm2022/index.mjs +2 -3
  2. package/esm2022/lib/app-extensions.mjs +49 -4
  3. package/esm2022/lib/components/remote-component-outlet/component.mjs +5 -5
  4. package/esm2022/lib/extension-points/account-menu.mjs +48 -0
  5. package/esm2022/lib/extension-points/header-actions.mjs +48 -0
  6. package/esm2022/lib/extension-points/help-menu.mjs +48 -0
  7. package/esm2022/lib/extension-points/index.mjs +6 -0
  8. package/esm2022/lib/extension-points/navigation.mjs +104 -0
  9. package/esm2022/lib/extension-points/route.mjs +18 -0
  10. package/esm2022/lib/extensions-loader.mjs +10 -5
  11. package/esm2022/lib/utils.mjs +27 -4
  12. package/esm2022/remote/alauda-fe-plugin-sdk-remote.mjs +5 -0
  13. package/esm2022/remote/index.mjs +3 -0
  14. package/esm2022/remote/lib/runtime.mjs +22 -0
  15. package/esm2022/remote/lib/translate.mjs +102 -0
  16. package/index.d.ts +1 -2
  17. package/lib/app-extensions.d.ts +4 -2
  18. package/lib/components/remote-component-outlet/component.d.ts +1 -1
  19. package/lib/extension-points/account-menu.d.ts +16 -0
  20. package/lib/extension-points/header-actions.d.ts +17 -0
  21. package/lib/extension-points/help-menu.d.ts +17 -0
  22. package/lib/extension-points/index.d.ts +5 -0
  23. package/lib/{navigation.d.ts → extension-points/navigation.d.ts} +1 -1
  24. package/lib/{route.d.ts → extension-points/route.d.ts} +2 -1
  25. package/lib/extensions-loader.d.ts +4 -3
  26. package/lib/utils.d.ts +7 -0
  27. package/package.json +7 -1
  28. package/remote/index.d.ts +2 -0
  29. package/remote/lib/runtime.d.ts +9 -0
  30. package/remote/lib/translate.d.ts +29 -0
  31. package/esm2022/lib/navigation.mjs +0 -103
  32. package/esm2022/lib/route.mjs +0 -18
package/esm2022/index.mjs CHANGED
@@ -1,7 +1,6 @@
1
1
  export * from './lib/app-extensions';
2
2
  export * from './lib/components';
3
+ export * from './lib/extension-points';
3
4
  export * from './lib/extensions-loader';
4
- export * from './lib/navigation';
5
- export * from './lib/route';
6
5
  export * from './lib/utils';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3BsdWdpbi1zZGsvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9hcHAtZXh0ZW5zaW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2V4dGVuc2lvbnMtbG9hZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL25hdmlnYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcm91dGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbHMnO1xuIl19
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3BsdWdpbi1zZGsvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9hcHAtZXh0ZW5zaW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2V4dGVuc2lvbi1wb2ludHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZXh0ZW5zaW9ucy1sb2FkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbHMnO1xuIl19
@@ -1,6 +1,10 @@
1
+ import { getUserLanguage, isBuiltInLanguage, } from '@alauda-fe/common';
1
2
  import { loadExtensions } from './extensions-loader';
3
+ import { isLocalEnv } from './utils';
2
4
  let extensions;
5
+ let extensionTranslations;
3
6
  export function getAppExtensions(type, cluster) {
7
+ const types = Array.isArray(type) ? type : [type];
4
8
  if (!extensions) {
5
9
  throw new Error('Extensions not loaded');
6
10
  }
@@ -8,11 +12,52 @@ export function getAppExtensions(type, cluster) {
8
12
  if (ext.cluster && cluster && ext.cluster !== cluster) {
9
13
  return false;
10
14
  }
11
- return ext.type === type;
15
+ return types.includes(ext.type);
12
16
  });
13
17
  }
14
- export async function setupAppExtensions() {
15
- extensions = await loadExtensions({ types: ['service'] });
18
+ export function getAppExtensionTranslations() {
19
+ return extensionTranslations;
20
+ }
21
+ export async function setupAppExtensions(host) {
22
+ extensions = (await loadExtensions()).filter(ext => ext.type.startsWith('console-*/') || ext.type.startsWith(host + '/'));
23
+ extensionTranslations = await loadTranslations();
16
24
  return extensions;
17
25
  }
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWV4dGVuc2lvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3BsdWdpbi1zZGsvc3JjL2xpYi9hcHAtZXh0ZW5zaW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWEsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFaEUsSUFBSSxVQUF1QixDQUFDO0FBRTVCLE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxJQUFZLEVBQUUsT0FBZ0I7SUFDN0QsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBQ0QsT0FBTyxVQUFVLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQzdCLElBQUksR0FBRyxDQUFDLE9BQU8sSUFBSSxPQUFPLElBQUksR0FBRyxDQUFDLE9BQU8sS0FBSyxPQUFPLEVBQUUsQ0FBQztZQUN0RCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFFRCxPQUFPLEdBQUcsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDO0lBQzNCLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsa0JBQWtCO0lBQ3RDLFVBQVUsR0FBRyxNQUFNLGNBQWMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUUxRCxPQUFPLFVBQVUsQ0FBQztBQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXh0ZW5zaW9uLCBsb2FkRXh0ZW5zaW9ucyB9IGZyb20gJy4vZXh0ZW5zaW9ucy1sb2FkZXInO1xuXG5sZXQgZXh0ZW5zaW9uczogRXh0ZW5zaW9uW107XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRBcHBFeHRlbnNpb25zKHR5cGU6IHN0cmluZywgY2x1c3Rlcj86IHN0cmluZykge1xuICBpZiAoIWV4dGVuc2lvbnMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4dGVuc2lvbnMgbm90IGxvYWRlZCcpO1xuICB9XG4gIHJldHVybiBleHRlbnNpb25zLmZpbHRlcihleHQgPT4ge1xuICAgIGlmIChleHQuY2x1c3RlciAmJiBjbHVzdGVyICYmIGV4dC5jbHVzdGVyICE9PSBjbHVzdGVyKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIGV4dC50eXBlID09PSB0eXBlO1xuICB9KTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNldHVwQXBwRXh0ZW5zaW9ucygpIHtcbiAgZXh0ZW5zaW9ucyA9IGF3YWl0IGxvYWRFeHRlbnNpb25zKHsgdHlwZXM6IFsnc2VydmljZSddIH0pO1xuXG4gIHJldHVybiBleHRlbnNpb25zO1xufVxuIl19
26
+ async function loadTranslations() {
27
+ const entrypoints = extensions.reduce((acc, curr) => {
28
+ acc[curr.entrypoint] = {
29
+ scope: isLocalEnv()
30
+ ? 'plugin__global~local-dev~service'
31
+ : `plugin__${curr.cluster}~${curr.pluginName}~${curr.appName}`,
32
+ fileName: `plugin__${curr.pluginName}~${curr.appName}`,
33
+ };
34
+ return acc;
35
+ }, {});
36
+ const lang = getUserLanguage();
37
+ if (isBuiltInLanguage(lang)) {
38
+ return await Promise.all(Object.entries(entrypoints).map(([entrypoint, { scope }]) => {
39
+ const path = `${entrypoint}/assets/i18n/${lang}.json`;
40
+ return fetchI18nFile(path).then(translations => ({
41
+ [lang]: { [scope]: translations },
42
+ }));
43
+ }));
44
+ }
45
+ return await Promise.all(Object.entries(entrypoints).map(([entrypoint, { fileName, scope }]) => Promise.all([
46
+ fetchI18nFile(`${entrypoint}/assets/i18n/en.json`),
47
+ fetchI18nFile(`/console-i18n/${lang}/${fileName}.json`),
48
+ ]).then(([en, other]) => ({
49
+ [lang]: {
50
+ [scope]: Object.assign(en, other),
51
+ },
52
+ }))));
53
+ }
54
+ function fetchI18nFile(path) {
55
+ return fetch(path)
56
+ .then(res => res.json())
57
+ .catch(err => {
58
+ console.error(`Failed to load plugin i18n file, ${path}`);
59
+ console.error(err);
60
+ return {};
61
+ });
62
+ }
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWV4dGVuc2lvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3BsdWdpbi1zZGsvc3JjL2xpYi9hcHAtZXh0ZW5zaW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsZUFBZSxFQUNmLGlCQUFpQixHQUVsQixNQUFNLG1CQUFtQixDQUFDO0FBRTNCLE9BQU8sRUFBYSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXJDLElBQUksVUFBdUIsQ0FBQztBQUU1QixJQUFJLHFCQUFxQyxDQUFDO0FBRTFDLE1BQU0sVUFBVSxnQkFBZ0IsQ0FDOUIsSUFBdUIsRUFDdkIsT0FBZ0I7SUFFaEIsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUNELE9BQU8sVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUM3QixJQUFJLEdBQUcsQ0FBQyxPQUFPLElBQUksT0FBTyxJQUFJLEdBQUcsQ0FBQyxPQUFPLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDdEQsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDLENBQXdCLENBQUM7QUFDNUIsQ0FBQztBQUVELE1BQU0sVUFBVSwyQkFBMkI7SUFDekMsT0FBTyxxQkFBcUIsQ0FBQztBQUMvQixDQUFDO0FBRUQsTUFBTSxDQUFDLEtBQUssVUFBVSxrQkFBa0Is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LENBQUMsQ0FBQztRQUNuQixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGdldFVzZXJMYW5ndWFnZSxcbiAgaXNCdWlsdEluTGFuZ3VhZ2UsXG4gIFRyYW5zbGF0aW9ucyxcbn0gZnJvbSAnQGFsYXVkYS1mZS9jb21tb24nO1xuXG5pbXBvcnQgeyBFeHRlbnNpb24sIGxvYWRFeHRlbnNpb25zIH0gZnJvbSAnLi9leHRlbnNpb25zLWxvYWRlcic7XG5pbXBvcnQgeyBpc0xvY2FsRW52IH0gZnJvbSAnLi91dGlscyc7XG5cbmxldCBleHRlbnNpb25zOiBFeHRlbnNpb25bXTtcblxubGV0IGV4dGVuc2lvblRyYW5zbGF0aW9uczogVHJhbnNsYXRpb25zW107XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRBcHBFeHRlbnNpb25zPFQgPSBhbnk+KFxuICB0eXBlOiBzdHJpbmcgfCBzdHJpbmdbXSxcbiAgY2x1c3Rlcj86IHN0cmluZyxcbikge1xuICBjb25zdCB0eXBlcyA9IEFycmF5LmlzQXJyYXkodHlwZSkgPyB0eXBlIDogW3R5cGVdO1xuICBpZiAoIWV4dGVuc2lvbnMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4dGVuc2lvbnMgbm90IGxvYWRlZCcpO1xuICB9XG4gIHJldHVybiBleHRlbnNpb25zLmZpbHRlcihleHQgPT4ge1xuICAgIGlmIChleHQuY2x1c3RlciAmJiBjbHVzdGVyICYmIGV4dC5jbHVzdGVyICE9PSBjbHVzdGVyKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIHR5cGVzLmluY2x1ZGVzKGV4dC50eXBlKTtcbiAgfSkgYXMgQXJyYXk8RXh0ZW5zaW9uPFQ+Pjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEFwcEV4dGVuc2lvblRyYW5zbGF0aW9ucygpIHtcbiAgcmV0dXJuIGV4dGVuc2lvblRyYW5zbGF0aW9ucztcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNldHVwQXBwRXh0ZW5zaW9ucyhob3N0OiBzdHJpbmcpIHtcbiAgZXh0ZW5zaW9ucyA9IChhd2FpdCBsb2FkRXh0ZW5zaW9ucygpKS5maWx0ZXIoXG4gICAgZXh0ID0+IGV4dC50eXBlLnN0YXJ0c1dpdGgoJ2NvbnNvbGUtKi8nKSB8fCBleHQudHlwZS5zdGFydHNXaXRoKGhvc3QgKyAnLycpLFxuICApO1xuXG4gIGV4dGVuc2lvblRyYW5zbGF0aW9ucyA9IGF3YWl0IGxvYWRUcmFuc2xhdGlvbnMoKTtcblxuICByZXR1cm4gZXh0ZW5zaW9ucztcbn1cblxuYXN5bmMgZnVuY3Rpb24gbG9hZFRyYW5zbGF0aW9ucygpOiBQcm9taXNlPFxuICBBcnJheTx7IFtsYW5nOiBzdHJpbmddOiBUcmFuc2xhdGlvbnMgfT5cbj4ge1xuICBjb25zdCBlbnRyeXBvaW50cyA9IGV4dGVuc2lvbnMucmVkdWNlKFxuICAgIChhY2MsIGN1cnIpID0+IHtcbiAgICAgIGFjY1tjdXJyLmVudHJ5cG9pbnRdID0ge1xuICAgICAgICBzY29wZTogaXNMb2NhbEVudigpXG4gICAgICAgICAgPyAncGx1Z2luX19nbG9iYWx+bG9jYWwtZGV2fnNlcnZpY2UnXG4gICAgICAgICAgOiBgcGx1Z2luX18ke2N1cnIuY2x1c3Rlcn1+JHtjdXJyLnBsdWdpbk5hbWV9fiR7Y3Vyci5hcHBOYW1lfWAsXG4gICAgICAgIGZpbGVOYW1lOiBgcGx1Z2luX18ke2N1cnIucGx1Z2luTmFtZX1+JHtjdXJyLmFwcE5hbWV9YCxcbiAgICAgIH07XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sXG4gICAge30gYXMgUmVjb3JkPHN0cmluZywgeyBmaWxlTmFtZTogc3RyaW5nOyBzY29wZTogc3RyaW5nIH0+LFxuICApO1xuXG4gIGNvbnN0IGxhbmcgPSBnZXRVc2VyTGFuZ3VhZ2UoKTtcblxuICBpZiAoaXNCdWlsdEluTGFuZ3VhZ2UobGFuZykpIHtcbiAgICByZXR1cm4gYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICBPYmplY3QuZW50cmllcyhlbnRyeXBvaW50cykubWFwKChbZW50cnlwb2ludCwgeyBzY29wZSB9XSkgPT4ge1xuICAgICAgICBjb25zdCBwYXRoID0gYCR7ZW50cnlwb2ludH0vYXNzZXRzL2kxOG4vJHtsYW5nfS5qc29uYDtcbiAgICAgICAgcmV0dXJuIGZldGNoSTE4bkZpbGUocGF0aCkudGhlbih0cmFuc2xhdGlvbnMgPT4gKHtcbiAgICAgICAgICBbbGFuZ106IHsgW3Njb3BlXTogdHJhbnNsYXRpb25zIH0sXG4gICAgICAgIH0pKTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cbiAgcmV0dXJuIGF3YWl0IFByb21pc2UuYWxsKFxuICAgIE9iamVjdC5lbnRyaWVzKGVudHJ5cG9pbnRzKS5tYXAoKFtlbnRyeXBvaW50LCB7IGZpbGVOYW1lLCBzY29wZSB9XSkgPT5cbiAgICAgIFByb21pc2UuYWxsKFtcbiAgICAgICAgZmV0Y2hJMThuRmlsZShgJHtlbnRyeXBvaW50fS9hc3NldHMvaTE4bi9lbi5qc29uYCksXG4gICAgICAgIGZldGNoSTE4bkZpbGUoYC9jb25zb2xlLWkxOG4vJHtsYW5nfS8ke2ZpbGVOYW1lfS5qc29uYCksXG4gICAgICBdKS50aGVuKChbZW4sIG90aGVyXSkgPT4gKHtcbiAgICAgICAgW2xhbmddOiB7XG4gICAgICAgICAgW3Njb3BlXTogT2JqZWN0LmFzc2lnbihlbiwgb3RoZXIpLFxuICAgICAgICB9LFxuICAgICAgfSkpLFxuICAgICksXG4gICk7XG59XG5cbmZ1bmN0aW9uIGZldGNoSTE4bkZpbGUocGF0aDogc3RyaW5nKTogUHJvbWlzZTxUcmFuc2xhdGlvbnM+IHtcbiAgcmV0dXJuIGZldGNoKHBhdGgpXG4gICAgLnRoZW4ocmVzID0+IHJlcy5qc29uKCkpXG4gICAgLmNhdGNoKGVyciA9PiB7XG4gICAgICBjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gbG9hZCBwbHVnaW4gaTE4biBmaWxlLCAke3BhdGh9YCk7XG4gICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgICByZXR1cm4ge307XG4gICAgfSk7XG59XG4iXX0=
@@ -20,19 +20,19 @@ export class RemoteComponentOutletComponent {
20
20
  this.remoteComponents = signal({});
21
21
  this.name = input.required();
22
22
  this.entrypoint = input.required();
23
- this.expose = input('./Components');
23
+ this.expose = input();
24
24
  this.inputs = input();
25
25
  this.injector = input();
26
26
  this.content = input();
27
27
  this.component = computed(() => this.remoteComponents()[this.name()]);
28
28
  effect(async () => {
29
29
  if (this.entrypoint()) {
30
- this.remoteComponents.set((await loadRemote(this.entrypoint(), this.expose())).default);
30
+ this.remoteComponents.set((await loadRemote(this.entrypoint(), this.expose() ?? './Components')).default);
31
31
  }
32
32
  }, { allowSignalWrites: true });
33
33
  }
34
34
  static { this.ɵfac = function RemoteComponentOutletComponent_Factory(t) { return new (t || RemoteComponentOutletComponent)(); }; }
35
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: RemoteComponentOutletComponent, selectors: [["acl-remote-component-outlet"]], inputs: { name: [1, "name"], entrypoint: [1, "entrypoint"], expose: [1, "expose"], inputs: [1, "inputs"], injector: [1, "injector"], content: [1, "content"] }, standalone: true, features: [i0.ɵɵStandaloneFeature], ngContentSelectors: _c0, decls: 2, vars: 1, consts: [[4, "ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent"]], template: function RemoteComponentOutletComponent_Template(rf, ctx) { if (rf & 1) {
35
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: RemoteComponentOutletComponent, selectors: [["plg-remote-component-outlet"]], inputs: { name: [1, "name"], entrypoint: [1, "entrypoint"], expose: [1, "expose"], inputs: [1, "inputs"], injector: [1, "injector"], content: [1, "content"] }, standalone: true, features: [i0.ɵɵStandaloneFeature], ngContentSelectors: _c0, decls: 2, vars: 1, consts: [[4, "ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent"]], template: function RemoteComponentOutletComponent_Template(rf, ctx) { if (rf & 1) {
36
36
  i0.ɵɵprojectionDef();
37
37
  i0.ɵɵtemplate(0, RemoteComponentOutletComponent_Conditional_0_Template, 1, 4, "ng-container")(1, RemoteComponentOutletComponent_Conditional_1_Template, 1, 0);
38
38
  } if (rf & 2) {
@@ -41,7 +41,7 @@ export class RemoteComponentOutletComponent {
41
41
  }
42
42
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(RemoteComponentOutletComponent, [{
43
43
  type: Component,
44
- args: [{ selector: 'acl-remote-component-outlet', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgComponentOutlet], template: "@if (component()) {\n <ng-container\n *ngComponentOutlet=\"\n component();\n inputs: inputs();\n injector: injector();\n content: content()\n \"\n ></ng-container>\n} @else {\n <ng-content></ng-content>\n}\n" }]
44
+ args: [{ selector: 'plg-remote-component-outlet', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgComponentOutlet], template: "@if (component()) {\n <ng-container\n *ngComponentOutlet=\"\n component();\n inputs: inputs();\n injector: injector();\n content: content()\n \"\n ></ng-container>\n} @else {\n <ng-content></ng-content>\n}\n" }]
45
45
  }], () => [], null); })();
46
46
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(RemoteComponentOutletComponent, { className: "RemoteComponentOutletComponent", filePath: "lib/components/remote-component-outlet/component.ts", lineNumber: 21 }); })();
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbHVnaW4tc2RrL3NyYy9saWIvY29tcG9uZW50cy9yZW1vdGUtY29tcG9uZW50LW91dGxldC9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsdWdpbi1zZGsvc3JjL2xpYi9jb21wb25lbnRzL3JlbW90ZS1jb21wb25lbnQtb3V0bGV0L3RlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7SUNWdkMsd0JBT2dCOzs7SUFQaEIsK0dBT0M7OztJQUZVLEFBREEsQUFEQSxBQUZSLHNEQUVRLDRDQUNBLGdEQUNBLDhDQUViOzs7SUFFRSxrQkFBeUI7O0FEVTNCLE1BQU0sT0FBTyw4QkFBOEI7SUFpQnpDO1FBaEJRLHFCQUFnQixHQUFHLE1BQU0sQ0FBa0MsRUFBRSxDQUFDLENBQUM7UUFFdkUsU0FBSSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUVoQyxlQUFVLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO1FBRXRDLFdBQU0sR0FBRyxLQUFLLENBQVMsY0FBYyxDQUFDLENBQUM7UUFFdkMsV0FBTSxHQUFHLEtBQUssRUFBZ0QsQ0FBQztRQUUvRCxhQUFRLEdBQUcsS0FBSyxFQUFrRCxDQUFDO1FBRW5FLFlBQU8sR0FBRyxLQUFLLEVBQWlELENBQUM7UUFFakUsY0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRy9ELE1BQU0sQ0FDSixLQUFLLElBQUksRUFBRTtZQUNULElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQ3ZCLENBQUMsTUFBTSxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUM3RCxDQUFDO1lBQ0osQ0FBQztRQUNILENBQUMsRUFDRCxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxDQUM1QixDQUFDO0lBQ0osQ0FBQzsrRkE1QlUsOEJBQThCO29FQUE5Qiw4QkFBOEI7O1lDWHpDLEFBVEYsNkZBQW1CLGdFQVNWOztZQVRULHlDQVdDOzRCRE9XLGlCQUFpQjs7aUZBRWhCLDhCQUE4QjtjQVAxQyxTQUFTOzJCQUNFLDZCQUE2QixtQkFFdEIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxpQkFBaUIsQ0FBQzs7a0ZBRWpCLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ29tcG9uZW50T3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGNvbXB1dGVkLFxuICBlZmZlY3QsXG4gIGlucHV0LFxuICBzaWduYWwsXG4gIFR5cGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBsb2FkUmVtb3RlIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2wtcmVtb3RlLWNvbXBvbmVudC1vdXRsZXQnLFxuICB0ZW1wbGF0ZVVybDogJ3RlbXBsYXRlLmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nQ29tcG9uZW50T3V0bGV0XSxcbn0pXG5leHBvcnQgY2xhc3MgUmVtb3RlQ29tcG9uZW50T3V0bGV0Q29tcG9uZW50IHtcbiAgcHJpdmF0ZSByZW1vdGVDb21wb25lbnRzID0gc2lnbmFsPFJlY29yZDxzdHJpbmcsIFR5cGU8Q29tcG9uZW50Pj4+KHt9KTtcblxuICBuYW1lID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuXG4gIGVudHJ5cG9pbnQgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG5cbiAgZXhwb3NlID0gaW5wdXQ8c3RyaW5nPignLi9Db21wb25lbnRzJyk7XG5cbiAgaW5wdXRzID0gaW5wdXQ8TmdDb21wb25lbnRPdXRsZXRbJ25nQ29tcG9uZW50T3V0bGV0SW5wdXRzJ10+KCk7XG5cbiAgaW5qZWN0b3IgPSBpbnB1dDxOZ0NvbXBvbmVudE91dGxldFsnbmdDb21wb25lbnRPdXRsZXRJbmplY3RvciddPigpO1xuXG4gIGNvbnRlbnQgPSBpbnB1dDxOZ0NvbXBvbmVudE91dGxldFsnbmdDb21wb25lbnRPdXRsZXRDb250ZW50J10+KCk7XG5cbiAgY29tcG9uZW50ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5yZW1vdGVDb21wb25lbnRzKClbdGhpcy5uYW1lKCldKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBlZmZlY3QoXG4gICAgICBhc3luYyAoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmVudHJ5cG9pbnQoKSkge1xuICAgICAgICAgIHRoaXMucmVtb3RlQ29tcG9uZW50cy5zZXQoXG4gICAgICAgICAgICAoYXdhaXQgbG9hZFJlbW90ZSh0aGlzLmVudHJ5cG9pbnQoKSwgdGhpcy5leHBvc2UoKSkpLmRlZmF1bHQsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfSxcbiAgICApO1xuICB9XG59XG4iLCJAaWYgKGNvbXBvbmVudCgpKSB7XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdDb21wb25lbnRPdXRsZXQ9XCJcbiAgICAgIGNvbXBvbmVudCgpO1xuICAgICAgaW5wdXRzOiBpbnB1dHMoKTtcbiAgICAgIGluamVjdG9yOiBpbmplY3RvcigpO1xuICAgICAgY29udGVudDogY29udGVudCgpXG4gICAgXCJcbiAgPjwvbmctY29udGFpbmVyPlxufSBAZWxzZSB7XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbn1cbiJdfQ==
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbHVnaW4tc2RrL3NyYy9saWIvY29tcG9uZW50cy9yZW1vdGUtY29tcG9uZW50LW91dGxldC9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsdWdpbi1zZGsvc3JjL2xpYi9jb21wb25lbnRzL3JlbW90ZS1jb21wb25lbnQtb3V0bGV0L3RlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7SUNWdkMsd0JBT2dCOzs7SUFQaEIsK0dBT0M7OztJQUZVLEFBREEsQUFEQSxBQUZSLHNEQUVRLDRDQUNBLGdEQUNBLDhDQUViOzs7SUFFRSxrQkFBeUI7O0FEVTNCLE1BQU0sT0FBTyw4QkFBOEI7SUFpQnpDO1FBaEJRLHFCQUFnQixHQUFHLE1BQU0sQ0FBa0MsRUFBRSxDQUFDLENBQUM7UUFFdkUsU0FBSSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUVoQyxlQUFVLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO1FBRXRDLFdBQU0sR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUV6QixXQUFNLEdBQUcsS0FBSyxFQUFnRCxDQUFDO1FBRS9ELGFBQVEsR0FBRyxLQUFLLEVBQWtELENBQUM7UUFFbkUsWUFBTyxHQUFHLEtBQUssRUFBaUQsQ0FBQztRQUVqRSxjQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFHL0QsTUFBTSxDQUNKLEtBQUssSUFBSSxFQUFFO1lBQ1QsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQztnQkFDdEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FDdkIsQ0FDRSxNQUFNLFVBQVUsQ0FDZCxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQ2pCLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxjQUFjLENBQ2hDLENBQ0YsQ0FBQyxPQUFPLENBQ1YsQ0FBQztZQUNKLENBQUM7UUFDSCxDQUFDLEVBQ0QsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsQ0FDNUIsQ0FBQztJQUNKLENBQUM7K0ZBakNVLDhCQUE4QjtvRUFBOUIsOEJBQThCOztZQ1h6QyxBQVRGLDZGQUFtQixnRUFTVjs7WUFUVCx5Q0FXQzs0QkRPVyxpQkFBaUI7O2lGQUVoQiw4QkFBOEI7Y0FQMUMsU0FBUzsyQkFDRSw2QkFBNkIsbUJBRXRCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsaUJBQWlCLENBQUM7O2tGQUVqQiw4QkFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NvbXBvbmVudE91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgZWZmZWN0LFxuICBpbnB1dCxcbiAgc2lnbmFsLFxuICBUeXBlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgbG9hZFJlbW90ZSB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGxnLXJlbW90ZS1jb21wb25lbnQtb3V0bGV0JyxcbiAgdGVtcGxhdGVVcmw6ICd0ZW1wbGF0ZS5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0NvbXBvbmVudE91dGxldF0sXG59KVxuZXhwb3J0IGNsYXNzIFJlbW90ZUNvbXBvbmVudE91dGxldENvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVtb3RlQ29tcG9uZW50cyA9IHNpZ25hbDxSZWNvcmQ8c3RyaW5nLCBUeXBlPENvbXBvbmVudD4+Pih7fSk7XG5cbiAgbmFtZSA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcblxuICBlbnRyeXBvaW50ID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuXG4gIGV4cG9zZSA9IGlucHV0PHN0cmluZz4oKTtcblxuICBpbnB1dHMgPSBpbnB1dDxOZ0NvbXBvbmVudE91dGxldFsnbmdDb21wb25lbnRPdXRsZXRJbnB1dHMnXT4oKTtcblxuICBpbmplY3RvciA9IGlucHV0PE5nQ29tcG9uZW50T3V0bGV0WyduZ0NvbXBvbmVudE91dGxldEluamVjdG9yJ10+KCk7XG5cbiAgY29udGVudCA9IGlucHV0PE5nQ29tcG9uZW50T3V0bGV0WyduZ0NvbXBvbmVudE91dGxldENvbnRlbnQnXT4oKTtcblxuICBjb21wb25lbnQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnJlbW90ZUNvbXBvbmVudHMoKVt0aGlzLm5hbWUoKV0pO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGVmZmVjdChcbiAgICAgIGFzeW5jICgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuZW50cnlwb2ludCgpKSB7XG4gICAgICAgICAgdGhpcy5yZW1vdGVDb21wb25lbnRzLnNldChcbiAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgYXdhaXQgbG9hZFJlbW90ZShcbiAgICAgICAgICAgICAgICB0aGlzLmVudHJ5cG9pbnQoKSxcbiAgICAgICAgICAgICAgICB0aGlzLmV4cG9zZSgpID8/ICcuL0NvbXBvbmVudHMnLFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICApLmRlZmF1bHQsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfSxcbiAgICApO1xuICB9XG59XG4iLCJAaWYgKGNvbXBvbmVudCgpKSB7XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdDb21wb25lbnRPdXRsZXQ9XCJcbiAgICAgIGNvbXBvbmVudCgpO1xuICAgICAgaW5wdXRzOiBpbnB1dHMoKTtcbiAgICAgIGluamVjdG9yOiBpbmplY3RvcigpO1xuICAgICAgY29udGVudDogY29udGVudCgpXG4gICAgXCJcbiAgPjwvbmctY29udGFpbmVyPlxufSBAZWxzZSB7XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbn1cbiJdfQ==
@@ -0,0 +1,48 @@
1
+ import { ChangeDetectionStrategy, Component, input, } from '@angular/core';
2
+ import { getAppExtensions } from '../app-extensions';
3
+ import { RemoteComponentOutletComponent } from '../components';
4
+ import * as i0 from "@angular/core";
5
+ function RemoteAccountMenuItemsComponent_For_1_Template(rf, ctx) { if (rf & 1) {
6
+ i0.ɵɵelement(0, "plg-remote-component-outlet", 0);
7
+ } if (rf & 2) {
8
+ const item_r1 = ctx.$implicit;
9
+ i0.ɵɵproperty("entrypoint", item_r1.entrypoint)("expose", item_r1.options.expose)("name", item_r1.options.component);
10
+ } }
11
+ export function getAccountMenuItems(scope) {
12
+ return getAppExtensions(['console-*']
13
+ .concat(scope || [])
14
+ .map(scope => `${scope}/page/header/account-menu/item`)).sort((a, b) => -(a.options.index - b.options.index));
15
+ }
16
+ export class RemoteAccountMenuItemsComponent {
17
+ constructor() {
18
+ this.scope = input();
19
+ this.accountMenuItems = [];
20
+ }
21
+ ngOnInit() {
22
+ this.accountMenuItems = getAccountMenuItems(this.scope());
23
+ }
24
+ static { this.ɵfac = function RemoteAccountMenuItemsComponent_Factory(t) { return new (t || RemoteAccountMenuItemsComponent)(); }; }
25
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: RemoteAccountMenuItemsComponent, selectors: [["plg-remote-account-menu-items"]], inputs: { scope: [1, "scope"] }, standalone: true, features: [i0.ɵɵStandaloneFeature], decls: 2, vars: 0, consts: [[3, "entrypoint", "expose", "name"]], template: function RemoteAccountMenuItemsComponent_Template(rf, ctx) { if (rf & 1) {
26
+ i0.ɵɵrepeaterCreate(0, RemoteAccountMenuItemsComponent_For_1_Template, 1, 3, "plg-remote-component-outlet", 0, i0.ɵɵrepeaterTrackByIndex);
27
+ } if (rf & 2) {
28
+ i0.ɵɵrepeater(ctx.accountMenuItems);
29
+ } }, dependencies: [RemoteComponentOutletComponent], encapsulation: 2, changeDetection: 0 }); }
30
+ }
31
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(RemoteAccountMenuItemsComponent, [{
32
+ type: Component,
33
+ args: [{
34
+ selector: 'plg-remote-account-menu-items',
35
+ template: `@for (item of accountMenuItems; track $index) {
36
+ <plg-remote-component-outlet
37
+ [entrypoint]="item.entrypoint"
38
+ [expose]="item.options.expose"
39
+ [name]="item.options.component"
40
+ ></plg-remote-component-outlet>
41
+ }`,
42
+ changeDetection: ChangeDetectionStrategy.OnPush,
43
+ standalone: true,
44
+ imports: [RemoteComponentOutletComponent],
45
+ }]
46
+ }], null, null); })();
47
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(RemoteAccountMenuItemsComponent, { className: "RemoteAccountMenuItemsComponent", filePath: "lib/extension-points/account-menu.ts", lineNumber: 39 }); })();
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC1tZW51LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbHVnaW4tc2RrL3NyYy9saWIvZXh0ZW5zaW9uLXBvaW50cy9hY2NvdW50LW1lbnUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxHQUVOLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3JELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0lBb0IzRCxpREFJK0I7OztJQUQ3QixBQURBLEFBREEsK0NBQThCLGtDQUNBLG1DQUNDOztBQWRyQyxNQUFNLFVBQVUsbUJBQW1CLENBQUMsS0FBYTtJQUMvQyxPQUFPLGdCQUFnQixDQUNyQixDQUFDLFdBQVcsQ0FBQztTQUNWLE1BQU0sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1NBQ25CLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxnQ0FBZ0MsQ0FBQyxDQUMxRCxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDekQsQ0FBQztBQWVELE1BQU0sT0FBTywrQkFBK0I7SUFiNUM7UUFjRSxVQUFLLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFFeEIscUJBQWdCLEdBQWtELEVBQUUsQ0FBQztLQUt0RTtJQUhDLFFBQVE7UUFDTixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDNUQsQ0FBQztnR0FQVSwrQkFBK0I7b0VBQS9CLCtCQUErQjtZQVgvQix5SUFNVjs7WUFOVSxtQ0FNVjs0QkFHUyw4QkFBOEI7O2lGQUU3QiwrQkFBK0I7Y0FiM0MsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSwrQkFBK0I7Z0JBQ3pDLFFBQVEsRUFBRTs7Ozs7O0lBTVI7Z0JBQ0YsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07Z0JBQy9DLFVBQVUsRUFBRSxJQUFJO2dCQUNoQixPQUFPLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQzthQUMxQzs7a0ZBQ1ksK0JBQStCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgaW5wdXQsXG4gIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IGdldEFwcEV4dGVuc2lvbnMgfSBmcm9tICcuLi9hcHAtZXh0ZW5zaW9ucyc7XG5pbXBvcnQgeyBSZW1vdGVDb21wb25lbnRPdXRsZXRDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzJztcbmltcG9ydCB7IEV4dGVuc2lvbiB9IGZyb20gJy4uL2V4dGVuc2lvbnMtbG9hZGVyJztcblxuZXhwb3J0IGludGVyZmFjZSBBY2NvdW50TWVudUl0ZW1QbHVnaW5PcHRpb24ge1xuICBpbmRleD86IG51bWJlcjtcbiAgZXhwb3NlPzogc3RyaW5nO1xuICBjb21wb25lbnQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEFjY291bnRNZW51SXRlbXMoc2NvcGU6IHN0cmluZykge1xuICByZXR1cm4gZ2V0QXBwRXh0ZW5zaW9uczxBY2NvdW50TWVudUl0ZW1QbHVnaW5PcHRpb24+KFxuICAgIFsnY29uc29sZS0qJ11cbiAgICAgIC5jb25jYXQoc2NvcGUgfHwgW10pXG4gICAgICAubWFwKHNjb3BlID0+IGAke3Njb3BlfS9wYWdlL2hlYWRlci9hY2NvdW50LW1lbnUvaXRlbWApLFxuICApLnNvcnQoKGEsIGIpID0+IC0oYS5vcHRpb25zLmluZGV4IC0gYi5vcHRpb25zLmluZGV4KSk7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BsZy1yZW1vdGUtYWNjb3VudC1tZW51LWl0ZW1zJyxcbiAgdGVtcGxhdGU6IGBAZm9yIChpdGVtIG9mIGFjY291bnRNZW51SXRlbXM7IHRyYWNrICRpbmRleCkge1xuICAgIDxwbGctcmVtb3RlLWNvbXBvbmVudC1vdXRsZXRcbiAgICAgIFtlbnRyeXBvaW50XT1cIml0ZW0uZW50cnlwb2ludFwiXG4gICAgICBbZXhwb3NlXT1cIml0ZW0ub3B0aW9ucy5leHBvc2VcIlxuICAgICAgW25hbWVdPVwiaXRlbS5vcHRpb25zLmNvbXBvbmVudFwiXG4gICAgPjwvcGxnLXJlbW90ZS1jb21wb25lbnQtb3V0bGV0PlxuICB9YCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtSZW1vdGVDb21wb25lbnRPdXRsZXRDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBSZW1vdGVBY2NvdW50TWVudUl0ZW1zQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgc2NvcGUgPSBpbnB1dDxzdHJpbmc+KCk7XG5cbiAgYWNjb3VudE1lbnVJdGVtczogQXJyYXk8RXh0ZW5zaW9uPEFjY291bnRNZW51SXRlbVBsdWdpbk9wdGlvbj4+ID0gW107XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5hY2NvdW50TWVudUl0ZW1zID0gZ2V0QWNjb3VudE1lbnVJdGVtcyh0aGlzLnNjb3BlKCkpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,48 @@
1
+ import { ChangeDetectionStrategy, Component, input, } from '@angular/core';
2
+ import { getAppExtensions } from '../app-extensions';
3
+ import { RemoteComponentOutletComponent } from '../components';
4
+ import * as i0 from "@angular/core";
5
+ function RemoteHeaderActionsComponent_For_1_Template(rf, ctx) { if (rf & 1) {
6
+ i0.ɵɵelement(0, "plg-remote-component-outlet", 0);
7
+ } if (rf & 2) {
8
+ const item_r1 = ctx.$implicit;
9
+ i0.ɵɵproperty("entrypoint", item_r1.entrypoint)("expose", item_r1.options.expose)("name", item_r1.options.component);
10
+ } }
11
+ export function getHeaderActions(scope) {
12
+ return getAppExtensions(['console-*']
13
+ .concat(scope || [])
14
+ .map(scope => `${scope}/page/header/action`)).sort((a, b) => -(a.options.index - b.options.index));
15
+ }
16
+ export class RemoteHeaderActionsComponent {
17
+ constructor() {
18
+ this.scope = input();
19
+ this.headerActions = [];
20
+ }
21
+ ngOnInit() {
22
+ this.headerActions = getHeaderActions(this.scope());
23
+ }
24
+ static { this.ɵfac = function RemoteHeaderActionsComponent_Factory(t) { return new (t || RemoteHeaderActionsComponent)(); }; }
25
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: RemoteHeaderActionsComponent, selectors: [["plg-remote-header-actions"]], inputs: { scope: [1, "scope"] }, standalone: true, features: [i0.ɵɵStandaloneFeature], decls: 2, vars: 0, consts: [[3, "entrypoint", "expose", "name"]], template: function RemoteHeaderActionsComponent_Template(rf, ctx) { if (rf & 1) {
26
+ i0.ɵɵrepeaterCreate(0, RemoteHeaderActionsComponent_For_1_Template, 1, 3, "plg-remote-component-outlet", 0, i0.ɵɵrepeaterTrackByIndex);
27
+ } if (rf & 2) {
28
+ i0.ɵɵrepeater(ctx.headerActions);
29
+ } }, dependencies: [RemoteComponentOutletComponent], encapsulation: 2, changeDetection: 0 }); }
30
+ }
31
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(RemoteHeaderActionsComponent, [{
32
+ type: Component,
33
+ args: [{
34
+ selector: 'plg-remote-header-actions',
35
+ template: `@for (item of headerActions; track $index) {
36
+ <plg-remote-component-outlet
37
+ [entrypoint]="item.entrypoint"
38
+ [expose]="item.options.expose"
39
+ [name]="item.options.component"
40
+ ></plg-remote-component-outlet>
41
+ }`,
42
+ changeDetection: ChangeDetectionStrategy.OnPush,
43
+ standalone: true,
44
+ imports: [RemoteComponentOutletComponent],
45
+ }]
46
+ }], null, null); })();
47
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(RemoteHeaderActionsComponent, { className: "RemoteHeaderActionsComponent", filePath: "lib/extension-points/header-actions.ts", lineNumber: 39 }); })();
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLWFjdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsdWdpbi1zZGsvc3JjL2xpYi9leHRlbnNpb24tcG9pbnRzL2hlYWRlci1hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssR0FFTixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxlQUFlLENBQUM7OztJQW9CM0QsaURBSStCOzs7SUFEN0IsQUFEQSxBQURBLCtDQUE4QixrQ0FDQSxtQ0FDQzs7QUFkckMsTUFBTSxVQUFVLGdCQUFnQixDQUFDLEtBQWE7SUFDNUMsT0FBTyxnQkFBZ0IsQ0FDckIsQ0FBQyxXQUFXLENBQUM7U0FDVixNQUFNLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztTQUNuQixHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUsscUJBQXFCLENBQUMsQ0FDL0MsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQ3pELENBQUM7QUFlRCxNQUFNLE9BQU8sNEJBQTRCO0lBYnpDO1FBY0UsVUFBSyxHQUFHLEtBQUssRUFBVSxDQUFDO1FBRXhCLGtCQUFhLEdBQWdELEVBQUUsQ0FBQztLQUtqRTtJQUhDLFFBQVE7UUFDTixJQUFJLENBQUMsYUFBYSxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3RELENBQUM7NkZBUFUsNEJBQTRCO29FQUE1Qiw0QkFBNEI7WUFYNUIsc0lBTVY7O1lBTlUsZ0NBTVY7NEJBR1MsOEJBQThCOztpRkFFN0IsNEJBQTRCO2NBYnhDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsMkJBQTJCO2dCQUNyQyxRQUFRLEVBQUU7Ozs7OztJQU1SO2dCQUNGLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2dCQUMvQyxVQUFVLEVBQUUsSUFBSTtnQkFDaEIsT0FBTyxFQUFFLENBQUMsOEJBQThCLENBQUM7YUFDMUM7O2tGQUNZLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGlucHV0LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBnZXRBcHBFeHRlbnNpb25zIH0gZnJvbSAnLi4vYXBwLWV4dGVuc2lvbnMnO1xuaW1wb3J0IHsgUmVtb3RlQ29tcG9uZW50T3V0bGV0Q29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cyc7XG5pbXBvcnQgeyBFeHRlbnNpb24gfSBmcm9tICcuLi9leHRlbnNpb25zLWxvYWRlcic7XG5cbmludGVyZmFjZSBIZWFkZXJBY3Rpb25zUGx1Z2luT3B0aW9uIHtcbiAgaW5kZXg/OiBudW1iZXI7XG4gIGV4cG9zZT86IHN0cmluZztcbiAgY29tcG9uZW50OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRIZWFkZXJBY3Rpb25zKHNjb3BlOiBzdHJpbmcpIHtcbiAgcmV0dXJuIGdldEFwcEV4dGVuc2lvbnM8SGVhZGVyQWN0aW9uc1BsdWdpbk9wdGlvbj4oXG4gICAgWydjb25zb2xlLSonXVxuICAgICAgLmNvbmNhdChzY29wZSB8fCBbXSlcbiAgICAgIC5tYXAoc2NvcGUgPT4gYCR7c2NvcGV9L3BhZ2UvaGVhZGVyL2FjdGlvbmApLFxuICApLnNvcnQoKGEsIGIpID0+IC0oYS5vcHRpb25zLmluZGV4IC0gYi5vcHRpb25zLmluZGV4KSk7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BsZy1yZW1vdGUtaGVhZGVyLWFjdGlvbnMnLFxuICB0ZW1wbGF0ZTogYEBmb3IgKGl0ZW0gb2YgaGVhZGVyQWN0aW9uczsgdHJhY2sgJGluZGV4KSB7XG4gICAgPHBsZy1yZW1vdGUtY29tcG9uZW50LW91dGxldFxuICAgICAgW2VudHJ5cG9pbnRdPVwiaXRlbS5lbnRyeXBvaW50XCJcbiAgICAgIFtleHBvc2VdPVwiaXRlbS5vcHRpb25zLmV4cG9zZVwiXG4gICAgICBbbmFtZV09XCJpdGVtLm9wdGlvbnMuY29tcG9uZW50XCJcbiAgICA+PC9wbGctcmVtb3RlLWNvbXBvbmVudC1vdXRsZXQ+XG4gIH1gLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1JlbW90ZUNvbXBvbmVudE91dGxldENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFJlbW90ZUhlYWRlckFjdGlvbnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBzY29wZSA9IGlucHV0PHN0cmluZz4oKTtcblxuICBoZWFkZXJBY3Rpb25zOiBBcnJheTxFeHRlbnNpb248SGVhZGVyQWN0aW9uc1BsdWdpbk9wdGlvbj4+ID0gW107XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5oZWFkZXJBY3Rpb25zID0gZ2V0SGVhZGVyQWN0aW9ucyh0aGlzLnNjb3BlKCkpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,48 @@
1
+ import { ChangeDetectionStrategy, Component, input, } from '@angular/core';
2
+ import { getAppExtensions } from '../app-extensions';
3
+ import { RemoteComponentOutletComponent } from '../components';
4
+ import * as i0 from "@angular/core";
5
+ function RemoteHelpMenuItemsComponent_For_1_Template(rf, ctx) { if (rf & 1) {
6
+ i0.ɵɵelement(0, "plg-remote-component-outlet", 0);
7
+ } if (rf & 2) {
8
+ const item_r1 = ctx.$implicit;
9
+ i0.ɵɵproperty("entrypoint", item_r1.entrypoint)("expose", item_r1.options.expose)("name", item_r1.options.component);
10
+ } }
11
+ export function getHelpMenuItems(scope) {
12
+ return getAppExtensions(['console-*']
13
+ .concat(scope || [])
14
+ .map(scope => `${scope}/page/header/help-menu/item`)).sort((a, b) => -(a.options.index - b.options.index));
15
+ }
16
+ export class RemoteHelpMenuItemsComponent {
17
+ constructor() {
18
+ this.scope = input();
19
+ this.helpMenuItems = [];
20
+ }
21
+ ngOnInit() {
22
+ this.helpMenuItems = getHelpMenuItems(this.scope());
23
+ }
24
+ static { this.ɵfac = function RemoteHelpMenuItemsComponent_Factory(t) { return new (t || RemoteHelpMenuItemsComponent)(); }; }
25
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: RemoteHelpMenuItemsComponent, selectors: [["plg-remote-help-menu-items"]], inputs: { scope: [1, "scope"] }, standalone: true, features: [i0.ɵɵStandaloneFeature], decls: 2, vars: 0, consts: [[3, "entrypoint", "expose", "name"]], template: function RemoteHelpMenuItemsComponent_Template(rf, ctx) { if (rf & 1) {
26
+ i0.ɵɵrepeaterCreate(0, RemoteHelpMenuItemsComponent_For_1_Template, 1, 3, "plg-remote-component-outlet", 0, i0.ɵɵrepeaterTrackByIndex);
27
+ } if (rf & 2) {
28
+ i0.ɵɵrepeater(ctx.helpMenuItems);
29
+ } }, dependencies: [RemoteComponentOutletComponent], encapsulation: 2, changeDetection: 0 }); }
30
+ }
31
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(RemoteHelpMenuItemsComponent, [{
32
+ type: Component,
33
+ args: [{
34
+ selector: 'plg-remote-help-menu-items',
35
+ template: `@for (item of helpMenuItems; track $index) {
36
+ <plg-remote-component-outlet
37
+ [entrypoint]="item.entrypoint"
38
+ [expose]="item.options.expose"
39
+ [name]="item.options.component"
40
+ ></plg-remote-component-outlet>
41
+ }`,
42
+ changeDetection: ChangeDetectionStrategy.OnPush,
43
+ standalone: true,
44
+ imports: [RemoteComponentOutletComponent],
45
+ }]
46
+ }], null, null); })();
47
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(RemoteHelpMenuItemsComponent, { className: "RemoteHelpMenuItemsComponent", filePath: "lib/extension-points/help-menu.ts", lineNumber: 39 }); })();
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscC1tZW51LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbHVnaW4tc2RrL3NyYy9saWIvZXh0ZW5zaW9uLXBvaW50cy9oZWxwLW1lbnUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxHQUVOLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3JELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0lBb0IzRCxpREFJK0I7OztJQUQ3QixBQURBLEFBREEsK0NBQThCLGtDQUNBLG1DQUNDOztBQWRyQyxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsS0FBYTtJQUM1QyxPQUFPLGdCQUFnQixDQUNyQixDQUFDLFdBQVcsQ0FBQztTQUNWLE1BQU0sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1NBQ25CLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyw2QkFBNkIsQ0FBQyxDQUN2RCxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDekQsQ0FBQztBQWVELE1BQU0sT0FBTyw0QkFBNEI7SUFiekM7UUFjRSxVQUFLLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFFeEIsa0JBQWEsR0FBK0MsRUFBRSxDQUFDO0tBS2hFO0lBSEMsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDdEQsQ0FBQzs2RkFQVSw0QkFBNEI7b0VBQTVCLDRCQUE0QjtZQVg1QixzSUFNVjs7WUFOVSxnQ0FNVjs0QkFHUyw4QkFBOEI7O2lGQUU3Qiw0QkFBNEI7Y0FieEMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSw0QkFBNEI7Z0JBQ3RDLFFBQVEsRUFBRTs7Ozs7O0lBTVI7Z0JBQ0YsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07Z0JBQy9DLFVBQVUsRUFBRSxJQUFJO2dCQUNoQixPQUFPLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQzthQUMxQzs7a0ZBQ1ksNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgaW5wdXQsXG4gIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IGdldEFwcEV4dGVuc2lvbnMgfSBmcm9tICcuLi9hcHAtZXh0ZW5zaW9ucyc7XG5pbXBvcnQgeyBSZW1vdGVDb21wb25lbnRPdXRsZXRDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzJztcbmltcG9ydCB7IEV4dGVuc2lvbiB9IGZyb20gJy4uL2V4dGVuc2lvbnMtbG9hZGVyJztcblxuaW50ZXJmYWNlIEhlbHBNZW51SXRlbVBsdWdpbk9wdGlvbiB7XG4gIGluZGV4PzogbnVtYmVyO1xuICBleHBvc2U/OiBzdHJpbmc7XG4gIGNvbXBvbmVudDogc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscE1lbnVJdGVtcyhzY29wZTogc3RyaW5nKSB7XG4gIHJldHVybiBnZXRBcHBFeHRlbnNpb25zPEhlbHBNZW51SXRlbVBsdWdpbk9wdGlvbj4oXG4gICAgWydjb25zb2xlLSonXVxuICAgICAgLmNvbmNhdChzY29wZSB8fCBbXSlcbiAgICAgIC5tYXAoc2NvcGUgPT4gYCR7c2NvcGV9L3BhZ2UvaGVhZGVyL2hlbHAtbWVudS9pdGVtYCksXG4gICkuc29ydCgoYSwgYikgPT4gLShhLm9wdGlvbnMuaW5kZXggLSBiLm9wdGlvbnMuaW5kZXgpKTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGxnLXJlbW90ZS1oZWxwLW1lbnUtaXRlbXMnLFxuICB0ZW1wbGF0ZTogYEBmb3IgKGl0ZW0gb2YgaGVscE1lbnVJdGVtczsgdHJhY2sgJGluZGV4KSB7XG4gICAgPHBsZy1yZW1vdGUtY29tcG9uZW50LW91dGxldFxuICAgICAgW2VudHJ5cG9pbnRdPVwiaXRlbS5lbnRyeXBvaW50XCJcbiAgICAgIFtleHBvc2VdPVwiaXRlbS5vcHRpb25zLmV4cG9zZVwiXG4gICAgICBbbmFtZV09XCJpdGVtLm9wdGlvbnMuY29tcG9uZW50XCJcbiAgICA+PC9wbGctcmVtb3RlLWNvbXBvbmVudC1vdXRsZXQ+XG4gIH1gLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1JlbW90ZUNvbXBvbmVudE91dGxldENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFJlbW90ZUhlbHBNZW51SXRlbXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBzY29wZSA9IGlucHV0PHN0cmluZz4oKTtcblxuICBoZWxwTWVudUl0ZW1zOiBBcnJheTxFeHRlbnNpb248SGVscE1lbnVJdGVtUGx1Z2luT3B0aW9uPj4gPSBbXTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmhlbHBNZW51SXRlbXMgPSBnZXRIZWxwTWVudUl0ZW1zKHRoaXMuc2NvcGUoKSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,6 @@
1
+ export * from './account-menu';
2
+ export * from './header-actions';
3
+ export * from './help-menu';
4
+ export * from './navigation';
5
+ export * from './route';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsdWdpbi1zZGsvc3JjL2xpYi9leHRlbnNpb24tcG9pbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYWNjb3VudC1tZW51JztcbmV4cG9ydCAqIGZyb20gJy4vaGVhZGVyLWFjdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9oZWxwLW1lbnUnO1xuZXhwb3J0ICogZnJvbSAnLi9uYXZpZ2F0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vcm91dGUnO1xuIl19
@@ -0,0 +1,104 @@
1
+ import { getAppExtensions } from '../app-extensions';
2
+ import { filterLatestVersion } from '../utils';
3
+ export function getRemoteNavigations(scope, locale) {
4
+ if (!scope) {
5
+ return [];
6
+ }
7
+ const exts = getAppExtensions(scope + '/navigation');
8
+ return filterLatestVersion((options) => options.name)(exts)
9
+ .map(ext => ext.options)
10
+ .map(options => translateLabel(locale, options));
11
+ }
12
+ export function getRemoteNavigationGroups(scope, locale) {
13
+ if (!scope) {
14
+ return [];
15
+ }
16
+ const exts = getAppExtensions(scope + '/navigation/group');
17
+ return filterLatestVersion((options) => options.name)(exts)
18
+ .map(ext => ext.options)
19
+ .map(options => translateLabel(locale, options));
20
+ }
21
+ export function insertNavItem(source, remotes) {
22
+ remotes.forEach(remote => {
23
+ remote = genItemKey(remote);
24
+ if (remote.insertAfter) {
25
+ const r = insert('after', remote.insertAfter, [], source, remote);
26
+ if (r.matched) {
27
+ source = r.result;
28
+ return;
29
+ }
30
+ }
31
+ if (remote.insertBefore) {
32
+ const r = insert('before', remote.insertBefore, [], source, remote);
33
+ if (r.matched) {
34
+ source = r.result;
35
+ return;
36
+ }
37
+ }
38
+ source = source.concat(remote);
39
+ });
40
+ return source;
41
+ }
42
+ export function insertNavGroupItem(source, remotes) {
43
+ return source.map(group => {
44
+ const groupRemotes = remotes.filter(remote => remote.group === group.name);
45
+ return { ...group, items: insertNavItem(group.items, groupRemotes) };
46
+ });
47
+ }
48
+ function translateLabel(locale, item) {
49
+ return {
50
+ ...item,
51
+ children: item.children
52
+ ? item.children.map(c => translateLabel(locale, c))
53
+ : null,
54
+ label: typeof item.displayName === 'string'
55
+ ? item.displayName
56
+ : item.displayName[locale] || item.displayName['en'],
57
+ };
58
+ }
59
+ function insert(position, anchor, namePath, target, item) {
60
+ const offset = position === 'before' ? 0 : 1;
61
+ anchor = Array.isArray(anchor) ? anchor : [anchor];
62
+ for (const currentAnchor of anchor) {
63
+ for (let i = 0; i < target.length; i++) {
64
+ if (target[i].name === currentAnchor) {
65
+ return {
66
+ result: [
67
+ ...target.slice(0, i + offset),
68
+ { ...item, key: namePath.join('/') + '/' + item.name },
69
+ ...target.slice(i + offset),
70
+ ],
71
+ matched: true,
72
+ };
73
+ }
74
+ if (target[i].children) {
75
+ const { result, matched } = insert(position, currentAnchor, namePath.concat(target[i].name), target[i].children, item);
76
+ if (matched) {
77
+ return {
78
+ result: target.map((item, index) => index === i
79
+ ? {
80
+ ...item,
81
+ children: result,
82
+ }
83
+ : item),
84
+ matched: true,
85
+ };
86
+ }
87
+ }
88
+ }
89
+ }
90
+ return {
91
+ result: target,
92
+ matched: false,
93
+ };
94
+ }
95
+ function genItemKey(item, parentKey = '') {
96
+ const currentKey = item.key ?? item.name;
97
+ const key = parentKey ? parentKey + '/' + currentKey : currentKey;
98
+ return {
99
+ ...item,
100
+ key,
101
+ children: item.children?.map(c => genItemKey(c, key)),
102
+ };
103
+ }
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGx1Z2luLXNkay9zcmMvbGliL2V4dGVuc2lvbi1wb2ludHMvbmF2aWdhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFL0MsTUFBTSxVQUFVLG9CQUFvQixDQUNsQyxLQUFhLEVBQ2IsTUFBYztJQUVkLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNYLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE1BQU0sSUFBSSxHQUFHLGdCQUFnQixDQUFDLEtBQUssR0FBRyxhQUFhLENBQUMsQ0FBQztJQUVyRCxPQUFPLG1CQUFtQixDQUFDLENBQUMsT0FBeUIsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQztTQUMxRSxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBbUMsQ0FBQztTQUNuRCxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7QUFDckQsQ0FBQztBQUVELE1BQU0sVUFBVSx5QkFBeUIsQ0FDdkMsS0FBYSxFQUNiLE1BQWM7SUFFZCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDWCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxNQUFNLElBQUksR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLEdBQUcsbUJBQW1CLENBQUMsQ0FBQztJQUUzRCxPQUFPLG1CQUFtQixDQUFDLENBQUMsT0FBeUIsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQztTQUMxRSxHQUFHLENBQUMs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LENBQUMsQ0FBQyxJQUFJLENBQ1Q7d0JBQ0QsT0FBTyxFQUFFLElBQUk7cUJBQ2QsQ0FBQztnQkFDSixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTztRQUNMLE1BQU0sRUFBRSxNQUFNO1FBQ2QsT0FBTyxFQUFFLEtBQUs7S0FDZixDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsVUFBVSxDQUNqQixJQUEwQixFQUMxQixZQUFvQixFQUFFO0lBRXRCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQztJQUN6QyxNQUFNLEdBQUcsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxHQUFHLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7SUFDbEUsT0FBTztRQUNMLEdBQUcsSUFBSTtRQUNQLEdBQUc7UUFDSCxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0tBQ3RELENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmF2R3JvdXBDb25maWcsIE5hdkl0ZW1Db25maWcgfSBmcm9tICdAYWxhdWRhLWZlL2NvbW1vbic7XG5cbmltcG9ydCB7IGdldEFwcEV4dGVuc2lvbnMgfSBmcm9tICcuLi9hcHAtZXh0ZW5zaW9ucyc7XG5pbXBvcnQgeyBmaWx0ZXJMYXRlc3RWZXJzaW9uIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVtb3RlTmF2aWdhdGlvbnMoXG4gIHNjb3BlOiBzdHJpbmcsXG4gIGxvY2FsZTogc3RyaW5nLFxuKTogUmVtb3RlTmF2aWdhdGlvbkl0ZW1Sb290W10ge1xuICBpZiAoIXNjb3BlKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgY29uc3QgZXh0cyA9IGdldEFwcEV4dGVuc2lvbnMoc2NvcGUgKyAnL25hdmlnYXRpb24nKTtcblxuICByZXR1cm4gZmlsdGVyTGF0ZXN0VmVyc2lvbigob3B0aW9uczogeyBuYW1lOiBzdHJpbmcgfSkgPT4gb3B0aW9ucy5uYW1lKShleHRzKVxuICAgIC5tYXAoZXh0ID0+IGV4dC5vcHRpb25zIGFzIFJlbW90ZU5hdmlnYXRpb25JdGVtUm9vdClcbiAgICAubWFwKG9wdGlvbnMgPT4gdHJhbnNsYXRlTGFiZWwobG9jYWxlLCBvcHRpb25zKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZW1vdGVOYXZpZ2F0aW9uR3JvdXBzKFxuICBzY29wZTogc3RyaW5nLFxuICBsb2NhbGU6IHN0cmluZyxcbik6IFJlbW90ZU5hdmlnYXRpb25JdGVtUm9vdFtdIHtcbiAgaWYgKCFzY29wZSkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIGNvbnN0IGV4dHMgPSBnZXRBcHBFeHRlbnNpb25zKHNjb3BlICsgJy9uYXZpZ2F0aW9uL2dyb3VwJyk7XG5cbiAgcmV0dXJuIGZpbHRlckxhdGVzdFZlcnNpb24oKG9wdGlvbnM6IHsgbmFtZTogc3RyaW5nIH0pID0+IG9wdGlvbnMubmFtZSkoZXh0cylcbiAgICAubWFwKGV4dCA9PiBleHQub3B0aW9ucyBhcyBSZW1vdGVOYXZpZ2F0aW9uSXRlbVJvb3QpXG4gICAgLm1hcChvcHRpb25zID0+IHRyYW5zbGF0ZUxhYmVsKGxvY2FsZSwgb3B0aW9ucykpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5zZXJ0TmF2SXRlbShcbiAgc291cmNlOiBOYXZJdGVtQ29uZmlnW10sXG4gIHJlbW90ZXM6IFJlbW90ZU5hdmlnYXRpb25JdGVtUm9vdFtdLFxuKTogTmF2SXRlbUNvbmZpZ1tdIHtcbiAgcmVtb3Rlcy5mb3JFYWNoKHJlbW90ZSA9PiB7XG4gICAgcmVtb3RlID0gZ2VuSXRlbUtleShyZW1vdGUpO1xuXG4gICAgaWYgKHJlbW90ZS5pbnNlcnRBZnRlcikge1xuICAgICAgY29uc3QgciA9IGluc2VydCgnYWZ0ZXInLCByZW1vdGUuaW5zZXJ0QWZ0ZXIsIFtdLCBzb3VyY2UsIHJlbW90ZSk7XG4gICAgICBpZiAoci5tYXRjaGVkKSB7XG4gICAgICAgIHNvdXJjZSA9IHIucmVzdWx0O1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHJlbW90ZS5pbnNlcnRCZWZvcmUpIHtcbiAgICAgIGNvbnN0IHIgPSBpbnNlcnQoJ2JlZm9yZScsIHJlbW90ZS5pbnNlcnRCZWZvcmUsIFtdLCBzb3VyY2UsIHJlbW90ZSk7XG4gICAgICBpZiAoci5tYXRjaGVkKSB7XG4gICAgICAgIHNvdXJjZSA9IHIucmVzdWx0O1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgc291cmNlID0gc291cmNlLmNvbmNhdChyZW1vdGUpO1xuICB9KTtcblxuICByZXR1cm4gc291cmNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5zZXJ0TmF2R3JvdXBJdGVtKFxuICBzb3VyY2U6IE5hdkdyb3VwQ29uZmlnW10sXG4gIHJlbW90ZXM6IFJlbW90ZU5hdmlnYXRpb25JdGVtUm9vdFtdLFxuKTogTmF2R3JvdXBDb25maWdbXSB7XG4gIHJldHVybiBzb3VyY2UubWFwKGdyb3VwID0+IHtcbiAgICBjb25zdCBncm91cFJlbW90ZXMgPSByZW1vdGVzLmZpbHRlcihyZW1vdGUgPT4gcmVtb3RlLmdyb3VwID09PSBncm91cC5uYW1lKTtcbiAgICByZXR1cm4geyAuLi5ncm91cCwgaXRlbXM6IGluc2VydE5hdkl0ZW0oZ3JvdXAuaXRlbXMsIGdyb3VwUmVtb3RlcykgfTtcbiAgfSk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVtb3RlTmF2aWdhdGlvbkl0ZW0gZXh0ZW5kcyBOYXZJdGVtQ29uZmlnIHtcbiAgZ3JvdXA/OiBzdHJpbmc7XG4gIGRpc3BsYXlOYW1lOiBzdHJpbmcgfCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICBjaGlsZHJlbj86IFJlbW90ZU5hdmlnYXRpb25JdGVtW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVtb3RlTmF2aWdhdGlvbkl0ZW1Sb290IGV4dGVuZHMgUmVtb3RlTmF2aWdhdGlvbkl0ZW0ge1xuICBpbnNlcnRBZnRlcj86IHN0cmluZyB8IHN0cmluZ1tdO1xuICBpbnNlcnRCZWZvcmU/OiBzdHJpbmcgfCBzdHJpbmdbXTtcbn1cblxuZnVuY3Rpb24gdHJhbnNsYXRlTGFiZWwoXG4gIGxvY2FsZTogc3RyaW5nLFxuICBpdGVtOiBSZW1vdGVOYXZpZ2F0aW9uSXRlbSxcbik6IFJlbW90ZU5hdmlnYXRpb25JdGVtIHtcbiAgcmV0dXJuIHtcbiAgICAuLi5pdGVtLFxuICAgIGNoaWxkcmVuOiBpdGVtLmNoaWxkcmVuXG4gICAgICA/IGl0ZW0uY2hpbGRyZW4ubWFwKGMgPT4gdHJhbnNsYXRlTGFiZWwobG9jYWxlLCBjKSlcbiAgICAgIDogbnVsbCxcbiAgICBsYWJlbDpcbiAgICAgIHR5cGVvZiBpdGVtLmRpc3BsYXlOYW1lID09PSAnc3RyaW5nJ1xuICAgICAgICA/IGl0ZW0uZGlzcGxheU5hbWVcbiAgICAgICAgOiBpdGVtLmRpc3BsYXlOYW1lW2xvY2FsZV0gfHwgaXRlbS5kaXNwbGF5TmFtZVsnZW4nXSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gaW5zZXJ0KFxuICBwb3NpdGlvbjogJ2JlZm9yZScgfCAnYWZ0ZXInLFxuICBhbmNob3I6IHN0cmluZyB8IHN0cmluZ1tdLFxuICBuYW1lUGF0aDogc3RyaW5nW10sXG4gIHRhcmdldDogTmF2SXRlbUNvbmZpZ1tdLFxuICBpdGVtOiBSZW1vdGVOYXZpZ2F0aW9uSXRlbVJvb3QsXG4pOiB7IHJlc3VsdDogTmF2SXRlbUNvbmZpZ1tdOyBtYXRjaGVkOiBib29sZWFuIH0ge1xuICBjb25zdCBvZmZzZXQgPSBwb3NpdGlvbiA9PT0gJ2JlZm9yZScgPyAwIDogMTtcbiAgYW5jaG9yID0gQXJyYXkuaXNBcnJheShhbmNob3IpID8gYW5jaG9yIDogW2FuY2hvcl07XG5cbiAgZm9yIChjb25zdCBjdXJyZW50QW5jaG9yIG9mIGFuY2hvcikge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGFyZ2V0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAodGFyZ2V0W2ldLm5hbWUgPT09IGN1cnJlbnRBbmNob3IpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICByZXN1bHQ6IFtcbiAgICAgICAgICAgIC4uLnRhcmdldC5zbGljZSgwLCBpICsgb2Zmc2V0KSxcbiAgICAgICAgICAgIHsgLi4uaXRlbSwga2V5OiBuYW1lUGF0aC5qb2luKCcvJykgKyAnLycgKyBpdGVtLm5hbWUgfSxcbiAgICAgICAgICAgIC4uLnRhcmdldC5zbGljZShpICsgb2Zmc2V0KSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIG1hdGNoZWQ6IHRydWUsXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIGlmICh0YXJnZXRbaV0uY2hpbGRyZW4pIHtcbiAgICAgICAgY29uc3QgeyByZXN1bHQsIG1hdGNoZWQgfSA9IGluc2VydChcbiAgICAgICAgICBwb3NpdGlvbixcbiAgICAgICAgICBjdXJyZW50QW5jaG9yLFxuICAgICAgICAgIG5hbWVQYXRoLmNvbmNhdCh0YXJnZXRbaV0ubmFtZSksXG4gICAgICAgICAgdGFyZ2V0W2ldLmNoaWxkcmVuLFxuICAgICAgICAgIGl0ZW0sXG4gICAgICAgICk7XG4gICAgICAgIGlmIChtYXRjaGVkKSB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHJlc3VsdDogdGFyZ2V0Lm1hcCgoaXRlbSwgaW5kZXgpID0+XG4gICAgICAgICAgICAgIGluZGV4ID09PSBpXG4gICAgICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgICAgIC4uLml0ZW0sXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiByZXN1bHQsXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgOiBpdGVtLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIG1hdGNoZWQ6IHRydWUsXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7XG4gICAgcmVzdWx0OiB0YXJnZXQsXG4gICAgbWF0Y2hlZDogZmFsc2UsXG4gIH07XG59XG5cbmZ1bmN0aW9uIGdlbkl0ZW1LZXkoXG4gIGl0ZW06IFJlbW90ZU5hdmlnYXRpb25JdGVtLFxuICBwYXJlbnRLZXk6IHN0cmluZyA9ICcnLFxuKTogUmVtb3RlTmF2aWdhdGlvbkl0ZW0ge1xuICBjb25zdCBjdXJyZW50S2V5ID0gaXRlbS5rZXkgPz8gaXRlbS5uYW1lO1xuICBjb25zdCBrZXkgPSBwYXJlbnRLZXkgPyBwYXJlbnRLZXkgKyAnLycgKyBjdXJyZW50S2V5IDogY3VycmVudEtleTtcbiAgcmV0dXJuIHtcbiAgICAuLi5pdGVtLFxuICAgIGtleSxcbiAgICBjaGlsZHJlbjogaXRlbS5jaGlsZHJlbj8ubWFwKGMgPT4gZ2VuSXRlbUtleShjLCBrZXkpKSxcbiAgfTtcbn1cbiJdfQ==
@@ -0,0 +1,18 @@
1
+ import { getAppExtensions } from '../app-extensions';
2
+ import { filterLatestVersion, loadRemote } from '../utils';
3
+ export function mapToRoute(ext, addition = {}) {
4
+ return {
5
+ path: ext.options.path,
6
+ loadChildren: () => loadRemote(ext.entrypoint, ext.options.expose ?? './Routes').then(m => m.default),
7
+ ...addition,
8
+ };
9
+ }
10
+ export function getRootRoutes(scope) {
11
+ const exts = getAppExtensions(scope + '/routes/root');
12
+ return filterLatestVersion((options) => options.path)(exts).map(ext => mapToRoute(ext));
13
+ }
14
+ export function getFeatureRoutes(scope) {
15
+ const exts = getAppExtensions(scope + '/routes/feature');
16
+ return filterLatestVersion((options) => options.path)(exts).map(ext => mapToRoute(ext));
17
+ }
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsdWdpbi1zZGsvc3JjL2xpYi9leHRlbnNpb24tcG9pbnRzL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXJELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFM0QsTUFBTSxVQUFVLFVBQVUsQ0FDeEIsR0FBNEIsRUFDNUIsV0FBMkIsRUFBRTtJQUU3QixPQUFPO1FBQ0wsSUFBSSxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSTtRQUN0QixZQUFZLEVBQUUsR0FBRyxFQUFFLENBQ2pCLFVBQVUsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FDL0QsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUNmO1FBQ0gsR0FBRyxRQUFRO0tBQ1osQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFDLEtBQWE7SUFDekMsTUFBTSxJQUFJLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxHQUFHLGNBQWMsQ0FBQyxDQUFDO0lBQ3RELE9BQU8sbUJBQW1CLENBQUMsQ0FBQyxPQUFxQixFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUMzRSxHQUFHLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FDdkIsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsS0FBYTtJQUM1QyxNQUFNLElBQUksR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLEdBQUcsaUJBQWlCLENBQUMsQ0FBQztJQUN6RCxPQUFPLG1CQUFtQixDQUFDLENBQUMsT0FBcUIsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FDM0UsR0FBRyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQ3ZCLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBnZXRBcHBFeHRlbnNpb25zIH0gZnJvbSAnLi4vYXBwLWV4dGVuc2lvbnMnO1xuaW1wb3J0IHsgRXh0ZW5zaW9uIH0gZnJvbSAnLi4vZXh0ZW5zaW9ucy1sb2FkZXInO1xuaW1wb3J0IHsgZmlsdGVyTGF0ZXN0VmVyc2lvbiwgbG9hZFJlbW90ZSB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIG1hcFRvUm91dGUoXG4gIGV4dDogRXh0ZW5zaW9uPFJvdXRlT3B0aW9ucz4sXG4gIGFkZGl0aW9uOiBQYXJ0aWFsPFJvdXRlPiA9IHt9LFxuKTogUm91dGUge1xuICByZXR1cm4ge1xuICAgIHBhdGg6IGV4dC5vcHRpb25zLnBhdGgsXG4gICAgbG9hZENoaWxkcmVuOiAoKSA9PlxuICAgICAgbG9hZFJlbW90ZShleHQuZW50cnlwb2ludCwgZXh0Lm9wdGlvbnMuZXhwb3NlID8/ICcuL1JvdXRlcycpLnRoZW4oXG4gICAgICAgIG0gPT4gbS5kZWZhdWx0LFxuICAgICAgKSxcbiAgICAuLi5hZGRpdGlvbixcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJvb3RSb3V0ZXMoc2NvcGU6IHN0cmluZykge1xuICBjb25zdCBleHRzID0gZ2V0QXBwRXh0ZW5zaW9ucyhzY29wZSArICcvcm91dGVzL3Jvb3QnKTtcbiAgcmV0dXJuIGZpbHRlckxhdGVzdFZlcnNpb24oKG9wdGlvbnM6IFJvdXRlT3B0aW9ucykgPT4gb3B0aW9ucy5wYXRoKShleHRzKS5tYXAoXG4gICAgZXh0ID0+IG1hcFRvUm91dGUoZXh0KSxcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZlYXR1cmVSb3V0ZXMoc2NvcGU6IHN0cmluZykge1xuICBjb25zdCBleHRzID0gZ2V0QXBwRXh0ZW5zaW9ucyhzY29wZSArICcvcm91dGVzL2ZlYXR1cmUnKTtcbiAgcmV0dXJuIGZpbHRlckxhdGVzdFZlcnNpb24oKG9wdGlvbnM6IFJvdXRlT3B0aW9ucykgPT4gb3B0aW9ucy5wYXRoKShleHRzKS5tYXAoXG4gICAgZXh0ID0+IG1hcFRvUm91dGUoZXh0KSxcbiAgKTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSb3V0ZU9wdGlvbnMge1xuICBwYXRoOiBzdHJpbmc7XG4gIGV4cG9zZT86IHN0cmluZztcbiAgY2x1c3RlclN0cmF0ZWd5PzogJ2xhdGVzdCcgfCAnc3RyaWN0Jztcbn1cbiJdfQ==
@@ -1,6 +1,9 @@
1
1
  import { attachAuthorizationHeader } from '@alauda-fe/common';
2
- import { isLocalEnv } from './utils';
2
+ import { getBootMode, isLocalEnv, LOCAL_DEV_EXTENSION_INFO } from './utils';
3
3
  export async function loadExtensions(query = {}) {
4
+ if (getBootMode() === 'safe') {
5
+ return [];
6
+ }
4
7
  return isLocalEnv()
5
8
  ? await loadDevExtensions(query)
6
9
  : await loadProdExtensions(query);
@@ -14,8 +17,9 @@ async function loadDevExtensions(query = {}) {
14
17
  return res.json();
15
18
  })
16
19
  .then((plugin) => plugin.extensions.map(ext => ({
20
+ ...LOCAL_DEV_EXTENSION_INFO,
17
21
  ...ext,
18
- entrypoint: 'http://localhost:5000',
22
+ entrypoint: '/dev-plugin',
19
23
  })))
20
24
  .catch(() => {
21
25
  console.warn('Failed to fetch local dev extensions, loading prod extensions');
@@ -39,8 +43,9 @@ async function loadProdExtensions(query = {}) {
39
43
  .then((rawPlugins) => Object.entries(rawPlugins).reduce((acc, [cluster, plugins]) => acc.concat(plugins.flatMap(plugin => JSON.parse(plugin['console-plugin.json']).extensions.map(ext => ({
40
44
  ...ext,
41
45
  cluster,
42
- operator: plugin.operator,
43
- version: plugin.version,
46
+ pluginName: plugin.name,
47
+ pluginVersion: plugin.version,
48
+ appName: plugin.path.slice(plugin.path.lastIndexOf('/') + 1),
44
49
  entrypoint: `${reqPrefix}/clusters-rewrite/${cluster}${plugin.path}`,
45
50
  })))), []))
46
51
  .catch(err => {
@@ -48,4 +53,4 @@ async function loadProdExtensions(query = {}) {
48
53
  return [];
49
54
  });
50
55
  }
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5zaW9ucy1sb2FkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3BsdWdpbi1zZGsvc3JjL2xpYi9leHRlbnNpb25zLWxvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXJDLE1BQU0sQ0FBQyxLQUFLLFVBQVUsY0FBYyxDQUFDLFFBQXlCLEVBQUU7SUFDOUQsT0FBTyxVQUFVLEVBQUU7UUFDakIsQ0FBQyxDQUFDLE1BQU0saUJBQWlCLENBQUMsS0FBSyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxNQUFNLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3RDLENBQUM7QUFFRCxLQUFLLFVBQVUsaUJBQWlCLENBQzlCLFFBQXlCLEVBQUU7SUFFM0IsT0FBTyxNQUFNLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQztTQUNsRCxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDVixJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO1FBQzFELENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQixDQUFDLENBQUM7U0FDRCxJQUFJLENBQUMsQ0FBQyxNQUFrQixFQUFFLEVBQUUsQ0FDM0IsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzVCLEdBQUcsR0FBRztRQUNOLFVBQVUsRUFBRSx1QkFBdUI7S0FDcEMsQ0FBQyxDQUFDLENBQ0o7U0FDQSxLQUFLLENBQUMsR0FBRyxFQUFFO1FBQ1YsT0FBTyxDQUFDLElBQUksQ0FDViwrREFBK0QsQ0FDaEUsQ0FBQztRQUNGLE9BQU8sa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDO0FBRUQsS0FBSyxVQUFVLGtCQUFrQixDQUMvQixRQUF5QixFQUFFO0lBRTNCLE1BQU0sU0FBUyxHQUFHLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNyRCxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztTQUN0QyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1NBQ2xELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUViLE9BQU8sTUFBTSxLQUFLLENBQ2hCLEdBQUcsU0FBUyw2Q0FBNkMsV0FBVyxJQUFJLFVBQVUsR0FBRyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsRUFBRSxFQUN0SDtRQUNFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRTtLQUNyQyxDQUNGO1NBQ0UsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ1YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNaLE1BQU0sSUFBSSxLQUFLLENBQUMsNEJBQTRCLENBQUMsQ0FBQztRQUNoRCxDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEIsQ0FBQyxDQUFDO1NBQ0QsSUFBSSxDQUFDLENBQUMsVUFBc0IsRUFBRSxFQUFFLENBQy9CLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxDQUMvQixDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFLENBQzFCLEdBQUcsQ0FBQyxNQUFNLENBQ1IsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUVyQixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUN6QyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZCLEdBQUcsR0FBRztRQUNOLE9BQU87UUFDUCxRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVE7UUFDekIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPO1FBQ3ZCLFVBQVUsRUFBRSxHQUFHLFNBQVMscUJBQXFCLE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxFQUFFO0tBQ3JFLENBQUMsQ0FBQyxDQUNKLENBQ0YsRUFDSCxFQUFpQixDQUNsQixDQUNGO1NBQ0EsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ1gsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuQixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGF0dGFjaEF1dGhvcml6YXRpb25IZWFkZXIgfSBmcm9tICdAYWxhdWRhLWZlL2NvbW1vbic7XG5cbmltcG9ydCB7IGlzTG9jYWxFbnYgfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGxvYWRFeHRlbnNpb25zKHF1ZXJ5OiBFeHRlbnNpb25zUXVlcnkgPSB7fSkge1xuICByZXR1cm4gaXNMb2NhbEVudigpXG4gICAgPyBhd2FpdCBsb2FkRGV2RXh0ZW5zaW9ucyhxdWVyeSlcbiAgICA6IGF3YWl0IGxvYWRQcm9kRXh0ZW5zaW9ucyhxdWVyeSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGxvYWREZXZFeHRlbnNpb25zKFxuICBxdWVyeTogRXh0ZW5zaW9uc1F1ZXJ5ID0ge30sXG4pOiBQcm9taXNlPEV4dGVuc2lvbltdPiB7XG4gIHJldHVybiBhd2FpdCBmZXRjaChgL2Rldi1wbHVnaW4vY29uc29sZS1wbHVnaW4uanNvbmApXG4gICAgLnRoZW4ocmVzID0+IHtcbiAgICAgIGlmICghcmVzLm9rKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGZldGNoIGxvY2FsIGRldiBleHRlbnNpb25zJyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzLmpzb24oKTtcbiAgICB9KVxuICAgIC50aGVuKChwbHVnaW46IFBsdWdpbkpTT04pID0+XG4gICAgICBwbHVnaW4uZXh0ZW5zaW9ucy5tYXAoZXh0ID0+ICh7XG4gICAgICAgIC4uLmV4dCxcbiAgICAgICAgZW50cnlwb2ludDogJ2h0dHA6Ly9sb2NhbGhvc3Q6NTAwMCcsXG4gICAgICB9KSksXG4gICAgKVxuICAgIC5jYXRjaCgoKSA9PiB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICdGYWlsZWQgdG8gZmV0Y2ggbG9jYWwgZGV2IGV4dGVuc2lvbnMsIGxvYWRpbmcgcHJvZCBleHRlbnNpb25zJyxcbiAgICAgICk7XG4gICAgICByZXR1cm4gbG9hZFByb2RFeHRlbnNpb25zKHF1ZXJ5KTtcbiAgICB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gbG9hZFByb2RFeHRlbnNpb25zKFxuICBxdWVyeTogRXh0ZW5zaW9uc1F1ZXJ5ID0ge30sXG4pOiBQcm9taXNlPEV4dGVuc2lvbltdPiB7XG4gIGNvbnN0IHJlcVByZWZpeCA9IGlzTG9jYWxFbnYoKSA/ICcvYXBpLWdhdGV3YXknIDogJyc7XG4gIGNvbnN0IHF1ZXJ5U3RyaW5nID0gT2JqZWN0LmVudHJpZXMocXVlcnkpXG4gICAgLm1hcCgoW2tleSwgdmFsdWVdKSA9PiBgJHtrZXl9PSR7dmFsdWUuam9pbignLCcpfWApXG4gICAgLmpvaW4oJzsnKTtcblxuICByZXR1cm4gYXdhaXQgZmV0Y2goXG4gICAgYCR7cmVxUHJlZml4fS9mcm9udGVuZC1wbHVnaW5zL2NsdXN0ZXJzL2NvbnNvbGUtcGx1Z2lucyR7cXVlcnlTdHJpbmcgJiYgJz9maWx0ZXI9JyArIGVuY29kZVVSSUNvbXBvbmVudChxdWVyeVN0cmluZyl9YCxcbiAgICB7XG4gICAgICBoZWFkZXJzOiBhdHRhY2hBdXRob3JpemF0aW9uSGVhZGVyKCksXG4gICAgfSxcbiAgKVxuICAgIC50aGVuKHJlcyA9PiB7XG4gICAgICBpZiAoIXJlcy5vaykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBmZXRjaCBleHRlbnNpb25zJyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzLmpzb24oKTtcbiAgICB9KVxuICAgIC50aGVuKChyYXdQbHVnaW5zOiBSYXdQbHVnaW5zKSA9PlxuICAgICAgT2JqZWN0LmVudHJpZXMocmF3UGx1Z2lucykucmVkdWNlKFxuICAgICAgICAoYWNjLCBbY2x1c3RlciwgcGx1Z2luc10pID0+XG4gICAgICAgICAgYWNjLmNvbmNhdChcbiAgICAgICAgICAgIHBsdWdpbnMuZmxhdE1hcChwbHVnaW4gPT5cbiAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgIEpTT04ucGFyc2UocGx1Z2luWydjb25zb2xlLXBsdWdpbi5qc29uJ10pIGFzIFBsdWdpbkpTT05cbiAgICAgICAgICAgICAgKS5leHRlbnNpb25zLm1hcChleHQgPT4gKHtcbiAgICAgICAgICAgICAgICAuLi5leHQsXG4gICAgICAgICAgICAgICAgY2x1c3RlcixcbiAgICAgICAgICAgICAgICBvcGVyYXRvcjogcGx1Z2luLm9wZXJhdG9yLFxuICAgICAgICAgICAgICAgIHZlcnNpb246IHBsdWdpbi52ZXJzaW9uLFxuICAgICAgICAgICAgICAgIGVudHJ5cG9pbnQ6IGAke3JlcVByZWZpeH0vY2x1c3RlcnMtcmV3cml0ZS8ke2NsdXN0ZXJ9JHtwbHVnaW4ucGF0aH1gLFxuICAgICAgICAgICAgICB9KSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICksXG4gICAgICAgIFtdIGFzIEV4dGVuc2lvbltdLFxuICAgICAgKSxcbiAgICApXG4gICAgLmNhdGNoKGVyciA9PiB7XG4gICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgICByZXR1cm4gW107XG4gICAgfSk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXh0ZW5zaW9uc1F1ZXJ5IHtcbiAgdHlwZXM/OiBzdHJpbmdbXTtcbiAgY2x1c3RlcnM/OiBzdHJpbmdbXTtcbiAgb3BlcmF0b3JzPzogc3RyaW5nW107XG4gIGNoYW5uZWxzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXh0ZW5zaW9uPFQgPSBhbnk+IGV4dGVuZHMgUmF3RXh0ZW5zaW9uPFQ+IHtcbiAgY2x1c3Rlcj86IHN0cmluZztcbiAgb3BlcmF0b3I/OiBzdHJpbmc7XG4gIHZlcnNpb24/OiBzdHJpbmc7XG4gIGVudHJ5cG9pbnQ6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFJhd1BsdWdpbnMge1xuICBbY2x1c3Rlcjogc3RyaW5nXTogQXJyYXk8e1xuICAgIG9wZXJhdG9yOiBzdHJpbmc7XG4gICAgdmVyc2lvbjogc3RyaW5nO1xuICAgIHBhdGg6IHN0cmluZztcbiAgICAnY29uc29sZS1wbHVnaW4uanNvbic6IHN0cmluZztcbiAgfT47XG59XG5cbmludGVyZmFjZSBQbHVnaW5KU09OIHtcbiAgZXh0ZW5zaW9uczogUmF3RXh0ZW5zaW9uW107XG59XG5cbmludGVyZmFjZSBSYXdFeHRlbnNpb248VCA9IGFueT4ge1xuICB0eXBlOiBzdHJpbmc7XG4gIG9wdGlvbnM6IFQ7XG59XG4iXX0=
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5zaW9ucy1sb2FkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3BsdWdpbi1zZGsvc3JjL2xpYi9leHRlbnNpb25zLWxvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUU1RSxNQUFNLENBQUMsS0FBSyxVQUFVLGNBQWMsQ0FBQyxRQUF5QixFQUFFO0lBQzlELElBQUksV0FBVyxFQUFFLEtBQUssTUFBTSxFQUFFLENBQUM7UUFDN0IsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBQ0QsT0FBTyxVQUFVLEVBQUU7UUFDakIsQ0FBQyxDQUFDLE1BQU0saUJBQWlCLENBQUMsS0FBSyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxNQUFNLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3RDLENBQUM7QUFFRCxLQUFLLFVBQVUsaUJBQWlCLENBQzlCLFFBQXlCLEVBQUU7SUFFM0IsT0FBTyxNQUFNLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQztTQUNsRCxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDVixJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO1FBQzFELENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQixDQUFDLENBQUM7U0FDRCxJQUFJLENBQUMsQ0FBQyxNQUFrQixFQUFFLEVBQUUsQ0FDM0IsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzVCLEdBQUcsd0JBQXdCO1FBQzNCLEdBQUcsR0FBRztRQUNOLFVBQVUsRUFBRSxhQUFhO0tBQzFCLENBQUMsQ0FBQyxDQUNKO1NBQ0EsS0FBSyxDQUFDLEdBQUcsRUFBRTtRQUNWLE9BQU8sQ0FBQyxJQUFJLENBQ1YsK0RBQStELENBQ2hFLENBQUM7UUFDRixPQUFPLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUVELEtBQUssVUFBVSxrQkFBa0IsQ0FDL0IsUUFBeUIsRUFBRTtJQUUzQixNQUFNLFNBQVMsR0FBRyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDckQsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7U0FDdEMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztTQUNsRCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFYixPQUFPLE1BQU0sS0FBSyxDQUNoQixHQUFHLFNBQVMsNkNBQTZDLFdBQVcsSUFBSSxVQUFVLEdBQUcsa0JBQWtCLENBQUMsV0FBVyxDQUFDLEVBQUUsRUFDdEg7UUFDRSxPQUFPLEVBQUUseUJBQXlCLEVBQUU7S0FDckMsQ0FDRjtTQUNFLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUNWLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDWixNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFDaEQsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BCLENBQUMsQ0FBQztTQUNELElBQUksQ0FBQyxDQUFDLFVBQXNCLEVBQUUsRUFBRSxDQUMvQixNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FDL0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUMxQixHQUFHLENBQUMsTUFBTSxDQUNSLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FFckIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FDekMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN2QixHQUFHLEdBQUc7UUFDTixPQUFPO1FBQ1AsVUFBVSxFQUFFLE1BQU0sQ0FBQyxJQUFJO1FBQ3ZCLGFBQWEsRUFBRSxNQUFNLENBQUMsT0FBTztRQUM3QixPQUFPLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVELFVBQVUsRUFBRSxHQUFHLFNBQVMscUJBQXFCLE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxFQUFFO0tBQ3JFLENBQUMsQ0FBQyxDQUNKLENBQ0YsRUFDSCxFQUFpQixDQUNsQixDQUNGO1NBQ0EsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ1gsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuQixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGF0dGFjaEF1dGhvcml6YXRpb25IZWFkZXIgfSBmcm9tICdAYWxhdWRhLWZlL2NvbW1vbic7XG5cbmltcG9ydCB7IGdldEJvb3RNb2RlLCBpc0xvY2FsRW52LCBMT0NBTF9ERVZfRVhURU5TSU9OX0lORk8gfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGxvYWRFeHRlbnNpb25zKHF1ZXJ5OiBFeHRlbnNpb25zUXVlcnkgPSB7fSkge1xuICBpZiAoZ2V0Qm9vdE1vZGUoKSA9PT0gJ3NhZmUnKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG4gIHJldHVybiBpc0xvY2FsRW52KClcbiAgICA/IGF3YWl0IGxvYWREZXZFeHRlbnNpb25zKHF1ZXJ5KVxuICAgIDogYXdhaXQgbG9hZFByb2RFeHRlbnNpb25zKHF1ZXJ5KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gbG9hZERldkV4dGVuc2lvbnMoXG4gIHF1ZXJ5OiBFeHRlbnNpb25zUXVlcnkgPSB7fSxcbik6IFByb21pc2U8RXh0ZW5zaW9uW10+IHtcbiAgcmV0dXJuIGF3YWl0IGZldGNoKGAvZGV2LXBsdWdpbi9jb25zb2xlLXBsdWdpbi5qc29uYClcbiAgICAudGhlbihyZXMgPT4ge1xuICAgICAgaWYgKCFyZXMub2spIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gZmV0Y2ggbG9jYWwgZGV2IGV4dGVuc2lvbnMnKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXMuanNvbigpO1xuICAgIH0pXG4gICAgLnRoZW4oKHBsdWdpbjogUGx1Z2luSlNPTikgPT5cbiAgICAgIHBsdWdpbi5leHRlbnNpb25zLm1hcChleHQgPT4gKHtcbiAgICAgICAgLi4uTE9DQUxfREVWX0VYVEVOU0lPTl9JTkZPLFxuICAgICAgICAuLi5leHQsXG4gICAgICAgIGVudHJ5cG9pbnQ6ICcvZGV2LXBsdWdpbicsXG4gICAgICB9KSksXG4gICAgKVxuICAgIC5jYXRjaCgoKSA9PiB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICdGYWlsZWQgdG8gZmV0Y2ggbG9jYWwgZGV2IGV4dGVuc2lvbnMsIGxvYWRpbmcgcHJvZCBleHRlbnNpb25zJyxcbiAgICAgICk7XG4gICAgICByZXR1cm4gbG9hZFByb2RFeHRlbnNpb25zKHF1ZXJ5KTtcbiAgICB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gbG9hZFByb2RFeHRlbnNpb25zKFxuICBxdWVyeTogRXh0ZW5zaW9uc1F1ZXJ5ID0ge30sXG4pOiBQcm9taXNlPEV4dGVuc2lvbltdPiB7XG4gIGNvbnN0IHJlcVByZWZpeCA9IGlzTG9jYWxFbnYoKSA/ICcvYXBpLWdhdGV3YXknIDogJyc7XG4gIGNvbnN0IHF1ZXJ5U3RyaW5nID0gT2JqZWN0LmVudHJpZXMocXVlcnkpXG4gICAgLm1hcCgoW2tleSwgdmFsdWVdKSA9PiBgJHtrZXl9PSR7dmFsdWUuam9pbignLCcpfWApXG4gICAgLmpvaW4oJzsnKTtcblxuICByZXR1cm4gYXdhaXQgZmV0Y2goXG4gICAgYCR7cmVxUHJlZml4fS9mcm9udGVuZC1wbHVnaW5zL2NsdXN0ZXJzL2NvbnNvbGUtcGx1Z2lucyR7cXVlcnlTdHJpbmcgJiYgJz9maWx0ZXI9JyArIGVuY29kZVVSSUNvbXBvbmVudChxdWVyeVN0cmluZyl9YCxcbiAgICB7XG4gICAgICBoZWFkZXJzOiBhdHRhY2hBdXRob3JpemF0aW9uSGVhZGVyKCksXG4gICAgfSxcbiAgKVxuICAgIC50aGVuKHJlcyA9PiB7XG4gICAgICBpZiAoIXJlcy5vaykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBmZXRjaCBleHRlbnNpb25zJyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzLmpzb24oKTtcbiAgICB9KVxuICAgIC50aGVuKChyYXdQbHVnaW5zOiBSYXdQbHVnaW5zKSA9PlxuICAgICAgT2JqZWN0LmVudHJpZXMocmF3UGx1Z2lucykucmVkdWNlKFxuICAgICAgICAoYWNjLCBbY2x1c3RlciwgcGx1Z2luc10pID0+XG4gICAgICAgICAgYWNjLmNvbmNhdChcbiAgICAgICAgICAgIHBsdWdpbnMuZmxhdE1hcChwbHVnaW4gPT5cbiAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgIEpTT04ucGFyc2UocGx1Z2luWydjb25zb2xlLXBsdWdpbi5qc29uJ10pIGFzIFBsdWdpbkpTT05cbiAgICAgICAgICAgICAgKS5leHRlbnNpb25zLm1hcChleHQgPT4gKHtcbiAgICAgICAgICAgICAgICAuLi5leHQsXG4gICAgICAgICAgICAgICAgY2x1c3RlcixcbiAgICAgICAgICAgICAgICBwbHVnaW5OYW1lOiBwbHVnaW4ubmFtZSxcbiAgICAgICAgICAgICAgICBwbHVnaW5WZXJzaW9uOiBwbHVnaW4udmVyc2lvbixcbiAgICAgICAgICAgICAgICBhcHBOYW1lOiBwbHVnaW4ucGF0aC5zbGljZShwbHVnaW4ucGF0aC5sYXN0SW5kZXhPZignLycpICsgMSksXG4gICAgICAgICAgICAgICAgZW50cnlwb2ludDogYCR7cmVxUHJlZml4fS9jbHVzdGVycy1yZXdyaXRlLyR7Y2x1c3Rlcn0ke3BsdWdpbi5wYXRofWAsXG4gICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgKSxcbiAgICAgICAgW10gYXMgRXh0ZW5zaW9uW10sXG4gICAgICApLFxuICAgIClcbiAgICAuY2F0Y2goZXJyID0+IHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9KTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFeHRlbnNpb25zUXVlcnkge1xuICB0eXBlcz86IHN0cmluZ1tdO1xuICBjbHVzdGVycz86IHN0cmluZ1tdO1xuICBvcGVyYXRvcnM/OiBzdHJpbmdbXTtcbiAgY2hhbm5lbHM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFeHRlbnNpb248VCA9IGFueT4gZXh0ZW5kcyBSYXdFeHRlbnNpb248VD4ge1xuICBjbHVzdGVyOiBzdHJpbmc7XG4gIHBsdWdpbk5hbWU6IHN0cmluZztcbiAgcGx1Z2luVmVyc2lvbjogc3RyaW5nO1xuICBhcHBOYW1lOiBzdHJpbmc7XG4gIGVudHJ5cG9pbnQ6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFJhd1BsdWdpbnMge1xuICBbY2x1c3Rlcjogc3RyaW5nXTogQXJyYXk8e1xuICAgIG9wZXJhdG9yOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHZlcnNpb246IHN0cmluZztcbiAgICBwYXRoOiBzdHJpbmc7XG4gICAgJ2NvbnNvbGUtcGx1Z2luLmpzb24nOiBzdHJpbmc7XG4gIH0+O1xufVxuXG5pbnRlcmZhY2UgUGx1Z2luSlNPTiB7XG4gIGV4dGVuc2lvbnM6IFJhd0V4dGVuc2lvbltdO1xufVxuXG5pbnRlcmZhY2UgUmF3RXh0ZW5zaW9uPFQgPSBhbnk+IHtcbiAgdHlwZTogc3RyaW5nO1xuICBvcHRpb25zOiBUO1xufVxuIl19
@@ -1,9 +1,32 @@
1
+ import { GLOBAL_CLUSTER } from '@alauda-fe/common';
1
2
  import { loadRemoteModule, setRemoteDefinitions } from '@nx/angular/mf';
2
3
  import { compare } from 'compare-versions';
3
4
  const remoteRecord = new Set();
5
+ const BOOT_MODE_KEY = '__boot_mode__';
4
6
  export function isLocalEnv() {
5
7
  return location.hostname === 'localhost';
6
8
  }
9
+ export const LOCAL_DEV_EXTENSION_INFO = {
10
+ cluster: GLOBAL_CLUSTER,
11
+ pluginName: 'local-dev',
12
+ pluginVersion: 'v1.0.0',
13
+ appName: 'service',
14
+ };
15
+ export function getBootMode() {
16
+ const query = location.search
17
+ .slice(1)
18
+ .split('&')
19
+ .reduce((acc, cur) => {
20
+ const [key, value] = cur.split('=');
21
+ acc[key] = value;
22
+ return acc;
23
+ }, {});
24
+ const mode = (query[BOOT_MODE_KEY] ||
25
+ sessionStorage.getItem(BOOT_MODE_KEY) ||
26
+ 'standard');
27
+ sessionStorage.setItem(BOOT_MODE_KEY, mode);
28
+ return mode;
29
+ }
7
30
  export function loadRemote(remote, module) {
8
31
  if (!remoteRecord.has(remote)) {
9
32
  remoteRecord.add(remote);
@@ -13,22 +36,22 @@ export function loadRemote(remote, module) {
13
36
  }
14
37
  export function filterLatestVersion(identity) {
15
38
  return (exts) => exts.reduce((acc, ext) => {
16
- const existedIndex = acc.findIndex(a => a.operator === ext.operator &&
39
+ const existedIndex = acc.findIndex(a => a.pluginName === ext.pluginName &&
17
40
  identity(a.options) === identity(ext.options));
18
41
  if (existedIndex === -1) {
19
42
  acc.push(ext);
20
43
  }
21
44
  else {
22
45
  try {
23
- acc[existedIndex] = compare(acc[existedIndex].version, ext.version, '>=')
46
+ acc[existedIndex] = compare(acc[existedIndex].pluginVersion, ext.pluginVersion, '>=')
24
47
  ? acc[existedIndex]
25
48
  : ext;
26
49
  }
27
50
  catch {
28
- console.error(`Error when comparing operator (${acc[existedIndex].operator}) versions (${acc[existedIndex].version}, ${ext.version}). Using ${acc[existedIndex].version} from cluster ${acc[existedIndex].cluster}`);
51
+ console.error(`Error when comparing operator (${acc[existedIndex].pluginName}) versions (${acc[existedIndex].pluginVersion}, ${ext.pluginVersion}). Using ${acc[existedIndex].pluginVersion} from cluster ${acc[existedIndex].cluster}`);
29
52
  }
30
53
  }
31
54
  return acc;
32
55
  }, []);
33
56
  }
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3BsdWdpbi1zZGsvc3JjL2xpYi91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFJM0MsTUFBTSxZQUFZLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztBQUV2QyxNQUFNLFVBQVUsVUFBVTtJQUN4QixPQUFPLFFBQVEsQ0FBQyxRQUFRLEtBQUssV0FBVyxDQUFDO0FBQzNDLENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFDLE1BQWMsRUFBRSxNQUFjO0lBQ3ZELElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDOUIsWUFBWSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6QixvQkFBb0IsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsT0FBTyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDMUMsQ0FBQztBQUVELE1BQU0sVUFBVSxtQkFBbUIsQ0FDakMsUUFBNkI7SUFFN0IsT0FBTyxDQUFDLElBQXlCLEVBQUUsRUFBRSxDQUNuQyxJQUFJLENBQUMsTUFBTSxDQUNULENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO1FBQ1gsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FDaEMsQ0FBQyxDQUFDLEVBQUUsQ0FDRixDQUFDLENBQUMsUUFBUSxLQUFLLEdBQUcsQ0FBQyxRQUFRO1lBQzNCLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FDaEQsQ0FBQztRQUNGLElBQUksWUFBWSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDeEIsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNoQixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQztnQkFDSCxHQUFHLENBQUMsWUFBWSxDQUFDLEdBQUcsT0FBTyxDQUN6QixHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMsT0FBTyxFQUN6QixHQUFHLENBQUMsT0FBTyxFQUNYLElBQUksQ0FDTDtvQkFDQyxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQztvQkFDbkIsQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUNWLENBQUM7WUFBQyxNQUFNLENBQUM7Z0JBQ1AsT0FBTyxDQUFDLEtBQUssQ0FDWCxrQ0FBa0MsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLFFBQVEsZUFBZSxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMsT0FBTyxLQUFLLEdBQUcsQ0FBQyxPQUFPLFlBQVksR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLE9BQU8saUJBQWlCLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FDdE0sQ0FBQztZQUNKLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDLEVBQ0QsRUFBeUIsQ0FDMUIsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBsb2FkUmVtb3RlTW9kdWxlLCBzZXRSZW1vdGVEZWZpbml0aW9ucyB9IGZyb20gJ0BueC9hbmd1bGFyL21mJztcbmltcG9ydCB7IGNvbXBhcmUgfSBmcm9tICdjb21wYXJlLXZlcnNpb25zJztcblxuaW1wb3J0IHsgRXh0ZW5zaW9uIH0gZnJvbSAnLi9leHRlbnNpb25zLWxvYWRlcic7XG5cbmNvbnN0IHJlbW90ZVJlY29yZCA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNMb2NhbEVudigpIHtcbiAgcmV0dXJuIGxvY2F0aW9uLmhvc3RuYW1lID09PSAnbG9jYWxob3N0Jztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRSZW1vdGUocmVtb3RlOiBzdHJpbmcsIG1vZHVsZTogc3RyaW5nKSB7XG4gIGlmICghcmVtb3RlUmVjb3JkLmhhcyhyZW1vdGUpKSB7XG4gICAgcmVtb3RlUmVjb3JkLmFkZChyZW1vdGUpO1xuICAgIHNldFJlbW90ZURlZmluaXRpb25zKHsgW3JlbW90ZV06IHJlbW90ZSB9KTtcbiAgfVxuXG4gIHJldHVybiBsb2FkUmVtb3RlTW9kdWxlKHJlbW90ZSwgbW9kdWxlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbHRlckxhdGVzdFZlcnNpb248TyA9IGFueT4oXG4gIGlkZW50aXR5OiAoZXh0OiBPKSA9PiB1bmtub3duLFxuKTogKGV4dHM6IEFycmF5PEV4dGVuc2lvbjxPPj4pID0+IEFycmF5PEV4dGVuc2lvbjxPPj4ge1xuICByZXR1cm4gKGV4dHM6IEFycmF5PEV4dGVuc2lvbjxPPj4pID0+XG4gICAgZXh0cy5yZWR1Y2UoXG4gICAgICAoYWNjLCBleHQpID0+IHtcbiAgICAgICAgY29uc3QgZXhpc3RlZEluZGV4ID0gYWNjLmZpbmRJbmRleChcbiAgICAgICAgICBhID0+XG4gICAgICAgICAgICBhLm9wZXJhdG9yID09PSBleHQub3BlcmF0b3IgJiZcbiAgICAgICAgICAgIGlkZW50aXR5KGEub3B0aW9ucykgPT09IGlkZW50aXR5KGV4dC5vcHRpb25zKSxcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKGV4aXN0ZWRJbmRleCA9PT0gLTEpIHtcbiAgICAgICAgICBhY2MucHVzaChleHQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBhY2NbZXhpc3RlZEluZGV4XSA9IGNvbXBhcmUoXG4gICAgICAgICAgICAgIGFjY1tleGlzdGVkSW5kZXhdLnZlcnNpb24sXG4gICAgICAgICAgICAgIGV4dC52ZXJzaW9uLFxuICAgICAgICAgICAgICAnPj0nLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgICA/IGFjY1tleGlzdGVkSW5kZXhdXG4gICAgICAgICAgICAgIDogZXh0O1xuICAgICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICAgICAgYEVycm9yIHdoZW4gY29tcGFyaW5nIG9wZXJhdG9yICgke2FjY1tleGlzdGVkSW5kZXhdLm9wZXJhdG9yfSkgdmVyc2lvbnMgKCR7YWNjW2V4aXN0ZWRJbmRleF0udmVyc2lvbn0sICR7ZXh0LnZlcnNpb259KS4gVXNpbmcgJHthY2NbZXhpc3RlZEluZGV4XS52ZXJzaW9ufSBmcm9tIGNsdXN0ZXIgJHthY2NbZXhpc3RlZEluZGV4XS5jbHVzdGVyfWAsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSxcbiAgICAgIFtdIGFzIEFycmF5PEV4dGVuc2lvbjxPPj4sXG4gICAgKTtcbn1cbiJdfQ==
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3BsdWdpbi1zZGsvc3JjL2xpYi91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBSTNDLE1BQU0sWUFBWSxHQUFHLElBQUksR0FBRyxFQUFVLENBQUM7QUFFdkMsTUFBTSxhQUFhLEdBQUcsZUFBZSxDQUFDO0FBRXRDLE1BQU0sVUFBVSxVQUFVO0lBQ3hCLE9BQU8sUUFBUSxDQUFDLFFBQVEsS0FBSyxXQUFXLENBQUM7QUFDM0MsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHO0lBQ3RDLE9BQU8sRUFBRSxjQUFjO0lBQ3ZCLFVBQVUsRUFBRSxXQUFXO0lBQ3ZCLGFBQWEsRUFBRSxRQUFRO0lBQ3ZCLE9BQU8sRUFBRSxTQUFTO0NBQ25CLENBQUM7QUFFRixNQUFNLFVBQVUsV0FBVztJQUN6QixNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsTUFBTTtTQUMxQixLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQ1IsS0FBSyxDQUFDLEdBQUcsQ0FBQztTQUNWLE1BQU0sQ0FDTCxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtRQUNYLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQyxFQUNELEVBQTRCLENBQzdCLENBQUM7SUFDSixNQUFNLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUM7UUFDaEMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7UUFDckMsVUFBVSxDQUF3QixDQUFDO0lBRXJDLGNBQWMsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBRTVDLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUMsTUFBYyxFQUFFLE1BQWM7SUFDdkQsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUM5QixZQUFZLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pCLG9CQUFvQixDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxPQUFPLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztBQUMxQyxDQUFDO0FBRUQsTUFBTSxVQUFVLG1CQUFtQixDQUNqQyxRQUE2QjtJQUU3QixPQUFPLENBQUMsSUFBeUIsRUFBRSxFQUFFLENBQ25DLElBQUksQ0FBQyxNQUFNLENBQ1QsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDWCxNQUFNLFlBQVksR0FBRyxHQUFHLENBQUMsU0FBUyxDQUNoQyxDQUFDLENBQUMsRUFBRSxDQUNGLENBQUMsQ0FBQyxVQUFVLEtBQUssR0FBRyxDQUFDLFVBQVU7WUFDL0IsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUNoRCxDQUFDO1FBQ0YsSUFBSSxZQUFZLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN4QixHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDO2dCQUNILEdBQUcsQ0FBQyxZQUFZLENBQUMsR0FBRyxPQUFPLENBQ3pCLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxhQUFhLEVBQy9CLEdBQUcsQ0FBQyxhQUFhLEVBQ2pCLElBQUksQ0FDTDtvQkFDQyxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQztvQkFDbkIsQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUNWLENBQUM7WUFBQyxNQUFNLENBQUM7Z0JBQ1AsT0FBTyxDQUFDLEtBQUssQ0FDWCxrQ0FBa0MsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLFVBQVUsZUFBZSxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMsYUFBYSxLQUFLLEdBQUcsQ0FBQyxhQUFhLFlBQVksR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLGFBQWEsaUJBQWlCLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FDMU4sQ0FBQztZQUNKLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDLEVBQ0QsRUFBeUIsQ0FDMUIsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHTE9CQUxfQ0xVU1RFUiB9IGZyb20gJ0BhbGF1ZGEtZmUvY29tbW9uJztcbmltcG9ydCB7IGxvYWRSZW1vdGVNb2R1bGUsIHNldFJlbW90ZURlZmluaXRpb25zIH0gZnJvbSAnQG54L2FuZ3VsYXIvbWYnO1xuaW1wb3J0IHsgY29tcGFyZSB9IGZyb20gJ2NvbXBhcmUtdmVyc2lvbnMnO1xuXG5pbXBvcnQgeyBFeHRlbnNpb24gfSBmcm9tICcuL2V4dGVuc2lvbnMtbG9hZGVyJztcblxuY29uc3QgcmVtb3RlUmVjb3JkID0gbmV3IFNldDxzdHJpbmc+KCk7XG5cbmNvbnN0IEJPT1RfTU9ERV9LRVkgPSAnX19ib290X21vZGVfXyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0xvY2FsRW52KCkge1xuICByZXR1cm4gbG9jYXRpb24uaG9zdG5hbWUgPT09ICdsb2NhbGhvc3QnO1xufVxuXG5leHBvcnQgY29uc3QgTE9DQUxfREVWX0VYVEVOU0lPTl9JTkZPID0ge1xuICBjbHVzdGVyOiBHTE9CQUxfQ0xVU1RFUixcbiAgcGx1Z2luTmFtZTogJ2xvY2FsLWRldicsXG4gIHBsdWdpblZlcnNpb246ICd2MS4wLjAnLFxuICBhcHBOYW1lOiAnc2VydmljZScsXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Qm9vdE1vZGUoKTogJ3N0YW5kYXJkJyB8ICdzYWZlJyB7XG4gIGNvbnN0IHF1ZXJ5ID0gbG9jYXRpb24uc2VhcmNoXG4gICAgLnNsaWNlKDEpXG4gICAgLnNwbGl0KCcmJylcbiAgICAucmVkdWNlKFxuICAgICAgKGFjYywgY3VyKSA9PiB7XG4gICAgICAgIGNvbnN0IFtrZXksIHZhbHVlXSA9IGN1ci5zcGxpdCgnPScpO1xuICAgICAgICBhY2Nba2V5XSA9IHZhbHVlO1xuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSxcbiAgICAgIHt9IGFzIFJlY29yZDxzdHJpbmcsIHN0cmluZz4sXG4gICAgKTtcbiAgY29uc3QgbW9kZSA9IChxdWVyeVtCT09UX01PREVfS0VZXSB8fFxuICAgIHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oQk9PVF9NT0RFX0tFWSkgfHxcbiAgICAnc3RhbmRhcmQnKSBhcyAnc3RhbmRhcmQnIHwgJ3NhZmUnO1xuXG4gIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oQk9PVF9NT0RFX0tFWSwgbW9kZSk7XG5cbiAgcmV0dXJuIG1vZGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2FkUmVtb3RlKHJlbW90ZTogc3RyaW5nLCBtb2R1bGU6IHN0cmluZykge1xuICBpZiAoIXJlbW90ZVJlY29yZC5oYXMocmVtb3RlKSkge1xuICAgIHJlbW90ZVJlY29yZC5hZGQocmVtb3RlKTtcbiAgICBzZXRSZW1vdGVEZWZpbml0aW9ucyh7IFtyZW1vdGVdOiByZW1vdGUgfSk7XG4gIH1cblxuICByZXR1cm4gbG9hZFJlbW90ZU1vZHVsZShyZW1vdGUsIG1vZHVsZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJMYXRlc3RWZXJzaW9uPE8gPSBhbnk+KFxuICBpZGVudGl0eTogKGV4dDogTykgPT4gdW5rbm93bixcbik6IChleHRzOiBBcnJheTxFeHRlbnNpb248Tz4+KSA9PiBBcnJheTxFeHRlbnNpb248Tz4+IHtcbiAgcmV0dXJuIChleHRzOiBBcnJheTxFeHRlbnNpb248Tz4+KSA9PlxuICAgIGV4dHMucmVkdWNlKFxuICAgICAgKGFjYywgZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IGV4aXN0ZWRJbmRleCA9IGFjYy5maW5kSW5kZXgoXG4gICAgICAgICAgYSA9PlxuICAgICAgICAgICAgYS5wbHVnaW5OYW1lID09PSBleHQucGx1Z2luTmFtZSAmJlxuICAgICAgICAgICAgaWRlbnRpdHkoYS5vcHRpb25zKSA9PT0gaWRlbnRpdHkoZXh0Lm9wdGlvbnMpLFxuICAgICAgICApO1xuICAgICAgICBpZiAoZXhpc3RlZEluZGV4ID09PSAtMSkge1xuICAgICAgICAgIGFjYy5wdXNoKGV4dCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGFjY1tleGlzdGVkSW5kZXhdID0gY29tcGFyZShcbiAgICAgICAgICAgICAgYWNjW2V4aXN0ZWRJbmRleF0ucGx1Z2luVmVyc2lvbixcbiAgICAgICAgICAgICAgZXh0LnBsdWdpblZlcnNpb24sXG4gICAgICAgICAgICAgICc+PScsXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAgID8gYWNjW2V4aXN0ZWRJbmRleF1cbiAgICAgICAgICAgICAgOiBleHQ7XG4gICAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgICBgRXJyb3Igd2hlbiBjb21wYXJpbmcgb3BlcmF0b3IgKCR7YWNjW2V4aXN0ZWRJbmRleF0ucGx1Z2luTmFtZX0pIHZlcnNpb25zICgke2FjY1tleGlzdGVkSW5kZXhdLnBsdWdpblZlcnNpb259LCAke2V4dC5wbHVnaW5WZXJzaW9ufSkuIFVzaW5nICR7YWNjW2V4aXN0ZWRJbmRleF0ucGx1Z2luVmVyc2lvbn0gZnJvbSBjbHVzdGVyICR7YWNjW2V4aXN0ZWRJbmRleF0uY2x1c3Rlcn1gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sXG4gICAgICBbXSBhcyBBcnJheTxFeHRlbnNpb248Tz4+LFxuICAgICk7XG59XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxhdWRhLWZlLXBsdWdpbi1zZGstcmVtb3RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9wbHVnaW4tc2RrL3JlbW90ZS9hbGF1ZGEtZmUtcGx1Z2luLXNkay1yZW1vdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export * from './lib/runtime';
2
+ export * from './lib/translate';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3BsdWdpbi1zZGsvcmVtb3RlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9ydW50aW1lJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RyYW5zbGF0ZSc7XG4iXX0=
@@ -0,0 +1,22 @@
1
+ import { isLocalEnv, LOCAL_DEV_EXTENSION_INFO } from '@alauda-fe/plugin-sdk';
2
+ export const PUBLIC_PATH = __webpack_public_path__;
3
+ export const RUNTIME = runtimeInfo();
4
+ function runtimeInfo() {
5
+ if (isLocalEnv()) {
6
+ return {
7
+ ...LOCAL_DEV_EXTENSION_INFO,
8
+ publicPath: PUBLIC_PATH,
9
+ };
10
+ }
11
+ const arr = PUBLIC_PATH.split('/');
12
+ const clusterIndex = arr.findIndex(item => item === 'clusters-rewrite') + 1;
13
+ const pluginIndex = arr.findIndex(item => item === 'plugin');
14
+ return {
15
+ publicPath: PUBLIC_PATH,
16
+ cluster: arr[clusterIndex],
17
+ pluginName: arr[pluginIndex + 1],
18
+ pluginVersion: arr[pluginIndex + 2],
19
+ appName: arr[pluginIndex + 3],
20
+ };
21
+ }
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGx1Z2luLXNkay9yZW1vdGUvbGliL3J1bnRpbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSTdFLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyx1QkFBdUIsQ0FBQztBQUVuRCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsV0FBVyxFQUFFLENBQUM7QUFFckMsU0FBUyxXQUFXO0lBQ2xCLElBQUksVUFBVSxFQUFFLEVBQUUsQ0FBQztRQUNqQixPQUFPO1lBQ0wsR0FBRyx3QkFBd0I7WUFDM0IsVUFBVSxFQUFFLFdBQVc7U0FDeEIsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLEdBQUcsR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRW5DLE1BQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFNUUsTUFBTSxXQUFXLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQztJQUU3RCxPQUFPO1FBQ0wsVUFBVSxFQUFFLFdBQVc7UUFDdkIsT0FBTyxFQUFFLEdBQUcsQ0FBQyxZQUFZLENBQUM7UUFDMUIsVUFBVSxFQUFFLEdBQUcsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ2hDLGFBQWEsRUFBRSxHQUFHLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztRQUNuQyxPQUFPLEVBQUUsR0FBRyxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7S0FDOUIsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0xvY2FsRW52LCBMT0NBTF9ERVZfRVhURU5TSU9OX0lORk8gfSBmcm9tICdAYWxhdWRhLWZlL3BsdWdpbi1zZGsnO1xuXG5kZWNsYXJlIGNvbnN0IF9fd2VicGFja19wdWJsaWNfcGF0aF9fOiBzdHJpbmc7XG5cbmV4cG9ydCBjb25zdCBQVUJMSUNfUEFUSCA9IF9fd2VicGFja19wdWJsaWNfcGF0aF9fO1xuXG5leHBvcnQgY29uc3QgUlVOVElNRSA9IHJ1bnRpbWVJbmZvKCk7XG5cbmZ1bmN0aW9uIHJ1bnRpbWVJbmZvKCk6IFJ1bnRpbWUge1xuICBpZiAoaXNMb2NhbEVudigpKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLkxPQ0FMX0RFVl9FWFRFTlNJT05fSU5GTyxcbiAgICAgIHB1YmxpY1BhdGg6IFBVQkxJQ19QQVRILFxuICAgIH07XG4gIH1cblxuICBjb25zdCBhcnIgPSBQVUJMSUNfUEFUSC5zcGxpdCgnLycpO1xuXG4gIGNvbnN0IGNsdXN0ZXJJbmRleCA9IGFyci5maW5kSW5kZXgoaXRlbSA9PiBpdGVtID09PSAnY2x1c3RlcnMtcmV3cml0ZScpICsgMTtcblxuICBjb25zdCBwbHVnaW5JbmRleCA9IGFyci5maW5kSW5kZXgoaXRlbSA9PiBpdGVtID09PSAncGx1Z2luJyk7XG5cbiAgcmV0dXJuIHtcbiAgICBwdWJsaWNQYXRoOiBQVUJMSUNfUEFUSCxcbiAgICBjbHVzdGVyOiBhcnJbY2x1c3RlckluZGV4XSxcbiAgICBwbHVnaW5OYW1lOiBhcnJbcGx1Z2luSW5kZXggKyAxXSxcbiAgICBwbHVnaW5WZXJzaW9uOiBhcnJbcGx1Z2luSW5kZXggKyAyXSxcbiAgICBhcHBOYW1lOiBhcnJbcGx1Z2luSW5kZXggKyAzXSxcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSdW50aW1lIHtcbiAgcHVibGljUGF0aDogc3RyaW5nO1xuICBjbHVzdGVyOiBzdHJpbmc7XG4gIHBsdWdpbk5hbWU6IHN0cmluZztcbiAgcGx1Z2luVmVyc2lvbjogc3RyaW5nO1xuICBhcHBOYW1lOiBzdHJpbmc7XG59XG4iXX0=
@@ -0,0 +1,102 @@
1
+ import { GLOBAL_CLUSTER, isBuiltInLanguage, TranslatePipe, TranslateService, } from '@alauda-fe/common';
2
+ import { inject, Injectable, Pipe } from '@angular/core';
3
+ import { RUNTIME } from './runtime';
4
+ import * as i0 from "@angular/core";
5
+ export class TranslateScopeService {
6
+ constructor() {
7
+ this.translate = inject(TranslateService);
8
+ this.loadedLang = new Set();
9
+ this.scope = this.getScope();
10
+ if (!this.translate.translationsList.find(item => item?.[this.translate.locale]?.[this.scope])) {
11
+ this.setupI18nAssets();
12
+ }
13
+ }
14
+ getScopedKey(key) {
15
+ return `${this.scope}.${key}`;
16
+ }
17
+ async setupI18nAssets() {
18
+ const lang = this.translate.locale;
19
+ if (isBuiltInLanguage(lang)) {
20
+ this.translate.addTranslations({
21
+ [lang]: { [this.scope]: await this.loadTranslations(lang) },
22
+ });
23
+ }
24
+ else {
25
+ const [en, other] = await Promise.all([
26
+ this.loadTranslations('en'),
27
+ this.loadTranslations(lang),
28
+ ]);
29
+ this.translate.addTranslations({
30
+ [lang]: { [this.scope]: Object.assign(en, other) },
31
+ });
32
+ }
33
+ }
34
+ getScope() {
35
+ const cluster = isBuiltInLanguage(this.translate.locale)
36
+ ? RUNTIME.cluster
37
+ : GLOBAL_CLUSTER;
38
+ return `plugin__${cluster}~${RUNTIME.pluginName}~${RUNTIME.appName}`;
39
+ }
40
+ async loadTranslations(lang) {
41
+ if (this.loadedLang.has(lang)) {
42
+ return;
43
+ }
44
+ this.loadedLang.add(lang);
45
+ return this.fetchI18nFile(lang);
46
+ }
47
+ fetchI18nFile(lang) {
48
+ const path = isBuiltInLanguage(lang)
49
+ ? RUNTIME.publicPath + 'assets/i18n/' + lang + '.json'
50
+ : `/console-i18n/${lang}/plugin__${RUNTIME.pluginName}~${RUNTIME.appName}.json`;
51
+ return fetch(path)
52
+ .then(res => res.json())
53
+ .catch(err => {
54
+ console.error(`Failed to load i18n file for plugin ${RUNTIME.pluginName}~${RUNTIME.appName} and language ${lang}`);
55
+ console.error(err);
56
+ return {};
57
+ });
58
+ }
59
+ static { this.ɵfac = function TranslateScopeService_Factory(t) { return new (t || TranslateScopeService)(); }; }
60
+ static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: TranslateScopeService, factory: TranslateScopeService.ɵfac, providedIn: 'root' }); }
61
+ }
62
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TranslateScopeService, [{
63
+ type: Injectable,
64
+ args: [{
65
+ providedIn: 'root',
66
+ }]
67
+ }], () => [], null); })();
68
+ export class ScopedTranslateService {
69
+ constructor() {
70
+ this.scope = inject(TranslateScopeService);
71
+ this.translate = inject(TranslateService);
72
+ }
73
+ get(key, data, ignoreNonExist = false) {
74
+ return this.translate.get(this.scope.getScopedKey(key), data, ignoreNonExist);
75
+ }
76
+ static { this.ɵfac = function ScopedTranslateService_Factory(t) { return new (t || ScopedTranslateService)(); }; }
77
+ static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ScopedTranslateService, factory: ScopedTranslateService.ɵfac, providedIn: 'root' }); }
78
+ }
79
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ScopedTranslateService, [{
80
+ type: Injectable,
81
+ args: [{ providedIn: 'root' }]
82
+ }], null, null); })();
83
+ export class ScopedTranslatePipe extends TranslatePipe {
84
+ constructor() {
85
+ super(...arguments);
86
+ this.scope = inject(TranslateScopeService);
87
+ }
88
+ transform(key, data, ignoreNonExist) {
89
+ return super.transform(this.scope.getScopedKey(key), data, ignoreNonExist);
90
+ }
91
+ static { this.ɵfac = /*@__PURE__*/ (() => { let ɵScopedTranslatePipe_BaseFactory; return function ScopedTranslatePipe_Factory(t) { return (ɵScopedTranslatePipe_BaseFactory || (ɵScopedTranslatePipe_BaseFactory = i0.ɵɵgetInheritedFactory(ScopedTranslatePipe)))(t || ScopedTranslatePipe); }; })(); }
92
+ static { this.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "scopedTranslate", type: ScopedTranslatePipe, pure: false, standalone: true }); }
93
+ }
94
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ScopedTranslatePipe, [{
95
+ type: Pipe,
96
+ args: [{
97
+ standalone: true,
98
+ name: 'scopedTranslate',
99
+ pure: false,
100
+ }]
101
+ }], null, null); })();
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbHVnaW4tc2RrL3JlbW90ZS9saWIvdHJhbnNsYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxjQUFjLEVBQ2QsaUJBQWlCLEVBRWpCLGFBQWEsRUFDYixnQkFBZ0IsR0FDakIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBRXhFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBS3BDLE1BQU0sT0FBTyxxQkFBcUI7SUFNaEM7UUFMUSxjQUFTLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDckMsZUFBVSxHQUFHLElBQUksR0FBRyxFQUFVLENBQUM7UUFFOUIsVUFBSyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUcvQixJQUNFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQ25DLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FDcEQsRUFDRCxDQUFDO1lBQ0QsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3pCLENBQUM7SUFDSCxDQUFDO0lBRUQsWUFBWSxDQUFDLEdBQWlCO1FBQzVCLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFTyxLQUFLLENBQUMsZUFBZTtRQUMzQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQztRQUNuQyxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDNUIs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QUMsR0FBRyxDQUFDLEVBQzVCLElBQUksRUFDSixjQUFjLENBQ2YsQ0FBQztJQUNKLENBQUM7dUZBVlUsc0JBQXNCO3VFQUF0QixzQkFBc0IsV0FBdEIsc0JBQXNCLG1CQURULE1BQU07O2lGQUNuQixzQkFBc0I7Y0FEbEMsVUFBVTtlQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7QUFtQmxDLE1BQU0sT0FBTyxtQkFDWCxTQUFRLGFBQWE7SUFOdkI7O1FBU1UsVUFBSyxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0tBUy9DO0lBUFUsU0FBUyxDQUNoQixHQUF1QixFQUN2QixJQUFjLEVBQ2QsY0FBd0I7UUFFeEIsT0FBTyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxjQUFjLENBQUMsQ0FBQztJQUM3RSxDQUFDO2dQQVpVLG1CQUFtQixTQUFuQixtQkFBbUI7eUZBQW5CLG1CQUFtQjs7aUZBQW5CLG1CQUFtQjtjQUwvQixJQUFJO2VBQUM7Z0JBQ0osVUFBVSxFQUFFLElBQUk7Z0JBQ2hCLElBQUksRUFBRSxpQkFBaUI7Z0JBQ3ZCLElBQUksRUFBRSxLQUFLO2FBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBHTE9CQUxfQ0xVU1RFUixcbiAgaXNCdWlsdEluTGFuZ3VhZ2UsXG4gIFRyYW5zbGF0ZUtleSxcbiAgVHJhbnNsYXRlUGlwZSxcbiAgVHJhbnNsYXRlU2VydmljZSxcbn0gZnJvbSAnQGFsYXVkYS1mZS9jb21tb24nO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFJVTlRJTUUgfSBmcm9tICcuL3J1bnRpbWUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVHJhbnNsYXRlU2NvcGVTZXJ2aWNlIHtcbiAgcHJpdmF0ZSB0cmFuc2xhdGUgPSBpbmplY3QoVHJhbnNsYXRlU2VydmljZSk7XG4gIHByaXZhdGUgbG9hZGVkTGFuZyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG4gIHJlYWRvbmx5IHNjb3BlID0gdGhpcy5nZXRTY29wZSgpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGlmIChcbiAgICAgICF0aGlzLnRyYW5zbGF0ZS50cmFuc2xhdGlvbnNMaXN0LmZpbmQoXG4gICAgICAgIGl0ZW0gPT4gaXRlbT8uW3RoaXMudHJhbnNsYXRlLmxvY2FsZV0/Llt0aGlzLnNjb3BlXSxcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHRoaXMuc2V0dXBJMThuQXNzZXRzKCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0U2NvcGVkS2V5KGtleTogVHJhbnNsYXRlS2V5KSB7XG4gICAgcmV0dXJuIGAke3RoaXMuc2NvcGV9LiR7a2V5fWA7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHNldHVwSTE4bkFzc2V0cygpIHtcbiAgICBjb25zdCBsYW5nID0gdGhpcy50cmFuc2xhdGUubG9jYWxlO1xuICAgIGlmIChpc0J1aWx0SW5MYW5ndWFnZShsYW5nKSkge1xuICAgICAgdGhpcy50cmFuc2xhdGUuYWRkVHJhbnNsYXRpb25zKHtcbiAgICAgICAgW2xhbmddOiB7IFt0aGlzLnNjb3BlXTogYXdhaXQgdGhpcy5sb2FkVHJhbnNsYXRpb25zKGxhbmcpIH0sXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgW2VuLCBvdGhlcl0gPSBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgICAgIHRoaXMubG9hZFRyYW5zbGF0aW9ucygnZW4nKSxcbiAgICAgICAgdGhpcy5sb2FkVHJhbnNsYXRpb25zKGxhbmcpLFxuICAgICAgXSk7XG5cbiAgICAgIHRoaXMudHJhbnNsYXRlLmFkZFRyYW5zbGF0aW9ucyh7XG4gICAgICAgIFtsYW5nXTogeyBbdGhpcy5zY29wZV06IE9iamVjdC5hc3NpZ24oZW4sIG90aGVyKSB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRTY29wZSgpIHtcbiAgICBjb25zdCBjbHVzdGVyID0gaXNCdWlsdEluTGFuZ3VhZ2UodGhpcy50cmFuc2xhdGUubG9jYWxlKVxuICAgICAgPyBSVU5USU1FLmNsdXN0ZXJcbiAgICAgIDogR0xPQkFMX0NMVVNURVI7XG4gICAgcmV0dXJuIGBwbHVnaW5fXyR7Y2x1c3Rlcn1+JHtSVU5USU1FLnBsdWdpbk5hbWV9fiR7UlVOVElNRS5hcHBOYW1lfWA7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGxvYWRUcmFuc2xhdGlvbnMobGFuZzogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMubG9hZGVkTGFuZy5oYXMobGFuZykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmxvYWRlZExhbmcuYWRkKGxhbmcpO1xuXG4gICAgcmV0dXJuIHRoaXMuZmV0Y2hJMThuRmlsZShsYW5nKTtcbiAgfVxuXG4gIHByaXZhdGUgZmV0Y2hJMThuRmlsZShsYW5nOiBzdHJpbmcpIHtcbiAgICBjb25zdCBwYXRoID0gaXNCdWlsdEluTGFuZ3VhZ2UobGFuZylcbiAgICAgID8gUlVOVElNRS5wdWJsaWNQYXRoICsgJ2Fzc2V0cy9pMThuLycgKyBsYW5nICsgJy5qc29uJ1xuICAgICAgOiBgL2NvbnNvbGUtaTE4bi8ke2xhbmd9L3BsdWdpbl9fJHtSVU5USU1FLnBsdWdpbk5hbWV9fiR7UlVOVElNRS5hcHBOYW1lfS5qc29uYDtcbiAgICByZXR1cm4gZmV0Y2gocGF0aClcbiAgICAgIC50aGVuKHJlcyA9PiByZXMuanNvbigpKVxuICAgICAgLmNhdGNoKGVyciA9PiB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgYEZhaWxlZCB0byBsb2FkIGkxOG4gZmlsZSBmb3IgcGx1Z2luICR7UlVOVElNRS5wbHVnaW5OYW1lfX4ke1JVTlRJTUUuYXBwTmFtZX0gYW5kIGxhbmd1YWdlICR7bGFuZ31gLFxuICAgICAgICApO1xuICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgICAgIHJldHVybiB7fTtcbiAgICAgIH0pO1xuICB9XG59XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgU2NvcGVkVHJhbnNsYXRlU2VydmljZSB7XG4gIHByaXZhdGUgc2NvcGUgPSBpbmplY3QoVHJhbnNsYXRlU2NvcGVTZXJ2aWNlKTtcbiAgcHJpdmF0ZSB0cmFuc2xhdGUgPSBpbmplY3QoVHJhbnNsYXRlU2VydmljZSk7XG5cbiAgZ2V0KGtleTogVHJhbnNsYXRlS2V5LCBkYXRhPzogdW5rbm93biwgaWdub3JlTm9uRXhpc3QgPSBmYWxzZSkge1xuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5nZXQoXG4gICAgICB0aGlzLnNjb3BlLmdldFNjb3BlZEtleShrZXkpLFxuICAgICAgZGF0YSxcbiAgICAgIGlnbm9yZU5vbkV4aXN0LFxuICAgICk7XG4gIH1cbn1cblxuQFBpcGUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBuYW1lOiAnc2NvcGVkVHJhbnNsYXRlJyxcbiAgcHVyZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIFNjb3BlZFRyYW5zbGF0ZVBpcGVcbiAgZXh0ZW5kcyBUcmFuc2xhdGVQaXBlXG4gIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybVxue1xuICBwcml2YXRlIHNjb3BlID0gaW5qZWN0KFRyYW5zbGF0ZVNjb3BlU2VydmljZSk7XG5cbiAgb3ZlcnJpZGUgdHJhbnNmb3JtKFxuICAgIGtleTogVHJhbnNsYXRlS2V5IHwgYW55LFxuICAgIGRhdGE/OiB1bmtub3duLFxuICAgIGlnbm9yZU5vbkV4aXN0PzogYm9vbGVhbixcbiAgKTogc3RyaW5nIHtcbiAgICByZXR1cm4gc3VwZXIudHJhbnNmb3JtKHRoaXMuc2NvcGUuZ2V0U2NvcGVkS2V5KGtleSksIGRhdGEsIGlnbm9yZU5vbkV4aXN0KTtcbiAgfVxufVxuIl19
package/index.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  export * from './lib/app-extensions';
2
2
  export * from './lib/components';
3
+ export * from './lib/extension-points';
3
4
  export * from './lib/extensions-loader';
4
- export * from './lib/navigation';
5
- export * from './lib/route';
6
5
  export * from './lib/utils';
@@ -1,3 +1,5 @@
1
+ import { Translations } from '@alauda-fe/common';
1
2
  import { Extension } from './extensions-loader';
2
- export declare function getAppExtensions(type: string, cluster?: string): Extension<any>[];
3
- export declare function setupAppExtensions(): Promise<Extension<any>[]>;
3
+ export declare function getAppExtensions<T = any>(type: string | string[], cluster?: string): Array<Extension<T>>;
4
+ export declare function getAppExtensionTranslations(): Translations[];
5
+ export declare function setupAppExtensions(host: string): Promise<Extension<any>[]>;
@@ -11,5 +11,5 @@ export declare class RemoteComponentOutletComponent {
11
11
  component: import("@angular/core").Signal<Type<Component>>;
12
12
  constructor();
13
13
  static ɵfac: i0.ɵɵFactoryDeclaration<RemoteComponentOutletComponent, never>;
14
- static ɵcmp: i0.ɵɵComponentDeclaration<RemoteComponentOutletComponent, "acl-remote-component-outlet", never, { "name": { "alias": "name"; "required": true; "isSignal": true; }; "entrypoint": { "alias": "entrypoint"; "required": true; "isSignal": true; }; "expose": { "alias": "expose"; "required": false; "isSignal": true; }; "inputs": { "alias": "inputs"; "required": false; "isSignal": true; }; "injector": { "alias": "injector"; "required": false; "isSignal": true; }; "content": { "alias": "content"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
14
+ static ɵcmp: i0.ɵɵComponentDeclaration<RemoteComponentOutletComponent, "plg-remote-component-outlet", never, { "name": { "alias": "name"; "required": true; "isSignal": true; }; "entrypoint": { "alias": "entrypoint"; "required": true; "isSignal": true; }; "expose": { "alias": "expose"; "required": false; "isSignal": true; }; "inputs": { "alias": "inputs"; "required": false; "isSignal": true; }; "injector": { "alias": "injector"; "required": false; "isSignal": true; }; "content": { "alias": "content"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
15
15
  }
@@ -0,0 +1,16 @@
1
+ import { OnInit } from '@angular/core';
2
+ import { Extension } from '../extensions-loader';
3
+ import * as i0 from "@angular/core";
4
+ export interface AccountMenuItemPluginOption {
5
+ index?: number;
6
+ expose?: string;
7
+ component: string;
8
+ }
9
+ export declare function getAccountMenuItems(scope: string): Extension<AccountMenuItemPluginOption>[];
10
+ export declare class RemoteAccountMenuItemsComponent implements OnInit {
11
+ scope: import("@angular/core").InputSignal<string>;
12
+ accountMenuItems: Array<Extension<AccountMenuItemPluginOption>>;
13
+ ngOnInit(): void;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<RemoteAccountMenuItemsComponent, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<RemoteAccountMenuItemsComponent, "plg-remote-account-menu-items", never, { "scope": { "alias": "scope"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
16
+ }
@@ -0,0 +1,17 @@
1
+ import { OnInit } from '@angular/core';
2
+ import { Extension } from '../extensions-loader';
3
+ import * as i0 from "@angular/core";
4
+ interface HeaderActionsPluginOption {
5
+ index?: number;
6
+ expose?: string;
7
+ component: string;
8
+ }
9
+ export declare function getHeaderActions(scope: string): Extension<HeaderActionsPluginOption>[];
10
+ export declare class RemoteHeaderActionsComponent implements OnInit {
11
+ scope: import("@angular/core").InputSignal<string>;
12
+ headerActions: Array<Extension<HeaderActionsPluginOption>>;
13
+ ngOnInit(): void;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<RemoteHeaderActionsComponent, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<RemoteHeaderActionsComponent, "plg-remote-header-actions", never, { "scope": { "alias": "scope"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
16
+ }
17
+ export {};
@@ -0,0 +1,17 @@
1
+ import { OnInit } from '@angular/core';
2
+ import { Extension } from '../extensions-loader';
3
+ import * as i0 from "@angular/core";
4
+ interface HelpMenuItemPluginOption {
5
+ index?: number;
6
+ expose?: string;
7
+ component: string;
8
+ }
9
+ export declare function getHelpMenuItems(scope: string): Extension<HelpMenuItemPluginOption>[];
10
+ export declare class RemoteHelpMenuItemsComponent implements OnInit {
11
+ scope: import("@angular/core").InputSignal<string>;
12
+ helpMenuItems: Array<Extension<HelpMenuItemPluginOption>>;
13
+ ngOnInit(): void;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<RemoteHelpMenuItemsComponent, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<RemoteHelpMenuItemsComponent, "plg-remote-help-menu-items", never, { "scope": { "alias": "scope"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
16
+ }
17
+ export {};
@@ -0,0 +1,5 @@
1
+ export * from './account-menu';
2
+ export * from './header-actions';
3
+ export * from './help-menu';
4
+ export * from './navigation';
5
+ export * from './route';
@@ -1,4 +1,4 @@
1
- import type { NavGroupConfig, NavItemConfig } from '@alauda-fe/common';
1
+ import { NavGroupConfig, NavItemConfig } from '@alauda-fe/common';
2
2
  export declare function getRemoteNavigations(scope: string, locale: string): RemoteNavigationItemRoot[];
3
3
  export declare function getRemoteNavigationGroups(scope: string, locale: string): RemoteNavigationItemRoot[];
4
4
  export declare function insertNavItem(source: NavItemConfig[], remotes: RemoteNavigationItemRoot[]): NavItemConfig[];
@@ -1,9 +1,10 @@
1
1
  import { Route } from '@angular/router';
2
- import { Extension } from './extensions-loader';
2
+ import { Extension } from '../extensions-loader';
3
3
  export declare function mapToRoute(ext: Extension<RouteOptions>, addition?: Partial<Route>): Route;
4
4
  export declare function getRootRoutes(scope: string): Route[];
5
5
  export declare function getFeatureRoutes(scope: string): Route[];
6
6
  export interface RouteOptions {
7
7
  path: string;
8
8
  expose?: string;
9
+ clusterStrategy?: 'latest' | 'strict';
9
10
  }
@@ -6,9 +6,10 @@ export interface ExtensionsQuery {
6
6
  channels?: string[];
7
7
  }
8
8
  export interface Extension<T = any> extends RawExtension<T> {
9
- cluster?: string;
10
- operator?: string;
11
- version?: string;
9
+ cluster: string;
10
+ pluginName: string;
11
+ pluginVersion: string;
12
+ appName: string;
12
13
  entrypoint: string;
13
14
  }
14
15
  interface RawExtension<T = any> {
package/lib/utils.d.ts CHANGED
@@ -1,4 +1,11 @@
1
1
  import { Extension } from './extensions-loader';
2
2
  export declare function isLocalEnv(): boolean;
3
+ export declare const LOCAL_DEV_EXTENSION_INFO: {
4
+ cluster: string;
5
+ pluginName: string;
6
+ pluginVersion: string;
7
+ appName: string;
8
+ };
9
+ export declare function getBootMode(): 'standard' | 'safe';
3
10
  export declare function loadRemote(remote: string, module: string): Promise<any>;
4
11
  export declare function filterLatestVersion<O = any>(identity: (ext: O) => unknown): (exts: Array<Extension<O>>) => Array<Extension<O>>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alauda-fe/plugin-sdk",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "peerDependencies": {
5
5
  "@nx/angular": "^16.10.0"
6
6
  },
@@ -24,6 +24,12 @@
24
24
  "esm2022": "./esm2022/alauda-fe-plugin-sdk.mjs",
25
25
  "esm": "./esm2022/alauda-fe-plugin-sdk.mjs",
26
26
  "default": "./esm2022/alauda-fe-plugin-sdk.mjs"
27
+ },
28
+ "./remote": {
29
+ "types": "./remote/index.d.ts",
30
+ "esm2022": "./esm2022/remote/alauda-fe-plugin-sdk-remote.mjs",
31
+ "esm": "./esm2022/remote/alauda-fe-plugin-sdk-remote.mjs",
32
+ "default": "./esm2022/remote/alauda-fe-plugin-sdk-remote.mjs"
27
33
  }
28
34
  }
29
35
  }
@@ -0,0 +1,2 @@
1
+ export * from './lib/runtime';
2
+ export * from './lib/translate';
@@ -0,0 +1,9 @@
1
+ export declare const PUBLIC_PATH: string;
2
+ export declare const RUNTIME: Runtime;
3
+ export interface Runtime {
4
+ publicPath: string;
5
+ cluster: string;
6
+ pluginName: string;
7
+ pluginVersion: string;
8
+ appName: string;
9
+ }
@@ -0,0 +1,29 @@
1
+ import { TranslateKey, TranslatePipe } from '@alauda-fe/common';
2
+ import { PipeTransform } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ export declare class TranslateScopeService {
5
+ private translate;
6
+ private loadedLang;
7
+ readonly scope: string;
8
+ constructor();
9
+ getScopedKey(key: TranslateKey): string;
10
+ private setupI18nAssets;
11
+ private getScope;
12
+ private loadTranslations;
13
+ private fetchI18nFile;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<TranslateScopeService, never>;
15
+ static ɵprov: i0.ɵɵInjectableDeclaration<TranslateScopeService>;
16
+ }
17
+ export declare class ScopedTranslateService {
18
+ private scope;
19
+ private translate;
20
+ get(key: TranslateKey, data?: unknown, ignoreNonExist?: boolean): string;
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<ScopedTranslateService, never>;
22
+ static ɵprov: i0.ɵɵInjectableDeclaration<ScopedTranslateService>;
23
+ }
24
+ export declare class ScopedTranslatePipe extends TranslatePipe implements PipeTransform {
25
+ private scope;
26
+ transform(key: TranslateKey | any, data?: unknown, ignoreNonExist?: boolean): string;
27
+ static ɵfac: i0.ɵɵFactoryDeclaration<ScopedTranslatePipe, never>;
28
+ static ɵpipe: i0.ɵɵPipeDeclaration<ScopedTranslatePipe, "scopedTranslate", true>;
29
+ }
@@ -1,103 +0,0 @@
1
- import { getAppExtensions } from './app-extensions';
2
- import { filterLatestVersion } from './utils';
3
- export function getRemoteNavigations(scope, locale) {
4
- if (!scope) {
5
- return [];
6
- }
7
- const exts = getAppExtensions(scope + '/navigation');
8
- return filterLatestVersion((options) => options.name)(exts)
9
- .map(ext => ext.options)
10
- .map(options => translateLabel(locale, options));
11
- }
12
- export function getRemoteNavigationGroups(scope, locale) {
13
- if (!scope) {
14
- return [];
15
- }
16
- const exts = getAppExtensions(scope + '/navigation/group');
17
- return filterLatestVersion((options) => options.name)(exts)
18
- .map(ext => ext.options)
19
- .map(options => translateLabel(locale, options));
20
- }
21
- export function insertNavItem(source, remotes) {
22
- remotes.forEach(remote => {
23
- if (remote.insertAfter) {
24
- const r = insert('after', remote.insertAfter, [], source, remote);
25
- if (r.matched) {
26
- source = r.result;
27
- return;
28
- }
29
- }
30
- if (remote.insertBefore) {
31
- const r = insert('before', remote.insertBefore, [], source, remote);
32
- if (r.matched) {
33
- source = r.result;
34
- return;
35
- }
36
- }
37
- source = source.concat({
38
- ...remote,
39
- key: remote.key ?? remote.name,
40
- children: remote.children
41
- ? remote.children.map(child => ({
42
- ...child,
43
- key: child.key ?? child.name,
44
- }))
45
- : null,
46
- });
47
- });
48
- return source;
49
- }
50
- export function insertNavGroupItem(source, remotes) {
51
- return source.map(group => {
52
- const groupRemotes = remotes.filter(remote => remote.group === group.name);
53
- return { ...group, items: insertNavItem(group.items, groupRemotes) };
54
- });
55
- }
56
- function translateLabel(locale, item) {
57
- return {
58
- ...item,
59
- children: item.children
60
- ? item.children.map(c => translateLabel(locale, c))
61
- : null,
62
- label: typeof item.displayName === 'string'
63
- ? item.displayName
64
- : item.displayName[locale] || item.displayName['en'],
65
- };
66
- }
67
- function insert(position, anchor, namePath, target, item) {
68
- const offset = position === 'before' ? 0 : 1;
69
- anchor = Array.isArray(anchor) ? anchor : [anchor];
70
- for (const currentAnchor of anchor) {
71
- for (let i = 0; i < target.length; i++) {
72
- if (target[i].name === currentAnchor) {
73
- return {
74
- result: [
75
- ...target.slice(0, i + offset),
76
- { ...item, key: namePath.join('/') + item.name },
77
- ...target.slice(i + offset),
78
- ],
79
- matched: true,
80
- };
81
- }
82
- if (target[i].children) {
83
- const { result, matched } = insert(position, currentAnchor, namePath.concat(target[i].name), target[i].children, item);
84
- if (matched) {
85
- return {
86
- result: target.map((item, index) => index === i
87
- ? {
88
- ...item,
89
- children: result,
90
- }
91
- : item),
92
- matched: true,
93
- };
94
- }
95
- }
96
- }
97
- }
98
- return {
99
- result: target,
100
- matched: false,
101
- };
102
- }
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvcGx1Z2luLXNkay9zcmMvbGliL25hdmlnYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRTlDLE1BQU0sVUFBVSxvQkFBb0IsQ0FDbEMsS0FBYSxFQUNiLE1BQWM7SUFFZCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDWCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxNQUFNLElBQUksR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLEdBQUcsYUFBYSxDQUFDLENBQUM7SUFFckQsT0FBTyxtQkFBbUIsQ0FBQyxDQUFDLE9BQXlCLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUM7U0FDMUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQW1DLENBQUM7U0FDbkQsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBQ3JELENBQUM7QUFFRCxNQUFNLFVBQVUseUJBQXlCLENBQ3ZDLEtBQWEsRUFDYixNQUFjO0lBRWQsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ1gsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsTUFBTSxJQUFJLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxHQUFHLG1CQUFtQixDQUFDLENBQUM7SUFFM0QsT0FBTyxtQkFBbUIsQ0FBQyxDQUFDLE9BQXlCLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUM7U0FDMUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMs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QUFJLENBQ0wsQ0FBQztnQkFDRixJQUFJLE9BQU8sRUFBRSxDQUFDO29CQUNaLE9BQU87d0JBQ0wsTUFBTSxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FDakMsS0FBSyxLQUFLLENBQUM7NEJBQ1QsQ0FBQyxDQUFDO2dDQUNFLEdBQUcsSUFBSTtnQ0FDUCxRQUFRLEVBQUUsTUFBTTs2QkFDakI7NEJBQ0gsQ0FBQyxDQUFDLElBQUksQ0FDVDt3QkFDRCxPQUFPLEVBQUUsSUFBSTtxQkFDZCxDQUFDO2dCQUNKLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPO1FBQ0wsTUFBTSxFQUFFLE1BQU07UUFDZCxPQUFPLEVBQUUsS0FBSztLQUNmLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBOYXZHcm91cENvbmZpZywgTmF2SXRlbUNvbmZpZyB9IGZyb20gJ0BhbGF1ZGEtZmUvY29tbW9uJztcblxuaW1wb3J0IHsgZ2V0QXBwRXh0ZW5zaW9ucyB9IGZyb20gJy4vYXBwLWV4dGVuc2lvbnMnO1xuaW1wb3J0IHsgZmlsdGVyTGF0ZXN0VmVyc2lvbiB9IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVtb3RlTmF2aWdhdGlvbnMoXG4gIHNjb3BlOiBzdHJpbmcsXG4gIGxvY2FsZTogc3RyaW5nLFxuKTogUmVtb3RlTmF2aWdhdGlvbkl0ZW1Sb290W10ge1xuICBpZiAoIXNjb3BlKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgY29uc3QgZXh0cyA9IGdldEFwcEV4dGVuc2lvbnMoc2NvcGUgKyAnL25hdmlnYXRpb24nKTtcblxuICByZXR1cm4gZmlsdGVyTGF0ZXN0VmVyc2lvbigob3B0aW9uczogeyBuYW1lOiBzdHJpbmcgfSkgPT4gb3B0aW9ucy5uYW1lKShleHRzKVxuICAgIC5tYXAoZXh0ID0+IGV4dC5vcHRpb25zIGFzIFJlbW90ZU5hdmlnYXRpb25JdGVtUm9vdClcbiAgICAubWFwKG9wdGlvbnMgPT4gdHJhbnNsYXRlTGFiZWwobG9jYWxlLCBvcHRpb25zKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZW1vdGVOYXZpZ2F0aW9uR3JvdXBzKFxuICBzY29wZTogc3RyaW5nLFxuICBsb2NhbGU6IHN0cmluZyxcbik6IFJlbW90ZU5hdmlnYXRpb25JdGVtUm9vdFtdIHtcbiAgaWYgKCFzY29wZSkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIGNvbnN0IGV4dHMgPSBnZXRBcHBFeHRlbnNpb25zKHNjb3BlICsgJy9uYXZpZ2F0aW9uL2dyb3VwJyk7XG5cbiAgcmV0dXJuIGZpbHRlckxhdGVzdFZlcnNpb24oKG9wdGlvbnM6IHsgbmFtZTogc3RyaW5nIH0pID0+IG9wdGlvbnMubmFtZSkoZXh0cylcbiAgICAubWFwKGV4dCA9PiBleHQub3B0aW9ucyBhcyBSZW1vdGVOYXZpZ2F0aW9uSXRlbVJvb3QpXG4gICAgLm1hcChvcHRpb25zID0+IHRyYW5zbGF0ZUxhYmVsKGxvY2FsZSwgb3B0aW9ucykpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5zZXJ0TmF2SXRlbShcbiAgc291cmNlOiBOYXZJdGVtQ29uZmlnW10sXG4gIHJlbW90ZXM6IFJlbW90ZU5hdmlnYXRpb25JdGVtUm9vdFtdLFxuKTogTmF2SXRlbUNvbmZpZ1tdIHtcbiAgcmVtb3Rlcy5mb3JFYWNoKHJlbW90ZSA9PiB7XG4gICAgaWYgKHJlbW90ZS5pbnNlcnRBZnRlcikge1xuICAgICAgY29uc3QgciA9IGluc2VydCgnYWZ0ZXInLCByZW1vdGUuaW5zZXJ0QWZ0ZXIsIFtdLCBzb3VyY2UsIHJlbW90ZSk7XG4gICAgICBpZiAoci5tYXRjaGVkKSB7XG4gICAgICAgIHNvdXJjZSA9IHIucmVzdWx0O1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHJlbW90ZS5pbnNlcnRCZWZvcmUpIHtcbiAgICAgIGNvbnN0IHIgPSBpbnNlcnQoJ2JlZm9yZScsIHJlbW90ZS5pbnNlcnRCZWZvcmUsIFtdLCBzb3VyY2UsIHJlbW90ZSk7XG4gICAgICBpZiAoci5tYXRjaGVkKSB7XG4gICAgICAgIHNvdXJjZSA9IHIucmVzdWx0O1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgc291cmNlID0gc291cmNlLmNvbmNhdCh7XG4gICAgICAuLi5yZW1vdGUsXG4gICAgICBrZXk6IHJlbW90ZS5rZXkgPz8gcmVtb3RlLm5hbWUsXG4gICAgICBjaGlsZHJlbjogcmVtb3RlLmNoaWxkcmVuXG4gICAgICAgID8gcmVtb3RlLmNoaWxkcmVuLm1hcChjaGlsZCA9PiAoe1xuICAgICAgICAgICAgLi4uY2hpbGQsXG4gICAgICAgICAgICBrZXk6IGNoaWxkLmtleSA/PyBjaGlsZC5uYW1lLFxuICAgICAgICAgIH0pKVxuICAgICAgICA6IG51bGwsXG4gICAgfSk7XG4gIH0pO1xuXG4gIHJldHVybiBzb3VyY2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnNlcnROYXZHcm91cEl0ZW0oXG4gIHNvdXJjZTogTmF2R3JvdXBDb25maWdbXSxcbiAgcmVtb3RlczogUmVtb3RlTmF2aWdhdGlvbkl0ZW1Sb290W10sXG4pOiBOYXZHcm91cENvbmZpZ1tdIHtcbiAgcmV0dXJuIHNvdXJjZS5tYXAoZ3JvdXAgPT4ge1xuICAgIGNvbnN0IGdyb3VwUmVtb3RlcyA9IHJlbW90ZXMuZmlsdGVyKHJlbW90ZSA9PiByZW1vdGUuZ3JvdXAgPT09IGdyb3VwLm5hbWUpO1xuICAgIHJldHVybiB7IC4uLmdyb3VwLCBpdGVtczogaW5zZXJ0TmF2SXRlbShncm91cC5pdGVtcywgZ3JvdXBSZW1vdGVzKSB9O1xuICB9KTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZW1vdGVOYXZpZ2F0aW9uSXRlbSBleHRlbmRzIE5hdkl0ZW1Db25maWcge1xuICBncm91cD86IHN0cmluZztcbiAgZGlzcGxheU5hbWU6IHN0cmluZyB8IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIGNoaWxkcmVuPzogUmVtb3RlTmF2aWdhdGlvbkl0ZW1bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZW1vdGVOYXZpZ2F0aW9uSXRlbVJvb3QgZXh0ZW5kcyBSZW1vdGVOYXZpZ2F0aW9uSXRlbSB7XG4gIGluc2VydEFmdGVyPzogc3RyaW5nIHwgc3RyaW5nW107XG4gIGluc2VydEJlZm9yZT86IHN0cmluZyB8IHN0cmluZ1tdO1xufVxuXG5mdW5jdGlvbiB0cmFuc2xhdGVMYWJlbChcbiAgbG9jYWxlOiBzdHJpbmcsXG4gIGl0ZW06IFJlbW90ZU5hdmlnYXRpb25JdGVtLFxuKTogUmVtb3RlTmF2aWdhdGlvbkl0ZW0ge1xuICByZXR1cm4ge1xuICAgIC4uLml0ZW0sXG4gICAgY2hpbGRyZW46IGl0ZW0uY2hpbGRyZW5cbiAgICAgID8gaXRlbS5jaGlsZHJlbi5tYXAoYyA9PiB0cmFuc2xhdGVMYWJlbChsb2NhbGUsIGMpKVxuICAgICAgOiBudWxsLFxuICAgIGxhYmVsOlxuICAgICAgdHlwZW9mIGl0ZW0uZGlzcGxheU5hbWUgPT09ICdzdHJpbmcnXG4gICAgICAgID8gaXRlbS5kaXNwbGF5TmFtZVxuICAgICAgICA6IGl0ZW0uZGlzcGxheU5hbWVbbG9jYWxlXSB8fCBpdGVtLmRpc3BsYXlOYW1lWydlbiddLFxuICB9O1xufVxuXG5mdW5jdGlvbiBpbnNlcnQoXG4gIHBvc2l0aW9uOiAnYmVmb3JlJyB8ICdhZnRlcicsXG4gIGFuY2hvcjogc3RyaW5nIHwgc3RyaW5nW10sXG4gIG5hbWVQYXRoOiBzdHJpbmdbXSxcbiAgdGFyZ2V0OiBOYXZJdGVtQ29uZmlnW10sXG4gIGl0ZW06IFJlbW90ZU5hdmlnYXRpb25JdGVtUm9vdCxcbik6IHsgcmVzdWx0OiBOYXZJdGVtQ29uZmlnW107IG1hdGNoZWQ6IGJvb2xlYW4gfSB7XG4gIGNvbnN0IG9mZnNldCA9IHBvc2l0aW9uID09PSAnYmVmb3JlJyA/IDAgOiAxO1xuICBhbmNob3IgPSBBcnJheS5pc0FycmF5KGFuY2hvcikgPyBhbmNob3IgOiBbYW5jaG9yXTtcblxuICBmb3IgKGNvbnN0IGN1cnJlbnRBbmNob3Igb2YgYW5jaG9yKSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0YXJnZXQubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmICh0YXJnZXRbaV0ubmFtZSA9PT0gY3VycmVudEFuY2hvcikge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHJlc3VsdDogW1xuICAgICAgICAgICAgLi4udGFyZ2V0LnNsaWNlKDAsIGkgKyBvZmZzZXQpLFxuICAgICAgICAgICAgeyAuLi5pdGVtLCBrZXk6IG5hbWVQYXRoLmpvaW4oJy8nKSArIGl0ZW0ubmFtZSB9LFxuICAgICAgICAgICAgLi4udGFyZ2V0LnNsaWNlKGkgKyBvZmZzZXQpLFxuICAgICAgICAgIF0sXG4gICAgICAgICAgbWF0Y2hlZDogdHJ1ZSxcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRhcmdldFtpXS5jaGlsZHJlbikge1xuICAgICAgICBjb25zdCB7IHJlc3VsdCwgbWF0Y2hlZCB9ID0gaW5zZXJ0KFxuICAgICAgICAgIHBvc2l0aW9uLFxuICAgICAgICAgIGN1cnJlbnRBbmNob3IsXG4gICAgICAgICAgbmFtZVBhdGguY29uY2F0KHRhcmdldFtpXS5uYW1lKSxcbiAgICAgICAgICB0YXJnZXRbaV0uY2hpbGRyZW4sXG4gICAgICAgICAgaXRlbSxcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKG1hdGNoZWQpIHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcmVzdWx0OiB0YXJnZXQubWFwKChpdGVtLCBpbmRleCkgPT5cbiAgICAgICAgICAgICAgaW5kZXggPT09IGlcbiAgICAgICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IHJlc3VsdCxcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA6IGl0ZW0sXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgbWF0Y2hlZDogdHJ1ZSxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICByZXN1bHQ6IHRhcmdldCxcbiAgICBtYXRjaGVkOiBmYWxzZSxcbiAgfTtcbn1cbiJdfQ==
@@ -1,18 +0,0 @@
1
- import { getAppExtensions } from './app-extensions';
2
- import { filterLatestVersion, loadRemote } from './utils';
3
- export function mapToRoute(ext, addition = {}) {
4
- return {
5
- path: ext.options.path,
6
- loadChildren: () => loadRemote(ext.entrypoint, ext.options.expose ?? './Routes').then(m => m.default),
7
- ...addition,
8
- };
9
- }
10
- export function getRootRoutes(scope) {
11
- const exts = getAppExtensions(scope + '/routes/root');
12
- return filterLatestVersion((options) => options.path)(exts).map(ext => mapToRoute(ext));
13
- }
14
- export function getFeatureRoutes(scope) {
15
- const exts = getAppExtensions(scope + '/routes/feature');
16
- return filterLatestVersion((options) => options.path)(exts).map(ext => mapToRoute(ext));
17
- }
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3BsdWdpbi1zZGsvc3JjL2xpYi9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVwRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRTFELE1BQU0sVUFBVSxVQUFVLENBQ3hCLEdBQTRCLEVBQzVCLFdBQTJCLEVBQUU7SUFFN0IsT0FBTztRQUNMLElBQUksRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUk7UUFDdEIsWUFBWSxFQUFFLEdBQUcsRUFBRSxDQUNqQixVQUFVLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQy9ELENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FDZjtRQUNILEdBQUcsUUFBUTtLQUNaLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxLQUFhO0lBQ3pDLE1BQU0sSUFBSSxHQUFHLGdCQUFnQixDQUFDLEtBQUssR0FBRyxjQUFjLENBQUMsQ0FBQztJQUN0RCxPQUFPLG1CQUFtQixDQUFDLENBQUMsT0FBcUIsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FDM0UsR0FBRyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQ3ZCLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLGdCQUFnQixDQUFDLEtBQWE7SUFDNUMsTUFBTSxJQUFJLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxHQUFHLGlCQUFpQixDQUFDLENBQUM7SUFDekQsT0FBTyxtQkFBbUIsQ0FBQyxDQUFDLE9BQXFCLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQzNFLEdBQUcsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUN2QixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgZ2V0QXBwRXh0ZW5zaW9ucyB9IGZyb20gJy4vYXBwLWV4dGVuc2lvbnMnO1xuaW1wb3J0IHsgRXh0ZW5zaW9uIH0gZnJvbSAnLi9leHRlbnNpb25zLWxvYWRlcic7XG5pbXBvcnQgeyBmaWx0ZXJMYXRlc3RWZXJzaW9uLCBsb2FkUmVtb3RlIH0gZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXBUb1JvdXRlKFxuICBleHQ6IEV4dGVuc2lvbjxSb3V0ZU9wdGlvbnM+LFxuICBhZGRpdGlvbjogUGFydGlhbDxSb3V0ZT4gPSB7fSxcbik6IFJvdXRlIHtcbiAgcmV0dXJuIHtcbiAgICBwYXRoOiBleHQub3B0aW9ucy5wYXRoLFxuICAgIGxvYWRDaGlsZHJlbjogKCkgPT5cbiAgICAgIGxvYWRSZW1vdGUoZXh0LmVudHJ5cG9pbnQsIGV4dC5vcHRpb25zLmV4cG9zZSA/PyAnLi9Sb3V0ZXMnKS50aGVuKFxuICAgICAgICBtID0+IG0uZGVmYXVsdCxcbiAgICAgICksXG4gICAgLi4uYWRkaXRpb24sXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSb290Um91dGVzKHNjb3BlOiBzdHJpbmcpIHtcbiAgY29uc3QgZXh0cyA9IGdldEFwcEV4dGVuc2lvbnMoc2NvcGUgKyAnL3JvdXRlcy9yb290Jyk7XG4gIHJldHVybiBmaWx0ZXJMYXRlc3RWZXJzaW9uKChvcHRpb25zOiBSb3V0ZU9wdGlvbnMpID0+IG9wdGlvbnMucGF0aCkoZXh0cykubWFwKFxuICAgIGV4dCA9PiBtYXBUb1JvdXRlKGV4dCksXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRGZWF0dXJlUm91dGVzKHNjb3BlOiBzdHJpbmcpIHtcbiAgY29uc3QgZXh0cyA9IGdldEFwcEV4dGVuc2lvbnMoc2NvcGUgKyAnL3JvdXRlcy9mZWF0dXJlJyk7XG4gIHJldHVybiBmaWx0ZXJMYXRlc3RWZXJzaW9uKChvcHRpb25zOiBSb3V0ZU9wdGlvbnMpID0+IG9wdGlvbnMucGF0aCkoZXh0cykubWFwKFxuICAgIGV4dCA9PiBtYXBUb1JvdXRlKGV4dCksXG4gICk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUm91dGVPcHRpb25zIHtcbiAgcGF0aDogc3RyaW5nO1xuICBleHBvc2U/OiBzdHJpbmc7XG59XG4iXX0=