vite-plugin-react-server 0.3.3 → 0.3.5
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/README.md +113 -222
- package/bin/patch.mjs +84 -0
- package/dist/_virtual/sourcemap-codec.umd.js +11 -0
- package/dist/_virtual/sourcemap-codec.umd.js.map +1 -0
- package/dist/_virtual/sourcemap-codec.umd2.js +9 -0
- package/dist/_virtual/sourcemap-codec.umd2.js.map +1 -0
- package/dist/client.d.ts +3 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +7 -0
- package/dist/client.js.map +1 -0
- package/dist/index.d.ts +6 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +32 -3
- package/dist/index.js.map +1 -1
- package/dist/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js +457 -0
- package/dist/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js.map +1 -0
- package/dist/node_modules/magic-string/dist/magic-string.es.js +1283 -0
- package/dist/node_modules/magic-string/dist/magic-string.es.js.map +1 -0
- package/dist/package.json +131 -0
- package/dist/plugin/assertServerCondition.d.ts.map +1 -0
- package/dist/plugin/assertServerCondition.js +15 -0
- package/dist/plugin/build/createClientBuildConfig.d.ts +3 -0
- package/dist/plugin/build/createClientBuildConfig.d.ts.map +1 -0
- package/dist/plugin/build/createClientBuildConfig.js +14 -0
- package/dist/plugin/build/createServerBuildConfig.d.ts +12 -0
- package/dist/plugin/build/createServerBuildConfig.d.ts.map +1 -0
- package/dist/plugin/build/createServerBuildConfig.js +40 -0
- package/dist/plugin/build/createSharedBuildConfig.d.ts +5 -0
- package/dist/plugin/build/createSharedBuildConfig.d.ts.map +1 -0
- package/dist/plugin/build/createSharedBuildConfig.js +28 -0
- package/dist/plugin/build/mergeInputs.d.ts +9 -0
- package/dist/plugin/build/mergeInputs.d.ts.map +1 -0
- package/dist/plugin/build/mergeInputs.js +56 -0
- package/dist/plugin/checkFilesExist.d.ts +3 -0
- package/dist/plugin/checkFilesExist.d.ts.map +1 -0
- package/dist/plugin/checkFilesExist.js +78 -0
- package/dist/plugin/checkFilesExist.js.map +1 -0
- package/dist/{collect-css-manifest.d.ts → plugin/collect-css-manifest.d.ts} +2 -2
- package/dist/plugin/collect-css-manifest.d.ts.map +1 -0
- package/dist/{src → plugin}/collect-css-manifest.js +8 -5
- package/dist/plugin/collect-css-manifest.js.map +1 -0
- package/dist/plugin/components.d.ts.map +1 -0
- package/dist/{src → plugin}/components.js +9 -4
- package/dist/plugin/components.js.map +1 -0
- package/dist/plugin/config/defaults.d.ts +51 -0
- package/dist/plugin/config/defaults.d.ts.map +1 -0
- package/dist/plugin/config/defaults.js +52 -0
- package/dist/plugin/config/defaults.js.map +1 -0
- package/dist/plugin/config/getCondition.d.ts +2 -0
- package/dist/plugin/config/getCondition.d.ts.map +1 -0
- package/dist/plugin/config/getCondition.js +11 -0
- package/dist/plugin/config/getCondition.js.map +1 -0
- package/dist/plugin/config/getPaths.d.ts +5 -0
- package/dist/plugin/config/getPaths.d.ts.map +1 -0
- package/dist/plugin/config/getPaths.js +21 -0
- package/dist/plugin/config/getPaths.js.map +1 -0
- package/dist/plugin/config/getWorkerPath.d.ts +2 -0
- package/dist/plugin/config/getWorkerPath.d.ts.map +1 -0
- package/dist/plugin/config/getWorkerPath.js +4 -0
- package/dist/plugin/config/index.d.ts +8 -0
- package/dist/plugin/config/index.d.ts.map +1 -0
- package/dist/plugin/config/index.js +7 -0
- package/dist/plugin/config/moduleIdDefault.d.ts +8 -0
- package/dist/plugin/config/moduleIdDefault.d.ts.map +1 -0
- package/dist/plugin/config/moduleIdDefault.js +23 -0
- package/dist/plugin/config/moduleIdDefault.js.map +1 -0
- package/dist/plugin/config/resolveOptions.d.ts +9 -0
- package/dist/plugin/config/resolveOptions.d.ts.map +1 -0
- package/dist/plugin/config/resolveOptions.js +56 -0
- package/dist/plugin/config/resolveOptions.js.map +1 -0
- package/dist/plugin/config/resolvePages.d.ts +9 -0
- package/dist/plugin/config/resolvePages.d.ts.map +1 -0
- package/dist/plugin/config/resolvePages.js +38 -0
- package/dist/plugin/config/resolvePages.js.map +1 -0
- package/dist/plugin/config/resolveUserConfig.d.ts +18 -0
- package/dist/plugin/config/resolveUserConfig.d.ts.map +1 -0
- package/dist/plugin/config/resolveUserConfig.js +84 -0
- package/dist/plugin/config/resolveUserConfig.js.map +1 -0
- package/dist/plugin/copy-dir.d.ts.map +1 -0
- package/dist/plugin/copy-dir.js +20 -0
- package/dist/plugin/getCondition.d.ts +2 -0
- package/dist/plugin/getCondition.d.ts.map +1 -0
- package/dist/plugin/getCondition.js +1 -0
- package/dist/plugin/getEnv.d.ts.map +1 -0
- package/dist/plugin/getEnv.js +107 -0
- package/dist/plugin/helpers/createClientInputNormalizer.d.ts +8 -0
- package/dist/plugin/helpers/createClientInputNormalizer.d.ts.map +1 -0
- package/dist/plugin/helpers/createClientInputNormalizer.js +35 -0
- package/dist/plugin/helpers/createServerInputNormalizer.d.ts +9 -0
- package/dist/plugin/helpers/createServerInputNormalizer.d.ts.map +1 -0
- package/dist/plugin/helpers/createServerInputNormalizer.js +37 -0
- package/dist/plugin/helpers/createStaticInputNormalizer.d.ts +7 -0
- package/dist/plugin/helpers/createStaticInputNormalizer.d.ts.map +1 -0
- package/dist/plugin/helpers/createStaticInputNormalizer.js +18 -0
- package/dist/plugin/helpers/getModuleManifest.d.ts +12 -0
- package/dist/plugin/helpers/getModuleManifest.d.ts.map +1 -0
- package/dist/plugin/helpers/getModuleManifest.js +24 -0
- package/dist/plugin/helpers/getModuleManifest.js.map +1 -0
- package/dist/plugin/helpers/inputNormalizer.d.ts +3 -0
- package/dist/plugin/helpers/inputNormalizer.d.ts.map +1 -0
- package/dist/plugin/helpers/inputNormalizer.js +35 -0
- package/dist/plugin/helpers/inputNormalizer.js.map +1 -0
- package/dist/plugin/helpers/inputNormalizerWorker.d.ts +11 -0
- package/dist/plugin/helpers/inputNormalizerWorker.d.ts.map +1 -0
- package/dist/plugin/helpers/inputNormalizerWorker.js +30 -0
- package/dist/plugin/helpers/normalizedRelativePath.d.ts.map +1 -0
- package/dist/plugin/helpers/normalizedRelativePath.js +36 -0
- package/dist/plugin/helpers/resolveFilePath.d.ts +13 -0
- package/dist/plugin/helpers/resolveFilePath.d.ts.map +1 -0
- package/dist/plugin/helpers/resolveFilePath.js +74 -0
- package/dist/plugin/helpers/resolveWorkerModule.d.ts +6 -0
- package/dist/plugin/helpers/resolveWorkerModule.d.ts.map +1 -0
- package/dist/plugin/helpers/resolveWorkerModule.js +24 -0
- package/dist/plugin/helpers/tryManifest.d.ts.map +1 -0
- package/dist/{src → plugin}/helpers/tryManifest.js +11 -6
- package/dist/plugin/helpers/tryManifest.js.map +1 -0
- package/dist/plugin/helpers/validateModuleBase.d.ts +3 -0
- package/dist/plugin/helpers/validateModuleBase.d.ts.map +1 -0
- package/dist/plugin/helpers/validateModuleBase.js +16 -0
- package/dist/plugin/helpers/validateResolvedConfig.d.ts +3 -0
- package/dist/plugin/helpers/validateResolvedConfig.d.ts.map +1 -0
- package/dist/plugin/helpers/validateResolvedConfig.js +17 -0
- package/dist/plugin/index.d.ts +3 -0
- package/dist/plugin/index.d.ts.map +1 -0
- package/dist/plugin/index.js +1 -0
- package/dist/plugin/loader/createBuildLoader.d.ts +9 -0
- package/dist/plugin/loader/createBuildLoader.d.ts.map +1 -0
- package/dist/plugin/loader/createBuildLoader.js +52 -0
- package/dist/plugin/loader/createBuildLoader.js.map +1 -0
- package/dist/plugin/loader/createCssLoader.d.ts +30 -0
- package/dist/plugin/loader/createCssLoader.d.ts.map +1 -0
- package/dist/plugin/loader/createCssLoader.js +35 -0
- package/dist/{html → plugin/loader}/createPageLoader.d.ts +2 -4
- package/dist/plugin/loader/createPageLoader.d.ts.map +1 -0
- package/dist/plugin/loader/createPageLoader.js +57 -0
- package/dist/plugin/manifest.d.ts.map +1 -0
- package/dist/plugin/manifest.js +13 -0
- package/dist/plugin/module-graph.d.ts.map +1 -0
- package/dist/plugin/module-graph.js +35 -0
- package/dist/plugin/plugin.d.ts +7 -0
- package/dist/plugin/plugin.d.ts.map +1 -0
- package/dist/plugin/plugin.js +8 -0
- package/dist/plugin/preserver/index.d.ts +2 -0
- package/dist/plugin/preserver/index.d.ts.map +1 -0
- package/dist/plugin/preserver/index.js +1 -0
- package/dist/plugin/preserver/plugin.d.ts +4 -0
- package/dist/plugin/preserver/plugin.d.ts.map +1 -0
- package/dist/plugin/preserver/plugin.js +90 -0
- package/dist/plugin/preserver/plugin.js.map +1 -0
- package/dist/plugin/react-client/index.d.ts +2 -0
- package/dist/plugin/react-client/index.d.ts.map +1 -0
- package/dist/plugin/react-client/index.js +1 -0
- package/dist/plugin/react-client/plugin.d.ts +4 -0
- package/dist/plugin/react-client/plugin.d.ts.map +1 -0
- package/dist/plugin/react-client/plugin.js +34 -0
- package/dist/plugin/react-client/plugin.js.map +1 -0
- package/dist/plugin/react-server/createDevMiddleware.d.ts.map +1 -0
- package/dist/plugin/react-server/createDevMiddleware.js +68 -0
- package/dist/plugin/react-server/createDevServer.d.ts.map +1 -0
- package/dist/plugin/react-server/createDevServer.js +4 -0
- package/dist/plugin/react-server/createHandler.d.ts +17 -0
- package/dist/plugin/react-server/createHandler.d.ts.map +1 -0
- package/dist/{src → plugin}/react-server/createHandler.js +28 -17
- package/dist/plugin/react-server/createHandler.js.map +1 -0
- package/dist/plugin/react-server/createReactNodeStreamer.d.ts.map +1 -0
- package/dist/plugin/react-server/createReactNodeStreamer.js +7 -0
- package/dist/{react-server → plugin/react-server}/createRscStream.d.ts +1 -1
- package/dist/plugin/react-server/createRscStream.d.ts.map +1 -0
- package/dist/{src → plugin}/react-server/createRscStream.js +14 -13
- package/dist/plugin/react-server/createRscStream.js.map +1 -0
- package/dist/{react-server → plugin/react-server}/createSsrHandler.d.ts +1 -1
- package/dist/plugin/react-server/createSsrHandler.d.ts.map +1 -0
- package/dist/plugin/react-server/createSsrHandler.js +102 -0
- package/dist/plugin/react-server/index.d.ts +4 -0
- package/dist/plugin/react-server/index.d.ts.map +1 -0
- package/dist/plugin/react-server/index.js +10 -0
- package/dist/{react-server → plugin/react-server}/plugin.d.ts +2 -2
- package/dist/plugin/react-server/plugin.d.ts.map +1 -0
- package/dist/plugin/react-server/plugin.js +375 -0
- package/dist/plugin/react-server/plugin.js.map +1 -0
- package/dist/plugin/resolvePage.d.ts.map +1 -0
- package/dist/{src → plugin}/resolvePage.js +8 -4
- package/dist/plugin/resolvePage.js.map +1 -0
- package/dist/plugin/resolveProps.d.ts.map +1 -0
- package/dist/{src → plugin}/resolveProps.js +21 -8
- package/dist/plugin/resolveProps.js.map +1 -0
- package/dist/plugin/server.d.ts +2 -0
- package/dist/plugin/server.d.ts.map +1 -0
- package/dist/plugin/server.js +1 -0
- package/dist/plugin/transformer/index.d.ts +2 -0
- package/dist/plugin/transformer/index.d.ts.map +1 -0
- package/dist/plugin/transformer/index.js +1 -0
- package/dist/{transformer/index.d.ts → plugin/transformer/plugin.d.ts} +3 -3
- package/dist/plugin/transformer/plugin.d.ts.map +1 -0
- package/dist/plugin/transformer/plugin.js +86 -0
- package/dist/plugin/transformer/plugin.js.map +1 -0
- package/dist/plugin/transformer/transformer-client-components.d.ts +21 -0
- package/dist/plugin/transformer/transformer-client-components.d.ts.map +1 -0
- package/dist/plugin/transformer/transformer-client-components.js +61 -0
- package/dist/plugin/transformer/transformer-client-components.js.map +1 -0
- package/dist/{transformer/transformer.d.ts → plugin/transformer/transformer-server-actions.d.ts} +3 -4
- package/dist/plugin/transformer/transformer-server-actions.d.ts.map +1 -0
- package/dist/plugin/transformer/transformer-server-actions.js +76 -0
- package/dist/plugin/transformer/transformer-server-actions.js.map +1 -0
- package/dist/plugin/transformer/types.d.ts.map +1 -0
- package/dist/plugin/transformer/types.js +1 -0
- package/dist/plugin/types.d.ts +225 -0
- package/dist/plugin/types.d.ts.map +1 -0
- package/dist/plugin/types.js +1 -0
- package/dist/plugin/worker/createWorker.d.ts +15 -0
- package/dist/plugin/worker/createWorker.d.ts.map +1 -0
- package/dist/plugin/worker/createWorker.js +71 -0
- package/dist/plugin/worker/createWorker.js.map +1 -0
- package/dist/plugin/worker/html/html-worker.d.ts +2 -0
- package/dist/plugin/worker/html/html-worker.d.ts.map +1 -0
- package/dist/plugin/worker/html/html-worker.development.d.ts +2 -0
- package/dist/plugin/worker/html/html-worker.development.d.ts.map +1 -0
- package/dist/plugin/worker/html/html-worker.development.js +12 -0
- package/dist/plugin/worker/html/html-worker.development.js.map +1 -0
- package/dist/plugin/worker/html/html-worker.js +4 -0
- package/dist/plugin/worker/html/html-worker.production.d.ts +2 -0
- package/dist/plugin/worker/html/html-worker.production.d.ts.map +1 -0
- package/dist/plugin/worker/html/html-worker.production.js +12 -0
- package/dist/plugin/worker/html/html-worker.production.js.map +1 -0
- package/dist/plugin/worker/html/index.d.ts +2 -0
- package/dist/plugin/worker/html/index.d.ts.map +1 -0
- package/dist/plugin/worker/html/index.js +7 -0
- package/dist/plugin/worker/html/index.js.map +1 -0
- package/dist/plugin/worker/html/messageHandler.d.ts +3 -0
- package/dist/plugin/worker/html/messageHandler.d.ts.map +1 -0
- package/dist/plugin/worker/html/messageHandler.js +98 -0
- package/dist/plugin/worker/html/messageHandler.js.map +1 -0
- package/dist/plugin/worker/html/plugin.d.ts +4 -0
- package/dist/plugin/worker/html/plugin.d.ts.map +1 -0
- package/dist/plugin/worker/html/plugin.js +89 -0
- package/dist/plugin/worker/html/renderPages.d.ts +38 -0
- package/dist/plugin/worker/html/renderPages.d.ts.map +1 -0
- package/dist/plugin/worker/html/renderPages.js +121 -0
- package/dist/plugin/worker/html/renderPages.js.map +1 -0
- package/dist/plugin/worker/loader.d.ts.map +1 -0
- package/dist/plugin/worker/loader.js +11 -0
- package/dist/plugin/worker/loader.js.map +1 -0
- package/dist/plugin/worker/plugin.d.ts +10 -0
- package/dist/plugin/worker/plugin.d.ts.map +1 -0
- package/dist/plugin/worker/plugin.js +14 -0
- package/dist/plugin/worker/rsc/createRscStream.d.ts +5 -0
- package/dist/plugin/worker/rsc/createRscStream.d.ts.map +1 -0
- package/dist/plugin/worker/rsc/createRscStream.js +39 -0
- package/dist/plugin/worker/rsc/createRscStream.js.map +1 -0
- package/dist/plugin/worker/rsc/development.d.ts +5 -0
- package/dist/plugin/worker/rsc/development.d.ts.map +1 -0
- package/dist/plugin/worker/rsc/development.js +13 -0
- package/dist/plugin/worker/rsc/development.js.map +1 -0
- package/dist/plugin/worker/rsc/index.d.ts +4 -0
- package/dist/plugin/worker/rsc/index.d.ts.map +1 -0
- package/dist/plugin/worker/rsc/index.js +15 -0
- package/dist/plugin/worker/rsc/index.js.map +1 -0
- package/dist/plugin/worker/rsc/plugin.d.ts +4 -0
- package/dist/plugin/worker/rsc/plugin.d.ts.map +1 -0
- package/dist/plugin/worker/rsc/plugin.js +82 -0
- package/dist/plugin/worker/rsc/plugin.js.map +1 -0
- package/dist/plugin/worker/rsc/production.d.ts +5 -0
- package/dist/plugin/worker/rsc/production.d.ts.map +1 -0
- package/dist/plugin/worker/rsc/production.js +13 -0
- package/dist/plugin/worker/rsc/production.js.map +1 -0
- package/dist/plugin/worker/rsc/rsc-worker.d.ts +2 -0
- package/dist/plugin/worker/rsc/rsc-worker.d.ts.map +1 -0
- package/dist/plugin/worker/rsc/rsc-worker.js +106 -0
- package/dist/plugin/worker/types.d.ts +99 -0
- package/dist/plugin/worker/types.d.ts.map +1 -0
- package/dist/plugin/worker/types.js +1 -0
- package/dist/server.d.ts +4 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +9 -0
- package/dist/server.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/types.d.ts +1 -201
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -0
- package/package.json +44 -25
- package/plugin/build/createClientBuildConfig.ts +21 -0
- package/plugin/build/createServerBuildConfig.ts +66 -0
- package/plugin/build/createSharedBuildConfig.ts +35 -0
- package/plugin/build/mergeInputs.ts +58 -0
- package/plugin/checkFilesExist.ts +82 -0
- package/{src → plugin}/collect-css-manifest.ts +4 -2
- package/plugin/config/defaults.ts +44 -0
- package/plugin/config/getCondition.ts +3 -0
- package/plugin/config/getPaths.ts +25 -0
- package/plugin/config/getWorkerPath.ts +5 -0
- package/plugin/config/index.ts +8 -0
- package/plugin/config/moduleIdDefault.ts +23 -0
- package/plugin/config/resolveOptions.ts +53 -0
- package/plugin/config/resolvePages.ts +43 -0
- package/plugin/config/resolveUserConfig.ts +97 -0
- package/{src → plugin}/getEnv.ts +1 -1
- package/plugin/helpers/createClientInputNormalizer.ts +48 -0
- package/plugin/helpers/createServerInputNormalizer.ts +52 -0
- package/plugin/helpers/createStaticInputNormalizer.ts +26 -0
- package/plugin/helpers/getModuleManifest.ts +31 -0
- package/plugin/helpers/inputNormalizer.ts +39 -0
- package/plugin/helpers/inputNormalizerWorker.ts +47 -0
- package/plugin/helpers/resolveFilePath.ts +108 -0
- package/plugin/helpers/resolveWorkerModule.ts +41 -0
- package/plugin/helpers/validateModuleBase.ts +30 -0
- package/plugin/helpers/validateResolvedConfig.ts +21 -0
- package/plugin/index.ts +2 -0
- package/plugin/loader/createBuildLoader.ts +60 -0
- package/plugin/loader/createCssLoader.ts +73 -0
- package/{src/html → plugin/loader}/createPageLoader.ts +35 -27
- package/plugin/plugin.ts +8 -0
- package/plugin/preserver/index.ts +1 -0
- package/plugin/preserver/plugin.ts +110 -0
- package/plugin/react-client/index.ts +1 -0
- package/plugin/react-client/plugin.ts +33 -0
- package/{src → plugin}/react-server/createDevMiddleware.ts +17 -1
- package/{src → plugin}/react-server/createDevServer.ts +0 -1
- package/{src → plugin}/react-server/createHandler.ts +31 -10
- package/{src → plugin}/react-server/createReactNodeStreamer.ts +1 -0
- package/{src → plugin}/react-server/createRscStream.ts +8 -12
- package/{src → plugin}/react-server/createSsrHandler.ts +16 -19
- package/plugin/react-server/index.ts +13 -0
- package/plugin/react-server/plugin.ts +465 -0
- package/{src → plugin}/resolvePage.ts +1 -1
- package/{src → plugin}/resolveProps.ts +15 -6
- package/plugin/server.tsx +0 -0
- package/plugin/transformer/index.ts +1 -0
- package/plugin/transformer/plugin.ts +131 -0
- package/plugin/transformer/transformer-client-components.ts +94 -0
- package/{src/transformer/transformer.ts → plugin/transformer/transformer-server-actions.ts} +14 -27
- package/{src → plugin}/types.ts +97 -55
- package/plugin/worker/createWorker.ts +84 -0
- package/plugin/worker/html/html-worker.development.tsx +8 -0
- package/plugin/worker/html/html-worker.production.tsx +8 -0
- package/plugin/worker/html/html-worker.ts +5 -0
- package/plugin/worker/html/index.ts +5 -0
- package/plugin/worker/html/messageHandler.ts +116 -0
- package/plugin/worker/html/plugin.ts +97 -0
- package/plugin/worker/html/renderPages.ts +187 -0
- package/plugin/worker/plugin.ts +17 -0
- package/plugin/worker/rsc/createRscStream.ts +42 -0
- package/plugin/worker/rsc/development.ts +6 -0
- package/plugin/worker/rsc/index.ts +14 -0
- package/plugin/worker/rsc/plugin.ts +83 -0
- package/plugin/worker/rsc/production.ts +6 -0
- package/plugin/worker/rsc/rsc-worker.tsx +128 -0
- package/plugin/worker/types.ts +124 -0
- package/scripts/bump-version.mjs +68 -0
- package/scripts/check-react-version.mjs +66 -0
- package/scripts/react+0.0.0-experimental-b3a95caf-20250113.patch +4291 -0
- package/scripts/react-dom+0.0.0-experimental-b3a95caf-20250113.patch +108798 -0
- package/scripts/react-server-dom-esm+0.0.0-experimental-b3a95caf-20250113.patch +24775 -0
- package/{patches → scripts}/react-server-dom-esm+0.0.1.patch +10259 -3
- package/tsconfig.json +15 -13
- package/dist/assertServerCondition.d.ts.map +0 -1
- package/dist/bin/patch.js +0 -51
- package/dist/bin/patch.js.map +0 -1
- package/dist/build/createBuildConfig.d.ts +0 -13
- package/dist/build/createBuildConfig.d.ts.map +0 -1
- package/dist/build/mergeInputs.d.ts +0 -5
- package/dist/build/mergeInputs.d.ts.map +0 -1
- package/dist/checkFilesExist.d.ts +0 -8
- package/dist/checkFilesExist.d.ts.map +0 -1
- package/dist/collect-css-manifest.d.ts.map +0 -1
- package/dist/components.d.ts.map +0 -1
- package/dist/copy-dir.d.ts.map +0 -1
- package/dist/getEnv.d.ts.map +0 -1
- package/dist/helpers/inputNormalizer.d.ts +0 -6
- package/dist/helpers/inputNormalizer.d.ts.map +0 -1
- package/dist/helpers/normalizedRelativePath.d.ts.map +0 -1
- package/dist/helpers/tryManifest.d.ts.map +0 -1
- package/dist/html/createPageLoader.d.ts.map +0 -1
- package/dist/manifest.d.ts.map +0 -1
- package/dist/module-graph.d.ts.map +0 -1
- package/dist/options.d.ts +0 -91
- package/dist/options.d.ts.map +0 -1
- package/dist/plugin.d.ts +0 -3
- package/dist/plugin.d.ts.map +0 -1
- package/dist/react-client/plugin.d.ts +0 -4
- package/dist/react-client/plugin.d.ts.map +0 -1
- package/dist/react-client/plugin.js +0 -28
- package/dist/react-client/plugin.js.map +0 -1
- package/dist/react-server/createDevMiddleware.d.ts.map +0 -1
- package/dist/react-server/createDevServer.d.ts.map +0 -1
- package/dist/react-server/createHandler.d.ts +0 -23
- package/dist/react-server/createHandler.d.ts.map +0 -1
- package/dist/react-server/createReactNodeStreamer.d.ts.map +0 -1
- package/dist/react-server/createRscStream.d.ts.map +0 -1
- package/dist/react-server/createSsrHandler.d.ts.map +0 -1
- package/dist/react-server/plugin.d.ts.map +0 -1
- package/dist/react-server/plugin.js +0 -345
- package/dist/react-server/plugin.js.map +0 -1
- package/dist/resolvePage.d.ts.map +0 -1
- package/dist/resolveProps.d.ts.map +0 -1
- package/dist/src/build/createBuildConfig.js +0 -44
- package/dist/src/build/createBuildConfig.js.map +0 -1
- package/dist/src/build/mergeInputs.js +0 -16
- package/dist/src/build/mergeInputs.js.map +0 -1
- package/dist/src/checkFilesExist.js +0 -61
- package/dist/src/checkFilesExist.js.map +0 -1
- package/dist/src/collect-css-manifest.js.map +0 -1
- package/dist/src/components.js.map +0 -1
- package/dist/src/getEnv.js +0 -76
- package/dist/src/getEnv.js.map +0 -1
- package/dist/src/helpers/inputNormalizer.js +0 -11
- package/dist/src/helpers/inputNormalizer.js.map +0 -1
- package/dist/src/helpers/normalizedRelativePath.js +0 -34
- package/dist/src/helpers/normalizedRelativePath.js.map +0 -1
- package/dist/src/helpers/tryManifest.js.map +0 -1
- package/dist/src/html/createPageLoader.js +0 -72
- package/dist/src/html/createPageLoader.js.map +0 -1
- package/dist/src/options.js +0 -307
- package/dist/src/options.js.map +0 -1
- package/dist/src/react-server/createHandler.js.map +0 -1
- package/dist/src/react-server/createRscStream.js.map +0 -1
- package/dist/src/resolvePage.js.map +0 -1
- package/dist/src/resolveProps.js.map +0 -1
- package/dist/src/worker/createHtmlStream.js +0 -62
- package/dist/src/worker/createHtmlStream.js.map +0 -1
- package/dist/src/worker/createWorker.js +0 -34
- package/dist/src/worker/createWorker.js.map +0 -1
- package/dist/src/worker/renderPages.js +0 -99
- package/dist/src/worker/renderPages.js.map +0 -1
- package/dist/transformer/index.d.ts.map +0 -1
- package/dist/transformer/preserveDirectives.d.ts +0 -4
- package/dist/transformer/preserveDirectives.d.ts.map +0 -1
- package/dist/transformer/preserver.d.ts +0 -2
- package/dist/transformer/preserver.d.ts.map +0 -1
- package/dist/transformer/transformer.d.ts.map +0 -1
- package/dist/transformer/types.d.ts.map +0 -1
- package/dist/worker/createHtmlStream.d.ts +0 -7
- package/dist/worker/createHtmlStream.d.ts.map +0 -1
- package/dist/worker/createWorker.d.ts +0 -10
- package/dist/worker/createWorker.d.ts.map +0 -1
- package/dist/worker/loader.d.ts.map +0 -1
- package/dist/worker/loader.js +0 -7
- package/dist/worker/loader.js.map +0 -1
- package/dist/worker/renderPages.d.ts +0 -18
- package/dist/worker/renderPages.d.ts.map +0 -1
- package/dist/worker/types.d.ts +0 -31
- package/dist/worker/types.d.ts.map +0 -1
- package/dist/worker/worker.d.ts +0 -7
- package/dist/worker/worker.d.ts.map +0 -1
- package/dist/worker/worker.js +0 -112
- package/dist/worker/worker.js.map +0 -1
- package/src/build/createBuildConfig.ts +0 -57
- package/src/build/mergeInputs.ts +0 -42
- package/src/checkFilesExist.ts +0 -67
- package/src/helpers/inputNormalizer.ts +0 -22
- package/src/index.ts +0 -4
- package/src/options.ts +0 -423
- package/src/plugin.ts +0 -5
- package/src/react-client/plugin.ts +0 -34
- package/src/react-server/plugin.ts +0 -409
- package/src/transformer/index.ts +0 -112
- package/src/transformer/preserveDirectives.ts +0 -100
- package/src/transformer/preserver.ts +0 -47
- package/src/worker/createHtmlStream.ts +0 -76
- package/src/worker/createWorker.ts +0 -44
- package/src/worker/renderPages.ts +0 -144
- package/src/worker/types.ts +0 -38
- package/src/worker/worker.tsx +0 -136
- /package/dist/{assertServerCondition.d.ts → plugin/assertServerCondition.d.ts} +0 -0
- /package/dist/{components.d.ts → plugin/components.d.ts} +0 -0
- /package/dist/{copy-dir.d.ts → plugin/copy-dir.d.ts} +0 -0
- /package/dist/{getEnv.d.ts → plugin/getEnv.d.ts} +0 -0
- /package/dist/{helpers → plugin/helpers}/normalizedRelativePath.d.ts +0 -0
- /package/dist/{helpers → plugin/helpers}/tryManifest.d.ts +0 -0
- /package/dist/{manifest.d.ts → plugin/manifest.d.ts} +0 -0
- /package/dist/{module-graph.d.ts → plugin/module-graph.d.ts} +0 -0
- /package/dist/{react-server → plugin/react-server}/createDevMiddleware.d.ts +0 -0
- /package/dist/{react-server → plugin/react-server}/createDevServer.d.ts +0 -0
- /package/dist/{react-server → plugin/react-server}/createReactNodeStreamer.d.ts +0 -0
- /package/dist/{resolvePage.d.ts → plugin/resolvePage.d.ts} +0 -0
- /package/dist/{resolveProps.d.ts → plugin/resolveProps.d.ts} +0 -0
- /package/dist/{transformer → plugin/transformer}/types.d.ts +0 -0
- /package/dist/{worker → plugin/worker}/loader.d.ts +0 -0
- /package/{src → plugin}/assertServerCondition.ts +0 -0
- /package/{src → plugin}/components.tsx +0 -0
- /package/{src → plugin}/copy-dir.ts +0 -0
- /package/{src/server.tsx → plugin/getCondition.ts} +0 -0
- /package/{src → plugin}/helpers/normalizedRelativePath.ts +0 -0
- /package/{src → plugin}/helpers/tryManifest.ts +0 -0
- /package/{src → plugin}/manifest.ts +0 -0
- /package/{src → plugin}/module-graph.ts +0 -0
- /package/{src → plugin}/transformer/README.md +0 -0
- /package/{src → plugin}/transformer/types.ts +0 -0
- /package/{src → plugin}/worker/loader.ts +0 -0
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import "node:path";
|
|
2
|
-
import { Worker } from "node:worker_threads";
|
|
3
|
-
async function createWorker(options) {
|
|
4
|
-
const { workerPath, nodePath, mode, workerOptions } = options;
|
|
5
|
-
console.log("[Worker] Creating worker...");
|
|
6
|
-
console.log("[Worker] Worker path:", workerPath);
|
|
7
|
-
try {
|
|
8
|
-
const worker = new Worker(workerPath, {
|
|
9
|
-
env: {
|
|
10
|
-
NODE_OPTIONS: "",
|
|
11
|
-
NODE_ENV: mode,
|
|
12
|
-
NODE_PATH: nodePath
|
|
13
|
-
},
|
|
14
|
-
...workerOptions
|
|
15
|
-
});
|
|
16
|
-
worker.setMaxListeners(1e3);
|
|
17
|
-
await new Promise((resolve, reject) => {
|
|
18
|
-
worker.once("message", (message) => {
|
|
19
|
-
if (message.type === "READY") {
|
|
20
|
-
resolve();
|
|
21
|
-
}
|
|
22
|
-
});
|
|
23
|
-
worker.once("error", reject);
|
|
24
|
-
});
|
|
25
|
-
return worker;
|
|
26
|
-
} catch (error) {
|
|
27
|
-
console.error("[Worker] Startup error:", error);
|
|
28
|
-
throw error;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
export {
|
|
32
|
-
createWorker
|
|
33
|
-
};
|
|
34
|
-
//# sourceMappingURL=createWorker.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createWorker.js","sources":["../../../src/worker/createWorker.ts"],"sourcesContent":["import { join } from \"node:path\";\nimport { Worker } from \"node:worker_threads\";\n\ntype CreateWorkerOptions = {\n workerPath: string;\n nodePath: string;\n mode: \"production\" | \"development\";\n workerOptions?: WorkerOptions;\n};\n\nexport async function createWorker(\n options: CreateWorkerOptions\n) {\n const { workerPath, nodePath, mode, workerOptions } = options;\n console.log(\"[Worker] Creating worker...\");\n console.log(\"[Worker] Worker path:\", workerPath);\n\n try {\n const worker = new Worker(workerPath, {\n env: {\n NODE_OPTIONS: \"\",\n NODE_ENV: mode,\n NODE_PATH: nodePath,\n },\n ...workerOptions,\n });\n worker.setMaxListeners(1000);\n\n // Wait for worker to be ready\n await new Promise<void>((resolve, reject) => {\n worker.once(\"message\", (message) => {\n if (message.type === \"READY\") {\n resolve();\n }\n });\n worker.once(\"error\", reject);\n });\n\n return worker;\n } catch (error) {\n console.error(\"[Worker] Startup error:\", error);\n throw error;\n }\n}\n"],"names":[],"mappings":";;AAUA,eAAsB,aACpB,SACA;AACA,QAAM,EAAE,YAAY,UAAU,MAAM,cAAkB,IAAA;AACtD,UAAQ,IAAI,6BAA6B;AACjC,UAAA,IAAI,yBAAyB,UAAU;AAE3C,MAAA;AACI,UAAA,SAAS,IAAI,OAAO,YAAY;AAAA,MACpC,KAAK;AAAA,QACH,cAAc;AAAA,QACd,UAAU;AAAA,QACV,WAAW;AAAA,MACb;AAAA,MACA,GAAG;AAAA,IAAA,CACJ;AACD,WAAO,gBAAgB,GAAI;AAG3B,UAAM,IAAI,QAAc,CAAC,SAAS,WAAW;AACpC,aAAA,KAAK,WAAW,CAAC,YAAY;AAC9B,YAAA,QAAQ,SAAS,SAAS;AACpB,kBAAA;AAAA,QAAA;AAAA,MACV,CACD;AACM,aAAA,KAAK,SAAS,MAAM;AAAA,IAAA,CAC5B;AAEM,WAAA;AAAA,WACA,OAAO;AACN,YAAA,MAAM,2BAA2B,KAAK;AACxC,UAAA;AAAA,EAAA;AAEV;"}
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
import { resolve, join } from "node:path";
|
|
2
|
-
import { Transform } from "node:stream";
|
|
3
|
-
import { createHandler } from "../react-server/createHandler.js";
|
|
4
|
-
async function renderPages(routes, options) {
|
|
5
|
-
const destinationRoot = resolve(
|
|
6
|
-
options.pluginOptions.projectRoot,
|
|
7
|
-
options.outDir
|
|
8
|
-
);
|
|
9
|
-
const failedRoutes = /* @__PURE__ */ new Map();
|
|
10
|
-
const moduleBasePath = join(
|
|
11
|
-
destinationRoot,
|
|
12
|
-
options.pluginOptions.moduleBasePath
|
|
13
|
-
);
|
|
14
|
-
const moduleBaseURL = options.pluginOptions.moduleBaseURL;
|
|
15
|
-
const htmlRoot = resolve(
|
|
16
|
-
options.pluginOptions.projectRoot,
|
|
17
|
-
options.pluginOptions.build?.client ?? options.outDir
|
|
18
|
-
);
|
|
19
|
-
const filesOutputted = [];
|
|
20
|
-
options.worker.on("message", (msg) => {
|
|
21
|
-
switch (msg.type) {
|
|
22
|
-
case "ERROR":
|
|
23
|
-
console.error("[RenderPages] Worker error:", msg.error);
|
|
24
|
-
break;
|
|
25
|
-
case "HTML":
|
|
26
|
-
filesOutputted.push(msg.outputPath);
|
|
27
|
-
if (filesOutputted.length === routes.length) {
|
|
28
|
-
renderPromises.push(
|
|
29
|
-
new Promise((resolve2) => {
|
|
30
|
-
options.worker.removeAllListeners();
|
|
31
|
-
options.worker.terminate();
|
|
32
|
-
resolve2();
|
|
33
|
-
})
|
|
34
|
-
);
|
|
35
|
-
}
|
|
36
|
-
break;
|
|
37
|
-
}
|
|
38
|
-
});
|
|
39
|
-
const pipableStreamOptions = options.pipableStreamOptions ?? {};
|
|
40
|
-
const renderPromises = routes.map(async (route) => {
|
|
41
|
-
try {
|
|
42
|
-
const result = await createHandler(route, options.pluginOptions, {
|
|
43
|
-
loader: options.loader,
|
|
44
|
-
manifest: options.manifest
|
|
45
|
-
});
|
|
46
|
-
if (result.type !== "success") {
|
|
47
|
-
return;
|
|
48
|
-
}
|
|
49
|
-
const htmlOutputPath = join(htmlRoot, route, "index.html");
|
|
50
|
-
await new Promise((resolve2, reject) => {
|
|
51
|
-
const transform = new Transform({
|
|
52
|
-
transform(chunk, _encoding, callback) {
|
|
53
|
-
options.worker.postMessage({
|
|
54
|
-
type: "RSC_CHUNK",
|
|
55
|
-
id: route,
|
|
56
|
-
chunk,
|
|
57
|
-
moduleBasePath,
|
|
58
|
-
moduleBaseURL,
|
|
59
|
-
htmlOutputPath,
|
|
60
|
-
outDir: options.outDir,
|
|
61
|
-
pipableStreamOptions
|
|
62
|
-
});
|
|
63
|
-
callback();
|
|
64
|
-
},
|
|
65
|
-
flush(callback) {
|
|
66
|
-
options.worker.postMessage({
|
|
67
|
-
type: "RSC_END",
|
|
68
|
-
id: route
|
|
69
|
-
});
|
|
70
|
-
callback();
|
|
71
|
-
}
|
|
72
|
-
});
|
|
73
|
-
const messageHandler = (msg) => {
|
|
74
|
-
if (msg.route === route) {
|
|
75
|
-
if (msg.type === "ERROR") {
|
|
76
|
-
options.worker.removeListener("message", messageHandler);
|
|
77
|
-
reject(new Error(msg.error));
|
|
78
|
-
} else if (msg.type === "HTML") {
|
|
79
|
-
options.worker.removeListener("message", messageHandler);
|
|
80
|
-
resolve2();
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
};
|
|
84
|
-
options.worker.on("message", messageHandler);
|
|
85
|
-
result.stream?.pipe(transform);
|
|
86
|
-
});
|
|
87
|
-
} catch (error) {
|
|
88
|
-
failedRoutes.set(route, error);
|
|
89
|
-
}
|
|
90
|
-
});
|
|
91
|
-
await Promise.all(renderPromises);
|
|
92
|
-
if (failedRoutes.size > 0) {
|
|
93
|
-
console.error("[vite-react-stream] Failed routes:", failedRoutes);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
export {
|
|
97
|
-
renderPages
|
|
98
|
-
};
|
|
99
|
-
//# sourceMappingURL=renderPages.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"renderPages.js","sources":["../../../src/worker/renderPages.ts"],"sourcesContent":["import { join, resolve as resolvePath } from \"node:path\";\nimport { Transform } from \"node:stream\";\nimport type { Worker } from \"node:worker_threads\";\nimport type { PipeableStreamOptions } from \"react-dom/server.node\";\nimport { createHandler } from \"../react-server/createHandler.js\";\nimport type { StreamPluginOptions } from \"../types.js\";\nimport type {\n WorkerRscChunkMessage,\n WorkerRscEndMessage,\n} from \"./types.js\";\n\ntype RenderPagesOptions = {\n pluginOptions: Required<\n Pick<\n StreamPluginOptions,\n \"moduleBase\" | \"moduleBasePath\" | \"moduleBaseURL\" | \"projectRoot\"\n >\n > &\n Pick<\n StreamPluginOptions,\n \"Page\" | \"props\" | \"build\" | \"Html\" | \"pageExportName\" | \"propsExportName\"\n >;\n outDir: string;\n manifest: Record<string, { file: string }>;\n worker: Worker;\n pipableStreamOptions?: PipeableStreamOptions;\n loader: (id: string) => Promise<Record<string, any>>;\n onCssFile?: (path: string) => void;\n clientCss?: string[];\n};\n\nexport async function renderPages(\n routes: string[],\n options: RenderPagesOptions\n) {\n const destinationRoot = resolvePath(\n options.pluginOptions.projectRoot,\n options.outDir\n );\n const failedRoutes = new Map<string, Error>();\n const moduleBasePath = join(\n destinationRoot,\n options.pluginOptions.moduleBasePath\n );\n const moduleBaseURL = options.pluginOptions.moduleBaseURL;\n\n const htmlRoot = resolvePath(\n options.pluginOptions.projectRoot,\n options.pluginOptions.build?.client ?? options.outDir\n );\n const filesOutputted: string[] = [];\n\n options.worker.on(\"message\", (msg) => {\n switch (msg.type) {\n case \"ERROR\":\n console.error(\"[RenderPages] Worker error:\", msg.error);\n break;\n case \"HTML\":\n filesOutputted.push(msg.outputPath);\n if (filesOutputted.length === routes.length) {\n renderPromises.push(\n new Promise<void>((resolve) => {\n options.worker.removeAllListeners();\n options.worker.terminate();\n resolve();\n })\n );\n }\n break;\n default:\n break;\n }\n });\n const pipableStreamOptions = options.pipableStreamOptions ?? {};\n\n // Create promises for each route in the batch\n const renderPromises = routes.map(async (route) => {\n try {\n // Wait for handler creation\n const result = await createHandler(route, options.pluginOptions, {\n loader: options.loader,\n manifest: options.manifest,\n });\n\n if (result.type !== \"success\") {\n return;\n }\n const htmlOutputPath = join(htmlRoot, route, \"index.html\");\n\n // Create a promise that resolves when the worker completes\n await new Promise<void>((resolve, reject) => {\n // Pipe RSC stream to worker\n const transform = new Transform({\n transform(chunk, _encoding, callback) {\n // Send raw chunk\n options.worker.postMessage({\n type: \"RSC_CHUNK\",\n id: route,\n chunk: chunk,\n moduleBasePath,\n moduleBaseURL,\n htmlOutputPath: htmlOutputPath,\n outDir: options.outDir,\n pipableStreamOptions,\n } satisfies WorkerRscChunkMessage);\n callback();\n },\n flush(callback) {\n options.worker.postMessage({\n type: \"RSC_END\",\n id: route,\n } satisfies WorkerRscEndMessage);\n callback();\n },\n });\n\n // Listen for worker response for this route\n const messageHandler = (msg: any) => {\n if (msg.route === route) {\n if (msg.type === \"ERROR\") {\n options.worker.removeListener(\"message\", messageHandler);\n reject(new Error(msg.error));\n } else if (msg.type === \"HTML\") {\n options.worker.removeListener(\"message\", messageHandler);\n resolve();\n }\n }\n };\n\n options.worker.on(\"message\", messageHandler);\n result.stream?.pipe(transform);\n });\n } catch (error) {\n failedRoutes.set(route, error as Error);\n }\n });\n\n // Wait for all routes to complete\n await Promise.all(renderPromises);\n\n if (failedRoutes.size > 0) {\n console.error(\"[vite-react-stream] Failed routes:\", failedRoutes);\n }\n}\n"],"names":["resolvePath","resolve"],"mappings":";;;AA+BsB,eAAA,YACpB,QACA,SACA;AACA,QAAM,kBAAkBA;AAAAA,IACtB,QAAQ,cAAc;AAAA,IACtB,QAAQ;AAAA,EACV;AACM,QAAA,mCAAmB,IAAmB;AAC5C,QAAM,iBAAiB;AAAA,IACrB;AAAA,IACA,QAAQ,cAAc;AAAA,EACxB;AACM,QAAA,gBAAgB,QAAQ,cAAc;AAE5C,QAAM,WAAWA;AAAAA,IACf,QAAQ,cAAc;AAAA,IACtB,QAAQ,cAAc,OAAO,UAAU,QAAQ;AAAA,EACjD;AACA,QAAM,iBAA2B,CAAC;AAElC,UAAQ,OAAO,GAAG,WAAW,CAAC,QAAQ;AACpC,YAAQ,IAAI,MAAM;AAAA,MAChB,KAAK;AACK,gBAAA,MAAM,+BAA+B,IAAI,KAAK;AACtD;AAAA,MACF,KAAK;AACY,uBAAA,KAAK,IAAI,UAAU;AAC9B,YAAA,eAAe,WAAW,OAAO,QAAQ;AAC5B,yBAAA;AAAA,YACb,IAAI,QAAc,CAACC,aAAY;AAC7B,sBAAQ,OAAO,mBAAmB;AAClC,sBAAQ,OAAO,UAAU;AACjB,cAAAA,SAAA;AAAA,YACT,CAAA;AAAA,UACH;AAAA,QAAA;AAEF;AAAA,IAEA;AAAA,EACJ,CACD;AACK,QAAA,uBAAuB,QAAQ,wBAAwB,CAAC;AAG9D,QAAM,iBAAiB,OAAO,IAAI,OAAO,UAAU;AAC7C,QAAA;AAEF,YAAM,SAAS,MAAM,cAAc,OAAO,QAAQ,eAAe;AAAA,QAC/D,QAAQ,QAAQ;AAAA,QAChB,UAAU,QAAQ;AAAA,MAAA,CACnB;AAEG,UAAA,OAAO,SAAS,WAAW;AAC7B;AAAA,MAAA;AAEF,YAAM,iBAAiB,KAAK,UAAU,OAAO,YAAY;AAGzD,YAAM,IAAI,QAAc,CAACA,UAAS,WAAW;AAErC,cAAA,YAAY,IAAI,UAAU;AAAA,UAC9B,UAAU,OAAO,WAAW,UAAU;AAEpC,oBAAQ,OAAO,YAAY;AAAA,cACzB,MAAM;AAAA,cACN,IAAI;AAAA,cACJ;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA,QAAQ,QAAQ;AAAA,cAChB;AAAA,YAAA,CAC+B;AACxB,qBAAA;AAAA,UACX;AAAA,UACA,MAAM,UAAU;AACd,oBAAQ,OAAO,YAAY;AAAA,cACzB,MAAM;AAAA,cACN,IAAI;AAAA,YAAA,CACyB;AACtB,qBAAA;AAAA,UAAA;AAAA,QACX,CACD;AAGK,cAAA,iBAAiB,CAAC,QAAa;AAC/B,cAAA,IAAI,UAAU,OAAO;AACnB,gBAAA,IAAI,SAAS,SAAS;AAChB,sBAAA,OAAO,eAAe,WAAW,cAAc;AACvD,qBAAO,IAAI,MAAM,IAAI,KAAK,CAAC;AAAA,YAAA,WAClB,IAAI,SAAS,QAAQ;AACtB,sBAAA,OAAO,eAAe,WAAW,cAAc;AAC/C,cAAAA,SAAA;AAAA,YAAA;AAAA,UACV;AAAA,QAEJ;AAEQ,gBAAA,OAAO,GAAG,WAAW,cAAc;AACpC,eAAA,QAAQ,KAAK,SAAS;AAAA,MAAA,CAC9B;AAAA,aACM,OAAO;AACD,mBAAA,IAAI,OAAO,KAAc;AAAA,IAAA;AAAA,EACxC,CACD;AAGK,QAAA,QAAQ,IAAI,cAAc;AAE5B,MAAA,aAAa,OAAO,GAAG;AACjB,YAAA,MAAM,sCAAsC,YAAY;AAAA,EAAA;AAEpE;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transformer/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAInC,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAC;AAGlE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,wBAAgB,8BAA8B,CAC5C,OAAO,CAAC,EAAE,+BAA+B,GACxC,MAAM,CAgDR"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"preserveDirectives.d.ts","sourceRoot":"","sources":["../../src/transformer/preserveDirectives.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGrC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAQ3C,wBAAgB,kBAAkB,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,MAAM,CAuF7E"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"preserver.d.ts","sourceRoot":"","sources":["../../src/transformer/preserver.ts"],"names":[],"mappings":"AAOA,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAuCjD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transformer.d.ts","sourceRoot":"","sources":["../../src/transformer/transformer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,kBAAkB;;;oBAMpD,MAAM,QACN,MAAM,WACH;QAAE,KAAK,EAAE,IAAI,GAAG,MAAM,CAAC;QAAC,GAAG,EAAE,OAAO,CAAA;KAAE;;;;EA6FpD;AAED;;;;;;;;;;;;;;;;GAgBG"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/transformer/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,+BAA+B;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,KAAK,MAAM,CAAC;IAClD,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;IACjD,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAChD,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;CACjD;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,KAAK,MAAM,CAAC;IACjD;;OAEG;IACH,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;CAClD"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { Writable } from "node:stream";
|
|
2
|
-
import type { RenderState } from "./types.js";
|
|
3
|
-
export declare function createHtmlStream(renderState: RenderState, writeStream: Writable): {
|
|
4
|
-
stream: import("react-dom/server").PipeableStream;
|
|
5
|
-
writeStream: Writable;
|
|
6
|
-
};
|
|
7
|
-
//# sourceMappingURL=createHtmlStream.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createHtmlStream.d.ts","sourceRoot":"","sources":["../../src/worker/createHtmlStream.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,QAAQ,EAAE,MAAM,aAAa,CAAC;AAIjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAS9C,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,QAAQ;;;EA2DtB"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { Worker } from "node:worker_threads";
|
|
2
|
-
type CreateWorkerOptions = {
|
|
3
|
-
workerPath: string;
|
|
4
|
-
nodePath: string;
|
|
5
|
-
mode: "production" | "development";
|
|
6
|
-
workerOptions?: WorkerOptions;
|
|
7
|
-
};
|
|
8
|
-
export declare function createWorker(options: CreateWorkerOptions): Promise<Worker>;
|
|
9
|
-
export {};
|
|
10
|
-
//# sourceMappingURL=createWorker.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createWorker.d.ts","sourceRoot":"","sources":["../../src/worker/createWorker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,KAAK,mBAAmB,GAAG;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,YAAY,GAAG,aAAa,CAAC;IACnC,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B,CAAC;AAEF,wBAAsB,YAAY,CAChC,OAAO,EAAE,mBAAmB,mBAgC7B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/worker/loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,wBAAgB,IAAI,CAAC,EAAE,EAAE,MAAM,gBAE9B"}
|
package/dist/worker/loader.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sources":["../../src/worker/loader.ts"],"sourcesContent":["/**\n * Extension point for custom module loading in the worker thread.\n * This file can be overridden via the plugin options:\n *\n * ```ts\n * reactStreamPlugin({\n * loaderPath: './my-custom-loader.ts'\n * })\n * ```\n *\n * The default loader provides basic module loading functionality.\n * Override this if you need custom module resolution or transformation.\n */\nexport function load(id: string) {\n return import(id);\n}\n"],"names":[],"mappings":"AAaO,SAAS,KAAK,IAAY;AAC/B,SAAO,OAAO;AAChB;"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { Worker } from "node:worker_threads";
|
|
2
|
-
import type { PipeableStreamOptions } from "react-dom/server.node";
|
|
3
|
-
import type { StreamPluginOptions } from "../types.js";
|
|
4
|
-
type RenderPagesOptions = {
|
|
5
|
-
pluginOptions: Required<Pick<StreamPluginOptions, "moduleBase" | "moduleBasePath" | "moduleBaseURL" | "projectRoot">> & Pick<StreamPluginOptions, "Page" | "props" | "build" | "Html" | "pageExportName" | "propsExportName">;
|
|
6
|
-
outDir: string;
|
|
7
|
-
manifest: Record<string, {
|
|
8
|
-
file: string;
|
|
9
|
-
}>;
|
|
10
|
-
worker: Worker;
|
|
11
|
-
pipableStreamOptions?: PipeableStreamOptions;
|
|
12
|
-
loader: (id: string) => Promise<Record<string, any>>;
|
|
13
|
-
onCssFile?: (path: string) => void;
|
|
14
|
-
clientCss?: string[];
|
|
15
|
-
};
|
|
16
|
-
export declare function renderPages(routes: string[], options: RenderPagesOptions): Promise<void>;
|
|
17
|
-
export {};
|
|
18
|
-
//# sourceMappingURL=renderPages.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"renderPages.d.ts","sourceRoot":"","sources":["../../src/worker/renderPages.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAMvD,KAAK,kBAAkB,GAAG;IACxB,aAAa,EAAE,QAAQ,CACrB,IAAI,CACF,mBAAmB,EACnB,YAAY,GAAG,gBAAgB,GAAG,eAAe,GAAG,aAAa,CAClE,CACF,GACC,IAAI,CACF,mBAAmB,EACnB,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,gBAAgB,GAAG,iBAAiB,CAC3E,CAAC;IACJ,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,oBAAoB,CAAC,EAAE,qBAAqB,CAAC;IAC7C,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IACrD,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AAEF,wBAAsB,WAAW,CAC/B,MAAM,EAAE,MAAM,EAAE,EAChB,OAAO,EAAE,kBAAkB,iBA8G5B"}
|
package/dist/worker/types.d.ts
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import type { PipeableStreamOptions } from "react-dom/server.node";
|
|
2
|
-
export interface RenderState {
|
|
3
|
-
chunks: string[];
|
|
4
|
-
complete: boolean;
|
|
5
|
-
rendered: boolean;
|
|
6
|
-
outDir: string;
|
|
7
|
-
moduleBasePath: string;
|
|
8
|
-
moduleBaseURL: string;
|
|
9
|
-
htmlOutputPath: string;
|
|
10
|
-
id: string;
|
|
11
|
-
pipableStreamOptions: PipeableStreamOptions;
|
|
12
|
-
}
|
|
13
|
-
export interface WorkerRscChunkMessage {
|
|
14
|
-
type: "RSC_CHUNK";
|
|
15
|
-
id: string;
|
|
16
|
-
chunk: string;
|
|
17
|
-
moduleBasePath: string;
|
|
18
|
-
moduleBaseURL: string;
|
|
19
|
-
outDir: string;
|
|
20
|
-
htmlOutputPath: string;
|
|
21
|
-
pipableStreamOptions: PipeableStreamOptions;
|
|
22
|
-
}
|
|
23
|
-
export interface WorkerRscEndMessage {
|
|
24
|
-
type: "RSC_END";
|
|
25
|
-
id: string;
|
|
26
|
-
}
|
|
27
|
-
export interface WorkerShutdownMessage {
|
|
28
|
-
type: "SHUTDOWN";
|
|
29
|
-
}
|
|
30
|
-
export type WorkerMessage = WorkerRscChunkMessage | WorkerRscEndMessage | WorkerShutdownMessage;
|
|
31
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/worker/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEnE,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,oBAAoB,EAAE,qBAAqB,CAAC;CAC7C;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,WAAW,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,qBAAqB,CAAC;CAC7C;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,SAAS,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,MAAM,MAAM,aAAa,GACrB,qBAAqB,GACrB,mBAAmB,GACnB,qBAAqB,CAAC"}
|
package/dist/worker/worker.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/worker/worker.tsx"],"names":[],"mappings":"AAaA,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,IAAI,EAAE,MAAM,CAAC;KACd;CACF"}
|
package/dist/worker/worker.js
DELETED
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
import { createWriteStream } from "node:fs";
|
|
2
|
-
import { mkdir } from "node:fs/promises";
|
|
3
|
-
import { dirname } from "node:path";
|
|
4
|
-
import { Writable } from "node:stream";
|
|
5
|
-
import { parentPort } from "node:worker_threads";
|
|
6
|
-
import { createHtmlStream } from "../src/worker/createHtmlStream.js";
|
|
7
|
-
if (!parentPort) {
|
|
8
|
-
throw new Error("This module must be run as a worker");
|
|
9
|
-
}
|
|
10
|
-
global.window = {
|
|
11
|
-
href: void 0,
|
|
12
|
-
pathname: void 0
|
|
13
|
-
};
|
|
14
|
-
const activeRenders = /* @__PURE__ */ new Map();
|
|
15
|
-
const activeStreams = /* @__PURE__ */ new Map();
|
|
16
|
-
const activeWrites = /* @__PURE__ */ new Map();
|
|
17
|
-
async function shutdown() {
|
|
18
|
-
console.log("[Worker] Shutting down forcefully");
|
|
19
|
-
while (activeRenders.size > 0) {
|
|
20
|
-
await new Promise((resolve) => setTimeout(resolve, 100));
|
|
21
|
-
}
|
|
22
|
-
for (const stream of activeStreams.values()) {
|
|
23
|
-
stream.abort();
|
|
24
|
-
}
|
|
25
|
-
for (const writeStream of activeWrites.values()) {
|
|
26
|
-
writeStream.destroy();
|
|
27
|
-
}
|
|
28
|
-
process.exit(0);
|
|
29
|
-
}
|
|
30
|
-
parentPort.on("message", async (message) => {
|
|
31
|
-
if (message.type === "SHUTDOWN") {
|
|
32
|
-
await shutdown();
|
|
33
|
-
}
|
|
34
|
-
if (!parentPort) {
|
|
35
|
-
throw new Error("No parent port available");
|
|
36
|
-
}
|
|
37
|
-
try {
|
|
38
|
-
switch (message.type) {
|
|
39
|
-
case "RSC_CHUNK": {
|
|
40
|
-
const { chunk, id, ...rest } = message;
|
|
41
|
-
global.window.pathname = id;
|
|
42
|
-
let renderState = activeRenders.get(id);
|
|
43
|
-
if (renderState?.rendered) {
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
if (!renderState) {
|
|
47
|
-
renderState = {
|
|
48
|
-
chunks: [],
|
|
49
|
-
complete: false,
|
|
50
|
-
rendered: false,
|
|
51
|
-
id,
|
|
52
|
-
...rest
|
|
53
|
-
};
|
|
54
|
-
activeRenders.set(id, renderState);
|
|
55
|
-
}
|
|
56
|
-
if (chunk) renderState.chunks.push(chunk);
|
|
57
|
-
break;
|
|
58
|
-
}
|
|
59
|
-
case "RSC_END": {
|
|
60
|
-
const { id } = message;
|
|
61
|
-
const render = activeRenders.get(id);
|
|
62
|
-
if (!render || !parentPort || render.rendered) return;
|
|
63
|
-
try {
|
|
64
|
-
const writeToFile = render.outDir && render.htmlOutputPath;
|
|
65
|
-
if (writeToFile) {
|
|
66
|
-
await mkdir(dirname(render.htmlOutputPath), { recursive: true });
|
|
67
|
-
}
|
|
68
|
-
const { stream, writeStream } = createHtmlStream(
|
|
69
|
-
render,
|
|
70
|
-
writeToFile ? createWriteStream(render.htmlOutputPath) : new Writable({
|
|
71
|
-
write(chunk, _, callback) {
|
|
72
|
-
parentPort?.postMessage({
|
|
73
|
-
type: "HTML",
|
|
74
|
-
route: render.id,
|
|
75
|
-
content: chunk.toString()
|
|
76
|
-
});
|
|
77
|
-
callback();
|
|
78
|
-
}
|
|
79
|
-
})
|
|
80
|
-
);
|
|
81
|
-
activeStreams.set(id, stream);
|
|
82
|
-
activeWrites.set(id, writeStream);
|
|
83
|
-
writeStream.on("finish", () => {
|
|
84
|
-
activeStreams.delete(id);
|
|
85
|
-
activeWrites.delete(id);
|
|
86
|
-
});
|
|
87
|
-
writeStream.on("error", () => {
|
|
88
|
-
activeStreams.delete(id);
|
|
89
|
-
activeWrites.delete(id);
|
|
90
|
-
stream.abort();
|
|
91
|
-
});
|
|
92
|
-
} catch (error) {
|
|
93
|
-
activeRenders.delete(id);
|
|
94
|
-
activeStreams.delete(id);
|
|
95
|
-
activeWrites.delete(id);
|
|
96
|
-
throw error;
|
|
97
|
-
} finally {
|
|
98
|
-
activeRenders.delete(id);
|
|
99
|
-
}
|
|
100
|
-
break;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
} catch (error) {
|
|
104
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
105
|
-
parentPort?.postMessage({
|
|
106
|
-
type: "ERROR",
|
|
107
|
-
error: errorMessage
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
});
|
|
111
|
-
parentPort.postMessage({ type: "READY" });
|
|
112
|
-
//# sourceMappingURL=worker.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","sources":["../../src/worker/worker.tsx"],"sourcesContent":["import { createWriteStream } from \"node:fs\";\nimport { mkdir } from \"node:fs/promises\";\nimport { dirname } from \"node:path\";\nimport { Writable } from \"node:stream\";\nimport { parentPort } from \"node:worker_threads\";\nimport type { PipeableStream } from \"react-server-dom-esm/server.node\";\nimport { createHtmlStream } from \"./createHtmlStream.js\";\nimport type { RenderState, WorkerMessage } from \"./types.js\";\n\nif (!parentPort) {\n throw new Error(\"This module must be run as a worker\");\n}\n\ndeclare global {\n interface Window {\n href: string;\n }\n} \n// Initialize happy-dom window\n(global as any).window = {\n href: undefined,\n pathname: undefined,\n}\n\n// Track active renders\nconst activeRenders = new Map<string, RenderState>();\nconst activeStreams = new Map<string, PipeableStream>();\nconst activeWrites = new Map<string, Writable>();\n\nasync function shutdown() {\n console.log(\"[Worker] Shutting down forcefully\");\n while (activeRenders.size > 0) {\n await new Promise((resolve) => setTimeout(resolve, 100));\n }\n for (const stream of activeStreams.values()) {\n stream.abort();\n }\n for (const writeStream of activeWrites.values()) {\n writeStream.destroy();\n }\n process.exit(0);\n}\n// Handle incoming messages\nparentPort.on(\"message\", async (message: WorkerMessage) => {\n if (message.type === \"SHUTDOWN\") {\n await shutdown();\n }\n if (!parentPort) {\n throw new Error(\"No parent port available\");\n }\n try {\n switch (message.type) {\n case \"RSC_CHUNK\": {\n const { chunk, id, ...rest } = message;\n (global as any).window.pathname = id;\n // Skip if already rendered\n let renderState = activeRenders.get(id);\n if (renderState?.rendered) {\n return;\n }\n // Initialize render state\n if (!renderState) {\n renderState = {\n chunks: [],\n complete: false,\n rendered: false,\n id: id,\n ...rest,\n };\n activeRenders.set(id, renderState);\n }\n // Add chunk\n if (chunk) renderState.chunks.push(chunk);\n break;\n }\n\n case \"RSC_END\": {\n const { id } = message;\n const render = activeRenders.get(id);\n\n if (!render || !parentPort || render.rendered) return;\n try {\n const writeToFile = render.outDir && render.htmlOutputPath;\n // Write RSC content\n if (writeToFile) {\n await mkdir(dirname(render.htmlOutputPath), { recursive: true });\n }\n const { stream, writeStream } = createHtmlStream(\n render,\n writeToFile\n ? createWriteStream(render.htmlOutputPath)\n : new Writable({\n write(chunk, _, callback) {\n parentPort?.postMessage({\n type: \"HTML\",\n route: render.id,\n content: chunk.toString(),\n });\n callback();\n },\n })\n );\n activeStreams.set(id, stream);\n activeWrites.set(id, writeStream);\n writeStream.on(\"finish\", () => {\n activeStreams.delete(id);\n activeWrites.delete(id);\n });\n writeStream.on(\"error\", () => {\n activeStreams.delete(id);\n activeWrites.delete(id);\n stream.abort();\n });\n } catch (error) {\n activeRenders.delete(id);\n activeStreams.delete(id);\n activeWrites.delete(id);\n throw error;\n } finally {\n activeRenders.delete(id);\n }\n break;\n }\n }\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : String(error);\n parentPort?.postMessage({\n type: \"ERROR\",\n error: errorMessage,\n });\n }\n});\n\n// Signal ready only after loader is registered\nparentPort.postMessage({ type: \"READY\" });\n\n"],"names":[],"mappings":";;;;;;AASA,IAAI,CAAC,YAAY;AACT,QAAA,IAAI,MAAM,qCAAqC;AACvD;AAQC,OAAe,SAAS;AAAA,EACvB,MAAM;AAAA,EACN,UAAU;AACZ;AAGA,MAAM,oCAAoB,IAAyB;AACnD,MAAM,oCAAoB,IAA4B;AACtD,MAAM,mCAAmB,IAAsB;AAE/C,eAAe,WAAW;AACxB,UAAQ,IAAI,mCAAmC;AACxC,SAAA,cAAc,OAAO,GAAG;AAC7B,UAAM,IAAI,QAAQ,CAAC,YAAY,WAAW,SAAS,GAAG,CAAC;AAAA,EAAA;AAE9C,aAAA,UAAU,cAAc,UAAU;AAC3C,WAAO,MAAM;AAAA,EAAA;AAEJ,aAAA,eAAe,aAAa,UAAU;AAC/C,gBAAY,QAAQ;AAAA,EAAA;AAEtB,UAAQ,KAAK,CAAC;AAChB;AAEA,WAAW,GAAG,WAAW,OAAO,YAA2B;AACrD,MAAA,QAAQ,SAAS,YAAY;AAC/B,UAAM,SAAS;AAAA,EAAA;AAEjB,MAAI,CAAC,YAAY;AACT,UAAA,IAAI,MAAM,0BAA0B;AAAA,EAAA;AAExC,MAAA;AACF,YAAQ,QAAQ,MAAM;AAAA,MACpB,KAAK,aAAa;AAChB,cAAM,EAAE,OAAO,IAAI,GAAG,KAAS,IAAA;AAC9B,eAAe,OAAO,WAAW;AAE9B,YAAA,cAAc,cAAc,IAAI,EAAE;AACtC,YAAI,aAAa,UAAU;AACzB;AAAA,QAAA;AAGF,YAAI,CAAC,aAAa;AACF,wBAAA;AAAA,YACZ,QAAQ,CAAC;AAAA,YACT,UAAU;AAAA,YACV,UAAU;AAAA,YACV;AAAA,YACA,GAAG;AAAA,UACL;AACc,wBAAA,IAAI,IAAI,WAAW;AAAA,QAAA;AAGnC,YAAI,MAAO,aAAY,OAAO,KAAK,KAAK;AACxC;AAAA,MAAA;AAAA,MAGF,KAAK,WAAW;AACR,cAAA,EAAE,OAAO;AACT,cAAA,SAAS,cAAc,IAAI,EAAE;AAEnC,YAAI,CAAC,UAAU,CAAC,cAAc,OAAO,SAAU;AAC3C,YAAA;AACI,gBAAA,cAAc,OAAO,UAAU,OAAO;AAE5C,cAAI,aAAa;AACT,kBAAA,MAAM,QAAQ,OAAO,cAAc,GAAG,EAAE,WAAW,MAAM;AAAA,UAAA;AAE3D,gBAAA,EAAE,QAAQ,YAAA,IAAgB;AAAA,YAC9B;AAAA,YACA,cACI,kBAAkB,OAAO,cAAc,IACvC,IAAI,SAAS;AAAA,cACX,MAAM,OAAO,GAAG,UAAU;AACxB,4BAAY,YAAY;AAAA,kBACtB,MAAM;AAAA,kBACN,OAAO,OAAO;AAAA,kBACd,SAAS,MAAM,SAAS;AAAA,gBAAA,CACzB;AACQ,yBAAA;AAAA,cAAA;AAAA,YAEZ,CAAA;AAAA,UACP;AACc,wBAAA,IAAI,IAAI,MAAM;AACf,uBAAA,IAAI,IAAI,WAAW;AACpB,sBAAA,GAAG,UAAU,MAAM;AAC7B,0BAAc,OAAO,EAAE;AACvB,yBAAa,OAAO,EAAE;AAAA,UAAA,CACvB;AACW,sBAAA,GAAG,SAAS,MAAM;AAC5B,0BAAc,OAAO,EAAE;AACvB,yBAAa,OAAO,EAAE;AACtB,mBAAO,MAAM;AAAA,UAAA,CACd;AAAA,iBACM,OAAO;AACd,wBAAc,OAAO,EAAE;AACvB,wBAAc,OAAO,EAAE;AACvB,uBAAa,OAAO,EAAE;AAChB,gBAAA;AAAA,QAAA,UACN;AACA,wBAAc,OAAO,EAAE;AAAA,QAAA;AAEzB;AAAA,MAAA;AAAA,IACF;AAAA,WAEK,OAAO;AACd,UAAM,eAAe,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AAC1E,gBAAY,YAAY;AAAA,MACtB,MAAM;AAAA,MACN,OAAO;AAAA,IAAA,CACR;AAAA,EAAA;AAEL,CAAC;AAGD,WAAW,YAAY,EAAE,MAAM,SAAS;"}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import type { InlineConfig } from "vite";
|
|
2
|
-
import type { ResolvedUserConfig, ResolvedUserOptions } from "../types.js";
|
|
3
|
-
import type { InputOption } from "rollup";
|
|
4
|
-
import { mergeInputs } from "./mergeInputs.js";
|
|
5
|
-
import { createInputNormalizer } from "../helpers/inputNormalizer.js";
|
|
6
|
-
|
|
7
|
-
type CreateBuildConfigOptions = {
|
|
8
|
-
input: InputOption;
|
|
9
|
-
userOptions: ResolvedUserOptions;
|
|
10
|
-
userConfig: ResolvedUserConfig;
|
|
11
|
-
root: string;
|
|
12
|
-
moduleBaseExceptions: string[];
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
export function createBuildConfig({
|
|
17
|
-
root,
|
|
18
|
-
input,
|
|
19
|
-
userOptions,
|
|
20
|
-
userConfig,
|
|
21
|
-
moduleBaseExceptions
|
|
22
|
-
}: CreateBuildConfigOptions) {
|
|
23
|
-
const { output, input: inputConfig, ...restRollupOptions } =
|
|
24
|
-
userConfig.build.rollupOptions ?? {};
|
|
25
|
-
|
|
26
|
-
let mergedInputs = mergeInputs(input, inputConfig);
|
|
27
|
-
|
|
28
|
-
let inputNormalizer = createInputNormalizer({
|
|
29
|
-
root,
|
|
30
|
-
});
|
|
31
|
-
if(typeof mergedInputs === 'object' && mergedInputs != null) {
|
|
32
|
-
mergedInputs = Object.fromEntries(Object.entries(mergedInputs).map(inputNormalizer));
|
|
33
|
-
}
|
|
34
|
-
const config: InlineConfig = {
|
|
35
|
-
configFile: false,
|
|
36
|
-
...userConfig,
|
|
37
|
-
build: {
|
|
38
|
-
...userConfig.build,
|
|
39
|
-
rollupOptions: {
|
|
40
|
-
input: mergedInputs,
|
|
41
|
-
output: {
|
|
42
|
-
format: "esm",
|
|
43
|
-
preserveModules: true,
|
|
44
|
-
hoistTransitiveImports: false,
|
|
45
|
-
esModule: true,
|
|
46
|
-
entryFileNames: "[name].js",
|
|
47
|
-
chunkFileNames: "[name].js",
|
|
48
|
-
assetFileNames: "[name][extname]",
|
|
49
|
-
...output,
|
|
50
|
-
},
|
|
51
|
-
...restRollupOptions,
|
|
52
|
-
},
|
|
53
|
-
},
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
return config;
|
|
57
|
-
}
|
package/src/build/mergeInputs.ts
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import type { InputOption } from "rollup";
|
|
2
|
-
|
|
3
|
-
export const mergeAsArray = (entries: InputOption) => {
|
|
4
|
-
return Array.isArray(entries)
|
|
5
|
-
? entries
|
|
6
|
-
: typeof entries === "object" && entries != null
|
|
7
|
-
? Object.values(entries)
|
|
8
|
-
: typeof entries === "string"
|
|
9
|
-
? [entries]
|
|
10
|
-
: [];
|
|
11
|
-
};
|
|
12
|
-
export const mergeAsObject = (entries: InputOption) => {
|
|
13
|
-
return Array.isArray(entries)
|
|
14
|
-
? Object.fromEntries(entries.map((entry) => [entry, entry]))
|
|
15
|
-
: typeof entries === "object" && entries != null
|
|
16
|
-
? entries
|
|
17
|
-
: typeof entries === "string"
|
|
18
|
-
? { [entries]: entries }
|
|
19
|
-
: {};
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
export const mergeInputs = (
|
|
23
|
-
input: InputOption,
|
|
24
|
-
input2: InputOption | undefined
|
|
25
|
-
) => {
|
|
26
|
-
if (!input2) return input;
|
|
27
|
-
return Array.isArray(input)
|
|
28
|
-
? [...input, ...mergeAsArray(input2)]
|
|
29
|
-
: typeof input === "string"
|
|
30
|
-
? [input, ...mergeAsArray(input2)]
|
|
31
|
-
: input != null && typeof input2 === "object" && input2 != null
|
|
32
|
-
? { ...input, ...mergeAsObject(input2) }
|
|
33
|
-
: input != null
|
|
34
|
-
? input
|
|
35
|
-
: Array.isArray(input2)
|
|
36
|
-
? input2
|
|
37
|
-
: typeof input2 === "object" && input2 != null
|
|
38
|
-
? input2
|
|
39
|
-
: typeof input2 === "string"
|
|
40
|
-
? input2
|
|
41
|
-
: [];
|
|
42
|
-
};
|
package/src/checkFilesExist.ts
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { existsSync } from "node:fs";
|
|
2
|
-
import { resolve } from "node:path";
|
|
3
|
-
import type { StreamPluginOptions } from "./types.js";
|
|
4
|
-
|
|
5
|
-
export async function checkFilesExist(
|
|
6
|
-
pages: string[],
|
|
7
|
-
options: Pick<StreamPluginOptions, "Page" | "props">,
|
|
8
|
-
root: string
|
|
9
|
-
) {
|
|
10
|
-
const errors: string[] = [];
|
|
11
|
-
const pageSet = new Set<string>();
|
|
12
|
-
const pageMap = new Map<string, string>();
|
|
13
|
-
// Check if files exist when string paths are provided
|
|
14
|
-
if (typeof options.Page === "string") {
|
|
15
|
-
const pagePath = resolve(root, options.Page);
|
|
16
|
-
pageMap.set(options.Page, pagePath);
|
|
17
|
-
if (!pageSet.has(pagePath)) {
|
|
18
|
-
if (!existsSync(pagePath)) {
|
|
19
|
-
errors.push(`Page file not found: ${pagePath}`);
|
|
20
|
-
}
|
|
21
|
-
pageSet.add(pagePath);
|
|
22
|
-
}
|
|
23
|
-
} else if (typeof options.Page === "function" && pages) {
|
|
24
|
-
for (const page of pages) {
|
|
25
|
-
const pagePath = options.Page(resolve(root, page));
|
|
26
|
-
pageMap.set(page, pagePath);
|
|
27
|
-
if (pageSet.has(pagePath)) {
|
|
28
|
-
continue;
|
|
29
|
-
}
|
|
30
|
-
if (!existsSync(pagePath)) {
|
|
31
|
-
errors.push(`Page file not found: ${pagePath}`);
|
|
32
|
-
}
|
|
33
|
-
pageSet.add(pagePath);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
const propsSet = new Set<string>();
|
|
38
|
-
const propsMap = new Map<string, string>();
|
|
39
|
-
if (typeof options.props === "string") {
|
|
40
|
-
const propsPath = resolve(root, options.props);
|
|
41
|
-
propsMap.set(options.props, propsPath);
|
|
42
|
-
if (!propsSet.has(propsPath)) {
|
|
43
|
-
if (!existsSync(propsPath)) {
|
|
44
|
-
errors.push(`Props file not found: ${propsPath}`);
|
|
45
|
-
}
|
|
46
|
-
propsSet.add(propsPath);
|
|
47
|
-
}
|
|
48
|
-
} else if (typeof options.props === "function" && pages) {
|
|
49
|
-
for (const page of pages) {
|
|
50
|
-
const propsPath = options.props(resolve(root, page));
|
|
51
|
-
propsMap.set(page, propsPath);
|
|
52
|
-
if (propsSet.has(propsPath)) {
|
|
53
|
-
continue;
|
|
54
|
-
}
|
|
55
|
-
if (!existsSync(propsPath)) {
|
|
56
|
-
errors.push(`Props file not found: ${propsPath}`);
|
|
57
|
-
}
|
|
58
|
-
propsSet.add(propsPath);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
if (errors.length) {
|
|
63
|
-
throw new Error("React Stream Plugin Validation:\n" + errors.join("\n"));
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
return { pageMap, pageSet, propsMap, propsSet };
|
|
67
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { relative } from "node:path";
|
|
2
|
-
|
|
3
|
-
type NormalizedInputOptions = {
|
|
4
|
-
// will automatically remove this part
|
|
5
|
-
root?: string;
|
|
6
|
-
};
|
|
7
|
-
|
|
8
|
-
export const createInputNormalizer =
|
|
9
|
-
(
|
|
10
|
-
{
|
|
11
|
-
root = process.cwd(),
|
|
12
|
-
}: NormalizedInputOptions = {} as NormalizedInputOptions
|
|
13
|
-
) =>
|
|
14
|
-
([key, path]: [string, string]) =>
|
|
15
|
-
[
|
|
16
|
-
key,
|
|
17
|
-
path.startsWith(root)
|
|
18
|
-
? relative(root, path)
|
|
19
|
-
: path.startsWith("/")
|
|
20
|
-
? path
|
|
21
|
-
: `/${path}`,
|
|
22
|
-
];
|
package/src/index.ts
DELETED