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
package/dist/src/getEnv.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getEnv.js","sources":["../../src/getEnv.ts"],"sourcesContent":["import { readFileSync } from \"node:fs\";\nimport { resolve } from \"node:path\";\nimport type { ConfigEnv, UserConfig } from \"vite\";\nimport { loadEnv } from \"vite\";\nimport { DEFAULT_CONFIG } from \"./options.js\";\n\n/**\n * Get environment variables for Vite, sets defaults to ensure the server can start with BASE_URL and PUBLIC_URL\n *\n * @param config - Vite configuration object\n * @param { isPreview: boolean } - Object containing a boolean indicating if the environment is for preview\n * @returns An object containing the environment variables\n */\nexport function getEnv(config: UserConfig, configEnv: ConfigEnv) {\n const isLocal =\n config.mode === \"development\"\n\n const envName = isLocal\n ? `${config.mode}.local`\n : config.mode\n ? config.mode\n : \"production\";\n const environmentName = config.mode ?? envName ?? \"production\";\n\n const env = loadEnv(\n environmentName,\n config.envDir ?? config.root ?? process.cwd(),\n config.envPrefix ?? DEFAULT_CONFIG.ENV_PREFIX ?? \"VITE_\"\n );\n\n // Get server config\n const serverConfig = config.server || {};\n const previewConfig = config.preview || {};\n const host = configEnv.isPreview\n ? previewConfig.host ?? DEFAULT_CONFIG.PREVIEW_HOST\n : serverConfig.host ?? DEFAULT_CONFIG.DEV_HOST;\n let previewPort = previewConfig.port ?? DEFAULT_CONFIG.PREVIEW_PORT;\n let devPort = serverConfig.port ?? DEFAULT_CONFIG.DEV_PORT;\n\n let homepage = env[\"VITE_BASE_URL\"]\n if (configEnv.command === \"build\" && (!homepage || homepage === \"\")) {\n try {\n const packageJson = JSON.parse(\n readFileSync(resolve(config.root ?? \"\", \"package.json\"), \"utf-8\")\n );\n homepage = packageJson.homepage ?? \"\";\n if (!homepage || homepage === \"\") {\n console.warn(\n \"[RSC] 🔧 For production builds, please set 'homepage' in package.json, or set VITE_BASE_URL in your environment\"\n );\n }\n } catch (e) {\n console.error(e);\n }\n }\n\n let baseUrl =\n env[\"VITE_BASE_URL\"] && env[\"VITE_PUBLIC_URL\"] !== \"\"\n ? env[\"VITE_BASE_URL\"]\n : configEnv.isPreview\n ? `http://${host}:${previewPort}`\n : configEnv.command === \"serve\"\n ? `http://${host}:${devPort}`\n : homepage;\n\n let publicUrl =\n env[\"VITE_PUBLIC_URL\"] && env[\"VITE_PUBLIC_URL\"] !== \"\"\n ? env[\"VITE_PUBLIC_URL\"]\n : \"\";\n\n // Determine port and host based on mode\n const port = configEnv.isPreview\n ? previewConfig.port || DEFAULT_CONFIG.PREVIEW_PORT // Preview server\n : serverConfig.port || DEFAULT_CONFIG.DEV_PORT; // Dev server\n\n // Build base URL\n if (configEnv.isPreview && `http://${host}:${port}` !== baseUrl) {\n console.log(\n `VITE_BASE_URL: \\\"${baseUrl}\\\" wasn't configured correctly for this server, overriding to: \\\"http://${host}:${port}\\\"`\n );\n baseUrl = `http://${host}:${port}`;\n }\n\n const envPrefix =\n typeof config.envPrefix === \"string\"\n ? config.envPrefix\n : Array.isArray(config.envPrefix)\n ? config.envPrefix[0]\n : DEFAULT_CONFIG.ENV_PREFIX;\n\n const nodeProcessEnv = {\n NODE_ENV: configEnv.command === \"build\" ? \"production\" : \"development\",\n };\n const defineProcess = Object.entries(nodeProcessEnv)\n .map(([key, value]) => {\n switch (key) {\n case \"NODE_ENV\":\n const isDev =\n value === \"\"\n ? configEnv.command === \"build\"\n ? false\n : true\n : value === \"development\";\n return [`import.meta.env.DEV`, JSON.stringify(isDev)];\n default:\n return null;\n }\n })\n .filter(Array.isArray);\n\n const defineImportMeta = Object.entries(env).map(([key, value]) => [\n `import.meta.env.${key}`,\n key === \"VITE_BASE_URL\"\n ? value\n ? JSON.stringify(value)\n : JSON.stringify(baseUrl)\n : key === \"VITE_PUBLIC_URL\"\n ? value\n ? JSON.stringify(value)\n : JSON.stringify(publicUrl)\n : JSON.stringify(value),\n ]);\n const define = Object.fromEntries([...defineProcess, ...defineImportMeta]);\n\n return {\n baseUrl,\n publicUrl,\n port,\n host,\n envPrefix,\n environmentName,\n env,\n define,\n };\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { relative } from "node:path";
|
|
2
|
-
const createInputNormalizer = ({
|
|
3
|
-
root = process.cwd()
|
|
4
|
-
} = {}) => ([key, path]) => [
|
|
5
|
-
key,
|
|
6
|
-
path.startsWith(root) ? relative(root, path) : path.startsWith("/") ? path : `/${path}`
|
|
7
|
-
];
|
|
8
|
-
export {
|
|
9
|
-
createInputNormalizer
|
|
10
|
-
};
|
|
11
|
-
//# sourceMappingURL=inputNormalizer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"inputNormalizer.js","sources":["../../../src/helpers/inputNormalizer.ts"],"sourcesContent":["import { relative } from \"node:path\";\n\ntype NormalizedInputOptions = {\n // will automatically remove this part\n root?: string;\n};\n\nexport const createInputNormalizer =\n (\n {\n root = process.cwd(),\n }: NormalizedInputOptions = {} as NormalizedInputOptions\n ) =>\n ([key, path]: [string, string]) =>\n [\n key,\n path.startsWith(root)\n ? relative(root, path)\n : path.startsWith(\"/\")\n ? path\n : `/${path}`,\n ];\n"],"names":[],"mappings":";AAOO,MAAM,wBACX,CACE;AAAA,EACE,OAAO,QAAQ,IAAI;AACrB,IAA4B,OAE9B,CAAC,CAAC,KAAK,IAAI,MACT;AAAA,EACE;AAAA,EACA,KAAK,WAAW,IAAI,IAChB,SAAS,MAAM,IAAI,IACnB,KAAK,WAAW,GAAG,IACnB,OACA,IAAI,IAAI;AACd;"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { normalizePath } from "vite";
|
|
2
|
-
const createNormalizedRelativePath = (options = {
|
|
3
|
-
root: process.cwd(),
|
|
4
|
-
outDir: "dist",
|
|
5
|
-
moduleBase: "src",
|
|
6
|
-
noLeadingSlash: false,
|
|
7
|
-
noTrailingSlash: false,
|
|
8
|
-
moduleBaseExceptions: []
|
|
9
|
-
}) => {
|
|
10
|
-
let base = options.noLeadingSlash && options.moduleBase.startsWith("/") ? options.moduleBase.slice(1) : options.moduleBase;
|
|
11
|
-
if (options.noTrailingSlash && base.endsWith("/")) {
|
|
12
|
-
base = base.slice(0, -1);
|
|
13
|
-
}
|
|
14
|
-
const removeOutDir = (path) => options.outDir === path ? path.slice(options.outDir.length) : path;
|
|
15
|
-
const removeRoot = (path) => {
|
|
16
|
-
const relative = path.startsWith(options.root) ? path.slice(options.root.length) : path;
|
|
17
|
-
return relative;
|
|
18
|
-
};
|
|
19
|
-
const ensureModuleBase = (path) => {
|
|
20
|
-
let transformed = path;
|
|
21
|
-
if (options.noLeadingSlash && path.startsWith("/")) {
|
|
22
|
-
transformed = path.slice(1);
|
|
23
|
-
}
|
|
24
|
-
if (options.noTrailingSlash && transformed.endsWith("/")) {
|
|
25
|
-
transformed = transformed.slice(0, -1);
|
|
26
|
-
}
|
|
27
|
-
return transformed;
|
|
28
|
-
};
|
|
29
|
-
return (path) => ensureModuleBase(removeOutDir(removeRoot(normalizePath(path))));
|
|
30
|
-
};
|
|
31
|
-
export {
|
|
32
|
-
createNormalizedRelativePath
|
|
33
|
-
};
|
|
34
|
-
//# sourceMappingURL=normalizedRelativePath.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"normalizedRelativePath.js","sources":["../../../src/helpers/normalizedRelativePath.ts"],"sourcesContent":["import { normalizePath } from \"vite\";\n\ntype NormalizedRelativePathOptions = {\n // will automatically remove this part\n root: string;\n // will automatically see this as a optional extra part of the rootDir that will be removed\n outDir: string;\n // will ensure it always starts with this path, if it does not it will be added\n moduleBase: string;\n // will ensure it never starts with a leading /, which in some cases is needed (vite entry), other cases it is not for example from project root /\n noLeadingSlash: boolean;\n // will ensure it never ends with a trailing /\n noTrailingSlash: boolean;\n // allowed exception to moduleBase rules\n moduleBaseExceptions: string[];\n};\n\nexport const createNormalizedRelativePath = (\n options: NormalizedRelativePathOptions = {\n root: process.cwd(),\n outDir: \"dist\",\n moduleBase: \"src\",\n noLeadingSlash: false,\n noTrailingSlash: false,\n moduleBaseExceptions: [],\n }\n) => {\n let base =\n options.noLeadingSlash && options.moduleBase.startsWith(\"/\")\n ? options.moduleBase.slice(1)\n : options.moduleBase;\n if (options.noTrailingSlash && base.endsWith(\"/\")) {\n base = base.slice(0, -1);\n }\n const removeOutDir = (path: string) =>\n (options.outDir as string) === path\n ? path.slice(options.outDir.length)\n : path;\n\n const removeRoot = (path: string) => {\n const relative = path.startsWith(options.root)\n ? path.slice(options.root.length)\n : path;\n return relative;\n };\n\n const ensureModuleBase = (path: string) => {\n let transformed = path;\n if (options.noLeadingSlash && path.startsWith(\"/\")) {\n transformed = path.slice(1);\n }\n if (options.noTrailingSlash && transformed.endsWith(\"/\")) {\n transformed = transformed.slice(0, -1);\n }\n return transformed;\n };\n\n return (path: string) => ensureModuleBase(removeOutDir(removeRoot(normalizePath(path))));\n};\n"],"names":[],"mappings":";AAiBa,MAAA,+BAA+B,CAC1C,UAAyC;AAAA,EACvC,MAAM,QAAQ,IAAI;AAAA,EAClB,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EACjB,sBAAsB,CAAA;AACxB,MACG;AACH,MAAI,OACF,QAAQ,kBAAkB,QAAQ,WAAW,WAAW,GAAG,IACvD,QAAQ,WAAW,MAAM,CAAC,IAC1B,QAAQ;AACd,MAAI,QAAQ,mBAAmB,KAAK,SAAS,GAAG,GAAG;AAC1C,WAAA,KAAK,MAAM,GAAG,EAAE;AAAA,EAAA;AAEnB,QAAA,eAAe,CAAC,SACnB,QAAQ,WAAsB,OAC3B,KAAK,MAAM,QAAQ,OAAO,MAAM,IAChC;AAEA,QAAA,aAAa,CAAC,SAAiB;AAC7B,UAAA,WAAW,KAAK,WAAW,QAAQ,IAAI,IACzC,KAAK,MAAM,QAAQ,KAAK,MAAM,IAC9B;AACG,WAAA;AAAA,EACT;AAEM,QAAA,mBAAmB,CAAC,SAAiB;AACzC,QAAI,cAAc;AAClB,QAAI,QAAQ,kBAAkB,KAAK,WAAW,GAAG,GAAG;AACpC,oBAAA,KAAK,MAAM,CAAC;AAAA,IAAA;AAE5B,QAAI,QAAQ,mBAAmB,YAAY,SAAS,GAAG,GAAG;AAC1C,oBAAA,YAAY,MAAM,GAAG,EAAE;AAAA,IAAA;AAEhC,WAAA;AAAA,EACT;AAEO,SAAA,CAAC,SAAiB,iBAAiB,aAAa,WAAW,cAAc,IAAI,CAAC,CAAC,CAAC;AACzF;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tryManifest.js","sources":["../../../src/helpers/tryManifest.ts"],"sourcesContent":["import { readFileSync } from \"node:fs\";\nimport { resolve } from \"node:path\";\nimport type { Manifest } from \"vite\";\n\ntype TryManifestOptions<SSR extends boolean> = {\n root: string;\n outDir: string;\n ssrManifest: SSR;\n};\n\nexport function tryManifest<SSR extends boolean>(options: TryManifestOptions<SSR>): {\n type: \"success\";\n manifest: SSR extends true ? Record<string, string[]> : Manifest;\n} | {\n type: \"error\";\n error: Error;\n} {\n const manifestPath = resolve(\n options.root,\n options.outDir,\n \".vite\",\n options.ssrManifest ? \"ssr-manifest.json\" : \"manifest.json\"\n );\n try {\n const result= JSON.parse(readFileSync(manifestPath, \"utf-8\"));\n return {\n type: \"success\",\n manifest: result,\n }\n } catch (e) {\n console.log(\"No manifest found\", manifestPath);\n return {\n type: \"error\",\n error: e as Error,\n }\n }\n}\n"],"names":[],"mappings":";;AAUO,SAAS,YAAiC,SAM/C;AACA,QAAM,eAAe;AAAA,IACnB,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR;AAAA,IACA,QAAQ,cAAc,sBAAsB;AAAA,EAC9C;AACI,MAAA;AACF,UAAM,SAAS,KAAK,MAAM,aAAa,cAAc,OAAO,CAAC;AACtD,WAAA;AAAA,MACL,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,WACO,GAAG;AACF,YAAA,IAAI,qBAAqB,YAAY;AACtC,WAAA;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,IACT;AAAA,EAAA;AAEJ;"}
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import { resolve } from "node:path";
|
|
2
|
-
import { load } from "react-server-dom-esm/node-loader";
|
|
3
|
-
import { registerClientReference, registerServerReference } from "react-server-dom-esm/server.node";
|
|
4
|
-
import { createNormalizedRelativePath } from "../helpers/normalizedRelativePath.js";
|
|
5
|
-
const createDefaultLoader = ({
|
|
6
|
-
id,
|
|
7
|
-
registerServer,
|
|
8
|
-
registerClient,
|
|
9
|
-
alwaysRegisterServer = false,
|
|
10
|
-
alwaysRegisterClient = false
|
|
11
|
-
}) => {
|
|
12
|
-
const mapper = ([key, value]) => {
|
|
13
|
-
try {
|
|
14
|
-
if (registerClient?.includes(key) || alwaysRegisterClient && typeof value === "function") {
|
|
15
|
-
return [key, registerClientReference(value, id, key)];
|
|
16
|
-
}
|
|
17
|
-
if (registerServer?.includes(key) || alwaysRegisterServer && typeof value === "function") {
|
|
18
|
-
return [key, registerServerReference(value, id, key)];
|
|
19
|
-
}
|
|
20
|
-
return [key, value];
|
|
21
|
-
} catch (e) {
|
|
22
|
-
console.error("[RSC] Error registering reference:", key, value, e);
|
|
23
|
-
return [key, value];
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
return async (url) => Object.fromEntries(Object.entries(await import(url)).map(mapper));
|
|
27
|
-
};
|
|
28
|
-
const createPageLoader = ({
|
|
29
|
-
manifest,
|
|
30
|
-
root,
|
|
31
|
-
outDir,
|
|
32
|
-
moduleBase,
|
|
33
|
-
registerServer,
|
|
34
|
-
registerClient,
|
|
35
|
-
alwaysRegisterServer,
|
|
36
|
-
alwaysRegisterClient
|
|
37
|
-
}) => {
|
|
38
|
-
const pathNormalizer = createNormalizedRelativePath({
|
|
39
|
-
root,
|
|
40
|
-
outDir,
|
|
41
|
-
moduleBase,
|
|
42
|
-
noLeadingSlash: true,
|
|
43
|
-
noTrailingSlash: true,
|
|
44
|
-
moduleBaseExceptions: []
|
|
45
|
-
});
|
|
46
|
-
return async (id) => {
|
|
47
|
-
const normalizedId = pathNormalizer(id);
|
|
48
|
-
const entry = normalizedId in manifest ? manifest[normalizedId] : Object.values(manifest).find((entry2) => entry2.file === normalizedId);
|
|
49
|
-
if (!entry) {
|
|
50
|
-
throw new Error(
|
|
51
|
-
`Could not find manifest entry for ${id}, ${normalizedId} from ${root}`
|
|
52
|
-
);
|
|
53
|
-
}
|
|
54
|
-
const loaderResult = await load(
|
|
55
|
-
resolve(root, outDir, entry.file),
|
|
56
|
-
{ format: "module" },
|
|
57
|
-
createDefaultLoader({
|
|
58
|
-
id,
|
|
59
|
-
registerServer,
|
|
60
|
-
registerClient,
|
|
61
|
-
alwaysRegisterServer,
|
|
62
|
-
alwaysRegisterClient
|
|
63
|
-
})
|
|
64
|
-
);
|
|
65
|
-
return loaderResult;
|
|
66
|
-
};
|
|
67
|
-
};
|
|
68
|
-
export {
|
|
69
|
-
createDefaultLoader,
|
|
70
|
-
createPageLoader
|
|
71
|
-
};
|
|
72
|
-
//# sourceMappingURL=createPageLoader.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createPageLoader.js","sources":["../../../src/html/createPageLoader.ts"],"sourcesContent":["import { resolve as resolvePath } from \"node:path\";\nimport { load } from \"react-server-dom-esm/node-loader\";\nimport {\n registerClientReference,\n registerServerReference,\n} from \"react-server-dom-esm/server.node\";\nimport { createNormalizedRelativePath } from \"../helpers/normalizedRelativePath.js\";\n\ntype CreatePageLoaderOptions = {\n manifest: Record<string, { file: string }>;\n root: string;\n outDir: string;\n moduleBase: string;\n registerServer?: string[];\n registerClient?: string[];\n alwaysRegisterServer?: boolean;\n alwaysRegisterClient?: boolean;\n};\n\ntype CreateDefaultLoaderOptions = {\n id: string;\n registerServer?: string[];\n registerClient?: string[];\n alwaysRegisterServer?: boolean;\n alwaysRegisterClient?: boolean;\n};\n\nexport const createDefaultLoader = ({\n id,\n registerServer,\n registerClient,\n alwaysRegisterServer = false,\n alwaysRegisterClient = false,\n}: CreateDefaultLoaderOptions) => {\n const mapper = ([key, value]: [string, any]) => {\n try {\n if (\n registerClient?.includes(key) ||\n (alwaysRegisterClient && typeof value === \"function\")\n ) {\n return [key, registerClientReference(value, id, key)];\n }\n if (\n registerServer?.includes(key) ||\n (alwaysRegisterServer && typeof value === \"function\")\n ) {\n return [key, registerServerReference(value, id, key)];\n }\n return [key, value];\n } catch (e) {\n console.error(\"[RSC] Error registering reference:\", key, value, e);\n return [key, value];\n }\n };\n return async (url: string) =>\n Object.fromEntries(Object.entries(await import(url)).map(mapper));\n};\n\nexport const createPageLoader = ({\n manifest,\n root,\n outDir,\n moduleBase,\n registerServer,\n registerClient,\n alwaysRegisterServer,\n alwaysRegisterClient,\n}: CreatePageLoaderOptions) => {\n const pathNormalizer = createNormalizedRelativePath({\n root,\n outDir,\n moduleBase,\n noLeadingSlash: true,\n noTrailingSlash: true,\n moduleBaseExceptions: [],\n });\n return async (id: string) => {\n const normalizedId = pathNormalizer(id);\n const entry =\n normalizedId in manifest\n ? manifest[normalizedId]\n : Object.values(manifest).find((entry) => entry.file === normalizedId);\n if (!entry) {\n throw new Error(\n `Could not find manifest entry for ${id}, ${normalizedId} from ${root}`\n );\n }\n const loaderResult = await load(\n resolvePath(root, outDir, entry.file),\n { format: \"module\" },\n createDefaultLoader({\n id,\n registerServer,\n registerClient,\n alwaysRegisterServer,\n alwaysRegisterClient,\n })\n );\n return loaderResult;\n };\n};\n"],"names":["entry","resolvePath"],"mappings":";;;;AA2BO,MAAM,sBAAsB,CAAC;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA,uBAAuB;AAAA,EACvB,uBAAuB;AACzB,MAAkC;AAChC,QAAM,SAAS,CAAC,CAAC,KAAK,KAAK,MAAqB;AAC1C,QAAA;AACF,UACE,gBAAgB,SAAS,GAAG,KAC3B,wBAAwB,OAAO,UAAU,YAC1C;AACA,eAAO,CAAC,KAAK,wBAAwB,OAAO,IAAI,GAAG,CAAC;AAAA,MAAA;AAEtD,UACE,gBAAgB,SAAS,GAAG,KAC3B,wBAAwB,OAAO,UAAU,YAC1C;AACA,eAAO,CAAC,KAAK,wBAAwB,OAAO,IAAI,GAAG,CAAC;AAAA,MAAA;AAE/C,aAAA,CAAC,KAAK,KAAK;AAAA,aACX,GAAG;AACV,cAAQ,MAAM,sCAAsC,KAAK,OAAO,CAAC;AAC1D,aAAA,CAAC,KAAK,KAAK;AAAA,IAAA;AAAA,EAEtB;AACA,SAAO,OAAO,QACZ,OAAO,YAAY,OAAO,QAAQ,MAAM,OAAO,IAAI,EAAE,IAAI,MAAM,CAAC;AACpE;AAEO,MAAM,mBAAmB,CAAC;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAA+B;AAC7B,QAAM,iBAAiB,6BAA6B;AAAA,IAClD;AAAA,IACA;AAAA,IACA;AAAA,IACA,gBAAgB;AAAA,IAChB,iBAAiB;AAAA,IACjB,sBAAsB,CAAA;AAAA,EAAC,CACxB;AACD,SAAO,OAAO,OAAe;AACrB,UAAA,eAAe,eAAe,EAAE;AACtC,UAAM,QACJ,gBAAgB,WACZ,SAAS,YAAY,IACrB,OAAO,OAAO,QAAQ,EAAE,KAAK,CAACA,WAAUA,OAAM,SAAS,YAAY;AACzE,QAAI,CAAC,OAAO;AACV,YAAM,IAAI;AAAA,QACR,qCAAqC,EAAE,KAAK,YAAY,SAAS,IAAI;AAAA,MACvE;AAAA,IAAA;AAEF,UAAM,eAAe,MAAM;AAAA,MACzBC,QAAY,MAAM,QAAQ,MAAM,IAAI;AAAA,MACpC,EAAE,QAAQ,SAAS;AAAA,MACnB,oBAAoB;AAAA,QAClB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACD,CAAA;AAAA,IACH;AACO,WAAA;AAAA,EACT;AACF;"}
|
package/dist/src/options.js
DELETED
|
@@ -1,307 +0,0 @@
|
|
|
1
|
-
import path from "node:path";
|
|
2
|
-
const DEFAULT_CONFIG = {
|
|
3
|
-
FILE_REGEX: /\.(m|c)?(j|t)sx?$/,
|
|
4
|
-
CLIENT_ASSETS_DIR: "assets",
|
|
5
|
-
RSC_DIR: "rsc",
|
|
6
|
-
MODULE_BASE: "src",
|
|
7
|
-
MODULE_BASE_PATH: "/src",
|
|
8
|
-
MODULE_BASE_URL: "/src",
|
|
9
|
-
PAGE: "/src/page/page.tsx",
|
|
10
|
-
PROPS: "/src/page/props.ts",
|
|
11
|
-
CLIENT_ENTRY: "/src/client.tsx",
|
|
12
|
-
PAGE_EXPORT: "Page",
|
|
13
|
-
PROPS_EXPORT: "props",
|
|
14
|
-
// Use package name paths instead of relative paths
|
|
15
|
-
WORKER_PATH: "vite-plugin-react-server/worker",
|
|
16
|
-
LOADER_PATH: "vite-plugin-react-server/loader",
|
|
17
|
-
RSC_EXTENSION: ".rsc",
|
|
18
|
-
HTML: ({ children }) => children,
|
|
19
|
-
COLLECT_CSS: true,
|
|
20
|
-
COLLECT_ASSETS: true,
|
|
21
|
-
PAGE_PATTERN: "/src/page/**/*.page.tsx",
|
|
22
|
-
PROPS_PATTERN: "/src/page/**/*.props.ts",
|
|
23
|
-
DEV_PORT: 5173,
|
|
24
|
-
PREVIEW_PORT: 4173,
|
|
25
|
-
DEV_HOST: "localhost",
|
|
26
|
-
PREVIEW_HOST: "localhost",
|
|
27
|
-
ENV_PREFIX: "VITE_",
|
|
28
|
-
BUILD: {
|
|
29
|
-
pages: () => ["/"],
|
|
30
|
-
client: "dist/client",
|
|
31
|
-
server: "dist/server"
|
|
32
|
-
},
|
|
33
|
-
AUTO_DISCOVER: {
|
|
34
|
-
pagePattern: "**/*.page.tsx",
|
|
35
|
-
propsPattern: "**/*.props.ts"
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
const resolveUserConfig = (condition, input, config, configEnv, userOptions) => {
|
|
39
|
-
const isReactServer = condition === "react-server";
|
|
40
|
-
const isViteServer = configEnv.command === "serve";
|
|
41
|
-
const isVitePreview = configEnv.isPreview;
|
|
42
|
-
if (isReactServer && configEnv.command === "build") {
|
|
43
|
-
if (!config.build?.rollupOptions?.input) {
|
|
44
|
-
config = {
|
|
45
|
-
...config,
|
|
46
|
-
build: {
|
|
47
|
-
...config.build,
|
|
48
|
-
rollupOptions: {
|
|
49
|
-
...config.build?.rollupOptions,
|
|
50
|
-
input
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
if (typeof config.build?.assetsDir === "string" && userOptions.assetsDir !== config.build?.assetsDir) {
|
|
57
|
-
return {
|
|
58
|
-
type: "error",
|
|
59
|
-
error: new Error(
|
|
60
|
-
`assetsDir cannot be changed after the config has been resolved, before: ${userOptions.assetsDir}, after: ${config.build?.assetsDir}`
|
|
61
|
-
)
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
if (isReactServer) {
|
|
65
|
-
if (configEnv.command === "build") {
|
|
66
|
-
if (!configEnv.isSsrBuild) {
|
|
67
|
-
return {
|
|
68
|
-
type: "error",
|
|
69
|
-
error: new Error(
|
|
70
|
-
"ssr must be true when using the server plugin, NODE_OPTIONS='--conditions react-server' vite build --ssr"
|
|
71
|
-
)
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
} else if (!isViteServer) {
|
|
75
|
-
return {
|
|
76
|
-
type: "error",
|
|
77
|
-
error: new Error(
|
|
78
|
-
isViteServer ? `react-server condition was not set. Please use \`NODE_OPTIONS='--conditions react-server' vite${isVitePreview ? " preview" : ""}\`` : "react-server condition was not set. Please use `NODE_OPTIONS='--conditions react-server' vite build --ssr`"
|
|
79
|
-
)
|
|
80
|
-
};
|
|
81
|
-
} else if (!configEnv.isSsrBuild && configEnv.command !== "serve") {
|
|
82
|
-
return {
|
|
83
|
-
type: "error",
|
|
84
|
-
error: new Error(
|
|
85
|
-
"Vite was run with the react-server condition, but is making a client build."
|
|
86
|
-
)
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
const { root: configRoot, mode: configMode, ...configRest } = config;
|
|
91
|
-
const {
|
|
92
|
-
outDir: configOutDir,
|
|
93
|
-
assetsDir: configAssetsDir,
|
|
94
|
-
ssr: configSsr,
|
|
95
|
-
manifest: configManifest,
|
|
96
|
-
ssrManifest: configSsrManifest,
|
|
97
|
-
ssrEmitAssets: configSsrEmitAssets,
|
|
98
|
-
target: configTarget,
|
|
99
|
-
...configBuildRest
|
|
100
|
-
} = config.build ?? {};
|
|
101
|
-
return {
|
|
102
|
-
type: "success",
|
|
103
|
-
userConfig: {
|
|
104
|
-
...configRest,
|
|
105
|
-
root: configRoot ?? userOptions.projectRoot ?? process.cwd(),
|
|
106
|
-
mode: configMode ?? process.env["NODE_ENV"] ?? "production",
|
|
107
|
-
build: {
|
|
108
|
-
...configBuildRest,
|
|
109
|
-
ssr: configSsr ?? isReactServer,
|
|
110
|
-
manifest: configManifest ?? true,
|
|
111
|
-
ssrManifest: configSsrManifest ?? true,
|
|
112
|
-
ssrEmitAssets: configSsrEmitAssets ?? true,
|
|
113
|
-
target: configTarget ?? "es2020",
|
|
114
|
-
outDir: typeof configOutDir === "string" ? configOutDir : isReactServer ? userOptions.build.server : userOptions.build.client,
|
|
115
|
-
assetsDir: typeof configAssetsDir === "string" ? configAssetsDir : isReactServer ? "" : DEFAULT_CONFIG.CLIENT_ASSETS_DIR
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
};
|
|
119
|
-
};
|
|
120
|
-
const resolveOptions = (options) => {
|
|
121
|
-
const {
|
|
122
|
-
workerPath: optionsWorkerPath,
|
|
123
|
-
loaderPath: optionsLoaderPath,
|
|
124
|
-
projectRoot: optionsProjectRoot,
|
|
125
|
-
moduleBase: optionsModuleBase,
|
|
126
|
-
moduleBasePath: optionsModuleBasePath,
|
|
127
|
-
moduleBaseURL: optionsModuleBaseURL,
|
|
128
|
-
build: optionsBuild,
|
|
129
|
-
Page: optionsPage,
|
|
130
|
-
props: optionsProps,
|
|
131
|
-
Html: optionsHtml,
|
|
132
|
-
pageExportName: optionsPageExportName,
|
|
133
|
-
propsExportName: optionsPropsExportName,
|
|
134
|
-
collectCss: optionsCollectCss,
|
|
135
|
-
collectAssets: optionsCollectAssets,
|
|
136
|
-
assetsDir: optionsAssetsDir,
|
|
137
|
-
clientEntry: optionsClientEntry,
|
|
138
|
-
serverOutDir: optionsServerOutDir,
|
|
139
|
-
clientOutDir: optionsClientOutDir,
|
|
140
|
-
autoDiscover: optionsAutoDiscover,
|
|
141
|
-
moduleBaseExceptions: optionsModuleBaseExceptions,
|
|
142
|
-
...restOptions
|
|
143
|
-
} = options;
|
|
144
|
-
const projectRoot = optionsProjectRoot ?? process.cwd();
|
|
145
|
-
const moduleBase = typeof optionsModuleBase === "string" ? optionsModuleBase.startsWith(path.sep) ? optionsModuleBase.slice(path.sep.length) : optionsModuleBase : DEFAULT_CONFIG.MODULE_BASE;
|
|
146
|
-
if (typeof optionsModuleBase === "string" && optionsModuleBase !== moduleBase) {
|
|
147
|
-
return {
|
|
148
|
-
type: "error",
|
|
149
|
-
error: new Error(
|
|
150
|
-
`moduleBase ${optionsModuleBase} is invalid, should be like ${moduleBase}`
|
|
151
|
-
)
|
|
152
|
-
};
|
|
153
|
-
}
|
|
154
|
-
const moduleBasePath = typeof optionsModuleBasePath === "string" ? !optionsModuleBasePath.startsWith(path.sep) ? `${path.sep}${optionsModuleBasePath}` : optionsModuleBasePath : `${path.sep}${moduleBase}`;
|
|
155
|
-
if (!moduleBasePath.includes(moduleBase)) {
|
|
156
|
-
return {
|
|
157
|
-
type: "error",
|
|
158
|
-
error: new Error(
|
|
159
|
-
`moduleBasePath ${moduleBasePath} is invalid, should include moduleBase ${moduleBase}`
|
|
160
|
-
)
|
|
161
|
-
};
|
|
162
|
-
}
|
|
163
|
-
const moduleBaseURL = typeof optionsModuleBaseURL === "string" ? !optionsModuleBaseURL.endsWith(moduleBasePath) ? path.join(optionsModuleBaseURL, moduleBasePath) : optionsModuleBaseURL : moduleBasePath;
|
|
164
|
-
if (!moduleBaseURL.includes(moduleBasePath)) {
|
|
165
|
-
return {
|
|
166
|
-
type: "error",
|
|
167
|
-
error: new Error(
|
|
168
|
-
`moduleBaseURL ${moduleBaseURL} is invalid, should include moduleBasePath ${moduleBasePath}`
|
|
169
|
-
)
|
|
170
|
-
};
|
|
171
|
-
}
|
|
172
|
-
if (typeof optionsModuleBaseURL === "string" && optionsModuleBaseURL !== moduleBaseURL) {
|
|
173
|
-
return {
|
|
174
|
-
type: "error",
|
|
175
|
-
error: new Error(
|
|
176
|
-
`moduleBaseURL ${optionsModuleBaseURL} is invalid, should be like ${moduleBaseURL}`
|
|
177
|
-
)
|
|
178
|
-
};
|
|
179
|
-
}
|
|
180
|
-
const build = optionsBuild ? {
|
|
181
|
-
client: optionsBuild.client ?? DEFAULT_CONFIG.BUILD.client,
|
|
182
|
-
pages: optionsBuild.pages ?? DEFAULT_CONFIG.BUILD.pages,
|
|
183
|
-
server: optionsBuild.server ?? DEFAULT_CONFIG.BUILD.server
|
|
184
|
-
} : DEFAULT_CONFIG.BUILD;
|
|
185
|
-
const autoDiscover = typeof optionsAutoDiscover === "object" ? {
|
|
186
|
-
pagePattern: typeof optionsAutoDiscover.pagePattern === "string" ? optionsAutoDiscover.pagePattern : DEFAULT_CONFIG.AUTO_DISCOVER.pagePattern,
|
|
187
|
-
propsPattern: typeof optionsAutoDiscover.propsPattern === "string" ? optionsAutoDiscover.propsPattern : DEFAULT_CONFIG.AUTO_DISCOVER.propsPattern
|
|
188
|
-
} : DEFAULT_CONFIG.AUTO_DISCOVER;
|
|
189
|
-
const workerPath = typeof optionsWorkerPath === "string" ? optionsWorkerPath : DEFAULT_CONFIG.WORKER_PATH;
|
|
190
|
-
const loaderPath = typeof optionsLoaderPath === "string" ? optionsLoaderPath : DEFAULT_CONFIG.LOADER_PATH;
|
|
191
|
-
return {
|
|
192
|
-
type: "success",
|
|
193
|
-
userOptions: {
|
|
194
|
-
...DEFAULT_CONFIG,
|
|
195
|
-
...restOptions,
|
|
196
|
-
moduleBase,
|
|
197
|
-
moduleBasePath,
|
|
198
|
-
moduleBaseURL,
|
|
199
|
-
build,
|
|
200
|
-
Page: optionsPage ?? DEFAULT_CONFIG.PAGE,
|
|
201
|
-
props: optionsProps ?? DEFAULT_CONFIG.PROPS,
|
|
202
|
-
Html: optionsHtml ?? DEFAULT_CONFIG.HTML,
|
|
203
|
-
pageExportName: optionsPageExportName ?? DEFAULT_CONFIG.PAGE_EXPORT,
|
|
204
|
-
propsExportName: optionsPropsExportName ?? DEFAULT_CONFIG.PROPS_EXPORT,
|
|
205
|
-
collectCss: optionsCollectCss ?? DEFAULT_CONFIG.COLLECT_CSS,
|
|
206
|
-
collectAssets: optionsCollectAssets ?? DEFAULT_CONFIG.COLLECT_ASSETS,
|
|
207
|
-
projectRoot,
|
|
208
|
-
assetsDir: optionsAssetsDir ?? DEFAULT_CONFIG.CLIENT_ASSETS_DIR,
|
|
209
|
-
workerPath,
|
|
210
|
-
loaderPath,
|
|
211
|
-
clientEntry: optionsClientEntry ?? DEFAULT_CONFIG.CLIENT_ENTRY,
|
|
212
|
-
serverOutDir: optionsServerOutDir ?? DEFAULT_CONFIG.BUILD.server,
|
|
213
|
-
clientOutDir: optionsClientOutDir ?? DEFAULT_CONFIG.BUILD.client,
|
|
214
|
-
autoDiscover,
|
|
215
|
-
moduleBaseExceptions: [
|
|
216
|
-
workerPath,
|
|
217
|
-
loaderPath,
|
|
218
|
-
...optionsModuleBaseExceptions ?? []
|
|
219
|
-
]
|
|
220
|
-
}
|
|
221
|
-
};
|
|
222
|
-
};
|
|
223
|
-
async function resolvePages(pages) {
|
|
224
|
-
if (!pages) {
|
|
225
|
-
return {
|
|
226
|
-
type: "success",
|
|
227
|
-
pages: []
|
|
228
|
-
};
|
|
229
|
-
}
|
|
230
|
-
if (typeof pages === "function") {
|
|
231
|
-
try {
|
|
232
|
-
return resolvePages(await Promise.resolve(pages()));
|
|
233
|
-
} catch (error) {
|
|
234
|
-
return {
|
|
235
|
-
type: "error",
|
|
236
|
-
error: error instanceof Error ? error : new Error(
|
|
237
|
-
`build.pages must be a array of strings, or a (async) function that returns a string or an array of strings. Got "${JSON.stringify(
|
|
238
|
-
pages
|
|
239
|
-
)}"`,
|
|
240
|
-
{
|
|
241
|
-
cause: error
|
|
242
|
-
}
|
|
243
|
-
)
|
|
244
|
-
};
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
try {
|
|
248
|
-
const result = pages;
|
|
249
|
-
const awaited = "then" in result ? await result : result;
|
|
250
|
-
if (typeof awaited === "string") {
|
|
251
|
-
return {
|
|
252
|
-
type: "success",
|
|
253
|
-
pages: [awaited]
|
|
254
|
-
};
|
|
255
|
-
}
|
|
256
|
-
if (Array.isArray(awaited)) {
|
|
257
|
-
if (awaited.every((page) => typeof page === "string")) {
|
|
258
|
-
return {
|
|
259
|
-
type: "success",
|
|
260
|
-
pages: awaited
|
|
261
|
-
};
|
|
262
|
-
} else {
|
|
263
|
-
return {
|
|
264
|
-
type: "error",
|
|
265
|
-
error: new Error(
|
|
266
|
-
`build.pages must be a array of strings, or a (async) function that returns a string or an array of strings. Got "${JSON.stringify(
|
|
267
|
-
awaited.find((page) => typeof page !== "string")
|
|
268
|
-
)}"`,
|
|
269
|
-
{
|
|
270
|
-
cause: awaited
|
|
271
|
-
}
|
|
272
|
-
)
|
|
273
|
-
};
|
|
274
|
-
}
|
|
275
|
-
}
|
|
276
|
-
return {
|
|
277
|
-
type: "error",
|
|
278
|
-
error: new Error(
|
|
279
|
-
`build.pages must be a array of strings, or a (async) function that returns a string or an array of strings. Got "${JSON.stringify(
|
|
280
|
-
pages
|
|
281
|
-
)}"`,
|
|
282
|
-
{
|
|
283
|
-
cause: pages
|
|
284
|
-
}
|
|
285
|
-
)
|
|
286
|
-
};
|
|
287
|
-
} catch (error) {
|
|
288
|
-
return {
|
|
289
|
-
type: "error",
|
|
290
|
-
error: error instanceof Error ? error : new Error(
|
|
291
|
-
`build.pages must be a array of strings, or a (async) function that returns a string or an array of strings. Got "${JSON.stringify(
|
|
292
|
-
error
|
|
293
|
-
)}"`,
|
|
294
|
-
{
|
|
295
|
-
cause: error
|
|
296
|
-
}
|
|
297
|
-
)
|
|
298
|
-
};
|
|
299
|
-
}
|
|
300
|
-
}
|
|
301
|
-
export {
|
|
302
|
-
DEFAULT_CONFIG,
|
|
303
|
-
resolveOptions,
|
|
304
|
-
resolvePages,
|
|
305
|
-
resolveUserConfig
|
|
306
|
-
};
|
|
307
|
-
//# sourceMappingURL=options.js.map
|
package/dist/src/options.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sources":["../../src/options.ts"],"sourcesContent":["import path from \"node:path\";\nimport type { ConfigEnv, ResolvedConfig, UserConfig } from \"vite\";\nimport type { ResolvedUserConfig, ResolvedUserOptions, StreamPluginOptions } from \"./types.js\";\nimport type { InputOption } from \"rollup\";\n// Default configuration values\nexport const DEFAULT_CONFIG = {\n FILE_REGEX: /\\.(m|c)?(j|t)sx?$/,\n CLIENT_ASSETS_DIR: \"assets\",\n RSC_DIR: \"rsc\",\n MODULE_BASE: \"src\",\n MODULE_BASE_PATH: \"/src\",\n MODULE_BASE_URL: \"/src\",\n PAGE: \"/src/page/page.tsx\",\n PROPS: \"/src/page/props.ts\",\n CLIENT_ENTRY: \"/src/client.tsx\",\n PAGE_EXPORT: \"Page\",\n PROPS_EXPORT: \"props\",\n // Use package name paths instead of relative paths\n WORKER_PATH: \"vite-plugin-react-server/worker\",\n LOADER_PATH: \"vite-plugin-react-server/loader\",\n RSC_EXTENSION: \".rsc\",\n HTML: ({ children }: { children: any }) => children,\n COLLECT_CSS: true,\n COLLECT_ASSETS: true,\n PAGE_PATTERN: \"/src/page/**/*.page.tsx\",\n PROPS_PATTERN: \"/src/page/**/*.props.ts\",\n DEV_PORT: 5173,\n PREVIEW_PORT: 4173,\n DEV_HOST: \"localhost\",\n PREVIEW_HOST: \"localhost\",\n ENV_PREFIX: \"VITE_\",\n BUILD: {\n pages: () => [\"/\"],\n client: \"dist/client\",\n server: \"dist/server\",\n },\n AUTO_DISCOVER: {\n pagePattern: \"**/*.page.tsx\",\n propsPattern: \"**/*.props.ts\",\n },\n} as const;\n\nexport const resolveConfig = <T extends ResolvedConfig>(\n config: T,\n resolvedUserConfig: UserConfig,\n userOptions: ResolvedUserOptions\n) => {\n return {\n ...config,\n build: {\n ...config.build,\n assetsDir: config.build?.assetsDir ?? DEFAULT_CONFIG.CLIENT_ASSETS_DIR,\n },\n };\n};\n\nexport const resolveUserConfig = (\n condition: \"react-client\" | \"react-server\",\n input: InputOption,\n config: UserConfig,\n configEnv: ConfigEnv,\n userOptions: ResolvedUserOptions\n):\n | { type: \"error\"; error: Error }\n | {\n type: \"success\";\n userConfig: ResolvedUserConfig;\n } => {\n const isReactServer = condition === \"react-server\";\n const isViteServer = configEnv.command === \"serve\";\n const isVitePreview = configEnv.isPreview;\n\n if (isReactServer && configEnv.command === \"build\") {\n if (!config.build?.rollupOptions?.input) {\n config = {\n ...config,\n build: {\n ...config.build,\n rollupOptions: {\n ...config.build?.rollupOptions,\n input: input,\n },\n },\n };\n }\n }\n\n if (\n typeof config.build?.assetsDir === \"string\" &&\n userOptions.assetsDir !== config.build?.assetsDir\n ) {\n return {\n type: \"error\",\n error: new Error(\n `assetsDir cannot be changed after the config has been resolved, before: ${userOptions.assetsDir}, after: ${config.build?.assetsDir}`\n ),\n };\n }\n\n if (isReactServer) {\n if (configEnv.command === \"build\") {\n if (!configEnv.isSsrBuild) {\n return {\n type: \"error\",\n error: new Error(\n \"ssr must be true when using the server plugin, NODE_OPTIONS='--conditions react-server' vite build --ssr\"\n ),\n };\n }\n } else if (!isViteServer) {\n return {\n type: \"error\",\n error: new Error(\n isViteServer\n ? `react-server condition was not set. Please use \\`NODE_OPTIONS='--conditions react-server' vite${\n isVitePreview ? \" preview\" : \"\"\n }\\``\n : \"react-server condition was not set. Please use `NODE_OPTIONS='--conditions react-server' vite build --ssr`\"\n ),\n };\n } else if (!configEnv.isSsrBuild && configEnv.command !== \"serve\") {\n return {\n type: \"error\",\n error: new Error(\n \"Vite was run with the react-server condition, but is making a client build.\"\n ),\n };\n }\n }\n\n const { root: configRoot, mode: configMode, ...configRest } = config;\n const {\n outDir: configOutDir,\n assetsDir: configAssetsDir,\n ssr: configSsr,\n manifest: configManifest,\n ssrManifest: configSsrManifest,\n ssrEmitAssets: configSsrEmitAssets,\n target: configTarget,\n ...configBuildRest\n } = config.build ?? {};\n\n return {\n type: \"success\",\n userConfig: {\n ...configRest,\n root: configRoot ?? userOptions.projectRoot ?? process.cwd(),\n mode: configMode ?? process.env[\"NODE_ENV\"] ?? \"production\",\n build: {\n ...configBuildRest,\n ssr: configSsr ?? isReactServer,\n manifest: configManifest ?? true,\n ssrManifest: configSsrManifest ?? true,\n ssrEmitAssets: configSsrEmitAssets ?? true,\n target: configTarget ?? \"es2020\",\n outDir:\n typeof configOutDir === \"string\"\n ? configOutDir\n : isReactServer\n ? userOptions.build.server\n : userOptions.build.client,\n assetsDir:\n typeof configAssetsDir === \"string\"\n ? configAssetsDir\n : isReactServer\n ? \"\"\n : DEFAULT_CONFIG.CLIENT_ASSETS_DIR,\n },\n },\n };\n};\n\nexport const resolveOptions = (\n options: StreamPluginOptions\n):\n | {\n type: \"success\";\n userOptions: ResolvedUserOptions;\n }\n | {\n type: \"error\";\n error: Error;\n } => {\n const {\n workerPath: optionsWorkerPath,\n loaderPath: optionsLoaderPath,\n projectRoot: optionsProjectRoot,\n moduleBase: optionsModuleBase,\n moduleBasePath: optionsModuleBasePath,\n moduleBaseURL: optionsModuleBaseURL,\n build: optionsBuild,\n Page: optionsPage,\n props: optionsProps,\n Html: optionsHtml,\n pageExportName: optionsPageExportName,\n propsExportName: optionsPropsExportName,\n collectCss: optionsCollectCss,\n collectAssets: optionsCollectAssets,\n assetsDir: optionsAssetsDir,\n clientEntry: optionsClientEntry,\n serverOutDir: optionsServerOutDir,\n clientOutDir: optionsClientOutDir,\n autoDiscover: optionsAutoDiscover,\n moduleBaseExceptions: optionsModuleBaseExceptions,\n ...restOptions\n } = options;\n const projectRoot = optionsProjectRoot ?? process.cwd();\n /** the module base can be assumed to not have a leading slash */\n const moduleBase =\n typeof optionsModuleBase === \"string\"\n ? optionsModuleBase.startsWith(path.sep)\n ? optionsModuleBase.slice(path.sep.length)\n : optionsModuleBase\n : DEFAULT_CONFIG.MODULE_BASE;\n\n if (\n typeof optionsModuleBase === \"string\" &&\n optionsModuleBase !== moduleBase\n ) {\n return {\n type: \"error\",\n error: new Error(\n `moduleBase ${optionsModuleBase} is invalid, should be like ${moduleBase}`\n ),\n };\n }\n\n const moduleBasePath =\n typeof optionsModuleBasePath === \"string\"\n ? !optionsModuleBasePath.startsWith(path.sep)\n ? `${path.sep}${optionsModuleBasePath}`\n : optionsModuleBasePath\n : `${path.sep}${moduleBase}`;\n\n if (!moduleBasePath.includes(moduleBase)) {\n return {\n type: \"error\",\n error: new Error(\n `moduleBasePath ${moduleBasePath} is invalid, should include moduleBase ${moduleBase}`\n ),\n };\n }\n\n const moduleBaseURL =\n typeof optionsModuleBaseURL === \"string\"\n ? !optionsModuleBaseURL.endsWith(moduleBasePath)\n ? path.join(optionsModuleBaseURL, moduleBasePath)\n : optionsModuleBaseURL\n : moduleBasePath;\n\n if (!moduleBaseURL.includes(moduleBasePath)) {\n return {\n type: \"error\",\n error: new Error(\n `moduleBaseURL ${moduleBaseURL} is invalid, should include moduleBasePath ${moduleBasePath}`\n ),\n };\n }\n\n if (\n typeof optionsModuleBaseURL === \"string\" &&\n optionsModuleBaseURL !== moduleBaseURL\n ) {\n return {\n type: \"error\",\n error: new Error(\n `moduleBaseURL ${optionsModuleBaseURL} is invalid, should be like ${moduleBaseURL}`\n ),\n };\n }\n\n const build = optionsBuild\n ? {\n client: optionsBuild.client ?? DEFAULT_CONFIG.BUILD.client,\n pages: optionsBuild.pages ?? DEFAULT_CONFIG.BUILD.pages,\n server: optionsBuild.server ?? DEFAULT_CONFIG.BUILD.server,\n }\n : DEFAULT_CONFIG.BUILD;\n\n const autoDiscover =\n typeof optionsAutoDiscover === \"object\"\n ? {\n pagePattern:\n typeof optionsAutoDiscover.pagePattern === \"string\"\n ? optionsAutoDiscover.pagePattern\n : DEFAULT_CONFIG.AUTO_DISCOVER.pagePattern,\n propsPattern:\n typeof optionsAutoDiscover.propsPattern === \"string\"\n ? optionsAutoDiscover.propsPattern\n : DEFAULT_CONFIG.AUTO_DISCOVER.propsPattern,\n }\n : DEFAULT_CONFIG.AUTO_DISCOVER;\n\n const workerPath = typeof optionsWorkerPath === \"string\" ? optionsWorkerPath : DEFAULT_CONFIG.WORKER_PATH;\n const loaderPath = typeof optionsLoaderPath === \"string\" ? optionsLoaderPath : DEFAULT_CONFIG.LOADER_PATH;\n return {\n type: \"success\",\n userOptions: {\n ...DEFAULT_CONFIG,\n ...restOptions,\n moduleBase,\n moduleBasePath,\n moduleBaseURL,\n build,\n Page: optionsPage ?? DEFAULT_CONFIG.PAGE,\n props: optionsProps ?? DEFAULT_CONFIG.PROPS,\n Html: optionsHtml ?? DEFAULT_CONFIG.HTML,\n pageExportName: optionsPageExportName ?? DEFAULT_CONFIG.PAGE_EXPORT,\n propsExportName: optionsPropsExportName ?? DEFAULT_CONFIG.PROPS_EXPORT,\n collectCss: optionsCollectCss ?? DEFAULT_CONFIG.COLLECT_CSS,\n collectAssets: optionsCollectAssets ?? DEFAULT_CONFIG.COLLECT_ASSETS,\n projectRoot: projectRoot,\n assetsDir: optionsAssetsDir ?? DEFAULT_CONFIG.CLIENT_ASSETS_DIR,\n workerPath: workerPath,\n loaderPath: loaderPath,\n clientEntry: optionsClientEntry ?? DEFAULT_CONFIG.CLIENT_ENTRY,\n serverOutDir: optionsServerOutDir ?? DEFAULT_CONFIG.BUILD.server,\n clientOutDir: optionsClientOutDir ?? DEFAULT_CONFIG.BUILD.client,\n autoDiscover: autoDiscover,\n moduleBaseExceptions: [\n workerPath,\n loaderPath,\n ...(optionsModuleBaseExceptions ?? []),\n ],\n } satisfies ResolvedUserOptions,\n };\n};\n\nexport async function resolvePages(\n pages: ResolvedUserOptions[\"build\"][\"pages\"]\n): Promise<\n | {\n type: \"success\";\n pages: string[];\n }\n | {\n type: \"error\";\n error: Error;\n }\n> {\n if (!pages) {\n return {\n type: \"success\",\n pages: [],\n };\n }\n if (typeof pages === \"function\") {\n try {\n return resolvePages(await Promise.resolve(pages()));\n } catch (error) {\n return {\n type: \"error\",\n error:\n error instanceof Error\n ? error\n : new Error(\n `build.pages must be a array of strings, or a (async) function that returns a string or an array of strings. Got \"${JSON.stringify(\n pages\n )}\"`,\n {\n cause: error,\n }\n ),\n };\n }\n }\n try {\n const result = pages;\n const awaited = \"then\" in result ? await result : result;\n if (typeof awaited === \"string\") {\n return {\n type: \"success\",\n pages: [awaited],\n };\n }\n if (Array.isArray(awaited)) {\n if (awaited.every((page) => typeof page === \"string\")) {\n return {\n type: \"success\",\n pages: awaited,\n };\n } else {\n return {\n type: \"error\",\n error: new Error(\n `build.pages must be a array of strings, or a (async) function that returns a string or an array of strings. Got \"${JSON.stringify(\n awaited.find((page) => typeof page !== \"string\")\n )}\"`,\n {\n cause: awaited,\n }\n ),\n };\n }\n }\n return {\n type: \"error\",\n error: new Error(\n `build.pages must be a array of strings, or a (async) function that returns a string or an array of strings. Got \"${JSON.stringify(\n pages\n )}\"`,\n {\n cause: pages,\n }\n ),\n };\n } catch (error) {\n return {\n type: \"error\",\n error:\n error instanceof Error\n ? error\n : new Error(\n `build.pages must be a array of strings, or a (async) function that returns a string or an array of strings. Got \"${JSON.stringify(\n error\n )}\"`,\n {\n cause: error,\n }\n ),\n };\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createHandler.js","sources":["../../../src/react-server/createHandler.ts"],"sourcesContent":["import { createLogger } from \"vite\";\nimport {\n collectManifestCss,\n collectModuleGraphCss,\n} from \"../collect-css-manifest.js\";\nimport { DEFAULT_CONFIG } from \"../options.js\";\nimport { resolvePage } from \"../resolvePage.js\";\nimport { resolveProps } from \"../resolveProps.js\";\nimport type { CreateHandlerOptions, StreamPluginOptions } from \"../types.js\";\nimport { createRscStream } from \"./createRscStream.js\";\n\nexport async function createHandler<T>(\n url: string,\n pluginOptions: Pick<\n StreamPluginOptions,\n \"Page\" | \"props\" | \"build\" | \"Html\" | \"pageExportName\" | \"propsExportName\"\n > &\n Required<\n Pick<StreamPluginOptions, \"moduleBase\" | \"moduleBasePath\" | \"projectRoot\">\n >,\n streamOptions: CreateHandlerOptions<T>\n) {\n const root = pluginOptions.projectRoot ?? process.cwd();\n\n const Html = pluginOptions.Html ?? DEFAULT_CONFIG.HTML;\n const pageExportName =\n pluginOptions.pageExportName ?? DEFAULT_CONFIG.PAGE_EXPORT;\n const propsExportName =\n pluginOptions.propsExportName ?? DEFAULT_CONFIG.PROPS_EXPORT;\n const controller = new AbortController();\n\n const cssFiles = streamOptions.cssFiles;\n const propsPath =\n typeof pluginOptions.props === \"function\"\n ? pluginOptions.props(url)\n : pluginOptions.props;\n const pagePath =\n typeof pluginOptions.Page === \"function\"\n ? pluginOptions.Page(url)\n : pluginOptions.Page;\n\n const cssModules = new Set<string>();\n\n if (!(streamOptions.manifest || streamOptions.moduleGraph))\n throw new Error(\"Missing manifest or moduleGraph, pass it to options.\");\n\n const getCss = streamOptions.manifest\n ? (id: string) =>\n collectManifestCss(\n streamOptions.manifest!,\n root,\n id,\n streamOptions.onCssFile\n )\n : (id: string) => collectModuleGraphCss(streamOptions.moduleGraph!, id);\n\n const loadWithCss = async (id: string) => {\n if (!id) return {};\n\n try {\n const mod = await streamOptions.loader(id);\n const pageCss = await Promise.resolve(getCss(id));\n Array.from(pageCss.keys()).forEach((css) => cssModules.add(css));\n return mod as Record<string, any>;\n } catch (e: any) {\n if (e.message?.includes(\"module runner has been closed\")) {\n return { type: \"skip\" } as Record<string, any>;\n } else {\n return { type: \"error\", error: e } as Record<string, any>;\n }\n }\n };\n\n const PropsModule = await resolveProps({\n propsModule: await loadWithCss(propsPath ?? pagePath),\n path: String(propsPath ?? pagePath),\n exportName: propsExportName,\n url,\n });\n if (PropsModule.type === \"error\")\n return { type: PropsModule.type, error: PropsModule?.error };\n if (PropsModule.type === \"skip\") return { type: PropsModule.type };\n const props = PropsModule[propsExportName as keyof typeof PropsModule] as any;\n if (props?.type === \"error\") return { type: props.type, error: props.error };\n if (props?.type === \"skip\") return { type: props.type };\n\n const PageModule = await resolvePage({\n pageModule: await loadWithCss(pagePath),\n path: pagePath,\n exportName: pageExportName,\n url,\n });\n if (PageModule.type === \"error\")\n return { type: PageModule.type, error: PageModule.error };\n if (PageModule.type === \"skip\") return { type: PageModule.type };\n const Page = PageModule[pageExportName as keyof typeof PageModule] as any;\n if (Page?.type === \"error\") return { type: Page.type, error: Page.error };\n if (Page?.type === \"skip\") return { type: Page.type };\n if (!(typeof Page === \"function\")) {\n return {\n type: \"error\",\n error: new Error(\"Invalid Page component: \" + pagePath, {\n cause: Page,\n }),\n };\n }\n if (!(typeof props === \"object\")) {\n return {\n type: \"error\",\n error: new Error(\"Invalid props: \" + propsPath, {\n cause: props,\n }),\n };\n }\n\n // Add any additional CSS files\n if (streamOptions.cssFiles) {\n streamOptions.cssFiles.forEach((css) => cssModules.add(css));\n }\n const stream = createRscStream({\n Html: Html,\n Page: Page,\n props: props,\n moduleBasePath: pluginOptions.moduleBasePath, // eg /src\n logger: streamOptions.logger ?? createLogger(),\n cssFiles: Array.from(cssModules),\n route: url,\n url,\n pipableStreamOptions: streamOptions.pipableStreamOptions,\n });\n\n if (!stream) {\n return { type: \"skip\" as const };\n }\n\n return {\n type: \"success\" as const,\n controller,\n stream,\n assets: {\n css: cssFiles,\n },\n };\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createRscStream.js","sources":["../../../src/react-server/createRscStream.ts"],"sourcesContent":["import React from \"react\";\nimport {\n renderToPipeableStream,\n type PipeableStream,\n} from \"react-server-dom-esm/server.node\";\nimport { CssCollector } from \"../components.js\";\nimport type { RscStreamOptions } from \"../types.js\";\n\nexport function createRscStream(\n streamOptions: RscStreamOptions\n): PipeableStream {\n const {\n Html,\n Page,\n props,\n logger,\n cssFiles,\n route,\n url,\n moduleBasePath,\n pipableStreamOptions,\n } = streamOptions;\n const css = Array.isArray(cssFiles)\n ? cssFiles.map((css, index) =>\n React.createElement(CssCollector, {\n key: `css-${index}`,\n url: css,\n })\n )\n : [];\n return renderToPipeableStream(\n React.createElement(\n Html,\n {\n key: \"html\",\n pageProps: props,\n moduleBasePath: moduleBasePath,\n route,\n url,\n },\n React.createElement(Page, { key: \"page\", ...props }),\n ...css\n ),\n moduleBasePath,\n {\n onError: logger?.error ?? console.error,\n onPostpone: logger?.info ?? console.info,\n environmentName: \"Server\",\n ...pipableStreamOptions,\n }\n );\n}\n"],"names":["css"],"mappings":";;;AAQO,SAAS,gBACd,eACgB;AACV,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACE;AACJ,QAAM,MAAM,MAAM,QAAQ,QAAQ,IAC9B,SAAS;AAAA,IAAI,CAACA,MAAK,UACjB,MAAM,cAAc,cAAc;AAAA,MAChC,KAAK,OAAO,KAAK;AAAA,MACjB,KAAKA;AAAAA,IACN,CAAA;AAAA,EAAA,IAEH,CAAC;AACE,SAAA;AAAA,IACL,MAAM;AAAA,MACJ;AAAA,MACA;AAAA,QACE,KAAK;AAAA,QACL,WAAW;AAAA,QACX;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,MAAM,cAAc,MAAM,EAAE,KAAK,QAAQ,GAAG,OAAO;AAAA,MACnD,GAAG;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,MACE,SAAS,QAAQ,SAAS,QAAQ;AAAA,MAClC,YAAY,QAAQ,QAAQ,QAAQ;AAAA,MACpC,iBAAiB;AAAA,MACjB,GAAG;AAAA,IAAA;AAAA,EAEP;AACF;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resolvePage.js","sources":["../../src/resolvePage.ts"],"sourcesContent":["type ResolvePageOptions = {\n pageModule: Record<string, any>;\n path: string;\n url: string;\n exportName: string;\n};\n\ntype ResolvePageResult =\n | { type: \"success\"; key: string; Page: any }\n | { type: \"error\"; error: Error }\n | { type: \"skip\" };\n\nexport async function resolvePage({\n pageModule,\n path,\n url,\n exportName,\n}: ResolvePageOptions): Promise<ResolvePageResult> {\n if (!pageModule) {\n return {\n type: \"error\",\n error: new Error(`pageModule is ${typeof pageModule}`),\n };\n }\n const keys =\n typeof pageModule === \"object\" && pageModule != null\n ? Object.keys(pageModule)\n : [];\n const found = keys.find((v) => v === exportName || v === url || v === path);\n if (found) {\n if (typeof pageModule[found] === \"function\") {\n return {\n type: \"success\",\n key: found,\n Page: pageModule[found],\n };\n } else {\n if (\n typeof pageModule === \"object\" &&\n pageModule != null &&\n Object.keys(pageModule).includes(\"type\")\n )\n return pageModule as ResolvePageResult;\n return {\n type: \"error\",\n [exportName]: () => found,\n error: pageModule[found][\"error\"],\n };\n }\n }\n if (keys.includes(\"type\")) return pageModule as ResolvePageResult;\n return {\n type: \"error\",\n error: new Error(\n `Could not find Page export \"${exportName}\" in \"${path}\". ${\n typeof pageModule === \"object\" && pageModule != null\n ? keys.length\n ? \"Available exports: \" + keys.join(\", \")\n : \"The object was defined but has no properties.\"\n : \"typeof pageModule =\" + typeof pageModule\n }`,\n { cause: pageModule }\n ),\n };\n}\n"],"names":[],"mappings":"AAYA,eAAsB,YAAY;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAmD;AACjD,MAAI,CAAC,YAAY;AACR,WAAA;AAAA,MACL,MAAM;AAAA,MACN,OAAO,IAAI,MAAM,iBAAiB,OAAO,UAAU,EAAE;AAAA,IACvD;AAAA,EAAA;AAEI,QAAA,OACJ,OAAO,eAAe,YAAY,cAAc,OAC5C,OAAO,KAAK,UAAU,IACtB,CAAC;AACD,QAAA,QAAQ,KAAK,KAAK,CAAC,MAAM,MAAM,cAAc,MAAM,OAAO,MAAM,IAAI;AAC1E,MAAI,OAAO;AACT,QAAI,OAAO,WAAW,KAAK,MAAM,YAAY;AACpC,aAAA;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,MAAM,WAAW,KAAK;AAAA,MACxB;AAAA,IAAA,OACK;AAEH,UAAA,OAAO,eAAe,YACtB,cAAc,QACd,OAAO,KAAK,UAAU,EAAE,SAAS,MAAM;AAEhC,eAAA;AACF,aAAA;AAAA,QACL,MAAM;AAAA,QACN,CAAC,UAAU,GAAG,MAAM;AAAA,QACpB,OAAO,WAAW,KAAK,EAAE,OAAO;AAAA,MAClC;AAAA,IAAA;AAAA,EACF;AAEF,MAAI,KAAK,SAAS,MAAM,EAAU,QAAA;AAC3B,SAAA;AAAA,IACL,MAAM;AAAA,IACN,OAAO,IAAI;AAAA,MACT,+BAA+B,UAAU,SAAS,IAAI,MACpD,OAAO,eAAe,YAAY,cAAc,OAC5C,KAAK,SACH,wBAAwB,KAAK,KAAK,IAAI,IACtC,kDACF,wBAAwB,OAAO,UACrC;AAAA,MACA,EAAE,OAAO,WAAW;AAAA,IAAA;AAAA,EAExB;AACF;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resolveProps.js","sources":["../../src/resolveProps.ts"],"sourcesContent":["type ResolvePropsOptions = {\n propsModule: Record<string, any>;\n path: string;\n exportName: string;\n url: string;\n};\n\ntype ResolvePropsResult =\n | { type: \"success\"; key: string; props: any }\n | { type: \"error\"; error: Error }\n | { type: \"skip\" };\n\nfunction isFunction(value: any) {\n return typeof value === \"function\";\n}\n\nexport async function resolveProps({\n propsModule,\n path,\n exportName,\n url,\n}: ResolvePropsOptions): Promise<ResolvePropsResult> {\n if (!propsModule) {\n return {\n type: \"error\",\n error: new Error(`propsModule is ${typeof propsModule}`),\n };\n }\n\n if (typeof propsModule !== \"object\") {\n return {\n type: \"error\",\n error: new Error(\n `propsModule must be an object, got ${typeof propsModule}`\n ),\n };\n }\n\n const keys = Object.keys(propsModule);\n const found = keys.find((v) => v === exportName || v === url || v === path);\n if (found) {\n const value = propsModule[found];\n\n try {\n // If it's a function, call it with the URL\n if (isFunction(value)) {\n const props = await value(url);\n return {\n type: \"success\",\n key: found,\n props,\n };\n }\n\n // If it's a promise, await it\n if (value && typeof value.then === \"function\") {\n const props = await value;\n return {\n type: \"success\",\n key: found,\n props,\n };\n }\n\n // If it's a plain object, use it directly\n if (typeof value === \"object\" && value !== null) {\n return {\n type: \"success\",\n key: found,\n props: value,\n };\n }\n\n console.warn(found, \"error in resolveProps\", propsModule, url, path);\n return {\n type: \"error\",\n error: new Error(\n `Expected props export \"${exportName}\" in \"${path}\" to be a function, promise, or object that resolves to props, instead got typeof ${typeof value}.`\n ),\n };\n } catch (error) {\n console.warn(found, \"error in resolveProps\", propsModule, url, path);\n return {\n type: \"error\",\n error: error as Error,\n };\n }\n }\n const commonjs = keys.find((v) => v === \"exports\");\n\n if (!!commonjs) {\n const exportKeys = (commonjs as unknown as { exports: any })[\"exports\"]\n ? Object.keys((commonjs as unknown as { exports: any })[\"exports\"])\n : [];\n const foundCommonJS = exportKeys.find(\n (v) => v === exportName || v === url || v === path\n );\n return {\n type: \"error\",\n error: new Error(\n `Expected props export \"${exportName}\" in \"${path}\", but instead got \"exports\" with ${\n !!foundCommonJS\n ? foundCommonJS.toString()\n : exportKeys.length\n ? exportKeys.join(\", \")\n : \"no keys\"\n }, this will not work. Make sure to set esModule: true in rollupOptions.output`\n ),\n };\n }\n\n return {\n type: \"error\",\n error: new Error(\n `Could not find props export \"${exportName}\" in \"${path}\". ${\n keys.length\n ? \"Available exports: \" + keys.join(\", \")\n : \"The object was defined but has no properties.\"\n }`\n ),\n };\n}\n"],"names":[],"mappings":"AAYA,SAAS,WAAW,OAAY;AAC9B,SAAO,OAAO,UAAU;AAC1B;AAEA,eAAsB,aAAa;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAqD;AACnD,MAAI,CAAC,aAAa;AACT,WAAA;AAAA,MACL,MAAM;AAAA,MACN,OAAO,IAAI,MAAM,kBAAkB,OAAO,WAAW,EAAE;AAAA,IACzD;AAAA,EAAA;AAGE,MAAA,OAAO,gBAAgB,UAAU;AAC5B,WAAA;AAAA,MACL,MAAM;AAAA,MACN,OAAO,IAAI;AAAA,QACT,sCAAsC,OAAO,WAAW;AAAA,MAAA;AAAA,IAE5D;AAAA,EAAA;AAGI,QAAA,OAAO,OAAO,KAAK,WAAW;AAC9B,QAAA,QAAQ,KAAK,KAAK,CAAC,MAAM,MAAM,cAAc,MAAM,OAAO,MAAM,IAAI;AAC1E,MAAI,OAAO;AACH,UAAA,QAAQ,YAAY,KAAK;AAE3B,QAAA;AAEE,UAAA,WAAW,KAAK,GAAG;AACf,cAAA,QAAQ,MAAM,MAAM,GAAG;AACtB,eAAA;AAAA,UACL,MAAM;AAAA,UACN,KAAK;AAAA,UACL;AAAA,QACF;AAAA,MAAA;AAIF,UAAI,SAAS,OAAO,MAAM,SAAS,YAAY;AAC7C,cAAM,QAAQ,MAAM;AACb,eAAA;AAAA,UACL,MAAM;AAAA,UACN,KAAK;AAAA,UACL;AAAA,QACF;AAAA,MAAA;AAIF,UAAI,OAAO,UAAU,YAAY,UAAU,MAAM;AACxC,eAAA;AAAA,UACL,MAAM;AAAA,UACN,KAAK;AAAA,UACL,OAAO;AAAA,QACT;AAAA,MAAA;AAGF,cAAQ,KAAK,OAAO,yBAAyB,aAAa,KAAK,IAAI;AAC5D,aAAA;AAAA,QACL,MAAM;AAAA,QACN,OAAO,IAAI;AAAA,UACT,0BAA0B,UAAU,SAAS,IAAI,qFAAqF,OAAO,KAAK;AAAA,QAAA;AAAA,MAEtJ;AAAA,aACO,OAAO;AACd,cAAQ,KAAK,OAAO,yBAAyB,aAAa,KAAK,IAAI;AAC5D,aAAA;AAAA,QACL,MAAM;AAAA,QACN;AAAA,MACF;AAAA,IAAA;AAAA,EACF;AAEF,QAAM,WAAW,KAAK,KAAK,CAAC,MAAM,MAAM,SAAS;AAE7C,MAAA,CAAC,CAAC,UAAU;AACR,UAAA,aAAc,SAAyC,SAAS,IAClE,OAAO,KAAM,SAAyC,SAAS,CAAC,IAChE,CAAC;AACL,UAAM,gBAAgB,WAAW;AAAA,MAC/B,CAAC,MAAM,MAAM,cAAc,MAAM,OAAO,MAAM;AAAA,IAChD;AACO,WAAA;AAAA,MACL,MAAM;AAAA,MACN,OAAO,IAAI;AAAA,QACT,0BAA0B,UAAU,SAAS,IAAI,qCAC/C,CAAC,CAAC,gBACE,cAAc,aACd,WAAW,SACX,WAAW,KAAK,IAAI,IACpB,SACN;AAAA,MAAA;AAAA,IAEJ;AAAA,EAAA;AAGK,SAAA;AAAA,IACL,MAAM;AAAA,IACN,OAAO,IAAI;AAAA,MACT,gCAAgC,UAAU,SAAS,IAAI,MACrD,KAAK,SACD,wBAAwB,KAAK,KAAK,IAAI,IACtC,+CACN;AAAA,IAAA;AAAA,EAEJ;AACF;"}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { createWriteStream } from "node:fs";
|
|
2
|
-
import { Readable } from "node:stream";
|
|
3
|
-
import { parentPort } from "node:worker_threads";
|
|
4
|
-
import { renderToPipeableStream } from "react-dom/server";
|
|
5
|
-
import { createFromNodeStream } from "react-server-dom-esm/client.node";
|
|
6
|
-
const concatter = (chunk) => {
|
|
7
|
-
if (Array.isArray(chunk)) {
|
|
8
|
-
return Buffer.from(chunk);
|
|
9
|
-
}
|
|
10
|
-
return Buffer.from(chunk);
|
|
11
|
-
};
|
|
12
|
-
function createHtmlStream(renderState, writeStream) {
|
|
13
|
-
const outputPath = renderState.htmlOutputPath;
|
|
14
|
-
const rscStream = Readable.from(renderState.chunks.map(concatter));
|
|
15
|
-
const reactElements = createFromNodeStream(
|
|
16
|
-
rscStream,
|
|
17
|
-
renderState.moduleBasePath,
|
|
18
|
-
renderState.moduleBaseURL
|
|
19
|
-
);
|
|
20
|
-
const rscOutputPath = renderState.htmlOutputPath.endsWith(".html") ? renderState.htmlOutputPath.slice(0, -5) + ".rsc" : renderState.htmlOutputPath.endsWith("/") ? renderState.htmlOutputPath + "index.rsc" : renderState.htmlOutputPath.endsWith(".") ? renderState.htmlOutputPath + "rsc" : renderState.htmlOutputPath + ".rsc";
|
|
21
|
-
const writeRscEntry = createWriteStream(rscOutputPath);
|
|
22
|
-
rscStream.on("data", (chunk) => {
|
|
23
|
-
writeRscEntry.write(chunk);
|
|
24
|
-
});
|
|
25
|
-
rscStream.on("end", () => {
|
|
26
|
-
writeRscEntry.end();
|
|
27
|
-
});
|
|
28
|
-
const stream = renderToPipeableStream(reactElements, {
|
|
29
|
-
...renderState.pipableStreamOptions,
|
|
30
|
-
onAllReady() {
|
|
31
|
-
writeStream.on("finish", () => {
|
|
32
|
-
parentPort?.postMessage({
|
|
33
|
-
type: "HTML",
|
|
34
|
-
outputPath,
|
|
35
|
-
route: renderState.id
|
|
36
|
-
});
|
|
37
|
-
});
|
|
38
|
-
writeStream.on("error", (error) => {
|
|
39
|
-
console.error("[Worker] Write error at", error);
|
|
40
|
-
stream.abort();
|
|
41
|
-
});
|
|
42
|
-
},
|
|
43
|
-
onShellReady() {
|
|
44
|
-
stream.pipe(writeStream);
|
|
45
|
-
},
|
|
46
|
-
onError(error) {
|
|
47
|
-
console.error("[Worker] Render error at", error);
|
|
48
|
-
stream.abort();
|
|
49
|
-
writeStream.destroy();
|
|
50
|
-
},
|
|
51
|
-
onShellError(error) {
|
|
52
|
-
console.error("[Worker] Shell error at", error);
|
|
53
|
-
stream.abort();
|
|
54
|
-
writeStream.destroy();
|
|
55
|
-
}
|
|
56
|
-
});
|
|
57
|
-
return { stream, writeStream };
|
|
58
|
-
}
|
|
59
|
-
export {
|
|
60
|
-
createHtmlStream
|
|
61
|
-
};
|
|
62
|
-
//# sourceMappingURL=createHtmlStream.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createHtmlStream.js","sources":["../../../src/worker/createHtmlStream.ts"],"sourcesContent":["import { createWriteStream } from \"node:fs\";\nimport { Readable, Writable } from \"node:stream\";\nimport { parentPort } from \"node:worker_threads\";\nimport { renderToPipeableStream } from \"react-dom/server\";\nimport { createFromNodeStream } from \"react-server-dom-esm/client.node\";\nimport type { RenderState } from \"./types.js\";\n\nconst concatter = (chunk: string) => {\n if (Array.isArray(chunk)) {\n return Buffer.from(chunk);\n }\n return Buffer.from(chunk);\n};\n\nexport function createHtmlStream(\n renderState: RenderState,\n writeStream: Writable\n) {\n const outputPath = renderState.htmlOutputPath;\n\n // Create readable stream from RSC content\n const rscStream = Readable.from(renderState.chunks.map(concatter));\n\n // Create RSC node stream\n const reactElements = createFromNodeStream(\n rscStream,\n renderState.moduleBasePath,\n renderState.moduleBaseURL\n );\n // rsc file destination follows the same path as the html file, but with a .rsc extension\n const rscOutputPath = renderState.htmlOutputPath.endsWith(\".html\")\n ? renderState.htmlOutputPath.slice(0, -5) + \".rsc\"\n : renderState.htmlOutputPath.endsWith(\"/\")\n ? renderState.htmlOutputPath + \"index.rsc\"\n : renderState.htmlOutputPath.endsWith(\".\")\n ? renderState.htmlOutputPath + \"rsc\"\n : renderState.htmlOutputPath + \".rsc\";\n\n const writeRscEntry = createWriteStream(rscOutputPath);\n rscStream.on(\"data\", (chunk) => {\n writeRscEntry.write(chunk);\n });\n rscStream.on(\"end\", () => {\n writeRscEntry.end();\n });\n const stream = renderToPipeableStream(reactElements as React.ReactNode, {\n ...renderState.pipableStreamOptions,\n onAllReady() {\n writeStream.on(\"finish\", () => {\n parentPort?.postMessage({\n type: \"HTML\",\n outputPath,\n route: renderState.id,\n });\n });\n writeStream.on(\"error\", (error) => {\n console.error(\"[Worker] Write error at\", error);\n stream.abort();\n });\n },\n onShellReady() {\n stream.pipe(writeStream);\n },\n onError(error) {\n console.error(\"[Worker] Render error at\", error);\n stream.abort();\n writeStream.destroy();\n },\n onShellError(error) {\n console.error(\"[Worker] Shell error at\", error);\n stream.abort();\n writeStream.destroy();\n },\n });\n return { stream, writeStream };\n}\n"],"names":[],"mappings":";;;;;AAOA,MAAM,YAAY,CAAC,UAAkB;AAC/B,MAAA,MAAM,QAAQ,KAAK,GAAG;AACjB,WAAA,OAAO,KAAK,KAAK;AAAA,EAAA;AAEnB,SAAA,OAAO,KAAK,KAAK;AAC1B;AAEgB,SAAA,iBACd,aACA,aACA;AACA,QAAM,aAAa,YAAY;AAG/B,QAAM,YAAY,SAAS,KAAK,YAAY,OAAO,IAAI,SAAS,CAAC;AAGjE,QAAM,gBAAgB;AAAA,IACpB;AAAA,IACA,YAAY;AAAA,IACZ,YAAY;AAAA,EACd;AAEA,QAAM,gBAAgB,YAAY,eAAe,SAAS,OAAO,IAC7D,YAAY,eAAe,MAAM,GAAG,EAAE,IAAI,SAC1C,YAAY,eAAe,SAAS,GAAG,IACvC,YAAY,iBAAiB,cAC7B,YAAY,eAAe,SAAS,GAAG,IACvC,YAAY,iBAAiB,QAC7B,YAAY,iBAAiB;AAE3B,QAAA,gBAAgB,kBAAkB,aAAa;AAC3C,YAAA,GAAG,QAAQ,CAAC,UAAU;AAC9B,kBAAc,MAAM,KAAK;AAAA,EAAA,CAC1B;AACS,YAAA,GAAG,OAAO,MAAM;AACxB,kBAAc,IAAI;AAAA,EAAA,CACnB;AACK,QAAA,SAAS,uBAAuB,eAAkC;AAAA,IACtE,GAAG,YAAY;AAAA,IACf,aAAa;AACC,kBAAA,GAAG,UAAU,MAAM;AAC7B,oBAAY,YAAY;AAAA,UACtB,MAAM;AAAA,UACN;AAAA,UACA,OAAO,YAAY;AAAA,QAAA,CACpB;AAAA,MAAA,CACF;AACW,kBAAA,GAAG,SAAS,CAAC,UAAU;AACzB,gBAAA,MAAM,2BAA2B,KAAK;AAC9C,eAAO,MAAM;AAAA,MAAA,CACd;AAAA,IACH;AAAA,IACA,eAAe;AACb,aAAO,KAAK,WAAW;AAAA,IACzB;AAAA,IACA,QAAQ,OAAO;AACL,cAAA,MAAM,4BAA4B,KAAK;AAC/C,aAAO,MAAM;AACb,kBAAY,QAAQ;AAAA,IACtB;AAAA,IACA,aAAa,OAAO;AACV,cAAA,MAAM,2BAA2B,KAAK;AAC9C,aAAO,MAAM;AACb,kBAAY,QAAQ;AAAA,IAAA;AAAA,EACtB,CACD;AACM,SAAA,EAAE,QAAQ,YAAY;AAC/B;"}
|