vite-plugin-react-server 0.3.11 → 0.3.12

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 (220) hide show
  1. package/dist/package.json +15 -11
  2. package/dist/plugin/checkFilesExist.d.ts +2 -2
  3. package/dist/plugin/checkFilesExist.d.ts.map +1 -1
  4. package/dist/plugin/checkFilesExist.js +39 -57
  5. package/dist/plugin/checkFilesExist.js.map +1 -1
  6. package/dist/plugin/collect-css-manifest.d.ts.map +1 -1
  7. package/dist/plugin/collect-css-manifest.js +5 -0
  8. package/dist/plugin/collect-css-manifest.js.map +1 -1
  9. package/dist/plugin/components.js +10 -15
  10. package/dist/plugin/config/createModuleIdGenerator.js +1 -1
  11. package/dist/plugin/config/createModuleIdGenerator.js.map +1 -1
  12. package/dist/plugin/config/defaults.d.ts +5 -14
  13. package/dist/plugin/config/defaults.d.ts.map +1 -1
  14. package/dist/plugin/config/defaults.js +12 -12
  15. package/dist/plugin/config/defaults.js.map +1 -1
  16. package/dist/plugin/config/getPaths.js +1 -1
  17. package/dist/plugin/config/resolveOptions.d.ts.map +1 -1
  18. package/dist/plugin/config/resolveOptions.js +73 -52
  19. package/dist/plugin/config/resolveOptions.js.map +1 -1
  20. package/dist/plugin/config/resolveUserConfig.d.ts.map +1 -1
  21. package/dist/plugin/config/resolveUserConfig.js +53 -65
  22. package/dist/plugin/config/resolveUserConfig.js.map +1 -1
  23. package/dist/plugin/helpers/getBundleManifest.d.ts +6 -1
  24. package/dist/plugin/helpers/getBundleManifest.d.ts.map +1 -1
  25. package/dist/plugin/helpers/getBundleManifest.js +48 -19
  26. package/dist/plugin/helpers/getBundleManifest.js.map +1 -1
  27. package/dist/plugin/helpers/inputNormalizer.d.ts +1 -2
  28. package/dist/plugin/helpers/inputNormalizer.d.ts.map +1 -1
  29. package/dist/plugin/helpers/inputNormalizer.js +52 -46
  30. package/dist/plugin/helpers/inputNormalizer.js.map +1 -1
  31. package/dist/plugin/helpers/tryManifest.d.ts +1 -1
  32. package/dist/plugin/helpers/tryManifest.d.ts.map +1 -1
  33. package/dist/plugin/helpers/tryManifest.js.map +1 -1
  34. package/dist/plugin/loader/createBuildLoader.d.ts +1 -1
  35. package/dist/plugin/loader/createBuildLoader.d.ts.map +1 -1
  36. package/dist/plugin/loader/createBuildLoader.js +29 -26
  37. package/dist/plugin/loader/createBuildLoader.js.map +1 -1
  38. package/dist/plugin/loader/css-loader.d.ts +16 -0
  39. package/dist/plugin/loader/css-loader.d.ts.map +1 -0
  40. package/dist/plugin/loader/css-loader.js +70 -0
  41. package/dist/plugin/loader/css-loader.js.map +1 -0
  42. package/dist/plugin/loader/react-loader.d.ts +17 -0
  43. package/dist/plugin/loader/react-loader.d.ts.map +1 -0
  44. package/dist/plugin/loader/react-loader.js +647 -0
  45. package/dist/plugin/loader/react-loader.js.map +1 -0
  46. package/dist/plugin/loader/rsc/messageHandler.d.ts +2 -0
  47. package/dist/plugin/loader/rsc/messageHandler.d.ts.map +1 -0
  48. package/dist/plugin/loader/rsc/messageHandler.js +1 -0
  49. package/dist/plugin/loader/rsc/rsc-worker.development.d.ts +2 -0
  50. package/dist/plugin/loader/rsc/rsc-worker.development.d.ts.map +1 -0
  51. package/dist/plugin/loader/rsc/rsc-worker.development.js +1 -0
  52. package/dist/plugin/react-client/index.js +2 -2
  53. package/dist/plugin/react-client/index.js.map +1 -1
  54. package/dist/plugin/react-client/plugin.d.ts.map +1 -1
  55. package/dist/plugin/react-client/plugin.js +202 -25
  56. package/dist/plugin/react-client/plugin.js.map +1 -1
  57. package/dist/plugin/react-server/createHandler.d.ts.map +1 -1
  58. package/dist/plugin/react-server/createHandler.js +10 -4
  59. package/dist/plugin/react-server/createHandler.js.map +1 -1
  60. package/dist/plugin/react-server/createRscStream.d.ts +15 -3
  61. package/dist/plugin/react-server/createRscStream.d.ts.map +1 -1
  62. package/dist/plugin/react-server/createRscStream.js +52 -49
  63. package/dist/plugin/react-server/createRscStream.js.map +1 -1
  64. package/dist/plugin/react-server/plugin.d.ts.map +1 -1
  65. package/dist/plugin/react-server/plugin.js +24 -20
  66. package/dist/plugin/react-server/plugin.js.map +1 -1
  67. package/dist/plugin/transformer/plugin.d.ts.map +1 -1
  68. package/dist/plugin/transformer/plugin.js +65 -52
  69. package/dist/plugin/transformer/plugin.js.map +1 -1
  70. package/dist/plugin/types.d.ts +5 -0
  71. package/dist/plugin/types.d.ts.map +1 -1
  72. package/dist/plugin/utils/logger.d.ts +9 -0
  73. package/dist/plugin/utils/logger.d.ts.map +1 -0
  74. package/dist/plugin/utils/logger.js +68 -0
  75. package/dist/plugin/utils/logger.js.map +1 -0
  76. package/dist/plugin/worker/createWorker.d.ts +1 -0
  77. package/dist/plugin/worker/createWorker.d.ts.map +1 -1
  78. package/dist/plugin/worker/createWorker.js +23 -36
  79. package/dist/plugin/worker/createWorker.js.map +1 -1
  80. package/dist/plugin/worker/html/html-worker.production.js +5 -1
  81. package/dist/plugin/worker/html/html-worker.production.js.map +1 -1
  82. package/dist/plugin/worker/html/messageHandler.d.ts.map +1 -1
  83. package/dist/plugin/worker/html/messageHandler.js +10 -19
  84. package/dist/plugin/worker/html/messageHandler.js.map +1 -1
  85. package/dist/plugin/worker/html/renderPages.d.ts +2 -2
  86. package/dist/plugin/worker/html/renderPages.d.ts.map +1 -1
  87. package/dist/plugin/worker/html/renderPages.js +130 -131
  88. package/dist/plugin/worker/html/renderPages.js.map +1 -1
  89. package/dist/plugin/worker/rsc/index.d.ts +1 -3
  90. package/dist/plugin/worker/rsc/index.d.ts.map +1 -1
  91. package/dist/plugin/worker/rsc/index.js +1 -9
  92. package/dist/plugin/worker/rsc/index.js.map +1 -1
  93. package/dist/plugin/worker/rsc/messageHandler.d.ts +3 -0
  94. package/dist/plugin/worker/rsc/messageHandler.d.ts.map +1 -0
  95. package/dist/plugin/worker/rsc/messageHandler.js +107 -0
  96. package/dist/plugin/worker/rsc/messageHandler.js.map +1 -0
  97. package/dist/plugin/worker/rsc/plugin.d.ts.map +1 -1
  98. package/dist/plugin/worker/rsc/plugin.js +74 -80
  99. package/dist/plugin/worker/rsc/rsc-worker.development.d.ts +32 -0
  100. package/dist/plugin/worker/rsc/rsc-worker.development.d.ts.map +1 -0
  101. package/dist/plugin/worker/rsc/rsc-worker.development.js +43 -0
  102. package/dist/plugin/worker/rsc/rsc-worker.development.js.map +1 -0
  103. package/dist/plugin/worker/rsc/rsc-worker.js +4 -106
  104. package/dist/plugin/worker/rsc/rsc-worker.production.d.ts +2 -0
  105. package/dist/plugin/worker/rsc/rsc-worker.production.d.ts.map +1 -0
  106. package/dist/plugin/worker/rsc/rsc-worker.production.js +14 -0
  107. package/dist/plugin/worker/rsc/rsc-worker.production.js.map +1 -0
  108. package/dist/plugin/worker/rsc/state.d.ts +11 -0
  109. package/dist/plugin/worker/rsc/state.d.ts.map +1 -0
  110. package/dist/plugin/worker/rsc/state.js +12 -0
  111. package/dist/plugin/worker/rsc/state.js.map +1 -0
  112. package/dist/plugin/worker/types.d.ts +60 -46
  113. package/dist/plugin/worker/types.d.ts.map +1 -1
  114. package/dist/tsconfig.tsbuildinfo +1 -1
  115. package/package.json +15 -11
  116. package/plugin/checkFilesExist.ts +42 -62
  117. package/plugin/collect-css-manifest.ts +5 -1
  118. package/plugin/config/createModuleIdGenerator.ts +1 -1
  119. package/plugin/config/defaults.ts +13 -15
  120. package/plugin/config/resolveOptions.ts +134 -76
  121. package/plugin/config/resolveUserConfig.ts +75 -76
  122. package/plugin/helpers/getBundleManifest.ts +69 -31
  123. package/plugin/helpers/inputNormalizer.ts +82 -70
  124. package/plugin/helpers/tryManifest.ts +1 -1
  125. package/plugin/loader/createBuildLoader.ts +38 -41
  126. package/plugin/loader/css-loader.ts +96 -0
  127. package/plugin/loader/react-loader.ts +945 -0
  128. package/plugin/loader/rsc/messageHandler.tsx +1 -0
  129. package/plugin/loader/rsc/rsc-worker.development.ts +1 -0
  130. package/plugin/react-client/index.ts +1 -1
  131. package/plugin/react-client/plugin.ts +266 -41
  132. package/plugin/react-server/createHandler.ts +9 -5
  133. package/plugin/react-server/createRscStream.ts +75 -54
  134. package/plugin/react-server/plugin.ts +26 -21
  135. package/plugin/transformer/plugin.ts +67 -76
  136. package/plugin/types/global.d.ts +8 -0
  137. package/plugin/types.ts +2 -0
  138. package/plugin/utils/logger.ts +52 -0
  139. package/plugin/worker/createWorker.ts +43 -44
  140. package/plugin/worker/html/html-worker.production.tsx +7 -2
  141. package/plugin/worker/html/messageHandler.ts +13 -21
  142. package/plugin/worker/html/renderPages.ts +146 -179
  143. package/plugin/worker/rsc/index.ts +4 -13
  144. package/plugin/worker/rsc/messageHandler.tsx +143 -0
  145. package/plugin/worker/rsc/plugin.ts +38 -37
  146. package/plugin/worker/rsc/rsc-worker.development.ts +107 -0
  147. package/plugin/worker/rsc/rsc-worker.production.ts +13 -0
  148. package/plugin/worker/rsc/rsc-worker.tsx +5 -128
  149. package/plugin/worker/rsc/state.ts +37 -0
  150. package/plugin/worker/types.ts +79 -55
  151. package/scripts/check-react-version.mjs +17 -7
  152. package/scripts/react+0.0.0-experimental-b3a95caf-20250113.patch +143 -4170
  153. package/scripts/react-dom+0.0.0-experimental-b3a95caf-20250113.patch +14271 -90079
  154. package/dist/plugin/components.js.map +0 -1
  155. package/dist/plugin/helpers/createClientInputNormalizer.d.ts +0 -8
  156. package/dist/plugin/helpers/createClientInputNormalizer.d.ts.map +0 -1
  157. package/dist/plugin/helpers/createClientInputNormalizer.js +0 -35
  158. package/dist/plugin/helpers/createServerInputNormalizer.d.ts +0 -9
  159. package/dist/plugin/helpers/createServerInputNormalizer.d.ts.map +0 -1
  160. package/dist/plugin/helpers/createServerInputNormalizer.js +0 -37
  161. package/dist/plugin/helpers/createStaticInputNormalizer.d.ts +0 -7
  162. package/dist/plugin/helpers/createStaticInputNormalizer.d.ts.map +0 -1
  163. package/dist/plugin/helpers/createStaticInputNormalizer.js +0 -18
  164. package/dist/plugin/helpers/getModuleManifest.d.ts +0 -17
  165. package/dist/plugin/helpers/getModuleManifest.d.ts.map +0 -1
  166. package/dist/plugin/helpers/getModuleManifest.js +0 -23
  167. package/dist/plugin/helpers/inputNormalizerWorker.d.ts +0 -12
  168. package/dist/plugin/helpers/inputNormalizerWorker.d.ts.map +0 -1
  169. package/dist/plugin/helpers/inputNormalizerWorker.js +0 -33
  170. package/dist/plugin/helpers/normalizedRelativePath.d.ts +0 -11
  171. package/dist/plugin/helpers/normalizedRelativePath.d.ts.map +0 -1
  172. package/dist/plugin/helpers/normalizedRelativePath.js +0 -36
  173. package/dist/plugin/helpers/resolveFilePath.d.ts +0 -13
  174. package/dist/plugin/helpers/resolveFilePath.d.ts.map +0 -1
  175. package/dist/plugin/helpers/resolveFilePath.js +0 -74
  176. package/dist/plugin/helpers/resolveWorkerModule.d.ts +0 -6
  177. package/dist/plugin/helpers/resolveWorkerModule.d.ts.map +0 -1
  178. package/dist/plugin/helpers/resolveWorkerModule.js +0 -24
  179. package/dist/plugin/helpers/validateModuleBase.d.ts +0 -3
  180. package/dist/plugin/helpers/validateModuleBase.d.ts.map +0 -1
  181. package/dist/plugin/helpers/validateModuleBase.js +0 -16
  182. package/dist/plugin/helpers/validateResolvedConfig.d.ts +0 -3
  183. package/dist/plugin/helpers/validateResolvedConfig.d.ts.map +0 -1
  184. package/dist/plugin/helpers/validateResolvedConfig.js +0 -17
  185. package/dist/plugin/transformer/transformer-client-components.d.ts +0 -30
  186. package/dist/plugin/transformer/transformer-client-components.d.ts.map +0 -1
  187. package/dist/plugin/transformer/transformer-client-components.js +0 -122
  188. package/dist/plugin/transformer/transformer-client-components.js.map +0 -1
  189. package/dist/plugin/transformer/transformer-server-actions.d.ts +0 -29
  190. package/dist/plugin/transformer/transformer-server-actions.d.ts.map +0 -1
  191. package/dist/plugin/transformer/transformer-server-actions.js +0 -90
  192. package/dist/plugin/worker/rsc/createRscStream.d.ts +0 -5
  193. package/dist/plugin/worker/rsc/createRscStream.d.ts.map +0 -1
  194. package/dist/plugin/worker/rsc/createRscStream.js +0 -39
  195. package/dist/plugin/worker/rsc/createRscStream.js.map +0 -1
  196. package/dist/plugin/worker/rsc/development.d.ts +0 -5
  197. package/dist/plugin/worker/rsc/development.d.ts.map +0 -1
  198. package/dist/plugin/worker/rsc/development.js +0 -13
  199. package/dist/plugin/worker/rsc/development.js.map +0 -1
  200. package/dist/plugin/worker/rsc/plugin.js.map +0 -1
  201. package/dist/plugin/worker/rsc/production.d.ts +0 -5
  202. package/dist/plugin/worker/rsc/production.d.ts.map +0 -1
  203. package/dist/plugin/worker/rsc/production.js +0 -13
  204. package/dist/plugin/worker/rsc/production.js.map +0 -1
  205. package/plugin/helpers/createClientInputNormalizer.ts +0 -48
  206. package/plugin/helpers/createServerInputNormalizer.ts +0 -52
  207. package/plugin/helpers/createStaticInputNormalizer.ts +0 -26
  208. package/plugin/helpers/getModuleManifest.ts +0 -36
  209. package/plugin/helpers/inputNormalizerWorker.ts +0 -52
  210. package/plugin/helpers/normalizedRelativePath.ts +0 -59
  211. package/plugin/helpers/resolveFilePath.ts +0 -108
  212. package/plugin/helpers/resolveWorkerModule.ts +0 -41
  213. package/plugin/helpers/validateModuleBase.ts +0 -30
  214. package/plugin/helpers/validateResolvedConfig.ts +0 -21
  215. package/plugin/transformer/transformer-client-components.ts +0 -168
  216. package/plugin/transformer/transformer-server-actions.ts +0 -125
  217. package/plugin/worker/rsc/createRscStream.ts +0 -42
  218. package/plugin/worker/rsc/development.ts +0 -6
  219. package/plugin/worker/rsc/production.ts +0 -6
  220. package/scripts/react-server-dom-esm+0.0.1.patch +0 -24775
@@ -4,8 +4,8 @@
4
4
  * MIT License
5
5
  */
6
6
  import { DEFAULT_CONFIG } from './defaults.js';
7
- import 'path';
8
7
  import { createModuleIdGenerator } from './createModuleIdGenerator.js';
8
+ import 'vite';
9
9
 
10
10
  const resolveAutoDiscoverMatcher = (options, fallback) => {
11
11
  if (!options) {
@@ -24,9 +24,28 @@ const resolveAutoDiscoverMatcher = (options, fallback) => {
24
24
  return (path) => options.test(path);
25
25
  }
26
26
  };
27
+ const addJS = (path) => {
28
+ if (path.endsWith(".js")) return path;
29
+ if (path.endsWith("/.")) return path.slice(0, -2) + ".js";
30
+ if (path.endsWith(".")) return path + "js";
31
+ return path + ".js";
32
+ };
33
+ const handleSearchQuery = (path) => {
34
+ const searchQuery = path.split("?")[1];
35
+ if (!searchQuery) return path;
36
+ const folder = path.split("/").slice(0, -1).join("/");
37
+ const filename = path.split("/").pop();
38
+ return `${folder}/${filename}?${searchQuery}`;
39
+ };
40
+ const applyPattern = (path, pattern, fallback) => {
41
+ return path;
42
+ };
27
43
  const resolveOptions = (options, isClient = false) => {
28
44
  const projectRoot = options.projectRoot ?? process.cwd();
29
- const { pageExportName = DEFAULT_CONFIG.PAGE_EXPORT, propsExportName = DEFAULT_CONFIG.PROPS_EXPORT } = options;
45
+ const {
46
+ pageExportName = DEFAULT_CONFIG.PAGE_EXPORT_NAME,
47
+ propsExportName = DEFAULT_CONFIG.PROPS_EXPORT_NAME
48
+ } = options;
30
49
  const pages = typeof options.build?.pages === "function" ? options.build.pages : Array.isArray(options.build?.pages) ? options.build.pages : DEFAULT_CONFIG.BUILD.pages;
31
50
  let client = options.build?.client ?? DEFAULT_CONFIG.BUILD.client;
32
51
  let server = options.build?.server ?? DEFAULT_CONFIG.BUILD.server;
@@ -38,6 +57,18 @@ const resolveOptions = (options, isClient = false) => {
38
57
  if (!n) return "";
39
58
  return n.startsWith(moduleBase + "/") ? n.slice(moduleBase.length + 1) : n;
40
59
  };
60
+ const hasWrongRoot = !projectRoot.startsWith("/");
61
+ if (hasWrongRoot) {
62
+ console.warn("projectRoot is not a full path", projectRoot);
63
+ }
64
+ const wrongRoot = !hasWrongRoot ? projectRoot.slice(1) : projectRoot;
65
+ const ensureNoRoot = (n) => {
66
+ if (!n) return "";
67
+ if (n.startsWith(wrongRoot)) {
68
+ return n.slice(wrongRoot.length + 1);
69
+ }
70
+ return n.startsWith(projectRoot + "/") ? n.slice(projectRoot.length + 1) : n;
71
+ };
41
72
  const testModulePattern = resolveAutoDiscoverMatcher(
42
73
  options.autoDiscover?.modulePattern,
43
74
  DEFAULT_CONFIG.AUTO_DISCOVER.modulePattern
@@ -80,78 +111,66 @@ const resolveOptions = (options, isClient = false) => {
80
111
  );
81
112
  const preserveModulesRoot = options.build?.preserveModulesRoot ?? DEFAULT_CONFIG.BUILD.preserveModulesRoot;
82
113
  const hashOption = typeof options.build?.hash === "string" ? options.build.hash : DEFAULT_CONFIG.BUILD.hash;
83
- const hashString = hashOption === "" ? "" : `-[${hashOption}]`;
84
- const hash = (n) => {
85
- if (!n) return "";
86
- if (hashString === "" || !isClient && !testClientComponents(n)) return n;
87
- const extensionIndex = n.lastIndexOf(".");
88
- if (extensionIndex !== -1 && !testClientComponents(n)) {
89
- const extension = n.slice(extensionIndex);
90
- const filename = n.slice(0, extensionIndex);
91
- return filename + hashString + extension;
92
- } else {
93
- return n + hashString;
94
- }
95
- };
96
114
  const getOutputPath = (n) => {
97
115
  if (!n) return "";
98
- const path = n.startsWith(moduleBase + "/") ? n.slice(moduleBase.length + 1) : n;
99
- if (testClientComponents(path)) {
100
- return `${assetsDir}/${path}`;
116
+ let path = handleSearchQuery(n);
117
+ path = path.startsWith(moduleBase + "/") ? path.slice(moduleBase.length + 1) : path;
118
+ if (testVendor(path)) {
119
+ return path;
120
+ }
121
+ if (testCssModule(path)) {
122
+ return applyPattern(path, options.autoDiscover?.cssModulePattern);
101
123
  }
102
124
  if (testCss(path)) {
103
- return `${path}`;
125
+ return applyPattern(path, options.autoDiscover?.cssPattern);
126
+ }
127
+ if (testClientComponents(path)) {
128
+ return applyPattern(path, options.autoDiscover?.clientComponents);
104
129
  }
105
130
  if (testHtml(path)) {
106
- if (options.autoDiscover?.htmlPattern && typeof options.autoDiscover.htmlPattern !== "function") {
107
- return `${path.replace(options.autoDiscover.htmlPattern, ".js")}`;
108
- } else {
109
- return `${path.replace(".html", "")}`;
110
- }
131
+ return applyPattern(path, options.autoDiscover?.htmlPattern);
111
132
  }
112
133
  if (testJson(path)) {
113
- if (options.autoDiscover?.jsonPattern && typeof options.autoDiscover.jsonPattern !== "function") {
114
- return `${path.replace(options.autoDiscover.jsonPattern, ".js")}`;
115
- } else {
116
- return `${path}`;
117
- }
134
+ return applyPattern(path, options.autoDiscover?.jsonPattern);
118
135
  }
119
136
  if (testPropsPattern(path)) {
120
- return `${path}`;
137
+ return applyPattern(
138
+ path,
139
+ options.autoDiscover?.propsPattern,
140
+ options.propsExportName?.toLowerCase() ?? DEFAULT_CONFIG.PROPS_EXPORT_NAME.toLowerCase()
141
+ );
121
142
  }
122
143
  if (testPagePattern(path)) {
123
- return `${path}`;
144
+ return applyPattern(
145
+ path,
146
+ options.autoDiscover?.pagePattern,
147
+ options.pageExportName?.toLowerCase() ?? DEFAULT_CONFIG.PAGE_EXPORT_NAME.toLowerCase()
148
+ );
124
149
  }
125
150
  if (testServerFunctions(path)) {
126
- return `${api}/${path}`;
151
+ return applyPattern(path, options.autoDiscover?.serverFunctions);
127
152
  }
128
- if (testCssModule(path)) {
129
- if (options.autoDiscover?.cssModulePattern && typeof options.autoDiscover.cssModulePattern !== "function") {
130
- return `${path.replace(options.autoDiscover.cssModulePattern, ".js")}`;
131
- } else {
132
- return `${path.replace(".css.js", ".js")}`;
133
- }
153
+ if (testModulePattern(path)) {
154
+ return path;
134
155
  }
135
- if (testVendor(path)) {
136
- return `vendor`;
137
- }
138
- return `${path}`;
156
+ return path;
139
157
  };
140
158
  const entryFile = (n) => {
141
- if (testCss(n.name)) {
142
- const result2 = `${hash(getOutputPath(ensureModuleBase(n.name + ".js")))}`;
143
- return result2;
159
+ if (testVendor(n.name)) {
160
+ const search = n.facadeModuleId?.split("?")[1];
161
+ if (search) {
162
+ return `${n.name}.${search}.js`;
163
+ } else {
164
+ return n.name + ".js";
165
+ }
144
166
  }
145
- const result = `${hash(getOutputPath(ensureModuleBase(n.name)))}.js`;
146
- return result;
167
+ return addJS(getOutputPath(ensureModuleBase(ensureNoRoot(n.name))));
147
168
  };
148
169
  const chunkFile = (n) => {
149
- const result = `${hash(getOutputPath(ensureModuleBase(n.name)))}.js`;
150
- return result;
170
+ return addJS(getOutputPath(ensureModuleBase(ensureNoRoot("_" + n.name))));
151
171
  };
152
172
  const assetFile = (n) => {
153
- const result = `${hash(getOutputPath(ensureModuleBase(n.names[0])))}`;
154
- return result;
173
+ return getOutputPath(ensureModuleBase(ensureNoRoot(n.names[0])));
155
174
  };
156
175
  const build = typeof options.build === "object" && options.build !== null ? {
157
176
  pages,
@@ -229,7 +248,9 @@ const resolveOptions = (options, isClient = false) => {
229
248
  moduleBaseExceptions: options.moduleBaseExceptions ?? [],
230
249
  autoDiscover,
231
250
  pipableStreamOptions: options.pipableStreamOptions ?? {
232
- bootstrapModules: [options.clientEntry ?? DEFAULT_CONFIG.CLIENT_ENTRY]
251
+ bootstrapModules: [
252
+ options.clientEntry ?? DEFAULT_CONFIG.CLIENT_ENTRY
253
+ ]
233
254
  }
234
255
  }
235
256
  };
@@ -1 +1 @@
1
- {"version":3,"file":"resolveOptions.js","sources":["../../../plugin/config/resolveOptions.ts"],"sourcesContent":["import type { PreRenderedAsset } from \"rollup\";\nimport type { PreRenderedChunk } from \"rollup\";\nimport type { StreamPluginOptions, ResolvedUserOptions } from \"../types.js\";\nimport { DEFAULT_CONFIG } from \"./defaults.js\";\nimport { join } from \"path\";\nimport { createModuleIdGenerator } from \"./createModuleIdGenerator.js\";\n\nconst resolveAutoDiscoverMatcher = (\n options: undefined | string | RegExp | ((path: string) => boolean),\n fallback: RegExp | ((path: string) => boolean)\n) => {\n if (!options) {\n if (typeof fallback === \"function\") {\n return fallback;\n } else {\n return (path: string) => fallback.test(path);\n }\n }\n if (typeof options === \"string\") {\n const matcher = new RegExp(options);\n return (path: string) => matcher.test(path);\n } else if (typeof options === \"function\") {\n return options;\n } else {\n return (path: string) => options.test(path);\n }\n};\n\nexport const resolveOptions = (\n options: StreamPluginOptions,\n isClient: boolean = false\n):\n | { type: \"success\"; userOptions: ResolvedUserOptions }\n | { type: \"error\"; error: Error } => {\n const projectRoot = options.projectRoot ?? process.cwd();\n const { pageExportName = DEFAULT_CONFIG.PAGE_EXPORT, propsExportName = DEFAULT_CONFIG.PROPS_EXPORT } = options;\n const pages =\n typeof options.build?.pages === \"function\"\n ? options.build.pages\n : Array.isArray(options.build?.pages)\n ? options.build.pages\n : DEFAULT_CONFIG.BUILD.pages;\n let client = options.build?.client ?? DEFAULT_CONFIG.BUILD.client;\n let server = options.build?.server ?? DEFAULT_CONFIG.BUILD.server;\n\n const api = options.build?.api ?? DEFAULT_CONFIG.BUILD.api;\n const staticBuild = options.build?.static ?? DEFAULT_CONFIG.BUILD.static;\n const outDir = options.build?.outDir ?? DEFAULT_CONFIG.BUILD.outDir;\n const assetsDir =\n options.build?.assetsDir ??\n `${DEFAULT_CONFIG.CLIENT_ASSETS_DIR}`;\n\n const ensureModuleBase = (n: string | null) => {\n if(!n) return '';\n return n.startsWith(moduleBase + \"/\") ? n.slice(moduleBase.length + 1) : n;\n }\n\n const testModulePattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.modulePattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.modulePattern\n );\n\n const testJson = resolveAutoDiscoverMatcher(\n options.autoDiscover?.jsonPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.jsonPattern\n );\n\n const testCss = resolveAutoDiscoverMatcher(\n options.autoDiscover?.cssPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.cssPattern\n );\n const testHtml = resolveAutoDiscoverMatcher(\n options.autoDiscover?.htmlPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.htmlPattern\n );\n const testClientComponents = resolveAutoDiscoverMatcher(\n options.autoDiscover?.clientComponents,\n DEFAULT_CONFIG.AUTO_DISCOVER.clientComponents\n );\n const testServerFunctions = resolveAutoDiscoverMatcher(\n options.autoDiscover?.serverFunctions,\n DEFAULT_CONFIG.AUTO_DISCOVER.serverFunctions\n );\n const testPropsPattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.propsPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.propsPattern\n );\n const testPagePattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.pagePattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.pagePattern\n );\n const testCssModule = resolveAutoDiscoverMatcher(\n options.autoDiscover?.cssModulePattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.cssModulePattern\n );\n const testVendor = resolveAutoDiscoverMatcher(\n options.autoDiscover?.vendorPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.vendorPattern\n );\n const preserveModulesRoot = options.build?.preserveModulesRoot ?? DEFAULT_CONFIG.BUILD.preserveModulesRoot;\n const hashOption = typeof options.build?.hash === \"string\" ? options.build.hash : DEFAULT_CONFIG.BUILD.hash\n const hashString = hashOption === '' ? '' : `-[${hashOption}]`;\n const hash = (n: string | null) => {\n if(!n) return '';\n if(hashString === '' || (!isClient && !testClientComponents(n))) return n;\n const extensionIndex = n.lastIndexOf('.') \n if(extensionIndex !== -1 && !testClientComponents(n)) {\n // put hash between extension and filename\n const extension = n.slice(extensionIndex)\n const filename = n.slice(0, extensionIndex)\n return filename + hashString + extension;\n } else {\n return n + hashString;\n }\n }\n\n const getOutputPath = (n: string | null) => {\n if(!n) return '';\n // Remove src/ prefix if present\n const path = n.startsWith(moduleBase + \"/\")\n ? n.slice(moduleBase.length + 1)\n : n;\n\n if (testClientComponents(path)) {\n return `${assetsDir}/${path}`; \n }\n if (testCss(path)) {\n return `${path}`; \n }\n if(testHtml(path)) {\n if(options.autoDiscover?.htmlPattern && typeof options.autoDiscover.htmlPattern !== \"function\") {\n // if it's not a function, use it as an option for replace\n return `${path.replace(options.autoDiscover.htmlPattern, '.js')}`;\n } else {\n return `${path.replace('.html', '')}`; \n }\n }\n if(testJson(path)) {\n if(options.autoDiscover?.jsonPattern && typeof options.autoDiscover.jsonPattern !== \"function\") {\n // if it's not a function, use it as an option for replace\n return `${path.replace(options.autoDiscover.jsonPattern, '.js')}`;\n } else {\n return `${path}`; \n }\n }\n if (testPropsPattern(path)) {\n return `${path}`; \n }\n if (testPagePattern(path)) {\n return `${path}`; \n }\n if (testServerFunctions(path)) {\n return `${api}/${path}`; // \n }\n if(testCssModule(path)) {\n if(options.autoDiscover?.cssModulePattern && typeof options.autoDiscover.cssModulePattern !== \"function\") {\n // if it's not a function, use it as an option for replace\n return `${path.replace(options.autoDiscover.cssModulePattern, '.js')}`;\n } else {\n return `${path.replace('.css.js', '.js')}`;\n }\n }\n if(testVendor(path)) {\n return `vendor`;\n }\n return `${path}`;\n };\n\n const entryFile = (n: PreRenderedChunk) => {\n if(testCss(n.name)) {\n // this is the css.js chunk for ssr, which (if we keep the .css) would go into client, this prevents that.\n const result = `${hash(getOutputPath(ensureModuleBase(n.name + '.js')))}`;\n return result;\n }\n const result = `${hash(getOutputPath(ensureModuleBase(n.name)))}.js`;\n return result;\n }\n\n const chunkFile = (n: PreRenderedChunk) => {\n const result = `${hash(getOutputPath(ensureModuleBase(n.name)))}.js`;\n return result;\n }\n\n const assetFile = (n: PreRenderedAsset) => {\n const result = `${hash(getOutputPath(ensureModuleBase(n.names[0])))}`;\n return result;\n }\n\n const build =\n typeof options.build === \"object\" && options.build !== null\n ? {\n pages,\n client,\n server,\n static: staticBuild,\n outDir,\n assetsDir,\n api,\n hash: hashOption,\n preserveModulesRoot,\n entryFile:\n typeof options.build?.entryFile === \"function\"\n ? options.build.entryFile\n : entryFile,\n chunkFile:\n typeof options.build?.chunkFile === \"function\"\n ? options.build.chunkFile\n : chunkFile,\n assetFile:\n typeof options.build?.assetFile === \"function\"\n ? options.build.assetFile\n : assetFile,\n }\n : {\n pages,\n client,\n server,\n static: staticBuild,\n outDir,\n assetsDir,\n api,\n hash: hashOption,\n preserveModulesRoot,\n entryFile,\n chunkFile,\n assetFile,\n };\n\n const moduleBase =\n typeof options.moduleBase === \"string\"\n ? options.moduleBase\n : DEFAULT_CONFIG.MODULE_BASE;\n const moduleBasePath =\n typeof options.moduleBasePath === \"string\"\n ? options.moduleBasePath\n : options.moduleBase.startsWith(\"/\")\n ? options.moduleBase\n : \"/\" + options.moduleBase;\n const moduleBaseURL =\n typeof options.moduleBaseURL === \"string\"\n ? options.moduleBaseURL\n : moduleBasePath ?? DEFAULT_CONFIG.MODULE_BASE_URL;\n \n const autoDiscover = {\n modulePattern: testModulePattern,\n cssPattern: testCss,\n jsonPattern: testJson,\n clientComponents: testClientComponents,\n serverFunctions: testServerFunctions,\n propsPattern: testPropsPattern,\n pagePattern: testPagePattern,\n cssModulePattern: testCssModule,\n vendorPattern: testVendor,\n };\n\n const moduleId = typeof options.moduleId === \"function\" ? options.moduleId : createModuleIdGenerator({\n isProduction: process.env['NODE_ENV'] === \"production\",\n inputRoot: projectRoot,\n client: client,\n server: server,\n moduleBase: moduleBase,\n preserveModulesRoot: preserveModulesRoot,\n removeExtension: DEFAULT_CONFIG.FILE_REGEX,\n imports: {},\n });\n\n try {\n return {\n type: \"success\",\n userOptions: {\n projectRoot,\n moduleId,\n moduleBase,\n moduleBasePath,\n moduleBaseURL,\n build: build,\n Page: options.Page ?? DEFAULT_CONFIG.PAGE,\n props: options.props ?? DEFAULT_CONFIG.PROPS,\n Html: options.Html ?? DEFAULT_CONFIG.HTML,\n pageExportName: pageExportName,\n propsExportName: propsExportName,\n collectCss: options.collectCss ?? DEFAULT_CONFIG.COLLECT_CSS,\n collectAssets: options.collectAssets ?? DEFAULT_CONFIG.COLLECT_ASSETS,\n htmlWorkerPath:\n options.htmlWorkerPath ?? DEFAULT_CONFIG.HTML_WORKER_PATH,\n rscWorkerPath: options.rscWorkerPath ?? DEFAULT_CONFIG.RSC_WORKER_PATH,\n loaderPath: options.loaderPath ?? DEFAULT_CONFIG.LOADER_PATH,\n clientEntry: options.clientEntry ?? DEFAULT_CONFIG.CLIENT_ENTRY,\n serverEntry: options.serverEntry ?? DEFAULT_CONFIG.SERVER_ENTRY,\n moduleBaseExceptions: options.moduleBaseExceptions ?? [],\n autoDiscover: autoDiscover,\n pipableStreamOptions: options.pipableStreamOptions ?? {\n bootstrapModules: [options.clientEntry ?? DEFAULT_CONFIG.CLIENT_ENTRY],\n },\n },\n };\n } catch (error) {\n return {\n type: \"error\",\n error:\n error instanceof Error ? error : new Error(\"Failed to resolve options\"),\n };\n }\n};\n"],"names":["result"],"mappings":"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"}
1
+ {"version":3,"file":"resolveOptions.js","sources":["../../../plugin/config/resolveOptions.ts"],"sourcesContent":["import type { PreRenderedAsset } from \"rollup\";\nimport type { PreRenderedChunk } from \"rollup\";\nimport type { StreamPluginOptions, ResolvedUserOptions } from \"../types.js\";\nimport { DEFAULT_CONFIG } from \"./defaults.js\";\nimport { createModuleIdGenerator } from \"./createModuleIdGenerator.js\";\nimport { normalizePath } from \"vite\";\n\nconst resolveAutoDiscoverMatcher = (\n options: undefined | string | RegExp | ((path: string) => boolean),\n fallback: RegExp | ((path: string) => boolean)\n) => {\n if (!options) {\n if (typeof fallback === \"function\") {\n return fallback;\n } else {\n return (path: string) => fallback.test(path);\n }\n }\n if (typeof options === \"string\") {\n const matcher = new RegExp(options);\n return (path: string) => matcher.test(path);\n } else if (typeof options === \"function\") {\n return options;\n } else {\n return (path: string) => options.test(path);\n }\n};\n\nconst addJS = (path: string) => {\n if (path.endsWith(\".js\")) return path;\n if (path.endsWith(\"/.\")) return path.slice(0, -2) + \".js\";\n if (path.endsWith(\".\")) return path + \"js\";\n return path + \".js\";\n};\n\nconst handleSearchQuery = (path: string) => {\n // make the query part of the name of the file so it's not ending up like index1, index2, etc.\n const searchQuery = path.split(\"?\")[1];\n if (!searchQuery) return path;\n // add the folder before the filename\n const folder = path.split(\"/\").slice(0, -1).join(\"/\");\n const filename = path.split(\"/\").pop();\n return `${folder}/${filename}?${searchQuery}`;\n};\n\nconst applyPattern = (\n path: string,\n pattern?: string | RegExp | ((path: string) => boolean) | undefined,\n fallback?: string | undefined\n) => {\n // TODO: What to actually do here? I guess we could replace the extension, but it's not needed since we map them from the manifest anyway.\n return path;\n};\n\nexport const resolveOptions = (\n options: StreamPluginOptions,\n isClient: boolean = false\n):\n | { type: \"success\"; userOptions: ResolvedUserOptions }\n | { type: \"error\"; error: Error } => {\n const projectRoot = options.projectRoot ?? process.cwd();\n const {\n pageExportName = DEFAULT_CONFIG.PAGE_EXPORT_NAME,\n propsExportName = DEFAULT_CONFIG.PROPS_EXPORT_NAME,\n } = options;\n const pages =\n typeof options.build?.pages === \"function\"\n ? options.build.pages\n : Array.isArray(options.build?.pages)\n ? options.build.pages\n : DEFAULT_CONFIG.BUILD.pages;\n let client = options.build?.client ?? DEFAULT_CONFIG.BUILD.client;\n let server = options.build?.server ?? DEFAULT_CONFIG.BUILD.server;\n\n const api = options.build?.api ?? DEFAULT_CONFIG.BUILD.api;\n const staticBuild = options.build?.static ?? DEFAULT_CONFIG.BUILD.static;\n const outDir = options.build?.outDir ?? DEFAULT_CONFIG.BUILD.outDir;\n const assetsDir =\n options.build?.assetsDir ?? `${DEFAULT_CONFIG.CLIENT_ASSETS_DIR}`;\n\n const ensureModuleBase = (n: string | null) => {\n if (!n) return \"\";\n return n.startsWith(moduleBase + \"/\") ? n.slice(moduleBase.length + 1) : n;\n };\n const hasWrongRoot = !projectRoot.startsWith(\"/\");\n if (hasWrongRoot) {\n console.warn(\"projectRoot is not a full path\", projectRoot);\n }\n const wrongRoot = !hasWrongRoot ? projectRoot.slice(1) : projectRoot;\n const ensureNoRoot = (n: string | null) => {\n if (!n) return \"\";\n if (n.startsWith(wrongRoot)) {\n return n.slice(wrongRoot.length + 1);\n }\n return n.startsWith(projectRoot + \"/\")\n ? n.slice(projectRoot.length + 1)\n : n;\n };\n\n const testModulePattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.modulePattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.modulePattern\n );\n\n const testJson = resolveAutoDiscoverMatcher(\n options.autoDiscover?.jsonPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.jsonPattern\n );\n\n const testCss = resolveAutoDiscoverMatcher(\n options.autoDiscover?.cssPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.cssPattern\n );\n const testHtml = resolveAutoDiscoverMatcher(\n options.autoDiscover?.htmlPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.htmlPattern\n );\n const testClientComponents = resolveAutoDiscoverMatcher(\n options.autoDiscover?.clientComponents,\n DEFAULT_CONFIG.AUTO_DISCOVER.clientComponents\n );\n const testServerFunctions = resolveAutoDiscoverMatcher(\n options.autoDiscover?.serverFunctions,\n DEFAULT_CONFIG.AUTO_DISCOVER.serverFunctions\n );\n const testPropsPattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.propsPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.propsPattern\n );\n const testPagePattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.pagePattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.pagePattern\n );\n const testCssModule = resolveAutoDiscoverMatcher(\n options.autoDiscover?.cssModulePattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.cssModulePattern\n );\n const testVendor = resolveAutoDiscoverMatcher(\n options.autoDiscover?.vendorPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.vendorPattern\n );\n const preserveModulesRoot =\n options.build?.preserveModulesRoot ??\n DEFAULT_CONFIG.BUILD.preserveModulesRoot;\n const hashOption =\n typeof options.build?.hash === \"string\"\n ? options.build.hash\n : DEFAULT_CONFIG.BUILD.hash;\n const hashString = hashOption === \"\" ? \"\" : `-[${hashOption}]`;\n const hash = (n: string | null) => {\n if (!n) return \"\";\n if (hashString === \"\") return n;\n const extensionIndex = n.lastIndexOf(\".\");\n if (extensionIndex !== -1) {\n // put hash between extension and filename\n const extension = n.slice(extensionIndex);\n const filename = n.slice(0, extensionIndex);\n return filename + hashString + extension;\n } else {\n return n + hashString;\n }\n };\n\n const getOutputPath = (n: string | null) => {\n if (!n) return \"\";\n let path = handleSearchQuery(n);\n // Remove src/ prefix if present\n path = path.startsWith(moduleBase + \"/\")\n ? path.slice(moduleBase.length + 1)\n : path;\n\n if (testVendor(path)) {\n return path;\n }\n \n if (testCssModule(path)) {\n // For CSS modules, keep the .css.js extension\n return applyPattern(path, options.autoDiscover?.cssModulePattern, \".css.js\");\n }\n \n if (testCss(path)) {\n // For regular CSS files, keep the .css extension\n return applyPattern(path, options.autoDiscover?.cssPattern, \".css\");\n }\n\n if (testClientComponents(path)) {\n return applyPattern(path, options.autoDiscover?.clientComponents, \"client\");\n }\n if (testHtml(path)) {\n return applyPattern(path, options.autoDiscover?.htmlPattern, \".html\");\n }\n if (testJson(path)) {\n return applyPattern(path, options.autoDiscover?.jsonPattern, \".json\");\n }\n if (testPropsPattern(path)) {\n return applyPattern(\n path,\n options.autoDiscover?.propsPattern,\n options.propsExportName?.toLowerCase() ??\n DEFAULT_CONFIG.PROPS_EXPORT_NAME.toLowerCase()\n );\n }\n if (testPagePattern(path)) {\n return applyPattern(\n path,\n options.autoDiscover?.pagePattern,\n options.pageExportName?.toLowerCase() ??\n DEFAULT_CONFIG.PAGE_EXPORT_NAME.toLowerCase()\n );\n }\n if (testServerFunctions(path)) {\n return applyPattern(path, options.autoDiscover?.serverFunctions, \"server\");\n }\n if (testModulePattern(path)) {\n return path;\n }\n return path;\n };\n\n const entryFile = (n: PreRenderedChunk) => {\n if (testVendor(n.name)) {\n const search = n.facadeModuleId?.split(\"?\")[1];\n if(search) {\n return `${n.name}.${search}.js`;\n } else {\n return n.name + \".js\";\n }\n }\n return addJS(getOutputPath(ensureModuleBase(ensureNoRoot(n.name))));\n };\n\n const chunkFile = (n: PreRenderedChunk) => {\n // For chunks, we always want .js\n return addJS(getOutputPath(ensureModuleBase(ensureNoRoot('_'+n.name))));\n };\n\n const assetFile = (n: PreRenderedAsset) => {\n // For assets, keep the original extension\n return getOutputPath(ensureModuleBase(ensureNoRoot(n.names[0])));\n };\n\n const build =\n typeof options.build === \"object\" && options.build !== null\n ? {\n pages,\n client,\n server,\n static: staticBuild,\n outDir,\n assetsDir,\n api,\n hash: hashOption,\n preserveModulesRoot,\n entryFile:\n typeof options.build?.entryFile === \"function\"\n ? options.build.entryFile\n : entryFile,\n chunkFile:\n typeof options.build?.chunkFile === \"function\"\n ? options.build.chunkFile\n : chunkFile,\n assetFile:\n typeof options.build?.assetFile === \"function\"\n ? options.build.assetFile\n : assetFile,\n }\n : {\n pages,\n client,\n server,\n static: staticBuild,\n outDir,\n assetsDir,\n api,\n hash: hashOption,\n preserveModulesRoot,\n entryFile,\n chunkFile,\n assetFile,\n };\n\n const moduleBase =\n typeof options.moduleBase === \"string\"\n ? options.moduleBase\n : DEFAULT_CONFIG.MODULE_BASE;\n const moduleBasePath =\n typeof options.moduleBasePath === \"string\"\n ? options.moduleBasePath\n : options.moduleBase.startsWith(\"/\")\n ? options.moduleBase\n : \"/\" + options.moduleBase;\n const moduleBaseURL =\n typeof options.moduleBaseURL === \"string\"\n ? options.moduleBaseURL\n : moduleBasePath ?? DEFAULT_CONFIG.MODULE_BASE_URL;\n\n const autoDiscover = {\n modulePattern: testModulePattern,\n cssPattern: testCss,\n jsonPattern: testJson,\n clientComponents: testClientComponents,\n serverFunctions: testServerFunctions,\n propsPattern: testPropsPattern,\n pagePattern: testPagePattern,\n cssModulePattern: testCssModule,\n vendorPattern: testVendor,\n };\n\n const moduleId =\n typeof options.moduleId === \"function\"\n ? options.moduleId\n : createModuleIdGenerator({\n isProduction: process.env[\"NODE_ENV\"] === \"production\",\n inputRoot: projectRoot,\n client: client,\n server: server,\n moduleBase: moduleBase,\n preserveModulesRoot: preserveModulesRoot,\n removeExtension: DEFAULT_CONFIG.FILE_REGEX,\n imports: {},\n });\n\n try {\n return {\n type: \"success\",\n userOptions: {\n projectRoot,\n moduleId: moduleId,\n moduleBase,\n moduleBasePath,\n moduleBaseURL,\n build: build,\n Page: options.Page ?? DEFAULT_CONFIG.PAGE,\n props: options.props ?? DEFAULT_CONFIG.PROPS,\n Html: options.Html ?? DEFAULT_CONFIG.HTML,\n pageExportName: pageExportName,\n propsExportName: propsExportName,\n collectCss: options.collectCss ?? DEFAULT_CONFIG.COLLECT_CSS,\n collectAssets: options.collectAssets ?? DEFAULT_CONFIG.COLLECT_ASSETS,\n htmlWorkerPath:\n options.htmlWorkerPath ?? DEFAULT_CONFIG.HTML_WORKER_PATH,\n rscWorkerPath: options.rscWorkerPath ?? DEFAULT_CONFIG.RSC_WORKER_PATH,\n loaderPath: options.loaderPath ?? DEFAULT_CONFIG.LOADER_PATH,\n clientEntry: options.clientEntry ?? DEFAULT_CONFIG.CLIENT_ENTRY,\n serverEntry: options.serverEntry ?? DEFAULT_CONFIG.SERVER_ENTRY,\n moduleBaseExceptions: options.moduleBaseExceptions ?? [],\n autoDiscover: autoDiscover,\n pipableStreamOptions: options.pipableStreamOptions ?? {\n bootstrapModules: [\n options.clientEntry ?? DEFAULT_CONFIG.CLIENT_ENTRY,\n ],\n },\n },\n };\n } catch (error) {\n return {\n type: \"error\",\n error:\n error instanceof Error ? error : new Error(\"Failed to resolve options\"),\n };\n }\n};\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolveUserConfig.d.ts","sourceRoot":"","sources":["../../../plugin/config/resolveUserConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClD,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAMrB,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,mBAAmB,CAAC;IACjC,KAAK,CAAC,EAAE,qBAAqB,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAC/B;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,UAAU,EAAE,kBAAkB,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC;AAEpC,wBAAgB,iBAAiB,CAAC,EAChC,QAAgB,EAChB,MAAM,EACN,SAAS,EACT,WAAW,EACX,KAAK,GACN,EAAE,sBAAsB,GAAG,uBAAuB,CAyMlD"}
1
+ {"version":3,"file":"resolveUserConfig.d.ts","sourceRoot":"","sources":["../../../plugin/config/resolveUserConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClD,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAMrB,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,mBAAmB,CAAC;IACjC,KAAK,CAAC,EAAE,qBAAqB,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAC/B;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,UAAU,EAAE,kBAAkB,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC;AAEpC,wBAAgB,iBAAiB,CAAC,EAChC,QAAgB,EAChB,MAAM,EACN,SAAS,EACT,WAAW,EACX,KAAK,GACN,EAAE,sBAAsB,GAAG,uBAAuB,CAwMlD"}
@@ -18,7 +18,8 @@ function resolveUserConfig({
18
18
  const root = config.root ?? userOptions.projectRoot ?? process.cwd();
19
19
  const normalizer = createInputNormalizer({
20
20
  root,
21
- preserveModulesRoot: void 0
21
+ preserveModulesRoot: userOptions.build.preserveModulesRoot ? userOptions.moduleBase : void 0,
22
+ removeExtension: true
22
23
  });
23
24
  const serverEntry = userOptions.serverEntry ? Object.fromEntries([
24
25
  normalizer([userOptions.serverEntry, userOptions.serverEntry])
@@ -33,15 +34,12 @@ function resolveUserConfig({
33
34
  const allFiles = globSync(`**/*.client.*`, {
34
35
  cwd: join(root, userOptions.moduleBase)
35
36
  });
36
- for (const [key, value] of Object.entries(allFiles).map(([n, path]) => {
37
- if (typeof path !== "string") {
38
- throw new Error(`Invalid path: ${JSON.stringify(path)}`);
39
- }
40
- const [key2, value2] = normalizer(join(userOptions.moduleBase, path));
41
- return [key2, value2];
42
- })) {
37
+ for (const file of allFiles) {
38
+ const [key, value] = normalizer(join(userOptions.moduleBase, file));
43
39
  if (!inputs2[key]) {
44
40
  inputs2[key] = value;
41
+ } else {
42
+ console.warn(`[RSC] Client file already exists: ${key}`);
45
43
  }
46
44
  }
47
45
  return inputs2;
@@ -50,41 +48,52 @@ function resolveUserConfig({
50
48
  const allFiles = globSync(`${userOptions.moduleBase}/**/*.server.*`, {
51
49
  cwd: join(root, userOptions.moduleBase)
52
50
  });
53
- for (const [key, value] of Object.entries(allFiles).map(normalizer)) {
51
+ for (const file of allFiles) {
52
+ const [key, value] = normalizer(join(userOptions.moduleBase, file));
54
53
  if (!inputs2[key]) {
55
54
  inputs2[key] = value;
55
+ } else {
56
+ console.warn(`[RSC] Server file already exists: ${key}`);
56
57
  }
57
58
  }
58
59
  return inputs2;
59
60
  };
60
61
  const autoDiscoveredFiles = (inputs2) => {
61
- if (!files) {
62
- return inputs2;
63
- }
64
- for (const [key, value] of Object.entries(Array.from(files.pageMap.entries())).map(normalizer)) {
62
+ if (!files) return inputs2;
63
+ for (const [key, value] of files.pageMap) {
65
64
  if (!inputs2[key]) {
66
65
  inputs2[key] = value;
66
+ } else {
67
+ console.warn(`[RSC] Page file already exists: ${key}`);
67
68
  }
68
69
  }
69
- for (const [key, value] of Object.entries(Array.from(files.propsMap.entries())).map(normalizer)) {
70
+ for (const [key, value] of files.propsMap) {
70
71
  if (!inputs2[key]) {
71
72
  inputs2[key] = value;
73
+ } else {
74
+ console.warn(`[RSC] Props file already exists: ${key}`);
72
75
  }
73
76
  }
74
77
  return inputs2;
75
78
  };
76
79
  let inputs = isClient ? autoDiscoveredClientFiles(clientEntry) : autoDiscoveredServerFiles(autoDiscoveredFiles(serverEntry ?? {}));
77
- if (userOptions.build.preserveModulesRoot) {
78
- inputs = Object.fromEntries(
79
- Object.entries(inputs).map(([key, value]) => {
80
- if (key.startsWith(userOptions.moduleBase + "/")) {
81
- return [key.slice(userOptions.moduleBase.length + 1), value];
82
- }
83
- return [key, value];
84
- })
85
- );
86
- }
87
80
  const envDir = isClient ? userOptions.build.client : userOptions.build.server;
81
+ const pluginOutput = {
82
+ preserveModules: !isClient,
83
+ preserveModulesRoot: userOptions.build.preserveModulesRoot ? userOptions.moduleBase : void 0,
84
+ entryFileNames: userOptions.build.entryFile,
85
+ assetFileNames: userOptions.build.assetFile,
86
+ chunkFileNames: userOptions.build.chunkFile,
87
+ format: "esm",
88
+ exports: "named",
89
+ hoistTransitiveImports: false,
90
+ generatedCode: {
91
+ constBindings: true,
92
+ objectShorthand: true
93
+ },
94
+ interop: "auto"
95
+ };
96
+ const newOutput = Array.isArray(config.build?.rollupOptions?.output) ? [...config.build?.rollupOptions?.output, pluginOutput] : typeof config.build?.rollupOptions?.output === "object" && config.build?.rollupOptions?.output !== null ? [config.build?.rollupOptions?.output, pluginOutput] : pluginOutput;
88
97
  if (isClient) {
89
98
  return {
90
99
  type: "success",
@@ -94,61 +103,42 @@ function resolveUserConfig({
94
103
  mode: configEnv.command === "build" ? "production" : "development",
95
104
  resolve: {
96
105
  external: ["react", "react-dom"],
97
- alias: {
98
- [userOptions.moduleBasePath]: join(root, userOptions.moduleBasePath),
99
- [userOptions.moduleBase]: join(root, userOptions.moduleBase),
100
- ["index.html"]: join(root, "index.html")
101
- }
106
+ alias: {}
102
107
  },
103
108
  ssr: {
104
109
  target: "node",
105
- external: ["react", "react-dom", "react-server-dom-esm/client.browser"],
110
+ external: [
111
+ "react",
112
+ "react-dom",
113
+ "react-server-dom-esm/client.browser"
114
+ ],
106
115
  resolve: {
107
- conditions: ["react-server"],
108
116
  externalConditions: ["react-server"]
109
117
  }
110
118
  },
119
+ // client build options
111
120
  build: {
112
121
  ...config.build,
113
122
  emptyOutDir: config.build?.emptyOutDir ?? true,
114
123
  outDir: join(userOptions.build.outDir, envDir),
115
- assetsDir: userOptions.build.assetsDir,
124
+ assetsDir: config.build?.assetsDir ?? userOptions.build.assetsDir,
116
125
  // modern browsers
117
126
  target: ["esnext"],
118
127
  minify: true,
119
- ssr: true,
128
+ ssr: typeof configEnv.isSsrBuild === "boolean" ? configEnv.isSsrBuild : true,
120
129
  manifest: config.build?.manifest ?? `.vite/manifest.json`,
121
130
  ssrManifest: config.build?.ssrManifest ?? `.vite/ssr-manifest.json`,
122
- ssrEmitAssets: true,
131
+ ssrEmitAssets: config.build?.ssrEmitAssets ?? true,
123
132
  rollupOptions: {
124
133
  ...config.build?.rollupOptions,
125
134
  input: inputs,
126
- output: {
127
- ...config.build?.rollupOptions?.output,
128
- preserveModulesRoot: userOptions.build.preserveModulesRoot ? userOptions.moduleBase : void 0
129
- }
135
+ output: newOutput,
136
+ preserveEntrySignatures: "exports-only"
130
137
  }
131
138
  }
132
139
  }
133
140
  };
134
141
  }
135
- const mergeOutputArray = Array.isArray(config.build?.rollupOptions?.output);
136
- const pluginOutput = {
137
- preserveModules: true,
138
- preserveModulesRoot: userOptions.build.preserveModulesRoot ? userOptions.moduleBase : void 0,
139
- entryFileNames: userOptions.build.entryFile,
140
- assetFileNames: userOptions.build.assetFile,
141
- chunkFileNames: userOptions.build.chunkFile,
142
- format: "esm",
143
- exports: "named",
144
- hoistTransitiveImports: false,
145
- generatedCode: {
146
- constBindings: true,
147
- objectShorthand: true
148
- },
149
- interop: "auto"
150
- };
151
- const newOutput = Array.isArray(config.build?.rollupOptions?.output) ? [...config.build?.rollupOptions?.output, pluginOutput] : typeof config.build?.rollupOptions?.output === "object" && config.build?.rollupOptions?.output !== null ? [config.build?.rollupOptions?.output, pluginOutput] : pluginOutput;
152
142
  return {
153
143
  type: "success",
154
144
  userConfig: {
@@ -156,27 +146,25 @@ function resolveUserConfig({
156
146
  root,
157
147
  mode: configEnv.command === "build" ? "production" : "development",
158
148
  resolve: {
159
- alias: {
160
- [userOptions.moduleBasePath]: join(root, userOptions.moduleBasePath),
161
- [userOptions.moduleBase]: join(root, userOptions.moduleBase),
162
- ["index.html"]: join(root, "index.html")
163
- }
149
+ alias: {},
150
+ externalConditions: ["react-server"]
164
151
  },
152
+ // server build options
165
153
  build: {
166
154
  ...config.build,
167
155
  emptyOutDir: config.build?.emptyOutDir ?? true,
168
156
  outDir: join(userOptions.build.outDir, envDir),
169
- target: "node18",
170
- minify: true,
171
- ssr: true,
157
+ target: config.build?.target ?? "node18",
158
+ minify: config.build?.minify ?? true,
159
+ ssr: config.build?.ssr ?? configEnv.isSsrBuild ?? true,
172
160
  manifest: config.build?.manifest ?? `.vite/manifest.json`,
173
161
  ssrManifest: config.build?.ssrManifest ?? `.vite/ssr-manifest.json`,
174
- ssrEmitAssets: true,
162
+ ssrEmitAssets: config.build?.ssrEmitAssets ?? true,
175
163
  assetsDir: config.build?.assetsDir ?? userOptions.build.assetsDir,
176
164
  rollupOptions: {
177
165
  ...config.build?.rollupOptions,
178
166
  input: inputs,
179
- preserveEntrySignatures: "strict",
167
+ preserveEntrySignatures: config.build?.rollupOptions?.preserveEntrySignatures ?? "strict",
180
168
  output: newOutput
181
169
  }
182
170
  }
@@ -1 +1 @@
1
- {"version":3,"file":"resolveUserConfig.js","sources":["../../../plugin/config/resolveUserConfig.ts"],"sourcesContent":["import type { ConfigEnv, UserConfig } from \"vite\";\nimport type {\n CheckFilesExistReturn,\n ResolvedUserConfig,\n ResolvedUserOptions,\n} from \"../types.js\";\nimport { createInputNormalizer } from \"../helpers/inputNormalizer.js\";\nimport { join } from \"path\";\n// @ts-ignore\nimport { globSync } from \"fs\";\nimport type { OutputOptions } from \"rollup\";\nexport type ResolveUserConfigProps = {\n isClient?: boolean;\n config: UserConfig;\n configEnv: ConfigEnv;\n userOptions: ResolvedUserOptions;\n files?: CheckFilesExistReturn;\n};\n\nexport type ResolveUserConfigReturn =\n | { type: \"success\"; userConfig: ResolvedUserConfig }\n | { type: \"error\"; error: Error };\n\nexport function resolveUserConfig({\n isClient = false,\n config,\n configEnv,\n userOptions,\n files,\n}: ResolveUserConfigProps): ResolveUserConfigReturn {\n try {\n // Get existing inputs\n const root = config.root ?? userOptions.projectRoot ?? process.cwd();\n\n const normalizer = createInputNormalizer({\n root,\n preserveModulesRoot: undefined,\n });\n\n const serverEntry = userOptions.serverEntry\n ? Object.fromEntries([\n normalizer([userOptions.serverEntry, userOptions.serverEntry]),\n ])\n : null;\n const clientEntry = userOptions.clientEntry\n ? Object.fromEntries(\n [\n [userOptions.clientEntry, userOptions.clientEntry],\n [\"index.html\", \"index.html\"],\n ].map(normalizer)\n )\n : { \"index.html\": \"index.html\" };\n\n const autoDiscoveredClientFiles = (inputs: Record<string, string>) => {\n const allFiles = globSync(`**/*.client.*`, {\n cwd: join(root, userOptions.moduleBase),\n });\n for (const [key, value] of Object.entries(allFiles).map(([n, path]) => {\n if (typeof path !== \"string\") {\n throw new Error(`Invalid path: ${JSON.stringify(path)}`);\n }\n const [key, value] = normalizer(join(userOptions.moduleBase, path));\n return [key, value];\n })) {\n // check if not already in the inputs\n if (!inputs[key]) {\n inputs[key] = value;\n }\n }\n return inputs;\n };\n const autoDiscoveredServerFiles = (inputs: Record<string, string>) => {\n const allFiles = globSync(`${userOptions.moduleBase}/**/*.server.*`, {\n cwd: join(root, userOptions.moduleBase),\n });\n for (const [key, value] of Object.entries(allFiles).map(normalizer)) {\n if (!inputs[key]) {\n inputs[key] = value;\n }\n }\n return inputs;\n };\n const autoDiscoveredFiles = (inputs: Record<string, string>) => {\n if(!files) {\n return inputs;\n }\n for (const [key, value] of Object.entries( Array.from(files.pageMap.entries())).map(normalizer)) {\n if (!inputs[key]) {\n inputs[key] = value;\n }\n }\n for (const [key, value] of Object.entries( Array.from(files.propsMap.entries())).map(normalizer)) {\n if (!inputs[key]) {\n inputs[key] = value;\n }\n }\n return inputs;\n };\n\n // Add inputs based on condition\n let inputs = isClient\n ? autoDiscoveredClientFiles(clientEntry)\n : autoDiscoveredServerFiles(autoDiscoveredFiles(serverEntry ?? {}));\n\n if (userOptions.build.preserveModulesRoot) {\n inputs = Object.fromEntries(\n Object.entries(inputs).map(([key, value]) => {\n if (key.startsWith(userOptions.moduleBase + \"/\")) {\n return [key.slice(userOptions.moduleBase.length + 1), value];\n }\n return [key, value];\n })\n );\n }\n\n const envDir = isClient\n ? userOptions.build.client\n : userOptions.build.server;\n if (isClient) {\n return {\n type: \"success\",\n userConfig: {\n ...config,\n root: root,\n mode: configEnv.command === \"build\" ? \"production\" : \"development\",\n resolve: {\n external: [\"react\", \"react-dom\"],\n alias: {\n [userOptions.moduleBasePath]: join(root, userOptions.moduleBasePath),\n [userOptions.moduleBase]: join(root, userOptions.moduleBase),\n ['index.html']: join(root, 'index.html')\n }\n },\n ssr: {\n target: \"node\",\n external: [\"react\", \"react-dom\", \"react-server-dom-esm/client.browser\"],\n resolve: {\n conditions: [\"react-server\"],\n externalConditions: [\"react-server\"],\n },\n },\n build: {\n ...config.build,\n emptyOutDir: config.build?.emptyOutDir ?? true,\n outDir: join(userOptions.build.outDir, envDir),\n assetsDir: userOptions.build.assetsDir,\n // modern browsers\n target: [\"esnext\"],\n minify: true,\n ssr: true,\n manifest: config.build?.manifest ?? `.vite/manifest.json`,\n ssrManifest: config.build?.ssrManifest ?? `.vite/ssr-manifest.json`,\n ssrEmitAssets: true,\n rollupOptions: {\n ...config.build?.rollupOptions,\n input: inputs,\n output: {\n ...config.build?.rollupOptions?.output,\n preserveModulesRoot: userOptions.build.preserveModulesRoot\n ? userOptions.moduleBase\n : undefined,\n },\n },\n },\n },\n };\n }\n const mergeOutputArray = (Array.isArray(config.build?.rollupOptions?.output)) \n const pluginOutput = {\n preserveModules: true,\n preserveModulesRoot: userOptions.build.preserveModulesRoot\n ? userOptions.moduleBase\n : undefined,\n entryFileNames: userOptions.build.entryFile,\n assetFileNames: userOptions.build.assetFile,\n chunkFileNames: userOptions.build.chunkFile,\n format: \"esm\",\n exports: \"named\",\n hoistTransitiveImports: false,\n generatedCode: {\n constBindings: true,\n objectShorthand: true,\n },\n interop: \"auto\",\n } satisfies OutputOptions;\n const newOutput = Array.isArray(config.build?.rollupOptions?.output) ? \n [...config.build?.rollupOptions?.output, pluginOutput]\n : typeof config.build?.rollupOptions?.output === 'object' && config.build?.rollupOptions?.output !== null ?\n [config.build?.rollupOptions?.output, pluginOutput]\n : pluginOutput\n return {\n type: \"success\",\n userConfig: {\n ...config,\n root: root,\n mode: configEnv.command === \"build\" ? \"production\" : \"development\",\n resolve: {\n alias: {\n [userOptions.moduleBasePath]: join(root, userOptions.moduleBasePath),\n [userOptions.moduleBase]: join(root, userOptions.moduleBase),\n ['index.html']: join(root, 'index.html')\n }\n },\n build: {\n ...config.build,\n emptyOutDir: config.build?.emptyOutDir ?? true,\n outDir: join(userOptions.build.outDir, envDir),\n target: \"node18\",\n minify: true,\n ssr: true,\n manifest: config.build?.manifest ?? `.vite/manifest.json`,\n ssrManifest: config.build?.ssrManifest ?? `.vite/ssr-manifest.json`,\n ssrEmitAssets: true,\n assetsDir: config.build?.assetsDir ?? userOptions.build.assetsDir,\n rollupOptions: {\n ...config.build?.rollupOptions,\n input: inputs,\n preserveEntrySignatures: \"strict\",\n output: newOutput,\n },\n },\n },\n };\n } catch (error) {\n return {\n type: \"error\",\n error:\n error instanceof Error ? error : new Error(\"Failed to resolve config\"),\n };\n }\n}\n"],"names":["inputs","key","value"],"mappings":"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"}
1
+ {"version":3,"file":"resolveUserConfig.js","sources":["../../../plugin/config/resolveUserConfig.ts"],"sourcesContent":["import type { ConfigEnv, UserConfig } from \"vite\";\nimport type {\n CheckFilesExistReturn,\n ResolvedUserConfig,\n ResolvedUserOptions,\n} from \"../types.js\";\nimport { createInputNormalizer } from \"../helpers/inputNormalizer.js\";\nimport { join } from \"path\";\n// @ts-ignore\nimport { globSync } from \"fs\";\nimport type { OutputOptions } from \"rollup\";\nexport type ResolveUserConfigProps = {\n isClient?: boolean;\n config: UserConfig;\n configEnv: ConfigEnv;\n userOptions: ResolvedUserOptions;\n files?: CheckFilesExistReturn;\n};\n\nexport type ResolveUserConfigReturn =\n | { type: \"success\"; userConfig: ResolvedUserConfig }\n | { type: \"error\"; error: Error };\n\nexport function resolveUserConfig({\n isClient = false,\n config,\n configEnv,\n userOptions,\n files,\n}: ResolveUserConfigProps): ResolveUserConfigReturn {\n try {\n // Get existing inputs\n const root = config.root ?? userOptions.projectRoot ?? process.cwd();\n\n const normalizer = createInputNormalizer({\n root,\n preserveModulesRoot: userOptions.build.preserveModulesRoot\n ? userOptions.moduleBase\n : undefined,\n removeExtension: true,\n });\n\n const serverEntry = userOptions.serverEntry\n ? Object.fromEntries([\n normalizer([userOptions.serverEntry, userOptions.serverEntry]),\n ])\n : null;\n const clientEntry = userOptions.clientEntry\n ? Object.fromEntries(\n [\n [userOptions.clientEntry, userOptions.clientEntry],\n [\"index.html\", \"index.html\"],\n ].map(normalizer)\n )\n : { \"index.html\": \"index.html\" };\n\n const autoDiscoveredClientFiles = (inputs: Record<string, string>) => {\n const allFiles = globSync(`**/*.client.*`, {\n cwd: join(root, userOptions.moduleBase),\n });\n\n for (const file of allFiles) {\n const [key, value] = normalizer(join(userOptions.moduleBase, file));\n if (!inputs[key]) {\n inputs[key] = value;\n } else {\n console.warn(`[RSC] Client file already exists: ${key}`);\n }\n }\n return inputs;\n };\n const autoDiscoveredServerFiles = (inputs: Record<string, string>) => {\n const allFiles = globSync(`${userOptions.moduleBase}/**/*.server.*`, {\n cwd: join(root, userOptions.moduleBase),\n });\n for (const file of allFiles) {\n const [key, value] = normalizer(join(userOptions.moduleBase, file));\n if (!inputs[key]) {\n inputs[key] = value;\n } else {\n console.warn(`[RSC] Server file already exists: ${key}`);\n }\n }\n return inputs;\n };\n const autoDiscoveredFiles = (inputs: Record<string, string>) => {\n if (!files) return inputs;\n\n // Add page files without extra prefix\n for (const [key, value] of files.pageMap) {\n if (!inputs[key]) {\n inputs[key] = value;\n } else {\n console.warn(`[RSC] Page file already exists: ${key}`);\n }\n }\n // Add props files without extra prefix\n for (const [key, value] of files.propsMap) {\n if (!inputs[key]) {\n inputs[key] = value;\n } else {\n console.warn(`[RSC] Props file already exists: ${key}`);\n }\n }\n return inputs;\n };\n\n // Add inputs based on condition\n let inputs = isClient\n ? autoDiscoveredClientFiles(clientEntry)\n : autoDiscoveredServerFiles(autoDiscoveredFiles(serverEntry ?? {}));\n\n const envDir = isClient\n ? userOptions.build.client\n : userOptions.build.server;\n\n const pluginOutput = {\n preserveModules: !isClient,\n preserveModulesRoot: userOptions.build.preserveModulesRoot\n ? userOptions.moduleBase\n : undefined,\n entryFileNames: userOptions.build.entryFile,\n assetFileNames: userOptions.build.assetFile,\n chunkFileNames: userOptions.build.chunkFile,\n format: \"esm\",\n exports: \"named\",\n hoistTransitiveImports: false,\n generatedCode: {\n constBindings: true,\n objectShorthand: true,\n },\n interop: \"auto\",\n } satisfies OutputOptions;\n \n const newOutput = Array.isArray(config.build?.rollupOptions?.output)\n ? [...config.build?.rollupOptions?.output, pluginOutput]\n : typeof config.build?.rollupOptions?.output === \"object\" &&\n config.build?.rollupOptions?.output !== null\n ? [config.build?.rollupOptions?.output, pluginOutput]\n : pluginOutput;\n\n if (isClient) {\n // client build options\n return {\n type: \"success\",\n userConfig: {\n ...config,\n root: root,\n mode: configEnv.command === \"build\" ? \"production\" : \"development\",\n resolve: {\n external: [\"react\", \"react-dom\"],\n alias: {},\n },\n ssr: {\n target: \"node\",\n external: [\n \"react\",\n \"react-dom\",\n \"react-server-dom-esm/client.browser\",\n ],\n resolve: {\n externalConditions: [\"react-server\"],\n },\n },\n // client build options\n build: {\n ...config.build,\n emptyOutDir: config.build?.emptyOutDir ?? true,\n outDir: join(userOptions.build.outDir, envDir),\n assetsDir: config.build?.assetsDir ?? userOptions.build.assetsDir,\n // modern browsers\n target: [\"esnext\"],\n minify: true,\n ssr:\n typeof configEnv.isSsrBuild === \"boolean\"\n ? configEnv.isSsrBuild\n : true,\n manifest: config.build?.manifest ?? `.vite/manifest.json`,\n ssrManifest: config.build?.ssrManifest ?? `.vite/ssr-manifest.json`,\n ssrEmitAssets: config.build?.ssrEmitAssets ?? true,\n rollupOptions: {\n ...config.build?.rollupOptions,\n input: inputs,\n output: newOutput,\n preserveEntrySignatures: \"exports-only\",\n },\n },\n },\n };\n }\n // server build options\n return {\n type: \"success\",\n userConfig: {\n ...config,\n root: root,\n mode: configEnv.command === \"build\" ? \"production\" : \"development\",\n resolve: {\n alias: {},\n externalConditions: [\"react-server\"],\n },\n // server build options\n build: {\n ...config.build,\n emptyOutDir: config.build?.emptyOutDir ?? true,\n outDir: join(userOptions.build.outDir, envDir),\n target: config.build?.target ?? \"node18\",\n minify: config.build?.minify ?? true,\n ssr: config.build?.ssr ?? configEnv.isSsrBuild ?? true,\n manifest: config.build?.manifest ?? `.vite/manifest.json`,\n ssrManifest: config.build?.ssrManifest ?? `.vite/ssr-manifest.json`,\n ssrEmitAssets: config.build?.ssrEmitAssets ?? true,\n assetsDir: config.build?.assetsDir ?? userOptions.build.assetsDir,\n rollupOptions: {\n ...config.build?.rollupOptions,\n input: inputs,\n preserveEntrySignatures: config.build?.rollupOptions?.preserveEntrySignatures ?? \"strict\",\n output: newOutput,\n },\n },\n },\n };\n } catch (error) {\n return {\n type: \"error\",\n error:\n error instanceof Error ? error : new Error(\"Failed to resolve config\"),\n };\n }\n}\n"],"names":["inputs"],"mappings":"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"}
@@ -15,6 +15,11 @@ interface BundleManifestEntry {
15
15
  * @param preserveModulesRoot - The preserve modules root
16
16
  * @returns The bundle manifest
17
17
  */
18
- export declare function getBundleManifest(pluginContext: PluginContext, bundle: OutputBundle, preserveModulesRoot: string | undefined): Record<string, BundleManifestEntry>;
18
+ export declare function getBundleManifest({ pluginContext, bundle, moduleBase, preserveModulesRoot, }: {
19
+ pluginContext: PluginContext;
20
+ bundle: OutputBundle;
21
+ moduleBase?: string;
22
+ preserveModulesRoot?: boolean;
23
+ }): Record<string, BundleManifestEntry>;
19
24
  export {};
20
25
  //# sourceMappingURL=getBundleManifest.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getBundleManifest.d.ts","sourceRoot":"","sources":["../../../plugin/helpers/getBundleManifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,YAAY,EACZ,aAAa,EACd,MAAM,QAAQ,CAAC;AAIhB,UAAU,mBAAmB;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;CAChB;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,YAAY,EACpB,mBAAmB,EAAE,MAAM,GAAG,SAAS,GACtC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CA6CrC"}
1
+ {"version":3,"file":"getBundleManifest.d.ts","sourceRoot":"","sources":["../../../plugin/helpers/getBundleManifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EAEd,MAAM,QAAQ,CAAC;AAKhB,UAAU,mBAAmB;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;CAChB;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,aAAa,EACb,MAAM,EACN,UAAU,EACV,mBAAmB,GACpB,EAAE;IACD,aAAa,EAAE,aAAa,CAAC;IAC7B,MAAM,EAAE,YAAY,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CA4EtC"}