remote-components 0.1.2 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{next/config.cjs → config/nextjs.cjs} +76 -101
- package/dist/config/nextjs.cjs.map +1 -0
- package/dist/{next/config.d.ts → config/nextjs.d.ts} +4 -4
- package/dist/{next/config.js → config/nextjs.js} +72 -97
- package/dist/config/nextjs.js.map +1 -0
- package/dist/{webpack.cjs → config/webpack.cjs} +13 -29
- package/dist/config/webpack.cjs.map +1 -0
- package/dist/{webpack.js → config/webpack.js} +12 -28
- package/dist/config/webpack.js.map +1 -0
- package/dist/{shared/remote → host/defaults}/app.cjs +2 -2
- package/dist/host/defaults/app.cjs.map +1 -0
- package/dist/host/defaults/app.js +8 -0
- package/dist/host/defaults/app.js.map +1 -0
- package/dist/{shared/remote → host/defaults}/pages.cjs +2 -2
- package/dist/host/defaults/pages.cjs.map +1 -0
- package/dist/host/defaults/pages.js +8 -0
- package/dist/host/defaults/pages.js.map +1 -0
- package/dist/{html/host.cjs → host/html.cjs} +1012 -1075
- package/dist/host/html.cjs.map +1 -0
- package/dist/{html/host.d.ts → host/html.d.ts} +0 -2
- package/dist/{html/host.js → host/html.js} +1009 -1071
- package/dist/host/html.js.map +1 -0
- package/dist/{next/host/client/index.cjs → host/nextjs/app/client-only.cjs} +681 -617
- package/dist/host/nextjs/app/client-only.cjs.map +1 -0
- package/dist/host/nextjs/app/client-only.d.ts +16 -0
- package/dist/{next/host/client/index.js → host/nextjs/app/client-only.js} +682 -611
- package/dist/host/nextjs/app/client-only.js.map +1 -0
- package/dist/{next/host/app-router-server.cjs → host/nextjs/app.cjs} +11 -10
- package/dist/host/nextjs/app.cjs.map +1 -0
- package/dist/host/nextjs/app.d.ts +29 -0
- package/dist/{next/host/app-router-server.js → host/nextjs/app.js} +7 -6
- package/dist/host/nextjs/app.js.map +1 -0
- package/dist/{next/host/pages-router-client.cjs → host/nextjs/pages/client-only.cjs} +8 -8
- package/dist/host/nextjs/pages/client-only.cjs.map +1 -0
- package/dist/host/nextjs/pages/client-only.d.ts +31 -0
- package/dist/{next/host/pages-router-client.js → host/nextjs/pages/client-only.js} +4 -4
- package/dist/host/nextjs/pages/client-only.js.map +1 -0
- package/dist/{next/host/pages-router-server.cjs → host/nextjs/pages.cjs} +44 -55
- package/dist/host/nextjs/pages.cjs.map +1 -0
- package/dist/{next/host/pages-router-server.d.ts → host/nextjs/pages.d.ts} +11 -13
- package/dist/{next/host/pages-router-server.js → host/nextjs/pages.js} +38 -49
- package/dist/host/nextjs/pages.js.map +1 -0
- package/dist/host/proxy/client.cjs +57 -0
- package/dist/host/proxy/client.cjs.map +1 -0
- package/dist/host/proxy/client.d.ts +31 -0
- package/dist/host/proxy/client.js +30 -0
- package/dist/host/proxy/client.js.map +1 -0
- package/dist/{shared/host/proxy.cjs → host/proxy/protected-fetch.cjs} +6 -6
- package/dist/host/proxy/protected-fetch.cjs.map +1 -0
- package/dist/{shared/host/proxy.js → host/proxy/protected-fetch.js} +3 -3
- package/dist/host/proxy/protected-fetch.js.map +1 -0
- package/dist/{next → host}/proxy.cjs +12 -92
- package/dist/host/proxy.cjs.map +1 -0
- package/dist/host/proxy.d.ts +30 -0
- package/dist/{next → host}/proxy.js +11 -88
- package/dist/host/proxy.js.map +1 -0
- package/dist/{react/index.cjs → host/react.cjs} +515 -548
- package/dist/host/react.cjs.map +1 -0
- package/dist/{component-loader-21865da3.d.ts → host/react.d.ts} +141 -99
- package/dist/{react/index.js → host/react.js} +514 -545
- package/dist/host/react.js.map +1 -0
- package/dist/internal/{webpack/shared-modules.cjs → config/webpack/apply-shared-modules.cjs} +12 -15
- package/dist/internal/config/webpack/apply-shared-modules.cjs.map +1 -0
- package/dist/internal/{webpack/shared-modules.js → config/webpack/apply-shared-modules.js} +9 -12
- package/dist/internal/config/webpack/apply-shared-modules.js.map +1 -0
- package/dist/internal/{webpack → config/webpack}/next-client-pages-loader.cjs +1 -1
- package/dist/internal/config/webpack/next-client-pages-loader.cjs.map +1 -0
- package/dist/internal/{webpack → config/webpack}/next-client-pages-loader.js +1 -1
- package/dist/internal/config/webpack/next-client-pages-loader.js.map +1 -0
- package/dist/internal/{next/host/app-router-client.cjs → host/nextjs/app-client.cjs} +29 -24
- package/dist/internal/host/nextjs/app-client.cjs.map +1 -0
- package/dist/internal/host/nextjs/app-client.d.ts +25 -0
- package/dist/internal/{next/host/app-router-client.js → host/nextjs/app-client.js} +19 -19
- package/dist/internal/host/nextjs/app-client.js.map +1 -0
- package/dist/internal/{next/host/app-router-compat.cjs → host/nextjs/app-compat.cjs} +5 -22
- package/dist/internal/host/nextjs/app-compat.cjs.map +1 -0
- package/dist/internal/{next/host/app-router-compat.d.ts → host/nextjs/app-compat.d.ts} +1 -7
- package/dist/internal/{next/host/app-router-compat.js → host/nextjs/app-compat.js} +2 -18
- package/dist/internal/host/nextjs/app-compat.js.map +1 -0
- package/dist/internal/host/nextjs/dom-flight.cjs.map +1 -0
- package/dist/internal/host/nextjs/dom-flight.d.ts +39 -0
- package/dist/internal/host/nextjs/dom-flight.js.map +1 -0
- package/dist/internal/host/nextjs/image-impl.cjs +60 -0
- package/dist/internal/host/nextjs/image-impl.cjs.map +1 -0
- package/dist/internal/host/nextjs/image-impl.d.ts +10 -0
- package/dist/internal/host/nextjs/image-impl.js +36 -0
- package/dist/internal/host/nextjs/image-impl.js.map +1 -0
- package/dist/internal/host/nextjs/image-shared.cjs +43 -0
- package/dist/internal/host/nextjs/image-shared.cjs.map +1 -0
- package/dist/internal/host/nextjs/image-shared.d.ts +9 -0
- package/dist/internal/host/nextjs/image-shared.js +19 -0
- package/dist/internal/host/nextjs/image-shared.js.map +1 -0
- package/dist/internal/{next/host → host/nextjs}/remote-component-links.cjs +2 -2
- package/dist/internal/host/nextjs/remote-component-links.cjs.map +1 -0
- package/dist/internal/{next/host → host/nextjs}/remote-component-links.d.ts +1 -1
- package/dist/internal/{next/host → host/nextjs}/remote-component-links.js +2 -2
- package/dist/internal/host/nextjs/remote-component-links.js.map +1 -0
- package/dist/internal/host/nextjs/skeleton.cjs.map +1 -0
- package/dist/internal/host/nextjs/skeleton.js.map +1 -0
- package/dist/internal/{react → host/react}/context.cjs +3 -3
- package/dist/internal/host/react/context.cjs.map +1 -0
- package/dist/internal/{react → host/react}/context.d.ts +4 -4
- package/dist/internal/{react → host/react}/context.js +2 -2
- package/dist/internal/host/react/context.js.map +1 -0
- package/dist/internal/{react → host/react}/hooks/use-resolve-client-url.cjs +2 -2
- package/dist/internal/host/react/hooks/use-resolve-client-url.cjs.map +1 -0
- package/dist/internal/{react → host/react}/hooks/use-resolve-client-url.d.ts +1 -1
- package/dist/internal/{react → host/react}/hooks/use-resolve-client-url.js +2 -2
- package/dist/internal/host/react/hooks/use-resolve-client-url.js.map +1 -0
- package/dist/internal/host/server/fetch-headers.cjs.map +1 -0
- package/dist/internal/host/server/fetch-headers.js.map +1 -0
- package/dist/internal/{shared/ssr → host/server}/fetch-remote-component.cjs +6 -6
- package/dist/internal/host/server/fetch-remote-component.cjs.map +1 -0
- package/dist/internal/{shared/ssr → host/server}/fetch-remote-component.d.ts +6 -1
- package/dist/internal/{shared/ssr → host/server}/fetch-remote-component.js +9 -9
- package/dist/internal/host/server/fetch-remote-component.js.map +1 -0
- package/dist/internal/{shared/ssr → host/server}/fetch-with-hooks.cjs +11 -15
- package/dist/internal/host/server/fetch-with-hooks.cjs.map +1 -0
- package/dist/internal/host/server/fetch-with-hooks.d.ts +21 -0
- package/dist/internal/{shared/ssr → host/server}/fetch-with-hooks.js +11 -15
- package/dist/internal/host/server/fetch-with-hooks.js.map +1 -0
- package/dist/internal/host/server/get-client-or-server-url.cjs.map +1 -0
- package/dist/internal/host/server/get-client-or-server-url.js.map +1 -0
- package/dist/internal/{shared/client → host/server}/get-client-src.cjs +1 -1
- package/dist/internal/host/server/get-client-src.cjs.map +1 -0
- package/dist/internal/{shared/client → host/server}/get-client-src.js +1 -1
- package/dist/internal/host/server/get-client-src.js.map +1 -0
- package/dist/internal/host/server/get-ssr-relative-path-base-url.cjs.map +1 -0
- package/dist/internal/host/server/get-ssr-relative-path-base-url.js.map +1 -0
- package/dist/{next/remote/server.cjs → internal/host/server/types.cjs} +3 -15
- package/dist/internal/host/server/types.cjs.map +1 -0
- package/dist/internal/host/server/types.d.ts +33 -0
- package/dist/internal/host/server/types.js +1 -0
- package/dist/internal/host/server/types.js.map +1 -0
- package/dist/internal/host/shared/asset-descriptors.cjs +17 -0
- package/dist/internal/host/shared/asset-descriptors.cjs.map +1 -0
- package/dist/internal/host/shared/asset-descriptors.d.ts +21 -0
- package/dist/internal/host/shared/asset-descriptors.js +1 -0
- package/dist/internal/host/shared/asset-descriptors.js.map +1 -0
- package/dist/internal/host/shared/config.cjs +17 -0
- package/dist/internal/host/shared/config.cjs.map +1 -0
- package/dist/{host-config-58cdccea.d.ts → internal/host/shared/config.d.ts} +32 -19
- package/dist/internal/host/shared/config.js +1 -0
- package/dist/internal/host/shared/config.js.map +1 -0
- package/dist/internal/host/shared/fetch-interceptors.cjs +17 -0
- package/dist/internal/host/shared/fetch-interceptors.cjs.map +1 -0
- package/dist/{types-2b26a246.d.ts → internal/host/shared/fetch-interceptors.d.ts} +4 -87
- package/dist/internal/host/shared/fetch-interceptors.js +1 -0
- package/dist/internal/host/shared/fetch-interceptors.js.map +1 -0
- package/dist/internal/{shared/client → host/shared}/polyfill.cjs +7 -6
- package/dist/internal/host/shared/polyfill.cjs.map +1 -0
- package/dist/internal/{shared/client → host/shared}/polyfill.d.ts +2 -1
- package/dist/internal/{shared/client → host/shared}/polyfill.js +7 -6
- package/dist/internal/host/shared/polyfill.js.map +1 -0
- package/dist/internal/host/shared/resolved-data.cjs +17 -0
- package/dist/internal/host/shared/resolved-data.cjs.map +1 -0
- package/dist/internal/host/shared/resolved-data.d.ts +48 -0
- package/dist/internal/host/shared/resolved-data.js +1 -0
- package/dist/internal/host/shared/resolved-data.js.map +1 -0
- package/dist/internal/{shared/contract/host-state.cjs → host/shared/state.cjs} +4 -4
- package/dist/internal/host/shared/state.cjs.map +1 -0
- package/dist/internal/{shared/contract/host-state.js → host/shared/state.js} +1 -1
- package/dist/internal/host/shared/state.js.map +1 -0
- package/dist/internal/host/utils/resolve-name-from-src.cjs.map +1 -0
- package/dist/internal/host/utils/resolve-name-from-src.js.map +1 -0
- package/dist/internal/{next/remote/render-client.cjs → remote/nextjs/app-client.cjs} +8 -8
- package/dist/internal/remote/nextjs/app-client.cjs.map +1 -0
- package/dist/internal/{next/remote/render-client.js → remote/nextjs/app-client.js} +4 -4
- package/dist/internal/remote/nextjs/app-client.js.map +1 -0
- package/dist/internal/runtime/constants.cjs +50 -0
- package/dist/internal/runtime/constants.cjs.map +1 -0
- package/dist/internal/runtime/constants.d.ts +10 -0
- package/dist/internal/runtime/constants.js +20 -0
- package/dist/internal/runtime/constants.js.map +1 -0
- package/dist/internal/{shared/client → runtime/html}/apply-origin.cjs.map +1 -1
- package/dist/internal/{shared/client → runtime/html}/apply-origin.d.ts +1 -1
- package/dist/internal/{shared/client → runtime/html}/apply-origin.js.map +1 -1
- package/dist/internal/runtime/html/parse-remote-html.cjs +140 -0
- package/dist/internal/runtime/html/parse-remote-html.cjs.map +1 -0
- package/dist/internal/runtime/html/parse-remote-html.d.ts +88 -0
- package/dist/internal/runtime/html/parse-remote-html.js +110 -0
- package/dist/internal/runtime/html/parse-remote-html.js.map +1 -0
- package/dist/internal/runtime/html/set-attributes-from-props.cjs +68 -0
- package/dist/internal/runtime/html/set-attributes-from-props.cjs.map +1 -0
- package/dist/internal/runtime/html/set-attributes-from-props.d.ts +3 -0
- package/dist/internal/runtime/html/set-attributes-from-props.js +44 -0
- package/dist/internal/runtime/html/set-attributes-from-props.js.map +1 -0
- package/dist/internal/runtime/loaders/component-loader.cjs +184 -0
- package/dist/internal/runtime/loaders/component-loader.cjs.map +1 -0
- package/dist/internal/runtime/loaders/component-loader.d.ts +31 -0
- package/dist/internal/runtime/loaders/component-loader.js +150 -0
- package/dist/internal/runtime/loaders/component-loader.js.map +1 -0
- package/dist/internal/runtime/loaders/script-loader.cjs +69 -0
- package/dist/internal/runtime/loaders/script-loader.cjs.map +1 -0
- package/dist/internal/runtime/loaders/script-loader.d.ts +10 -0
- package/dist/internal/runtime/loaders/script-loader.js +48 -0
- package/dist/internal/runtime/loaders/script-loader.js.map +1 -0
- package/dist/internal/runtime/loaders/static-loader.cjs +177 -0
- package/dist/internal/runtime/loaders/static-loader.cjs.map +1 -0
- package/dist/internal/runtime/loaders/static-loader.d.ts +10 -0
- package/dist/internal/runtime/loaders/static-loader.js +153 -0
- package/dist/internal/runtime/loaders/static-loader.js.map +1 -0
- package/dist/internal/runtime/metadata.cjs +17 -0
- package/dist/internal/runtime/metadata.cjs.map +1 -0
- package/dist/internal/runtime/metadata.d.ts +16 -0
- package/dist/internal/runtime/metadata.js +1 -0
- package/dist/internal/runtime/metadata.js.map +1 -0
- package/dist/internal/runtime/rsc.cjs +92 -0
- package/dist/internal/runtime/rsc.cjs.map +1 -0
- package/dist/internal/runtime/rsc.d.ts +8 -0
- package/dist/internal/runtime/rsc.js +68 -0
- package/dist/internal/runtime/rsc.js.map +1 -0
- package/dist/internal/runtime/turbopack/chunk-loader.cjs +244 -0
- package/dist/internal/runtime/turbopack/chunk-loader.cjs.map +1 -0
- package/dist/internal/runtime/turbopack/chunk-loader.d.ts +11 -0
- package/dist/internal/runtime/turbopack/chunk-loader.js +227 -0
- package/dist/internal/runtime/turbopack/chunk-loader.js.map +1 -0
- package/dist/internal/runtime/turbopack/module.cjs +257 -0
- package/dist/internal/runtime/turbopack/module.cjs.map +1 -0
- package/dist/internal/runtime/turbopack/module.d.ts +61 -0
- package/dist/internal/runtime/turbopack/module.js +233 -0
- package/dist/internal/runtime/turbopack/module.js.map +1 -0
- package/dist/internal/runtime/turbopack/patterns.cjs +44 -0
- package/dist/internal/runtime/turbopack/patterns.cjs.map +1 -0
- package/dist/internal/runtime/turbopack/patterns.d.ts +109 -0
- package/dist/internal/runtime/turbopack/patterns.js +15 -0
- package/dist/internal/runtime/turbopack/patterns.js.map +1 -0
- package/dist/internal/runtime/turbopack/shared-modules.cjs +152 -0
- package/dist/internal/runtime/turbopack/shared-modules.cjs.map +1 -0
- package/dist/internal/runtime/turbopack/shared-modules.d.ts +17 -0
- package/dist/internal/runtime/turbopack/shared-modules.js +133 -0
- package/dist/internal/runtime/turbopack/shared-modules.js.map +1 -0
- package/dist/internal/runtime/turbopack/webpack-runtime.cjs +137 -0
- package/dist/internal/runtime/turbopack/webpack-runtime.cjs.map +1 -0
- package/dist/internal/runtime/turbopack/webpack-runtime.d.ts +20 -0
- package/dist/internal/runtime/turbopack/webpack-runtime.js +107 -0
- package/dist/internal/runtime/turbopack/webpack-runtime.js.map +1 -0
- package/dist/internal/runtime/types.cjs +17 -0
- package/dist/internal/runtime/types.cjs.map +1 -0
- package/dist/internal/runtime/types.d.ts +40 -0
- package/dist/internal/runtime/types.js +1 -0
- package/dist/internal/runtime/types.js.map +1 -0
- package/dist/internal/{shared/client → runtime/url}/default-resolve-client-url.cjs +2 -2
- package/dist/internal/runtime/url/default-resolve-client-url.cjs.map +1 -0
- package/dist/internal/{shared/client → runtime/url}/default-resolve-client-url.d.ts +1 -1
- package/dist/internal/{shared/client → runtime/url}/default-resolve-client-url.js +1 -1
- package/dist/internal/runtime/url/default-resolve-client-url.js.map +1 -0
- package/dist/internal/{shared/client → runtime/url}/protected-rc-fallback.cjs +1 -1
- package/dist/internal/runtime/url/protected-rc-fallback.cjs.map +1 -0
- package/dist/internal/{shared/client → runtime/url}/protected-rc-fallback.js +1 -1
- package/dist/internal/runtime/url/protected-rc-fallback.js.map +1 -0
- package/dist/internal/{shared/client/proxy-through-host.cjs → runtime/url/resolve-client-url.cjs} +4 -24
- package/dist/internal/runtime/url/resolve-client-url.cjs.map +1 -0
- package/dist/internal/{shared/client/proxy-through-host.d.ts → runtime/url/resolve-client-url.d.ts} +1 -25
- package/dist/internal/runtime/url/resolve-client-url.js +21 -0
- package/dist/internal/runtime/url/resolve-client-url.js.map +1 -0
- package/dist/internal/utils/abort.cjs.map +1 -0
- package/dist/internal/utils/abort.js.map +1 -0
- package/dist/internal/{shared → utils}/constants.cjs +3 -0
- package/dist/internal/utils/constants.cjs.map +1 -0
- package/dist/internal/utils/constants.d.ts +5 -0
- package/dist/internal/{shared → utils}/constants.js +2 -0
- package/dist/internal/utils/constants.js.map +1 -0
- package/dist/internal/{shared → utils}/error.cjs +4 -4
- package/dist/internal/utils/error.cjs.map +1 -0
- package/dist/internal/{shared → utils}/error.js +4 -4
- package/dist/internal/utils/error.js.map +1 -0
- package/dist/internal/{shared/utils → utils}/logger.cjs +3 -3
- package/dist/internal/utils/logger.cjs.map +1 -0
- package/dist/internal/{shared/utils → utils}/logger.d.ts +2 -2
- package/dist/internal/{shared/utils → utils}/logger.js +3 -3
- package/dist/internal/utils/logger.js.map +1 -0
- package/dist/internal/utils.cjs.map +1 -0
- package/dist/internal/utils.js.map +1 -0
- package/dist/{shared/host → remote/defaults}/app.cjs +2 -6
- package/dist/remote/defaults/app.cjs.map +1 -0
- package/dist/remote/defaults/app.js +8 -0
- package/dist/remote/defaults/app.js.map +1 -0
- package/dist/{shared/host → remote/defaults}/pages.cjs +2 -6
- package/dist/remote/defaults/pages.cjs.map +1 -0
- package/dist/remote/defaults/pages.js +8 -0
- package/dist/remote/defaults/pages.js.map +1 -0
- package/dist/{shared/remote → remote/defaults}/wrapper.cjs +12 -10
- package/dist/remote/defaults/wrapper.cjs.map +1 -0
- package/dist/remote/defaults/wrapper.js +27 -0
- package/dist/remote/defaults/wrapper.js.map +1 -0
- package/dist/{html/remote.cjs → remote/html.cjs} +16 -16
- package/dist/remote/html.cjs.map +1 -0
- package/dist/{html/remote.js → remote/html.js} +16 -16
- package/dist/remote/html.js.map +1 -0
- package/dist/{shared/remote/proxy.cjs → remote/middleware.cjs} +37 -12
- package/dist/remote/middleware.cjs.map +1 -0
- package/dist/remote/middleware.d.ts +27 -0
- package/dist/{shared/remote/proxy.js → remote/middleware.js} +32 -5
- package/dist/remote/middleware.js.map +1 -0
- package/dist/{internal/next/remote/render-server.cjs → remote/nextjs/app.cjs} +14 -16
- package/dist/remote/nextjs/app.cjs.map +1 -0
- package/dist/{internal/next/remote/render-server.d.ts → remote/nextjs/app.d.ts} +12 -13
- package/dist/{internal/next/remote/render-server.js → remote/nextjs/app.js} +9 -11
- package/dist/remote/nextjs/app.js.map +1 -0
- package/dist/{next/remote/pages-router.cjs → remote/nextjs/pages.cjs} +8 -8
- package/dist/remote/nextjs/pages.cjs.map +1 -0
- package/dist/{next/remote/pages-router.d.ts → remote/nextjs/pages.d.ts} +8 -8
- package/dist/{next/remote/pages-router.js → remote/nextjs/pages.js} +4 -4
- package/dist/remote/nextjs/pages.js.map +1 -0
- package/dist/server-handoff-8c89b856.d.ts +46 -0
- package/package.json +126 -157
- package/dist/html/host.cjs.map +0 -1
- package/dist/html/host.js.map +0 -1
- package/dist/html/remote.cjs.map +0 -1
- package/dist/html/remote.js.map +0 -1
- package/dist/internal/next/host/app-router-client.cjs.map +0 -1
- package/dist/internal/next/host/app-router-client.d.ts +0 -79
- package/dist/internal/next/host/app-router-client.js.map +0 -1
- package/dist/internal/next/host/app-router-compat.cjs.map +0 -1
- package/dist/internal/next/host/app-router-compat.js.map +0 -1
- package/dist/internal/next/host/remote-component-links.cjs.map +0 -1
- package/dist/internal/next/host/remote-component-links.js.map +0 -1
- package/dist/internal/next/remote/render-client.cjs.map +0 -1
- package/dist/internal/next/remote/render-client.js.map +0 -1
- package/dist/internal/next/remote/render-server.cjs.map +0 -1
- package/dist/internal/next/remote/render-server.js.map +0 -1
- package/dist/internal/react/context.cjs.map +0 -1
- package/dist/internal/react/context.js.map +0 -1
- package/dist/internal/react/hooks/use-resolve-client-url.cjs.map +0 -1
- package/dist/internal/react/hooks/use-resolve-client-url.js.map +0 -1
- package/dist/internal/shared/client/default-resolve-client-url.cjs.map +0 -1
- package/dist/internal/shared/client/default-resolve-client-url.js.map +0 -1
- package/dist/internal/shared/client/get-client-src.cjs.map +0 -1
- package/dist/internal/shared/client/get-client-src.js.map +0 -1
- package/dist/internal/shared/client/polyfill.cjs.map +0 -1
- package/dist/internal/shared/client/polyfill.js.map +0 -1
- package/dist/internal/shared/client/protected-rc-fallback.cjs.map +0 -1
- package/dist/internal/shared/client/protected-rc-fallback.js.map +0 -1
- package/dist/internal/shared/client/proxy-through-host.cjs.map +0 -1
- package/dist/internal/shared/client/proxy-through-host.js +0 -40
- package/dist/internal/shared/client/proxy-through-host.js.map +0 -1
- package/dist/internal/shared/client/remote-component.cjs +0 -1436
- package/dist/internal/shared/client/remote-component.cjs.map +0 -1
- package/dist/internal/shared/client/remote-component.d.ts +0 -62
- package/dist/internal/shared/client/remote-component.js +0 -1385
- package/dist/internal/shared/client/remote-component.js.map +0 -1
- package/dist/internal/shared/constants.cjs.map +0 -1
- package/dist/internal/shared/constants.d.ts +0 -4
- package/dist/internal/shared/constants.js.map +0 -1
- package/dist/internal/shared/contract/host-state.cjs.map +0 -1
- package/dist/internal/shared/contract/host-state.js.map +0 -1
- package/dist/internal/shared/contract/resolve-name-from-src.cjs.map +0 -1
- package/dist/internal/shared/contract/resolve-name-from-src.js.map +0 -1
- package/dist/internal/shared/error.cjs.map +0 -1
- package/dist/internal/shared/error.js.map +0 -1
- package/dist/internal/shared/ssr/dom-flight.cjs.map +0 -1
- package/dist/internal/shared/ssr/dom-flight.d.ts +0 -2
- package/dist/internal/shared/ssr/dom-flight.js.map +0 -1
- package/dist/internal/shared/ssr/fetch-headers.cjs.map +0 -1
- package/dist/internal/shared/ssr/fetch-headers.js.map +0 -1
- package/dist/internal/shared/ssr/fetch-remote-component.cjs.map +0 -1
- package/dist/internal/shared/ssr/fetch-remote-component.js.map +0 -1
- package/dist/internal/shared/ssr/fetch-with-hooks.cjs.map +0 -1
- package/dist/internal/shared/ssr/fetch-with-hooks.d.ts +0 -56
- package/dist/internal/shared/ssr/fetch-with-hooks.js.map +0 -1
- package/dist/internal/shared/ssr/get-client-or-server-url.cjs.map +0 -1
- package/dist/internal/shared/ssr/get-client-or-server-url.js.map +0 -1
- package/dist/internal/shared/ssr/get-ssr-relative-path-base-url.cjs.map +0 -1
- package/dist/internal/shared/ssr/get-ssr-relative-path-base-url.js.map +0 -1
- package/dist/internal/shared/ssr/skeleton.cjs.map +0 -1
- package/dist/internal/shared/ssr/skeleton.js.map +0 -1
- package/dist/internal/shared/utils/abort.cjs.map +0 -1
- package/dist/internal/shared/utils/abort.js.map +0 -1
- package/dist/internal/shared/utils/logger.cjs.map +0 -1
- package/dist/internal/shared/utils/logger.js.map +0 -1
- package/dist/internal/shared/utils.cjs.map +0 -1
- package/dist/internal/shared/utils.js.map +0 -1
- package/dist/internal/webpack/next-client-pages-loader.cjs.map +0 -1
- package/dist/internal/webpack/next-client-pages-loader.js.map +0 -1
- package/dist/internal/webpack/shared-modules.cjs.map +0 -1
- package/dist/internal/webpack/shared-modules.js.map +0 -1
- package/dist/next/config.cjs.map +0 -1
- package/dist/next/config.js.map +0 -1
- package/dist/next/host/app-router-server.cjs.map +0 -1
- package/dist/next/host/app-router-server.d.ts +0 -30
- package/dist/next/host/app-router-server.js.map +0 -1
- package/dist/next/host/client/index.cjs.map +0 -1
- package/dist/next/host/client/index.d.ts +0 -19
- package/dist/next/host/client/index.js.map +0 -1
- package/dist/next/host/pages-router-client.cjs.map +0 -1
- package/dist/next/host/pages-router-client.d.ts +0 -33
- package/dist/next/host/pages-router-client.js.map +0 -1
- package/dist/next/host/pages-router-server.cjs.map +0 -1
- package/dist/next/host/pages-router-server.js.map +0 -1
- package/dist/next/index.cjs +0 -53
- package/dist/next/index.cjs.map +0 -1
- package/dist/next/index.d.ts +0 -30
- package/dist/next/index.js +0 -19
- package/dist/next/index.js.map +0 -1
- package/dist/next/proxy.cjs.map +0 -1
- package/dist/next/proxy.d.ts +0 -56
- package/dist/next/proxy.js.map +0 -1
- package/dist/next/remote/pages-router.cjs.map +0 -1
- package/dist/next/remote/pages-router.js.map +0 -1
- package/dist/next/remote/server.cjs.map +0 -1
- package/dist/next/remote/server.d.ts +0 -5
- package/dist/next/remote/server.js +0 -5
- package/dist/next/remote/server.js.map +0 -1
- package/dist/proxy-through-host-a676a522.d.ts +0 -52
- package/dist/react/index.cjs.map +0 -1
- package/dist/react/index.d.ts +0 -86
- package/dist/react/index.js.map +0 -1
- package/dist/shared/host/app.cjs.map +0 -1
- package/dist/shared/host/app.js +0 -12
- package/dist/shared/host/app.js.map +0 -1
- package/dist/shared/host/pages.cjs.map +0 -1
- package/dist/shared/host/pages.js +0 -12
- package/dist/shared/host/pages.js.map +0 -1
- package/dist/shared/host/proxy.cjs.map +0 -1
- package/dist/shared/host/proxy.js.map +0 -1
- package/dist/shared/remote/app.cjs.map +0 -1
- package/dist/shared/remote/app.js +0 -8
- package/dist/shared/remote/app.js.map +0 -1
- package/dist/shared/remote/pages.cjs.map +0 -1
- package/dist/shared/remote/pages.js +0 -8
- package/dist/shared/remote/pages.js.map +0 -1
- package/dist/shared/remote/proxy.cjs.map +0 -1
- package/dist/shared/remote/proxy.d.ts +0 -44
- package/dist/shared/remote/proxy.js.map +0 -1
- package/dist/shared/remote/wrapper.cjs.map +0 -1
- package/dist/shared/remote/wrapper.js +0 -25
- package/dist/shared/remote/wrapper.js.map +0 -1
- package/dist/webpack.cjs.map +0 -1
- package/dist/webpack.js.map +0 -1
- /package/dist/{webpack.d.ts → config/webpack.d.ts} +0 -0
- /package/dist/{shared/host → host/defaults}/app.d.ts +0 -0
- /package/dist/{shared/host → host/defaults}/pages.d.ts +0 -0
- /package/dist/{shared/host/proxy.d.ts → host/proxy/protected-fetch.d.ts} +0 -0
- /package/dist/internal/{webpack/shared-modules.d.ts → config/webpack/apply-shared-modules.d.ts} +0 -0
- /package/dist/internal/{webpack → config/webpack}/next-client-pages-loader.d.ts +0 -0
- /package/dist/internal/{shared/ssr → host/nextjs}/dom-flight.cjs +0 -0
- /package/dist/internal/{shared/ssr → host/nextjs}/dom-flight.js +0 -0
- /package/dist/internal/{shared/ssr → host/nextjs}/skeleton.cjs +0 -0
- /package/dist/internal/{shared/ssr → host/nextjs}/skeleton.d.ts +0 -0
- /package/dist/internal/{shared/ssr → host/nextjs}/skeleton.js +0 -0
- /package/dist/internal/{shared/ssr → host/server}/fetch-headers.cjs +0 -0
- /package/dist/internal/{shared/ssr → host/server}/fetch-headers.d.ts +0 -0
- /package/dist/internal/{shared/ssr → host/server}/fetch-headers.js +0 -0
- /package/dist/internal/{shared/ssr → host/server}/get-client-or-server-url.cjs +0 -0
- /package/dist/internal/{shared/ssr → host/server}/get-client-or-server-url.d.ts +0 -0
- /package/dist/internal/{shared/ssr → host/server}/get-client-or-server-url.js +0 -0
- /package/dist/internal/{shared/client → host/server}/get-client-src.d.ts +0 -0
- /package/dist/internal/{shared/ssr → host/server}/get-ssr-relative-path-base-url.cjs +0 -0
- /package/dist/internal/{shared/ssr → host/server}/get-ssr-relative-path-base-url.d.ts +0 -0
- /package/dist/internal/{shared/ssr → host/server}/get-ssr-relative-path-base-url.js +0 -0
- /package/dist/internal/{shared/contract/host-state.d.ts → host/shared/state.d.ts} +0 -0
- /package/dist/internal/{shared/contract → host/utils}/resolve-name-from-src.cjs +0 -0
- /package/dist/internal/{shared/contract → host/utils}/resolve-name-from-src.d.ts +0 -0
- /package/dist/internal/{shared/contract → host/utils}/resolve-name-from-src.js +0 -0
- /package/dist/internal/{next/remote/render-client.d.ts → remote/nextjs/app-client.d.ts} +0 -0
- /package/dist/internal/{shared/client → runtime/html}/apply-origin.cjs +0 -0
- /package/dist/internal/{shared/client → runtime/html}/apply-origin.js +0 -0
- /package/dist/internal/{shared/client → runtime/url}/protected-rc-fallback.d.ts +0 -0
- /package/dist/internal/{shared/utils → utils}/abort.cjs +0 -0
- /package/dist/internal/{shared/utils → utils}/abort.d.ts +0 -0
- /package/dist/internal/{shared/utils → utils}/abort.js +0 -0
- /package/dist/internal/{shared → utils}/error.d.ts +0 -0
- /package/dist/internal/{shared/utils.cjs → utils.cjs} +0 -0
- /package/dist/internal/{shared/utils.d.ts → utils.d.ts} +0 -0
- /package/dist/internal/{shared/utils.js → utils.js} +0 -0
- /package/dist/{shared/remote → remote/defaults}/app.d.ts +0 -0
- /package/dist/{shared/remote → remote/defaults}/pages.d.ts +0 -0
- /package/dist/{shared/remote → remote/defaults}/wrapper.d.ts +0 -0
- /package/dist/{html/remote.d.ts → remote/html.d.ts} +0 -0
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var patterns_exports = {};
|
|
20
|
+
__export(patterns_exports, {
|
|
21
|
+
ASYNC_MODULE_ALL_RE: () => ASYNC_MODULE_ALL_RE,
|
|
22
|
+
ASYNC_MODULE_LOADER_RE: () => ASYNC_MODULE_LOADER_RE,
|
|
23
|
+
ASYNC_MODULE_RESOLVE_RE: () => ASYNC_MODULE_RESOLVE_RE,
|
|
24
|
+
REMOTE_SHARED_ASSIGNMENT_RE: () => REMOTE_SHARED_ASSIGNMENT_RE,
|
|
25
|
+
REMOTE_SHARED_MARKER_RE: () => REMOTE_SHARED_MARKER_RE,
|
|
26
|
+
TURBOPACK_GLOBAL_RE: () => TURBOPACK_GLOBAL_RE
|
|
27
|
+
});
|
|
28
|
+
module.exports = __toCommonJS(patterns_exports);
|
|
29
|
+
const REMOTE_SHARED_MARKER_RE = /(?:self|[a-z])\.TURBOPACK_REMOTE_SHARED/;
|
|
30
|
+
const REMOTE_SHARED_ASSIGNMENT_RE = /\.TURBOPACK_REMOTE_SHARED=await (?:__turbopack_context__|[a-z])\.A\((?<sharedModuleId>[0-9]+)\)/;
|
|
31
|
+
const ASYNC_MODULE_LOADER_RE = /(?:__turbopack_context__|e)\.A\((?<asyncSharedModuleId>[0-9]+)\)/;
|
|
32
|
+
const ASYNC_MODULE_RESOLVE_RE = /(?<ctx>__turbopack_context__|e)=>\{\k<ctx>\.v\((?<inner>parentImport|e)=>Promise\.resolve\(\)\.then\(\(\)=>\k<inner>\((?<sharedModuleId>[0-9]+)\)\)\)\}/;
|
|
33
|
+
const ASYNC_MODULE_ALL_RE = /(?<ctx>__turbopack_context__|e)=>\{\k<ctx>\.v\((?<vCb>parentImport|t)=>Promise\.all\(\["[^"]+"\]\.map\((?<mapCb>chunk|t)=>\k<ctx>\.l\(\k<mapCb>\)\)\)\.then\(\(\)=>\k<vCb>\((?<sharedModuleId>[0-9]+)\)\)\)\}/;
|
|
34
|
+
const TURBOPACK_GLOBAL_RE = /(?:globalThis|self)\s*(?:\.TURBOPACK|\[\s*["']TURBOPACK["']\s*\])/;
|
|
35
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
36
|
+
0 && (module.exports = {
|
|
37
|
+
ASYNC_MODULE_ALL_RE,
|
|
38
|
+
ASYNC_MODULE_LOADER_RE,
|
|
39
|
+
ASYNC_MODULE_RESOLVE_RE,
|
|
40
|
+
REMOTE_SHARED_ASSIGNMENT_RE,
|
|
41
|
+
REMOTE_SHARED_MARKER_RE,
|
|
42
|
+
TURBOPACK_GLOBAL_RE
|
|
43
|
+
});
|
|
44
|
+
//# sourceMappingURL=patterns.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/runtime/turbopack/patterns.ts"],"sourcesContent":["/**\n * Regex patterns for parsing Turbopack's minified and development code.\n *\n * Turbopack outputs different variable names in dev vs production builds:\n * - Development: __turbopack_context__, parentImport, chunk, self\n * - Minified: e, t, etc.\n *\n * These patterns use named capture groups and backreferences to ensure\n * consistency within a single match (e.g., if ctx is 'e', all uses of ctx must be 'e').\n */\n\n/**\n * Matches: self.TURBOPACK_REMOTE_SHARED or e.TURBOPACK_REMOTE_SHARED\n *\n * @example\n * // Development:\n * \"self.TURBOPACK_REMOTE_SHARED=await __turbopack_context__.A(984803)\"\n *\n * // Minified:\n * \"e.TURBOPACK_REMOTE_SHARED=await e.A(984803)\"\n */\nexport const REMOTE_SHARED_MARKER_RE =\n /(?:self|[a-z])\\.TURBOPACK_REMOTE_SHARED/;\n\n/**\n * Extracts the module ID from a TURBOPACK_REMOTE_SHARED assignment.\n *\n * Captures:\n * - `sharedModuleId`: The numeric module ID\n *\n * The minifier can assign any single-letter variable names to both the receiver and\n * the Turbopack context, so both are matched as `[a-z]`.\n *\n * @example\n * // Development:\n * \"self.TURBOPACK_REMOTE_SHARED=await __turbopack_context__.A(984803)\"\n * // -> { sharedModuleId: \"984803\" }\n *\n * // Minified (context as \"e\"):\n * \"t.TURBOPACK_REMOTE_SHARED=await e.A(123456)\"\n * // -> { sharedModuleId: \"123456\" }\n *\n * // Minified (context as \"t\"):\n * \"e.TURBOPACK_REMOTE_SHARED=await t.A(123456)\"\n * // -> { sharedModuleId: \"123456\" }\n */\nexport const REMOTE_SHARED_ASSIGNMENT_RE =\n /\\.TURBOPACK_REMOTE_SHARED=await (?:__turbopack_context__|[a-z])\\.A\\((?<sharedModuleId>[0-9]+)\\)/;\n\n/**\n * Matches async module loader calls: ctx.A(moduleId)\n *\n * Captures:\n * - `asyncSharedModuleId`: The numeric module ID being loaded asynchronously\n *\n * @example\n * // Development:\n * \"() => __turbopack_context__.A(460400)\"\n * // -> { asyncSharedModuleId: \"460400\" }\n *\n * // Minified:\n * \"() => e.A(460400)\"\n * // -> { asyncSharedModuleId: \"460400\" }\n */\nexport const ASYNC_MODULE_LOADER_RE =\n /(?:__turbopack_context__|e)\\.A\\((?<asyncSharedModuleId>[0-9]+)\\)/;\n\n/**\n * Matches async module with Promise.resolve pattern.\n * Used for modules that can be loaded immediately without chunk loading.\n *\n * Captures:\n * - `ctx`: The context variable (__turbopack_context__ or e)\n * - `inner`: The inner callback variable (parentImport or e)\n * - `sharedModuleId`: The numeric module ID\n *\n * @example\n * // Development:\n * \"__turbopack_context__=>{__turbopack_context__.v(parentImport=>Promise.resolve().then(()=>parentImport(633334)))}\"\n * // -> { ctx: \"__turbopack_context__\", inner: \"parentImport\", sharedModuleId: \"633334\" }\n *\n * // Minified:\n * \"e=>{e.v(e=>Promise.resolve().then(()=>e(633334)))}\"\n * // -> { ctx: \"e\", inner: \"e\", sharedModuleId: \"633334\" }\n */\nexport const ASYNC_MODULE_RESOLVE_RE =\n /(?<ctx>__turbopack_context__|e)=>\\{\\k<ctx>\\.v\\((?<inner>parentImport|e)=>Promise\\.resolve\\(\\)\\.then\\(\\(\\)=>\\k<inner>\\((?<sharedModuleId>[0-9]+)\\)\\)\\)\\}/;\n\n/**\n * Matches async module with Promise.all pattern.\n * Used for modules that require loading additional chunks first.\n *\n * Captures:\n * - `ctx`: The context variable (__turbopack_context__ or e)\n * - `vCb`: The callback passed to .v() (parentImport or t)\n * - `mapCb`: The callback passed to .map() (chunk or t)\n * - `sharedModuleId`: The numeric module ID\n *\n * @example\n * // Development:\n * \"__turbopack_context__=>{__turbopack_context__.v(parentImport=>Promise.all([\\\"static/chunks/82dcf883b4ba22f0.js\\\"].map(chunk=>__turbopack_context__.l(chunk))).then(()=>parentImport(657407)))}\"\n * // -> { ctx: \"__turbopack_context__\", vCb: \"parentImport\", mapCb: \"chunk\", sharedModuleId: \"657407\" }\n *\n * // Minified:\n * \"e=>{e.v(t=>Promise.all([\\\"chunk.js\\\"].map(t=>e.l(t))).then(()=>t(633334)))}\"\n * // -> { ctx: \"e\", vCb: \"t\", mapCb: \"t\", sharedModuleId: \"633334\" }\n */\nexport const ASYNC_MODULE_ALL_RE =\n /(?<ctx>__turbopack_context__|e)=>\\{\\k<ctx>\\.v\\((?<vCb>parentImport|t)=>Promise\\.all\\(\\[\"[^\"]+\"\\]\\.map\\((?<mapCb>chunk|t)=>\\k<ctx>\\.l\\(\\k<mapCb>\\)\\)\\)\\.then\\(\\(\\)=>\\k<vCb>\\((?<sharedModuleId>[0-9]+)\\)\\)\\)\\}/;\n\n/**\n * Detects Turbopack runtime global usage in a chunk.\n *\n * Matches either dot-notation or bracket-notation access off `globalThis` or `self`:\n * - globalThis.TURBOPACK / self.TURBOPACK\n * - globalThis[\"TURBOPACK\"] / self['TURBOPACK'] (whitespace tolerated)\n */\nexport const TURBOPACK_GLOBAL_RE =\n /(?:globalThis|self)\\s*(?:\\.TURBOPACK|\\[\\s*[\"']TURBOPACK[\"']\\s*\\])/;\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAqBO,MAAM,0BACX;AAwBK,MAAM,8BACX;AAiBK,MAAM,yBACX;AAoBK,MAAM,0BACX;AAqBK,MAAM,sBACX;AASK,MAAM,sBACX;","names":[]}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Regex patterns for parsing Turbopack's minified and development code.
|
|
3
|
+
*
|
|
4
|
+
* Turbopack outputs different variable names in dev vs production builds:
|
|
5
|
+
* - Development: __turbopack_context__, parentImport, chunk, self
|
|
6
|
+
* - Minified: e, t, etc.
|
|
7
|
+
*
|
|
8
|
+
* These patterns use named capture groups and backreferences to ensure
|
|
9
|
+
* consistency within a single match (e.g., if ctx is 'e', all uses of ctx must be 'e').
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Matches: self.TURBOPACK_REMOTE_SHARED or e.TURBOPACK_REMOTE_SHARED
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* // Development:
|
|
16
|
+
* "self.TURBOPACK_REMOTE_SHARED=await __turbopack_context__.A(984803)"
|
|
17
|
+
*
|
|
18
|
+
* // Minified:
|
|
19
|
+
* "e.TURBOPACK_REMOTE_SHARED=await e.A(984803)"
|
|
20
|
+
*/
|
|
21
|
+
declare const REMOTE_SHARED_MARKER_RE: RegExp;
|
|
22
|
+
/**
|
|
23
|
+
* Extracts the module ID from a TURBOPACK_REMOTE_SHARED assignment.
|
|
24
|
+
*
|
|
25
|
+
* Captures:
|
|
26
|
+
* - `sharedModuleId`: The numeric module ID
|
|
27
|
+
*
|
|
28
|
+
* The minifier can assign any single-letter variable names to both the receiver and
|
|
29
|
+
* the Turbopack context, so both are matched as `[a-z]`.
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* // Development:
|
|
33
|
+
* "self.TURBOPACK_REMOTE_SHARED=await __turbopack_context__.A(984803)"
|
|
34
|
+
* // -> { sharedModuleId: "984803" }
|
|
35
|
+
*
|
|
36
|
+
* // Minified (context as "e"):
|
|
37
|
+
* "t.TURBOPACK_REMOTE_SHARED=await e.A(123456)"
|
|
38
|
+
* // -> { sharedModuleId: "123456" }
|
|
39
|
+
*
|
|
40
|
+
* // Minified (context as "t"):
|
|
41
|
+
* "e.TURBOPACK_REMOTE_SHARED=await t.A(123456)"
|
|
42
|
+
* // -> { sharedModuleId: "123456" }
|
|
43
|
+
*/
|
|
44
|
+
declare const REMOTE_SHARED_ASSIGNMENT_RE: RegExp;
|
|
45
|
+
/**
|
|
46
|
+
* Matches async module loader calls: ctx.A(moduleId)
|
|
47
|
+
*
|
|
48
|
+
* Captures:
|
|
49
|
+
* - `asyncSharedModuleId`: The numeric module ID being loaded asynchronously
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* // Development:
|
|
53
|
+
* "() => __turbopack_context__.A(460400)"
|
|
54
|
+
* // -> { asyncSharedModuleId: "460400" }
|
|
55
|
+
*
|
|
56
|
+
* // Minified:
|
|
57
|
+
* "() => e.A(460400)"
|
|
58
|
+
* // -> { asyncSharedModuleId: "460400" }
|
|
59
|
+
*/
|
|
60
|
+
declare const ASYNC_MODULE_LOADER_RE: RegExp;
|
|
61
|
+
/**
|
|
62
|
+
* Matches async module with Promise.resolve pattern.
|
|
63
|
+
* Used for modules that can be loaded immediately without chunk loading.
|
|
64
|
+
*
|
|
65
|
+
* Captures:
|
|
66
|
+
* - `ctx`: The context variable (__turbopack_context__ or e)
|
|
67
|
+
* - `inner`: The inner callback variable (parentImport or e)
|
|
68
|
+
* - `sharedModuleId`: The numeric module ID
|
|
69
|
+
*
|
|
70
|
+
* @example
|
|
71
|
+
* // Development:
|
|
72
|
+
* "__turbopack_context__=>{__turbopack_context__.v(parentImport=>Promise.resolve().then(()=>parentImport(633334)))}"
|
|
73
|
+
* // -> { ctx: "__turbopack_context__", inner: "parentImport", sharedModuleId: "633334" }
|
|
74
|
+
*
|
|
75
|
+
* // Minified:
|
|
76
|
+
* "e=>{e.v(e=>Promise.resolve().then(()=>e(633334)))}"
|
|
77
|
+
* // -> { ctx: "e", inner: "e", sharedModuleId: "633334" }
|
|
78
|
+
*/
|
|
79
|
+
declare const ASYNC_MODULE_RESOLVE_RE: RegExp;
|
|
80
|
+
/**
|
|
81
|
+
* Matches async module with Promise.all pattern.
|
|
82
|
+
* Used for modules that require loading additional chunks first.
|
|
83
|
+
*
|
|
84
|
+
* Captures:
|
|
85
|
+
* - `ctx`: The context variable (__turbopack_context__ or e)
|
|
86
|
+
* - `vCb`: The callback passed to .v() (parentImport or t)
|
|
87
|
+
* - `mapCb`: The callback passed to .map() (chunk or t)
|
|
88
|
+
* - `sharedModuleId`: The numeric module ID
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
* // Development:
|
|
92
|
+
* "__turbopack_context__=>{__turbopack_context__.v(parentImport=>Promise.all([\"static/chunks/82dcf883b4ba22f0.js\"].map(chunk=>__turbopack_context__.l(chunk))).then(()=>parentImport(657407)))}"
|
|
93
|
+
* // -> { ctx: "__turbopack_context__", vCb: "parentImport", mapCb: "chunk", sharedModuleId: "657407" }
|
|
94
|
+
*
|
|
95
|
+
* // Minified:
|
|
96
|
+
* "e=>{e.v(t=>Promise.all([\"chunk.js\"].map(t=>e.l(t))).then(()=>t(633334)))}"
|
|
97
|
+
* // -> { ctx: "e", vCb: "t", mapCb: "t", sharedModuleId: "633334" }
|
|
98
|
+
*/
|
|
99
|
+
declare const ASYNC_MODULE_ALL_RE: RegExp;
|
|
100
|
+
/**
|
|
101
|
+
* Detects Turbopack runtime global usage in a chunk.
|
|
102
|
+
*
|
|
103
|
+
* Matches either dot-notation or bracket-notation access off `globalThis` or `self`:
|
|
104
|
+
* - globalThis.TURBOPACK / self.TURBOPACK
|
|
105
|
+
* - globalThis["TURBOPACK"] / self['TURBOPACK'] (whitespace tolerated)
|
|
106
|
+
*/
|
|
107
|
+
declare const TURBOPACK_GLOBAL_RE: RegExp;
|
|
108
|
+
|
|
109
|
+
export { ASYNC_MODULE_ALL_RE, ASYNC_MODULE_LOADER_RE, ASYNC_MODULE_RESOLVE_RE, REMOTE_SHARED_ASSIGNMENT_RE, REMOTE_SHARED_MARKER_RE, TURBOPACK_GLOBAL_RE };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
const REMOTE_SHARED_MARKER_RE = /(?:self|[a-z])\.TURBOPACK_REMOTE_SHARED/;
|
|
2
|
+
const REMOTE_SHARED_ASSIGNMENT_RE = /\.TURBOPACK_REMOTE_SHARED=await (?:__turbopack_context__|[a-z])\.A\((?<sharedModuleId>[0-9]+)\)/;
|
|
3
|
+
const ASYNC_MODULE_LOADER_RE = /(?:__turbopack_context__|e)\.A\((?<asyncSharedModuleId>[0-9]+)\)/;
|
|
4
|
+
const ASYNC_MODULE_RESOLVE_RE = /(?<ctx>__turbopack_context__|e)=>\{\k<ctx>\.v\((?<inner>parentImport|e)=>Promise\.resolve\(\)\.then\(\(\)=>\k<inner>\((?<sharedModuleId>[0-9]+)\)\)\)\}/;
|
|
5
|
+
const ASYNC_MODULE_ALL_RE = /(?<ctx>__turbopack_context__|e)=>\{\k<ctx>\.v\((?<vCb>parentImport|t)=>Promise\.all\(\["[^"]+"\]\.map\((?<mapCb>chunk|t)=>\k<ctx>\.l\(\k<mapCb>\)\)\)\.then\(\(\)=>\k<vCb>\((?<sharedModuleId>[0-9]+)\)\)\)\}/;
|
|
6
|
+
const TURBOPACK_GLOBAL_RE = /(?:globalThis|self)\s*(?:\.TURBOPACK|\[\s*["']TURBOPACK["']\s*\])/;
|
|
7
|
+
export {
|
|
8
|
+
ASYNC_MODULE_ALL_RE,
|
|
9
|
+
ASYNC_MODULE_LOADER_RE,
|
|
10
|
+
ASYNC_MODULE_RESOLVE_RE,
|
|
11
|
+
REMOTE_SHARED_ASSIGNMENT_RE,
|
|
12
|
+
REMOTE_SHARED_MARKER_RE,
|
|
13
|
+
TURBOPACK_GLOBAL_RE
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=patterns.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/runtime/turbopack/patterns.ts"],"sourcesContent":["/**\n * Regex patterns for parsing Turbopack's minified and development code.\n *\n * Turbopack outputs different variable names in dev vs production builds:\n * - Development: __turbopack_context__, parentImport, chunk, self\n * - Minified: e, t, etc.\n *\n * These patterns use named capture groups and backreferences to ensure\n * consistency within a single match (e.g., if ctx is 'e', all uses of ctx must be 'e').\n */\n\n/**\n * Matches: self.TURBOPACK_REMOTE_SHARED or e.TURBOPACK_REMOTE_SHARED\n *\n * @example\n * // Development:\n * \"self.TURBOPACK_REMOTE_SHARED=await __turbopack_context__.A(984803)\"\n *\n * // Minified:\n * \"e.TURBOPACK_REMOTE_SHARED=await e.A(984803)\"\n */\nexport const REMOTE_SHARED_MARKER_RE =\n /(?:self|[a-z])\\.TURBOPACK_REMOTE_SHARED/;\n\n/**\n * Extracts the module ID from a TURBOPACK_REMOTE_SHARED assignment.\n *\n * Captures:\n * - `sharedModuleId`: The numeric module ID\n *\n * The minifier can assign any single-letter variable names to both the receiver and\n * the Turbopack context, so both are matched as `[a-z]`.\n *\n * @example\n * // Development:\n * \"self.TURBOPACK_REMOTE_SHARED=await __turbopack_context__.A(984803)\"\n * // -> { sharedModuleId: \"984803\" }\n *\n * // Minified (context as \"e\"):\n * \"t.TURBOPACK_REMOTE_SHARED=await e.A(123456)\"\n * // -> { sharedModuleId: \"123456\" }\n *\n * // Minified (context as \"t\"):\n * \"e.TURBOPACK_REMOTE_SHARED=await t.A(123456)\"\n * // -> { sharedModuleId: \"123456\" }\n */\nexport const REMOTE_SHARED_ASSIGNMENT_RE =\n /\\.TURBOPACK_REMOTE_SHARED=await (?:__turbopack_context__|[a-z])\\.A\\((?<sharedModuleId>[0-9]+)\\)/;\n\n/**\n * Matches async module loader calls: ctx.A(moduleId)\n *\n * Captures:\n * - `asyncSharedModuleId`: The numeric module ID being loaded asynchronously\n *\n * @example\n * // Development:\n * \"() => __turbopack_context__.A(460400)\"\n * // -> { asyncSharedModuleId: \"460400\" }\n *\n * // Minified:\n * \"() => e.A(460400)\"\n * // -> { asyncSharedModuleId: \"460400\" }\n */\nexport const ASYNC_MODULE_LOADER_RE =\n /(?:__turbopack_context__|e)\\.A\\((?<asyncSharedModuleId>[0-9]+)\\)/;\n\n/**\n * Matches async module with Promise.resolve pattern.\n * Used for modules that can be loaded immediately without chunk loading.\n *\n * Captures:\n * - `ctx`: The context variable (__turbopack_context__ or e)\n * - `inner`: The inner callback variable (parentImport or e)\n * - `sharedModuleId`: The numeric module ID\n *\n * @example\n * // Development:\n * \"__turbopack_context__=>{__turbopack_context__.v(parentImport=>Promise.resolve().then(()=>parentImport(633334)))}\"\n * // -> { ctx: \"__turbopack_context__\", inner: \"parentImport\", sharedModuleId: \"633334\" }\n *\n * // Minified:\n * \"e=>{e.v(e=>Promise.resolve().then(()=>e(633334)))}\"\n * // -> { ctx: \"e\", inner: \"e\", sharedModuleId: \"633334\" }\n */\nexport const ASYNC_MODULE_RESOLVE_RE =\n /(?<ctx>__turbopack_context__|e)=>\\{\\k<ctx>\\.v\\((?<inner>parentImport|e)=>Promise\\.resolve\\(\\)\\.then\\(\\(\\)=>\\k<inner>\\((?<sharedModuleId>[0-9]+)\\)\\)\\)\\}/;\n\n/**\n * Matches async module with Promise.all pattern.\n * Used for modules that require loading additional chunks first.\n *\n * Captures:\n * - `ctx`: The context variable (__turbopack_context__ or e)\n * - `vCb`: The callback passed to .v() (parentImport or t)\n * - `mapCb`: The callback passed to .map() (chunk or t)\n * - `sharedModuleId`: The numeric module ID\n *\n * @example\n * // Development:\n * \"__turbopack_context__=>{__turbopack_context__.v(parentImport=>Promise.all([\\\"static/chunks/82dcf883b4ba22f0.js\\\"].map(chunk=>__turbopack_context__.l(chunk))).then(()=>parentImport(657407)))}\"\n * // -> { ctx: \"__turbopack_context__\", vCb: \"parentImport\", mapCb: \"chunk\", sharedModuleId: \"657407\" }\n *\n * // Minified:\n * \"e=>{e.v(t=>Promise.all([\\\"chunk.js\\\"].map(t=>e.l(t))).then(()=>t(633334)))}\"\n * // -> { ctx: \"e\", vCb: \"t\", mapCb: \"t\", sharedModuleId: \"633334\" }\n */\nexport const ASYNC_MODULE_ALL_RE =\n /(?<ctx>__turbopack_context__|e)=>\\{\\k<ctx>\\.v\\((?<vCb>parentImport|t)=>Promise\\.all\\(\\[\"[^\"]+\"\\]\\.map\\((?<mapCb>chunk|t)=>\\k<ctx>\\.l\\(\\k<mapCb>\\)\\)\\)\\.then\\(\\(\\)=>\\k<vCb>\\((?<sharedModuleId>[0-9]+)\\)\\)\\)\\}/;\n\n/**\n * Detects Turbopack runtime global usage in a chunk.\n *\n * Matches either dot-notation or bracket-notation access off `globalThis` or `self`:\n * - globalThis.TURBOPACK / self.TURBOPACK\n * - globalThis[\"TURBOPACK\"] / self['TURBOPACK'] (whitespace tolerated)\n */\nexport const TURBOPACK_GLOBAL_RE =\n /(?:globalThis|self)\\s*(?:\\.TURBOPACK|\\[\\s*[\"']TURBOPACK[\"']\\s*\\])/;\n"],"mappings":"AAqBO,MAAM,0BACX;AAwBK,MAAM,8BACX;AAiBK,MAAM,yBACX;AAoBK,MAAM,0BACX;AAqBK,MAAM,sBACX;AASK,MAAM,sBACX;","names":[]}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var shared_modules_exports = {};
|
|
20
|
+
__export(shared_modules_exports, {
|
|
21
|
+
getSharedModule: () => getSharedModule,
|
|
22
|
+
initializeSharedModules: () => initializeSharedModules
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(shared_modules_exports);
|
|
25
|
+
var import_constants = require("#internal/runtime/constants");
|
|
26
|
+
var import_logger = require("#internal/utils/logger");
|
|
27
|
+
var import_module = require("./module");
|
|
28
|
+
var import_patterns = require("./patterns");
|
|
29
|
+
async function initializeSharedModules(bundle, hostShared = {}, remoteShared = {}) {
|
|
30
|
+
const self = globalThis;
|
|
31
|
+
self.__remote_shared_modules__ = self.__remote_shared_modules__ ?? {};
|
|
32
|
+
if (!self.__remote_shared_modules__[bundle]) {
|
|
33
|
+
self.__remote_shared_modules__[bundle] = {};
|
|
34
|
+
}
|
|
35
|
+
const bundleKey = (0, import_constants.getBundleKey)(bundle);
|
|
36
|
+
let modules = self[`TURBOPACK_${bundleKey}`];
|
|
37
|
+
if (modules && typeof modules === "object" && "__chunks__" in modules) {
|
|
38
|
+
const chunks = modules.__chunks__;
|
|
39
|
+
modules = chunks.flat();
|
|
40
|
+
}
|
|
41
|
+
let sharedModuleInitializer = null;
|
|
42
|
+
if (modules) {
|
|
43
|
+
const allModules = Array.isArray(modules) ? modules.flat() : Object.entries(modules).flat();
|
|
44
|
+
const sharedModuleInitializerIndex = allModules.findIndex((idOrFunc) => {
|
|
45
|
+
if (typeof idOrFunc !== "function") {
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
const funcCode = idOrFunc.toString();
|
|
49
|
+
return import_patterns.REMOTE_SHARED_MARKER_RE.test(funcCode);
|
|
50
|
+
});
|
|
51
|
+
if (sharedModuleInitializerIndex > 0) {
|
|
52
|
+
const sharedModuleInitializerCode = allModules[sharedModuleInitializerIndex].toString();
|
|
53
|
+
const sharedModuleInitializerId = allModules[sharedModuleInitializerIndex - 1];
|
|
54
|
+
const { sharedModuleId } = import_patterns.REMOTE_SHARED_ASSIGNMENT_RE.exec(sharedModuleInitializerCode)?.groups ?? {};
|
|
55
|
+
if (sharedModuleId) {
|
|
56
|
+
const { default: sharedModuleInitializerInstance } = (0, import_module.handleTurbopackModule)(
|
|
57
|
+
bundle,
|
|
58
|
+
sharedModuleId,
|
|
59
|
+
`[${bundle}] ${sharedModuleInitializerId}`
|
|
60
|
+
);
|
|
61
|
+
sharedModuleInitializer = sharedModuleInitializerInstance;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
if (sharedModuleInitializer) {
|
|
65
|
+
const { shared } = await sharedModuleInitializer;
|
|
66
|
+
const sharedModuleIds = extractSharedModuleIds(
|
|
67
|
+
shared,
|
|
68
|
+
bundleKey,
|
|
69
|
+
self
|
|
70
|
+
);
|
|
71
|
+
return Promise.all(
|
|
72
|
+
Object.entries(sharedModuleIds).map(async ([id, module2]) => {
|
|
73
|
+
if (self.__remote_shared_modules__?.[bundle]) {
|
|
74
|
+
if (hostShared[module2]) {
|
|
75
|
+
self.__remote_shared_modules__[bundle][id] = await hostShared[module2](bundle);
|
|
76
|
+
} else {
|
|
77
|
+
(0, import_logger.logError)(
|
|
78
|
+
"SharedModules",
|
|
79
|
+
`Host shared module "${module2}" not found for ID ${id}`
|
|
80
|
+
);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
})
|
|
84
|
+
);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return Promise.all(
|
|
88
|
+
Object.entries(remoteShared).map(async ([id, module2]) => {
|
|
89
|
+
if (self.__remote_shared_modules__?.[bundle]) {
|
|
90
|
+
if (hostShared[module2]) {
|
|
91
|
+
const normalizedId = id.replace("[app-ssr]", "[app-client]");
|
|
92
|
+
self.__remote_shared_modules__[bundle][normalizedId] = await hostShared[module2](bundle);
|
|
93
|
+
} else {
|
|
94
|
+
(0, import_logger.logError)(
|
|
95
|
+
"SharedModules",
|
|
96
|
+
`Shared module "${module2}" not found for "${bundle}"`
|
|
97
|
+
);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
})
|
|
101
|
+
);
|
|
102
|
+
}
|
|
103
|
+
function extractSharedModuleIds(shared, bundleKey, self) {
|
|
104
|
+
return Object.entries(shared).filter(([, value]) => typeof value === "function").reduce((acc, [key, value]) => {
|
|
105
|
+
const { asyncSharedModuleId } = import_patterns.ASYNC_MODULE_LOADER_RE.exec(value.toString())?.groups ?? {};
|
|
106
|
+
if (asyncSharedModuleId) {
|
|
107
|
+
const asyncSharedModuleIdNumber = Number(asyncSharedModuleId);
|
|
108
|
+
let asyncSharedModule;
|
|
109
|
+
let turbopackModules = self[`TURBOPACK_${bundleKey}`];
|
|
110
|
+
if (turbopackModules && typeof turbopackModules === "object" && "__chunks__" in turbopackModules) {
|
|
111
|
+
const chunks = turbopackModules.__chunks__;
|
|
112
|
+
turbopackModules = chunks.flat();
|
|
113
|
+
}
|
|
114
|
+
const newAllModules = Array.isArray(turbopackModules) ? turbopackModules.flat() : turbopackModules ? Object.entries(turbopackModules).flatMap(([key2, value2]) => [
|
|
115
|
+
key2,
|
|
116
|
+
value2
|
|
117
|
+
]) : [];
|
|
118
|
+
const asyncSharedModuleIdIndex = newAllModules.indexOf(
|
|
119
|
+
asyncSharedModuleIdNumber
|
|
120
|
+
);
|
|
121
|
+
if (asyncSharedModuleIdIndex !== -1 && typeof newAllModules[asyncSharedModuleIdIndex + 1] === "function") {
|
|
122
|
+
asyncSharedModule = newAllModules[asyncSharedModuleIdIndex + 1];
|
|
123
|
+
}
|
|
124
|
+
if (asyncSharedModule) {
|
|
125
|
+
const asyncSharedModuleCode = asyncSharedModule.toString();
|
|
126
|
+
const { sharedModuleId } = import_patterns.ASYNC_MODULE_RESOLVE_RE.exec(asyncSharedModuleCode)?.groups ?? import_patterns.ASYNC_MODULE_ALL_RE.exec(asyncSharedModuleCode)?.groups ?? {};
|
|
127
|
+
acc[sharedModuleId ?? asyncSharedModuleId] = key.replace(
|
|
128
|
+
"__remote_shared_module_",
|
|
129
|
+
""
|
|
130
|
+
);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
return acc;
|
|
134
|
+
}, {});
|
|
135
|
+
}
|
|
136
|
+
function getSharedModule(bundle, id) {
|
|
137
|
+
const self = globalThis;
|
|
138
|
+
for (const [key, value] of Object.entries(
|
|
139
|
+
self.__remote_shared_modules__?.[bundle] ?? {}
|
|
140
|
+
)) {
|
|
141
|
+
if (typeof value !== "undefined" && (typeof id === "string" && id.includes(key) || id === key)) {
|
|
142
|
+
return value;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
return null;
|
|
146
|
+
}
|
|
147
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
148
|
+
0 && (module.exports = {
|
|
149
|
+
getSharedModule,
|
|
150
|
+
initializeSharedModules
|
|
151
|
+
});
|
|
152
|
+
//# sourceMappingURL=shared-modules.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/runtime/turbopack/shared-modules.ts"],"sourcesContent":["import { getBundleKey } from '#internal/runtime/constants';\nimport type { GlobalScope } from '#internal/runtime/types';\nimport { logError } from '#internal/utils/logger';\nimport { handleTurbopackModule } from './module';\nimport {\n ASYNC_MODULE_ALL_RE,\n ASYNC_MODULE_LOADER_RE,\n ASYNC_MODULE_RESOLVE_RE,\n REMOTE_SHARED_ASSIGNMENT_RE,\n REMOTE_SHARED_MARKER_RE,\n} from './patterns';\n\n/**\n * Initializes shared modules between the host application and remote components.\n * This enables sharing of common dependencies like React to avoid duplicate instances.\n *\n * The function works by:\n * 1. Looking for a shared module initializer in the Turbopack bundle\n * 2. Extracting module IDs from the initializer\n * 3. Loading the corresponding host modules and mapping them to the remote's expected IDs\n */\nexport async function initializeSharedModules(\n bundle: string,\n hostShared: Record<string, (bundle?: string) => Promise<unknown>> = {},\n remoteShared: Record<string, string> = {},\n // biome-ignore lint/suspicious/noConfusingVoidType: Runtime is undefined but in TS land service it is void\n): Promise<void[]> {\n const self = globalThis as GlobalScope & {\n __next_f?: unknown[];\n };\n self.__remote_shared_modules__ = self.__remote_shared_modules__ ?? {};\n\n if (!self.__remote_shared_modules__[bundle]) {\n self.__remote_shared_modules__[bundle] = {};\n }\n\n // prepare to load shared module initializers from the Turbopack bundle\n const bundleKey = getBundleKey(bundle);\n let modules = self[`TURBOPACK_${bundleKey}`] as\n | [unknown, Record<string, unknown>][]\n | Record<string, unknown>\n | undefined;\n\n // Check for new push-based format with __chunks__\n if (modules && typeof modules === 'object' && '__chunks__' in modules) {\n const chunks = (modules as { __chunks__: unknown[][] }).__chunks__;\n // Flatten chunks into module array format\n modules = chunks.flat() as [unknown, Record<string, unknown>][];\n }\n let sharedModuleInitializer: Promise<{\n shared: Record<string, string | (() => Promise<unknown>)>;\n }> | null = null;\n\n // find the shared module initializer in the Turbopack bundle\n if (modules) {\n // Handle both array and object formats for modules\n const allModules = Array.isArray(modules)\n ? modules.flat()\n : Object.entries(modules).flat();\n // find the shared module initializer module id by looking for\n // a function that contains the TURBOPACK_REMOTE_SHARED pattern\n const sharedModuleInitializerIndex = allModules.findIndex((idOrFunc) => {\n if (typeof idOrFunc !== 'function') {\n return false;\n }\n const funcCode = idOrFunc.toString();\n return REMOTE_SHARED_MARKER_RE.test(funcCode);\n });\n\n // if found, extract the shared module initializer\n // first element in the array is always the source script element\n if (sharedModuleInitializerIndex > 0) {\n const sharedModuleInitializerCode = (\n allModules[sharedModuleInitializerIndex] as () => unknown\n ).toString();\n const sharedModuleInitializerId = allModules[\n sharedModuleInitializerIndex - 1\n ] as string | number;\n // extract the shared module id from the function code\n const { sharedModuleId } =\n REMOTE_SHARED_ASSIGNMENT_RE.exec(sharedModuleInitializerCode)?.groups ??\n {};\n // load the shared module initializer using the extracted module id\n if (sharedModuleId) {\n const { default: sharedModuleInitializerInstance } =\n handleTurbopackModule(\n bundle,\n sharedModuleId,\n `[${bundle}] ${sharedModuleInitializerId}`,\n ) as {\n default: Promise<{\n shared: Record<string, string | (() => Promise<unknown>)>;\n }>;\n };\n sharedModuleInitializer = sharedModuleInitializerInstance;\n }\n }\n\n // if we have a shared module initializer, load the shared modules from the host application\n if (sharedModuleInitializer) {\n const { shared } = await sharedModuleInitializer;\n // map shared module ids to their initializer functions\n const sharedModuleIds = extractSharedModuleIds(\n shared,\n bundleKey,\n self as GlobalScope,\n );\n\n // load shared modules from the host application\n return Promise.all(\n Object.entries(sharedModuleIds).map(async ([id, module]) => {\n if (self.__remote_shared_modules__?.[bundle]) {\n if (hostShared[module]) {\n self.__remote_shared_modules__[bundle][id] =\n await hostShared[module](bundle);\n } else {\n logError(\n 'SharedModules',\n `Host shared module \"${module}\" not found for ID ${id}`,\n );\n }\n }\n }),\n );\n }\n }\n\n // fallback: ensure that the shared modules are initialized using remoteShared mapping\n return Promise.all(\n Object.entries(remoteShared).map(async ([id, module]) => {\n if (self.__remote_shared_modules__?.[bundle]) {\n if (hostShared[module]) {\n const normalizedId = id.replace('[app-ssr]', '[app-client]');\n self.__remote_shared_modules__[bundle][normalizedId] =\n await hostShared[module](bundle);\n } else {\n logError(\n 'SharedModules',\n `Shared module \"${module}\" not found for \"${bundle}\"`,\n );\n }\n }\n }),\n );\n}\n\n/**\n * Extracts shared module IDs from the shared module initializer functions.\n * This parses the minified Turbopack code to find the module ID mappings.\n */\nfunction extractSharedModuleIds(\n shared: Record<string, string | (() => Promise<unknown>)>,\n bundleKey: string,\n self: GlobalScope,\n): Record<string, string> {\n return Object.entries(shared)\n .filter(([, value]) => typeof value === 'function')\n .reduce<Record<string, string>>((acc, [key, value]) => {\n const { asyncSharedModuleId } =\n ASYNC_MODULE_LOADER_RE.exec(value.toString())?.groups ?? {};\n\n if (asyncSharedModuleId) {\n const asyncSharedModuleIdNumber = Number(asyncSharedModuleId);\n\n let asyncSharedModule;\n let turbopackModules = self[`TURBOPACK_${bundleKey}`] as\n | unknown[]\n | Record<string, unknown>\n | undefined;\n\n // Check for new push-based format with __chunks__\n if (\n turbopackModules &&\n typeof turbopackModules === 'object' &&\n '__chunks__' in turbopackModules\n ) {\n const chunks = (turbopackModules as { __chunks__: unknown[][] })\n .__chunks__;\n turbopackModules = chunks.flat() as unknown[];\n }\n\n const newAllModules = Array.isArray(turbopackModules)\n ? turbopackModules.flat()\n : turbopackModules\n ? Object.entries(turbopackModules).flatMap(([key, value]) => [\n key,\n value,\n ])\n : [];\n const asyncSharedModuleIdIndex = newAllModules.indexOf(\n asyncSharedModuleIdNumber,\n );\n if (\n asyncSharedModuleIdIndex !== -1 &&\n typeof newAllModules[asyncSharedModuleIdIndex + 1] === 'function'\n ) {\n asyncSharedModule = newAllModules[\n asyncSharedModuleIdIndex + 1\n ] as () => unknown;\n }\n if (asyncSharedModule) {\n const asyncSharedModuleCode = asyncSharedModule.toString();\n // Try both Promise.resolve and Promise.all patterns\n const { sharedModuleId } =\n ASYNC_MODULE_RESOLVE_RE.exec(asyncSharedModuleCode)?.groups ??\n ASYNC_MODULE_ALL_RE.exec(asyncSharedModuleCode)?.groups ??\n {};\n // map the shared module id to the actual module name\n acc[sharedModuleId ?? asyncSharedModuleId] = key.replace(\n '__remote_shared_module_',\n '',\n );\n }\n }\n return acc;\n }, {});\n}\n\n/**\n * Returns a shared module for the given bundle and module ID.\n * Shared modules are common dependencies like React that are provided by the host.\n */\nexport function getSharedModule(bundle: string, id: string | number): unknown {\n const self = globalThis as {\n __remote_shared_modules__?: Record<string, Record<string, unknown>>;\n };\n\n for (const [key, value] of Object.entries(\n self.__remote_shared_modules__?.[bundle] ?? {},\n )) {\n if (\n typeof value !== 'undefined' &&\n ((typeof id === 'string' && id.includes(key)) || id === key)\n ) {\n return value;\n }\n }\n return null;\n}\n"],"mappings":"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","names":["module","key","value"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Initializes shared modules between the host application and remote components.
|
|
3
|
+
* This enables sharing of common dependencies like React to avoid duplicate instances.
|
|
4
|
+
*
|
|
5
|
+
* The function works by:
|
|
6
|
+
* 1. Looking for a shared module initializer in the Turbopack bundle
|
|
7
|
+
* 2. Extracting module IDs from the initializer
|
|
8
|
+
* 3. Loading the corresponding host modules and mapping them to the remote's expected IDs
|
|
9
|
+
*/
|
|
10
|
+
declare function initializeSharedModules(bundle: string, hostShared?: Record<string, (bundle?: string) => Promise<unknown>>, remoteShared?: Record<string, string>): Promise<void[]>;
|
|
11
|
+
/**
|
|
12
|
+
* Returns a shared module for the given bundle and module ID.
|
|
13
|
+
* Shared modules are common dependencies like React that are provided by the host.
|
|
14
|
+
*/
|
|
15
|
+
declare function getSharedModule(bundle: string, id: string | number): unknown;
|
|
16
|
+
|
|
17
|
+
export { getSharedModule, initializeSharedModules };
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { getBundleKey } from "#internal/runtime/constants";
|
|
2
|
+
import { logError } from "#internal/utils/logger";
|
|
3
|
+
import { handleTurbopackModule } from "./module";
|
|
4
|
+
import {
|
|
5
|
+
ASYNC_MODULE_ALL_RE,
|
|
6
|
+
ASYNC_MODULE_LOADER_RE,
|
|
7
|
+
ASYNC_MODULE_RESOLVE_RE,
|
|
8
|
+
REMOTE_SHARED_ASSIGNMENT_RE,
|
|
9
|
+
REMOTE_SHARED_MARKER_RE
|
|
10
|
+
} from "./patterns";
|
|
11
|
+
async function initializeSharedModules(bundle, hostShared = {}, remoteShared = {}) {
|
|
12
|
+
const self = globalThis;
|
|
13
|
+
self.__remote_shared_modules__ = self.__remote_shared_modules__ ?? {};
|
|
14
|
+
if (!self.__remote_shared_modules__[bundle]) {
|
|
15
|
+
self.__remote_shared_modules__[bundle] = {};
|
|
16
|
+
}
|
|
17
|
+
const bundleKey = getBundleKey(bundle);
|
|
18
|
+
let modules = self[`TURBOPACK_${bundleKey}`];
|
|
19
|
+
if (modules && typeof modules === "object" && "__chunks__" in modules) {
|
|
20
|
+
const chunks = modules.__chunks__;
|
|
21
|
+
modules = chunks.flat();
|
|
22
|
+
}
|
|
23
|
+
let sharedModuleInitializer = null;
|
|
24
|
+
if (modules) {
|
|
25
|
+
const allModules = Array.isArray(modules) ? modules.flat() : Object.entries(modules).flat();
|
|
26
|
+
const sharedModuleInitializerIndex = allModules.findIndex((idOrFunc) => {
|
|
27
|
+
if (typeof idOrFunc !== "function") {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
const funcCode = idOrFunc.toString();
|
|
31
|
+
return REMOTE_SHARED_MARKER_RE.test(funcCode);
|
|
32
|
+
});
|
|
33
|
+
if (sharedModuleInitializerIndex > 0) {
|
|
34
|
+
const sharedModuleInitializerCode = allModules[sharedModuleInitializerIndex].toString();
|
|
35
|
+
const sharedModuleInitializerId = allModules[sharedModuleInitializerIndex - 1];
|
|
36
|
+
const { sharedModuleId } = REMOTE_SHARED_ASSIGNMENT_RE.exec(sharedModuleInitializerCode)?.groups ?? {};
|
|
37
|
+
if (sharedModuleId) {
|
|
38
|
+
const { default: sharedModuleInitializerInstance } = handleTurbopackModule(
|
|
39
|
+
bundle,
|
|
40
|
+
sharedModuleId,
|
|
41
|
+
`[${bundle}] ${sharedModuleInitializerId}`
|
|
42
|
+
);
|
|
43
|
+
sharedModuleInitializer = sharedModuleInitializerInstance;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
if (sharedModuleInitializer) {
|
|
47
|
+
const { shared } = await sharedModuleInitializer;
|
|
48
|
+
const sharedModuleIds = extractSharedModuleIds(
|
|
49
|
+
shared,
|
|
50
|
+
bundleKey,
|
|
51
|
+
self
|
|
52
|
+
);
|
|
53
|
+
return Promise.all(
|
|
54
|
+
Object.entries(sharedModuleIds).map(async ([id, module]) => {
|
|
55
|
+
if (self.__remote_shared_modules__?.[bundle]) {
|
|
56
|
+
if (hostShared[module]) {
|
|
57
|
+
self.__remote_shared_modules__[bundle][id] = await hostShared[module](bundle);
|
|
58
|
+
} else {
|
|
59
|
+
logError(
|
|
60
|
+
"SharedModules",
|
|
61
|
+
`Host shared module "${module}" not found for ID ${id}`
|
|
62
|
+
);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
})
|
|
66
|
+
);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return Promise.all(
|
|
70
|
+
Object.entries(remoteShared).map(async ([id, module]) => {
|
|
71
|
+
if (self.__remote_shared_modules__?.[bundle]) {
|
|
72
|
+
if (hostShared[module]) {
|
|
73
|
+
const normalizedId = id.replace("[app-ssr]", "[app-client]");
|
|
74
|
+
self.__remote_shared_modules__[bundle][normalizedId] = await hostShared[module](bundle);
|
|
75
|
+
} else {
|
|
76
|
+
logError(
|
|
77
|
+
"SharedModules",
|
|
78
|
+
`Shared module "${module}" not found for "${bundle}"`
|
|
79
|
+
);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
})
|
|
83
|
+
);
|
|
84
|
+
}
|
|
85
|
+
function extractSharedModuleIds(shared, bundleKey, self) {
|
|
86
|
+
return Object.entries(shared).filter(([, value]) => typeof value === "function").reduce((acc, [key, value]) => {
|
|
87
|
+
const { asyncSharedModuleId } = ASYNC_MODULE_LOADER_RE.exec(value.toString())?.groups ?? {};
|
|
88
|
+
if (asyncSharedModuleId) {
|
|
89
|
+
const asyncSharedModuleIdNumber = Number(asyncSharedModuleId);
|
|
90
|
+
let asyncSharedModule;
|
|
91
|
+
let turbopackModules = self[`TURBOPACK_${bundleKey}`];
|
|
92
|
+
if (turbopackModules && typeof turbopackModules === "object" && "__chunks__" in turbopackModules) {
|
|
93
|
+
const chunks = turbopackModules.__chunks__;
|
|
94
|
+
turbopackModules = chunks.flat();
|
|
95
|
+
}
|
|
96
|
+
const newAllModules = Array.isArray(turbopackModules) ? turbopackModules.flat() : turbopackModules ? Object.entries(turbopackModules).flatMap(([key2, value2]) => [
|
|
97
|
+
key2,
|
|
98
|
+
value2
|
|
99
|
+
]) : [];
|
|
100
|
+
const asyncSharedModuleIdIndex = newAllModules.indexOf(
|
|
101
|
+
asyncSharedModuleIdNumber
|
|
102
|
+
);
|
|
103
|
+
if (asyncSharedModuleIdIndex !== -1 && typeof newAllModules[asyncSharedModuleIdIndex + 1] === "function") {
|
|
104
|
+
asyncSharedModule = newAllModules[asyncSharedModuleIdIndex + 1];
|
|
105
|
+
}
|
|
106
|
+
if (asyncSharedModule) {
|
|
107
|
+
const asyncSharedModuleCode = asyncSharedModule.toString();
|
|
108
|
+
const { sharedModuleId } = ASYNC_MODULE_RESOLVE_RE.exec(asyncSharedModuleCode)?.groups ?? ASYNC_MODULE_ALL_RE.exec(asyncSharedModuleCode)?.groups ?? {};
|
|
109
|
+
acc[sharedModuleId ?? asyncSharedModuleId] = key.replace(
|
|
110
|
+
"__remote_shared_module_",
|
|
111
|
+
""
|
|
112
|
+
);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
return acc;
|
|
116
|
+
}, {});
|
|
117
|
+
}
|
|
118
|
+
function getSharedModule(bundle, id) {
|
|
119
|
+
const self = globalThis;
|
|
120
|
+
for (const [key, value] of Object.entries(
|
|
121
|
+
self.__remote_shared_modules__?.[bundle] ?? {}
|
|
122
|
+
)) {
|
|
123
|
+
if (typeof value !== "undefined" && (typeof id === "string" && id.includes(key) || id === key)) {
|
|
124
|
+
return value;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
return null;
|
|
128
|
+
}
|
|
129
|
+
export {
|
|
130
|
+
getSharedModule,
|
|
131
|
+
initializeSharedModules
|
|
132
|
+
};
|
|
133
|
+
//# sourceMappingURL=shared-modules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/runtime/turbopack/shared-modules.ts"],"sourcesContent":["import { getBundleKey } from '#internal/runtime/constants';\nimport type { GlobalScope } from '#internal/runtime/types';\nimport { logError } from '#internal/utils/logger';\nimport { handleTurbopackModule } from './module';\nimport {\n ASYNC_MODULE_ALL_RE,\n ASYNC_MODULE_LOADER_RE,\n ASYNC_MODULE_RESOLVE_RE,\n REMOTE_SHARED_ASSIGNMENT_RE,\n REMOTE_SHARED_MARKER_RE,\n} from './patterns';\n\n/**\n * Initializes shared modules between the host application and remote components.\n * This enables sharing of common dependencies like React to avoid duplicate instances.\n *\n * The function works by:\n * 1. Looking for a shared module initializer in the Turbopack bundle\n * 2. Extracting module IDs from the initializer\n * 3. Loading the corresponding host modules and mapping them to the remote's expected IDs\n */\nexport async function initializeSharedModules(\n bundle: string,\n hostShared: Record<string, (bundle?: string) => Promise<unknown>> = {},\n remoteShared: Record<string, string> = {},\n // biome-ignore lint/suspicious/noConfusingVoidType: Runtime is undefined but in TS land service it is void\n): Promise<void[]> {\n const self = globalThis as GlobalScope & {\n __next_f?: unknown[];\n };\n self.__remote_shared_modules__ = self.__remote_shared_modules__ ?? {};\n\n if (!self.__remote_shared_modules__[bundle]) {\n self.__remote_shared_modules__[bundle] = {};\n }\n\n // prepare to load shared module initializers from the Turbopack bundle\n const bundleKey = getBundleKey(bundle);\n let modules = self[`TURBOPACK_${bundleKey}`] as\n | [unknown, Record<string, unknown>][]\n | Record<string, unknown>\n | undefined;\n\n // Check for new push-based format with __chunks__\n if (modules && typeof modules === 'object' && '__chunks__' in modules) {\n const chunks = (modules as { __chunks__: unknown[][] }).__chunks__;\n // Flatten chunks into module array format\n modules = chunks.flat() as [unknown, Record<string, unknown>][];\n }\n let sharedModuleInitializer: Promise<{\n shared: Record<string, string | (() => Promise<unknown>)>;\n }> | null = null;\n\n // find the shared module initializer in the Turbopack bundle\n if (modules) {\n // Handle both array and object formats for modules\n const allModules = Array.isArray(modules)\n ? modules.flat()\n : Object.entries(modules).flat();\n // find the shared module initializer module id by looking for\n // a function that contains the TURBOPACK_REMOTE_SHARED pattern\n const sharedModuleInitializerIndex = allModules.findIndex((idOrFunc) => {\n if (typeof idOrFunc !== 'function') {\n return false;\n }\n const funcCode = idOrFunc.toString();\n return REMOTE_SHARED_MARKER_RE.test(funcCode);\n });\n\n // if found, extract the shared module initializer\n // first element in the array is always the source script element\n if (sharedModuleInitializerIndex > 0) {\n const sharedModuleInitializerCode = (\n allModules[sharedModuleInitializerIndex] as () => unknown\n ).toString();\n const sharedModuleInitializerId = allModules[\n sharedModuleInitializerIndex - 1\n ] as string | number;\n // extract the shared module id from the function code\n const { sharedModuleId } =\n REMOTE_SHARED_ASSIGNMENT_RE.exec(sharedModuleInitializerCode)?.groups ??\n {};\n // load the shared module initializer using the extracted module id\n if (sharedModuleId) {\n const { default: sharedModuleInitializerInstance } =\n handleTurbopackModule(\n bundle,\n sharedModuleId,\n `[${bundle}] ${sharedModuleInitializerId}`,\n ) as {\n default: Promise<{\n shared: Record<string, string | (() => Promise<unknown>)>;\n }>;\n };\n sharedModuleInitializer = sharedModuleInitializerInstance;\n }\n }\n\n // if we have a shared module initializer, load the shared modules from the host application\n if (sharedModuleInitializer) {\n const { shared } = await sharedModuleInitializer;\n // map shared module ids to their initializer functions\n const sharedModuleIds = extractSharedModuleIds(\n shared,\n bundleKey,\n self as GlobalScope,\n );\n\n // load shared modules from the host application\n return Promise.all(\n Object.entries(sharedModuleIds).map(async ([id, module]) => {\n if (self.__remote_shared_modules__?.[bundle]) {\n if (hostShared[module]) {\n self.__remote_shared_modules__[bundle][id] =\n await hostShared[module](bundle);\n } else {\n logError(\n 'SharedModules',\n `Host shared module \"${module}\" not found for ID ${id}`,\n );\n }\n }\n }),\n );\n }\n }\n\n // fallback: ensure that the shared modules are initialized using remoteShared mapping\n return Promise.all(\n Object.entries(remoteShared).map(async ([id, module]) => {\n if (self.__remote_shared_modules__?.[bundle]) {\n if (hostShared[module]) {\n const normalizedId = id.replace('[app-ssr]', '[app-client]');\n self.__remote_shared_modules__[bundle][normalizedId] =\n await hostShared[module](bundle);\n } else {\n logError(\n 'SharedModules',\n `Shared module \"${module}\" not found for \"${bundle}\"`,\n );\n }\n }\n }),\n );\n}\n\n/**\n * Extracts shared module IDs from the shared module initializer functions.\n * This parses the minified Turbopack code to find the module ID mappings.\n */\nfunction extractSharedModuleIds(\n shared: Record<string, string | (() => Promise<unknown>)>,\n bundleKey: string,\n self: GlobalScope,\n): Record<string, string> {\n return Object.entries(shared)\n .filter(([, value]) => typeof value === 'function')\n .reduce<Record<string, string>>((acc, [key, value]) => {\n const { asyncSharedModuleId } =\n ASYNC_MODULE_LOADER_RE.exec(value.toString())?.groups ?? {};\n\n if (asyncSharedModuleId) {\n const asyncSharedModuleIdNumber = Number(asyncSharedModuleId);\n\n let asyncSharedModule;\n let turbopackModules = self[`TURBOPACK_${bundleKey}`] as\n | unknown[]\n | Record<string, unknown>\n | undefined;\n\n // Check for new push-based format with __chunks__\n if (\n turbopackModules &&\n typeof turbopackModules === 'object' &&\n '__chunks__' in turbopackModules\n ) {\n const chunks = (turbopackModules as { __chunks__: unknown[][] })\n .__chunks__;\n turbopackModules = chunks.flat() as unknown[];\n }\n\n const newAllModules = Array.isArray(turbopackModules)\n ? turbopackModules.flat()\n : turbopackModules\n ? Object.entries(turbopackModules).flatMap(([key, value]) => [\n key,\n value,\n ])\n : [];\n const asyncSharedModuleIdIndex = newAllModules.indexOf(\n asyncSharedModuleIdNumber,\n );\n if (\n asyncSharedModuleIdIndex !== -1 &&\n typeof newAllModules[asyncSharedModuleIdIndex + 1] === 'function'\n ) {\n asyncSharedModule = newAllModules[\n asyncSharedModuleIdIndex + 1\n ] as () => unknown;\n }\n if (asyncSharedModule) {\n const asyncSharedModuleCode = asyncSharedModule.toString();\n // Try both Promise.resolve and Promise.all patterns\n const { sharedModuleId } =\n ASYNC_MODULE_RESOLVE_RE.exec(asyncSharedModuleCode)?.groups ??\n ASYNC_MODULE_ALL_RE.exec(asyncSharedModuleCode)?.groups ??\n {};\n // map the shared module id to the actual module name\n acc[sharedModuleId ?? asyncSharedModuleId] = key.replace(\n '__remote_shared_module_',\n '',\n );\n }\n }\n return acc;\n }, {});\n}\n\n/**\n * Returns a shared module for the given bundle and module ID.\n * Shared modules are common dependencies like React that are provided by the host.\n */\nexport function getSharedModule(bundle: string, id: string | number): unknown {\n const self = globalThis as {\n __remote_shared_modules__?: Record<string, Record<string, unknown>>;\n };\n\n for (const [key, value] of Object.entries(\n self.__remote_shared_modules__?.[bundle] ?? {},\n )) {\n if (\n typeof value !== 'undefined' &&\n ((typeof id === 'string' && id.includes(key)) || id === key)\n ) {\n return value;\n }\n }\n return null;\n}\n"],"mappings":"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","names":["key","value"]}
|