vite-plugin-react-server 1.1.12 → 1.1.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/package.json +10 -8
- package/dist/plugin/components/css-collector-elements.d.ts +4 -2
- package/dist/plugin/components/css-collector-elements.d.ts.map +1 -1
- package/dist/plugin/components/css-collector-elements.js +21 -7
- package/dist/plugin/components/css-collector-elements.js.map +1 -1
- package/dist/plugin/components/css-collector.d.ts +4 -5
- package/dist/plugin/components/css-collector.d.ts.map +1 -1
- package/dist/plugin/components/css-collector.js +5 -9
- package/dist/plugin/components/css-collector.js.map +1 -1
- package/dist/plugin/components/html.d.ts +1 -1
- package/dist/plugin/components/html.d.ts.map +1 -1
- package/dist/plugin/components/html.js +14 -3
- package/dist/plugin/components/html.js.map +1 -1
- package/dist/plugin/config/autoDiscover/resolveAutoDiscover.d.ts +4 -4
- package/dist/plugin/config/autoDiscover/resolveAutoDiscover.d.ts.map +1 -1
- package/dist/plugin/config/autoDiscover/resolveAutoDiscover.js +14 -9
- package/dist/plugin/config/autoDiscover/resolveAutoDiscover.js.map +1 -1
- package/dist/plugin/config/defaults.d.ts +66 -12
- package/dist/plugin/config/defaults.d.ts.map +1 -1
- package/dist/plugin/config/defaults.js +69 -15
- package/dist/plugin/config/defaults.js.map +1 -1
- package/dist/plugin/config/resolveAutoDiscoverMatcher.d.ts +5 -0
- package/dist/plugin/config/resolveAutoDiscoverMatcher.d.ts.map +1 -0
- package/dist/plugin/config/resolveAutoDiscoverMatcher.js +25 -0
- package/dist/plugin/config/resolveAutoDiscoverMatcher.js.map +1 -0
- package/dist/plugin/config/resolveEnv.d.ts.map +1 -1
- package/dist/plugin/config/resolveEnv.js +16 -5
- package/dist/plugin/config/resolveEnv.js.map +1 -1
- package/dist/plugin/config/resolveOptions.d.ts +3 -3
- package/dist/plugin/config/resolveOptions.d.ts.map +1 -1
- package/dist/plugin/config/resolveOptions.js +59 -87
- package/dist/plugin/config/resolveOptions.js.map +1 -1
- package/dist/plugin/config/resolveUserConfig.d.ts +4 -4
- package/dist/plugin/config/resolveUserConfig.d.ts.map +1 -1
- package/dist/plugin/config/resolveUserConfig.js +8 -1
- package/dist/plugin/config/resolveUserConfig.js.map +1 -1
- package/dist/plugin/error/toError.d.ts +3 -0
- package/dist/plugin/error/toError.d.ts.map +1 -1
- package/dist/plugin/error/toError.js +33 -4
- package/dist/plugin/error/toError.js.map +1 -1
- package/dist/plugin/helpers/cleanObject.d.ts.map +1 -1
- package/dist/plugin/helpers/cleanObject.js +19 -5
- package/dist/plugin/helpers/cleanObject.js.map +1 -1
- package/dist/plugin/helpers/collectViteModuleGraphCss.d.ts +3 -3
- package/dist/plugin/helpers/collectViteModuleGraphCss.d.ts.map +1 -1
- package/dist/plugin/helpers/collectViteModuleGraphCss.js.map +1 -1
- package/dist/plugin/helpers/createCssProps.d.ts +4 -3
- package/dist/plugin/helpers/createCssProps.d.ts.map +1 -1
- package/dist/plugin/helpers/createCssProps.js +7 -2
- package/dist/plugin/helpers/createCssProps.js.map +1 -1
- package/dist/plugin/helpers/createHandler.d.ts +4 -3
- package/dist/plugin/helpers/createHandler.d.ts.map +1 -1
- package/dist/plugin/helpers/createHandler.js +1 -1
- package/dist/plugin/helpers/createHandler.js.map +1 -1
- package/dist/plugin/helpers/createRscStream.d.ts +2 -2
- package/dist/plugin/helpers/createRscStream.d.ts.map +1 -1
- package/dist/plugin/helpers/createRscStream.js +15 -5
- package/dist/plugin/helpers/createRscStream.js.map +1 -1
- package/dist/plugin/helpers/index.d.ts +2 -2
- package/dist/plugin/helpers/index.d.ts.map +1 -1
- package/dist/plugin/helpers/index.js +2 -2
- package/dist/plugin/helpers/inputNormalizer.d.ts.map +1 -1
- package/dist/plugin/helpers/inputNormalizer.js +4 -1
- package/dist/plugin/helpers/inputNormalizer.js.map +1 -1
- package/dist/plugin/helpers/moduleResolver.d.ts +3 -0
- package/dist/plugin/helpers/moduleResolver.d.ts.map +1 -0
- package/dist/plugin/helpers/moduleResolver.js +25 -0
- package/dist/plugin/helpers/requestInfo.d.ts +18 -3
- package/dist/plugin/helpers/requestInfo.d.ts.map +1 -1
- package/dist/plugin/helpers/requestInfo.js +75 -11
- package/dist/plugin/helpers/requestInfo.js.map +1 -1
- package/dist/plugin/helpers/resolvePage.d.ts.map +1 -1
- package/dist/plugin/helpers/resolvePage.js +2 -3
- package/dist/plugin/helpers/resolvePage.js.map +1 -1
- package/dist/plugin/helpers/resolvePageAndProps.d.ts +4 -3
- package/dist/plugin/helpers/resolvePageAndProps.d.ts.map +1 -1
- package/dist/plugin/helpers/resolvePageAndProps.js.map +1 -1
- package/dist/plugin/helpers/serializeUserOptions.d.ts +3 -2
- package/dist/plugin/helpers/serializeUserOptions.d.ts.map +1 -1
- package/dist/plugin/helpers/serializeUserOptions.js +13 -1
- package/dist/plugin/helpers/serializeUserOptions.js.map +1 -1
- package/dist/plugin/helpers/sourceMap.d.ts +8 -0
- package/dist/plugin/helpers/sourceMap.d.ts.map +1 -0
- package/dist/plugin/helpers/sourceMap.js +136 -0
- package/dist/plugin/helpers.js +1 -1
- package/dist/plugin/loader/createBuildLoader.d.ts +7 -22
- package/dist/plugin/loader/createBuildLoader.d.ts.map +1 -1
- package/dist/plugin/loader/createBuildLoader.js +79 -65
- package/dist/plugin/loader/createBuildLoader.js.map +1 -1
- package/dist/plugin/loader/createDefaultLoader.d.ts +13 -0
- package/dist/plugin/loader/createDefaultLoader.d.ts.map +1 -0
- package/dist/plugin/loader/createDefaultLoader.js +47 -0
- package/dist/plugin/loader/css-loader.development.d.ts +1 -0
- package/dist/plugin/loader/css-loader.development.d.ts.map +1 -1
- package/dist/plugin/loader/css-loader.development.js +1 -1
- package/dist/plugin/loader/css-loader.development.js.map +1 -1
- package/dist/plugin/loader/handleExports.d.ts +33 -0
- package/dist/plugin/loader/handleExports.d.ts.map +1 -0
- package/dist/plugin/loader/handleExports.js +174 -0
- package/dist/plugin/loader/handleExports.js.map +1 -0
- package/dist/plugin/loader/index.d.ts +1 -1
- package/dist/plugin/loader/index.d.ts.map +1 -1
- package/dist/plugin/loader/index.js +4 -1
- package/dist/plugin/loader/parse.d.ts +6 -0
- package/dist/plugin/loader/parse.d.ts.map +1 -0
- package/dist/plugin/loader/parse.js +23 -0
- package/dist/plugin/loader/parse.js.map +1 -0
- package/dist/plugin/loader/react-loader.client.d.ts +2 -0
- package/dist/plugin/loader/react-loader.client.d.ts.map +1 -0
- package/dist/plugin/loader/react-loader.client.js +2 -0
- package/dist/plugin/loader/react-loader.d.ts +1 -12
- package/dist/plugin/loader/react-loader.d.ts.map +1 -1
- package/dist/plugin/loader/react-loader.js +5 -687
- package/dist/plugin/loader/react-loader.js.map +1 -1
- package/dist/plugin/loader/react-loader.server.d.ts +21 -0
- package/dist/plugin/loader/react-loader.server.d.ts.map +1 -0
- package/dist/plugin/loader/react-loader.server.js +69 -0
- package/dist/plugin/loader/sourceMap.d.ts +35 -0
- package/dist/plugin/loader/sourceMap.d.ts.map +1 -0
- package/dist/plugin/loader/sourceMap.js +105 -0
- package/dist/plugin/loader/temporaryReferences.d.ts +1 -1
- package/dist/plugin/loader/temporaryReferences.d.ts.map +1 -1
- package/dist/plugin/loader/transformModuleIfNeeded.d.ts +2 -0
- package/dist/plugin/loader/transformModuleIfNeeded.d.ts.map +1 -0
- package/dist/plugin/loader/transformModuleIfNeeded.js +27 -0
- package/dist/plugin/loader/transformModuleIfNeeded.js.map +1 -0
- package/dist/plugin/loader/transformModuleWithPreservedFunctions.d.ts +27 -0
- package/dist/plugin/loader/transformModuleWithPreservedFunctions.d.ts.map +1 -0
- package/dist/plugin/loader/transformModuleWithPreservedFunctions.js +52 -0
- package/dist/plugin/loader/transformModuleWithPreservedFunctions.js.map +1 -0
- package/dist/plugin/loader/types.d.ts +8 -0
- package/dist/plugin/loader/types.d.ts.map +1 -0
- package/dist/plugin/loader/types.js +1 -0
- package/dist/plugin/plugin.client.d.ts +2 -2
- package/dist/plugin/plugin.client.d.ts.map +1 -1
- package/dist/plugin/plugin.client.js +2 -3
- package/dist/plugin/plugin.client.js.map +1 -1
- package/dist/plugin/plugin.server.d.ts +2 -2
- package/dist/plugin/plugin.server.d.ts.map +1 -1
- package/dist/plugin/plugin.server.js +2 -2
- package/dist/plugin/plugin.server.js.map +1 -1
- package/dist/plugin/preserver/plugin.d.ts +2 -2
- package/dist/plugin/preserver/plugin.d.ts.map +1 -1
- package/dist/plugin/preserver/plugin.js +6 -2
- package/dist/plugin/preserver/plugin.js.map +1 -1
- package/dist/plugin/react-client/{server.d.ts → configureWorkerRequestHandler.d.ts} +4 -4
- package/dist/plugin/react-client/configureWorkerRequestHandler.d.ts.map +1 -0
- package/dist/plugin/react-client/{server.js → configureWorkerRequestHandler.js} +11 -8
- package/dist/plugin/react-client/configureWorkerRequestHandler.js.map +1 -0
- package/dist/plugin/react-client/createMessageHandlers.d.ts +1 -1
- package/dist/plugin/react-client/createMessageHandlers.d.ts.map +1 -1
- package/dist/plugin/react-client/createMessageHandlers.js +18 -11
- package/dist/plugin/react-client/createMessageHandlers.js.map +1 -1
- package/dist/plugin/react-client/createWorkerStream.d.ts +5 -3
- package/dist/plugin/react-client/createWorkerStream.d.ts.map +1 -1
- package/dist/plugin/react-client/createWorkerStream.js +61 -27
- package/dist/plugin/react-client/createWorkerStream.js.map +1 -1
- package/dist/plugin/react-client/handleWorkerRscStream.d.ts +1 -1
- package/dist/plugin/react-client/handleWorkerRscStream.d.ts.map +1 -1
- package/dist/plugin/react-client/handleWorkerRscStream.js +14 -4
- package/dist/plugin/react-client/handleWorkerRscStream.js.map +1 -1
- package/dist/plugin/react-client/plugin.d.ts +2 -2
- package/dist/plugin/react-client/plugin.d.ts.map +1 -1
- package/dist/plugin/react-client/plugin.js +7 -8
- package/dist/plugin/react-client/plugin.js.map +1 -1
- package/dist/plugin/react-client/restartWorker.d.ts +1 -1
- package/dist/plugin/react-client/restartWorker.d.ts.map +1 -1
- package/dist/plugin/react-client/restartWorker.js +9 -3
- package/dist/plugin/react-client/restartWorker.js.map +1 -1
- package/dist/plugin/react-server/configureReactServer.d.ts +9 -0
- package/dist/plugin/react-server/configureReactServer.d.ts.map +1 -0
- package/dist/plugin/react-server/{server.js → configureReactServer.js} +26 -8
- package/dist/plugin/react-server/configureReactServer.js.map +1 -0
- package/dist/plugin/react-server/handleServerAction.d.ts +5 -0
- package/dist/plugin/react-server/handleServerAction.d.ts.map +1 -0
- package/dist/plugin/react-server/handleServerAction.js +145 -0
- package/dist/plugin/react-server/handleServerAction.js.map +1 -0
- package/dist/plugin/react-server/plugin.d.ts +2 -2
- package/dist/plugin/react-server/plugin.d.ts.map +1 -1
- package/dist/plugin/react-server/plugin.js +1 -1
- package/dist/plugin/react-server/plugin.js.map +1 -1
- package/dist/plugin/react-static/collectHtmlWorkerContent.d.ts +2 -2
- package/dist/plugin/react-static/collectHtmlWorkerContent.d.ts.map +1 -1
- package/dist/plugin/react-static/collectHtmlWorkerContent.js.map +1 -1
- package/dist/plugin/react-static/collectRscContent.d.ts +2 -2
- package/dist/plugin/react-static/collectRscContent.d.ts.map +1 -1
- package/dist/plugin/react-static/collectRscContent.js.map +1 -1
- package/dist/plugin/react-static/configurePreviewServer.d.ts +3 -3
- package/dist/plugin/react-static/configurePreviewServer.d.ts.map +1 -1
- package/dist/plugin/react-static/configurePreviewServer.js +18 -7
- package/dist/plugin/react-static/configurePreviewServer.js.map +1 -1
- package/dist/plugin/react-static/plugin.d.ts +2 -2
- package/dist/plugin/react-static/plugin.d.ts.map +1 -1
- package/dist/plugin/react-static/plugin.js +28 -12
- package/dist/plugin/react-static/plugin.js.map +1 -1
- package/dist/plugin/react-static/renderPage.d.ts +2 -2
- package/dist/plugin/react-static/renderPage.d.ts.map +1 -1
- package/dist/plugin/react-static/renderPage.js.map +1 -1
- package/dist/plugin/react-static/renderPages.d.ts +2 -2
- package/dist/plugin/react-static/renderPages.d.ts.map +1 -1
- package/dist/plugin/react-static/renderPages.js.map +1 -1
- package/dist/plugin/react-static/renderStreams.d.ts +2 -2
- package/dist/plugin/react-static/renderStreams.d.ts.map +1 -1
- package/dist/plugin/react-static/renderStreams.js +4 -4
- package/dist/plugin/react-static/renderStreams.js.map +1 -1
- package/dist/plugin/source-map/createMappingsSerializer.d.ts +2 -0
- package/dist/plugin/source-map/createMappingsSerializer.d.ts.map +1 -0
- package/dist/plugin/source-map/createMappingsSerializer.js +159 -0
- package/dist/plugin/source-map/readMappings.d.ts +2 -0
- package/dist/plugin/source-map/readMappings.d.ts.map +1 -0
- package/dist/plugin/source-map/readMappings.js +201 -0
- package/dist/plugin/transformer/index.d.ts +0 -1
- package/dist/plugin/transformer/index.d.ts.map +1 -1
- package/dist/plugin/transformer/index.js +0 -1
- package/dist/plugin/transformer/plugin.client.d.ts +1 -3
- package/dist/plugin/transformer/plugin.client.d.ts.map +1 -1
- package/dist/plugin/transformer/plugin.client.js +1 -84
- package/dist/plugin/transformer/plugin.server.d.ts +2 -2
- package/dist/plugin/transformer/plugin.server.d.ts.map +1 -1
- package/dist/plugin/transformer/plugin.server.js +52 -20
- package/dist/plugin/transformer/plugin.server.js.map +1 -1
- package/dist/plugin/types.d.ts +89 -119
- package/dist/plugin/types.d.ts.map +1 -1
- package/dist/plugin/utils/callServer.d.ts +1 -1
- package/dist/plugin/utils/callServer.d.ts.map +1 -1
- package/dist/plugin/utils/createCallServer.d.ts +1 -1
- package/dist/plugin/utils/createCallServer.d.ts.map +1 -1
- package/dist/plugin/utils/createCallServer.js +13 -4
- package/dist/plugin/utils/createCallServer.js.map +1 -1
- package/dist/plugin/utils/index.d.ts +1 -0
- package/dist/plugin/utils/index.d.ts.map +1 -1
- package/dist/plugin/utils/index.js +1 -0
- package/dist/plugin/utils.js +1 -0
- package/dist/plugin/utils.js.map +1 -1
- package/dist/plugin/vendor/vendor.client.d.ts +2 -1
- package/dist/plugin/vendor/vendor.client.d.ts.map +1 -1
- package/dist/plugin/vendor/vendor.client.js +2 -1
- package/dist/plugin/vendor/vendor.client.js.map +1 -1
- package/dist/plugin/vendor/vendor.server.d.ts.map +1 -1
- package/dist/plugin/vendor/vendor.server.js +1 -1
- package/dist/plugin/vendor/vendor.server.js.map +1 -1
- package/dist/plugin/worker/createWorker.d.ts.map +1 -1
- package/dist/plugin/worker/createWorker.js +17 -22
- package/dist/plugin/worker/createWorker.js.map +1 -1
- package/dist/plugin/worker/html/createHtmlWorkerRenderState.d.ts.map +1 -1
- package/dist/plugin/worker/html/createHtmlWorkerRenderState.js +25 -4
- package/dist/plugin/worker/html/createHtmlWorkerRenderState.js.map +1 -1
- package/dist/plugin/worker/html/html-worker.development.js +15 -13
- package/dist/plugin/worker/html/html-worker.development.js.map +1 -1
- package/dist/plugin/worker/html/html-worker.production.js +2 -12
- package/dist/plugin/worker/html/html-worker.production.js.map +1 -1
- package/dist/plugin/worker/html/messageHandler.d.ts.map +1 -1
- package/dist/plugin/worker/html/messageHandler.js +2 -2
- package/dist/plugin/worker/html/messageHandler.js.map +1 -1
- package/dist/plugin/worker/rsc/handleRender.d.ts +2 -1
- package/dist/plugin/worker/rsc/handleRender.d.ts.map +1 -1
- package/dist/plugin/worker/rsc/handleRender.js +8 -8
- package/dist/plugin/worker/rsc/handleRender.js.map +1 -1
- package/dist/plugin/worker/rsc/messageHandler.d.ts.map +1 -1
- package/dist/plugin/worker/rsc/messageHandler.js +166 -107
- package/dist/plugin/worker/rsc/messageHandler.js.map +1 -1
- package/dist/plugin/worker/rsc/rsc-worker.development.js +112 -52
- package/dist/plugin/worker/rsc/rsc-worker.development.js.map +1 -1
- package/dist/plugin/worker/rsc/rsc-worker.production.js +1 -1
- package/dist/plugin/worker/rsc/rsc-worker.production.js.map +1 -1
- package/dist/plugin/worker/rsc/state.d.ts +5 -64
- package/dist/plugin/worker/rsc/state.d.ts.map +1 -1
- package/dist/plugin/worker/rsc/state.js +5 -1
- package/dist/plugin/worker/rsc/state.js.map +1 -1
- package/dist/plugin/worker/sendMessage.d.ts +2 -0
- package/dist/plugin/worker/sendMessage.d.ts.map +1 -1
- package/dist/plugin/worker/sendMessage.js +2 -1
- package/dist/plugin/worker/sendMessage.js.map +1 -1
- package/dist/plugin/worker/types.d.ts +52 -53
- package/dist/plugin/worker/types.d.ts.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +10 -8
- package/plugin/components/css-collector-elements.tsx +30 -9
- package/plugin/components/css-collector.tsx +13 -22
- package/plugin/components/html.tsx +12 -5
- package/plugin/config/autoDiscover/resolveAutoDiscover.ts +31 -13
- package/plugin/config/defaults.tsx +72 -16
- package/plugin/config/resolveAutoDiscoverMatcher.ts +23 -0
- package/plugin/config/resolveEnv.ts +20 -12
- package/plugin/config/resolveOptions.ts +152 -155
- package/plugin/config/resolveUserConfig.ts +20 -5
- package/plugin/error/toError.ts +35 -1
- package/plugin/helpers/cleanObject.ts +79 -15
- package/plugin/helpers/collectViteModuleGraphCss.ts +4 -3
- package/plugin/helpers/createCssProps.tsx +26 -9
- package/plugin/helpers/createHandler.ts +7 -4
- package/plugin/helpers/createRscStream.tsx +20 -14
- package/plugin/helpers/index.ts +2 -2
- package/plugin/helpers/inputNormalizer.ts +4 -2
- package/plugin/helpers/moduleResolver.ts +36 -0
- package/plugin/helpers/requestInfo.ts +117 -23
- package/plugin/helpers/resolvePage.ts +2 -3
- package/plugin/helpers/resolvePageAndProps.ts +7 -6
- package/plugin/helpers/serializeUserOptions.ts +20 -2
- package/plugin/helpers/sourceMap.ts +182 -0
- package/plugin/loader/createBuildLoader.ts +124 -104
- package/plugin/loader/createDefaultLoader.ts +62 -0
- package/plugin/loader/css-loader.development.ts +3 -2
- package/plugin/loader/handleExports.ts +276 -0
- package/plugin/loader/index.ts +6 -1
- package/plugin/loader/parse.ts +22 -0
- package/plugin/loader/react-loader.client.ts +1 -0
- package/plugin/loader/react-loader.server.ts +107 -0
- package/plugin/loader/react-loader.ts +4 -1002
- package/plugin/loader/sourceMap.ts +118 -0
- package/plugin/loader/transformModuleIfNeeded.ts +33 -0
- package/plugin/loader/transformModuleWithPreservedFunctions.ts +119 -0
- package/plugin/loader/types.ts +10 -0
- package/plugin/plugin.client.ts +18 -11
- package/plugin/plugin.server.ts +6 -3
- package/plugin/preserver/plugin.ts +37 -17
- package/plugin/react-client/{server.ts → configureWorkerRequestHandler.ts} +22 -12
- package/plugin/react-client/createMessageHandlers.ts +21 -13
- package/plugin/react-client/createWorkerStream.ts +71 -33
- package/plugin/react-client/handleWorkerRscStream.ts +15 -5
- package/plugin/react-client/plugin.ts +18 -13
- package/plugin/react-client/restartWorker.ts +17 -5
- package/plugin/react-server/{server.ts → configureReactServer.ts} +40 -9
- package/plugin/react-server/handleServerAction.ts +177 -0
- package/plugin/react-server/plugin.ts +8 -3
- package/plugin/react-static/collectHtmlWorkerContent.ts +11 -3
- package/plugin/react-static/collectRscContent.ts +17 -9
- package/plugin/react-static/configurePreviewServer.ts +37 -17
- package/plugin/react-static/plugin.ts +45 -22
- package/plugin/react-static/renderPage.ts +12 -6
- package/plugin/react-static/renderPages.ts +15 -4
- package/plugin/react-static/renderStreams.ts +13 -12
- package/plugin/source-map/createMappingsSerializer.ts +182 -0
- package/plugin/source-map/readMappings.ts +195 -0
- package/plugin/transformer/README.md +295 -29
- package/plugin/transformer/index.ts +0 -1
- package/plugin/transformer/plugin.client.ts +0 -111
- package/plugin/transformer/plugin.server.ts +94 -25
- package/plugin/types/react-server-dom-esm.d.ts +183 -24
- package/plugin/types/sourceMap.d.ts +2 -0
- package/plugin/types/webpack-sources.d.ts +24 -0
- package/plugin/types.ts +169 -132
- package/plugin/utils/createCallServer.ts +21 -6
- package/plugin/utils/index.ts +2 -1
- package/plugin/vendor/vendor.client.ts +2 -1
- package/plugin/vendor/vendor.server.ts +1 -1
- package/plugin/worker/createWorker.ts +21 -24
- package/plugin/worker/html/createHtmlWorkerRenderState.tsx +31 -7
- package/plugin/worker/html/html-worker.development.tsx +16 -16
- package/plugin/worker/html/html-worker.production.tsx +3 -19
- package/plugin/worker/html/messageHandler.tsx +2 -4
- package/plugin/worker/rsc/handleRender.ts +15 -12
- package/plugin/worker/rsc/messageHandler.tsx +191 -120
- package/plugin/worker/rsc/rsc-worker.development.ts +148 -77
- package/plugin/worker/rsc/rsc-worker.production.ts +1 -1
- package/plugin/worker/rsc/state.ts +10 -0
- package/plugin/worker/sendMessage.ts +32 -14
- package/plugin/worker/types.ts +99 -64
- package/dist/plugin/react-client/server.d.ts.map +0 -1
- package/dist/plugin/react-client/server.js.map +0 -1
- package/dist/plugin/react-server/server.d.ts +0 -9
- package/dist/plugin/react-server/server.d.ts.map +0 -1
- package/dist/plugin/react-server/server.js.map +0 -1
- package/dist/plugin/transformer/plugin.client.js.map +0 -1
- package/dist/plugin/transformer/upgradeCssModuleCode.d.ts +0 -2
- package/dist/plugin/transformer/upgradeCssModuleCode.d.ts.map +0 -1
- package/dist/plugin/transformer/upgradeCssModuleCode.js +0 -40
- package/dist/plugin/worker/loader.d.ts +0 -5
- package/dist/plugin/worker/loader.d.ts.map +0 -1
- package/dist/plugin/worker/loader.js +0 -11
- package/dist/plugin/worker/loader.js.map +0 -1
- package/plugin/transformer/upgradeCssModuleCode.ts +0 -42
- package/plugin/worker/loader.ts +0 -7
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
import { basename } from "path";
|
|
2
|
+
import type { SourceMap } from "../types/sourceMap.js";
|
|
3
|
+
|
|
4
|
+
// VLQ encoding helpers
|
|
5
|
+
const VLQ_SHIFT = 5;
|
|
6
|
+
const VLQ_CONTINUATION_BIT = 1 << VLQ_SHIFT;
|
|
7
|
+
const VLQ_VALUE_MASK = VLQ_CONTINUATION_BIT - 1;
|
|
8
|
+
const BASE64_CHARS =
|
|
9
|
+
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
10
|
+
|
|
11
|
+
export function encodeVLQ(numbers: number[]): string {
|
|
12
|
+
return numbers
|
|
13
|
+
.map((num) => {
|
|
14
|
+
// Convert to VLQ
|
|
15
|
+
const vlq = num < 0 ? (-num << 1) | 1 : num << 1;
|
|
16
|
+
|
|
17
|
+
let result = "";
|
|
18
|
+
let value = vlq;
|
|
19
|
+
|
|
20
|
+
do {
|
|
21
|
+
let digit = value & VLQ_VALUE_MASK;
|
|
22
|
+
value >>>= VLQ_SHIFT;
|
|
23
|
+
if (value > 0) {
|
|
24
|
+
digit |= VLQ_CONTINUATION_BIT;
|
|
25
|
+
}
|
|
26
|
+
result += BASE64_CHARS[digit];
|
|
27
|
+
} while (value > 0);
|
|
28
|
+
|
|
29
|
+
return result;
|
|
30
|
+
})
|
|
31
|
+
.join("");
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export function decodeVLQ(str: string): number[] {
|
|
35
|
+
const numbers: number[] = [];
|
|
36
|
+
let value = 0;
|
|
37
|
+
let shift = 0;
|
|
38
|
+
let index = 0;
|
|
39
|
+
|
|
40
|
+
while (index < str.length && !/[,;]/.test(str[index])) {
|
|
41
|
+
const digit = BASE64_CHARS.indexOf(str[index]);
|
|
42
|
+
if (digit === -1) break;
|
|
43
|
+
|
|
44
|
+
value += (digit & VLQ_VALUE_MASK) << shift;
|
|
45
|
+
|
|
46
|
+
if ((digit & VLQ_CONTINUATION_BIT) === 0) {
|
|
47
|
+
const negate = value & 1;
|
|
48
|
+
value >>>= 1;
|
|
49
|
+
numbers.push(negate ? -value : value);
|
|
50
|
+
value = shift = 0;
|
|
51
|
+
} else {
|
|
52
|
+
shift += VLQ_SHIFT;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
index++;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
return numbers;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export function readMappings(
|
|
62
|
+
mappings: string,
|
|
63
|
+
callback: (
|
|
64
|
+
generatedLine: number,
|
|
65
|
+
generatedColumn: number,
|
|
66
|
+
sourceIndex: number,
|
|
67
|
+
originalLine: number,
|
|
68
|
+
originalColumn: number,
|
|
69
|
+
nameIndex: number
|
|
70
|
+
) => void
|
|
71
|
+
) {
|
|
72
|
+
let line = 1;
|
|
73
|
+
let column = 0;
|
|
74
|
+
let sourceIndex = 0;
|
|
75
|
+
let originalLine = 1;
|
|
76
|
+
let originalColumn = 0;
|
|
77
|
+
let nameIndex = 0;
|
|
78
|
+
|
|
79
|
+
const segments = mappings.split(";");
|
|
80
|
+
for (let i = 0; i < segments.length; i++) {
|
|
81
|
+
const segment = segments[i];
|
|
82
|
+
if (segment === "") {
|
|
83
|
+
line++;
|
|
84
|
+
column = 0;
|
|
85
|
+
continue;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
const parts = segment.split(",");
|
|
89
|
+
for (let j = 0; j < parts.length; j++) {
|
|
90
|
+
const part = parts[j];
|
|
91
|
+
if (part === "") continue;
|
|
92
|
+
|
|
93
|
+
const numbers = decodeVLQ(part);
|
|
94
|
+
column += numbers[0];
|
|
95
|
+
if (numbers.length > 1) {
|
|
96
|
+
sourceIndex += numbers[1];
|
|
97
|
+
originalLine += numbers[2];
|
|
98
|
+
originalColumn += numbers[3];
|
|
99
|
+
if (numbers.length > 4) {
|
|
100
|
+
nameIndex += numbers[4];
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
callback(
|
|
105
|
+
line,
|
|
106
|
+
column,
|
|
107
|
+
sourceIndex,
|
|
108
|
+
originalLine,
|
|
109
|
+
originalColumn,
|
|
110
|
+
nameIndex
|
|
111
|
+
);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
export function createMappingsSerializer() {
|
|
117
|
+
let previousGeneratedLine = 1;
|
|
118
|
+
let previousGeneratedColumn = 0;
|
|
119
|
+
let previousOriginalFile = 0;
|
|
120
|
+
let previousOriginalLine = 0;
|
|
121
|
+
let previousOriginalColumn = 0;
|
|
122
|
+
let previousNameIndex = 0;
|
|
123
|
+
|
|
124
|
+
return function (
|
|
125
|
+
generatedLine: number,
|
|
126
|
+
generatedColumn: number,
|
|
127
|
+
originalFile: number,
|
|
128
|
+
originalLine: number,
|
|
129
|
+
originalColumn: number,
|
|
130
|
+
nameIndex: number
|
|
131
|
+
): string {
|
|
132
|
+
// Reset column when moving to a new line
|
|
133
|
+
if (generatedLine > previousGeneratedLine) {
|
|
134
|
+
previousGeneratedColumn = 0;
|
|
135
|
+
let lines = "";
|
|
136
|
+
for (let i = previousGeneratedLine; i < generatedLine; i++) {
|
|
137
|
+
lines += ";";
|
|
138
|
+
}
|
|
139
|
+
previousGeneratedLine = generatedLine;
|
|
140
|
+
if (lines) return lines;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
// Calculate deltas
|
|
144
|
+
const segment = [
|
|
145
|
+
generatedColumn - previousGeneratedColumn,
|
|
146
|
+
originalFile - previousOriginalFile,
|
|
147
|
+
originalLine - previousOriginalLine,
|
|
148
|
+
originalColumn - previousOriginalColumn,
|
|
149
|
+
];
|
|
150
|
+
|
|
151
|
+
if (nameIndex >= 0) {
|
|
152
|
+
segment.push(nameIndex - previousNameIndex);
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
// Update previous values
|
|
156
|
+
previousGeneratedColumn = generatedColumn;
|
|
157
|
+
previousOriginalFile = originalFile;
|
|
158
|
+
previousOriginalLine = originalLine;
|
|
159
|
+
previousOriginalColumn = originalColumn;
|
|
160
|
+
previousNameIndex = nameIndex;
|
|
161
|
+
|
|
162
|
+
return encodeVLQ(segment) + ",";
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
export function createSourceMap(originalSource: string): SourceMap {
|
|
167
|
+
return {
|
|
168
|
+
version: 3,
|
|
169
|
+
file: basename(originalSource),
|
|
170
|
+
sources: [originalSource],
|
|
171
|
+
sourcesContent: [originalSource],
|
|
172
|
+
names: [],
|
|
173
|
+
mappings: "AAAA;", // Simple line mapping
|
|
174
|
+
sourceRoot: "",
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
export function updateSourceMap(sourceMap: SourceMap, originalSource: string) {
|
|
179
|
+
// Update the source map with the transformed source
|
|
180
|
+
sourceMap.sourcesContent = [originalSource];
|
|
181
|
+
sourceMap.mappings = "AAAA;"; // Simple line mapping
|
|
182
|
+
}
|
|
@@ -1,14 +1,22 @@
|
|
|
1
1
|
import { join } from "node:path";
|
|
2
|
-
import type {
|
|
2
|
+
import type {
|
|
3
|
+
InlineCssOpt,
|
|
4
|
+
PagePropOpt,
|
|
5
|
+
ResolvedUserConfig,
|
|
6
|
+
ResolvedUserOptions,
|
|
7
|
+
} from "../../server.js";
|
|
3
8
|
import type { Manifest } from "vite";
|
|
4
9
|
import { getModuleRef } from "../helpers/moduleRefs.js";
|
|
5
|
-
import { readFile } from "node:fs/promises";
|
|
6
10
|
import type { OutputBundle } from "rollup";
|
|
7
11
|
import { temporaryReferences } from "./temporaryReferences.js";
|
|
12
|
+
import { toError } from "../error/toError.js";
|
|
8
13
|
|
|
9
|
-
export interface BuildLoaderOptions
|
|
14
|
+
export interface BuildLoaderOptions<
|
|
15
|
+
T extends PagePropOpt = PagePropOpt,
|
|
16
|
+
InlineCSS extends InlineCssOpt = InlineCssOpt
|
|
17
|
+
> {
|
|
10
18
|
userConfig: ResolvedUserConfig;
|
|
11
|
-
userOptions: ResolvedUserOptions
|
|
19
|
+
userOptions: ResolvedUserOptions<T, InlineCSS>;
|
|
12
20
|
serverManifest: Manifest;
|
|
13
21
|
clientManifest: Manifest;
|
|
14
22
|
staticManifest: Manifest;
|
|
@@ -18,42 +26,33 @@ export interface BuildLoaderOptions {
|
|
|
18
26
|
* Creates a loader function for handling module resolution during build.
|
|
19
27
|
*
|
|
20
28
|
* The loader handles the following strategy:
|
|
21
|
-
* -
|
|
22
|
-
* -
|
|
23
|
-
* -
|
|
24
|
-
*
|
|
25
|
-
* During build:
|
|
26
|
-
* - We use the manifest information to get module exports
|
|
27
|
-
* - The manifest contains the transformed modules with their exports
|
|
28
|
-
* - We store the module in temporaryReferences for later use
|
|
29
|
-
*
|
|
30
|
-
* @param options.root - The project root directory
|
|
31
|
-
* @param options.pluginContext - The Rollup plugin context
|
|
32
|
-
* @param options.userConfig - Resolved user configuration
|
|
33
|
-
* @param options.userOptions - Resolved user options
|
|
34
|
-
* @param options.serverManifest - Vite server manifest
|
|
35
|
-
* @param options.clientManifest - Vite client manifest
|
|
36
|
-
* @param options.options - Additional options including temporaryReferences
|
|
37
|
-
*
|
|
38
|
-
* @returns A loader function that resolves module paths to their exports
|
|
29
|
+
* - For client components: Use client manifest and client.browser.js
|
|
30
|
+
* - For server components: Use server manifest and server.js
|
|
31
|
+
* - For static assets: Use static manifest
|
|
39
32
|
*/
|
|
40
|
-
export async function createBuildLoader
|
|
33
|
+
export async function createBuildLoader<
|
|
34
|
+
T extends PagePropOpt = PagePropOpt,
|
|
35
|
+
InlineCSS extends InlineCssOpt = InlineCssOpt
|
|
36
|
+
>(
|
|
41
37
|
{
|
|
42
38
|
userOptions,
|
|
43
39
|
serverManifest,
|
|
44
40
|
clientManifest,
|
|
45
41
|
staticManifest,
|
|
46
|
-
}: BuildLoaderOptions,
|
|
42
|
+
}: BuildLoaderOptions<T, InlineCSS>,
|
|
47
43
|
bundle: OutputBundle
|
|
48
44
|
) {
|
|
49
45
|
const manifestKeys = Object.keys(serverManifest);
|
|
50
46
|
if (!manifestKeys.length) {
|
|
51
47
|
throw new Error("Server manifest is empty");
|
|
52
48
|
}
|
|
49
|
+
|
|
53
50
|
return async function buildLoader(id: string) {
|
|
54
51
|
const [withoutQuery, query] = id.split("?", 2);
|
|
55
|
-
const [, normalizedValue] =
|
|
52
|
+
const [normalizedKey, normalizedValue] =
|
|
53
|
+
userOptions.normalizer(withoutQuery);
|
|
56
54
|
const moduleRef = getModuleRef(id);
|
|
55
|
+
|
|
57
56
|
// Check if we have a temporary reference (cached module)
|
|
58
57
|
if (temporaryReferences?.has(moduleRef)) {
|
|
59
58
|
const mod = temporaryReferences.get(moduleRef);
|
|
@@ -67,107 +66,128 @@ export async function createBuildLoader(
|
|
|
67
66
|
try {
|
|
68
67
|
// For inline modules, handle them directly
|
|
69
68
|
if (query === "inline") {
|
|
70
|
-
|
|
69
|
+
const startsWithMarker = normalizedKey.split("-")[0];
|
|
71
70
|
const serverChunk =
|
|
72
71
|
bundle[serverManifest[normalizedValue]?.file] ??
|
|
73
72
|
bundle[staticManifest[normalizedValue]?.file] ??
|
|
74
73
|
bundle[clientManifest[normalizedValue]?.file] ??
|
|
75
|
-
bundle[withoutQuery]
|
|
74
|
+
bundle[withoutQuery] ??
|
|
75
|
+
bundle[normalizedValue] ??
|
|
76
|
+
Object.entries(bundle).find(
|
|
77
|
+
([, value]) => value.name === normalizedValue
|
|
78
|
+
)?.[1] ??
|
|
79
|
+
Object.entries(bundle).find(([_key]) =>
|
|
80
|
+
_key.startsWith(startsWithMarker)
|
|
81
|
+
)?.[1];
|
|
82
|
+
|
|
76
83
|
if (serverChunk) {
|
|
77
84
|
if (serverChunk.type === "asset") {
|
|
85
|
+
// For CSS files, ensure we're in the React Server environment
|
|
86
|
+
if (userOptions.autoDiscover.jsonPattern(normalizedValue)) {
|
|
87
|
+
const jsonContent = serverChunk.source;
|
|
88
|
+
if (typeof jsonContent === "string") {
|
|
89
|
+
return { default: JSON.parse(jsonContent) };
|
|
90
|
+
}
|
|
91
|
+
} else if (userOptions.autoDiscover.cssPattern(normalizedValue)) {
|
|
92
|
+
const cssContent = serverChunk.source;
|
|
93
|
+
if (typeof cssContent === "string") {
|
|
94
|
+
return { default: cssContent };
|
|
95
|
+
}
|
|
96
|
+
}
|
|
78
97
|
return { default: serverChunk.source };
|
|
79
98
|
} else if ("code" in serverChunk) {
|
|
80
99
|
return { default: serverChunk.code };
|
|
81
|
-
} else {
|
|
82
|
-
console.warn("Could not find inline module for: " + normalizedValue);
|
|
83
100
|
}
|
|
84
101
|
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
const module = {
|
|
88
|
-
default: await readFile(
|
|
89
|
-
join(
|
|
90
|
-
userOptions.projectRoot,
|
|
91
|
-
userOptions.build.outDir,
|
|
92
|
-
userOptions.build.static,
|
|
93
|
-
normalizedValue
|
|
94
|
-
),
|
|
95
|
-
"utf-8"
|
|
96
|
-
),
|
|
97
|
-
};
|
|
98
|
-
temporaryReferences?.set(moduleRef, module);
|
|
99
|
-
return module;
|
|
100
|
-
}
|
|
101
|
-
const clientEntry = clientManifest[normalizedValue];
|
|
102
|
-
if (clientEntry) {
|
|
103
|
-
const module = await import(
|
|
104
|
-
join(
|
|
105
|
-
userOptions.projectRoot,
|
|
106
|
-
userOptions.build.outDir,
|
|
107
|
-
userOptions.build.client,
|
|
108
|
-
clientEntry.file
|
|
109
|
-
)
|
|
110
|
-
);
|
|
111
|
-
console.warn(
|
|
112
|
-
"client module used in buildLoader, consider making this available in the server manifest",
|
|
113
|
-
module
|
|
114
|
-
);
|
|
115
|
-
temporaryReferences?.set(moduleRef, module);
|
|
116
|
-
return module;
|
|
102
|
+
console.warn("Could not find inline module for: " + normalizedValue);
|
|
103
|
+
return null;
|
|
117
104
|
}
|
|
118
|
-
|
|
119
|
-
if
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
105
|
+
|
|
106
|
+
// Determine if this is a client component
|
|
107
|
+
const isClientComponent =
|
|
108
|
+
userOptions.autoDiscover.clientComponents(normalizedValue);
|
|
109
|
+
const isServerAction =
|
|
110
|
+
userOptions.autoDiscover.serverFunctions(normalizedValue);
|
|
111
|
+
const isPage = userOptions.autoDiscover.pagePattern(normalizedValue);
|
|
112
|
+
const isProps = userOptions.autoDiscover.propsPattern(normalizedValue);
|
|
113
|
+
|
|
114
|
+
// For client components, use client manifest
|
|
115
|
+
if (isClientComponent) {
|
|
116
|
+
const clientEntry = clientManifest[normalizedValue];
|
|
117
|
+
if (clientEntry) {
|
|
118
|
+
try {
|
|
119
|
+
const module = await import(
|
|
120
|
+
join(
|
|
121
|
+
userOptions.projectRoot,
|
|
122
|
+
userOptions.build.outDir,
|
|
123
|
+
userOptions.build.client,
|
|
124
|
+
clientEntry.file
|
|
125
|
+
)
|
|
126
|
+
);
|
|
127
|
+
temporaryReferences?.set(moduleRef, module);
|
|
128
|
+
return module;
|
|
129
|
+
} catch (error) {
|
|
130
|
+
const err = toError(error);
|
|
131
|
+
console.warn("Error loading client module:", err);
|
|
132
|
+
temporaryReferences?.delete(moduleRef);
|
|
133
|
+
throw err;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
130
136
|
}
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
if (
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
137
|
+
|
|
138
|
+
// For server components and actions, use server manifest
|
|
139
|
+
if (isServerAction || isPage || isProps) {
|
|
140
|
+
const serverEntry = serverManifest[normalizedValue];
|
|
141
|
+
if (serverEntry) {
|
|
142
|
+
try {
|
|
143
|
+
const module = await import(
|
|
144
|
+
join(
|
|
145
|
+
userOptions.projectRoot,
|
|
146
|
+
userOptions.build.outDir,
|
|
147
|
+
userOptions.build.server,
|
|
148
|
+
serverEntry.file
|
|
149
|
+
)
|
|
150
|
+
);
|
|
151
|
+
temporaryReferences?.set(moduleRef, module);
|
|
152
|
+
return module;
|
|
153
|
+
} catch (error) {
|
|
154
|
+
const err = toError(error);
|
|
155
|
+
console.warn("Error loading server module:", err);
|
|
156
|
+
temporaryReferences?.delete(moduleRef);
|
|
157
|
+
throw err;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
145
160
|
}
|
|
146
|
-
|
|
161
|
+
|
|
162
|
+
// For static assets, use static manifest
|
|
147
163
|
const staticEntry = staticManifest[normalizedValue];
|
|
148
164
|
if (staticEntry) {
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
module
|
|
160
|
-
)
|
|
161
|
-
|
|
162
|
-
|
|
165
|
+
try {
|
|
166
|
+
const module = await import(
|
|
167
|
+
join(
|
|
168
|
+
userOptions.projectRoot,
|
|
169
|
+
userOptions.build.outDir,
|
|
170
|
+
userOptions.build.static,
|
|
171
|
+
staticEntry.file
|
|
172
|
+
)
|
|
173
|
+
);
|
|
174
|
+
temporaryReferences?.set(moduleRef, module);
|
|
175
|
+
return module;
|
|
176
|
+
} catch (error) {
|
|
177
|
+
const err = toError(error);
|
|
178
|
+
console.warn("Error loading static module:", err);
|
|
179
|
+
temporaryReferences?.delete(moduleRef);
|
|
180
|
+
throw err;
|
|
181
|
+
}
|
|
163
182
|
}
|
|
164
|
-
|
|
183
|
+
|
|
184
|
+
throw new Error(`Module ${normalizedValue} not found during build`);
|
|
165
185
|
} catch (error) {
|
|
166
186
|
const emptyExports = {
|
|
167
187
|
error: error instanceof Error ? error : new Error(String(error)),
|
|
168
188
|
id: id,
|
|
169
189
|
};
|
|
170
|
-
temporaryReferences?.
|
|
190
|
+
temporaryReferences?.delete(moduleRef);
|
|
171
191
|
return emptyExports;
|
|
172
192
|
}
|
|
173
193
|
};
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { readFileSync } from "fs";
|
|
2
|
+
import * as esbuild from "esbuild";
|
|
3
|
+
import type { LoaderContext } from "../types.js";
|
|
4
|
+
|
|
5
|
+
export interface LoaderResult {
|
|
6
|
+
source: string;
|
|
7
|
+
map: any | null;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export interface Loader {
|
|
11
|
+
(id: string, context?: LoaderContext, nextLoad?: any): LoaderResult;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Creates a default loader function that either uses provided source or reads from file
|
|
16
|
+
*/
|
|
17
|
+
export function createDefaultLoader(source?: string): Loader {
|
|
18
|
+
if (typeof source === "string") {
|
|
19
|
+
return function load(id: string): LoaderResult {
|
|
20
|
+
// Use esbuild to transform the code
|
|
21
|
+
const result = esbuild.transformSync(source, {
|
|
22
|
+
loader: "tsx",
|
|
23
|
+
format: "esm",
|
|
24
|
+
target: "esnext",
|
|
25
|
+
sourcemap: true,
|
|
26
|
+
sourcefile: id,
|
|
27
|
+
});
|
|
28
|
+
return {
|
|
29
|
+
source: result.code,
|
|
30
|
+
map: result.map ? JSON.parse(result.map) : null,
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
return function load(
|
|
35
|
+
id: string,
|
|
36
|
+
context?: LoaderContext,
|
|
37
|
+
nextLoad?: any
|
|
38
|
+
): LoaderResult {
|
|
39
|
+
if (!nextLoad) {
|
|
40
|
+
nextLoad = (id: string) => {
|
|
41
|
+
const source = readFileSync(id, "utf-8");
|
|
42
|
+
// Use esbuild to transform the code
|
|
43
|
+
const result = esbuild.transformSync(source, {
|
|
44
|
+
loader: "tsx",
|
|
45
|
+
format: "esm",
|
|
46
|
+
target: "esnext",
|
|
47
|
+
sourcemap: true,
|
|
48
|
+
sourcefile: id,
|
|
49
|
+
});
|
|
50
|
+
return {
|
|
51
|
+
source: result.code,
|
|
52
|
+
map: result.map ? JSON.parse(result.map) : null,
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
const result = nextLoad(id, context);
|
|
57
|
+
return {
|
|
58
|
+
...result,
|
|
59
|
+
map: "map" in result ? result.map : null,
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
}
|
|
@@ -7,6 +7,7 @@ import type { ResolvedConfig } from "vite";
|
|
|
7
7
|
import { readFile } from "node:fs/promises";
|
|
8
8
|
import { join } from "node:path";
|
|
9
9
|
import { env } from "../utils/env.js";
|
|
10
|
+
import type { InitializedCssLoaderMessage } from "../worker/types.js";
|
|
10
11
|
|
|
11
12
|
/**
|
|
12
13
|
* Global port for communication between the main thread and the CSS loader.
|
|
@@ -31,10 +32,10 @@ let resolvedConfig: ResolvedConfig | undefined;
|
|
|
31
32
|
* @param data - Configuration data for the CSS loader
|
|
32
33
|
* @param data.port - The message port for communication
|
|
33
34
|
*/
|
|
34
|
-
export async function initialize(data: { port: MessagePort, resolvedConfig: SerializedUserConfig }) {
|
|
35
|
+
export async function initialize(data: { id: string, port: MessagePort, resolvedConfig: SerializedUserConfig }) {
|
|
35
36
|
loaderPort = data.port;
|
|
36
37
|
resolvedConfig = data.resolvedConfig;
|
|
37
|
-
data.port.postMessage({ type: "INITIALIZED_CSS_LOADER" });
|
|
38
|
+
data.port.postMessage({ type: "INITIALIZED_CSS_LOADER", id: data.id } satisfies InitializedCssLoaderMessage);
|
|
38
39
|
}
|
|
39
40
|
|
|
40
41
|
/**
|