vite-plugin-react-server 1.1.16 → 1.1.18

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.
Files changed (140) hide show
  1. package/README.md +2 -2
  2. package/dist/package.json +5 -3
  3. package/dist/plugin/components/css-collector-elements.d.ts.map +1 -1
  4. package/dist/plugin/components/html.d.ts.map +1 -1
  5. package/dist/plugin/config/autoDiscover/createGlobAutoDiscover.d.ts.map +1 -1
  6. package/dist/plugin/config/autoDiscover/customWorkerFiles.d.ts.map +1 -1
  7. package/dist/plugin/config/autoDiscover/pageAndPropFiles.d.ts.map +1 -1
  8. package/dist/plugin/config/autoDiscover/resolveAutoDiscover.d.ts.map +1 -1
  9. package/dist/plugin/config/autoDiscover/resolveAutoDiscover.js +7 -12
  10. package/dist/plugin/config/autoDiscover/resolveAutoDiscover.js.map +1 -1
  11. package/dist/plugin/config/autoDiscover/resolveBuildPages.js +2 -2
  12. package/dist/plugin/config/autoDiscover/resolveBuildPages.js.map +1 -1
  13. package/dist/plugin/config/createModuleID.d.ts +8 -0
  14. package/dist/plugin/config/createModuleID.d.ts.map +1 -0
  15. package/dist/plugin/config/createModuleID.js +33 -0
  16. package/dist/plugin/config/defaults.d.ts +5 -0
  17. package/dist/plugin/config/defaults.d.ts.map +1 -1
  18. package/dist/plugin/config/defaults.js +22 -3
  19. package/dist/plugin/config/defaults.js.map +1 -1
  20. package/dist/plugin/config/extMap.d.ts +1 -1
  21. package/dist/plugin/config/extMap.d.ts.map +1 -1
  22. package/dist/plugin/config/extMap.js +56 -26
  23. package/dist/plugin/config/extMap.js.map +1 -0
  24. package/dist/plugin/config/getCondition.d.ts.map +1 -1
  25. package/dist/plugin/config/getPaths.d.ts.map +1 -1
  26. package/dist/plugin/config/mimeTypes.d.ts.map +1 -1
  27. package/dist/plugin/config/mimeTypes.js +67 -0
  28. package/dist/plugin/config/mimeTypes.js.map +1 -1
  29. package/dist/plugin/config/resolveAutoDiscoverMatcher.d.ts.map +1 -1
  30. package/dist/plugin/config/resolveEnv.d.ts.map +1 -1
  31. package/dist/plugin/config/resolveOptions.d.ts.map +1 -1
  32. package/dist/plugin/config/resolveOptions.js +24 -8
  33. package/dist/plugin/config/resolveOptions.js.map +1 -1
  34. package/dist/plugin/config/resolveUserConfig.d.ts.map +1 -1
  35. package/dist/plugin/config/resolveUserConfig.js +39 -23
  36. package/dist/plugin/config/resolveUserConfig.js.map +1 -1
  37. package/dist/plugin/env/plugin.d.ts.map +1 -1
  38. package/dist/plugin/env/plugin.js +35 -2
  39. package/dist/plugin/env.js +37 -3
  40. package/dist/plugin/env.js.map +1 -1
  41. package/dist/plugin/error/toError.js +4 -4
  42. package/dist/plugin/error/toError.js.map +1 -1
  43. package/dist/plugin/helpers/cleanObject.js +2 -2
  44. package/dist/plugin/helpers/cleanObject.js.map +1 -1
  45. package/dist/plugin/helpers/collectManifestCss.js +2 -2
  46. package/dist/plugin/helpers/collectManifestCss.js.map +1 -1
  47. package/dist/plugin/helpers/collectViteModuleGraphCss.d.ts +1 -1
  48. package/dist/plugin/helpers/collectViteModuleGraphCss.d.ts.map +1 -1
  49. package/dist/plugin/helpers/collectViteModuleGraphCss.js +3 -1
  50. package/dist/plugin/helpers/collectViteModuleGraphCss.js.map +1 -1
  51. package/dist/plugin/helpers/createCssProps.d.ts +1 -1
  52. package/dist/plugin/helpers/createCssProps.d.ts.map +1 -1
  53. package/dist/plugin/helpers/createCssProps.js +12 -1
  54. package/dist/plugin/helpers/createCssProps.js.map +1 -1
  55. package/dist/plugin/helpers/createEventHandler.d.ts.map +1 -1
  56. package/dist/plugin/helpers/createEventHandler.js +1 -1
  57. package/dist/plugin/helpers/getBundleManifest.js +1 -1
  58. package/dist/plugin/helpers/getRouteFiles.d.ts.map +1 -1
  59. package/dist/plugin/helpers/getRouteFiles.js +2 -2
  60. package/dist/plugin/helpers/getRouteFiles.js.map +1 -1
  61. package/dist/plugin/helpers/inputNormalizer.js +1 -1
  62. package/dist/plugin/helpers/inputNormalizer.js.map +1 -1
  63. package/dist/plugin/helpers/requestInfo.d.ts +2 -2
  64. package/dist/plugin/helpers/requestInfo.d.ts.map +1 -1
  65. package/dist/plugin/helpers/requestInfo.js +10 -9
  66. package/dist/plugin/helpers/requestInfo.js.map +1 -1
  67. package/dist/plugin/helpers/resolvePage.d.ts.map +1 -1
  68. package/dist/plugin/helpers/resolveProps.d.ts.map +1 -1
  69. package/dist/plugin/helpers/serializeUserOptions.d.ts.map +1 -1
  70. package/dist/plugin/helpers/sourceMap.d.ts.map +1 -1
  71. package/dist/plugin/helpers/stashReturnValue.d.ts.map +1 -1
  72. package/dist/plugin/helpers/tryManifest.d.ts +3 -1
  73. package/dist/plugin/helpers/tryManifest.d.ts.map +1 -1
  74. package/dist/plugin/helpers/tryManifest.js +14 -8
  75. package/dist/plugin/helpers/tryManifest.js.map +1 -1
  76. package/dist/plugin/loader/transformModuleIfNeeded.d.ts.map +1 -1
  77. package/dist/plugin/loader/transformModuleIfNeeded.js +1 -2
  78. package/dist/plugin/loader/transformModuleIfNeeded.js.map +1 -1
  79. package/dist/plugin/metrics/formatMetrics.d.ts.map +1 -1
  80. package/dist/plugin/react-client/configureWorkerRequestHandler.d.ts.map +1 -1
  81. package/dist/plugin/react-client/configureWorkerRequestHandler.js +14 -18
  82. package/dist/plugin/react-client/configureWorkerRequestHandler.js.map +1 -1
  83. package/dist/plugin/react-client/createMessageHandlers.d.ts.map +1 -1
  84. package/dist/plugin/react-server/configureReactServer.d.ts.map +1 -1
  85. package/dist/plugin/react-server/configureReactServer.js +0 -12
  86. package/dist/plugin/react-server/configureReactServer.js.map +1 -1
  87. package/dist/plugin/react-static/configurePreviewServer.d.ts.map +1 -1
  88. package/dist/plugin/react-static/configurePreviewServer.js +1 -1
  89. package/dist/plugin/react-static/configurePreviewServer.js.map +1 -1
  90. package/dist/plugin/react-static/plugin.d.ts.map +1 -1
  91. package/dist/plugin/react-static/plugin.js +5 -14
  92. package/dist/plugin/react-static/plugin.js.map +1 -1
  93. package/dist/plugin/react-static/renderPages.js +1 -1
  94. package/dist/plugin/react-static/renderPages.js.map +1 -1
  95. package/dist/plugin/source-map/createMappingsSerializer.d.ts.map +1 -1
  96. package/dist/plugin/transformer/plugin.server.d.ts +24 -0
  97. package/dist/plugin/transformer/plugin.server.d.ts.map +1 -1
  98. package/dist/plugin/transformer/plugin.server.js +18 -15
  99. package/dist/plugin/transformer/plugin.server.js.map +1 -1
  100. package/dist/plugin/types.d.ts +4 -2
  101. package/dist/plugin/types.d.ts.map +1 -1
  102. package/dist/plugin/utils/createCallServer.d.ts.map +1 -1
  103. package/dist/plugin/utils/createCallServer.js +1 -2
  104. package/dist/plugin/utils/createCallServer.js.map +1 -1
  105. package/dist/plugin/utils/envUrls.node.d.ts.map +1 -1
  106. package/dist/plugin/utils/urls.d.ts.map +1 -1
  107. package/dist/plugin/vendor/types.d.ts +2 -0
  108. package/dist/plugin/vendor/types.d.ts.map +1 -0
  109. package/dist/plugin/vendor/types.js +1 -0
  110. package/dist/plugin/worker/createWorker.js +1 -1
  111. package/dist/plugin/worker/createWorker.js.map +1 -1
  112. package/dist/plugin/worker/rsc/state.d.ts +1 -10
  113. package/dist/plugin/worker/rsc/state.d.ts.map +1 -1
  114. package/dist/plugin/worker/rsc/state.js +31 -17
  115. package/dist/plugin/worker/rsc/state.js.map +1 -1
  116. package/dist/tsconfig.tsbuildinfo +1 -1
  117. package/package.json +5 -5
  118. package/plugin/config/autoDiscover/resolveAutoDiscover.ts +6 -14
  119. package/plugin/config/createModuleID.ts +51 -0
  120. package/plugin/config/defaults.tsx +5 -0
  121. package/plugin/config/extMap.ts +56 -44
  122. package/plugin/config/mimeTypes.ts +75 -1
  123. package/plugin/config/resolveOptions.ts +44 -24
  124. package/plugin/config/resolveUserConfig.ts +46 -22
  125. package/plugin/env/plugin.ts +39 -3
  126. package/plugin/helpers/collectManifestCss.ts +2 -2
  127. package/plugin/helpers/collectViteModuleGraphCss.ts +3 -0
  128. package/plugin/helpers/createCssProps.tsx +20 -3
  129. package/plugin/helpers/requestInfo.ts +30 -22
  130. package/plugin/helpers/tryManifest.ts +20 -10
  131. package/plugin/loader/transformModuleIfNeeded.ts +1 -4
  132. package/plugin/react-client/configureWorkerRequestHandler.ts +16 -20
  133. package/plugin/react-server/configureReactServer.ts +1 -13
  134. package/plugin/react-static/configurePreviewServer.ts +1 -2
  135. package/plugin/react-static/plugin.ts +20 -27
  136. package/plugin/transformer/plugin.server.ts +22 -15
  137. package/plugin/types.ts +8 -6
  138. package/plugin/utils/createCallServer.ts +1 -2
  139. package/plugin/vendor/types.ts +0 -0
  140. package/plugin/worker/rsc/state.ts +52 -62
package/README.md CHANGED
@@ -388,13 +388,13 @@ publicOrigin: "https://github.com",
388
388
  ### Page and props Mapping
389
389
 
390
390
  ```ts
391
- Page: (id) => join(id.replace("index.rsc", ""), "page.tsx");
391
+ Page: (id) => join('src', id, "page.tsx");
392
392
  ```
393
393
 
394
394
  Defines how pages are mapped to file paths.
395
395
 
396
396
  ```ts
397
- props: (id) => join(id.replace("index.rsc", ""), "props.ts");
397
+ props: (id) => join('src', id, "props.ts");
398
398
  ```
399
399
 
400
400
  Defines how to load the initial props of the page file.
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vite-plugin-react-server",
3
- "version": "1.1.16",
3
+ "version": "1.1.18",
4
4
  "description": "Vite plugin for React Server Components (RSC)",
5
5
  "type": "module",
6
6
  "main": "./dist/plugin/index.js",
@@ -90,7 +90,7 @@
90
90
  "test:client": "vitest run test/client",
91
91
  "test:build": "npm run setup:test-fixtures && npm test test/server/build.test.ts",
92
92
  "test:unit": "NODE_OPTIONS='--conditions react-server' vitest run test/unit",
93
- "test:llm": "rm -f build.log && npm run test:build 2>&1 | tee build.log",
93
+ "test:tee": "rm -f build.log && npm run test:build 2>&1 | tee build.log",
94
94
  "test:rsc-worker": "npm run build && vitest run test/client/rsc-worker.test.ts",
95
95
  "test:large-html": "npm run build && NODE_OPTIONS='--conditions react-server' vitest run test/server/large-html.test.ts --reporter=verbose",
96
96
  "test:metrics": "npm run build && NODE_OPTIONS='--conditions react-server' vitest run test/server/metrics.test.ts --reporter=verbose",
@@ -105,7 +105,8 @@
105
105
  "test:server-action-integration": "npm run build && NODE_OPTIONS='--conditions react-server' vitest run test/server/server-action-integration.test.ts --reporter=verbose",
106
106
  "test:server-action-integration-client": "npm run build && vitest run test/client/server-action-integration.test.ts --reporter=verbose",
107
107
  "test": "npm run build && npm run test:server && npm run test:client && npm run test:unit",
108
- "test:coverage": "npm run setup:test-fixtures && vitest run --coverage",
108
+ "test-base-url": "BASE_URL='/test/' && npm run build && npm run test:server && npm run test:client",
109
+ "test:coverage": "npm run setup:test-fixtures && NODE_OPTIONS='--conditions react-server' vitest run --coverage",
109
110
  "test:ui": "npm run setup:test-fixtures && vitest --ui",
110
111
  "experimental:clean-install": "npm install react-server-dom-esm react@experimental react-dom@experimental react-server-dom-esm --save-peer",
111
112
  "experimental:copy": "cp -r ./oss-experimental/* ./node_modules/",
@@ -156,6 +157,7 @@
156
157
  "devDependencies": {
157
158
  "@types/react": "^19.0.8",
158
159
  "@types/react-dom": "^19.0.3",
160
+ "@vitest/coverage-v8": "^3.0.4",
159
161
  "acorn-loose": "^8.3.0",
160
162
  "happy-dom": "^17.1.8",
161
163
  "patch-package": "^8.0.0",
@@ -1 +1 @@
1
- {"version":3,"file":"css-collector-elements.d.ts","sourceRoot":"","sources":["../../../plugin/components/css-collector-elements.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9C,eAAO,MAAM,oBAAoB,kBAE9B;IACD,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,UAAU,EAAE,CAAC;CAClD,+BAiCA,CAAC"}
1
+ {"version":3,"file":"css-collector-elements.d.ts","sourceRoot":"","sources":["../../../plugin/components/css-collector-elements.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9C,eAAO,MAAM,oBAAoB,GAAI,eAElC;IACD,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,UAAU,EAAE,CAAC;CAClD,+BAiCA,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../../plugin/components/html.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,eAAO,MAAM,IAAI,gEAOd,SAAS,sBAeX,CAAC"}
1
+ {"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../../plugin/components/html.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,eAAO,MAAM,IAAI,GAAI,6DAOlB,SAAS,sBAeX,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"createGlobAutoDiscover.d.ts","sourceRoot":"","sources":["../../../../plugin/config/autoDiscover/createGlobAutoDiscover.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAI1D,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,8BAIjD;IACD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,WAAW,EAAE,IAAI,CACf,mBAAmB,EACnB,YAAY,GAAG,aAAa,GAAG,YAAY,CAC5C,CAAC;CACH,qCAcF"}
1
+ {"version":3,"file":"createGlobAutoDiscover.d.ts","sourceRoot":"","sources":["../../../../plugin/config/autoDiscover/createGlobAutoDiscover.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAI1D,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,IACZ,0BAGrC;IACD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,WAAW,EAAE,IAAI,CACf,mBAAmB,EACnB,YAAY,GAAG,aAAa,GAAG,YAAY,CAC5C,CAAC;CACH,qCAcF"}
@@ -1 +1 @@
1
- {"version":3,"file":"customWorkerFiles.d.ts","sourceRoot":"","sources":["../../../../plugin/config/autoDiscover/customWorkerFiles.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1D;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,6BAG3B;IACD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,WAAW,EAAE,IAAI,CAAC,mBAAmB,EAAE,eAAe,GAAG,gBAAgB,CAAC,CAAC;CAC5E,2BAUA,CAAC"}
1
+ {"version":3,"file":"customWorkerFiles.d.ts","sourceRoot":"","sources":["../../../../plugin/config/autoDiscover/customWorkerFiles.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1D;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAAI,0BAG/B;IACD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,WAAW,EAAE,IAAI,CAAC,mBAAmB,EAAE,eAAe,GAAG,gBAAgB,CAAC,CAAC;CAC5E,2BAUA,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"pageAndPropFiles.d.ts","sourceRoot":"","sources":["../../../../plugin/config/autoDiscover/pageAndPropFiles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEzD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,uBAGxB;IACD,KAAK,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC,2BAsBA,CAAC"}
1
+ {"version":3,"file":"pageAndPropFiles.d.ts","sourceRoot":"","sources":["../../../../plugin/config/autoDiscover/pageAndPropFiles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEzD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,oBAG5B;IACD,KAAK,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC,2BAsBA,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolveAutoDiscover.d.ts","sourceRoot":"","sources":["../../../../plugin/config/autoDiscover/resolveAutoDiscover.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClD,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,YAAY,EACb,MAAM,gBAAgB,CAAC;AAexB,KAAK,wBAAwB,CAC3B,CAAC,SAAS,WAAW,GAAG,WAAW,EACnC,SAAS,SAAS,YAAY,GAAG,YAAY,IAC3C;IACF,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC/C,SAAS,EAAE,cAAc,GAAG,cAAc,CAAC;CAC5C,CAAC;AAEF,KAAK,yBAAyB,GAC1B;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,mBAAmB,CAAC,EAAE,KAAK,CAAC;CAC7B,CAAC;AAEN,wBAAsB,mBAAmB,CACvC,CAAC,SAAS,WAAW,GAAG,WAAW,EACnC,SAAS,SAAS,YAAY,GAAG,YAAY,EAC7C,EACA,MAAM,EACN,SAAS,EACT,WAAW,EACX,SAAS,GACV,EAAE,wBAAwB,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,OAAO,CAAC,yBAAyB,CAAC,CA4I7E"}
1
+ {"version":3,"file":"resolveAutoDiscover.d.ts","sourceRoot":"","sources":["../../../../plugin/config/autoDiscover/resolveAutoDiscover.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClD,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,YAAY,EACb,MAAM,gBAAgB,CAAC;AAexB,KAAK,wBAAwB,CAC3B,CAAC,SAAS,WAAW,GAAG,WAAW,EACnC,SAAS,SAAS,YAAY,GAAG,YAAY,IAC3C;IACF,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC/C,SAAS,EAAE,cAAc,GAAG,cAAc,CAAC;CAC5C,CAAC;AAEF,KAAK,yBAAyB,GAC1B;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,mBAAmB,CAAC,EAAE,KAAK,CAAC;CAC7B,CAAC;AAEN,wBAAsB,mBAAmB,CACvC,CAAC,SAAS,WAAW,GAAG,WAAW,EACnC,SAAS,SAAS,YAAY,GAAG,YAAY,EAC7C,EACA,MAAM,EACN,SAAS,EACT,WAAW,EACX,SAAS,GACV,EAAE,wBAAwB,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAoI7E"}
@@ -59,9 +59,10 @@ async function resolveAutoDiscover({
59
59
  if (staticManifestResult.type === "success") {
60
60
  staticManifest = staticManifestResult.manifest;
61
61
  } else if (configEnv.command === "build") {
62
- console.error(staticManifestResult.error);
62
+ if (staticManifestResult.type === "error") {
63
+ console.error(staticManifestResult.error);
64
+ }
63
65
  console.warn("Continuing without static manifest");
64
- staticManifest = {};
65
66
  }
66
67
  }
67
68
  const customWorkerInputs = customWorkerFiles({
@@ -92,25 +93,19 @@ async function resolveAutoDiscover({
92
93
  ...configInputRecord,
93
94
  ...clientInputs,
94
95
  ...clientEntry,
95
- ...cssInputs,
96
- ...jsonInputs
96
+ ...cssInputs
97
97
  };
98
98
  const inputs = condition === "react-client" ? {
99
99
  ...indexHtmlInputs,
100
- ...agnosticInputs,
101
- ...!(configEnv.command === "build" || configEnv.isSsrBuild) ? {
102
- // when we are not building, we likely still want the files for the client server, so we include them in the inputs
103
- ...pageAndPropInputs,
104
- ...serverActions,
105
- ...serverEntry
106
- } : {}
100
+ ...agnosticInputs
107
101
  } : {
108
102
  ...configInputRecord,
109
103
  ...customWorkerInputs,
110
104
  ...pageAndPropInputs,
111
105
  ...agnosticInputs,
112
106
  ...serverActions,
113
- ...serverEntry
107
+ ...serverEntry,
108
+ ...jsonInputs
114
109
  };
115
110
  return {
116
111
  type: "success",
@@ -1 +1 @@
1
- {"version":3,"file":"resolveAutoDiscover.js","sources":["../../../../plugin/config/autoDiscover/resolveAutoDiscover.ts"],"sourcesContent":["import type { ConfigEnv, UserConfig } from \"vite\";\nimport type {\n ResolvedUserOptions,\n AutoDiscoveredFiles,\n PagePropOpt,\n InlineCssOpt,\n} from \"../../types.js\";\nimport { join } from \"path\";\nimport { resolveBuildPages } from \"./resolveBuildPages.js\";\nimport { resolvePages } from \"../resolvePages.js\";\nimport { tryManifest } from \"../../helpers/tryManifest.js\";\nimport type { Manifest } from \"vite\";\nimport { createGlobAutoDiscover } from \"./createGlobAutoDiscover.js\";\nimport { customWorkerFiles } from \"./customWorkerFiles.js\";\nimport { pageAndPropFiles } from \"./pageAndPropFiles.js\";\n\nconst clientFiles = createGlobAutoDiscover(\"**/*.client.*\");\nconst serverFiles = createGlobAutoDiscover(\"**/*.server.*\");\nconst cssFiles = createGlobAutoDiscover(\"**/*.css\");\nconst jsonFiles = createGlobAutoDiscover(\"**/*.json\");\n\ntype ResolveAutoDiscoverProps<\n T extends PagePropOpt = PagePropOpt,\n InlineCSS extends InlineCssOpt = InlineCssOpt\n> = {\n config: UserConfig;\n configEnv: ConfigEnv;\n userOptions: ResolvedUserOptions<T, InlineCSS>;\n condition: \"react-server\" | \"react-client\";\n};\n\ntype ResolveAutoDiscoverReturn =\n | {\n type: \"success\";\n id: string;\n autoDiscoveredFiles: AutoDiscoveredFiles;\n error?: never;\n }\n | {\n type: \"error\";\n error: Error;\n id: string;\n autoDiscoveredFiles?: never;\n };\n\nexport async function resolveAutoDiscover<\n T extends PagePropOpt = PagePropOpt,\n InlineCSS extends InlineCssOpt = InlineCssOpt\n>({\n config,\n configEnv,\n userOptions,\n condition,\n}: ResolveAutoDiscoverProps<T, InlineCSS>): Promise<ResolveAutoDiscoverReturn> {\n const ssr = configEnv.isSsrBuild || condition === \"react-server\";\n const envDir =\n condition === \"react-server\"\n ? userOptions.build.server\n : ssr\n ? userOptions.build.client\n : userOptions.build.static;\n const envId = `${envDir}${ssr ? \"-ssr\" : \"\"}`;\n const configInputRecord = {} as Record<string, string>;\n if (typeof config.build?.rollupOptions?.input === \"string\") {\n configInputRecord[\n userOptions.normalizer(config.build?.rollupOptions?.input)[0]\n ] = config.build?.rollupOptions?.input;\n } else if (typeof config.build?.rollupOptions?.input === \"object\") {\n for (const [, value] of Object.entries(\n config.build?.rollupOptions?.input\n )) {\n configInputRecord[userOptions.normalizer(value)[0]] = value;\n }\n }\n\n const serverEntry =\n typeof userOptions.serverEntry === \"string\"\n ? Object.fromEntries([userOptions.normalizer(userOptions.serverEntry)])\n : null;\n\n const indexHtmlInputs = { index: \"index.html\" };\n\n const clientEntry =\n typeof userOptions.clientEntry === \"string\"\n ? Object.fromEntries([userOptions.normalizer(userOptions.clientEntry)])\n : {};\n\n const { type, error, pages } = await resolvePages(userOptions.build.pages);\n\n if (type === \"error\") {\n return {\n type: \"error\",\n error,\n id: envId,\n };\n }\n\n const files = await resolveBuildPages({\n pages,\n userOptions,\n });\n\n // Load static manifest for client build\n let staticManifest: Manifest = {};\n if (ssr && configEnv.command === \"build\") {\n const staticManifestResult = await tryManifest({\n root: userOptions.projectRoot,\n ssrManifest: false,\n outDir: join(userOptions.build.outDir, userOptions.build.static),\n });\n if (staticManifestResult.type === \"success\") {\n staticManifest = staticManifestResult.manifest;\n } else if (configEnv.command === \"build\") {\n // in dev mode, the static manifest is not needed\n // with ssr, WE ARE BUILDING the static manifest, so only warn in the case of a build\n console.error(staticManifestResult.error);\n console.warn(\"Continuing without static manifest\");\n // this can still work, but, it won't be able to look up any client-side assets\n // so likely the error will happen later in the build loader not being able to find the asset\n staticManifest = {};\n }\n }\n\n const customWorkerInputs = customWorkerFiles({\n inputs: {},\n userOptions,\n });\n const clientInputs = await clientFiles({\n inputs: {},\n userOptions,\n });\n const serverActions = await serverFiles({\n inputs: {},\n userOptions,\n });\n\n const pageAndPropInputs = pageAndPropFiles({\n files,\n inputs: {},\n });\n\n const cssInputs = await cssFiles({\n inputs: {},\n userOptions,\n });\n\n const jsonInputs = await jsonFiles({\n inputs: {},\n userOptions,\n });\n const agnosticInputs = {\n ...configInputRecord,\n ...clientInputs,\n ...clientEntry,\n ...cssInputs,\n ...jsonInputs,\n };\n // Add inputs based on condition\n const inputs =\n condition === \"react-client\"\n ? {\n ...indexHtmlInputs,\n ...agnosticInputs,\n ...(!(configEnv.command === \"build\" || configEnv.isSsrBuild)\n ? {\n // when we are not building, we likely still want the files for the client server, so we include them in the inputs\n ...pageAndPropInputs,\n ...serverActions,\n ...serverEntry,\n }\n : {}),\n }\n : {\n ...configInputRecord,\n ...customWorkerInputs,\n ...pageAndPropInputs,\n ...agnosticInputs,\n ...serverActions,\n ...serverEntry,\n };\n return {\n type: \"success\",\n id: envId,\n autoDiscoveredFiles: {\n ...files,\n workerPaths: customWorkerInputs,\n serverEntry,\n clientEntry,\n staticManifest,\n inputs,\n serverActions,\n },\n };\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolveAutoDiscover.js","sources":["../../../../plugin/config/autoDiscover/resolveAutoDiscover.ts"],"sourcesContent":["import type { ConfigEnv, UserConfig } from \"vite\";\nimport type {\n ResolvedUserOptions,\n AutoDiscoveredFiles,\n PagePropOpt,\n InlineCssOpt,\n} from \"../../types.js\";\nimport { join } from \"path\";\nimport { resolveBuildPages } from \"./resolveBuildPages.js\";\nimport { resolvePages } from \"../resolvePages.js\";\nimport { tryManifest } from \"../../helpers/tryManifest.js\";\nimport type { Manifest } from \"vite\";\nimport { createGlobAutoDiscover } from \"./createGlobAutoDiscover.js\";\nimport { customWorkerFiles } from \"./customWorkerFiles.js\";\nimport { pageAndPropFiles } from \"./pageAndPropFiles.js\";\n\nconst clientFiles = createGlobAutoDiscover(\"**/*.client.*\");\nconst serverFiles = createGlobAutoDiscover(\"**/*.server.*\");\nconst cssFiles = createGlobAutoDiscover(\"**/*.css\");\nconst jsonFiles = createGlobAutoDiscover(\"**/*.json\");\n\ntype ResolveAutoDiscoverProps<\n T extends PagePropOpt = PagePropOpt,\n InlineCSS extends InlineCssOpt = InlineCssOpt\n> = {\n config: UserConfig;\n configEnv: ConfigEnv;\n userOptions: ResolvedUserOptions<T, InlineCSS>;\n condition: \"react-server\" | \"react-client\";\n};\n\ntype ResolveAutoDiscoverReturn =\n | {\n type: \"success\";\n id: string;\n autoDiscoveredFiles: AutoDiscoveredFiles;\n error?: never;\n }\n | {\n type: \"error\";\n error: Error;\n id: string;\n autoDiscoveredFiles?: never;\n };\n\nexport async function resolveAutoDiscover<\n T extends PagePropOpt = PagePropOpt,\n InlineCSS extends InlineCssOpt = InlineCssOpt\n>({\n config,\n configEnv,\n userOptions,\n condition,\n}: ResolveAutoDiscoverProps<T, InlineCSS>): Promise<ResolveAutoDiscoverReturn> {\n const ssr = configEnv.isSsrBuild || condition === \"react-server\";\n const envDir =\n condition === \"react-server\"\n ? userOptions.build.server\n : ssr\n ? userOptions.build.client\n : userOptions.build.static;\n const envId = `${envDir}${ssr ? \"-ssr\" : \"\"}`;\n const configInputRecord = {} as Record<string, string>;\n if (typeof config.build?.rollupOptions?.input === \"string\") {\n configInputRecord[\n userOptions.normalizer(config.build?.rollupOptions?.input)[0]\n ] = config.build?.rollupOptions?.input;\n } else if (typeof config.build?.rollupOptions?.input === \"object\") {\n for (const [, value] of Object.entries(\n config.build?.rollupOptions?.input\n )) {\n configInputRecord[userOptions.normalizer(value)[0]] = value;\n }\n }\n\n const serverEntry =\n typeof userOptions.serverEntry === \"string\"\n ? Object.fromEntries([userOptions.normalizer(userOptions.serverEntry)])\n : null;\n\n const indexHtmlInputs = { index: \"index.html\" };\n\n const clientEntry =\n typeof userOptions.clientEntry === \"string\"\n ? Object.fromEntries([userOptions.normalizer(userOptions.clientEntry)])\n : {};\n\n const { type, error, pages } = await resolvePages(userOptions.build.pages);\n\n if (type === \"error\") {\n return {\n type: \"error\",\n error,\n id: envId,\n };\n }\n\n const files = await resolveBuildPages({\n pages,\n userOptions,\n });\n\n // Load static manifest for client build\n let staticManifest: Manifest = {};\n if (ssr && configEnv.command === \"build\") {\n const staticManifestResult = await tryManifest({\n root: userOptions.projectRoot,\n ssrManifest: false,\n outDir: join(userOptions.build.outDir, userOptions.build.static),\n });\n if (staticManifestResult.type === \"success\") {\n staticManifest = staticManifestResult.manifest;\n } else if (configEnv.command === \"build\") {\n // in dev mode the static manifest is not needed\n // without ssr, WE ARE BUILDING the static manifest, so only warn in the case of a build\n if (staticManifestResult.type === \"error\") {\n console.error(staticManifestResult.error);\n }\n console.warn(\"Continuing without static manifest\");\n // this can still work, but, it won't be able to look up any client-side assets\n }\n }\n\n const customWorkerInputs = customWorkerFiles({\n inputs: {},\n userOptions,\n });\n const clientInputs = await clientFiles({\n inputs: {},\n userOptions,\n });\n const serverActions = await serverFiles({\n inputs: {},\n userOptions,\n });\n\n const pageAndPropInputs = pageAndPropFiles({\n files,\n inputs: {},\n });\n\n const cssInputs = await cssFiles({\n inputs: {},\n userOptions,\n });\n\n const jsonInputs = await jsonFiles({\n inputs: {},\n userOptions,\n });\n const agnosticInputs = {\n ...configInputRecord,\n ...clientInputs,\n ...clientEntry,\n ...cssInputs,\n };\n // Add inputs based on condition\n const inputs =\n condition === \"react-client\"\n ? {\n ...indexHtmlInputs,\n ...agnosticInputs,\n }\n : {\n ...configInputRecord,\n ...customWorkerInputs,\n ...pageAndPropInputs,\n ...agnosticInputs,\n ...serverActions,\n ...serverEntry,\n ...jsonInputs,\n };\n return {\n type: \"success\",\n id: envId,\n autoDiscoveredFiles: {\n ...files,\n workerPaths: customWorkerInputs,\n serverEntry,\n clientEntry,\n staticManifest,\n inputs,\n serverActions,\n },\n };\n}\n"],"names":[],"mappings":"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"}
@@ -30,7 +30,7 @@ async function resolveBuildPages({
30
30
  }
31
31
  const [pageKey, pageValue] = userOptions.normalizer(pageResult.Page);
32
32
  if (!userOptions.props) {
33
- urlMap.set(page, { props: undefined, page: pageValue });
33
+ urlMap.set(page, { props: void 0, page: pageValue });
34
34
  pageMap.set(pageKey, pageValue);
35
35
  const routes = routeMap.get(pageValue) || [];
36
36
  routes.push(page);
@@ -67,7 +67,7 @@ async function resolveBuildPages({
67
67
  propsRoutes.push(page);
68
68
  routeMap.set(propsValue, propsRoutes);
69
69
  } else {
70
- urlMap.set(page, { props: undefined, page: pageValue });
70
+ urlMap.set(page, { props: void 0, page: pageValue });
71
71
  const routes = routeMap.get(pageValue) || [];
72
72
  routes.push(page);
73
73
  routeMap.set(pageValue, routes);
@@ -1 +1 @@
1
- {"version":3,"file":"resolveBuildPages.js","sources":["../../../../plugin/config/autoDiscover/resolveBuildPages.ts"],"sourcesContent":["import { access } from \"node:fs/promises\";\nimport { join } from \"node:path\";\nimport type { ResolvedBuildPages, ResolvedUserOptions } from \"../../types.js\";\nimport { resolveUrlOption } from \"../resolveUrlOption.js\";\n\nlet stashedBuildPages: ResolvedBuildPages | null = null;\nlet stashedPages: string[] | null = null;\n\nexport async function resolveBuildPages({\n pages,\n userOptions,\n}: {\n pages: string[];\n userOptions: Pick<ResolvedUserOptions, \"Page\" | \"props\" | \"build\" | \"moduleBase\" | \"projectRoot\" | \"normalizer\" | \"moduleBasePath\">;\n}): Promise<ResolvedBuildPages> {\n // Check if pages array has changed\n const pagesChanged =\n !stashedPages ||\n stashedPages.length !== pages.length ||\n !stashedPages.every((page, i) => page === pages[i]);\n\n if (stashedBuildPages && !pagesChanged) {\n return stashedBuildPages; // Return directly without Promise.resolve\n }\n const errors: Error[] = [];\n const pageMap = new Map<string, string>();\n const propsMap = new Map<string, string>();\n const urlMap = new Map<string, { props: string | undefined; page: string }>();\n const routeMap = new Map<string, string[]>();\n\n for (const page of pages) {\n const pageResult = await resolveUrlOption(userOptions, \"Page\", page);\n if(pageResult.type === \"error\") {\n errors.push(pageResult.error);\n continue;\n }\n const [pageKey, pageValue] = userOptions.normalizer(pageResult.Page);\n if(!userOptions.props) {\n urlMap.set(page, { props: undefined, page: pageValue });\n pageMap.set(pageKey, pageValue);\n // Add to routeMap\n const routes = routeMap.get(pageValue) || [];\n routes.push(page);\n routeMap.set(pageValue, routes);\n continue;\n }\n try {\n await access(join(userOptions.projectRoot, pageValue));\n } catch {\n errors.push(new Error(`Page file not found: ${pageValue}`));\n }\n const propsResult = await resolveUrlOption(userOptions, \"props\", page);\n if(propsResult.type === \"error\") {\n errors.push(propsResult.error);\n continue;\n }\n\n // If propsPath is defined, check if it exists\n if (propsResult.props) {\n const [propsKey, propsValue] = userOptions.normalizer(propsResult.props);\n if (propsValue !== pageValue) {\n try {\n await access(join(userOptions.projectRoot, propsValue));\n } catch {\n errors.push(\n new Error(`Props file not found: ${propsValue}`)\n );\n }\n }\n urlMap.set(page, { props: propsValue, page: pageValue });\n propsMap.set(propsKey, propsValue);\n \n // Add to routeMap for both page and props files\n const pageRoutes = routeMap.get(pageValue) || [];\n pageRoutes.push(page);\n routeMap.set(pageValue, pageRoutes);\n \n const propsRoutes = routeMap.get(propsValue) || [];\n propsRoutes.push(page);\n routeMap.set(propsValue, propsRoutes);\n } else {\n // If no props path, use the page path for both\n urlMap.set(page, { props: undefined, page: pageValue });\n \n // Add to routeMap for page file only\n const routes = routeMap.get(pageValue) || [];\n routes.push(page);\n routeMap.set(pageValue, routes);\n }\n\n pageMap.set(pageKey, pageValue);\n }\n\n stashedBuildPages = { pageMap, propsMap, urlMap, routeMap, errors };\n stashedPages = [...pages];\n return stashedBuildPages;\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolveBuildPages.js","sources":["../../../../plugin/config/autoDiscover/resolveBuildPages.ts"],"sourcesContent":["import { access } from \"node:fs/promises\";\nimport { join } from \"node:path\";\nimport type { ResolvedBuildPages, ResolvedUserOptions } from \"../../types.js\";\nimport { resolveUrlOption } from \"../resolveUrlOption.js\";\n\nlet stashedBuildPages: ResolvedBuildPages | null = null;\nlet stashedPages: string[] | null = null;\n\nexport async function resolveBuildPages({\n pages,\n userOptions,\n}: {\n pages: string[];\n userOptions: Pick<ResolvedUserOptions, \"Page\" | \"props\" | \"build\" | \"moduleBase\" | \"projectRoot\" | \"normalizer\" | \"moduleBasePath\">;\n}): Promise<ResolvedBuildPages> {\n // Check if pages array has changed\n const pagesChanged =\n !stashedPages ||\n stashedPages.length !== pages.length ||\n !stashedPages.every((page, i) => page === pages[i]);\n\n if (stashedBuildPages && !pagesChanged) {\n return stashedBuildPages; // Return directly without Promise.resolve\n }\n const errors: Error[] = [];\n const pageMap = new Map<string, string>();\n const propsMap = new Map<string, string>();\n const urlMap = new Map<string, { props: string | undefined; page: string }>();\n const routeMap = new Map<string, string[]>();\n\n for (const page of pages) {\n const pageResult = await resolveUrlOption(userOptions, \"Page\", page);\n if(pageResult.type === \"error\") {\n errors.push(pageResult.error);\n continue;\n }\n const [pageKey, pageValue] = userOptions.normalizer(pageResult.Page);\n if(!userOptions.props) {\n urlMap.set(page, { props: undefined, page: pageValue });\n pageMap.set(pageKey, pageValue);\n // Add to routeMap\n const routes = routeMap.get(pageValue) || [];\n routes.push(page);\n routeMap.set(pageValue, routes);\n continue;\n }\n try {\n await access(join(userOptions.projectRoot, pageValue));\n } catch {\n errors.push(new Error(`Page file not found: ${pageValue}`));\n }\n const propsResult = await resolveUrlOption(userOptions, \"props\", page);\n if(propsResult.type === \"error\") {\n errors.push(propsResult.error);\n continue;\n }\n\n // If propsPath is defined, check if it exists\n if (propsResult.props) {\n const [propsKey, propsValue] = userOptions.normalizer(propsResult.props);\n if (propsValue !== pageValue) {\n try {\n await access(join(userOptions.projectRoot, propsValue));\n } catch {\n errors.push(\n new Error(`Props file not found: ${propsValue}`)\n );\n }\n }\n urlMap.set(page, { props: propsValue, page: pageValue });\n propsMap.set(propsKey, propsValue);\n \n // Add to routeMap for both page and props files\n const pageRoutes = routeMap.get(pageValue) || [];\n pageRoutes.push(page);\n routeMap.set(pageValue, pageRoutes);\n \n const propsRoutes = routeMap.get(propsValue) || [];\n propsRoutes.push(page);\n routeMap.set(propsValue, propsRoutes);\n } else {\n // If no props path, use the page path for both\n urlMap.set(page, { props: undefined, page: pageValue });\n \n // Add to routeMap for page file only\n const routes = routeMap.get(pageValue) || [];\n routes.push(page);\n routeMap.set(pageValue, routes);\n }\n\n pageMap.set(pageKey, pageValue);\n }\n\n stashedBuildPages = { pageMap, propsMap, urlMap, routeMap, errors };\n stashedPages = [...pages];\n return stashedBuildPages;\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { ResolvedUserOptions } from "../types.js";
2
+ export declare const createDefaultModuleID: (options: {
3
+ moduleBase: ResolvedUserOptions["moduleBase"];
4
+ moduleBasePath: ResolvedUserOptions["moduleBasePath"];
5
+ autoDiscover: Pick<ResolvedUserOptions["autoDiscover"], "moduleExtension" | "jsExtension" | "cssExtension" | "jsonExtension" | "htmlExtension" | "rscExtension">;
6
+ build: Pick<ResolvedUserOptions["build"], "preserveModulesRoot">;
7
+ }) => (id: string) => string;
8
+ //# sourceMappingURL=createModuleID.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createModuleID.d.ts","sourceRoot":"","sources":["../../../plugin/config/createModuleID.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,eAAO,MAAM,qBAAqB,GAAI,SAAS;IAC7C,UAAU,EAAE,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAC9C,cAAc,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IACtD,YAAY,EAAE,IAAI,CAChB,mBAAmB,CAAC,cAAc,CAAC,EACjC,iBAAiB,GACjB,aAAa,GACb,cAAc,GACd,eAAe,GACf,eAAe,GACf,cAAc,CACjB,CAAC;IACF,KAAK,EAAE,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,qBAAqB,CAAC,CAAC;CAClE,MAYS,IAAI,MAAM,WAqBnB,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { join } from "node:path";
2
+ import { extMap } from "./extMap.js";
3
+ export const createDefaultModuleID = (options) => {
4
+ const { moduleBase, moduleBasePath, autoDiscover } = options;
5
+ const isProd = process.env["NODE_ENV"] === "production" ||
6
+ process.env["VITE_PROD"] === "true" ||
7
+ process.env["VITE_PROD"] === "1";
8
+ const prodModuleBase = isProd && options.build?.preserveModulesRoot === true
9
+ ? options.moduleBase
10
+ : undefined;
11
+ const mapExtension = extMap(autoDiscover);
12
+ return (id) => {
13
+ if (prodModuleBase && id.startsWith(moduleBase)) {
14
+ id = id.slice(moduleBase.length);
15
+ }
16
+ if (!id.startsWith(moduleBasePath)) {
17
+ id = join(moduleBasePath, id);
18
+ }
19
+ // in the case the moduleBase comes after the base path, remove it
20
+ if (prodModuleBase && id.startsWith("/" + moduleBase)) {
21
+ id = id.slice(moduleBase.length + 1);
22
+ }
23
+ // these paths will generally start with a /, simply ensure they always do
24
+ if (!id.startsWith("/")) {
25
+ id = "/" + id;
26
+ }
27
+ if (isProd) {
28
+ // generally it will work if we just use the .js extension for modules
29
+ return mapExtension(id);
30
+ }
31
+ return id;
32
+ };
33
+ };
@@ -115,6 +115,11 @@ export declare const DEFAULT_CONFIG: {
115
115
  readonly clientDirective: RegExp;
116
116
  readonly isServerFunctionCode: (code: string, moduleId?: string) => boolean;
117
117
  readonly isClientComponentCode: (code: string) => boolean;
118
+ readonly jsExtension: ".js";
119
+ readonly cssExtension: ".css";
120
+ readonly jsonExtension: ".json";
121
+ readonly htmlExtension: ".html";
122
+ readonly rscExtension: ".rsc";
118
123
  };
119
124
  readonly MODULE_ID: (id: string) => string;
120
125
  readonly VERBOSE: false;
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../plugin/config/defaults.tsx"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCA8CD,MAAM,EAAE;+BACV,MAAM,EAAE;;qCAEA,MAAM,EAAE;;QAUpC;;WAEG;oCACgB,MAAM;QACzB;;WAEG;kCACc,MAAM;QACvB;;WAEG;mCACe,MAAM;QACxB;;WAEG;uCACmB,MAAM;QAC5B;;WAEG;sCACkB,MAAM;QAC3B;;WAEG;;QAEH;;WAEG;;QAEH;;WAEG;;QAEH;;WAEG;;QAEH;;WAEG;;QAEH;;WAEG;;QAEH;;WAEG;;QAEH;;WAEG;+BACW,MAAM;QACpB;;WAEG;;QAEH;;WAEG;;QAEH;;WAEG;;QAEH;;WAEG;;8CAG0B,MAAM,aAAa,MAAM;+CAIxB,MAAM;;6BAGtB,MAAM;;CAEd,CAAC"}
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../plugin/config/defaults.tsx"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCA8CD,MAAM,EAAE;+BACV,MAAM,EAAE;;qCAEA,MAAM,EAAE;;QAUpC;;WAEG;oCACgB,MAAM;QACzB;;WAEG;kCACc,MAAM;QACvB;;WAEG;mCACe,MAAM;QACxB;;WAEG;uCACmB,MAAM;QAC5B;;WAEG;sCACkB,MAAM;QAC3B;;WAEG;;QAEH;;WAEG;;QAEH;;WAEG;;QAEH;;WAEG;;QAEH;;WAEG;;QAEH;;WAEG;;QAEH;;WAEG;;QAEH;;WAEG;+BACW,MAAM;QACpB;;WAEG;;QAEH;;WAEG;;QAEH;;WAEG;;QAEH;;WAEG;;8CAG0B,MAAM,aAAa,MAAM;+CAIxB,MAAM;;;;;;;6BAQtB,MAAM;;CAEd,CAAC"}
@@ -3,24 +3,34 @@
3
3
  * Copyright (c) Nico Brinkkemper
4
4
  * MIT License
5
5
  */
6
+ import { CssCollector } from '../components/css-collector.js';
6
7
  import { Html } from '../components/html.js';
7
8
 
8
9
  const DEFAULT_CONFIG = {
9
10
  CLIENT_ASSETS_DIR: "assets",
11
+ RSC_DIR: "rsc",
10
12
  MODULE_BASE: "src",
11
13
  MODULE_BASE_PATH: "/",
12
14
  MODULE_BASE_URL: "/",
13
15
  PUBLIC_ORIGIN: "",
14
- CLIENT_ENTRY: undefined,
15
- SERVER_ENTRY: undefined,
16
+ PAGE: "page.tsx",
17
+ PROPS: "props.ts",
18
+ CLIENT_ENTRY: void 0,
19
+ SERVER_ENTRY: void 0,
16
20
  PAGE_EXPORT_NAME: "Page",
17
21
  PROPS_EXPORT_NAME: "props",
18
22
  HTML_WORKER_PATH: `worker/html/html-worker.${process.env["NODE_ENV"] === "production" ? "production" : "development"}.js`,
19
23
  RSC_WORKER_PATH: `worker/rsc/rsc-worker.${process.env["NODE_ENV"] === "production" ? "production" : "development"}.js`,
20
24
  LOADER_PATH: "worker/loader.js",
25
+ RSC_EXTENSION: ".rsc",
26
+ CSS_COLLECTOR: CssCollector,
21
27
  HTML: Html,
22
28
  ON_METRICS: () => {
23
29
  },
30
+ DEV_PORT: 5173,
31
+ PREVIEW_PORT: 4173,
32
+ DEV_HOST: "localhost",
33
+ PREVIEW_HOST: "localhost",
24
34
  ENV_PREFIX: "VITE_",
25
35
  BUILD: {
26
36
  pages: [],
@@ -29,6 +39,7 @@ const DEFAULT_CONFIG = {
29
39
  static: "static",
30
40
  api: "api",
31
41
  outDir: "dist",
42
+ assetsDir: "assets",
32
43
  hash: "hash",
33
44
  rscOutputPath: "index.rsc",
34
45
  htmlOutputPath: "index.html",
@@ -36,6 +47,7 @@ const DEFAULT_CONFIG = {
36
47
  },
37
48
  CSS: {
38
49
  inlineCss: false,
50
+ purgeCss: false,
39
51
  inlineThreshold: 4096,
40
52
  // 4KB
41
53
  inlinePatterns: [],
@@ -43,6 +55,7 @@ const DEFAULT_CONFIG = {
43
55
  linkPatterns: []
44
56
  // Always link node_modules CSS
45
57
  },
58
+ MODULE_BASE_EXCEPTIONS: [],
46
59
  AUTO_DISCOVER: {
47
60
  // All REGEX tricks used here are based on the following:
48
61
  // $ = endsWith
@@ -121,8 +134,14 @@ const DEFAULT_CONFIG = {
121
134
  */
122
135
  clientDirective: /^"use client"[\s;]*\n?/m,
123
136
  isServerFunctionCode: (code, moduleId) => code.match(DEFAULT_CONFIG.AUTO_DISCOVER.serverDirective) !== null || moduleId && DEFAULT_CONFIG.AUTO_DISCOVER.serverFunctions(moduleId) || false,
124
- isClientComponentCode: (code) => code.match(DEFAULT_CONFIG.AUTO_DISCOVER.clientDirective) !== null
137
+ isClientComponentCode: (code) => code.match(DEFAULT_CONFIG.AUTO_DISCOVER.clientDirective) !== null,
138
+ jsExtension: ".js",
139
+ cssExtension: ".css",
140
+ jsonExtension: ".json",
141
+ htmlExtension: ".html",
142
+ rscExtension: ".rsc"
125
143
  },
144
+ MODULE_ID: (id) => id,
126
145
  VERBOSE: false
127
146
  };
128
147
 
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sources":["../../../plugin/config/defaults.tsx"],"sourcesContent":["import { CssCollector } from \"../components/css-collector.js\";\nimport { Html } from \"../components/html.js\";\nexport const DEFAULT_CONFIG = {\n CLIENT_ASSETS_DIR: \"assets\",\n RSC_DIR: \"rsc\",\n MODULE_BASE: \"src\",\n MODULE_BASE_PATH: \"/\",\n MODULE_BASE_URL: \"/\",\n PUBLIC_ORIGIN: \"\",\n PAGE: \"page.tsx\",\n PROPS: \"props.ts\",\n CLIENT_ENTRY: undefined,\n SERVER_ENTRY: undefined,\n PAGE_EXPORT_NAME: \"Page\",\n PROPS_EXPORT_NAME: \"props\",\n HTML_WORKER_PATH: `worker/html/html-worker.${\n process.env[\"NODE_ENV\"] === \"production\" ? \"production\" : \"development\"\n }.js`,\n RSC_WORKER_PATH: `worker/rsc/rsc-worker.${\n process.env[\"NODE_ENV\"] === \"production\" ? \"production\" : \"development\"\n }.js`,\n LOADER_PATH: \"worker/loader.js\",\n RSC_EXTENSION: \".rsc\",\n CSS_COLLECTOR: CssCollector,\n HTML: Html,\n ON_METRICS: ()=>{},\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: \"client\",\n server: \"server\",\n static: \"static\",\n api: \"api\",\n outDir: \"dist\",\n assetsDir: \"assets\",\n hash: \"hash\",\n rscOutputPath: \"index.rsc\",\n htmlOutputPath: \"index.html\",\n preserveModulesRoot: true,\n },\n CSS: {\n inlineCss: false,\n purgeCss: false,\n inlineThreshold: 4096, // 4KB\n inlinePatterns: [] as RegExp[], // Always inline CSS modules\n linkPatterns: [] as RegExp[], // Always link node_modules CSS\n },\n MODULE_BASE_EXCEPTIONS: [] as string[],\n AUTO_DISCOVER: {\n // All REGEX tricks used here are based on the following:\n // $ = endsWith\n // ^ = startsWith\n // . = includes\n // \\ = escape\n // ? = optional\n // () = group\n // | = or\n /**\n * /\\.(m|c)?(j|t)sx?$/ and .lowerCase()\n */\n modulePattern: (n: string) => /\\.(m|c)?(j|t)sx?$/.test(n.toLowerCase()),\n /**\n * /\\.?page(\\.(m|c)?(j|t)sx?)$/ and .lowerCase()\n */\n pagePattern: (n: string) => /\\.?page(\\.(m|c)?(j|t)sx?)$/.test(n.toLowerCase()),\n /**\n * /\\.?props(\\.(m|c)?(j|t)sx?)$/ and .lowerCase()\n */\n propsPattern: (n: string) => /\\.?props(\\.(m|c)?(j|t)sx?)$/.test(n.toLowerCase()), \n /**\n * /(\\.|\\/)?client(\\.(m|c)?(j|t)sx?)$/ and .lowerCase()\n */\n clientComponents: (n: string) => /(\\.|\\/)?client(\\.(m|c)?(j|t)sx?)?$/.test(n.toLowerCase()),\n /**\n * /(\\.|\\/)?server(\\.(m|c)?(j|t)sx?)$/ and .lowerCase()\n */\n serverFunctions: (n: string) => /(\\.|\\/)?server(\\.(m|c)?(j|t)sx?)?$/.test(n.toLowerCase()),\n /**\n * /\\.css$/\n */\n cssPattern: /\\.css$/,\n /**\n * /\\.css\\.js$/\n */\n cssModulePattern: /\\.css\\.js$/,\n /**\n * /^\\/@\\//\n */\n virtualPattern: /^\\/@\\//,\n /**\n * /^\\/node_modules\\//\n */\n vendorPattern: /^\\/node_modules\\//,\n /**\n * /\\.html$/\n */\n htmlPattern: /\\.html$/,\n /**\n * /\\.json$/\n */\n jsonPattern: /\\.json$/,\n /**\n * /\\.node(\\.js)?$/\n */\n nodeOnly: /\\.node(\\.js)?$/,\n /**\n * /\\.node(\\.js)?$/\n */\n dotFiles: (n: string) => n.split('/').some(p => p.startsWith('.')), \n /**\n * /\\.rsc$/\n */\n rscPattern: /\\.rsc$/, \n /**\n * /\\.(m|c)?(j|t)sx?$/\n */\n moduleExtension: /\\.(m|c)?(j|t)sx?$/,\n /**\n * /^\"use server\"[\\s;]*\\n?/m\n */\n serverDirective: /^\"use server\"[\\s;]*\\n?/m,\n /**\n * /^\"use client\"[\\s;]*\\n?/m\n */\n clientDirective: /^\"use client\"[\\s;]*\\n?/m,\n\n isServerFunctionCode: (code: string, moduleId?: string) => \n code.match(DEFAULT_CONFIG.AUTO_DISCOVER.serverDirective) !== null || \n (moduleId && DEFAULT_CONFIG.AUTO_DISCOVER.serverFunctions(moduleId)) || \n false,\n isClientComponentCode: (code: string) => code.match(DEFAULT_CONFIG.AUTO_DISCOVER.clientDirective) !== null,\n \n },\n MODULE_ID: (id: string) => id,\n VERBOSE: false,\n} as const;"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"defaults.js","sources":["../../../plugin/config/defaults.tsx"],"sourcesContent":["import { CssCollector } from \"../components/css-collector.js\";\nimport { Html } from \"../components/html.js\";\nexport const DEFAULT_CONFIG = {\n CLIENT_ASSETS_DIR: \"assets\",\n RSC_DIR: \"rsc\",\n MODULE_BASE: \"src\",\n MODULE_BASE_PATH: \"/\",\n MODULE_BASE_URL: \"/\",\n PUBLIC_ORIGIN: \"\",\n PAGE: \"page.tsx\",\n PROPS: \"props.ts\",\n CLIENT_ENTRY: undefined,\n SERVER_ENTRY: undefined,\n PAGE_EXPORT_NAME: \"Page\",\n PROPS_EXPORT_NAME: \"props\",\n HTML_WORKER_PATH: `worker/html/html-worker.${\n process.env[\"NODE_ENV\"] === \"production\" ? \"production\" : \"development\"\n }.js`,\n RSC_WORKER_PATH: `worker/rsc/rsc-worker.${\n process.env[\"NODE_ENV\"] === \"production\" ? \"production\" : \"development\"\n }.js`,\n LOADER_PATH: \"worker/loader.js\",\n RSC_EXTENSION: \".rsc\",\n CSS_COLLECTOR: CssCollector,\n HTML: Html,\n ON_METRICS: ()=>{},\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: \"client\",\n server: \"server\",\n static: \"static\",\n api: \"api\",\n outDir: \"dist\",\n assetsDir: \"assets\",\n hash: \"hash\",\n rscOutputPath: \"index.rsc\",\n htmlOutputPath: \"index.html\",\n preserveModulesRoot: true,\n },\n CSS: {\n inlineCss: false,\n purgeCss: false,\n inlineThreshold: 4096, // 4KB\n inlinePatterns: [] as RegExp[], // Always inline CSS modules\n linkPatterns: [] as RegExp[], // Always link node_modules CSS\n },\n MODULE_BASE_EXCEPTIONS: [] as string[],\n AUTO_DISCOVER: {\n // All REGEX tricks used here are based on the following:\n // $ = endsWith\n // ^ = startsWith\n // . = includes\n // \\ = escape\n // ? = optional\n // () = group\n // | = or\n /**\n * /\\.(m|c)?(j|t)sx?$/ and .lowerCase()\n */\n modulePattern: (n: string) => /\\.(m|c)?(j|t)sx?$/.test(n.toLowerCase()),\n /**\n * /\\.?page(\\.(m|c)?(j|t)sx?)$/ and .lowerCase()\n */\n pagePattern: (n: string) => /\\.?page(\\.(m|c)?(j|t)sx?)$/.test(n.toLowerCase()),\n /**\n * /\\.?props(\\.(m|c)?(j|t)sx?)$/ and .lowerCase()\n */\n propsPattern: (n: string) => /\\.?props(\\.(m|c)?(j|t)sx?)$/.test(n.toLowerCase()), \n /**\n * /(\\.|\\/)?client(\\.(m|c)?(j|t)sx?)$/ and .lowerCase()\n */\n clientComponents: (n: string) => /(\\.|\\/)?client(\\.(m|c)?(j|t)sx?)?$/.test(n.toLowerCase()),\n /**\n * /(\\.|\\/)?server(\\.(m|c)?(j|t)sx?)$/ and .lowerCase()\n */\n serverFunctions: (n: string) => /(\\.|\\/)?server(\\.(m|c)?(j|t)sx?)?$/.test(n.toLowerCase()),\n /**\n * /\\.css$/\n */\n cssPattern: /\\.css$/,\n /**\n * /\\.css\\.js$/\n */\n cssModulePattern: /\\.css\\.js$/,\n /**\n * /^\\/@\\//\n */\n virtualPattern: /^\\/@\\//,\n /**\n * /^\\/node_modules\\//\n */\n vendorPattern: /^\\/node_modules\\//,\n /**\n * /\\.html$/\n */\n htmlPattern: /\\.html$/,\n /**\n * /\\.json$/\n */\n jsonPattern: /\\.json$/,\n /**\n * /\\.node(\\.js)?$/\n */\n nodeOnly: /\\.node(\\.js)?$/,\n /**\n * /\\.node(\\.js)?$/\n */\n dotFiles: (n: string) => n.split('/').some(p => p.startsWith('.')), \n /**\n * /\\.rsc$/\n */\n rscPattern: /\\.rsc$/, \n /**\n * /\\.(m|c)?(j|t)sx?$/\n */\n moduleExtension: /\\.(m|c)?(j|t)sx?$/,\n /**\n * /^\"use server\"[\\s;]*\\n?/m\n */\n serverDirective: /^\"use server\"[\\s;]*\\n?/m,\n /**\n * /^\"use client\"[\\s;]*\\n?/m\n */\n clientDirective: /^\"use client\"[\\s;]*\\n?/m,\n\n isServerFunctionCode: (code: string, moduleId?: string) => \n code.match(DEFAULT_CONFIG.AUTO_DISCOVER.serverDirective) !== null || \n (moduleId && DEFAULT_CONFIG.AUTO_DISCOVER.serverFunctions(moduleId)) || \n false,\n isClientComponentCode: (code: string) => code.match(DEFAULT_CONFIG.AUTO_DISCOVER.clientDirective) !== null,\n jsExtension: \".js\",\n cssExtension: \".css\",\n jsonExtension: \".json\",\n htmlExtension: \".html\",\n rscExtension: \".rsc\",\n \n },\n MODULE_ID: (id: string) => id,\n VERBOSE: false,\n} as const;"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import type { ResolvedUserOptions } from "../types.js";
2
- export declare const extMap: ({ jsExtension, cssExtension, jsonExtension, htmlExtension, rscExtension, }?: Pick<ResolvedUserOptions["autoDiscover"], "jsExtension" | "cssExtension" | "jsonExtension" | "htmlExtension" | "rscExtension">) => (ext: string) => string;
2
+ export declare const extMap: ({ moduleExtension, jsExtension, cssExtension, jsonExtension, htmlExtension, rscExtension, }?: Pick<ResolvedUserOptions["autoDiscover"], "moduleExtension" | "jsExtension" | "cssExtension" | "jsonExtension" | "htmlExtension" | "rscExtension">) => (id: string) => string;
3
3
  //# sourceMappingURL=extMap.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"extMap.d.ts","sourceRoot":"","sources":["../../../plugin/config/extMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,eAAO,MAAM,MAAM,gFAQZ,IAAI,CACL,mBAAmB,CAAC,cAAc,CAAC,EACjC,aAAa,GACb,cAAc,GACd,eAAe,GACf,eAAe,GACf,cAAc,CACjB,WAQG,MAAM,WAsBX,CAAC"}
1
+ {"version":3,"file":"extMap.d.ts","sourceRoot":"","sources":["../../../plugin/config/extMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGvD,eAAO,MAAM,MAAM,GACjB,8FAOG,IAAI,CACL,mBAAmB,CAAC,cAAc,CAAC,EACjC,iBAAiB,GACjB,aAAa,GACb,cAAc,GACd,eAAe,GACf,eAAe,GACf,cAAc,CAQjB,MAqBO,IAAI,MAAM,WAYnB,CAAC"}
@@ -1,27 +1,57 @@
1
- export const extMap = ({ jsExtension, cssExtension, jsonExtension, htmlExtension, rscExtension, } = {
2
- jsExtension: ".js",
3
- cssExtension: ".css",
4
- jsonExtension: ".json",
5
- htmlExtension: ".html",
6
- rscExtension: ".rsc",
7
- }) => (ext) => {
8
- return ({
9
- // should not have just .client as extension
10
- client: ".client" + jsExtension,
11
- // should not have just .server as extension
12
- server: ".server" + jsExtension,
13
- // these transform to js
14
- jsx: jsExtension,
15
- ts: jsExtension,
16
- tsx: jsExtension,
17
- mjs: jsExtension,
18
- cjs: jsExtension,
19
- mts: jsExtension,
20
- cts: jsExtension,
21
- css: cssExtension,
22
- json: jsonExtension,
23
- html: htmlExtension,
24
- rsc: rscExtension,
25
- // otherwise do nothing
26
- }[ext.startsWith(".") ? ext.slice(1) : ext] ?? jsExtension);
1
+ /**
2
+ * vite-plugin-react-server
3
+ * Copyright (c) Nico Brinkkemper
4
+ * MIT License
5
+ */
6
+ import { DEFAULT_CONFIG } from './defaults.js';
7
+
8
+ const extMap = ({
9
+ moduleExtension,
10
+ jsExtension,
11
+ cssExtension,
12
+ jsonExtension,
13
+ htmlExtension,
14
+ rscExtension
15
+ } = {
16
+ moduleExtension: DEFAULT_CONFIG.AUTO_DISCOVER.moduleExtension,
17
+ jsExtension: DEFAULT_CONFIG.AUTO_DISCOVER.jsExtension,
18
+ cssExtension: DEFAULT_CONFIG.AUTO_DISCOVER.cssExtension,
19
+ jsonExtension: DEFAULT_CONFIG.AUTO_DISCOVER.jsonExtension,
20
+ htmlExtension: DEFAULT_CONFIG.AUTO_DISCOVER.htmlExtension,
21
+ rscExtension: DEFAULT_CONFIG.AUTO_DISCOVER.rscExtension
22
+ }) => {
23
+ const map = {
24
+ // should not have just .client as extension
25
+ ".client": ".client" + jsExtension,
26
+ // should not have just .server as extension
27
+ ".server": ".server" + jsExtension,
28
+ // these transform to js
29
+ ".jsx": jsExtension,
30
+ ".ts": jsExtension,
31
+ ".tsx": jsExtension,
32
+ ".mjs": jsExtension,
33
+ ".cjs": jsExtension,
34
+ ".mts": jsExtension,
35
+ ".cts": jsExtension,
36
+ ".css": cssExtension,
37
+ ".json": jsonExtension,
38
+ ".html": htmlExtension,
39
+ ".rsc": rscExtension
40
+ // otherwise do nothing
41
+ };
42
+ return (id) => {
43
+ const lastDotIndex = id.lastIndexOf(".");
44
+ if (lastDotIndex === -1) {
45
+ return id + jsExtension;
46
+ }
47
+ let ext = id.slice(lastDotIndex);
48
+ let withoutExt = id.slice(0, lastDotIndex);
49
+ if (ext in map) {
50
+ return withoutExt + map[ext];
51
+ }
52
+ return id.replace(moduleExtension, jsExtension);
53
+ };
27
54
  };
55
+
56
+ export { extMap };
57
+ //# sourceMappingURL=extMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extMap.js","sources":["../../../plugin/config/extMap.ts"],"sourcesContent":["import type { ResolvedUserOptions } from \"../types.js\";\nimport { DEFAULT_CONFIG } from \"./defaults.js\";\n\nexport const extMap = (\n {\n moduleExtension,\n jsExtension,\n cssExtension,\n jsonExtension,\n htmlExtension,\n rscExtension,\n }: Pick<\n ResolvedUserOptions[\"autoDiscover\"],\n | \"moduleExtension\"\n | \"jsExtension\"\n | \"cssExtension\"\n | \"jsonExtension\"\n | \"htmlExtension\"\n | \"rscExtension\"\n > = {\n moduleExtension: DEFAULT_CONFIG.AUTO_DISCOVER.moduleExtension,\n jsExtension: DEFAULT_CONFIG.AUTO_DISCOVER.jsExtension,\n cssExtension: DEFAULT_CONFIG.AUTO_DISCOVER.cssExtension,\n jsonExtension: DEFAULT_CONFIG.AUTO_DISCOVER.jsonExtension,\n htmlExtension: DEFAULT_CONFIG.AUTO_DISCOVER.htmlExtension,\n rscExtension: DEFAULT_CONFIG.AUTO_DISCOVER.rscExtension,\n }\n) => {\n const map = {\n // should not have just .client as extension\n \".client\": \".client\" + jsExtension,\n // should not have just .server as extension\n \".server\": \".server\" + jsExtension,\n // these transform to js\n \".jsx\": jsExtension,\n \".ts\": jsExtension,\n \".tsx\": jsExtension,\n \".mjs\": jsExtension,\n \".cjs\": jsExtension,\n \".mts\": jsExtension,\n \".cts\": jsExtension,\n \".css\": cssExtension,\n \".json\": jsonExtension,\n \".html\": htmlExtension,\n \".rsc\": rscExtension,\n // otherwise do nothing\n };\n return (id: string) => {\n const lastDotIndex = id.lastIndexOf(\".\");\n if (lastDotIndex === -1) {\n return id + jsExtension;\n }\n let ext = id.slice(lastDotIndex);\n let withoutExt = id.slice(0, lastDotIndex);\n if (ext in map) {\n return withoutExt + map[ext as keyof typeof map];\n }\n return id.replace(moduleExtension, jsExtension);\n };\n};\n"],"names":[],"mappings":";;;;;;;AAGO,MAAM,SAAS,CACpB;AAAA,EACE,eAAA;AAAA,EACA,WAAA;AAAA,EACA,YAAA;AAAA,EACA,aAAA;AAAA,EACA,aAAA;AAAA,EACA;AACF,CAQI,GAAA;AAAA,EACF,eAAA,EAAiB,eAAe,aAAc,CAAA,eAAA;AAAA,EAC9C,WAAA,EAAa,eAAe,aAAc,CAAA,WAAA;AAAA,EAC1C,YAAA,EAAc,eAAe,aAAc,CAAA,YAAA;AAAA,EAC3C,aAAA,EAAe,eAAe,aAAc,CAAA,aAAA;AAAA,EAC5C,aAAA,EAAe,eAAe,aAAc,CAAA,aAAA;AAAA,EAC5C,YAAA,EAAc,eAAe,aAAc,CAAA;AAC7C,CACG,KAAA;AACH,EAAA,MAAM,GAAM,GAAA;AAAA;AAAA,IAEV,WAAW,SAAY,GAAA,WAAA;AAAA;AAAA,IAEvB,WAAW,SAAY,GAAA,WAAA;AAAA;AAAA,IAEvB,MAAQ,EAAA,WAAA;AAAA,IACR,KAAO,EAAA,WAAA;AAAA,IACP,MAAQ,EAAA,WAAA;AAAA,IACR,MAAQ,EAAA,WAAA;AAAA,IACR,MAAQ,EAAA,WAAA;AAAA,IACR,MAAQ,EAAA,WAAA;AAAA,IACR,MAAQ,EAAA,WAAA;AAAA,IACR,MAAQ,EAAA,YAAA;AAAA,IACR,OAAS,EAAA,aAAA;AAAA,IACT,OAAS,EAAA,aAAA;AAAA,IACT,MAAQ,EAAA;AAAA;AAAA,GAEV;AACA,EAAA,OAAO,CAAC,EAAe,KAAA;AACrB,IAAM,MAAA,YAAA,GAAe,EAAG,CAAA,WAAA,CAAY,GAAG,CAAA;AACvC,IAAA,IAAI,iBAAiB,EAAI,EAAA;AACvB,MAAA,OAAO,EAAK,GAAA,WAAA;AAAA;AAEd,IAAI,IAAA,GAAA,GAAM,EAAG,CAAA,KAAA,CAAM,YAAY,CAAA;AAC/B,IAAA,IAAI,UAAa,GAAA,EAAA,CAAG,KAAM,CAAA,CAAA,EAAG,YAAY,CAAA;AACzC,IAAA,IAAI,OAAO,GAAK,EAAA;AACd,MAAO,OAAA,UAAA,GAAa,IAAI,GAAuB,CAAA;AAAA;AAEjD,IAAO,OAAA,EAAA,CAAG,OAAQ,CAAA,eAAA,EAAiB,WAAW,CAAA;AAAA,GAChD;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"getCondition.d.ts","sourceRoot":"","sources":["../../../plugin/config/getCondition.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,GAAI,MAAM,SAAS,MAAM,sBACxC,MAAM,KACb,GAAG,MAAM,QAAQ,GAAG,GAAG,MAAM,QAI/B,CAAC"}
1
+ {"version":3,"file":"getCondition.d.ts","sourceRoot":"","sources":["../../../plugin/config/getCondition.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,GAAI,MAAM,SAAS,MAAM,GAAG,QAAQ,EAC3D,SAAQ,MAA2B,KAClC,GAAG,MAAM,QAAQ,GAAG,GAAG,MAAM,QAI/B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"getPaths.d.ts","sourceRoot":"","sources":["../../../plugin/config/getPaths.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,UAAU,MAAM,KAAmB,MAE1D,CAAA;AAED,eAAO,MAAM,OAAO,QAAO,YAAY,GAAG,aAAa,GAAG,MAMzD,CAAA"}
1
+ {"version":3,"file":"getPaths.d.ts","sourceRoot":"","sources":["../../../plugin/config/getPaths.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,GAAI,OAAM,MAAsB,KAAG,MAE1D,CAAA;AAED,eAAO,MAAM,OAAO,QAAO,YAAY,GAAG,aAAa,GAAG,MAMzD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"mimeTypes.d.ts","sourceRoot":"","sources":["../../../plugin/config/mimeTypes.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAe3C,CAAC"}
1
+ {"version":3,"file":"mimeTypes.d.ts","sourceRoot":"","sources":["../../../plugin/config/mimeTypes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA0F3C,CAAC"}