@next-core/runtime 1.49.4 → 1.49.6

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.
@@ -255,7 +255,7 @@ function getAllContextValues({
255
255
  return runtimeContext.ctxStore.getAllValues();
256
256
  }
257
257
  function getBrickPackagesById(id) {
258
- return (0, _Runtime.getBrickPackages)().find(pkg => pkg.id ? pkg.id === id : pkg.filePath.startsWith(id));
258
+ return (0, _Runtime.getBrickPackages)().find(pkg => pkg.id ? pkg.id === id : pkg.filePath.startsWith(`${id}/`));
259
259
  }
260
260
 
261
261
  /**
@@ -264,8 +264,12 @@ function getBrickPackagesById(id) {
264
264
  function loadBricks(bricks) {
265
265
  return (0, _loader.loadBricksImperatively)(bricks, (0, _Runtime.getBrickPackages)());
266
266
  }
267
- function loadEditors(editors) {
268
- return (0, _loader.loadEditorsImperatively)(editors, (0, _Runtime.getBrickPackages)());
267
+
268
+ /**
269
+ * Try the brick packages passed in, before using from bootstrap.
270
+ */
271
+ function loadEditors(editors, brickPackages) {
272
+ return (0, _loader.loadEditorsImperatively)(editors, brickPackages ?? (0, _Runtime.getBrickPackages)());
269
273
  }
270
274
  function getRenderId() {
271
275
  return (0, _Runtime._internalApiGetRenderId)();
@@ -1 +1 @@
1
- {"version":3,"file":"secret_internals.js","names":["_lodash","require","_Runtime","_Renderer","_RendererContext","_resolveData","_computeRealValue","_mount","_enums","_isStrictMode","_CustomTemplates","_registerAppI18n","_utils","_loader","_routeMatchedMap","_realTimeDataInspect","symbolForRootRuntimeContext","exports","Symbol","for","renderUseBrick","useBrick","data","errorBoundary","_output$node","_output$node2","scopedRuntimeContext","tplStateStoreScope","formStateStoreScope","createScopedRuntimeContext","_internalApiGetRuntimeContext","pendingPermissionsPreCheck","tplStateStoreMap","Map","formStateStoreMap","rendererContext","RendererContext","renderRoot","tag","RenderTag","ROOT","createPortal","transform","strict","isStrictMode","warnAboutStrictMode","output","renderBrick","properties","scopedStores","postAsyncRender","node","PLACEHOLDER","Error","portal","child","tagName","type","mountUseBrick","element","portalRoot","document","querySelector","createElement","appendChild","mountTree","dispatchOnMount","initializeScrollIntoView","initializeMediaChange","initializeMessageDispatcher","store","mountAsyncData","unmountUseBrick","mountResult","unmountTree","remove","dispatchOnUnmount","dispose","legacyDoTransform","to","options","computeRealValue","noInject","updateStoryboard","appId","storyboardPatch","storyboard","_internalApiGetStoryboardInBootstrapData","Object","assign","meta","$$fulfilling","$$fulfilled","$$registerCustomTemplateProcessed","registerAppI18n","updateStoryboardByRoute","newRoute","match","getKey","route","path","exact","replaceRoute","routes","key","map","routeKey","unshift","updateStoryboardByTemplate","newTemplate","settings","tplName","name","customTemplates","define","bricks","proxy","state","updateTemplatePreviewSettings","templateId","_updatePreviewSettings","brick","pick","getSnippetPreviewPath","snippetId","updateStoryboardBySnippet","snippetData","_snippetData$bricks","length","context","updateSnippetPreviewSettings","previewRouteIndex","findIndex","newPreviewRoute","menu","splice","getContextValue","tplStateStoreId","runtimeContext","tplStateStore","getTplStateStore","getValue","ctxStore","getAllContextValues","getAllValues","getBrickPackagesById","id","getBrickPackages","find","pkg","filePath","startsWith","loadBricks","loadBricksImperatively","loadEditors","editors","loadEditorsImperatively","getRenderId","_internalApiGetRenderId","getAddedContracts","updateStoryboardType","collectUsedContracts","updatedStoryboard","_storyboard$routes","snippetPreviewPath","currentRoute","addedContracts","contractApis","forEach","api","_storyboard$meta","_","namespaceId","contracts","some","contract","push","debugDataValue","debugData","routeId","getMatchedRoute","resolve","resolveData","cache","asyncComputeRealValue","value","getLegalRuntimeValue","app","overrideApp","location"],"sources":["../../../src/internal/secret_internals.ts"],"sourcesContent":["import type {\n BrickConf,\n CustomTemplate,\n RouteConf,\n Storyboard,\n UseSingleBrickConf,\n RuntimeSnippet,\n ContextConf,\n} from \"@next-core/types\";\nimport { pick } from \"lodash\";\nimport {\n _internalApiGetRenderId,\n _internalApiGetRuntimeContext,\n _internalApiGetStoryboardInBootstrapData,\n getBrickPackages,\n} from \"./Runtime.js\";\nimport {\n createScopedRuntimeContext,\n postAsyncRender,\n renderBrick,\n} from \"./Renderer.js\";\nimport { RendererContext } from \"./RendererContext.js\";\nimport type { DataStore } from \"./data/DataStore.js\";\nimport { resolveData } from \"./data/resolveData.js\";\nimport { asyncComputeRealValue } from \"./compute/computeRealValue.js\";\nimport type {\n DataValueOption,\n PreviewOption,\n PreviewStoryboardPatch,\n RenderRoot,\n RuntimeContext,\n DebugDataValue,\n RuntimeDataVale,\n RuntimeDataValueOption,\n} from \"./interfaces.js\";\nimport { mountTree, unmountTree } from \"./mount.js\";\nimport { RenderTag } from \"./enums.js\";\nimport { computeRealValue } from \"./compute/computeRealValue.js\";\nimport { isStrictMode, warnAboutStrictMode } from \"../isStrictMode.js\";\nimport { customTemplates } from \"../CustomTemplates.js\";\nimport { registerAppI18n } from \"./registerAppI18n.js\";\nimport { getTplStateStore } from \"./CustomTemplates/utils.js\";\nimport {\n loadBricksImperatively,\n loadEditorsImperatively,\n} from \"@next-core/loader\";\nimport { getMatchedRoute } from \"./routeMatchedMap.js\";\n\nexport type { DataValueOption, RuntimeContext };\n\nexport const symbolForRootRuntimeContext = Symbol.for(\"root.runtimeContext\");\n\nexport interface RuntimeUseBrickConfWithRootSymbols extends UseSingleBrickConf {\n [symbolForRootRuntimeContext]?: RuntimeContext;\n}\n\nexport interface RenderUseBrickResult {\n tagName: string | null;\n renderRoot: RenderRoot;\n rendererContext: RendererContext;\n scopedStores: DataStore<\"STATE\" | \"FORM_STATE\">[];\n}\n\nexport async function renderUseBrick(\n useBrick: RuntimeUseBrickConfWithRootSymbols,\n data: unknown,\n errorBoundary?: boolean\n): Promise<RenderUseBrickResult> {\n const [scopedRuntimeContext, tplStateStoreScope, formStateStoreScope] =\n createScopedRuntimeContext({\n ...(useBrick[symbolForRootRuntimeContext] ??\n _internalApiGetRuntimeContext()!),\n data,\n pendingPermissionsPreCheck: [],\n });\n\n scopedRuntimeContext.tplStateStoreMap ??= new Map();\n scopedRuntimeContext.formStateStoreMap ??= new Map();\n\n const rendererContext = new RendererContext(\"fragment\");\n\n const renderRoot: RenderRoot = {\n tag: RenderTag.ROOT,\n // Will set during `mountUseBrick`\n createPortal: null!,\n };\n\n const transform = (useBrick as { transform?: Record<string, unknown> })\n .transform;\n const strict = isStrictMode();\n if (transform) {\n warnAboutStrictMode(\n strict,\n \"`useBrick.transform`\",\n 'please use \"properties\" instead, check your useBrick:',\n useBrick\n );\n }\n\n const output = await renderBrick(\n renderRoot,\n strict && !errorBoundary\n ? useBrick\n : {\n errorBoundary,\n ...useBrick,\n properties: {\n ...useBrick.properties,\n ...transform,\n },\n },\n scopedRuntimeContext,\n rendererContext,\n [],\n {}\n );\n\n const scopedStores = [...tplStateStoreScope, ...formStateStoreScope];\n\n await postAsyncRender(output, scopedRuntimeContext, scopedStores);\n\n if (output.node?.tag === RenderTag.PLACEHOLDER) {\n throw new Error(\n \"The root brick of useBrick cannot be an ignored control node\"\n );\n }\n\n if (output.node?.portal) {\n throw new Error(\"The root brick of useBrick cannot be a portal brick\");\n }\n\n renderRoot.child = output.node;\n\n const tagName = output.node ? output.node.type : null;\n\n return { tagName, renderRoot, rendererContext, scopedStores };\n}\n\nexport interface MountUseBrickResult {\n portal?: HTMLElement;\n}\n\nexport function mountUseBrick(\n { renderRoot, rendererContext, scopedStores }: RenderUseBrickResult,\n element: HTMLElement\n): MountUseBrickResult {\n let portal: HTMLElement | undefined;\n renderRoot.createPortal = () => {\n const portalRoot = document.querySelector(\n \"#portal-mount-point\"\n ) as HTMLElement;\n portal = document.createElement(\"div\");\n portalRoot.appendChild(portal);\n return portal;\n };\n\n mountTree(renderRoot, element);\n\n rendererContext.dispatchOnMount();\n rendererContext.initializeScrollIntoView();\n rendererContext.initializeMediaChange();\n rendererContext.initializeMessageDispatcher();\n\n for (const store of scopedStores) {\n store.mountAsyncData();\n }\n\n return {\n portal,\n };\n}\n\nexport function unmountUseBrick(\n { rendererContext }: RenderUseBrickResult,\n mountResult: MountUseBrickResult\n): void {\n // if (mountResult.mainBrick) {\n // mountResult.mainBrick.unmount();\n // }\n if (mountResult.portal) {\n unmountTree(mountResult.portal);\n mountResult.portal.remove();\n }\n rendererContext.dispatchOnUnmount();\n rendererContext.dispose();\n}\n\n/** For v2 compatibility of `doTransform` from brick-kit. */\nexport function legacyDoTransform(\n data: unknown,\n to: unknown,\n options?: unknown\n) {\n if (options) {\n throw new Error(\"Legacy doTransform does not support options in v3\");\n }\n return computeRealValue(\n to,\n {\n ..._internalApiGetRuntimeContext()!,\n data,\n },\n {\n noInject: true,\n }\n );\n}\n\nexport function updateStoryboard(\n appId: string,\n storyboardPatch: Partial<Storyboard>\n): void {\n const storyboard = _internalApiGetStoryboardInBootstrapData(appId)!;\n Object.assign(storyboard, {\n ...storyboardPatch,\n meta: {\n // Keep runtime fields such as `injectMenus`\n ...storyboard.meta,\n ...storyboardPatch.meta,\n },\n $$fulfilling: null,\n $$fulfilled: true,\n $$registerCustomTemplateProcessed: false,\n });\n registerAppI18n(storyboard);\n}\n\nexport function updateStoryboardByRoute(appId: string, newRoute: RouteConf) {\n const storyboard = _internalApiGetStoryboardInBootstrapData(appId)!;\n let match = false;\n const getKey = (route: RouteConf): string => `${route.path}.${route.exact}`;\n const replaceRoute = (routes: RouteConf[], key: string): RouteConf[] => {\n return routes.map((route) => {\n const routeKey = getKey(route);\n if (route.type === \"routes\") {\n route.routes = replaceRoute(route.routes, key);\n return route;\n } else if (routeKey === key) {\n match = true;\n return newRoute;\n } else {\n return route;\n }\n });\n };\n storyboard.routes = replaceRoute(storyboard.routes, getKey(newRoute));\n if (!match) {\n storyboard.routes.unshift(newRoute);\n }\n}\n\nexport function updateStoryboardByTemplate(\n appId: string,\n newTemplate: CustomTemplate,\n settings: unknown\n): void {\n const tplName = `${appId}.${newTemplate.name}`;\n // customTemplateRegistry.delete(tplName);\n customTemplates.define(tplName, {\n bricks: newTemplate.bricks,\n proxy: newTemplate.proxy,\n state: newTemplate.state,\n });\n updateTemplatePreviewSettings(appId, newTemplate.name, settings);\n}\n\nexport function updateTemplatePreviewSettings(\n appId: string,\n templateId: string,\n settings?: unknown\n): void {\n _updatePreviewSettings(\n appId,\n `\\${APP.homepage}/_dev_only_/template-preview/${templateId}`,\n [\n {\n brick: templateId,\n ...pick(\n settings,\n \"properties\",\n \"events\",\n \"lifeCycle\",\n \"context\",\n \"slots\",\n \"children\"\n ),\n },\n ]\n );\n}\n\nfunction getSnippetPreviewPath(snippetId: string): string {\n return `\\${APP.homepage}/_dev_only_/snippet-preview/${snippetId}`;\n}\n\nexport function updateStoryboardBySnippet(\n appId: string,\n snippetData: {\n snippetId: string;\n bricks?: BrickConf[];\n context?: ContextConf[];\n }\n): void {\n _updatePreviewSettings(\n appId,\n getSnippetPreviewPath(snippetData.snippetId),\n snippetData.bricks?.length ? snippetData.bricks : [{ brick: \"span\" }],\n snippetData.context\n );\n}\n\nexport const updateSnippetPreviewSettings = updateStoryboardBySnippet;\n\nfunction _updatePreviewSettings(\n appId: string,\n path: string,\n bricks: BrickConf[],\n context?: ContextConf[]\n) {\n const { routes } = _internalApiGetStoryboardInBootstrapData(appId)!;\n const previewRouteIndex = routes.findIndex((route) => route.path === path);\n const newPreviewRoute: RouteConf = {\n path,\n bricks,\n context,\n menu: false,\n exact: true,\n };\n if (previewRouteIndex === -1) {\n routes.unshift(newPreviewRoute);\n } else {\n routes.splice(previewRouteIndex, 1, newPreviewRoute);\n }\n}\n\nexport function getContextValue(\n name: string,\n { tplStateStoreId }: DataValueOption\n): unknown {\n const runtimeContext = _internalApiGetRuntimeContext()!;\n\n if (tplStateStoreId) {\n const tplStateStore = getTplStateStore(\n {\n ...runtimeContext,\n tplStateStoreId,\n },\n \"STATE\"\n );\n return tplStateStore.getValue(name);\n }\n\n return runtimeContext.ctxStore.getValue(name);\n}\n\nexport function getAllContextValues({\n tplStateStoreId,\n}: DataValueOption): Record<string, unknown> {\n const runtimeContext = _internalApiGetRuntimeContext()!;\n\n if (tplStateStoreId) {\n const tplStateStore = getTplStateStore(\n {\n ...runtimeContext,\n tplStateStoreId,\n },\n \"STATE\"\n );\n return tplStateStore.getAllValues();\n }\n\n return runtimeContext.ctxStore.getAllValues();\n}\n\nexport function getBrickPackagesById(id: string) {\n return getBrickPackages().find((pkg) =>\n pkg.id ? pkg.id === id : pkg.filePath.startsWith(id)\n );\n}\n\n/**\n * Support loading v3 bricks only.\n */\nexport function loadBricks(bricks: string[]) {\n return loadBricksImperatively(bricks, getBrickPackages());\n}\n\nexport function loadEditors(editors: string[] | Set<string>) {\n return loadEditorsImperatively(editors, getBrickPackages());\n}\n\nexport function getRenderId() {\n return _internalApiGetRenderId();\n}\n\nexport async function getAddedContracts(\n storyboardPatch: PreviewStoryboardPatch,\n { appId, updateStoryboardType, collectUsedContracts }: PreviewOption\n): Promise<string[]> {\n const storyboard = _internalApiGetStoryboardInBootstrapData(appId);\n let updatedStoryboard;\n\n // 拿到更新部分的 storyboard 配置,然后扫描一遍,找到新增的 contracts\n if (updateStoryboardType === \"route\") {\n updatedStoryboard = {\n routes: [storyboardPatch as RouteConf],\n } as Storyboard;\n } else if (updateStoryboardType === \"template\") {\n updatedStoryboard = {\n meta: {\n customTemplates: [storyboardPatch as CustomTemplate],\n },\n } as Storyboard;\n } else if (updateStoryboardType === \"snippet\") {\n // snippet 是放在挂载 route 里预览,通过 previewPath 拿到当前修改 route\n const snippetPreviewPath = getSnippetPreviewPath(\n (storyboardPatch as RuntimeSnippet).snippetId\n );\n const currentRoute = storyboard?.routes?.find(\n (route) => route.path === snippetPreviewPath\n );\n\n updatedStoryboard = {\n routes: [currentRoute],\n } as Storyboard;\n }\n\n const addedContracts: string[] = [];\n\n if (updatedStoryboard && collectUsedContracts) {\n const contractApis = await collectUsedContracts(updatedStoryboard);\n\n contractApis.forEach((api: string) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [_, namespaceId, name] = api.match(\n /(.*)@(.*):\\d\\.\\d\\.\\d/\n ) as string[];\n\n if (\n !storyboard?.meta?.contracts?.some(\n (contract) =>\n contract.namespaceId === namespaceId && contract.name === name\n )\n ) {\n addedContracts.push(api);\n }\n });\n }\n\n return addedContracts;\n}\n\nexport async function debugDataValue(\n debugData: DebugDataValue,\n { tplStateStoreId, routeId }: DataValueOption\n): Promise<any> {\n const runtimeContext = {\n ..._internalApiGetRuntimeContext()!,\n tplStateStoreId,\n match: getMatchedRoute(routeId as string),\n };\n\n if (debugData.resolve) {\n return resolveData(debugData.resolve!, runtimeContext, { cache: \"reload\" });\n }\n\n return asyncComputeRealValue(debugData.value, runtimeContext);\n}\n\nexport function getLegalRuntimeValue(\n options?: RuntimeDataValueOption\n): RuntimeDataVale {\n const runtimeContext = _internalApiGetRuntimeContext();\n\n return {\n app: runtimeContext?.overrideApp ?? runtimeContext?.app,\n location: pick(location, [\"href\", \"origin\", \"hostname\", \"host\"]),\n ...pick(runtimeContext, [\"query\", \"sys\"]),\n match: getMatchedRoute(options?.routeId as string),\n } as RuntimeDataVale;\n}\n\nexport {\n setRealTimeDataInspectRoot,\n addRealTimeDataInspectHook,\n} from \"./data/realTimeDataInspect.js\";\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"secret_internals.js","names":["_lodash","require","_Runtime","_Renderer","_RendererContext","_resolveData","_computeRealValue","_mount","_enums","_isStrictMode","_CustomTemplates","_registerAppI18n","_utils","_loader","_routeMatchedMap","_realTimeDataInspect","symbolForRootRuntimeContext","exports","Symbol","for","renderUseBrick","useBrick","data","errorBoundary","_output$node","_output$node2","scopedRuntimeContext","tplStateStoreScope","formStateStoreScope","createScopedRuntimeContext","_internalApiGetRuntimeContext","pendingPermissionsPreCheck","tplStateStoreMap","Map","formStateStoreMap","rendererContext","RendererContext","renderRoot","tag","RenderTag","ROOT","createPortal","transform","strict","isStrictMode","warnAboutStrictMode","output","renderBrick","properties","scopedStores","postAsyncRender","node","PLACEHOLDER","Error","portal","child","tagName","type","mountUseBrick","element","portalRoot","document","querySelector","createElement","appendChild","mountTree","dispatchOnMount","initializeScrollIntoView","initializeMediaChange","initializeMessageDispatcher","store","mountAsyncData","unmountUseBrick","mountResult","unmountTree","remove","dispatchOnUnmount","dispose","legacyDoTransform","to","options","computeRealValue","noInject","updateStoryboard","appId","storyboardPatch","storyboard","_internalApiGetStoryboardInBootstrapData","Object","assign","meta","$$fulfilling","$$fulfilled","$$registerCustomTemplateProcessed","registerAppI18n","updateStoryboardByRoute","newRoute","match","getKey","route","path","exact","replaceRoute","routes","key","map","routeKey","unshift","updateStoryboardByTemplate","newTemplate","settings","tplName","name","customTemplates","define","bricks","proxy","state","updateTemplatePreviewSettings","templateId","_updatePreviewSettings","brick","pick","getSnippetPreviewPath","snippetId","updateStoryboardBySnippet","snippetData","_snippetData$bricks","length","context","updateSnippetPreviewSettings","previewRouteIndex","findIndex","newPreviewRoute","menu","splice","getContextValue","tplStateStoreId","runtimeContext","tplStateStore","getTplStateStore","getValue","ctxStore","getAllContextValues","getAllValues","getBrickPackagesById","id","getBrickPackages","find","pkg","filePath","startsWith","loadBricks","loadBricksImperatively","loadEditors","editors","brickPackages","loadEditorsImperatively","getRenderId","_internalApiGetRenderId","getAddedContracts","updateStoryboardType","collectUsedContracts","updatedStoryboard","_storyboard$routes","snippetPreviewPath","currentRoute","addedContracts","contractApis","forEach","api","_storyboard$meta","_","namespaceId","contracts","some","contract","push","debugDataValue","debugData","routeId","getMatchedRoute","resolve","resolveData","cache","asyncComputeRealValue","value","getLegalRuntimeValue","app","overrideApp","location"],"sources":["../../../src/internal/secret_internals.ts"],"sourcesContent":["import type {\n BrickConf,\n CustomTemplate,\n RouteConf,\n Storyboard,\n UseSingleBrickConf,\n RuntimeSnippet,\n ContextConf,\n BrickPackage,\n} from \"@next-core/types\";\nimport { pick } from \"lodash\";\nimport {\n _internalApiGetRenderId,\n _internalApiGetRuntimeContext,\n _internalApiGetStoryboardInBootstrapData,\n getBrickPackages,\n} from \"./Runtime.js\";\nimport {\n createScopedRuntimeContext,\n postAsyncRender,\n renderBrick,\n} from \"./Renderer.js\";\nimport { RendererContext } from \"./RendererContext.js\";\nimport type { DataStore } from \"./data/DataStore.js\";\nimport { resolveData } from \"./data/resolveData.js\";\nimport { asyncComputeRealValue } from \"./compute/computeRealValue.js\";\nimport type {\n DataValueOption,\n PreviewOption,\n PreviewStoryboardPatch,\n RenderRoot,\n RuntimeContext,\n DebugDataValue,\n RuntimeDataVale,\n RuntimeDataValueOption,\n} from \"./interfaces.js\";\nimport { mountTree, unmountTree } from \"./mount.js\";\nimport { RenderTag } from \"./enums.js\";\nimport { computeRealValue } from \"./compute/computeRealValue.js\";\nimport { isStrictMode, warnAboutStrictMode } from \"../isStrictMode.js\";\nimport { customTemplates } from \"../CustomTemplates.js\";\nimport { registerAppI18n } from \"./registerAppI18n.js\";\nimport { getTplStateStore } from \"./CustomTemplates/utils.js\";\nimport {\n loadBricksImperatively,\n loadEditorsImperatively,\n} from \"@next-core/loader\";\nimport { getMatchedRoute } from \"./routeMatchedMap.js\";\n\nexport type { DataValueOption, RuntimeContext };\n\nexport const symbolForRootRuntimeContext = Symbol.for(\"root.runtimeContext\");\n\nexport interface RuntimeUseBrickConfWithRootSymbols extends UseSingleBrickConf {\n [symbolForRootRuntimeContext]?: RuntimeContext;\n}\n\nexport interface RenderUseBrickResult {\n tagName: string | null;\n renderRoot: RenderRoot;\n rendererContext: RendererContext;\n scopedStores: DataStore<\"STATE\" | \"FORM_STATE\">[];\n}\n\nexport async function renderUseBrick(\n useBrick: RuntimeUseBrickConfWithRootSymbols,\n data: unknown,\n errorBoundary?: boolean\n): Promise<RenderUseBrickResult> {\n const [scopedRuntimeContext, tplStateStoreScope, formStateStoreScope] =\n createScopedRuntimeContext({\n ...(useBrick[symbolForRootRuntimeContext] ??\n _internalApiGetRuntimeContext()!),\n data,\n pendingPermissionsPreCheck: [],\n });\n\n scopedRuntimeContext.tplStateStoreMap ??= new Map();\n scopedRuntimeContext.formStateStoreMap ??= new Map();\n\n const rendererContext = new RendererContext(\"fragment\");\n\n const renderRoot: RenderRoot = {\n tag: RenderTag.ROOT,\n // Will set during `mountUseBrick`\n createPortal: null!,\n };\n\n const transform = (useBrick as { transform?: Record<string, unknown> })\n .transform;\n const strict = isStrictMode();\n if (transform) {\n warnAboutStrictMode(\n strict,\n \"`useBrick.transform`\",\n 'please use \"properties\" instead, check your useBrick:',\n useBrick\n );\n }\n\n const output = await renderBrick(\n renderRoot,\n strict && !errorBoundary\n ? useBrick\n : {\n errorBoundary,\n ...useBrick,\n properties: {\n ...useBrick.properties,\n ...transform,\n },\n },\n scopedRuntimeContext,\n rendererContext,\n [],\n {}\n );\n\n const scopedStores = [...tplStateStoreScope, ...formStateStoreScope];\n\n await postAsyncRender(output, scopedRuntimeContext, scopedStores);\n\n if (output.node?.tag === RenderTag.PLACEHOLDER) {\n throw new Error(\n \"The root brick of useBrick cannot be an ignored control node\"\n );\n }\n\n if (output.node?.portal) {\n throw new Error(\"The root brick of useBrick cannot be a portal brick\");\n }\n\n renderRoot.child = output.node;\n\n const tagName = output.node ? output.node.type : null;\n\n return { tagName, renderRoot, rendererContext, scopedStores };\n}\n\nexport interface MountUseBrickResult {\n portal?: HTMLElement;\n}\n\nexport function mountUseBrick(\n { renderRoot, rendererContext, scopedStores }: RenderUseBrickResult,\n element: HTMLElement\n): MountUseBrickResult {\n let portal: HTMLElement | undefined;\n renderRoot.createPortal = () => {\n const portalRoot = document.querySelector(\n \"#portal-mount-point\"\n ) as HTMLElement;\n portal = document.createElement(\"div\");\n portalRoot.appendChild(portal);\n return portal;\n };\n\n mountTree(renderRoot, element);\n\n rendererContext.dispatchOnMount();\n rendererContext.initializeScrollIntoView();\n rendererContext.initializeMediaChange();\n rendererContext.initializeMessageDispatcher();\n\n for (const store of scopedStores) {\n store.mountAsyncData();\n }\n\n return {\n portal,\n };\n}\n\nexport function unmountUseBrick(\n { rendererContext }: RenderUseBrickResult,\n mountResult: MountUseBrickResult\n): void {\n // if (mountResult.mainBrick) {\n // mountResult.mainBrick.unmount();\n // }\n if (mountResult.portal) {\n unmountTree(mountResult.portal);\n mountResult.portal.remove();\n }\n rendererContext.dispatchOnUnmount();\n rendererContext.dispose();\n}\n\n/** For v2 compatibility of `doTransform` from brick-kit. */\nexport function legacyDoTransform(\n data: unknown,\n to: unknown,\n options?: unknown\n) {\n if (options) {\n throw new Error(\"Legacy doTransform does not support options in v3\");\n }\n return computeRealValue(\n to,\n {\n ..._internalApiGetRuntimeContext()!,\n data,\n },\n {\n noInject: true,\n }\n );\n}\n\nexport function updateStoryboard(\n appId: string,\n storyboardPatch: Partial<Storyboard>\n): void {\n const storyboard = _internalApiGetStoryboardInBootstrapData(appId)!;\n Object.assign(storyboard, {\n ...storyboardPatch,\n meta: {\n // Keep runtime fields such as `injectMenus`\n ...storyboard.meta,\n ...storyboardPatch.meta,\n },\n $$fulfilling: null,\n $$fulfilled: true,\n $$registerCustomTemplateProcessed: false,\n });\n registerAppI18n(storyboard);\n}\n\nexport function updateStoryboardByRoute(appId: string, newRoute: RouteConf) {\n const storyboard = _internalApiGetStoryboardInBootstrapData(appId)!;\n let match = false;\n const getKey = (route: RouteConf): string => `${route.path}.${route.exact}`;\n const replaceRoute = (routes: RouteConf[], key: string): RouteConf[] => {\n return routes.map((route) => {\n const routeKey = getKey(route);\n if (route.type === \"routes\") {\n route.routes = replaceRoute(route.routes, key);\n return route;\n } else if (routeKey === key) {\n match = true;\n return newRoute;\n } else {\n return route;\n }\n });\n };\n storyboard.routes = replaceRoute(storyboard.routes, getKey(newRoute));\n if (!match) {\n storyboard.routes.unshift(newRoute);\n }\n}\n\nexport function updateStoryboardByTemplate(\n appId: string,\n newTemplate: CustomTemplate,\n settings: unknown\n): void {\n const tplName = `${appId}.${newTemplate.name}`;\n // customTemplateRegistry.delete(tplName);\n customTemplates.define(tplName, {\n bricks: newTemplate.bricks,\n proxy: newTemplate.proxy,\n state: newTemplate.state,\n });\n updateTemplatePreviewSettings(appId, newTemplate.name, settings);\n}\n\nexport function updateTemplatePreviewSettings(\n appId: string,\n templateId: string,\n settings?: unknown\n): void {\n _updatePreviewSettings(\n appId,\n `\\${APP.homepage}/_dev_only_/template-preview/${templateId}`,\n [\n {\n brick: templateId,\n ...pick(\n settings,\n \"properties\",\n \"events\",\n \"lifeCycle\",\n \"context\",\n \"slots\",\n \"children\"\n ),\n },\n ]\n );\n}\n\nfunction getSnippetPreviewPath(snippetId: string): string {\n return `\\${APP.homepage}/_dev_only_/snippet-preview/${snippetId}`;\n}\n\nexport function updateStoryboardBySnippet(\n appId: string,\n snippetData: {\n snippetId: string;\n bricks?: BrickConf[];\n context?: ContextConf[];\n }\n): void {\n _updatePreviewSettings(\n appId,\n getSnippetPreviewPath(snippetData.snippetId),\n snippetData.bricks?.length ? snippetData.bricks : [{ brick: \"span\" }],\n snippetData.context\n );\n}\n\nexport const updateSnippetPreviewSettings = updateStoryboardBySnippet;\n\nfunction _updatePreviewSettings(\n appId: string,\n path: string,\n bricks: BrickConf[],\n context?: ContextConf[]\n) {\n const { routes } = _internalApiGetStoryboardInBootstrapData(appId)!;\n const previewRouteIndex = routes.findIndex((route) => route.path === path);\n const newPreviewRoute: RouteConf = {\n path,\n bricks,\n context,\n menu: false,\n exact: true,\n };\n if (previewRouteIndex === -1) {\n routes.unshift(newPreviewRoute);\n } else {\n routes.splice(previewRouteIndex, 1, newPreviewRoute);\n }\n}\n\nexport function getContextValue(\n name: string,\n { tplStateStoreId }: DataValueOption\n): unknown {\n const runtimeContext = _internalApiGetRuntimeContext()!;\n\n if (tplStateStoreId) {\n const tplStateStore = getTplStateStore(\n {\n ...runtimeContext,\n tplStateStoreId,\n },\n \"STATE\"\n );\n return tplStateStore.getValue(name);\n }\n\n return runtimeContext.ctxStore.getValue(name);\n}\n\nexport function getAllContextValues({\n tplStateStoreId,\n}: DataValueOption): Record<string, unknown> {\n const runtimeContext = _internalApiGetRuntimeContext()!;\n\n if (tplStateStoreId) {\n const tplStateStore = getTplStateStore(\n {\n ...runtimeContext,\n tplStateStoreId,\n },\n \"STATE\"\n );\n return tplStateStore.getAllValues();\n }\n\n return runtimeContext.ctxStore.getAllValues();\n}\n\nexport function getBrickPackagesById(id: string) {\n return getBrickPackages().find((pkg) =>\n pkg.id ? pkg.id === id : pkg.filePath.startsWith(`${id}/`)\n );\n}\n\n/**\n * Support loading v3 bricks only.\n */\nexport function loadBricks(bricks: string[]) {\n return loadBricksImperatively(bricks, getBrickPackages());\n}\n\n/**\n * Try the brick packages passed in, before using from bootstrap.\n */\nexport function loadEditors(\n editors: string[] | Set<string>,\n brickPackages?: BrickPackage[]\n) {\n return loadEditorsImperatively(editors, brickPackages ?? getBrickPackages());\n}\n\nexport function getRenderId() {\n return _internalApiGetRenderId();\n}\n\nexport async function getAddedContracts(\n storyboardPatch: PreviewStoryboardPatch,\n { appId, updateStoryboardType, collectUsedContracts }: PreviewOption\n): Promise<string[]> {\n const storyboard = _internalApiGetStoryboardInBootstrapData(appId);\n let updatedStoryboard;\n\n // 拿到更新部分的 storyboard 配置,然后扫描一遍,找到新增的 contracts\n if (updateStoryboardType === \"route\") {\n updatedStoryboard = {\n routes: [storyboardPatch as RouteConf],\n } as Storyboard;\n } else if (updateStoryboardType === \"template\") {\n updatedStoryboard = {\n meta: {\n customTemplates: [storyboardPatch as CustomTemplate],\n },\n } as Storyboard;\n } else if (updateStoryboardType === \"snippet\") {\n // snippet 是放在挂载 route 里预览,通过 previewPath 拿到当前修改 route\n const snippetPreviewPath = getSnippetPreviewPath(\n (storyboardPatch as RuntimeSnippet).snippetId\n );\n const currentRoute = storyboard?.routes?.find(\n (route) => route.path === snippetPreviewPath\n );\n\n updatedStoryboard = {\n routes: [currentRoute],\n } as Storyboard;\n }\n\n const addedContracts: string[] = [];\n\n if (updatedStoryboard && collectUsedContracts) {\n const contractApis = await collectUsedContracts(updatedStoryboard);\n\n contractApis.forEach((api: string) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [_, namespaceId, name] = api.match(\n /(.*)@(.*):\\d\\.\\d\\.\\d/\n ) as string[];\n\n if (\n !storyboard?.meta?.contracts?.some(\n (contract) =>\n contract.namespaceId === namespaceId && contract.name === name\n )\n ) {\n addedContracts.push(api);\n }\n });\n }\n\n return addedContracts;\n}\n\nexport async function debugDataValue(\n debugData: DebugDataValue,\n { tplStateStoreId, routeId }: DataValueOption\n): Promise<any> {\n const runtimeContext = {\n ..._internalApiGetRuntimeContext()!,\n tplStateStoreId,\n match: getMatchedRoute(routeId as string),\n };\n\n if (debugData.resolve) {\n return resolveData(debugData.resolve!, runtimeContext, { cache: \"reload\" });\n }\n\n return asyncComputeRealValue(debugData.value, runtimeContext);\n}\n\nexport function getLegalRuntimeValue(\n options?: RuntimeDataValueOption\n): RuntimeDataVale {\n const runtimeContext = _internalApiGetRuntimeContext();\n\n return {\n app: runtimeContext?.overrideApp ?? runtimeContext?.app,\n location: pick(location, [\"href\", \"origin\", \"hostname\", \"host\"]),\n ...pick(runtimeContext, [\"query\", \"sys\"]),\n match: getMatchedRoute(options?.routeId as string),\n } as RuntimeDataVale;\n}\n\nexport {\n setRealTimeDataInspectRoot,\n addRealTimeDataInspectHook,\n} from \"./data/realTimeDataInspect.js\";\n"],"mappings":"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","ignoreList":[]}
@@ -222,7 +222,7 @@ export function getAllContextValues(_ref4) {
222
222
  return runtimeContext.ctxStore.getAllValues();
223
223
  }
224
224
  export function getBrickPackagesById(id) {
225
- return getBrickPackages().find(pkg => pkg.id ? pkg.id === id : pkg.filePath.startsWith(id));
225
+ return getBrickPackages().find(pkg => pkg.id ? pkg.id === id : pkg.filePath.startsWith(`${id}/`));
226
226
  }
227
227
 
228
228
  /**
@@ -231,8 +231,12 @@ export function getBrickPackagesById(id) {
231
231
  export function loadBricks(bricks) {
232
232
  return loadBricksImperatively(bricks, getBrickPackages());
233
233
  }
234
- export function loadEditors(editors) {
235
- return loadEditorsImperatively(editors, getBrickPackages());
234
+
235
+ /**
236
+ * Try the brick packages passed in, before using from bootstrap.
237
+ */
238
+ export function loadEditors(editors, brickPackages) {
239
+ return loadEditorsImperatively(editors, brickPackages ?? getBrickPackages());
236
240
  }
237
241
  export function getRenderId() {
238
242
  return _internalApiGetRenderId();
@@ -1 +1 @@
1
- {"version":3,"file":"secret_internals.js","names":["pick","_internalApiGetRenderId","_internalApiGetRuntimeContext","_internalApiGetStoryboardInBootstrapData","getBrickPackages","createScopedRuntimeContext","postAsyncRender","renderBrick","RendererContext","resolveData","asyncComputeRealValue","mountTree","unmountTree","RenderTag","computeRealValue","isStrictMode","warnAboutStrictMode","customTemplates","registerAppI18n","getTplStateStore","loadBricksImperatively","loadEditorsImperatively","getMatchedRoute","symbolForRootRuntimeContext","Symbol","for","renderUseBrick","useBrick","data","errorBoundary","_output$node","_output$node2","scopedRuntimeContext","tplStateStoreScope","formStateStoreScope","pendingPermissionsPreCheck","tplStateStoreMap","Map","formStateStoreMap","rendererContext","renderRoot","tag","ROOT","createPortal","transform","strict","output","properties","scopedStores","node","PLACEHOLDER","Error","portal","child","tagName","type","mountUseBrick","_ref","element","portalRoot","document","querySelector","createElement","appendChild","dispatchOnMount","initializeScrollIntoView","initializeMediaChange","initializeMessageDispatcher","store","mountAsyncData","unmountUseBrick","_ref2","mountResult","remove","dispatchOnUnmount","dispose","legacyDoTransform","to","options","noInject","updateStoryboard","appId","storyboardPatch","storyboard","Object","assign","meta","$$fulfilling","$$fulfilled","$$registerCustomTemplateProcessed","updateStoryboardByRoute","newRoute","match","getKey","route","path","exact","replaceRoute","routes","key","map","routeKey","unshift","updateStoryboardByTemplate","newTemplate","settings","tplName","name","define","bricks","proxy","state","updateTemplatePreviewSettings","templateId","_updatePreviewSettings","brick","getSnippetPreviewPath","snippetId","updateStoryboardBySnippet","snippetData","_snippetData$bricks","length","context","updateSnippetPreviewSettings","previewRouteIndex","findIndex","newPreviewRoute","menu","splice","getContextValue","_ref3","tplStateStoreId","runtimeContext","tplStateStore","getValue","ctxStore","getAllContextValues","_ref4","getAllValues","getBrickPackagesById","id","find","pkg","filePath","startsWith","loadBricks","loadEditors","editors","getRenderId","getAddedContracts","_ref5","updateStoryboardType","collectUsedContracts","updatedStoryboard","_storyboard$routes","snippetPreviewPath","currentRoute","addedContracts","contractApis","forEach","api","_storyboard$meta","_","namespaceId","contracts","some","contract","push","debugDataValue","debugData","_ref6","routeId","resolve","cache","value","getLegalRuntimeValue","app","overrideApp","location","setRealTimeDataInspectRoot","addRealTimeDataInspectHook"],"sources":["../../../src/internal/secret_internals.ts"],"sourcesContent":["import type {\n BrickConf,\n CustomTemplate,\n RouteConf,\n Storyboard,\n UseSingleBrickConf,\n RuntimeSnippet,\n ContextConf,\n} from \"@next-core/types\";\nimport { pick } from \"lodash\";\nimport {\n _internalApiGetRenderId,\n _internalApiGetRuntimeContext,\n _internalApiGetStoryboardInBootstrapData,\n getBrickPackages,\n} from \"./Runtime.js\";\nimport {\n createScopedRuntimeContext,\n postAsyncRender,\n renderBrick,\n} from \"./Renderer.js\";\nimport { RendererContext } from \"./RendererContext.js\";\nimport type { DataStore } from \"./data/DataStore.js\";\nimport { resolveData } from \"./data/resolveData.js\";\nimport { asyncComputeRealValue } from \"./compute/computeRealValue.js\";\nimport type {\n DataValueOption,\n PreviewOption,\n PreviewStoryboardPatch,\n RenderRoot,\n RuntimeContext,\n DebugDataValue,\n RuntimeDataVale,\n RuntimeDataValueOption,\n} from \"./interfaces.js\";\nimport { mountTree, unmountTree } from \"./mount.js\";\nimport { RenderTag } from \"./enums.js\";\nimport { computeRealValue } from \"./compute/computeRealValue.js\";\nimport { isStrictMode, warnAboutStrictMode } from \"../isStrictMode.js\";\nimport { customTemplates } from \"../CustomTemplates.js\";\nimport { registerAppI18n } from \"./registerAppI18n.js\";\nimport { getTplStateStore } from \"./CustomTemplates/utils.js\";\nimport {\n loadBricksImperatively,\n loadEditorsImperatively,\n} from \"@next-core/loader\";\nimport { getMatchedRoute } from \"./routeMatchedMap.js\";\n\nexport type { DataValueOption, RuntimeContext };\n\nexport const symbolForRootRuntimeContext = Symbol.for(\"root.runtimeContext\");\n\nexport interface RuntimeUseBrickConfWithRootSymbols extends UseSingleBrickConf {\n [symbolForRootRuntimeContext]?: RuntimeContext;\n}\n\nexport interface RenderUseBrickResult {\n tagName: string | null;\n renderRoot: RenderRoot;\n rendererContext: RendererContext;\n scopedStores: DataStore<\"STATE\" | \"FORM_STATE\">[];\n}\n\nexport async function renderUseBrick(\n useBrick: RuntimeUseBrickConfWithRootSymbols,\n data: unknown,\n errorBoundary?: boolean\n): Promise<RenderUseBrickResult> {\n const [scopedRuntimeContext, tplStateStoreScope, formStateStoreScope] =\n createScopedRuntimeContext({\n ...(useBrick[symbolForRootRuntimeContext] ??\n _internalApiGetRuntimeContext()!),\n data,\n pendingPermissionsPreCheck: [],\n });\n\n scopedRuntimeContext.tplStateStoreMap ??= new Map();\n scopedRuntimeContext.formStateStoreMap ??= new Map();\n\n const rendererContext = new RendererContext(\"fragment\");\n\n const renderRoot: RenderRoot = {\n tag: RenderTag.ROOT,\n // Will set during `mountUseBrick`\n createPortal: null!,\n };\n\n const transform = (useBrick as { transform?: Record<string, unknown> })\n .transform;\n const strict = isStrictMode();\n if (transform) {\n warnAboutStrictMode(\n strict,\n \"`useBrick.transform`\",\n 'please use \"properties\" instead, check your useBrick:',\n useBrick\n );\n }\n\n const output = await renderBrick(\n renderRoot,\n strict && !errorBoundary\n ? useBrick\n : {\n errorBoundary,\n ...useBrick,\n properties: {\n ...useBrick.properties,\n ...transform,\n },\n },\n scopedRuntimeContext,\n rendererContext,\n [],\n {}\n );\n\n const scopedStores = [...tplStateStoreScope, ...formStateStoreScope];\n\n await postAsyncRender(output, scopedRuntimeContext, scopedStores);\n\n if (output.node?.tag === RenderTag.PLACEHOLDER) {\n throw new Error(\n \"The root brick of useBrick cannot be an ignored control node\"\n );\n }\n\n if (output.node?.portal) {\n throw new Error(\"The root brick of useBrick cannot be a portal brick\");\n }\n\n renderRoot.child = output.node;\n\n const tagName = output.node ? output.node.type : null;\n\n return { tagName, renderRoot, rendererContext, scopedStores };\n}\n\nexport interface MountUseBrickResult {\n portal?: HTMLElement;\n}\n\nexport function mountUseBrick(\n { renderRoot, rendererContext, scopedStores }: RenderUseBrickResult,\n element: HTMLElement\n): MountUseBrickResult {\n let portal: HTMLElement | undefined;\n renderRoot.createPortal = () => {\n const portalRoot = document.querySelector(\n \"#portal-mount-point\"\n ) as HTMLElement;\n portal = document.createElement(\"div\");\n portalRoot.appendChild(portal);\n return portal;\n };\n\n mountTree(renderRoot, element);\n\n rendererContext.dispatchOnMount();\n rendererContext.initializeScrollIntoView();\n rendererContext.initializeMediaChange();\n rendererContext.initializeMessageDispatcher();\n\n for (const store of scopedStores) {\n store.mountAsyncData();\n }\n\n return {\n portal,\n };\n}\n\nexport function unmountUseBrick(\n { rendererContext }: RenderUseBrickResult,\n mountResult: MountUseBrickResult\n): void {\n // if (mountResult.mainBrick) {\n // mountResult.mainBrick.unmount();\n // }\n if (mountResult.portal) {\n unmountTree(mountResult.portal);\n mountResult.portal.remove();\n }\n rendererContext.dispatchOnUnmount();\n rendererContext.dispose();\n}\n\n/** For v2 compatibility of `doTransform` from brick-kit. */\nexport function legacyDoTransform(\n data: unknown,\n to: unknown,\n options?: unknown\n) {\n if (options) {\n throw new Error(\"Legacy doTransform does not support options in v3\");\n }\n return computeRealValue(\n to,\n {\n ..._internalApiGetRuntimeContext()!,\n data,\n },\n {\n noInject: true,\n }\n );\n}\n\nexport function updateStoryboard(\n appId: string,\n storyboardPatch: Partial<Storyboard>\n): void {\n const storyboard = _internalApiGetStoryboardInBootstrapData(appId)!;\n Object.assign(storyboard, {\n ...storyboardPatch,\n meta: {\n // Keep runtime fields such as `injectMenus`\n ...storyboard.meta,\n ...storyboardPatch.meta,\n },\n $$fulfilling: null,\n $$fulfilled: true,\n $$registerCustomTemplateProcessed: false,\n });\n registerAppI18n(storyboard);\n}\n\nexport function updateStoryboardByRoute(appId: string, newRoute: RouteConf) {\n const storyboard = _internalApiGetStoryboardInBootstrapData(appId)!;\n let match = false;\n const getKey = (route: RouteConf): string => `${route.path}.${route.exact}`;\n const replaceRoute = (routes: RouteConf[], key: string): RouteConf[] => {\n return routes.map((route) => {\n const routeKey = getKey(route);\n if (route.type === \"routes\") {\n route.routes = replaceRoute(route.routes, key);\n return route;\n } else if (routeKey === key) {\n match = true;\n return newRoute;\n } else {\n return route;\n }\n });\n };\n storyboard.routes = replaceRoute(storyboard.routes, getKey(newRoute));\n if (!match) {\n storyboard.routes.unshift(newRoute);\n }\n}\n\nexport function updateStoryboardByTemplate(\n appId: string,\n newTemplate: CustomTemplate,\n settings: unknown\n): void {\n const tplName = `${appId}.${newTemplate.name}`;\n // customTemplateRegistry.delete(tplName);\n customTemplates.define(tplName, {\n bricks: newTemplate.bricks,\n proxy: newTemplate.proxy,\n state: newTemplate.state,\n });\n updateTemplatePreviewSettings(appId, newTemplate.name, settings);\n}\n\nexport function updateTemplatePreviewSettings(\n appId: string,\n templateId: string,\n settings?: unknown\n): void {\n _updatePreviewSettings(\n appId,\n `\\${APP.homepage}/_dev_only_/template-preview/${templateId}`,\n [\n {\n brick: templateId,\n ...pick(\n settings,\n \"properties\",\n \"events\",\n \"lifeCycle\",\n \"context\",\n \"slots\",\n \"children\"\n ),\n },\n ]\n );\n}\n\nfunction getSnippetPreviewPath(snippetId: string): string {\n return `\\${APP.homepage}/_dev_only_/snippet-preview/${snippetId}`;\n}\n\nexport function updateStoryboardBySnippet(\n appId: string,\n snippetData: {\n snippetId: string;\n bricks?: BrickConf[];\n context?: ContextConf[];\n }\n): void {\n _updatePreviewSettings(\n appId,\n getSnippetPreviewPath(snippetData.snippetId),\n snippetData.bricks?.length ? snippetData.bricks : [{ brick: \"span\" }],\n snippetData.context\n );\n}\n\nexport const updateSnippetPreviewSettings = updateStoryboardBySnippet;\n\nfunction _updatePreviewSettings(\n appId: string,\n path: string,\n bricks: BrickConf[],\n context?: ContextConf[]\n) {\n const { routes } = _internalApiGetStoryboardInBootstrapData(appId)!;\n const previewRouteIndex = routes.findIndex((route) => route.path === path);\n const newPreviewRoute: RouteConf = {\n path,\n bricks,\n context,\n menu: false,\n exact: true,\n };\n if (previewRouteIndex === -1) {\n routes.unshift(newPreviewRoute);\n } else {\n routes.splice(previewRouteIndex, 1, newPreviewRoute);\n }\n}\n\nexport function getContextValue(\n name: string,\n { tplStateStoreId }: DataValueOption\n): unknown {\n const runtimeContext = _internalApiGetRuntimeContext()!;\n\n if (tplStateStoreId) {\n const tplStateStore = getTplStateStore(\n {\n ...runtimeContext,\n tplStateStoreId,\n },\n \"STATE\"\n );\n return tplStateStore.getValue(name);\n }\n\n return runtimeContext.ctxStore.getValue(name);\n}\n\nexport function getAllContextValues({\n tplStateStoreId,\n}: DataValueOption): Record<string, unknown> {\n const runtimeContext = _internalApiGetRuntimeContext()!;\n\n if (tplStateStoreId) {\n const tplStateStore = getTplStateStore(\n {\n ...runtimeContext,\n tplStateStoreId,\n },\n \"STATE\"\n );\n return tplStateStore.getAllValues();\n }\n\n return runtimeContext.ctxStore.getAllValues();\n}\n\nexport function getBrickPackagesById(id: string) {\n return getBrickPackages().find((pkg) =>\n pkg.id ? pkg.id === id : pkg.filePath.startsWith(id)\n );\n}\n\n/**\n * Support loading v3 bricks only.\n */\nexport function loadBricks(bricks: string[]) {\n return loadBricksImperatively(bricks, getBrickPackages());\n}\n\nexport function loadEditors(editors: string[] | Set<string>) {\n return loadEditorsImperatively(editors, getBrickPackages());\n}\n\nexport function getRenderId() {\n return _internalApiGetRenderId();\n}\n\nexport async function getAddedContracts(\n storyboardPatch: PreviewStoryboardPatch,\n { appId, updateStoryboardType, collectUsedContracts }: PreviewOption\n): Promise<string[]> {\n const storyboard = _internalApiGetStoryboardInBootstrapData(appId);\n let updatedStoryboard;\n\n // 拿到更新部分的 storyboard 配置,然后扫描一遍,找到新增的 contracts\n if (updateStoryboardType === \"route\") {\n updatedStoryboard = {\n routes: [storyboardPatch as RouteConf],\n } as Storyboard;\n } else if (updateStoryboardType === \"template\") {\n updatedStoryboard = {\n meta: {\n customTemplates: [storyboardPatch as CustomTemplate],\n },\n } as Storyboard;\n } else if (updateStoryboardType === \"snippet\") {\n // snippet 是放在挂载 route 里预览,通过 previewPath 拿到当前修改 route\n const snippetPreviewPath = getSnippetPreviewPath(\n (storyboardPatch as RuntimeSnippet).snippetId\n );\n const currentRoute = storyboard?.routes?.find(\n (route) => route.path === snippetPreviewPath\n );\n\n updatedStoryboard = {\n routes: [currentRoute],\n } as Storyboard;\n }\n\n const addedContracts: string[] = [];\n\n if (updatedStoryboard && collectUsedContracts) {\n const contractApis = await collectUsedContracts(updatedStoryboard);\n\n contractApis.forEach((api: string) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [_, namespaceId, name] = api.match(\n /(.*)@(.*):\\d\\.\\d\\.\\d/\n ) as string[];\n\n if (\n !storyboard?.meta?.contracts?.some(\n (contract) =>\n contract.namespaceId === namespaceId && contract.name === name\n )\n ) {\n addedContracts.push(api);\n }\n });\n }\n\n return addedContracts;\n}\n\nexport async function debugDataValue(\n debugData: DebugDataValue,\n { tplStateStoreId, routeId }: DataValueOption\n): Promise<any> {\n const runtimeContext = {\n ..._internalApiGetRuntimeContext()!,\n tplStateStoreId,\n match: getMatchedRoute(routeId as string),\n };\n\n if (debugData.resolve) {\n return resolveData(debugData.resolve!, runtimeContext, { cache: \"reload\" });\n }\n\n return asyncComputeRealValue(debugData.value, runtimeContext);\n}\n\nexport function getLegalRuntimeValue(\n options?: RuntimeDataValueOption\n): RuntimeDataVale {\n const runtimeContext = _internalApiGetRuntimeContext();\n\n return {\n app: runtimeContext?.overrideApp ?? runtimeContext?.app,\n location: pick(location, [\"href\", \"origin\", \"hostname\", \"host\"]),\n ...pick(runtimeContext, [\"query\", \"sys\"]),\n match: getMatchedRoute(options?.routeId as string),\n } as RuntimeDataVale;\n}\n\nexport {\n setRealTimeDataInspectRoot,\n addRealTimeDataInspectHook,\n} from \"./data/realTimeDataInspect.js\";\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"secret_internals.js","names":["pick","_internalApiGetRenderId","_internalApiGetRuntimeContext","_internalApiGetStoryboardInBootstrapData","getBrickPackages","createScopedRuntimeContext","postAsyncRender","renderBrick","RendererContext","resolveData","asyncComputeRealValue","mountTree","unmountTree","RenderTag","computeRealValue","isStrictMode","warnAboutStrictMode","customTemplates","registerAppI18n","getTplStateStore","loadBricksImperatively","loadEditorsImperatively","getMatchedRoute","symbolForRootRuntimeContext","Symbol","for","renderUseBrick","useBrick","data","errorBoundary","_output$node","_output$node2","scopedRuntimeContext","tplStateStoreScope","formStateStoreScope","pendingPermissionsPreCheck","tplStateStoreMap","Map","formStateStoreMap","rendererContext","renderRoot","tag","ROOT","createPortal","transform","strict","output","properties","scopedStores","node","PLACEHOLDER","Error","portal","child","tagName","type","mountUseBrick","_ref","element","portalRoot","document","querySelector","createElement","appendChild","dispatchOnMount","initializeScrollIntoView","initializeMediaChange","initializeMessageDispatcher","store","mountAsyncData","unmountUseBrick","_ref2","mountResult","remove","dispatchOnUnmount","dispose","legacyDoTransform","to","options","noInject","updateStoryboard","appId","storyboardPatch","storyboard","Object","assign","meta","$$fulfilling","$$fulfilled","$$registerCustomTemplateProcessed","updateStoryboardByRoute","newRoute","match","getKey","route","path","exact","replaceRoute","routes","key","map","routeKey","unshift","updateStoryboardByTemplate","newTemplate","settings","tplName","name","define","bricks","proxy","state","updateTemplatePreviewSettings","templateId","_updatePreviewSettings","brick","getSnippetPreviewPath","snippetId","updateStoryboardBySnippet","snippetData","_snippetData$bricks","length","context","updateSnippetPreviewSettings","previewRouteIndex","findIndex","newPreviewRoute","menu","splice","getContextValue","_ref3","tplStateStoreId","runtimeContext","tplStateStore","getValue","ctxStore","getAllContextValues","_ref4","getAllValues","getBrickPackagesById","id","find","pkg","filePath","startsWith","loadBricks","loadEditors","editors","brickPackages","getRenderId","getAddedContracts","_ref5","updateStoryboardType","collectUsedContracts","updatedStoryboard","_storyboard$routes","snippetPreviewPath","currentRoute","addedContracts","contractApis","forEach","api","_storyboard$meta","_","namespaceId","contracts","some","contract","push","debugDataValue","debugData","_ref6","routeId","resolve","cache","value","getLegalRuntimeValue","app","overrideApp","location","setRealTimeDataInspectRoot","addRealTimeDataInspectHook"],"sources":["../../../src/internal/secret_internals.ts"],"sourcesContent":["import type {\n BrickConf,\n CustomTemplate,\n RouteConf,\n Storyboard,\n UseSingleBrickConf,\n RuntimeSnippet,\n ContextConf,\n BrickPackage,\n} from \"@next-core/types\";\nimport { pick } from \"lodash\";\nimport {\n _internalApiGetRenderId,\n _internalApiGetRuntimeContext,\n _internalApiGetStoryboardInBootstrapData,\n getBrickPackages,\n} from \"./Runtime.js\";\nimport {\n createScopedRuntimeContext,\n postAsyncRender,\n renderBrick,\n} from \"./Renderer.js\";\nimport { RendererContext } from \"./RendererContext.js\";\nimport type { DataStore } from \"./data/DataStore.js\";\nimport { resolveData } from \"./data/resolveData.js\";\nimport { asyncComputeRealValue } from \"./compute/computeRealValue.js\";\nimport type {\n DataValueOption,\n PreviewOption,\n PreviewStoryboardPatch,\n RenderRoot,\n RuntimeContext,\n DebugDataValue,\n RuntimeDataVale,\n RuntimeDataValueOption,\n} from \"./interfaces.js\";\nimport { mountTree, unmountTree } from \"./mount.js\";\nimport { RenderTag } from \"./enums.js\";\nimport { computeRealValue } from \"./compute/computeRealValue.js\";\nimport { isStrictMode, warnAboutStrictMode } from \"../isStrictMode.js\";\nimport { customTemplates } from \"../CustomTemplates.js\";\nimport { registerAppI18n } from \"./registerAppI18n.js\";\nimport { getTplStateStore } from \"./CustomTemplates/utils.js\";\nimport {\n loadBricksImperatively,\n loadEditorsImperatively,\n} from \"@next-core/loader\";\nimport { getMatchedRoute } from \"./routeMatchedMap.js\";\n\nexport type { DataValueOption, RuntimeContext };\n\nexport const symbolForRootRuntimeContext = Symbol.for(\"root.runtimeContext\");\n\nexport interface RuntimeUseBrickConfWithRootSymbols extends UseSingleBrickConf {\n [symbolForRootRuntimeContext]?: RuntimeContext;\n}\n\nexport interface RenderUseBrickResult {\n tagName: string | null;\n renderRoot: RenderRoot;\n rendererContext: RendererContext;\n scopedStores: DataStore<\"STATE\" | \"FORM_STATE\">[];\n}\n\nexport async function renderUseBrick(\n useBrick: RuntimeUseBrickConfWithRootSymbols,\n data: unknown,\n errorBoundary?: boolean\n): Promise<RenderUseBrickResult> {\n const [scopedRuntimeContext, tplStateStoreScope, formStateStoreScope] =\n createScopedRuntimeContext({\n ...(useBrick[symbolForRootRuntimeContext] ??\n _internalApiGetRuntimeContext()!),\n data,\n pendingPermissionsPreCheck: [],\n });\n\n scopedRuntimeContext.tplStateStoreMap ??= new Map();\n scopedRuntimeContext.formStateStoreMap ??= new Map();\n\n const rendererContext = new RendererContext(\"fragment\");\n\n const renderRoot: RenderRoot = {\n tag: RenderTag.ROOT,\n // Will set during `mountUseBrick`\n createPortal: null!,\n };\n\n const transform = (useBrick as { transform?: Record<string, unknown> })\n .transform;\n const strict = isStrictMode();\n if (transform) {\n warnAboutStrictMode(\n strict,\n \"`useBrick.transform`\",\n 'please use \"properties\" instead, check your useBrick:',\n useBrick\n );\n }\n\n const output = await renderBrick(\n renderRoot,\n strict && !errorBoundary\n ? useBrick\n : {\n errorBoundary,\n ...useBrick,\n properties: {\n ...useBrick.properties,\n ...transform,\n },\n },\n scopedRuntimeContext,\n rendererContext,\n [],\n {}\n );\n\n const scopedStores = [...tplStateStoreScope, ...formStateStoreScope];\n\n await postAsyncRender(output, scopedRuntimeContext, scopedStores);\n\n if (output.node?.tag === RenderTag.PLACEHOLDER) {\n throw new Error(\n \"The root brick of useBrick cannot be an ignored control node\"\n );\n }\n\n if (output.node?.portal) {\n throw new Error(\"The root brick of useBrick cannot be a portal brick\");\n }\n\n renderRoot.child = output.node;\n\n const tagName = output.node ? output.node.type : null;\n\n return { tagName, renderRoot, rendererContext, scopedStores };\n}\n\nexport interface MountUseBrickResult {\n portal?: HTMLElement;\n}\n\nexport function mountUseBrick(\n { renderRoot, rendererContext, scopedStores }: RenderUseBrickResult,\n element: HTMLElement\n): MountUseBrickResult {\n let portal: HTMLElement | undefined;\n renderRoot.createPortal = () => {\n const portalRoot = document.querySelector(\n \"#portal-mount-point\"\n ) as HTMLElement;\n portal = document.createElement(\"div\");\n portalRoot.appendChild(portal);\n return portal;\n };\n\n mountTree(renderRoot, element);\n\n rendererContext.dispatchOnMount();\n rendererContext.initializeScrollIntoView();\n rendererContext.initializeMediaChange();\n rendererContext.initializeMessageDispatcher();\n\n for (const store of scopedStores) {\n store.mountAsyncData();\n }\n\n return {\n portal,\n };\n}\n\nexport function unmountUseBrick(\n { rendererContext }: RenderUseBrickResult,\n mountResult: MountUseBrickResult\n): void {\n // if (mountResult.mainBrick) {\n // mountResult.mainBrick.unmount();\n // }\n if (mountResult.portal) {\n unmountTree(mountResult.portal);\n mountResult.portal.remove();\n }\n rendererContext.dispatchOnUnmount();\n rendererContext.dispose();\n}\n\n/** For v2 compatibility of `doTransform` from brick-kit. */\nexport function legacyDoTransform(\n data: unknown,\n to: unknown,\n options?: unknown\n) {\n if (options) {\n throw new Error(\"Legacy doTransform does not support options in v3\");\n }\n return computeRealValue(\n to,\n {\n ..._internalApiGetRuntimeContext()!,\n data,\n },\n {\n noInject: true,\n }\n );\n}\n\nexport function updateStoryboard(\n appId: string,\n storyboardPatch: Partial<Storyboard>\n): void {\n const storyboard = _internalApiGetStoryboardInBootstrapData(appId)!;\n Object.assign(storyboard, {\n ...storyboardPatch,\n meta: {\n // Keep runtime fields such as `injectMenus`\n ...storyboard.meta,\n ...storyboardPatch.meta,\n },\n $$fulfilling: null,\n $$fulfilled: true,\n $$registerCustomTemplateProcessed: false,\n });\n registerAppI18n(storyboard);\n}\n\nexport function updateStoryboardByRoute(appId: string, newRoute: RouteConf) {\n const storyboard = _internalApiGetStoryboardInBootstrapData(appId)!;\n let match = false;\n const getKey = (route: RouteConf): string => `${route.path}.${route.exact}`;\n const replaceRoute = (routes: RouteConf[], key: string): RouteConf[] => {\n return routes.map((route) => {\n const routeKey = getKey(route);\n if (route.type === \"routes\") {\n route.routes = replaceRoute(route.routes, key);\n return route;\n } else if (routeKey === key) {\n match = true;\n return newRoute;\n } else {\n return route;\n }\n });\n };\n storyboard.routes = replaceRoute(storyboard.routes, getKey(newRoute));\n if (!match) {\n storyboard.routes.unshift(newRoute);\n }\n}\n\nexport function updateStoryboardByTemplate(\n appId: string,\n newTemplate: CustomTemplate,\n settings: unknown\n): void {\n const tplName = `${appId}.${newTemplate.name}`;\n // customTemplateRegistry.delete(tplName);\n customTemplates.define(tplName, {\n bricks: newTemplate.bricks,\n proxy: newTemplate.proxy,\n state: newTemplate.state,\n });\n updateTemplatePreviewSettings(appId, newTemplate.name, settings);\n}\n\nexport function updateTemplatePreviewSettings(\n appId: string,\n templateId: string,\n settings?: unknown\n): void {\n _updatePreviewSettings(\n appId,\n `\\${APP.homepage}/_dev_only_/template-preview/${templateId}`,\n [\n {\n brick: templateId,\n ...pick(\n settings,\n \"properties\",\n \"events\",\n \"lifeCycle\",\n \"context\",\n \"slots\",\n \"children\"\n ),\n },\n ]\n );\n}\n\nfunction getSnippetPreviewPath(snippetId: string): string {\n return `\\${APP.homepage}/_dev_only_/snippet-preview/${snippetId}`;\n}\n\nexport function updateStoryboardBySnippet(\n appId: string,\n snippetData: {\n snippetId: string;\n bricks?: BrickConf[];\n context?: ContextConf[];\n }\n): void {\n _updatePreviewSettings(\n appId,\n getSnippetPreviewPath(snippetData.snippetId),\n snippetData.bricks?.length ? snippetData.bricks : [{ brick: \"span\" }],\n snippetData.context\n );\n}\n\nexport const updateSnippetPreviewSettings = updateStoryboardBySnippet;\n\nfunction _updatePreviewSettings(\n appId: string,\n path: string,\n bricks: BrickConf[],\n context?: ContextConf[]\n) {\n const { routes } = _internalApiGetStoryboardInBootstrapData(appId)!;\n const previewRouteIndex = routes.findIndex((route) => route.path === path);\n const newPreviewRoute: RouteConf = {\n path,\n bricks,\n context,\n menu: false,\n exact: true,\n };\n if (previewRouteIndex === -1) {\n routes.unshift(newPreviewRoute);\n } else {\n routes.splice(previewRouteIndex, 1, newPreviewRoute);\n }\n}\n\nexport function getContextValue(\n name: string,\n { tplStateStoreId }: DataValueOption\n): unknown {\n const runtimeContext = _internalApiGetRuntimeContext()!;\n\n if (tplStateStoreId) {\n const tplStateStore = getTplStateStore(\n {\n ...runtimeContext,\n tplStateStoreId,\n },\n \"STATE\"\n );\n return tplStateStore.getValue(name);\n }\n\n return runtimeContext.ctxStore.getValue(name);\n}\n\nexport function getAllContextValues({\n tplStateStoreId,\n}: DataValueOption): Record<string, unknown> {\n const runtimeContext = _internalApiGetRuntimeContext()!;\n\n if (tplStateStoreId) {\n const tplStateStore = getTplStateStore(\n {\n ...runtimeContext,\n tplStateStoreId,\n },\n \"STATE\"\n );\n return tplStateStore.getAllValues();\n }\n\n return runtimeContext.ctxStore.getAllValues();\n}\n\nexport function getBrickPackagesById(id: string) {\n return getBrickPackages().find((pkg) =>\n pkg.id ? pkg.id === id : pkg.filePath.startsWith(`${id}/`)\n );\n}\n\n/**\n * Support loading v3 bricks only.\n */\nexport function loadBricks(bricks: string[]) {\n return loadBricksImperatively(bricks, getBrickPackages());\n}\n\n/**\n * Try the brick packages passed in, before using from bootstrap.\n */\nexport function loadEditors(\n editors: string[] | Set<string>,\n brickPackages?: BrickPackage[]\n) {\n return loadEditorsImperatively(editors, brickPackages ?? getBrickPackages());\n}\n\nexport function getRenderId() {\n return _internalApiGetRenderId();\n}\n\nexport async function getAddedContracts(\n storyboardPatch: PreviewStoryboardPatch,\n { appId, updateStoryboardType, collectUsedContracts }: PreviewOption\n): Promise<string[]> {\n const storyboard = _internalApiGetStoryboardInBootstrapData(appId);\n let updatedStoryboard;\n\n // 拿到更新部分的 storyboard 配置,然后扫描一遍,找到新增的 contracts\n if (updateStoryboardType === \"route\") {\n updatedStoryboard = {\n routes: [storyboardPatch as RouteConf],\n } as Storyboard;\n } else if (updateStoryboardType === \"template\") {\n updatedStoryboard = {\n meta: {\n customTemplates: [storyboardPatch as CustomTemplate],\n },\n } as Storyboard;\n } else if (updateStoryboardType === \"snippet\") {\n // snippet 是放在挂载 route 里预览,通过 previewPath 拿到当前修改 route\n const snippetPreviewPath = getSnippetPreviewPath(\n (storyboardPatch as RuntimeSnippet).snippetId\n );\n const currentRoute = storyboard?.routes?.find(\n (route) => route.path === snippetPreviewPath\n );\n\n updatedStoryboard = {\n routes: [currentRoute],\n } as Storyboard;\n }\n\n const addedContracts: string[] = [];\n\n if (updatedStoryboard && collectUsedContracts) {\n const contractApis = await collectUsedContracts(updatedStoryboard);\n\n contractApis.forEach((api: string) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [_, namespaceId, name] = api.match(\n /(.*)@(.*):\\d\\.\\d\\.\\d/\n ) as string[];\n\n if (\n !storyboard?.meta?.contracts?.some(\n (contract) =>\n contract.namespaceId === namespaceId && contract.name === name\n )\n ) {\n addedContracts.push(api);\n }\n });\n }\n\n return addedContracts;\n}\n\nexport async function debugDataValue(\n debugData: DebugDataValue,\n { tplStateStoreId, routeId }: DataValueOption\n): Promise<any> {\n const runtimeContext = {\n ..._internalApiGetRuntimeContext()!,\n tplStateStoreId,\n match: getMatchedRoute(routeId as string),\n };\n\n if (debugData.resolve) {\n return resolveData(debugData.resolve!, runtimeContext, { cache: \"reload\" });\n }\n\n return asyncComputeRealValue(debugData.value, runtimeContext);\n}\n\nexport function getLegalRuntimeValue(\n options?: RuntimeDataValueOption\n): RuntimeDataVale {\n const runtimeContext = _internalApiGetRuntimeContext();\n\n return {\n app: runtimeContext?.overrideApp ?? runtimeContext?.app,\n location: pick(location, [\"href\", \"origin\", \"hostname\", \"host\"]),\n ...pick(runtimeContext, [\"query\", \"sys\"]),\n match: getMatchedRoute(options?.routeId as string),\n } as RuntimeDataVale;\n}\n\nexport {\n setRealTimeDataInspectRoot,\n addRealTimeDataInspectHook,\n} from \"./data/realTimeDataInspect.js\";\n"],"mappings":"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","ignoreList":[]}
@@ -10,7 +10,7 @@ export declare class Router {
10
10
  previousApp: MicroApp | undefined;
11
11
  };
12
12
  getNavConfig(): {
13
- breadcrumb?: BreadcrumbItemConf[] | undefined;
13
+ breadcrumb?: BreadcrumbItemConf[];
14
14
  } | undefined;
15
15
  bootstrap(): Promise<void>;
16
16
  }
@@ -94,7 +94,7 @@ export declare class Runtime {
94
94
  toggleLaunchpadEffect(open: boolean): void;
95
95
  applyPageTitle(pageTitle: string): void;
96
96
  getNavConfig(): {
97
- breadcrumb?: import("@next-core/types").BreadcrumbItemConf[] | undefined;
97
+ breadcrumb?: import("@next-core/types").BreadcrumbItemConf[];
98
98
  } | undefined;
99
99
  loadBricks(bricks: string[] | Set<string>): Promise<void>;
100
100
  }
@@ -1 +1 @@
1
- export declare const storyboardFunctions: Readonly<Record<string, Function>>, registerStoryboardFunctions: (functions: import("@next-core/types").StoryboardFunction[] | undefined, app?: import("../../StoryboardFunctionRegistry.js").PartialMicroApp | undefined) => void, checkPermissionsUsage: (functionNames: string[]) => boolean;
1
+ export declare const storyboardFunctions: Readonly<Record<string, Function>>, registerStoryboardFunctions: (functions: import("@next-core/types").StoryboardFunction[] | undefined, app?: import("../../StoryboardFunctionRegistry.js").PartialMicroApp) => void, checkPermissionsUsage: (functionNames: string[]) => boolean;
@@ -1,3 +1,4 @@
1
1
  import { StoryboardFunction } from "@next-core/types";
2
- export declare const widgetFunctions: Readonly<Record<string, Readonly<Record<string, Function>>>>;
2
+ import { ReadonlyStoryboardFunctions } from "../../StoryboardFunctionRegistry.js";
3
+ export declare const widgetFunctions: Readonly<Record<string, ReadonlyStoryboardFunctions>>;
3
4
  export declare const registerWidgetFunctions: (widgetId: string, functions: StoryboardFunction[], widgetVersion?: string) => void;
@@ -1,4 +1,3 @@
1
- /// <reference path="../../../../../../declarations/global.d.ts" />
2
1
  import type { BatchUpdateContextItem, BrickEventHandlerCallback, ContextConf, RouteConf } from "@next-core/types";
3
2
  import EventTarget from "@ungap/event-target";
4
3
  import { ResolveOptions } from "./resolveData.js";
@@ -1,4 +1,3 @@
1
- /// <reference path="../../../../../declarations/global.d.ts" />
2
1
  import EventTarget from "@ungap/event-target";
3
2
  export interface Media {
4
3
  breakpoint?: MediaBreakpoint;
@@ -1,4 +1,4 @@
1
- import type { BrickConf, CustomTemplate, RouteConf, Storyboard, UseSingleBrickConf, ContextConf } from "@next-core/types";
1
+ import type { BrickConf, CustomTemplate, RouteConf, Storyboard, UseSingleBrickConf, ContextConf, BrickPackage } from "@next-core/types";
2
2
  import { RendererContext } from "./RendererContext.js";
3
3
  import type { DataStore } from "./data/DataStore.js";
4
4
  import type { DataValueOption, PreviewOption, PreviewStoryboardPatch, RenderRoot, RuntimeContext, DebugDataValue, RuntimeDataVale, RuntimeDataValueOption } from "./interfaces.js";
@@ -33,12 +33,15 @@ export declare function updateStoryboardBySnippet(appId: string, snippetData: {
33
33
  export declare const updateSnippetPreviewSettings: typeof updateStoryboardBySnippet;
34
34
  export declare function getContextValue(name: string, { tplStateStoreId }: DataValueOption): unknown;
35
35
  export declare function getAllContextValues({ tplStateStoreId, }: DataValueOption): Record<string, unknown>;
36
- export declare function getBrickPackagesById(id: string): import("@next-core/types").BrickPackage | undefined;
36
+ export declare function getBrickPackagesById(id: string): BrickPackage | undefined;
37
37
  /**
38
38
  * Support loading v3 bricks only.
39
39
  */
40
40
  export declare function loadBricks(bricks: string[]): Promise<void>;
41
- export declare function loadEditors(editors: string[] | Set<string>): Promise<void>;
41
+ /**
42
+ * Try the brick packages passed in, before using from bootstrap.
43
+ */
44
+ export declare function loadEditors(editors: string[] | Set<string>, brickPackages?: BrickPackage[]): Promise<void>;
42
45
  export declare function getRenderId(): string | undefined;
43
46
  export declare function getAddedContracts(storyboardPatch: PreviewStoryboardPatch, { appId, updateStoryboardType, collectUsedContracts }: PreviewOption): Promise<string[]>;
44
47
  export declare function debugDataValue(debugData: DebugDataValue, { tplStateStoreId, routeId }: DataValueOption): Promise<any>;
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.46.2"
8
+ "packageVersion": "7.47.0"
9
9
  }
10
10
  ]
11
11
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@next-core/runtime",
3
- "version": "1.49.4",
3
+ "version": "1.49.6",
4
4
  "homepage": "https://github.com/easyops-cn/next-core/tree/v3/packages/runtime",
5
5
  "license": "GPL-3.0",
6
6
  "repository": {
@@ -45,14 +45,14 @@
45
45
  },
46
46
  "dependencies": {
47
47
  "@next-core/color-theme": "^0.4.8",
48
- "@next-core/cook": "^2.4.3",
49
- "@next-core/http": "^1.2.4",
50
- "@next-core/i18n": "^1.0.54",
51
- "@next-core/inject": "^1.0.37",
52
- "@next-core/loader": "^1.6.1",
53
- "@next-core/supply": "^2.1.18",
54
- "@next-core/types": "^1.11.1",
55
- "@next-core/utils": "^1.7.12",
48
+ "@next-core/cook": "^2.4.4",
49
+ "@next-core/http": "^1.2.5",
50
+ "@next-core/i18n": "^1.0.55",
51
+ "@next-core/inject": "^1.0.38",
52
+ "@next-core/loader": "^1.6.2",
53
+ "@next-core/supply": "^2.1.19",
54
+ "@next-core/types": "^1.11.2",
55
+ "@next-core/utils": "^1.7.13",
56
56
  "@ungap/event-target": "^0.2.4",
57
57
  "compare-versions": "^6.1.0",
58
58
  "history": "^4.10.1",
@@ -61,11 +61,11 @@
61
61
  "path-to-regexp": "^6.2.2"
62
62
  },
63
63
  "devDependencies": {
64
- "@microsoft/api-extractor": "^7.46.2",
64
+ "@microsoft/api-extractor": "^7.47.0",
65
65
  "@next-api-sdk/api-gateway-sdk": "^1.1.0",
66
66
  "@next-api-sdk/micro-app-sdk": "^1.2.1",
67
- "@next-core/build-next-libs": "^1.0.17",
68
- "@next-core/test-next": "^1.1.3"
67
+ "@next-core/build-next-libs": "^1.0.18",
68
+ "@next-core/test-next": "^1.1.4"
69
69
  },
70
- "gitHead": "838733008da886f6adad51e96c9587fa73be974a"
70
+ "gitHead": "d84d4391ad8b3391d63e251cfdf020464a49e6c9"
71
71
  }