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
@@ -4,19 +4,86 @@
4
4
  * MIT License
5
5
  */
6
6
  const MIME_TYPES = {
7
+ // HTML and Web
7
8
  ".html": "text/html",
9
+ ".htm": "text/html",
10
+ ".xhtml": "application/xhtml+xml",
11
+ ".xml": "application/xml",
8
12
  ".css": "text/css",
9
13
  ".js": "application/javascript",
14
+ ".mjs": "application/javascript",
15
+ ".cjs": "application/javascript",
16
+ ".jsx": "application/javascript",
17
+ ".ts": "application/javascript",
18
+ ".tsx": "application/javascript",
10
19
  ".json": "application/json",
20
+ ".map": "application/json",
21
+ ".wasm": "application/wasm",
22
+ ".webmanifest": "application/manifest+json",
23
+ // Images
11
24
  ".png": "image/png",
12
25
  ".jpg": "image/jpeg",
13
26
  ".jpeg": "image/jpeg",
14
27
  ".gif": "image/gif",
15
28
  ".svg": "image/svg+xml",
16
29
  ".ico": "image/x-icon",
30
+ ".webp": "image/webp",
31
+ ".avif": "image/avif",
32
+ ".bmp": "image/bmp",
33
+ ".tiff": "image/tiff",
34
+ ".tif": "image/tiff",
35
+ ".heic": "image/heic",
36
+ ".heif": "image/heif",
37
+ ".apng": "image/apng",
38
+ // Fonts
17
39
  ".woff": "font/woff",
18
40
  ".woff2": "font/woff2",
19
41
  ".ttf": "font/ttf",
42
+ ".otf": "font/otf",
43
+ ".eot": "application/vnd.ms-fontobject",
44
+ ".sfnt": "font/sfnt",
45
+ // Video
46
+ ".mp4": "video/mp4",
47
+ ".webm": "video/webm",
48
+ ".m4v": "video/x-m4v",
49
+ ".m4s": "video/iso.segment",
50
+ ".m3u8": "application/vnd.apple.mpegurl",
51
+ ".mpd": "application/dash+xml",
52
+ ".mov": "video/quicktime",
53
+ ".avi": "video/x-msvideo",
54
+ ".wmv": "video/x-ms-wmv",
55
+ ".flv": "video/x-flv",
56
+ ".mkv": "video/x-matroska",
57
+ ".3gp": "video/3gpp",
58
+ ".m2ts": "video/mp2t",
59
+ // Audio
60
+ ".mp3": "audio/mpeg",
61
+ ".wav": "audio/wav",
62
+ ".ogg": "audio/ogg",
63
+ ".m4a": "audio/mp4",
64
+ ".aac": "audio/aac",
65
+ ".flac": "audio/flac",
66
+ // Documents
67
+ ".pdf": "application/pdf",
68
+ ".doc": "application/msword",
69
+ ".docx": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
70
+ ".xls": "application/vnd.ms-excel",
71
+ ".xlsx": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
72
+ ".ppt": "application/vnd.ms-powerpoint",
73
+ ".pptx": "application/vnd.openxmlformats-officedocument.presentationml.presentation",
74
+ // Archives
75
+ ".zip": "application/zip",
76
+ ".rar": "application/x-rar-compressed",
77
+ ".7z": "application/x-7z-compressed",
78
+ ".tar": "application/x-tar",
79
+ ".gz": "application/gzip",
80
+ // Data
81
+ ".csv": "text/csv",
82
+ ".txt": "text/plain",
83
+ ".md": "text/markdown",
84
+ ".yaml": "application/yaml",
85
+ ".yml": "application/yaml",
86
+ // React specific
20
87
  ".rsc": "text/x-component"
21
88
  };
22
89
 
@@ -1 +1 @@
1
- {"version":3,"file":"mimeTypes.js","sources":["../../../plugin/config/mimeTypes.ts"],"sourcesContent":["\nexport const MIME_TYPES: Record<string, string> = {\n '.html': 'text/html',\n '.css': 'text/css',\n '.js': 'application/javascript',\n '.json': 'application/json',\n '.png': 'image/png',\n '.jpg': 'image/jpeg',\n '.jpeg': 'image/jpeg',\n '.gif': 'image/gif',\n '.svg': 'image/svg+xml',\n '.ico': 'image/x-icon',\n '.woff': 'font/woff',\n '.woff2': 'font/woff2',\n '.ttf': 'font/ttf',\n '.rsc': 'text/x-component'\n };"],"names":[],"mappings":";;;;;AACO,MAAM,UAAqC,GAAA;AAAA,EAC9C,OAAS,EAAA,WAAA;AAAA,EACT,MAAQ,EAAA,UAAA;AAAA,EACR,KAAO,EAAA,wBAAA;AAAA,EACP,OAAS,EAAA,kBAAA;AAAA,EACT,MAAQ,EAAA,WAAA;AAAA,EACR,MAAQ,EAAA,YAAA;AAAA,EACR,OAAS,EAAA,YAAA;AAAA,EACT,MAAQ,EAAA,WAAA;AAAA,EACR,MAAQ,EAAA,eAAA;AAAA,EACR,MAAQ,EAAA,cAAA;AAAA,EACR,OAAS,EAAA,WAAA;AAAA,EACT,QAAU,EAAA,YAAA;AAAA,EACV,MAAQ,EAAA,UAAA;AAAA,EACR,MAAQ,EAAA;AACV;;;;"}
1
+ {"version":3,"file":"mimeTypes.js","sources":["../../../plugin/config/mimeTypes.ts"],"sourcesContent":["export const MIME_TYPES: Record<string, string> = {\n // HTML and Web\n '.html': 'text/html',\n '.htm': 'text/html',\n '.xhtml': 'application/xhtml+xml',\n '.xml': 'application/xml',\n '.css': 'text/css',\n '.js': 'application/javascript',\n '.mjs': 'application/javascript',\n '.cjs': 'application/javascript',\n '.jsx': 'application/javascript',\n '.ts': 'application/javascript',\n '.tsx': 'application/javascript',\n '.json': 'application/json',\n '.map': 'application/json',\n '.wasm': 'application/wasm',\n '.webmanifest': 'application/manifest+json',\n\n // Images\n '.png': 'image/png',\n '.jpg': 'image/jpeg',\n '.jpeg': 'image/jpeg',\n '.gif': 'image/gif',\n '.svg': 'image/svg+xml',\n '.ico': 'image/x-icon',\n '.webp': 'image/webp',\n '.avif': 'image/avif',\n '.bmp': 'image/bmp',\n '.tiff': 'image/tiff',\n '.tif': 'image/tiff',\n '.heic': 'image/heic',\n '.heif': 'image/heif',\n '.apng': 'image/apng',\n\n // Fonts\n '.woff': 'font/woff',\n '.woff2': 'font/woff2',\n '.ttf': 'font/ttf',\n '.otf': 'font/otf',\n '.eot': 'application/vnd.ms-fontobject',\n '.sfnt': 'font/sfnt',\n\n // Video\n '.mp4': 'video/mp4',\n '.webm': 'video/webm',\n '.m4v': 'video/x-m4v',\n '.m4s': 'video/iso.segment',\n '.m3u8': 'application/vnd.apple.mpegurl',\n '.mpd': 'application/dash+xml',\n '.mov': 'video/quicktime',\n '.avi': 'video/x-msvideo',\n '.wmv': 'video/x-ms-wmv',\n '.flv': 'video/x-flv',\n '.mkv': 'video/x-matroska',\n '.3gp': 'video/3gpp',\n '.m2ts': 'video/mp2t',\n\n // Audio\n '.mp3': 'audio/mpeg',\n '.wav': 'audio/wav',\n '.ogg': 'audio/ogg',\n '.m4a': 'audio/mp4',\n '.aac': 'audio/aac',\n '.flac': 'audio/flac',\n\n // Documents\n '.pdf': 'application/pdf',\n '.doc': 'application/msword',\n '.docx': 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n '.xls': 'application/vnd.ms-excel',\n '.xlsx': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n '.ppt': 'application/vnd.ms-powerpoint',\n '.pptx': 'application/vnd.openxmlformats-officedocument.presentationml.presentation',\n\n // Archives\n '.zip': 'application/zip',\n '.rar': 'application/x-rar-compressed',\n '.7z': 'application/x-7z-compressed',\n '.tar': 'application/x-tar',\n '.gz': 'application/gzip',\n\n // Data\n '.csv': 'text/csv',\n '.txt': 'text/plain',\n '.md': 'text/markdown',\n '.yaml': 'application/yaml',\n '.yml': 'application/yaml',\n\n // React specific\n '.rsc': 'text/x-component'\n };"],"names":[],"mappings":";;;;;AAAO,MAAM,UAAqC,GAAA;AAAA;AAAA,EAE9C,OAAS,EAAA,WAAA;AAAA,EACT,MAAQ,EAAA,WAAA;AAAA,EACR,QAAU,EAAA,uBAAA;AAAA,EACV,MAAQ,EAAA,iBAAA;AAAA,EACR,MAAQ,EAAA,UAAA;AAAA,EACR,KAAO,EAAA,wBAAA;AAAA,EACP,MAAQ,EAAA,wBAAA;AAAA,EACR,MAAQ,EAAA,wBAAA;AAAA,EACR,MAAQ,EAAA,wBAAA;AAAA,EACR,KAAO,EAAA,wBAAA;AAAA,EACP,MAAQ,EAAA,wBAAA;AAAA,EACR,OAAS,EAAA,kBAAA;AAAA,EACT,MAAQ,EAAA,kBAAA;AAAA,EACR,OAAS,EAAA,kBAAA;AAAA,EACT,cAAgB,EAAA,2BAAA;AAAA;AAAA,EAGhB,MAAQ,EAAA,WAAA;AAAA,EACR,MAAQ,EAAA,YAAA;AAAA,EACR,OAAS,EAAA,YAAA;AAAA,EACT,MAAQ,EAAA,WAAA;AAAA,EACR,MAAQ,EAAA,eAAA;AAAA,EACR,MAAQ,EAAA,cAAA;AAAA,EACR,OAAS,EAAA,YAAA;AAAA,EACT,OAAS,EAAA,YAAA;AAAA,EACT,MAAQ,EAAA,WAAA;AAAA,EACR,OAAS,EAAA,YAAA;AAAA,EACT,MAAQ,EAAA,YAAA;AAAA,EACR,OAAS,EAAA,YAAA;AAAA,EACT,OAAS,EAAA,YAAA;AAAA,EACT,OAAS,EAAA,YAAA;AAAA;AAAA,EAGT,OAAS,EAAA,WAAA;AAAA,EACT,QAAU,EAAA,YAAA;AAAA,EACV,MAAQ,EAAA,UAAA;AAAA,EACR,MAAQ,EAAA,UAAA;AAAA,EACR,MAAQ,EAAA,+BAAA;AAAA,EACR,OAAS,EAAA,WAAA;AAAA;AAAA,EAGT,MAAQ,EAAA,WAAA;AAAA,EACR,OAAS,EAAA,YAAA;AAAA,EACT,MAAQ,EAAA,aAAA;AAAA,EACR,MAAQ,EAAA,mBAAA;AAAA,EACR,OAAS,EAAA,+BAAA;AAAA,EACT,MAAQ,EAAA,sBAAA;AAAA,EACR,MAAQ,EAAA,iBAAA;AAAA,EACR,MAAQ,EAAA,iBAAA;AAAA,EACR,MAAQ,EAAA,gBAAA;AAAA,EACR,MAAQ,EAAA,aAAA;AAAA,EACR,MAAQ,EAAA,kBAAA;AAAA,EACR,MAAQ,EAAA,YAAA;AAAA,EACR,OAAS,EAAA,YAAA;AAAA;AAAA,EAGT,MAAQ,EAAA,YAAA;AAAA,EACR,MAAQ,EAAA,WAAA;AAAA,EACR,MAAQ,EAAA,WAAA;AAAA,EACR,MAAQ,EAAA,WAAA;AAAA,EACR,MAAQ,EAAA,WAAA;AAAA,EACR,OAAS,EAAA,YAAA;AAAA;AAAA,EAGT,MAAQ,EAAA,iBAAA;AAAA,EACR,MAAQ,EAAA,oBAAA;AAAA,EACR,OAAS,EAAA,yEAAA;AAAA,EACT,MAAQ,EAAA,0BAAA;AAAA,EACR,OAAS,EAAA,mEAAA;AAAA,EACT,MAAQ,EAAA,+BAAA;AAAA,EACR,OAAS,EAAA,2EAAA;AAAA;AAAA,EAGT,MAAQ,EAAA,iBAAA;AAAA,EACR,MAAQ,EAAA,8BAAA;AAAA,EACR,KAAO,EAAA,6BAAA;AAAA,EACP,MAAQ,EAAA,mBAAA;AAAA,EACR,KAAO,EAAA,kBAAA;AAAA;AAAA,EAGP,MAAQ,EAAA,UAAA;AAAA,EACR,MAAQ,EAAA,YAAA;AAAA,EACR,KAAO,EAAA,eAAA;AAAA,EACP,OAAS,EAAA,kBAAA;AAAA,EACT,MAAQ,EAAA,kBAAA;AAAA;AAAA,EAGR,MAAQ,EAAA;AACV;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolveAutoDiscoverMatcher.d.ts","sourceRoot":"","sources":["../../../plugin/config/resolveAutoDiscoverMatcher.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,0BAA0B,YAC5B,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,YACxD,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,YADC,MAAM,KAAK,OAkB3D,CAAC"}
1
+ {"version":3,"file":"resolveAutoDiscoverMatcher.d.ts","sourceRoot":"","sources":["../../../plugin/config/resolveAutoDiscoverMatcher.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,0BAA0B,GACrC,SAAS,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,EAClE,UAAU,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,YADC,MAAM,KAAK,OAkB3D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolveEnv.d.ts","sourceRoot":"","sources":["../../../plugin/config/resolveEnv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,cAAc,EAAE,MAAM,MAAM,CAAC;AAIpD,KAAK,SAAS,GAAG;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CACpC,CAAC;AAgBF;;GAEG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,MAAM,GAAG,MAAM,EAA8B,cAiHxD;AAED,wBAAgB,mBAAmB,CACjC,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,WAAW,CAAC,cAsB7D;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,SAAS,cAM9C;AAED,eAAO,MAAM,UAAU,uCAEX,MAAM,GAAG,MAAM,EAAE,QAgB1B,CAAC"}
1
+ {"version":3,"file":"resolveEnv.d.ts","sourceRoot":"","sources":["../../../plugin/config/resolveEnv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,cAAc,EAAE,MAAM,MAAM,CAAC;AAIpD,KAAK,SAAS,GAAG;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CACpC,CAAC;AAgBF;;GAEG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,MAAM,GAAG,MAAM,EAA8B,cAiHxD;AAED,wBAAgB,mBAAmB,CACjC,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,WAAW,CAAC,cAsB7D;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,SAAS,cAM9C;AAED,eAAO,MAAM,UAAU,GACrB,uBAAiB,EACjB,WAAU,MAAM,GAAG,MAAM,EAA8B,QAgBtD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolveOptions.d.ts","sourceRoot":"","sources":["../../../plugin/config/resolveOptions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,YAAY,EACb,MAAM,aAAa,CAAC;AA+CrB,eAAO,MAAM,cAAc,GACzB,CAAC,SAAS,WAAW,gBACrB,SAAS,SAAS,YAAY,0BAErB,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,KAExC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;CAAE,GACnE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAschC,CAAC"}
1
+ {"version":3,"file":"resolveOptions.d.ts","sourceRoot":"","sources":["../../../plugin/config/resolveOptions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,YAAY,EACb,MAAM,aAAa,CAAC;AA+CrB,eAAO,MAAM,cAAc,GACzB,CAAC,SAAS,WAAW,GAAG,WAAW,EACnC,SAAS,SAAS,YAAY,GAAG,YAAY,EAE7C,SAAS,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,KAExC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;CAAE,GACnE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CA0dhC,CAAC"}
@@ -9,6 +9,7 @@ import { pluginRoot } from '../root.js';
9
9
  import { CssCollector } from '../components/css-collector.js';
10
10
  import { createInputNormalizer } from '../helpers/inputNormalizer.js';
11
11
  import { resolveAutoDiscoverMatcher } from './resolveAutoDiscoverMatcher.js';
12
+ import { extMap } from './extMap.js';
12
13
 
13
14
  const handleSearchQuery = (path) => {
14
15
  const searchQuery = path.split("?")[1];
@@ -24,7 +25,11 @@ const registerPath = (path, _pattern, ext) => {
24
25
  return path;
25
26
  };
26
27
  const resolveOptions = (options) => {
28
+ const moduleBase = typeof options.moduleBase === "string" ? options.moduleBase : DEFAULT_CONFIG.MODULE_BASE;
27
29
  const projectRoot = options.projectRoot ?? process.cwd();
30
+ const preserveModulesRoot = options.build?.preserveModulesRoot ?? DEFAULT_CONFIG.BUILD.preserveModulesRoot;
31
+ const isProd = process.env["NODE_ENV"] === "production" || process.env["VITE_PROD"] === "true" || process.env["VITE_PROD"] === "1";
32
+ const prodModuleBase = isProd && preserveModulesRoot ? moduleBase : void 0;
28
33
  const {
29
34
  pageExportName = DEFAULT_CONFIG.PAGE_EXPORT_NAME,
30
35
  propsExportName = DEFAULT_CONFIG.PROPS_EXPORT_NAME
@@ -36,8 +41,6 @@ const resolveOptions = (options) => {
36
41
  const staticBuild = options.build?.static ?? DEFAULT_CONFIG.BUILD.static;
37
42
  const outDir = options.build?.outDir ?? DEFAULT_CONFIG.BUILD.outDir;
38
43
  const assetsDir = options.build?.assetsDir ?? `${DEFAULT_CONFIG.CLIENT_ASSETS_DIR}`;
39
- const preserveModulesRoot = options.build?.preserveModulesRoot ?? DEFAULT_CONFIG.BUILD.preserveModulesRoot;
40
- const moduleBase = typeof options.moduleBase === "string" ? options.moduleBase : DEFAULT_CONFIG.MODULE_BASE;
41
44
  const moduleBasePath = typeof options.moduleBasePath === "string" ? options.moduleBasePath : process.env.VITE_BASE_URL ?? DEFAULT_CONFIG.MODULE_BASE_PATH;
42
45
  const moduleBaseURL = typeof options.moduleBaseURL === "string" ? options.moduleBaseURL : process.env.VITE_BASE_URL ?? DEFAULT_CONFIG.MODULE_BASE_URL;
43
46
  const moduleRootPath = typeof options.moduleRootPath === "string" ? options.moduleRootPath : join(projectRoot, outDir, client);
@@ -51,12 +54,6 @@ const resolveOptions = (options) => {
51
54
  if (process.env.VITE_PUBLIC_ORIGIN !== publicOrigin) {
52
55
  process.env.VITE_PUBLIC_ORIGIN = publicOrigin;
53
56
  }
54
- const normalizer = options.normalizer ?? createInputNormalizer({
55
- root: projectRoot,
56
- preserveModulesRoot: preserveModulesRoot === true ? moduleBase : undefined,
57
- removeExtension: true,
58
- moduleBasePath
59
- });
60
57
  const moduleExtension = resolveAutoDiscoverMatcher(
61
58
  options.autoDiscover?.moduleExtension,
62
59
  DEFAULT_CONFIG.AUTO_DISCOVER.moduleExtension
@@ -205,6 +202,12 @@ const resolveOptions = (options) => {
205
202
  );
206
203
  return registerPath(path, options.autoDiscover?.modulePattern, jsExtension);
207
204
  };
205
+ const normalizer = options.normalizer ?? createInputNormalizer({
206
+ root: projectRoot,
207
+ preserveModulesRoot: prodModuleBase,
208
+ removeExtension: true,
209
+ moduleBasePath
210
+ });
208
211
  const entryFile = (n, ssr) => {
209
212
  if (vendorPattern(n.name)) {
210
213
  const search = n.facadeModuleId?.split("?")[1];
@@ -228,9 +231,21 @@ const resolveOptions = (options) => {
228
231
  return hash(getOutputPath(assetName), ssr);
229
232
  };
230
233
  const moduleID = typeof options.moduleID === "function" ? options.moduleID : (id) => {
234
+ if (prodModuleBase && id.startsWith(prodModuleBase)) {
235
+ id = id.slice(prodModuleBase.length);
236
+ }
231
237
  if (!id.startsWith(moduleBasePath)) {
232
238
  id = join(moduleBasePath, id);
233
239
  }
240
+ if (prodModuleBase && id.startsWith("/" + prodModuleBase)) {
241
+ id = id.slice(prodModuleBase.length + 1);
242
+ }
243
+ if (!id.startsWith("/")) {
244
+ id = "/" + id;
245
+ }
246
+ if (isProd) {
247
+ return mapExtension(id);
248
+ }
234
249
  return id;
235
250
  };
236
251
  const rscOutputPath = options.build?.rscOutputPath ?? DEFAULT_CONFIG.BUILD.rscOutputPath;
@@ -277,6 +292,7 @@ const resolveOptions = (options) => {
277
292
  isServerFunctionCode,
278
293
  isClientComponentCode
279
294
  };
295
+ const mapExtension = extMap(autoDiscover);
280
296
  const pipeableStreamOptions = options.pipeableStreamOptions ? options.pipeableStreamOptions : {};
281
297
  try {
282
298
  return {
@@ -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 {\n StreamPluginOptions,\n ResolvedUserOptions,\n PagePropOpt,\n InlineCssOpt,\n} from \"../types.js\";\nimport { DEFAULT_CONFIG } from \"./defaults.js\";\nimport { join } from \"node:path\";\nimport { pluginRoot } from \"../root.js\";\nimport { CssCollector } from \"../components/css-collector.js\";\nimport { createInputNormalizer } from \"../helpers/inputNormalizer.js\";\nimport { resolveAutoDiscoverMatcher } from \"./resolveAutoDiscoverMatcher.js\";\n\n// /**\n// * Ensures a path ends with .js extension\n// */\n// const addExtension = (path: string, extension: string = \"js\") => {\n// if (path.endsWith(`.${extension}`)) return path;\n// if (path.endsWith(\"/.\")) return path.slice(0, -2) + \".\" + extension;\n// if (path.endsWith(\".\")) return path + \".\" + extension;\n// return path + \".\" + extension;\n// };\n\n/**\n * Handles search query parameters in file paths\n */\nconst handleSearchQuery = (path: string) => {\n const searchQuery = path.split(\"?\")[1];\n if (!searchQuery) return path;\n const folder = path.split(\"/\").slice(0, -1).join(\"/\");\n const filename = path.split(\"/\").pop();\n return `${folder}/${filename}?${searchQuery}`;\n};\n\n/**\n * Applies pattern matching to file paths\n */\nconst registerPath = (\n path: string,\n _pattern?: string | RegExp | ((path: string) => boolean) | undefined,\n ext?: string | undefined\n) => {\n if (ext && !path.endsWith(ext)) {\n return path + ext;\n }\n return path;\n};\n\n// ============================================================================\n// Main Options Resolver\n// ============================================================================\n\nexport const resolveOptions = <\n T extends PagePropOpt = PagePropOpt,\n InlineCSS extends InlineCssOpt = InlineCssOpt\n>(\n options: StreamPluginOptions<T, InlineCSS>\n):\n | { type: \"success\"; userOptions: ResolvedUserOptions<T, InlineCSS> }\n | { type: \"error\"; error: Error } => {\n // Basic configuration\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\n // Build configuration\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\n let client = options.build?.client ?? DEFAULT_CONFIG.BUILD.client;\n let server = options.build?.server ?? DEFAULT_CONFIG.BUILD.server;\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 // Build options\n const preserveModulesRoot =\n options.build?.preserveModulesRoot ??\n DEFAULT_CONFIG.BUILD.preserveModulesRoot;\n\n // Module path configuration\n const moduleBase =\n typeof options.moduleBase === \"string\"\n ? options.moduleBase\n : DEFAULT_CONFIG.MODULE_BASE;\n\n const moduleBasePath =\n typeof options.moduleBasePath === \"string\"\n ? options.moduleBasePath\n : process.env.VITE_BASE_URL ?? DEFAULT_CONFIG.MODULE_BASE_PATH;\n\n const moduleBaseURL =\n typeof options.moduleBaseURL === \"string\"\n ? options.moduleBaseURL\n : process.env.VITE_BASE_URL ?? DEFAULT_CONFIG.MODULE_BASE_URL;\n\n const moduleRootPath =\n typeof options.moduleRootPath === \"string\"\n ? options.moduleRootPath\n : join(projectRoot, outDir, client);\n\n const publicOrigin =\n typeof options.publicOrigin === \"string\"\n ? options.publicOrigin\n : process.env.VITE_PUBLIC_ORIGIN ?? DEFAULT_CONFIG.PUBLIC_ORIGIN;\n\n // Worker and loader paths\n const rscWorkerPath =\n typeof options.rscWorkerPath === \"string\"\n ? join(projectRoot, options.rscWorkerPath)\n : join(pluginRoot, DEFAULT_CONFIG.RSC_WORKER_PATH);\n\n const htmlWorkerPath =\n typeof options.htmlWorkerPath === \"string\"\n ? join(projectRoot, options.htmlWorkerPath)\n : join(pluginRoot, DEFAULT_CONFIG.HTML_WORKER_PATH);\n\n const loaderPath =\n typeof options.loaderPath === \"string\"\n ? join(projectRoot, options.loaderPath)\n : join(pluginRoot, DEFAULT_CONFIG.LOADER_PATH);\n // these will never be cleaned up, because, we are resolving the user options\n // and it's assumed they are relevant until the process stops\n if (process.env.VITE_BASE_URL !== moduleBaseURL) {\n process.env.VITE_BASE_URL = moduleBaseURL;\n }\n if (process.env.VITE_PUBLIC_ORIGIN !== publicOrigin) {\n process.env.VITE_PUBLIC_ORIGIN = publicOrigin;\n }\n\n const normalizer =\n options.normalizer ??\n createInputNormalizer({\n root: projectRoot,\n preserveModulesRoot:\n preserveModulesRoot === true ? moduleBase : undefined,\n removeExtension: true,\n moduleBasePath,\n });\n\n const moduleExtension = resolveAutoDiscoverMatcher(\n options.autoDiscover?.moduleExtension,\n DEFAULT_CONFIG.AUTO_DISCOVER.moduleExtension\n );\n // Auto-discovery pattern matchers\n const modulePattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.modulePattern,\n options.autoDiscover?.moduleExtension\n ? (id: string) => moduleExtension(id.toLowerCase())\n : DEFAULT_CONFIG.AUTO_DISCOVER.modulePattern\n );\n\n const jsonPattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.jsonPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.jsonPattern\n );\n\n const cssPattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.cssPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.cssPattern\n );\n\n const testHtml = resolveAutoDiscoverMatcher(\n options.autoDiscover?.htmlPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.htmlPattern\n );\n\n const testRsc = resolveAutoDiscoverMatcher(\n options.autoDiscover?.rscPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.rscPattern\n );\n\n const clientComponents = resolveAutoDiscoverMatcher(\n options.autoDiscover?.clientComponents,\n options.autoDiscover?.moduleExtension\n ? (id: string) => /(\\.|\\/)?client(\\.|\\/)?/.test(id.toLowerCase())\n : DEFAULT_CONFIG.AUTO_DISCOVER.clientComponents\n );\n\n const serverFunctions = resolveAutoDiscoverMatcher(\n options.autoDiscover?.serverFunctions,\n options.autoDiscover?.moduleExtension\n ? (id: string) => /(\\.|\\/)?server(\\.|\\/)?/.test(id.toLowerCase())\n : DEFAULT_CONFIG.AUTO_DISCOVER.serverFunctions\n );\n\n const nodeOnly = resolveAutoDiscoverMatcher(\n options.autoDiscover?.nodeOnly,\n DEFAULT_CONFIG.AUTO_DISCOVER.nodeOnly\n );\n\n const propsPattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.propsPattern,\n options.autoDiscover?.moduleExtension\n ? (id: string) =>\n moduleExtension(id.toLowerCase()) &&\n /(\\.|\\/)?props(\\.|\\/)/.test(id.toLowerCase())\n : DEFAULT_CONFIG.AUTO_DISCOVER.propsPattern\n );\n\n const pagePattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.pagePattern,\n options.autoDiscover?.moduleExtension\n ? (id: string) =>\n moduleExtension(id.toLowerCase()) &&\n /(\\.|\\/)?page(\\.|\\/)/.test(id.toLowerCase())\n : DEFAULT_CONFIG.AUTO_DISCOVER.pagePattern\n );\n\n const cssModulePattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.cssModulePattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.cssModulePattern\n );\n\n const vendorPattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.vendorPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.vendorPattern\n );\n\n const virtualPattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.virtualPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.virtualPattern\n );\n\n const dotFiles = resolveAutoDiscoverMatcher(\n options.autoDiscover?.dotFiles,\n DEFAULT_CONFIG.AUTO_DISCOVER.dotFiles\n );\n\n const isServerFunctionCode = resolveAutoDiscoverMatcher(\n options.autoDiscover?.isServerFunction,\n options.autoDiscover?.serverDirective\n ? (code: string, moduleId?: string) =>\n code.match(options.autoDiscover?.serverDirective!) != null ||\n (moduleId && serverFunctions(moduleId)) ||\n false\n : (code: string, moduleId?: string) =>\n code.match(DEFAULT_CONFIG.AUTO_DISCOVER.serverDirective) != null ||\n (moduleId && serverFunctions(moduleId)) ||\n false\n );\n\n const isClientComponentCode = resolveAutoDiscoverMatcher(\n options.autoDiscover?.isClientComponent,\n options.autoDiscover?.clientDirective\n ? (code: string) =>\n code.match(options.autoDiscover?.clientDirective!) != null\n : DEFAULT_CONFIG.AUTO_DISCOVER.clientDirective\n );\n\n const hashOption =\n typeof options.build?.hash === \"string\"\n ? options.build.hash\n : DEFAULT_CONFIG.BUILD.hash;\n\n const hashString = hashOption === \"\" ? \"\" : `-[${hashOption}]`;\n // const addModuleExtension = (path: string) => {\n // const isAsset =\n // autoDiscover.cssPattern(path) || autoDiscover.jsonPattern(path);\n // if (isAsset) {\n // return path;\n // }\n // return addExtension(path);\n // };\n\n // File naming and hashing\n const hash = (n: string | null, ssr: boolean) => {\n if (!n) return \"\";\n if (ssr) return n;\n if (hashString === \"\" || autoDiscover.nodeOnly(n)) {\n return n;\n }\n const extensionIndex = n.lastIndexOf(\".\");\n if (extensionIndex !== -1) {\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 const jsExtension = options.autoDiscover?.jsExtension ?? \".js\";\n const cssExtension = options.autoDiscover?.cssExtension ?? \".css\";\n const htmlExtension = options.autoDiscover?.htmlExtension ?? \".html\";\n const jsonExtension = options.autoDiscover?.jsonExtension ?? \".json\";\n const rscExtension = options.autoDiscover?.rscExtension ?? \".rsc\";\n\n // Output path resolution\n const getOutputPath = (n: string | null) => {\n if (!n) return \"\";\n let path = handleSearchQuery(n);\n path = path.startsWith(moduleBase + moduleBasePath)\n ? path.slice(moduleBase.length + moduleBasePath.length)\n : path;\n\n if (vendorPattern(path))\n return registerPath(\n path,\n options.autoDiscover?.vendorPattern,\n jsExtension\n );\n if (cssModulePattern(path))\n return registerPath(\n path,\n options.autoDiscover?.cssModulePattern,\n cssExtension + jsExtension\n );\n if (cssPattern(path))\n return registerPath(path, options.autoDiscover?.cssPattern, cssExtension);\n if (clientComponents(path))\n return registerPath(\n path,\n options.autoDiscover?.clientComponents,\n jsExtension\n );\n if (testHtml(path))\n return registerPath(\n path,\n options.autoDiscover?.htmlPattern,\n htmlExtension\n );\n if (jsonPattern(path))\n return registerPath(\n path,\n options.autoDiscover?.jsonPattern,\n jsonExtension\n );\n if (propsPattern(path))\n return registerPath(\n path,\n options.autoDiscover?.propsPattern,\n jsExtension\n );\n if (pagePattern(path))\n return registerPath(path, options.autoDiscover?.pagePattern, jsExtension);\n if (serverFunctions(path))\n return registerPath(\n path,\n options.autoDiscover?.serverFunctions,\n jsExtension\n );\n if (modulePattern(path))\n return registerPath(\n path,\n options.autoDiscover?.modulePattern,\n jsExtension\n );\n return registerPath(path, options.autoDiscover?.modulePattern, jsExtension);\n };\n\n // File naming functions\n const entryFile = (n: PreRenderedChunk, ssr: boolean) => {\n if (vendorPattern(n.name)) {\n const search = n.facadeModuleId?.split(\"?\")[1];\n if (search) {\n return hash(`${n.name}.${search}${jsExtension}`, ssr);\n } else {\n return hash(`${n.name}${jsExtension}`, ssr);\n }\n }\n return hash(getOutputPath(normalizer(n.name)[0]), ssr);\n };\n\n const chunkFile = (n: PreRenderedChunk, ssr: boolean) => {\n return hash(getOutputPath(normalizer(n.name)[0]), ssr);\n };\n\n const assetFile = (n: PreRenderedAsset, ssr: boolean) => {\n const firstName = n.names[0];\n const extIndex = firstName.lastIndexOf(\".\");\n const nameWithoutExtension = firstName.slice(0, extIndex);\n const extension = firstName.slice(extIndex);\n const assetName = normalizer(nameWithoutExtension)[0] + extension;\n return hash(getOutputPath(assetName), ssr);\n };\n\n const moduleID =\n typeof options.moduleID === \"function\"\n ? options.moduleID\n : (id: string) => {\n if (!id.startsWith(moduleBasePath)) {\n id = join(moduleBasePath, id);\n }\n\n return id;\n };\n\n const rscOutputPath =\n options.build?.rscOutputPath ?? DEFAULT_CONFIG.BUILD.rscOutputPath;\n const htmlOutputPath =\n options.build?.htmlOutputPath ?? DEFAULT_CONFIG.BUILD.htmlOutputPath;\n\n // Build configuration object\n const build = {\n pages,\n client,\n server,\n static: staticBuild,\n outDir,\n assetsDir,\n api,\n hash: hashOption,\n preserveModulesRoot,\n rscOutputPath,\n htmlOutputPath,\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 // Auto-discovery configuration\n const autoDiscover = {\n jsExtension: jsExtension,\n cssExtension: cssExtension,\n htmlExtension: htmlExtension,\n jsonExtension: jsonExtension,\n rscExtension: rscExtension,\n moduleExtension:\n options.autoDiscover?.moduleExtension ??\n DEFAULT_CONFIG.AUTO_DISCOVER.moduleExtension,\n serverDirective:\n options.autoDiscover?.serverDirective ??\n DEFAULT_CONFIG.AUTO_DISCOVER.serverDirective,\n clientDirective:\n options.autoDiscover?.clientDirective ??\n DEFAULT_CONFIG.AUTO_DISCOVER.clientDirective,\n modulePattern: modulePattern,\n cssPattern: cssPattern,\n jsonPattern: jsonPattern,\n clientComponents: clientComponents,\n serverFunctions: serverFunctions,\n nodeOnly: nodeOnly,\n propsPattern: propsPattern,\n pagePattern: pagePattern,\n cssModulePattern: cssModulePattern,\n vendorPattern: vendorPattern,\n dotFiles: dotFiles,\n virtualPattern: virtualPattern,\n htmlPattern: testHtml,\n rscPattern: testRsc,\n isServerFunctionCode: isServerFunctionCode,\n isClientComponentCode: isClientComponentCode,\n };\n const pipeableStreamOptions = options.pipeableStreamOptions\n ? options.pipeableStreamOptions\n : {};\n\n // Return resolved options\n try {\n return {\n type: \"success\",\n userOptions: {\n projectRoot,\n moduleBase,\n moduleBasePath,\n moduleBaseURL,\n moduleRootPath,\n publicOrigin,\n build: build,\n verbose: options.verbose ?? DEFAULT_CONFIG.VERBOSE,\n onMetrics: options.onMetrics ?? DEFAULT_CONFIG.ON_METRICS,\n onEvent: options.onEvent,\n Page: options.Page ?? undefined,\n props: options.props ?? undefined,\n Html: options.Html ?? DEFAULT_CONFIG.HTML,\n CssCollector: options.CssCollector ?? CssCollector,\n normalizer: normalizer,\n moduleID: moduleID,\n pageExportName: pageExportName,\n propsExportName: propsExportName,\n css: {\n inlineCss: options.css?.inlineCss ?? DEFAULT_CONFIG.CSS.inlineCss,\n inlineThreshold:\n options.css?.inlineThreshold ?? DEFAULT_CONFIG.CSS.inlineThreshold,\n inlinePatterns:\n options.css?.inlinePatterns ?? DEFAULT_CONFIG.CSS.inlinePatterns,\n linkPatterns:\n options.css?.linkPatterns ?? DEFAULT_CONFIG.CSS.linkPatterns,\n },\n htmlWorkerPath: htmlWorkerPath,\n rscWorkerPath: rscWorkerPath,\n loaderPath: loaderPath,\n clientEntry: options.clientEntry ?? DEFAULT_CONFIG.CLIENT_ENTRY,\n serverEntry: options.serverEntry ?? DEFAULT_CONFIG.SERVER_ENTRY,\n // moduleBaseExceptions: options.moduleBaseExceptions ?? [],\n autoDiscover: autoDiscover,\n pipeableStreamOptions,\n } as ResolvedUserOptions<T, InlineCSS>,\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
+ {"version":3,"file":"resolveOptions.js","sources":["../../../plugin/config/resolveOptions.ts"],"sourcesContent":["import type { PreRenderedAsset } from \"rollup\";\nimport type { PreRenderedChunk } from \"rollup\";\nimport type {\n StreamPluginOptions,\n ResolvedUserOptions,\n PagePropOpt,\n InlineCssOpt,\n} from \"../types.js\";\nimport { DEFAULT_CONFIG } from \"./defaults.js\";\nimport { join } from \"node:path\";\nimport { pluginRoot } from \"../root.js\";\nimport { CssCollector } from \"../components/css-collector.js\";\nimport { createInputNormalizer } from \"../helpers/inputNormalizer.js\";\nimport { resolveAutoDiscoverMatcher } from \"./resolveAutoDiscoverMatcher.js\";\nimport { extMap } from \"./extMap.js\";\n// /**\n// * Ensures a path ends with .js extension\n// */\n// const addExtension = (path: string, extension: string = \"js\") => {\n// if (path.endsWith(`.${extension}`)) return path;\n// if (path.endsWith(\"/.\")) return path.slice(0, -2) + \".\" + extension;\n// if (path.endsWith(\".\")) return path + \".\" + extension;\n// return path + \".\" + extension;\n// };\n\n/**\n * Handles search query parameters in file paths\n */\nconst handleSearchQuery = (path: string) => {\n const searchQuery = path.split(\"?\")[1];\n if (!searchQuery) return path;\n const folder = path.split(\"/\").slice(0, -1).join(\"/\");\n const filename = path.split(\"/\").pop();\n return `${folder}/${filename}?${searchQuery}`;\n};\n\n/**\n * Applies pattern matching to file paths\n */\nconst registerPath = (\n path: string,\n _pattern?: string | RegExp | ((path: string) => boolean) | undefined,\n ext?: string | undefined\n) => {\n if (ext && !path.endsWith(ext)) {\n return path + ext;\n }\n return path;\n};\n\n// ============================================================================\n// Main Options Resolver\n// ============================================================================\n\nexport const resolveOptions = <\n T extends PagePropOpt = PagePropOpt,\n InlineCSS extends InlineCssOpt = InlineCssOpt\n>(\n options: StreamPluginOptions<T, InlineCSS>\n):\n | { type: \"success\"; userOptions: ResolvedUserOptions<T, InlineCSS> }\n | { type: \"error\"; error: Error } => {\n // Module path configuration\n const moduleBase =\n typeof options.moduleBase === \"string\"\n ? options.moduleBase\n : DEFAULT_CONFIG.MODULE_BASE;\n // Basic configuration\n const projectRoot = options.projectRoot ?? process.cwd();\n\n // Build options\n const preserveModulesRoot =\n options.build?.preserveModulesRoot ??\n DEFAULT_CONFIG.BUILD.preserveModulesRoot;\n\n const isProd =\n process.env[\"NODE_ENV\"] === \"production\" ||\n process.env[\"VITE_PROD\"] === \"true\" ||\n process.env[\"VITE_PROD\"] === \"1\";\n const prodModuleBase = isProd && preserveModulesRoot ? moduleBase : undefined;\n\n const {\n pageExportName = DEFAULT_CONFIG.PAGE_EXPORT_NAME,\n propsExportName = DEFAULT_CONFIG.PROPS_EXPORT_NAME,\n } = options;\n\n // Build configuration\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\n let client = options.build?.client ?? DEFAULT_CONFIG.BUILD.client;\n let server = options.build?.server ?? DEFAULT_CONFIG.BUILD.server;\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 moduleBasePath =\n typeof options.moduleBasePath === \"string\"\n ? options.moduleBasePath\n : process.env.VITE_BASE_URL ?? DEFAULT_CONFIG.MODULE_BASE_PATH;\n\n const moduleBaseURL =\n typeof options.moduleBaseURL === \"string\"\n ? options.moduleBaseURL\n : process.env.VITE_BASE_URL ?? DEFAULT_CONFIG.MODULE_BASE_URL;\n\n const moduleRootPath =\n typeof options.moduleRootPath === \"string\"\n ? options.moduleRootPath\n : join(projectRoot, outDir, client);\n\n const publicOrigin =\n typeof options.publicOrigin === \"string\"\n ? options.publicOrigin\n : process.env.VITE_PUBLIC_ORIGIN ?? DEFAULT_CONFIG.PUBLIC_ORIGIN;\n\n // Worker and loader paths\n const rscWorkerPath =\n typeof options.rscWorkerPath === \"string\"\n ? join(projectRoot, options.rscWorkerPath)\n : join(pluginRoot, DEFAULT_CONFIG.RSC_WORKER_PATH);\n\n const htmlWorkerPath =\n typeof options.htmlWorkerPath === \"string\"\n ? join(projectRoot, options.htmlWorkerPath)\n : join(pluginRoot, DEFAULT_CONFIG.HTML_WORKER_PATH);\n\n const loaderPath =\n typeof options.loaderPath === \"string\"\n ? join(projectRoot, options.loaderPath)\n : join(pluginRoot, DEFAULT_CONFIG.LOADER_PATH);\n // these will never be cleaned up, because, we are resolving the user options\n // and it's assumed they are relevant until the process stops\n if (process.env.VITE_BASE_URL !== moduleBaseURL) {\n process.env.VITE_BASE_URL = moduleBaseURL;\n }\n if (process.env.VITE_PUBLIC_ORIGIN !== publicOrigin) {\n process.env.VITE_PUBLIC_ORIGIN = publicOrigin;\n }\n\n const moduleExtension = resolveAutoDiscoverMatcher(\n options.autoDiscover?.moduleExtension,\n DEFAULT_CONFIG.AUTO_DISCOVER.moduleExtension\n );\n // Auto-discovery pattern matchers\n const modulePattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.modulePattern,\n options.autoDiscover?.moduleExtension\n ? (id: string) => moduleExtension(id.toLowerCase())\n : DEFAULT_CONFIG.AUTO_DISCOVER.modulePattern\n );\n\n const jsonPattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.jsonPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.jsonPattern\n );\n\n const cssPattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.cssPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.cssPattern\n );\n\n const testHtml = resolveAutoDiscoverMatcher(\n options.autoDiscover?.htmlPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.htmlPattern\n );\n\n const testRsc = resolveAutoDiscoverMatcher(\n options.autoDiscover?.rscPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.rscPattern\n );\n\n const clientComponents = resolveAutoDiscoverMatcher(\n options.autoDiscover?.clientComponents,\n options.autoDiscover?.moduleExtension\n ? (id: string) => /(\\.|\\/)?client(\\.|\\/)?/.test(id.toLowerCase())\n : DEFAULT_CONFIG.AUTO_DISCOVER.clientComponents\n );\n\n const serverFunctions = resolveAutoDiscoverMatcher(\n options.autoDiscover?.serverFunctions,\n options.autoDiscover?.moduleExtension\n ? (id: string) => /(\\.|\\/)?server(\\.|\\/)?/.test(id.toLowerCase())\n : DEFAULT_CONFIG.AUTO_DISCOVER.serverFunctions\n );\n\n const nodeOnly = resolveAutoDiscoverMatcher(\n options.autoDiscover?.nodeOnly,\n DEFAULT_CONFIG.AUTO_DISCOVER.nodeOnly\n );\n\n const propsPattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.propsPattern,\n options.autoDiscover?.moduleExtension\n ? (id: string) =>\n moduleExtension(id.toLowerCase()) &&\n /(\\.|\\/)?props(\\.|\\/)/.test(id.toLowerCase())\n : DEFAULT_CONFIG.AUTO_DISCOVER.propsPattern\n );\n\n const pagePattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.pagePattern,\n options.autoDiscover?.moduleExtension\n ? (id: string) =>\n moduleExtension(id.toLowerCase()) &&\n /(\\.|\\/)?page(\\.|\\/)/.test(id.toLowerCase())\n : DEFAULT_CONFIG.AUTO_DISCOVER.pagePattern\n );\n\n const cssModulePattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.cssModulePattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.cssModulePattern\n );\n\n const vendorPattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.vendorPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.vendorPattern\n );\n\n const virtualPattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.virtualPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.virtualPattern\n );\n\n const dotFiles = resolveAutoDiscoverMatcher(\n options.autoDiscover?.dotFiles,\n DEFAULT_CONFIG.AUTO_DISCOVER.dotFiles\n );\n\n const isServerFunctionCode = resolveAutoDiscoverMatcher(\n options.autoDiscover?.isServerFunction,\n options.autoDiscover?.serverDirective\n ? (code: string, moduleId?: string) =>\n code.match(options.autoDiscover?.serverDirective!) != null ||\n (moduleId && serverFunctions(moduleId)) ||\n false\n : (code: string, moduleId?: string) =>\n code.match(DEFAULT_CONFIG.AUTO_DISCOVER.serverDirective) != null ||\n (moduleId && serverFunctions(moduleId)) ||\n false\n );\n\n const isClientComponentCode = resolveAutoDiscoverMatcher(\n options.autoDiscover?.isClientComponent,\n options.autoDiscover?.clientDirective\n ? (code: string) =>\n code.match(options.autoDiscover?.clientDirective!) != null\n : DEFAULT_CONFIG.AUTO_DISCOVER.clientDirective\n );\n\n const hashOption =\n typeof options.build?.hash === \"string\"\n ? options.build.hash\n : DEFAULT_CONFIG.BUILD.hash;\n\n const hashString = hashOption === \"\" ? \"\" : `-[${hashOption}]`;\n // const addModuleExtension = (path: string) => {\n // const isAsset =\n // autoDiscover.cssPattern(path) || autoDiscover.jsonPattern(path);\n // if (isAsset) {\n // return path;\n // }\n // return addExtension(path);\n // };\n\n // File naming and hashing\n const hash = (n: string | null, ssr: boolean) => {\n if (!n) return \"\";\n if (ssr) return n;\n if (hashString === \"\" || autoDiscover.nodeOnly(n)) {\n return n;\n }\n const extensionIndex = n.lastIndexOf(\".\");\n if (extensionIndex !== -1) {\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 const jsExtension = options.autoDiscover?.jsExtension ?? \".js\";\n const cssExtension = options.autoDiscover?.cssExtension ?? \".css\";\n const htmlExtension = options.autoDiscover?.htmlExtension ?? \".html\";\n const jsonExtension = options.autoDiscover?.jsonExtension ?? \".json\";\n const rscExtension = options.autoDiscover?.rscExtension ?? \".rsc\";\n\n // Output path resolution\n const getOutputPath = (n: string | null) => {\n if (!n) return \"\";\n let path = handleSearchQuery(n);\n path = path.startsWith(moduleBase + moduleBasePath)\n ? path.slice(moduleBase.length + moduleBasePath.length)\n : path;\n\n if (vendorPattern(path))\n return registerPath(\n path,\n options.autoDiscover?.vendorPattern,\n jsExtension\n );\n if (cssModulePattern(path))\n return registerPath(\n path,\n options.autoDiscover?.cssModulePattern,\n cssExtension + jsExtension\n );\n if (cssPattern(path))\n return registerPath(path, options.autoDiscover?.cssPattern, cssExtension);\n if (clientComponents(path))\n return registerPath(\n path,\n options.autoDiscover?.clientComponents,\n jsExtension\n );\n if (testHtml(path))\n return registerPath(\n path,\n options.autoDiscover?.htmlPattern,\n htmlExtension\n );\n if (jsonPattern(path))\n return registerPath(\n path,\n options.autoDiscover?.jsonPattern,\n jsonExtension\n );\n if (propsPattern(path))\n return registerPath(\n path,\n options.autoDiscover?.propsPattern,\n jsExtension\n );\n if (pagePattern(path))\n return registerPath(path, options.autoDiscover?.pagePattern, jsExtension);\n if (serverFunctions(path))\n return registerPath(\n path,\n options.autoDiscover?.serverFunctions,\n jsExtension\n );\n if (modulePattern(path))\n return registerPath(\n path,\n options.autoDiscover?.modulePattern,\n jsExtension\n );\n return registerPath(path, options.autoDiscover?.modulePattern, jsExtension);\n };\n\n const normalizer =\n options.normalizer ??\n createInputNormalizer({\n root: projectRoot,\n preserveModulesRoot: prodModuleBase,\n removeExtension: true,\n moduleBasePath,\n });\n // File naming functions\n const entryFile = (n: PreRenderedChunk, ssr: boolean) => {\n if (vendorPattern(n.name)) {\n const search = n.facadeModuleId?.split(\"?\")[1];\n if (search) {\n return hash(`${n.name}.${search}${jsExtension}`, ssr);\n } else {\n return hash(`${n.name}${jsExtension}`, ssr);\n }\n }\n return hash(getOutputPath(normalizer(n.name)[0]), ssr);\n };\n\n const chunkFile = (n: PreRenderedChunk, ssr: boolean) => {\n return hash(getOutputPath(normalizer(n.name)[0]), ssr);\n };\n\n const assetFile = (n: PreRenderedAsset, ssr: boolean) => {\n const firstName = n.names[0];\n const extIndex = firstName.lastIndexOf(\".\");\n const nameWithoutExtension = firstName.slice(0, extIndex);\n const extension = firstName.slice(extIndex);\n const assetName = normalizer(nameWithoutExtension)[0] + extension;\n return hash(getOutputPath(assetName), ssr);\n };\n const moduleID =\n typeof options.moduleID === \"function\"\n ? options.moduleID\n : (id: string) => {\n if (prodModuleBase && id.startsWith(prodModuleBase)) {\n id = id.slice(prodModuleBase.length);\n }\n if (!id.startsWith(moduleBasePath)) {\n id = join(moduleBasePath, id);\n }\n // in the case the moduleBase comes after the base path, remove it\n if (prodModuleBase && id.startsWith(\"/\" + prodModuleBase)) {\n id = id.slice(prodModuleBase.length + 1);\n }\n // these paths will generally start with a /, simply ensure they always do\n if (!id.startsWith(\"/\")) {\n id = \"/\" + id;\n }\n if (isProd) {\n // generally it will work if we just use the .js extension for modules\n return mapExtension(id);\n }\n // but for extra good development workflow, we keep the path intact\n // not even stripping the moduleBase or ts extensions\n return id;\n };\n\n const rscOutputPath =\n options.build?.rscOutputPath ?? DEFAULT_CONFIG.BUILD.rscOutputPath;\n const htmlOutputPath =\n options.build?.htmlOutputPath ?? DEFAULT_CONFIG.BUILD.htmlOutputPath;\n\n // Build configuration object\n const build = {\n pages,\n client,\n server,\n static: staticBuild,\n outDir,\n assetsDir,\n api,\n hash: hashOption,\n preserveModulesRoot,\n rscOutputPath,\n htmlOutputPath,\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 // Auto-discovery configuration\n const autoDiscover = {\n jsExtension: jsExtension,\n cssExtension: cssExtension,\n htmlExtension: htmlExtension,\n jsonExtension: jsonExtension,\n rscExtension: rscExtension,\n moduleExtension:\n options.autoDiscover?.moduleExtension ??\n DEFAULT_CONFIG.AUTO_DISCOVER.moduleExtension,\n serverDirective:\n options.autoDiscover?.serverDirective ??\n DEFAULT_CONFIG.AUTO_DISCOVER.serverDirective,\n clientDirective:\n options.autoDiscover?.clientDirective ??\n DEFAULT_CONFIG.AUTO_DISCOVER.clientDirective,\n modulePattern: modulePattern,\n cssPattern: cssPattern,\n jsonPattern: jsonPattern,\n clientComponents: clientComponents,\n serverFunctions: serverFunctions,\n nodeOnly: nodeOnly,\n propsPattern: propsPattern,\n pagePattern: pagePattern,\n cssModulePattern: cssModulePattern,\n vendorPattern: vendorPattern,\n dotFiles: dotFiles,\n virtualPattern: virtualPattern,\n htmlPattern: testHtml,\n rscPattern: testRsc,\n isServerFunctionCode: isServerFunctionCode,\n isClientComponentCode: isClientComponentCode,\n };\n const mapExtension = extMap(autoDiscover);\n const pipeableStreamOptions = options.pipeableStreamOptions\n ? options.pipeableStreamOptions\n : {};\n\n // Return resolved options\n try {\n return {\n type: \"success\",\n userOptions: {\n projectRoot,\n moduleBase,\n moduleBasePath,\n moduleBaseURL,\n moduleRootPath,\n publicOrigin,\n build: build,\n verbose: options.verbose ?? DEFAULT_CONFIG.VERBOSE,\n onMetrics: options.onMetrics ?? DEFAULT_CONFIG.ON_METRICS,\n onEvent: options.onEvent,\n Page: options.Page ?? undefined,\n props: options.props ?? undefined,\n Html: options.Html ?? DEFAULT_CONFIG.HTML,\n CssCollector: options.CssCollector ?? CssCollector,\n normalizer: normalizer,\n moduleID: moduleID,\n pageExportName: pageExportName,\n propsExportName: propsExportName,\n css: {\n inlineCss: options.css?.inlineCss ?? DEFAULT_CONFIG.CSS.inlineCss,\n inlineThreshold:\n options.css?.inlineThreshold ?? DEFAULT_CONFIG.CSS.inlineThreshold,\n inlinePatterns:\n options.css?.inlinePatterns ?? DEFAULT_CONFIG.CSS.inlinePatterns,\n linkPatterns:\n options.css?.linkPatterns ?? DEFAULT_CONFIG.CSS.linkPatterns,\n },\n htmlWorkerPath: htmlWorkerPath,\n rscWorkerPath: rscWorkerPath,\n loaderPath: loaderPath,\n clientEntry: options.clientEntry ?? DEFAULT_CONFIG.CLIENT_ENTRY,\n serverEntry: options.serverEntry ?? DEFAULT_CONFIG.SERVER_ENTRY,\n // moduleBaseExceptions: options.moduleBaseExceptions ?? [],\n autoDiscover: autoDiscover,\n pipeableStreamOptions,\n } as ResolvedUserOptions<T, InlineCSS>,\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,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,YAAY,EACb,MAAM,aAAa,CAAC;AAOrB,MAAM,MAAM,sBAAsB,CAChC,CAAC,SAAS,WAAW,GAAG,WAAW,EACnC,SAAS,SAAS,YAAY,GAAG,YAAY,IAC3C;IACF,SAAS,EAAE,cAAc,GAAG,cAAc,CAAC;IAC3C,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC/C,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,EAAE,QAAQ,GAAG,gBAAgB,CAAC,CAAC;CAC7E,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,CAC/B,CAAC,SAAS,WAAW,GAAG,WAAW,EACnC,SAAS,SAAS,YAAY,GAAG,YAAY,EAC7C,EACA,SAAS,EACT,MAAM,EACN,SAAS,EACT,WAAW,EACX,mBAAmB,GACpB,EAAE,sBAAsB,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,uBAAuB,CAqVhE"}
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,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,YAAY,EACb,MAAM,aAAa,CAAC;AAOrB,MAAM,MAAM,sBAAsB,CAChC,CAAC,SAAS,WAAW,GAAG,WAAW,EACnC,SAAS,SAAS,YAAY,GAAG,YAAY,IAC3C;IACF,SAAS,EAAE,cAAc,GAAG,cAAc,CAAC;IAC3C,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC/C,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,EAAE,QAAQ,GAAG,gBAAgB,CAAC,CAAC;CAC7E,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,CAC/B,CAAC,SAAS,WAAW,GAAG,WAAW,EACnC,SAAS,SAAS,YAAY,GAAG,YAAY,EAC7C,EACA,SAAS,EACT,MAAM,EACN,SAAS,EACT,WAAW,EACX,mBAAmB,GACpB,EAAE,sBAAsB,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,uBAAuB,CA6WhE"}
@@ -36,11 +36,8 @@ function resolveUserConfig({
36
36
  value = value.slice(userOptions.moduleBasePath.length);
37
37
  }
38
38
  const entry = autoDiscoveredFiles.staticManifest[value];
39
- console.log("entry", entry);
40
39
  if (entry?.name && info.type === "asset" && userOptions.autoDiscover.cssPattern(value)) {
41
- const found = entry.css?.find(
42
- (css) => css.startsWith(id)
43
- );
40
+ const found = entry.css?.find((css) => css.startsWith(id));
44
41
  if (found) {
45
42
  return found;
46
43
  } else {
@@ -55,15 +52,15 @@ function resolveUserConfig({
55
52
  const hasOtherOutput = Array.isArray(userDefinedOutput) && userDefinedOutput.length > 1;
56
53
  const hasValidOutput = userDefinedOutput && !hasOtherOutput;
57
54
  const hasObjectOutput = userDefinedOutput && !hasOtherOutput && typeof userDefinedOutput === "object" && userDefinedOutput !== null;
58
- const userDefinedAssetFileNames = hasObjectOutput ? "assetFileNames" in userDefinedOutput ? userDefinedOutput.assetFileNames : undefined : (
55
+ const userDefinedAssetFileNames = hasObjectOutput ? "assetFileNames" in userDefinedOutput ? userDefinedOutput.assetFileNames : void 0 : (
59
56
  // find the other asset file names
60
- hasOtherOutput ? userDefinedOutput.find((o) => o.assetFileNames).assetFileNames : undefined
57
+ hasOtherOutput ? userDefinedOutput.find((o) => o.assetFileNames).assetFileNames : void 0
61
58
  );
62
- const userDefinedChunkFileNames = hasValidOutput ? "chunkFileNames" in userDefinedOutput ? userDefinedOutput.chunkFileNames : undefined : undefined;
63
- const userDefinedEntryFileNames = hasValidOutput ? "entryFileNames" in userDefinedOutput ? userDefinedOutput.entryFileNames : undefined : undefined;
59
+ const userDefinedChunkFileNames = hasValidOutput ? "chunkFileNames" in userDefinedOutput ? userDefinedOutput.chunkFileNames : void 0 : void 0;
60
+ const userDefinedEntryFileNames = hasValidOutput ? "entryFileNames" in userDefinedOutput ? userDefinedOutput.entryFileNames : void 0 : void 0;
64
61
  let stashedReturns = {};
65
62
  const pluginOutput = {
66
- preserveModulesRoot: userOptions.build.preserveModulesRoot ? userOptions.moduleBase : undefined,
63
+ preserveModulesRoot: userOptions.build.preserveModulesRoot ? userOptions.moduleBase : void 0,
67
64
  entryFileNames: userDefinedEntryFileNames ?? ((info) => {
68
65
  const input = info.facadeModuleId ?? info.name + userOptions.autoDiscover.moduleExtension;
69
66
  const inputId = input + (ssr ? "-ssr" : "");
@@ -79,9 +76,9 @@ function resolveUserConfig({
79
76
  }
80
77
  stashedReturns[inputId] = r;
81
78
  }
82
- return stashedReturns[inputId];
79
+ return stashedReturns[inputId].slice(Number(stashedReturns[inputId].startsWith("/")));
83
80
  }),
84
- assetFileNames: process.env["VITEST"] ? undefined : userDefinedAssetFileNames ?? ((i) => {
81
+ assetFileNames: process.env["VITEST"] ? void 0 : userDefinedAssetFileNames ?? ((i) => {
85
82
  const input = i.originalFileNames[0];
86
83
  const inputId = input + (ssr ? "-ssr" : "");
87
84
  if (!stashedReturns[inputId]) {
@@ -91,7 +88,7 @@ function resolveUserConfig({
91
88
  }
92
89
  stashedReturns[inputId] = r;
93
90
  }
94
- return stashedReturns[inputId];
91
+ return stashedReturns[inputId].slice(Number(stashedReturns[inputId].startsWith("/")));
95
92
  }),
96
93
  chunkFileNames: userDefinedChunkFileNames ?? ((info) => {
97
94
  const input = info.facadeModuleId ?? info.name + userOptions.autoDiscover.moduleExtension;
@@ -108,14 +105,14 @@ function resolveUserConfig({
108
105
  }
109
106
  stashedReturns[inputId] = r;
110
107
  }
111
- return stashedReturns[inputId];
108
+ return stashedReturns[inputId].slice(Number(stashedReturns[inputId].startsWith("/")));
112
109
  }),
113
110
  format: "esm",
114
111
  exports: "named"
115
112
  };
116
113
  let 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;
117
114
  const vitePrefix = config.envPrefix ?? DEFAULT_CONFIG.ENV_PREFIX;
118
- const mode = config.mode ?? process.env["VITE_MODE"];
115
+ const mode = config.mode ?? process.env[`${vitePrefix}MODE`] ?? process.env["NODE_ENV"] ?? "production";
119
116
  const minify = config.build?.minify;
120
117
  const srrConfig = {
121
118
  ...config.ssr,
@@ -135,11 +132,18 @@ function resolveUserConfig({
135
132
  ]
136
133
  }
137
134
  };
138
- let publicOrigin = userOptions.publicOrigin ?? process.env.VITE_PUBLIC_ORIGIN ?? "";
135
+ let publicOrigin = userOptions.publicOrigin ?? process.env[`${vitePrefix}PUBLIC_ORIGIN`] ?? "";
139
136
  let PROD = mode === "production";
140
137
  let DEV = mode === "development";
138
+ let port = typeof config.server?.port === "number" ? config.server?.port : 5173;
139
+ let strictPort = config.server?.strictPort ?? true;
140
+ let host = typeof config.server?.host === "string" ? config.server?.host : "localhost";
141
141
  if (configEnv.command === "serve" && !configEnv.isPreview) {
142
- publicOrigin = `http${config.server?.https ? "s" : ""}://${typeof config.server?.host === "string" ? config.server?.host : "localhost"}:${typeof config.server?.port === "number" ? config.server?.port : 5173}`;
142
+ if (strictPort) {
143
+ publicOrigin = `http${config.server?.https ? "s" : ""}://${host}:${port}`;
144
+ } else {
145
+ publicOrigin = "";
146
+ }
143
147
  }
144
148
  const ssrDefine = ssr ? {
145
149
  [`process.env.${vitePrefix}SSR`]: `${ssr}`,
@@ -154,11 +158,11 @@ function resolveUserConfig({
154
158
  [`import.meta.env.PUBLIC_ORIGIN`]: `"${publicOrigin}"`,
155
159
  ...ssrDefine
156
160
  };
157
- if (process.env.VITE_BASE_URL !== userOptions.moduleBaseURL) {
158
- process.env.VITE_BASE_URL = userOptions.moduleBaseURL;
161
+ if (process.env[`${vitePrefix}BASE_URL`] !== userOptions.moduleBaseURL) {
162
+ process.env[`${vitePrefix}BASE_URL`] = userOptions.moduleBaseURL;
159
163
  }
160
- if (process.env.VITE_PUBLIC_ORIGIN !== publicOrigin) {
161
- process.env.VITE_PUBLIC_ORIGIN = publicOrigin;
164
+ if (process.env[`${vitePrefix}PUBLIC_ORIGIN`] !== publicOrigin) {
165
+ process.env[`${vitePrefix}PUBLIC_ORIGIN`] = publicOrigin;
162
166
  }
163
167
  if (condition === "react-client") {
164
168
  const clientConfig = {
@@ -177,6 +181,15 @@ function resolveUserConfig({
177
181
  },
178
182
  define,
179
183
  ssr: srrConfig,
184
+ server: {
185
+ ...config.server,
186
+ // common default for stricter server operations
187
+ // and ensures tests that use a server will fail early
188
+ // also, we can't set the public origin without a port
189
+ port,
190
+ strictPort,
191
+ host
192
+ },
180
193
  // client build options
181
194
  build: {
182
195
  ...config.build,
@@ -190,9 +203,12 @@ function resolveUserConfig({
190
203
  minify,
191
204
  rollupOptions: {
192
205
  ...config.build?.rollupOptions,
193
- input: {
194
- ...autoDiscoveredFiles.inputs
195
- },
206
+ input: Object.fromEntries(
207
+ Object.entries(autoDiscoveredFiles.inputs).map(([key, value]) => [
208
+ key,
209
+ value.slice(Number(value.startsWith("/")))
210
+ ])
211
+ ),
196
212
  output: newOutput,
197
213
  preserveEntrySignatures: config.build?.rollupOptions?.preserveEntrySignatures ?? "exports-only"
198
214
  },