@next-core/runtime 1.20.3 → 1.20.4

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.
@@ -184,11 +184,11 @@ function updateStoryboardBySnippet(appId, snippetData) {
184
184
  var _snippetData$bricks;
185
185
  _updatePreviewSettings(appId, getSnippetPreviewPath(snippetData.snippetId), (_snippetData$bricks = snippetData.bricks) !== null && _snippetData$bricks !== void 0 && _snippetData$bricks.length ? snippetData.bricks : [{
186
186
  brick: "span"
187
- }]);
187
+ }], snippetData.context);
188
188
  }
189
189
  const updateSnippetPreviewSettings = updateStoryboardBySnippet;
190
190
  exports.updateSnippetPreviewSettings = updateSnippetPreviewSettings;
191
- function _updatePreviewSettings(appId, path, bricks) {
191
+ function _updatePreviewSettings(appId, path, bricks, context) {
192
192
  const {
193
193
  routes
194
194
  } = (0, _Runtime._internalApiGetStoryboardInBootstrapData)(appId);
@@ -196,6 +196,7 @@ function _updatePreviewSettings(appId, path, bricks) {
196
196
  const newPreviewRoute = {
197
197
  path,
198
198
  bricks,
199
+ context,
199
200
  menu: false,
200
201
  exact: true
201
202
  };
@@ -1 +1 @@
1
- {"version":3,"file":"secret_internals.js","names":["_loader","require","_lodash","_Runtime","_Renderer","_RendererContext","_mount","_enums","_computeRealValue","_isStrictMode","_CustomTemplates","_registerAppI18n","_utils","renderUseBrick","useBrick","data","_runtimeContext$tplSt","_runtimeContext$formS","_output$node","tplStateStoreScope","formStateStoreScope","runtimeContext","_internalApiGetRuntimeContext","pendingPermissionsPreCheck","tplStateStoreMap","Map","formStateStoreMap","rendererContext","RendererContext","renderRoot","tag","RenderTag","ROOT","createPortal","transform","strict","isStrictMode","warnAboutStrictMode","output","renderBrick","properties","flushStableLoadBricks","scopedStores","Promise","all","blockingList","map","store","waitForAll","node","portal","Error","child","tagName","type","mountUseBrick","element","portalRoot","document","querySelector","createElement","appendChild","mountTree","handleAsyncAfterMount","dispatchOnMount","initializeScrollIntoView","initializeMediaChange","initializeMessageDispatcher","unmountUseBrick","mountResult","unmountTree","remove","dispatchOnUnmount","dispose","legacyDoTransform","to","options","computeRealValue","noInject","updateStoryboard","appId","storyboardPatch","storyboard","_internalApiGetStoryboardInBootstrapData","Object","assign","$$fulfilling","$$fulfilled","$$registerCustomTemplateProcessed","registerAppI18n","updateStoryboardByRoute","newRoute","match","getKey","route","path","exact","replaceRoute","routes","key","routeKey","unshift","updateStoryboardByTemplate","newTemplate","settings","tplName","name","customTemplates","define","bricks","proxy","state","updateTemplatePreviewSettings","templateId","_updatePreviewSettings","brick","pick","getSnippetPreviewPath","snippetId","updateStoryboardBySnippet","snippetData","_snippetData$bricks","length","updateSnippetPreviewSettings","exports","previewRouteIndex","findIndex","newPreviewRoute","menu","splice","getContextValue","tplStateStoreId","tplStateStore","getTplStateStore","getValue","ctxStore","getAllContextValues","getAllValues","getBrickPackagesById","id","getBrickPackages","find","pkg","filePath","startsWith","getRenderId","_internalApiGetRenderId","getAddedContracts","updateStoryboardType","provider","collectContractProvider","updatedStoryboard","meta","_storyboard$routes","snippetPreviewPath","currentRoute","addedContracts","loadBricksImperatively","contractApis","resolve","forEach","api","_storyboard$meta","_","namespaceId","contracts","some","contract","push"],"sources":["../../../src/internal/secret_internals.ts"],"sourcesContent":["import type {\n BrickConf,\n CustomTemplate,\n RouteConf,\n Storyboard,\n UseSingleBrickConf,\n RuntimeSnippet,\n} from \"@next-core/types\";\nimport {\n flushStableLoadBricks,\n loadBricksImperatively,\n} from \"@next-core/loader\";\nimport { pick } from \"lodash\";\nimport {\n _internalApiGetRenderId,\n _internalApiGetRuntimeContext,\n _internalApiGetStoryboardInBootstrapData,\n getBrickPackages,\n} from \"./Runtime.js\";\nimport { renderBrick } from \"./Renderer.js\";\nimport { RendererContext } from \"./RendererContext.js\";\nimport type { DataStore } from \"./data/DataStore.js\";\nimport type {\n DataValueOption,\n PreviewOption,\n PreviewStoryboardPatch,\n RenderRoot,\n RuntimeContext,\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\";\n\nexport type { DataValueOption, RuntimeContext } from \"./interfaces.js\";\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: UseSingleBrickConf,\n data: unknown\n): Promise<RenderUseBrickResult> {\n const tplStateStoreScope: DataStore<\"STATE\">[] = [];\n const formStateStoreScope: DataStore<\"FORM_STATE\">[] = [];\n const runtimeContext: RuntimeContext = {\n ..._internalApiGetRuntimeContext()!,\n data,\n pendingPermissionsPreCheck: [],\n tplStateStoreScope,\n formStateStoreScope,\n };\n\n runtimeContext.tplStateStoreMap ??= new Map();\n runtimeContext.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\n ? useBrick\n : {\n ...useBrick,\n properties: {\n ...useBrick.properties,\n ...transform,\n },\n },\n runtimeContext,\n rendererContext\n );\n\n flushStableLoadBricks();\n\n const scopedStores: DataStore<\"STATE\" | \"FORM_STATE\">[] = [\n ...tplStateStoreScope,\n ...formStateStoreScope,\n ];\n\n await Promise.all([\n ...output.blockingList,\n // Wait for local tpl state stores belong to current `useBrick` only.\n ...scopedStores.map((store) => store.waitForAll()),\n ...runtimeContext.pendingPermissionsPreCheck,\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 for (const store of scopedStores) {\n store.handleAsyncAfterMount();\n }\n\n rendererContext.dispatchOnMount();\n rendererContext.initializeScrollIntoView();\n rendererContext.initializeMediaChange();\n rendererContext.initializeMessageDispatcher();\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 $$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(settings, \"properties\", \"events\", \"lifeCycle\", \"context\"),\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 }\n): void {\n _updatePreviewSettings(\n appId,\n getSnippetPreviewPath(snippetData.snippetId),\n snippetData.bricks?.length ? snippetData.bricks : [{ brick: \"span\" }]\n );\n}\n\nexport const updateSnippetPreviewSettings = updateStoryboardBySnippet;\n\nfunction _updatePreviewSettings(\n appId: string,\n path: string,\n bricks: BrickConf[]\n) {\n const { routes } = _internalApiGetStoryboardInBootstrapData(appId)!;\n const previewRouteIndex = routes.findIndex((route) => route.path === path);\n const newPreviewRoute: RouteConf = {\n path,\n bricks,\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\nexport function getRenderId() {\n return _internalApiGetRenderId();\n}\n\nexport async function getAddedContracts(\n storyboardPatch: PreviewStoryboardPatch,\n {\n appId,\n updateStoryboardType,\n provider: collectContractProvider,\n }: 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 && collectContractProvider) {\n await loadBricksImperatively([collectContractProvider], getBrickPackages());\n\n const provider = document.createElement(collectContractProvider) as any;\n const contractApis = await provider.resolve(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"],"mappings":"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"}
1
+ {"version":3,"file":"secret_internals.js","names":["_loader","require","_lodash","_Runtime","_Renderer","_RendererContext","_mount","_enums","_computeRealValue","_isStrictMode","_CustomTemplates","_registerAppI18n","_utils","renderUseBrick","useBrick","data","_runtimeContext$tplSt","_runtimeContext$formS","_output$node","tplStateStoreScope","formStateStoreScope","runtimeContext","_internalApiGetRuntimeContext","pendingPermissionsPreCheck","tplStateStoreMap","Map","formStateStoreMap","rendererContext","RendererContext","renderRoot","tag","RenderTag","ROOT","createPortal","transform","strict","isStrictMode","warnAboutStrictMode","output","renderBrick","properties","flushStableLoadBricks","scopedStores","Promise","all","blockingList","map","store","waitForAll","node","portal","Error","child","tagName","type","mountUseBrick","element","portalRoot","document","querySelector","createElement","appendChild","mountTree","handleAsyncAfterMount","dispatchOnMount","initializeScrollIntoView","initializeMediaChange","initializeMessageDispatcher","unmountUseBrick","mountResult","unmountTree","remove","dispatchOnUnmount","dispose","legacyDoTransform","to","options","computeRealValue","noInject","updateStoryboard","appId","storyboardPatch","storyboard","_internalApiGetStoryboardInBootstrapData","Object","assign","$$fulfilling","$$fulfilled","$$registerCustomTemplateProcessed","registerAppI18n","updateStoryboardByRoute","newRoute","match","getKey","route","path","exact","replaceRoute","routes","key","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","exports","previewRouteIndex","findIndex","newPreviewRoute","menu","splice","getContextValue","tplStateStoreId","tplStateStore","getTplStateStore","getValue","ctxStore","getAllContextValues","getAllValues","getBrickPackagesById","id","getBrickPackages","find","pkg","filePath","startsWith","getRenderId","_internalApiGetRenderId","getAddedContracts","updateStoryboardType","provider","collectContractProvider","updatedStoryboard","meta","_storyboard$routes","snippetPreviewPath","currentRoute","addedContracts","loadBricksImperatively","contractApis","resolve","forEach","api","_storyboard$meta","_","namespaceId","contracts","some","contract","push"],"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 {\n flushStableLoadBricks,\n loadBricksImperatively,\n} from \"@next-core/loader\";\nimport { pick } from \"lodash\";\nimport {\n _internalApiGetRenderId,\n _internalApiGetRuntimeContext,\n _internalApiGetStoryboardInBootstrapData,\n getBrickPackages,\n} from \"./Runtime.js\";\nimport { renderBrick } from \"./Renderer.js\";\nimport { RendererContext } from \"./RendererContext.js\";\nimport type { DataStore } from \"./data/DataStore.js\";\nimport type {\n DataValueOption,\n PreviewOption,\n PreviewStoryboardPatch,\n RenderRoot,\n RuntimeContext,\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\";\n\nexport type { DataValueOption, RuntimeContext } from \"./interfaces.js\";\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: UseSingleBrickConf,\n data: unknown\n): Promise<RenderUseBrickResult> {\n const tplStateStoreScope: DataStore<\"STATE\">[] = [];\n const formStateStoreScope: DataStore<\"FORM_STATE\">[] = [];\n const runtimeContext: RuntimeContext = {\n ..._internalApiGetRuntimeContext()!,\n data,\n pendingPermissionsPreCheck: [],\n tplStateStoreScope,\n formStateStoreScope,\n };\n\n runtimeContext.tplStateStoreMap ??= new Map();\n runtimeContext.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\n ? useBrick\n : {\n ...useBrick,\n properties: {\n ...useBrick.properties,\n ...transform,\n },\n },\n runtimeContext,\n rendererContext\n );\n\n flushStableLoadBricks();\n\n const scopedStores: DataStore<\"STATE\" | \"FORM_STATE\">[] = [\n ...tplStateStoreScope,\n ...formStateStoreScope,\n ];\n\n await Promise.all([\n ...output.blockingList,\n // Wait for local tpl state stores belong to current `useBrick` only.\n ...scopedStores.map((store) => store.waitForAll()),\n ...runtimeContext.pendingPermissionsPreCheck,\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 for (const store of scopedStores) {\n store.handleAsyncAfterMount();\n }\n\n rendererContext.dispatchOnMount();\n rendererContext.initializeScrollIntoView();\n rendererContext.initializeMediaChange();\n rendererContext.initializeMessageDispatcher();\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 $$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(settings, \"properties\", \"events\", \"lifeCycle\", \"context\"),\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\nexport function getRenderId() {\n return _internalApiGetRenderId();\n}\n\nexport async function getAddedContracts(\n storyboardPatch: PreviewStoryboardPatch,\n {\n appId,\n updateStoryboardType,\n provider: collectContractProvider,\n }: 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 && collectContractProvider) {\n await loadBricksImperatively([collectContractProvider], getBrickPackages());\n\n const provider = document.createElement(collectContractProvider) as any;\n const contractApis = await provider.resolve(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"],"mappings":"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"}
@@ -166,10 +166,10 @@ export function updateStoryboardBySnippet(appId, snippetData) {
166
166
  var _snippetData$bricks;
167
167
  _updatePreviewSettings(appId, getSnippetPreviewPath(snippetData.snippetId), (_snippetData$bricks = snippetData.bricks) !== null && _snippetData$bricks !== void 0 && _snippetData$bricks.length ? snippetData.bricks : [{
168
168
  brick: "span"
169
- }]);
169
+ }], snippetData.context);
170
170
  }
171
171
  export var updateSnippetPreviewSettings = updateStoryboardBySnippet;
172
- function _updatePreviewSettings(appId, path, bricks) {
172
+ function _updatePreviewSettings(appId, path, bricks, context) {
173
173
  var {
174
174
  routes
175
175
  } = _internalApiGetStoryboardInBootstrapData(appId);
@@ -177,6 +177,7 @@ function _updatePreviewSettings(appId, path, bricks) {
177
177
  var newPreviewRoute = {
178
178
  path,
179
179
  bricks,
180
+ context,
180
181
  menu: false,
181
182
  exact: true
182
183
  };
@@ -1 +1 @@
1
- {"version":3,"file":"secret_internals.js","names":["flushStableLoadBricks","loadBricksImperatively","pick","_internalApiGetRenderId","_internalApiGetRuntimeContext","_internalApiGetStoryboardInBootstrapData","getBrickPackages","renderBrick","RendererContext","mountTree","unmountTree","RenderTag","computeRealValue","isStrictMode","warnAboutStrictMode","customTemplates","registerAppI18n","getTplStateStore","renderUseBrick","_x","_x2","_renderUseBrick","apply","arguments","_asyncToGenerator","useBrick","data","_runtimeContext$tplSt","_runtimeContext$formS","_output$node","tplStateStoreScope","formStateStoreScope","runtimeContext","_objectSpread","pendingPermissionsPreCheck","tplStateStoreMap","Map","formStateStoreMap","rendererContext","renderRoot","tag","ROOT","createPortal","transform","strict","output","properties","scopedStores","Promise","all","blockingList","map","store","waitForAll","node","portal","Error","child","tagName","type","mountUseBrick","_ref","element","portalRoot","document","querySelector","createElement","appendChild","handleAsyncAfterMount","dispatchOnMount","initializeScrollIntoView","initializeMediaChange","initializeMessageDispatcher","unmountUseBrick","_ref2","mountResult","remove","dispatchOnUnmount","dispose","legacyDoTransform","to","options","noInject","updateStoryboard","appId","storyboardPatch","storyboard","Object","assign","$$fulfilling","$$fulfilled","$$registerCustomTemplateProcessed","updateStoryboardByRoute","newRoute","match","getKey","route","concat","path","exact","replaceRoute","routes","key","routeKey","unshift","updateStoryboardByTemplate","newTemplate","settings","tplName","name","define","bricks","proxy","state","updateTemplatePreviewSettings","templateId","_updatePreviewSettings","brick","getSnippetPreviewPath","snippetId","updateStoryboardBySnippet","snippetData","_snippetData$bricks","length","updateSnippetPreviewSettings","previewRouteIndex","findIndex","newPreviewRoute","menu","splice","getContextValue","_ref3","tplStateStoreId","tplStateStore","getValue","ctxStore","getAllContextValues","_ref4","getAllValues","getBrickPackagesById","id","find","pkg","filePath","startsWith","getRenderId","getAddedContracts","_x3","_x4","_getAddedContracts","_ref5","updateStoryboardType","provider","collectContractProvider","updatedStoryboard","meta","_storyboard$routes","snippetPreviewPath","currentRoute","addedContracts","contractApis","resolve","forEach","api","_storyboard$meta","_","namespaceId","contracts","some","contract","push"],"sources":["../../../src/internal/secret_internals.ts"],"sourcesContent":["import type {\n BrickConf,\n CustomTemplate,\n RouteConf,\n Storyboard,\n UseSingleBrickConf,\n RuntimeSnippet,\n} from \"@next-core/types\";\nimport {\n flushStableLoadBricks,\n loadBricksImperatively,\n} from \"@next-core/loader\";\nimport { pick } from \"lodash\";\nimport {\n _internalApiGetRenderId,\n _internalApiGetRuntimeContext,\n _internalApiGetStoryboardInBootstrapData,\n getBrickPackages,\n} from \"./Runtime.js\";\nimport { renderBrick } from \"./Renderer.js\";\nimport { RendererContext } from \"./RendererContext.js\";\nimport type { DataStore } from \"./data/DataStore.js\";\nimport type {\n DataValueOption,\n PreviewOption,\n PreviewStoryboardPatch,\n RenderRoot,\n RuntimeContext,\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\";\n\nexport type { DataValueOption, RuntimeContext } from \"./interfaces.js\";\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: UseSingleBrickConf,\n data: unknown\n): Promise<RenderUseBrickResult> {\n const tplStateStoreScope: DataStore<\"STATE\">[] = [];\n const formStateStoreScope: DataStore<\"FORM_STATE\">[] = [];\n const runtimeContext: RuntimeContext = {\n ..._internalApiGetRuntimeContext()!,\n data,\n pendingPermissionsPreCheck: [],\n tplStateStoreScope,\n formStateStoreScope,\n };\n\n runtimeContext.tplStateStoreMap ??= new Map();\n runtimeContext.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\n ? useBrick\n : {\n ...useBrick,\n properties: {\n ...useBrick.properties,\n ...transform,\n },\n },\n runtimeContext,\n rendererContext\n );\n\n flushStableLoadBricks();\n\n const scopedStores: DataStore<\"STATE\" | \"FORM_STATE\">[] = [\n ...tplStateStoreScope,\n ...formStateStoreScope,\n ];\n\n await Promise.all([\n ...output.blockingList,\n // Wait for local tpl state stores belong to current `useBrick` only.\n ...scopedStores.map((store) => store.waitForAll()),\n ...runtimeContext.pendingPermissionsPreCheck,\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 for (const store of scopedStores) {\n store.handleAsyncAfterMount();\n }\n\n rendererContext.dispatchOnMount();\n rendererContext.initializeScrollIntoView();\n rendererContext.initializeMediaChange();\n rendererContext.initializeMessageDispatcher();\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 $$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(settings, \"properties\", \"events\", \"lifeCycle\", \"context\"),\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 }\n): void {\n _updatePreviewSettings(\n appId,\n getSnippetPreviewPath(snippetData.snippetId),\n snippetData.bricks?.length ? snippetData.bricks : [{ brick: \"span\" }]\n );\n}\n\nexport const updateSnippetPreviewSettings = updateStoryboardBySnippet;\n\nfunction _updatePreviewSettings(\n appId: string,\n path: string,\n bricks: BrickConf[]\n) {\n const { routes } = _internalApiGetStoryboardInBootstrapData(appId)!;\n const previewRouteIndex = routes.findIndex((route) => route.path === path);\n const newPreviewRoute: RouteConf = {\n path,\n bricks,\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\nexport function getRenderId() {\n return _internalApiGetRenderId();\n}\n\nexport async function getAddedContracts(\n storyboardPatch: PreviewStoryboardPatch,\n {\n appId,\n updateStoryboardType,\n provider: collectContractProvider,\n }: 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 && collectContractProvider) {\n await loadBricksImperatively([collectContractProvider], getBrickPackages());\n\n const provider = document.createElement(collectContractProvider) as any;\n const contractApis = await provider.resolve(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"],"mappings":"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"}
1
+ {"version":3,"file":"secret_internals.js","names":["flushStableLoadBricks","loadBricksImperatively","pick","_internalApiGetRenderId","_internalApiGetRuntimeContext","_internalApiGetStoryboardInBootstrapData","getBrickPackages","renderBrick","RendererContext","mountTree","unmountTree","RenderTag","computeRealValue","isStrictMode","warnAboutStrictMode","customTemplates","registerAppI18n","getTplStateStore","renderUseBrick","_x","_x2","_renderUseBrick","apply","arguments","_asyncToGenerator","useBrick","data","_runtimeContext$tplSt","_runtimeContext$formS","_output$node","tplStateStoreScope","formStateStoreScope","runtimeContext","_objectSpread","pendingPermissionsPreCheck","tplStateStoreMap","Map","formStateStoreMap","rendererContext","renderRoot","tag","ROOT","createPortal","transform","strict","output","properties","scopedStores","Promise","all","blockingList","map","store","waitForAll","node","portal","Error","child","tagName","type","mountUseBrick","_ref","element","portalRoot","document","querySelector","createElement","appendChild","handleAsyncAfterMount","dispatchOnMount","initializeScrollIntoView","initializeMediaChange","initializeMessageDispatcher","unmountUseBrick","_ref2","mountResult","remove","dispatchOnUnmount","dispose","legacyDoTransform","to","options","noInject","updateStoryboard","appId","storyboardPatch","storyboard","Object","assign","$$fulfilling","$$fulfilled","$$registerCustomTemplateProcessed","updateStoryboardByRoute","newRoute","match","getKey","route","concat","path","exact","replaceRoute","routes","key","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","tplStateStore","getValue","ctxStore","getAllContextValues","_ref4","getAllValues","getBrickPackagesById","id","find","pkg","filePath","startsWith","getRenderId","getAddedContracts","_x3","_x4","_getAddedContracts","_ref5","updateStoryboardType","provider","collectContractProvider","updatedStoryboard","meta","_storyboard$routes","snippetPreviewPath","currentRoute","addedContracts","contractApis","resolve","forEach","api","_storyboard$meta","_","namespaceId","contracts","some","contract","push"],"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 {\n flushStableLoadBricks,\n loadBricksImperatively,\n} from \"@next-core/loader\";\nimport { pick } from \"lodash\";\nimport {\n _internalApiGetRenderId,\n _internalApiGetRuntimeContext,\n _internalApiGetStoryboardInBootstrapData,\n getBrickPackages,\n} from \"./Runtime.js\";\nimport { renderBrick } from \"./Renderer.js\";\nimport { RendererContext } from \"./RendererContext.js\";\nimport type { DataStore } from \"./data/DataStore.js\";\nimport type {\n DataValueOption,\n PreviewOption,\n PreviewStoryboardPatch,\n RenderRoot,\n RuntimeContext,\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\";\n\nexport type { DataValueOption, RuntimeContext } from \"./interfaces.js\";\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: UseSingleBrickConf,\n data: unknown\n): Promise<RenderUseBrickResult> {\n const tplStateStoreScope: DataStore<\"STATE\">[] = [];\n const formStateStoreScope: DataStore<\"FORM_STATE\">[] = [];\n const runtimeContext: RuntimeContext = {\n ..._internalApiGetRuntimeContext()!,\n data,\n pendingPermissionsPreCheck: [],\n tplStateStoreScope,\n formStateStoreScope,\n };\n\n runtimeContext.tplStateStoreMap ??= new Map();\n runtimeContext.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\n ? useBrick\n : {\n ...useBrick,\n properties: {\n ...useBrick.properties,\n ...transform,\n },\n },\n runtimeContext,\n rendererContext\n );\n\n flushStableLoadBricks();\n\n const scopedStores: DataStore<\"STATE\" | \"FORM_STATE\">[] = [\n ...tplStateStoreScope,\n ...formStateStoreScope,\n ];\n\n await Promise.all([\n ...output.blockingList,\n // Wait for local tpl state stores belong to current `useBrick` only.\n ...scopedStores.map((store) => store.waitForAll()),\n ...runtimeContext.pendingPermissionsPreCheck,\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 for (const store of scopedStores) {\n store.handleAsyncAfterMount();\n }\n\n rendererContext.dispatchOnMount();\n rendererContext.initializeScrollIntoView();\n rendererContext.initializeMediaChange();\n rendererContext.initializeMessageDispatcher();\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 $$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(settings, \"properties\", \"events\", \"lifeCycle\", \"context\"),\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\nexport function getRenderId() {\n return _internalApiGetRenderId();\n}\n\nexport async function getAddedContracts(\n storyboardPatch: PreviewStoryboardPatch,\n {\n appId,\n updateStoryboardType,\n provider: collectContractProvider,\n }: 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 && collectContractProvider) {\n await loadBricksImperatively([collectContractProvider], getBrickPackages());\n\n const provider = document.createElement(collectContractProvider) as any;\n const contractApis = await provider.resolve(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"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { BrickConf, CustomTemplate, RouteConf, Storyboard, UseSingleBrickConf } from "@next-core/types";
1
+ import type { BrickConf, CustomTemplate, RouteConf, Storyboard, UseSingleBrickConf, ContextConf } 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 } from "./interfaces.js";
@@ -24,6 +24,7 @@ export declare function updateTemplatePreviewSettings(appId: string, templateId:
24
24
  export declare function updateStoryboardBySnippet(appId: string, snippetData: {
25
25
  snippetId: string;
26
26
  bricks?: BrickConf[];
27
+ context?: ContextConf[];
27
28
  }): void;
28
29
  export declare const updateSnippetPreviewSettings: typeof updateStoryboardBySnippet;
29
30
  export declare function getContextValue(name: string, { tplStateStoreId }: DataValueOption): unknown;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@next-core/runtime",
3
- "version": "1.20.3",
3
+ "version": "1.20.4",
4
4
  "homepage": "https://github.com/easyops-cn/next-core/tree/v3/packages/runtime",
5
5
  "license": "GPL-3.0",
6
6
  "repository": {
@@ -65,5 +65,5 @@
65
65
  "@next-core/build-next-libs": "^1.0.6",
66
66
  "@next-core/test-next": "^1.0.8"
67
67
  },
68
- "gitHead": "c148ac8ebcdbe0d63b4db544d927c18442ad0bd0"
68
+ "gitHead": "c4c6fd7c4274d8418963e2006ccc790d06a65327"
69
69
  }