@next-core/easyops-runtime 0.8.1 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cjs/auth.js CHANGED
@@ -23,6 +23,7 @@ function authenticate(newAuth) {
23
23
  isAdmin: newAuth.isAdmin,
24
24
  csrfToken: newAuth.csrfToken,
25
25
  license: newAuth.license,
26
+ accessToken: newAuth.accessToken,
26
27
  userShowValue: newAuth.userShowValue
27
28
  });
28
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","names":["_checkPermissions","require","auth","authenticate","newAuth","Object","assign","org","username","userInstanceId","loginFrom","accessRule","isAdmin","csrfToken","license","userShowValue","getAuth","logout","key","keys","undefined","resetPermissionPreChecks","isLoggedIn"],"sources":["../../src/auth.ts"],"sourcesContent":["import type { AuthApi_CheckLoginResponseBody } from \"@next-api-sdk/api-gateway-sdk\";\nimport { resetPermissionPreChecks } from \"./checkPermissions.js\";\n\nconst auth: AuthInfo = {};\n\n/** @internal */\nexport type AuthInfo = Omit<AuthApi_CheckLoginResponseBody, \"loggedIn\">;\n\n/** @internal */\nexport function authenticate(newAuth: AuthInfo): void {\n Object.assign(auth, {\n org: newAuth.org,\n username: newAuth.username,\n userInstanceId: newAuth.userInstanceId,\n loginFrom: newAuth.loginFrom,\n accessRule: newAuth.accessRule,\n isAdmin: newAuth.isAdmin,\n csrfToken: newAuth.csrfToken,\n license: newAuth.license,\n userShowValue: newAuth.userShowValue,\n });\n}\n\n/**\n * 获取当前登录认证信息。\n *\n * @returns 当前登录认证信息。\n */\nexport function getAuth(): AuthInfo {\n return {\n ...auth,\n };\n}\n\n/** @internal */\nexport function logout(): void {\n for (const key of Object.keys(auth) as (keyof AuthInfo)[]) {\n auth[key] = undefined;\n }\n resetPermissionPreChecks();\n}\n\n/**\n * 查看当前是否已登录。\n *\n * @returns 当前是否已登录。\n */\nexport function isLoggedIn(): boolean {\n return auth.username !== undefined;\n}\n"],"mappings":";;;;;;;;;AACA,IAAAA,iBAAA,GAAAC,OAAA;AAEA,MAAMC,IAAc,GAAG,CAAC,CAAC;;AAEzB;;AAGA;AACO,SAASC,YAAYA,CAACC,OAAiB,EAAQ;EACpDC,MAAM,CAACC,MAAM,CAACJ,IAAI,EAAE;IAClBK,GAAG,EAAEH,OAAO,CAACG,GAAG;IAChBC,QAAQ,EAAEJ,OAAO,CAACI,QAAQ;IAC1BC,cAAc,EAAEL,OAAO,CAACK,cAAc;IACtCC,SAAS,EAAEN,OAAO,CAACM,SAAS;IAC5BC,UAAU,EAAEP,OAAO,CAACO,UAAU;IAC9BC,OAAO,EAAER,OAAO,CAACQ,OAAO;IACxBC,SAAS,EAAET,OAAO,CAACS,SAAS;IAC5BC,OAAO,EAAEV,OAAO,CAACU,OAAO;IACxBC,aAAa,EAAEX,OAAO,CAACW;EACzB,CAAC,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASC,OAAOA,CAAA,EAAa;EAClC,OAAO;IACL,GAAGd;EACL,CAAC;AACH;;AAEA;AACO,SAASe,MAAMA,CAAA,EAAS;EAC7B,KAAK,MAAMC,GAAG,IAAIb,MAAM,CAACc,IAAI,CAACjB,IAAI,CAAC,EAAwB;IACzDA,IAAI,CAACgB,GAAG,CAAC,GAAGE,SAAS;EACvB;EACA,IAAAC,0CAAwB,EAAC,CAAC;AAC5B;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASC,UAAUA,CAAA,EAAY;EACpC,OAAOpB,IAAI,CAACM,QAAQ,KAAKY,SAAS;AACpC","ignoreList":[]}
1
+ {"version":3,"file":"auth.js","names":["_checkPermissions","require","auth","authenticate","newAuth","Object","assign","org","username","userInstanceId","loginFrom","accessRule","isAdmin","csrfToken","license","accessToken","userShowValue","getAuth","logout","key","keys","undefined","resetPermissionPreChecks","isLoggedIn"],"sources":["../../src/auth.ts"],"sourcesContent":["import type { AuthApi_CheckLoginResponseBody } from \"@next-api-sdk/api-gateway-sdk\";\nimport { resetPermissionPreChecks } from \"./checkPermissions.js\";\n\nconst auth: AuthInfo = {};\n\n/** @internal */\nexport type AuthInfo = Omit<AuthApi_CheckLoginResponseBody, \"loggedIn\">;\n\n/** @internal */\nexport function authenticate(newAuth: AuthInfo): void {\n Object.assign(auth, {\n org: newAuth.org,\n username: newAuth.username,\n userInstanceId: newAuth.userInstanceId,\n loginFrom: newAuth.loginFrom,\n accessRule: newAuth.accessRule,\n isAdmin: newAuth.isAdmin,\n csrfToken: newAuth.csrfToken,\n license: newAuth.license,\n accessToken: newAuth.accessToken,\n userShowValue: newAuth.userShowValue,\n });\n}\n\n/**\n * 获取当前登录认证信息。\n *\n * @returns 当前登录认证信息。\n */\nexport function getAuth(): AuthInfo {\n return {\n ...auth,\n };\n}\n\n/** @internal */\nexport function logout(): void {\n for (const key of Object.keys(auth) as (keyof AuthInfo)[]) {\n auth[key] = undefined;\n }\n resetPermissionPreChecks();\n}\n\n/**\n * 查看当前是否已登录。\n *\n * @returns 当前是否已登录。\n */\nexport function isLoggedIn(): boolean {\n return auth.username !== undefined;\n}\n"],"mappings":";;;;;;;;;AACA,IAAAA,iBAAA,GAAAC,OAAA;AAEA,MAAMC,IAAc,GAAG,CAAC,CAAC;;AAEzB;;AAGA;AACO,SAASC,YAAYA,CAACC,OAAiB,EAAQ;EACpDC,MAAM,CAACC,MAAM,CAACJ,IAAI,EAAE;IAClBK,GAAG,EAAEH,OAAO,CAACG,GAAG;IAChBC,QAAQ,EAAEJ,OAAO,CAACI,QAAQ;IAC1BC,cAAc,EAAEL,OAAO,CAACK,cAAc;IACtCC,SAAS,EAAEN,OAAO,CAACM,SAAS;IAC5BC,UAAU,EAAEP,OAAO,CAACO,UAAU;IAC9BC,OAAO,EAAER,OAAO,CAACQ,OAAO;IACxBC,SAAS,EAAET,OAAO,CAACS,SAAS;IAC5BC,OAAO,EAAEV,OAAO,CAACU,OAAO;IACxBC,WAAW,EAAEX,OAAO,CAACW,WAAW;IAChCC,aAAa,EAAEZ,OAAO,CAACY;EACzB,CAAC,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASC,OAAOA,CAAA,EAAa;EAClC,OAAO;IACL,GAAGf;EACL,CAAC;AACH;;AAEA;AACO,SAASgB,MAAMA,CAAA,EAAS;EAC7B,KAAK,MAAMC,GAAG,IAAId,MAAM,CAACe,IAAI,CAAClB,IAAI,CAAC,EAAwB;IACzDA,IAAI,CAACiB,GAAG,CAAC,GAAGE,SAAS;EACvB;EACA,IAAAC,0CAAwB,EAAC,CAAC;AAC5B;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASC,UAAUA,CAAA,EAAY;EACpC,OAAOrB,IAAI,CAACM,QAAQ,KAAKa,SAAS;AACpC","ignoreList":[]}
package/dist/esm/auth.js CHANGED
@@ -15,6 +15,7 @@ export function authenticate(newAuth) {
15
15
  isAdmin: newAuth.isAdmin,
16
16
  csrfToken: newAuth.csrfToken,
17
17
  license: newAuth.license,
18
+ accessToken: newAuth.accessToken,
18
19
  userShowValue: newAuth.userShowValue
19
20
  });
20
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","names":["resetPermissionPreChecks","auth","authenticate","newAuth","Object","assign","org","username","userInstanceId","loginFrom","accessRule","isAdmin","csrfToken","license","userShowValue","getAuth","_objectSpread","logout","key","keys","undefined","isLoggedIn"],"sources":["../../src/auth.ts"],"sourcesContent":["import type { AuthApi_CheckLoginResponseBody } from \"@next-api-sdk/api-gateway-sdk\";\nimport { resetPermissionPreChecks } from \"./checkPermissions.js\";\n\nconst auth: AuthInfo = {};\n\n/** @internal */\nexport type AuthInfo = Omit<AuthApi_CheckLoginResponseBody, \"loggedIn\">;\n\n/** @internal */\nexport function authenticate(newAuth: AuthInfo): void {\n Object.assign(auth, {\n org: newAuth.org,\n username: newAuth.username,\n userInstanceId: newAuth.userInstanceId,\n loginFrom: newAuth.loginFrom,\n accessRule: newAuth.accessRule,\n isAdmin: newAuth.isAdmin,\n csrfToken: newAuth.csrfToken,\n license: newAuth.license,\n userShowValue: newAuth.userShowValue,\n });\n}\n\n/**\n * 获取当前登录认证信息。\n *\n * @returns 当前登录认证信息。\n */\nexport function getAuth(): AuthInfo {\n return {\n ...auth,\n };\n}\n\n/** @internal */\nexport function logout(): void {\n for (const key of Object.keys(auth) as (keyof AuthInfo)[]) {\n auth[key] = undefined;\n }\n resetPermissionPreChecks();\n}\n\n/**\n * 查看当前是否已登录。\n *\n * @returns 当前是否已登录。\n */\nexport function isLoggedIn(): boolean {\n return auth.username !== undefined;\n}\n"],"mappings":";AACA,SAASA,wBAAwB,QAAQ,uBAAuB;AAEhE,IAAMC,IAAc,GAAG,CAAC,CAAC;;AAEzB;;AAGA;AACA,OAAO,SAASC,YAAYA,CAACC,OAAiB,EAAQ;EACpDC,MAAM,CAACC,MAAM,CAACJ,IAAI,EAAE;IAClBK,GAAG,EAAEH,OAAO,CAACG,GAAG;IAChBC,QAAQ,EAAEJ,OAAO,CAACI,QAAQ;IAC1BC,cAAc,EAAEL,OAAO,CAACK,cAAc;IACtCC,SAAS,EAAEN,OAAO,CAACM,SAAS;IAC5BC,UAAU,EAAEP,OAAO,CAACO,UAAU;IAC9BC,OAAO,EAAER,OAAO,CAACQ,OAAO;IACxBC,SAAS,EAAET,OAAO,CAACS,SAAS;IAC5BC,OAAO,EAAEV,OAAO,CAACU,OAAO;IACxBC,aAAa,EAAEX,OAAO,CAACW;EACzB,CAAC,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,OAAOA,CAAA,EAAa;EAClC,OAAAC,aAAA,KACKf,IAAI;AAEX;;AAEA;AACA,OAAO,SAASgB,MAAMA,CAAA,EAAS;EAC7B,KAAK,IAAMC,GAAG,IAAId,MAAM,CAACe,IAAI,CAAClB,IAAI,CAAC,EAAwB;IACzDA,IAAI,CAACiB,GAAG,CAAC,GAAGE,SAAS;EACvB;EACApB,wBAAwB,CAAC,CAAC;AAC5B;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASqB,UAAUA,CAAA,EAAY;EACpC,OAAOpB,IAAI,CAACM,QAAQ,KAAKa,SAAS;AACpC","ignoreList":[]}
1
+ {"version":3,"file":"auth.js","names":["resetPermissionPreChecks","auth","authenticate","newAuth","Object","assign","org","username","userInstanceId","loginFrom","accessRule","isAdmin","csrfToken","license","accessToken","userShowValue","getAuth","_objectSpread","logout","key","keys","undefined","isLoggedIn"],"sources":["../../src/auth.ts"],"sourcesContent":["import type { AuthApi_CheckLoginResponseBody } from \"@next-api-sdk/api-gateway-sdk\";\nimport { resetPermissionPreChecks } from \"./checkPermissions.js\";\n\nconst auth: AuthInfo = {};\n\n/** @internal */\nexport type AuthInfo = Omit<AuthApi_CheckLoginResponseBody, \"loggedIn\">;\n\n/** @internal */\nexport function authenticate(newAuth: AuthInfo): void {\n Object.assign(auth, {\n org: newAuth.org,\n username: newAuth.username,\n userInstanceId: newAuth.userInstanceId,\n loginFrom: newAuth.loginFrom,\n accessRule: newAuth.accessRule,\n isAdmin: newAuth.isAdmin,\n csrfToken: newAuth.csrfToken,\n license: newAuth.license,\n accessToken: newAuth.accessToken,\n userShowValue: newAuth.userShowValue,\n });\n}\n\n/**\n * 获取当前登录认证信息。\n *\n * @returns 当前登录认证信息。\n */\nexport function getAuth(): AuthInfo {\n return {\n ...auth,\n };\n}\n\n/** @internal */\nexport function logout(): void {\n for (const key of Object.keys(auth) as (keyof AuthInfo)[]) {\n auth[key] = undefined;\n }\n resetPermissionPreChecks();\n}\n\n/**\n * 查看当前是否已登录。\n *\n * @returns 当前是否已登录。\n */\nexport function isLoggedIn(): boolean {\n return auth.username !== undefined;\n}\n"],"mappings":";AACA,SAASA,wBAAwB,QAAQ,uBAAuB;AAEhE,IAAMC,IAAc,GAAG,CAAC,CAAC;;AAEzB;;AAGA;AACA,OAAO,SAASC,YAAYA,CAACC,OAAiB,EAAQ;EACpDC,MAAM,CAACC,MAAM,CAACJ,IAAI,EAAE;IAClBK,GAAG,EAAEH,OAAO,CAACG,GAAG;IAChBC,QAAQ,EAAEJ,OAAO,CAACI,QAAQ;IAC1BC,cAAc,EAAEL,OAAO,CAACK,cAAc;IACtCC,SAAS,EAAEN,OAAO,CAACM,SAAS;IAC5BC,UAAU,EAAEP,OAAO,CAACO,UAAU;IAC9BC,OAAO,EAAER,OAAO,CAACQ,OAAO;IACxBC,SAAS,EAAET,OAAO,CAACS,SAAS;IAC5BC,OAAO,EAAEV,OAAO,CAACU,OAAO;IACxBC,WAAW,EAAEX,OAAO,CAACW,WAAW;IAChCC,aAAa,EAAEZ,OAAO,CAACY;EACzB,CAAC,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,OAAOA,CAAA,EAAa;EAClC,OAAAC,aAAA,KACKhB,IAAI;AAEX;;AAEA;AACA,OAAO,SAASiB,MAAMA,CAAA,EAAS;EAC7B,KAAK,IAAMC,GAAG,IAAIf,MAAM,CAACgB,IAAI,CAACnB,IAAI,CAAC,EAAwB;IACzDA,IAAI,CAACkB,GAAG,CAAC,GAAGE,SAAS;EACvB;EACArB,wBAAwB,CAAC,CAAC;AAC5B;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASsB,UAAUA,CAAA,EAAY;EACpC,OAAOrB,IAAI,CAACM,QAAQ,KAAKc,SAAS;AACpC","ignoreList":[]}
@@ -8,10 +8,10 @@ export function preCheckInstalledApps(storyboard, hasAppInBootstrap) {
8
8
  if (window.STANDALONE_MICRO_APPS && !window.NO_AUTH_GUARD) {
9
9
  var appIds = scanInstalledAppsUsage(storyboard);
10
10
  var searchIds = [];
11
- for (var _appId of appIds) {
11
+ for (var appId of appIds) {
12
12
  // Do not check these apps already checking or in bootstrap.
13
- if (!checkingApps.has(_appId) && !hasAppInBootstrap(_appId)) {
14
- searchIds.push(_appId);
13
+ if (!checkingApps.has(appId) && !hasAppInBootstrap(appId)) {
14
+ searchIds.push(appId);
15
15
  }
16
16
  }
17
17
  if (searchIds.length === 0) {
@@ -30,19 +30,19 @@ export function preCheckInstalledApps(storyboard, hasAppInBootstrap) {
30
30
  // eslint-disable-next-line no-console
31
31
  console.error("Get off site standalone micro-apps failed", error);
32
32
  });
33
- var _loop = function (_appId2) {
34
- checkingApps.set(_appId2, promise.then(result => {
33
+ var _loop = function (_appId) {
34
+ checkingApps.set(_appId, promise.then(result => {
35
35
  var _result$list;
36
- var app = result === null || result === void 0 || (_result$list = result.list) === null || _result$list === void 0 ? void 0 : _result$list.find(item => item.appId === _appId2);
36
+ var app = result === null || result === void 0 || (_result$list = result.list) === null || _result$list === void 0 ? void 0 : _result$list.find(item => item.appId === _appId);
37
37
  var checkedApp = app ? _objectSpread(_objectSpread({}, app), {}, {
38
- id: _appId2
38
+ id: _appId
39
39
  }) : undefined;
40
- checkedApps.set(_appId2, checkedApp);
40
+ checkedApps.set(_appId, checkedApp);
41
41
  return checkedApp;
42
42
  }));
43
43
  };
44
- for (var _appId2 of searchIds) {
45
- _loop(_appId2);
44
+ for (var _appId of searchIds) {
45
+ _loop(_appId);
46
46
  }
47
47
  }
48
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"checkInstalledApps.js","names":["traverseStoryboardExpressions","collectInstalledAppsHasUsage","RuntimeApi_searchMicroAppStandalone","checkingApps","Map","checkedApps","preCheckInstalledApps","storyboard","hasAppInBootstrap","window","STANDALONE_MICRO_APPS","NO_AUTH_GUARD","appIds","scanInstalledAppsUsage","searchIds","appId","has","push","length","promise","query","$in","fields","catch","error","console","_loop","_appId2","set","then","result","_result$list","app","list","find","item","checkedApp","_objectSpread","id","undefined","waitForCheckingApps","_x","_waitForCheckingApps","apply","arguments","_asyncToGenerator","Promise","all","map","get","getCheckedApp","_storyboard$meta","usage","usedArgs","Set","customTemplates","menus","meta","routes","node","parent"],"sources":["../../src/checkInstalledApps.ts"],"sourcesContent":["import type { MicroApp, Storyboard } from \"@next-core/types\";\nimport {\n traverseStoryboardExpressions,\n collectInstalledAppsHasUsage,\n type MemberCallUsage,\n} from \"@next-core/utils/storyboard\";\nimport { RuntimeApi_searchMicroAppStandalone } from \"@next-api-sdk/micro-app-standalone-sdk\";\n\ntype AppForCheck = Pick<MicroApp, \"id\" | \"currentVersion\" | \"installStatus\">;\n\nconst checkingApps = new Map<string, Promise<AppForCheck | undefined>>();\nconst checkedApps = new Map<string, AppForCheck | undefined>();\n\nexport function preCheckInstalledApps(\n storyboard: Storyboard,\n hasAppInBootstrap: (appId: string) => boolean\n) {\n if (window.STANDALONE_MICRO_APPS && !window.NO_AUTH_GUARD) {\n const appIds = scanInstalledAppsUsage(storyboard);\n const searchIds: string[] = [];\n for (const appId of appIds) {\n // Do not check these apps already checking or in bootstrap.\n if (!checkingApps.has(appId) && !hasAppInBootstrap(appId)) {\n searchIds.push(appId);\n }\n }\n if (searchIds.length === 0) {\n return;\n }\n const promise = RuntimeApi_searchMicroAppStandalone({\n query: { appId: { $in: searchIds } },\n fields: [\"appId\", \"currentVersion\", \"installStatus\"],\n }).catch((error) => {\n // Allow search micro app to fail, and\n // make it not crash when the backend service is not updated.\n // eslint-disable-next-line no-console\n console.error(\"Get off site standalone micro-apps failed\", error);\n });\n for (const appId of searchIds) {\n checkingApps.set(\n appId,\n promise.then((result) => {\n const app = result?.list?.find((item) => item.appId === appId);\n const checkedApp = app\n ? {\n ...app,\n id: appId,\n }\n : undefined;\n checkedApps.set(appId, checkedApp);\n return checkedApp;\n })\n );\n }\n }\n}\n\nexport async function waitForCheckingApps(appIds: string[]) {\n await Promise.all(appIds.map((appId) => checkingApps.get(appId)));\n}\n\nexport function getCheckedApp(appId: string) {\n if (window.STANDALONE_MICRO_APPS) {\n return checkedApps.get(appId);\n }\n}\n\nfunction scanInstalledAppsUsage(storyboard: Storyboard) {\n const usage: MemberCallUsage = {\n usedArgs: new Set(),\n };\n // `INSTALLED_APPS.has(...)` is not available in storyboard functions\n const { customTemplates, menus } = storyboard.meta ?? {};\n traverseStoryboardExpressions(\n [storyboard.routes, customTemplates, menus],\n (node, parent) => {\n collectInstalledAppsHasUsage(usage, node, parent);\n },\n \"INSTALLED_APPS\"\n );\n return [...usage.usedArgs];\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"checkInstalledApps.js","names":["traverseStoryboardExpressions","collectInstalledAppsHasUsage","RuntimeApi_searchMicroAppStandalone","checkingApps","Map","checkedApps","preCheckInstalledApps","storyboard","hasAppInBootstrap","window","STANDALONE_MICRO_APPS","NO_AUTH_GUARD","appIds","scanInstalledAppsUsage","searchIds","appId","has","push","length","promise","query","$in","fields","catch","error","console","_loop","_appId","set","then","result","_result$list","app","list","find","item","checkedApp","_objectSpread","id","undefined","waitForCheckingApps","_x","_waitForCheckingApps","apply","arguments","_asyncToGenerator","Promise","all","map","get","getCheckedApp","_storyboard$meta","usage","usedArgs","Set","customTemplates","menus","meta","routes","node","parent"],"sources":["../../src/checkInstalledApps.ts"],"sourcesContent":["import type { MicroApp, Storyboard } from \"@next-core/types\";\nimport {\n traverseStoryboardExpressions,\n collectInstalledAppsHasUsage,\n type MemberCallUsage,\n} from \"@next-core/utils/storyboard\";\nimport { RuntimeApi_searchMicroAppStandalone } from \"@next-api-sdk/micro-app-standalone-sdk\";\n\ntype AppForCheck = Pick<MicroApp, \"id\" | \"currentVersion\" | \"installStatus\">;\n\nconst checkingApps = new Map<string, Promise<AppForCheck | undefined>>();\nconst checkedApps = new Map<string, AppForCheck | undefined>();\n\nexport function preCheckInstalledApps(\n storyboard: Storyboard,\n hasAppInBootstrap: (appId: string) => boolean\n) {\n if (window.STANDALONE_MICRO_APPS && !window.NO_AUTH_GUARD) {\n const appIds = scanInstalledAppsUsage(storyboard);\n const searchIds: string[] = [];\n for (const appId of appIds) {\n // Do not check these apps already checking or in bootstrap.\n if (!checkingApps.has(appId) && !hasAppInBootstrap(appId)) {\n searchIds.push(appId);\n }\n }\n if (searchIds.length === 0) {\n return;\n }\n const promise = RuntimeApi_searchMicroAppStandalone({\n query: { appId: { $in: searchIds } },\n fields: [\"appId\", \"currentVersion\", \"installStatus\"],\n }).catch((error) => {\n // Allow search micro app to fail, and\n // make it not crash when the backend service is not updated.\n // eslint-disable-next-line no-console\n console.error(\"Get off site standalone micro-apps failed\", error);\n });\n for (const appId of searchIds) {\n checkingApps.set(\n appId,\n promise.then((result) => {\n const app = result?.list?.find((item) => item.appId === appId);\n const checkedApp = app\n ? {\n ...app,\n id: appId,\n }\n : undefined;\n checkedApps.set(appId, checkedApp);\n return checkedApp;\n })\n );\n }\n }\n}\n\nexport async function waitForCheckingApps(appIds: string[]) {\n await Promise.all(appIds.map((appId) => checkingApps.get(appId)));\n}\n\nexport function getCheckedApp(appId: string) {\n if (window.STANDALONE_MICRO_APPS) {\n return checkedApps.get(appId);\n }\n}\n\nfunction scanInstalledAppsUsage(storyboard: Storyboard) {\n const usage: MemberCallUsage = {\n usedArgs: new Set(),\n };\n // `INSTALLED_APPS.has(...)` is not available in storyboard functions\n const { customTemplates, menus } = storyboard.meta ?? {};\n traverseStoryboardExpressions(\n [storyboard.routes, customTemplates, menus],\n (node, parent) => {\n collectInstalledAppsHasUsage(usage, node, parent);\n },\n \"INSTALLED_APPS\"\n );\n return [...usage.usedArgs];\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@next-core/easyops-runtime",
3
- "version": "0.8.1",
3
+ "version": "0.9.1",
4
4
  "homepage": "https://github.com/easyops-cn/next-core/tree/v3/packages/easyops-runtime",
5
5
  "license": "GPL-3.0",
6
6
  "repository": {
@@ -40,24 +40,24 @@
40
40
  "test:ci": "cross-env NODE_ENV='test' CI=true test-next"
41
41
  },
42
42
  "dependencies": {
43
- "@next-api-sdk/api-gateway-sdk": "^1.1.0",
43
+ "@next-api-sdk/api-gateway-sdk": "^1.2.0",
44
44
  "@next-api-sdk/cmdb-sdk": "^1.1.0",
45
45
  "@next-api-sdk/micro-app-sdk": "^1.2.1",
46
46
  "@next-api-sdk/micro-app-standalone-sdk": "^1.1.0",
47
- "@next-core/cook": "^2.2.15",
48
- "@next-core/http": "^1.2.1",
49
- "@next-core/pipes": "^2.0.19",
50
- "@next-core/runtime": "^1.41.1",
47
+ "@next-core/cook": "^2.2.16",
48
+ "@next-core/http": "^1.2.2",
49
+ "@next-core/pipes": "^2.0.20",
50
+ "@next-core/runtime": "^1.41.2",
51
51
  "@next-core/types": "^1.10.0",
52
- "@next-core/utils": "^1.7.1",
52
+ "@next-core/utils": "^1.7.2",
53
53
  "js-yaml": "^3.14.1",
54
54
  "lodash": "^4.17.21"
55
55
  },
56
56
  "devDependencies": {
57
- "@next-core/build-next-libs": "^1.0.14",
58
- "@next-core/test-next": "^1.1.0",
57
+ "@next-core/build-next-libs": "^1.0.15",
58
+ "@next-core/test-next": "^1.1.1",
59
59
  "jest-websocket-mock": "^2.5.0",
60
60
  "whatwg-fetch": "^3.6.20"
61
61
  },
62
- "gitHead": "027d62bd2dc47b89da1649ff0909adacc29ec5d5"
62
+ "gitHead": "db50cd31e4f0e9ad071aae54d84e5f2c686749cc"
63
63
  }