@umijs/bundler-webpack 4.0.0-beta.8 → 4.0.0-canary-20240513.3

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 (297) hide show
  1. package/client/client/client.js +255 -167
  2. package/client/constants.d.ts +15 -0
  3. package/client/constants.js +30 -12
  4. package/client/utils/formatWebpackMessages.d.ts +12 -0
  5. package/client/utils/formatWebpackMessages.js +87 -86
  6. package/compiled/autoprefixer/browserslist/index.d.ts +33 -7
  7. package/compiled/autoprefixer/index.js +3 -3
  8. package/compiled/autoprefixer/package.json +1 -1
  9. package/compiled/autoprefixer/postcss/lib/at-rule.d.ts +1 -1
  10. package/compiled/autoprefixer/postcss/lib/comment.d.ts +1 -1
  11. package/compiled/autoprefixer/postcss/lib/container.d.ts +2 -2
  12. package/compiled/autoprefixer/postcss/lib/css-syntax-error.d.ts +55 -8
  13. package/compiled/autoprefixer/postcss/lib/declaration.d.ts +2 -2
  14. package/compiled/autoprefixer/postcss/lib/input.d.ts +26 -6
  15. package/compiled/autoprefixer/postcss/lib/lazy-result.d.ts +11 -10
  16. package/compiled/autoprefixer/postcss/lib/no-work-result.d.ts +37 -0
  17. package/compiled/autoprefixer/postcss/lib/node.d.ts +38 -4
  18. package/compiled/autoprefixer/postcss/lib/postcss.d.ts +31 -30
  19. package/compiled/autoprefixer/postcss/lib/processor.d.ts +6 -5
  20. package/compiled/autoprefixer/postcss/lib/result.d.ts +3 -2
  21. package/compiled/autoprefixer/postcss/lib/rule.d.ts +1 -1
  22. package/compiled/autoprefixer/postcss/lib/warning.d.ts +37 -3
  23. package/compiled/autoprefixer/source-map-js/source-map.d.ts +99 -82
  24. package/compiled/babel-loader/index.js +8 -2
  25. package/compiled/babel-loader/package.json +1 -1
  26. package/compiled/copy-webpack-plugin/939.index.js +1171 -0
  27. package/compiled/copy-webpack-plugin/index.js +16 -10
  28. package/compiled/copy-webpack-plugin/package.json +1 -1
  29. package/compiled/css-minimizer-webpack-plugin/index.js +8 -2
  30. package/compiled/css-minimizer-webpack-plugin/minify.js +23 -22
  31. package/compiled/css-minimizer-webpack-plugin/package.json +1 -1
  32. package/compiled/css-minimizer-webpack-plugin/utils.js +305 -54
  33. package/compiled/cssnano/index.js +12 -11
  34. package/compiled/cssnano/package.json +1 -1
  35. package/compiled/express.d.ts +2 -0
  36. package/compiled/file-loader/index.js +3 -0
  37. package/compiled/file-loader/package.json +1 -0
  38. package/compiled/less-loader/index.js +1 -1
  39. package/compiled/less-loader/package.json +1 -1
  40. package/compiled/mini-css-extract-plugin/hmr/hotModuleReplacement.js +60 -46
  41. package/compiled/mini-css-extract-plugin/hmr/normalize-url.js +10 -6
  42. package/compiled/mini-css-extract-plugin/index.js +10669 -10348
  43. package/compiled/mini-css-extract-plugin/loader.js +159 -100
  44. package/compiled/mini-css-extract-plugin/package.json +1 -1
  45. package/compiled/mini-css-extract-plugin/utils.js +88 -44
  46. package/compiled/postcss-loader/index.js +1 -1
  47. package/compiled/postcss-loader/package.json +1 -1
  48. package/compiled/sass-loader/index.js +1 -1
  49. package/compiled/sass-loader/package.json +1 -1
  50. package/compiled/sass-loader/sass.default.dart.js +4 -0
  51. package/compiled/schema-utils/ajv/dist/ajv.d.ts +16 -0
  52. package/compiled/schema-utils/ajv/dist/compile/codegen/code.d.ts +39 -0
  53. package/compiled/schema-utils/ajv/dist/compile/codegen/index.d.ts +79 -0
  54. package/compiled/schema-utils/ajv/dist/compile/codegen/scope.d.ts +79 -0
  55. package/compiled/schema-utils/ajv/dist/compile/errors.d.ts +13 -0
  56. package/compiled/schema-utils/ajv/dist/compile/index.d.ts +80 -0
  57. package/compiled/schema-utils/ajv/dist/compile/ref_error.d.ts +5 -0
  58. package/compiled/schema-utils/ajv/dist/compile/resolve.d.ts +12 -0
  59. package/compiled/schema-utils/ajv/dist/compile/rules.d.ts +28 -0
  60. package/compiled/schema-utils/ajv/dist/compile/util.d.ts +40 -0
  61. package/compiled/schema-utils/ajv/dist/compile/validate/index.d.ts +42 -0
  62. package/compiled/schema-utils/ajv/dist/compile/validate/subschema.d.ts +47 -0
  63. package/compiled/schema-utils/ajv/dist/core.d.ts +171 -0
  64. package/compiled/schema-utils/ajv/dist/runtime/validation_error.d.ts +7 -0
  65. package/compiled/schema-utils/ajv/dist/types/index.d.ts +177 -0
  66. package/compiled/schema-utils/ajv/dist/types/json-schema.d.ts +124 -0
  67. package/compiled/schema-utils/ajv/dist/types/jtd-schema.d.ts +168 -0
  68. package/compiled/schema-utils/declarations/validate.d.ts +4 -4
  69. package/compiled/schema-utils/index.js +8 -2
  70. package/compiled/schema-utils/uri-js/dist/es5/uri.all.d.ts +59 -0
  71. package/compiled/style-loader/index.js +1 -1
  72. package/compiled/stylus-loader/LICENSE +20 -0
  73. package/compiled/stylus-loader/index.js +44 -0
  74. package/compiled/stylus-loader/package.json +1 -0
  75. package/compiled/terser/@jridgewell/gen-mapping/dist/types/gen-mapping.d.ts +90 -0
  76. package/compiled/terser/@jridgewell/gen-mapping/dist/types/sourcemap-segment.d.ts +12 -0
  77. package/compiled/terser/@jridgewell/gen-mapping/dist/types/types.d.ts +35 -0
  78. package/compiled/terser/@jridgewell/source-map/dist/types/source-map.d.ts +25 -0
  79. package/compiled/terser/@jridgewell/trace-mapping/dist/types/sourcemap-segment.d.ts +16 -0
  80. package/compiled/terser/@jridgewell/trace-mapping/dist/types/trace-mapping.d.ts +74 -0
  81. package/compiled/terser/@jridgewell/trace-mapping/dist/types/types.d.ts +92 -0
  82. package/compiled/terser/index.js +1 -1
  83. package/compiled/terser/package.json +1 -1
  84. package/compiled/terser/tools/terser.d.ts +6 -3
  85. package/compiled/terser-webpack-plugin/@jridgewell/trace-mapping/dist/types/sourcemap-segment.d.ts +16 -0
  86. package/compiled/terser-webpack-plugin/@jridgewell/trace-mapping/dist/types/trace-mapping.d.ts +74 -0
  87. package/compiled/terser-webpack-plugin/@jridgewell/trace-mapping/dist/types/types.d.ts +92 -0
  88. package/compiled/terser-webpack-plugin/index.js +1390 -3693
  89. package/compiled/terser-webpack-plugin/jest-worker/build/types.d.ts +1 -0
  90. package/compiled/terser-webpack-plugin/minify.js +10 -3
  91. package/compiled/terser-webpack-plugin/package.json +1 -1
  92. package/compiled/terser-webpack-plugin/types/index.d.ts +186 -152
  93. package/compiled/terser-webpack-plugin/types/minify.d.ts +17 -0
  94. package/compiled/terser-webpack-plugin/types/utils.d.ts +20 -24
  95. package/compiled/terser-webpack-plugin/utils.js +153 -34
  96. package/compiled/webpack/BasicEffectRulePlugin.js +1 -0
  97. package/compiled/webpack/BasicEvaluatedExpression.js +1 -0
  98. package/compiled/webpack/BasicMatcherRulePlugin.js +1 -0
  99. package/compiled/webpack/ExternalsPlugin.js +1 -0
  100. package/compiled/webpack/FetchCompileAsyncWasmPlugin.js +1 -0
  101. package/compiled/webpack/FetchCompileWasmPlugin.js +1 -0
  102. package/compiled/webpack/HotModuleReplacement.runtime.js +29 -14
  103. package/compiled/webpack/JavascriptHotModuleReplacement.runtime.js +4 -3
  104. package/compiled/webpack/LimitChunkCountPlugin.js +1 -0
  105. package/compiled/webpack/NodeTargetPlugin.js +1 -0
  106. package/compiled/webpack/NodeTemplatePlugin.js +1 -0
  107. package/compiled/webpack/ObjectMatcherRulePlugin.js +1 -0
  108. package/compiled/webpack/RuleSetCompiler.js +1 -0
  109. package/compiled/webpack/StringXor.js +1 -0
  110. package/compiled/webpack/UseEffectRulePlugin.js +1 -0
  111. package/compiled/webpack/WebWorkerTemplatePlugin.js +1 -0
  112. package/compiled/webpack/deepImports.json +15 -1
  113. package/compiled/webpack/index.js +26404 -10329
  114. package/compiled/webpack/json-schema/index.d.ts +8 -1
  115. package/compiled/webpack/lazy-compilation-node.js +10 -0
  116. package/compiled/webpack/lazy-compilation-web.js +9 -0
  117. package/compiled/webpack/types.d.ts +823 -287
  118. package/compiled/webpack-5-chain/index.js +1 -1
  119. package/compiled/webpack-5-chain/package.json +1 -1
  120. package/compiled/webpack-5-chain/types/index.d.ts +76 -20
  121. package/compiled/webpack-bundle-analyzer/index.js +7 -6
  122. package/compiled/webpack-bundle-analyzer/package.json +1 -1
  123. package/compiled/webpack-bundle-analyzer/public/viewer.js +2 -2
  124. package/compiled/webpack-bundle-analyzer/public/viewer.js.map +1 -1
  125. package/compiled/webpack-dev-middleware/index.js +12 -5
  126. package/compiled/webpack-dev-middleware/package.json +1 -1
  127. package/compiled/{tapable → webpack-manifest-plugin}/LICENSE +2 -2
  128. package/compiled/webpack-manifest-plugin/index.js +1 -0
  129. package/compiled/webpack-manifest-plugin/package.json +1 -0
  130. package/compiled/webpack-sources/index.js +1 -1
  131. package/compiled/{express → webpackbar}/LICENSE +1 -5
  132. package/compiled/webpackbar/dist/index.d.ts +121 -0
  133. package/compiled/webpackbar/index.js +7 -0
  134. package/compiled/webpackbar/package.json +1 -0
  135. package/compiled/ws/LICENSE +13 -12
  136. package/compiled/ws/index.d.ts +74 -35
  137. package/compiled/ws/index.js +1 -1
  138. package/compiled/ws/package.json +1 -1
  139. package/dist/build.d.ts +8 -3
  140. package/dist/build.js +147 -68
  141. package/dist/cli.d.ts +0 -1
  142. package/dist/cli.js +84 -81
  143. package/dist/config/_sampleFeature.js +33 -20
  144. package/dist/config/assetRules.js +46 -55
  145. package/dist/config/bundleAnalyzerPlugin.js +41 -28
  146. package/dist/config/compressPlugin.js +125 -74
  147. package/dist/config/config.d.ts +11 -2
  148. package/dist/config/config.js +235 -172
  149. package/dist/config/copyPlugin.js +61 -47
  150. package/dist/config/cssRules.js +162 -95
  151. package/dist/config/definePlugin.d.ts +2 -0
  152. package/dist/config/definePlugin.js +59 -39
  153. package/dist/config/detectCssModulesInDependence.d.ts +10 -0
  154. package/dist/config/detectCssModulesInDependence.js +151 -0
  155. package/dist/config/detectDeadCode.d.ts +12 -0
  156. package/dist/config/detectDeadCode.js +191 -0
  157. package/dist/config/detectDeadCodePlugin.d.ts +9 -0
  158. package/dist/config/detectDeadCodePlugin.js +82 -0
  159. package/dist/config/fastRefreshPlugin.js +46 -31
  160. package/dist/config/forkTSCheckerPlugin.d.ts +11 -0
  161. package/dist/config/forkTSCheckerPlugin.js +49 -0
  162. package/dist/config/harmonyLinkingErrorPlugin.d.ts +6 -0
  163. package/dist/config/harmonyLinkingErrorPlugin.js +53 -0
  164. package/dist/config/ignorePlugin.js +38 -25
  165. package/dist/config/javaScriptRules.d.ts +2 -0
  166. package/dist/config/javaScriptRules.js +186 -150
  167. package/dist/config/manifestPlugin.d.ts +11 -0
  168. package/dist/config/manifestPlugin.js +40 -0
  169. package/dist/config/miniCSSExtractPlugin.d.ts +1 -0
  170. package/dist/config/miniCSSExtractPlugin.js +52 -31
  171. package/dist/config/nodePolyfill.js +49 -32
  172. package/dist/config/nodePrefixPlugin.d.ts +11 -0
  173. package/dist/config/nodePrefixPlugin.js +38 -0
  174. package/dist/config/progressPlugin.js +50 -24
  175. package/dist/config/purgecssWebpackPlugin.js +41 -30
  176. package/dist/config/speedMeasureWebpackPlugin.js +56 -31
  177. package/dist/config/ssrPlugin.d.ts +11 -0
  178. package/dist/config/ssrPlugin.js +98 -0
  179. package/dist/config/svgRules.d.ts +1 -0
  180. package/dist/config/svgRules.js +68 -54
  181. package/dist/constants.d.ts +4 -0
  182. package/dist/constants.js +59 -15
  183. package/dist/dev.d.ts +23 -3
  184. package/dist/dev.js +198 -81
  185. package/dist/index.d.ts +6 -2
  186. package/dist/index.js +31 -15
  187. package/dist/loader/svgr.d.ts +4 -0
  188. package/dist/loader/svgr.js +84 -0
  189. package/dist/loader/swc.d.ts +4 -0
  190. package/dist/loader/swc.js +149 -0
  191. package/dist/parcelCSS.d.ts +2 -0
  192. package/dist/parcelCSS.js +39 -0
  193. package/dist/plugins/EsbuildMinifyFix.d.ts +8 -0
  194. package/dist/plugins/EsbuildMinifyFix.js +136 -0
  195. package/dist/plugins/ProgressPlugin.js +68 -43
  196. package/dist/plugins/RuntimePublicPathPlugin.d.ts +4 -0
  197. package/dist/plugins/RuntimePublicPathPlugin.js +45 -0
  198. package/dist/plugins/_SamplePlugin.d.ts +1 -1
  199. package/dist/plugins/_SamplePlugin.js +37 -14
  200. package/dist/requireHook.js +44 -27
  201. package/dist/schema.d.ts +4 -3
  202. package/dist/schema.js +175 -69
  203. package/dist/server/server.d.ts +4 -3
  204. package/dist/server/server.js +219 -154
  205. package/dist/server/ws.d.ts +8 -3
  206. package/dist/server/ws.js +72 -38
  207. package/dist/swcPlugins/autoCSSModules.d.ts +11 -2
  208. package/dist/swcPlugins/autoCSSModules.js +60 -32
  209. package/dist/swcPlugins/changeImportFromString.d.ts +2 -0
  210. package/dist/swcPlugins/changeImportFromString.js +32 -0
  211. package/dist/swcPlugins/lockCoreJS.d.ts +6 -0
  212. package/dist/swcPlugins/lockCoreJS.js +56 -0
  213. package/dist/types.d.ts +53 -9
  214. package/dist/types.js +61 -29
  215. package/dist/utils/browsersList.js +31 -8
  216. package/dist/utils/depMatch.js +65 -39
  217. package/dist/utils/formatWebpackMessages.js +119 -91
  218. package/dist/utils/getEsBuildTarget.d.ts +7 -0
  219. package/dist/utils/getEsBuildTarget.js +46 -0
  220. package/dist/utils/pkgUpContainsName.d.ts +1 -0
  221. package/dist/utils/pkgUpContainsName.js +50 -0
  222. package/package.json +89 -81
  223. package/compiled/@svgr/webpack/.svgo.yml +0 -75
  224. package/compiled/@svgr/webpack/LICENSE +0 -7
  225. package/compiled/@svgr/webpack/index.js +0 -343
  226. package/compiled/@svgr/webpack/package.json +0 -1
  227. package/compiled/css-loader/api.js +0 -102
  228. package/compiled/css-loader/getUrl.js +0 -29
  229. package/compiled/css-loader/index.js +0 -2
  230. package/compiled/css-loader/noSourceMaps.js +0 -5
  231. package/compiled/css-loader/package.json +0 -1
  232. package/compiled/css-loader/sourceMaps.js +0 -22
  233. package/compiled/express/body-parser/index.d.ts +0 -104
  234. package/compiled/express/connect/index.d.ts +0 -93
  235. package/compiled/express/express-serve-static-core/index.d.ts +0 -1252
  236. package/compiled/express/index.d.ts +0 -133
  237. package/compiled/express/index.js +0 -338
  238. package/compiled/express/mime/index.d.ts +0 -35
  239. package/compiled/express/package.json +0 -1
  240. package/compiled/express/qs/index.d.ts +0 -62
  241. package/compiled/express/range-parser/index.d.ts +0 -35
  242. package/compiled/express/serve-static/index.d.ts +0 -108
  243. package/compiled/http-proxy-middleware/LICENSE +0 -22
  244. package/compiled/http-proxy-middleware/dist/index.d.ts +0 -4
  245. package/compiled/http-proxy-middleware/dist/types.d.ts +0 -54
  246. package/compiled/http-proxy-middleware/http-proxy/index.d.ts +0 -226
  247. package/compiled/http-proxy-middleware/index.js +0 -66
  248. package/compiled/http-proxy-middleware/package.json +0 -1
  249. package/compiled/less/index.js +0 -31
  250. package/compiled/less/package.json +0 -1
  251. package/compiled/react-refresh/index.js +0 -19
  252. package/compiled/swc-loader/LICENSE +0 -25
  253. package/compiled/swc-loader/index.js +0 -1
  254. package/compiled/swc-loader/package.json +0 -1
  255. package/compiled/tapable/index.js +0 -1
  256. package/compiled/tapable/package.json +0 -1
  257. package/compiled/tapable/tapable.d.ts +0 -116
  258. package/dist/build.d.ts.map +0 -1
  259. package/dist/cli.d.ts.map +0 -1
  260. package/dist/client/client.d.ts.map +0 -1
  261. package/dist/client/client.js +0 -239
  262. package/dist/config/_sampleFeature.d.ts.map +0 -1
  263. package/dist/config/assetRules.d.ts.map +0 -1
  264. package/dist/config/bundleAnalyzerPlugin.d.ts.map +0 -1
  265. package/dist/config/compressPlugin.d.ts.map +0 -1
  266. package/dist/config/config.d.ts.map +0 -1
  267. package/dist/config/copyPlugin.d.ts.map +0 -1
  268. package/dist/config/cssRules.d.ts.map +0 -1
  269. package/dist/config/definePlugin.d.ts.map +0 -1
  270. package/dist/config/fastRefreshPlugin.d.ts.map +0 -1
  271. package/dist/config/ignorePlugin.d.ts.map +0 -1
  272. package/dist/config/javaScriptRules.d.ts.map +0 -1
  273. package/dist/config/miniCSSExtractPlugin.d.ts.map +0 -1
  274. package/dist/config/nodePolyfill.d.ts.map +0 -1
  275. package/dist/config/progressPlugin.d.ts.map +0 -1
  276. package/dist/config/purgecssWebpackPlugin.d.ts.map +0 -1
  277. package/dist/config/speedMeasureWebpackPlugin.d.ts.map +0 -1
  278. package/dist/config/svgRules.d.ts.map +0 -1
  279. package/dist/constants.d.ts.map +0 -1
  280. package/dist/dev.d.ts.map +0 -1
  281. package/dist/index.d.ts.map +0 -1
  282. package/dist/plugins/ESBuildCSSMinifyPlugin.d.ts +0 -11
  283. package/dist/plugins/ESBuildCSSMinifyPlugin.d.ts.map +0 -1
  284. package/dist/plugins/ESBuildCSSMinifyPlugin.js +0 -65
  285. package/dist/plugins/ProgressPlugin.d.ts.map +0 -1
  286. package/dist/plugins/_SamplePlugin.d.ts.map +0 -1
  287. package/dist/requireHook.d.ts.map +0 -1
  288. package/dist/schema.d.ts.map +0 -1
  289. package/dist/server/server.d.ts.map +0 -1
  290. package/dist/server/ws.d.ts.map +0 -1
  291. package/dist/swcPlugins/autoCSSModules.d.ts.map +0 -1
  292. package/dist/types.d.ts.map +0 -1
  293. package/dist/utils/browsersList.d.ts.map +0 -1
  294. package/dist/utils/depMatch.d.ts.map +0 -1
  295. package/dist/utils/formatWebpackMessages.d.ts.map +0 -1
  296. /package/{dist → client}/client/client.d.ts +0 -0
  297. /package/compiled/{css-loader → file-loader}/LICENSE +0 -0
@@ -1,158 +1,223 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
10
  };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
13
18
  };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.createServer = void 0;
16
- const express_1 = __importDefault(require("@umijs/bundler-webpack/compiled/express"));
17
- const http_proxy_middleware_1 = require("@umijs/bundler-webpack/compiled/http-proxy-middleware");
18
- const webpack_1 = __importDefault(require("@umijs/bundler-webpack/compiled/webpack"));
19
- const utils_1 = require("@umijs/utils");
20
- const fs_1 = require("fs");
21
- const http_1 = __importDefault(require("http"));
22
- const path_1 = require("path");
23
- const constants_1 = require("../constants");
24
- const ws_1 = require("./ws");
25
- function createServer(opts) {
26
- return __awaiter(this, void 0, void 0, function* () {
27
- const { webpackConfig, userConfig } = opts;
28
- const { proxy } = userConfig;
29
- const app = (0, express_1.default)();
30
- // compression
31
- app.use(require('@umijs/bundler-webpack/compiled/compression')());
32
- // TODO: headers
33
- // before middlewares
34
- (opts.beforeMiddlewares || []).forEach((m) => app.use(m));
35
- // TODO: add to before middleware
36
- app.use((req, res, next) => {
37
- if (req.path === '/umi.js' && (0, fs_1.existsSync)((0, path_1.join)(opts.cwd, 'umi.js'))) {
38
- res.setHeader('Content-Type', 'application/javascript');
39
- res.send((0, fs_1.readFileSync)((0, path_1.join)(opts.cwd, 'umi.js'), 'utf-8'));
40
- }
41
- else {
42
- next();
43
- }
44
- });
45
- // webpack dev middleware
46
- const compiler = (0, webpack_1.default)(Array.isArray(webpackConfig) ? webpackConfig : [webpackConfig]);
47
- const webpackDevMiddleware = require('@umijs/bundler-webpack/compiled/webpack-dev-middleware');
48
- const compilerMiddleware = webpackDevMiddleware(compiler, {
49
- publicPath: '/',
50
- writeToDisk: userConfig.writeToDisk,
51
- stats: 'none',
52
- // watchOptions: { ignored }
53
- });
54
- app.use(compilerMiddleware);
55
- // hmr hooks
56
- let stats;
57
- let isFirstCompile = true;
58
- compiler.compilers.forEach(addHooks);
59
- function addHooks(compiler) {
60
- compiler.hooks.invalid.tap('server', () => {
61
- sendMessage(constants_1.MESSAGE_TYPE.invalid);
62
- });
63
- compiler.hooks.done.tap('server', (_stats) => {
64
- var _a;
65
- stats = _stats;
66
- sendStats(getStats(stats));
67
- (_a = opts.onDevCompileDone) === null || _a === void 0 ? void 0 : _a.call(opts, {
68
- stats,
69
- isFirstCompile,
70
- time: stats.endTime - stats.startTime,
71
- });
72
- isFirstCompile = false;
73
- });
74
- }
75
- function sendStats(stats, force, sender) {
76
- const shouldEmit = !force &&
77
- stats &&
78
- (!stats.errors || stats.errors.length === 0) &&
79
- (!stats.warnings || stats.warnings.length === 0) &&
80
- stats.assets &&
81
- stats.assets.every((asset) => !asset.emitted);
82
- if (shouldEmit) {
83
- sendMessage(constants_1.MESSAGE_TYPE.stillOk, null, sender);
84
- return;
85
- }
86
- sendMessage(constants_1.MESSAGE_TYPE.hash, stats.hash, sender);
87
- if ((stats.errors && stats.errors.length > 0) ||
88
- (stats.warnings && stats.warnings.length > 0)) {
89
- if (stats.warnings && stats.warnings.length > 0) {
90
- sendMessage(constants_1.MESSAGE_TYPE.warnings, stats.warnings, sender);
91
- }
92
- if (stats.errors && stats.errors.length > 0) {
93
- sendMessage(constants_1.MESSAGE_TYPE.errors, stats.errors, sender);
94
- }
95
- }
96
- else {
97
- sendMessage(constants_1.MESSAGE_TYPE.ok, null, sender);
98
- }
99
- }
100
- function getStats(stats) {
101
- return stats.toJson({
102
- all: false,
103
- hash: true,
104
- assets: true,
105
- warnings: true,
106
- errors: true,
107
- errorDetails: false,
108
- });
109
- }
110
- function sendMessage(type, data, sender) {
111
- (sender || ws).send(JSON.stringify({ type, data }));
112
- }
113
- // mock
114
- // proxy
115
- if (proxy) {
116
- Object.keys(proxy).forEach((key) => {
117
- app.use(key, (0, http_proxy_middleware_1.createProxyMiddleware)(proxy[key]));
118
- });
119
- }
120
- // after middlewares
121
- (opts.afterMiddlewares || []).forEach((m) => app.use(m));
122
- // history fallback
123
- app.use(require('@umijs/bundler-webpack/compiled/connect-history-api-fallback')({
124
- index: '/',
125
- }));
126
- // hmr reconnect ping
127
- app.use('/__umi_ping', (_, res) => {
128
- res.end('pong');
129
- });
130
- // index.html
131
- // TODO: remove me
132
- app.get('/', (_req, res, next) => {
133
- res.set('Content-Type', 'text/html');
134
- const htmlPath = (0, path_1.join)(opts.cwd, 'index.html');
135
- if ((0, fs_1.existsSync)(htmlPath)) {
136
- const html = (0, fs_1.readFileSync)(htmlPath, 'utf-8');
137
- res.send(html);
138
- }
139
- else {
140
- next();
141
- }
142
- });
143
- const server = http_1.default.createServer(app);
144
- const ws = (0, ws_1.createWebSocketServer)(server);
145
- ws.wss.on('connection', (socket) => {
146
- if (stats) {
147
- sendStats(getStats(stats), false, socket);
148
- }
149
- });
150
- const port = opts.port || 8000;
151
- server.listen(port, () => {
152
- const host = opts.host && opts.host !== '0.0.0.0' ? opts.host : '127.0.0.1';
153
- utils_1.logger.ready(`App listening at http://${host}:${port}`);
154
- });
155
- return server;
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+
29
+ // src/server/server.ts
30
+ var server_exports = {};
31
+ __export(server_exports, {
32
+ createServer: () => createServer
33
+ });
34
+ module.exports = __toCommonJS(server_exports);
35
+ var import_bundler_utils = require("@umijs/bundler-utils");
36
+ var import_express = __toESM(require("@umijs/bundler-utils/compiled/express"));
37
+ var import_webpack = __toESM(require("@umijs/bundler-webpack/compiled/webpack"));
38
+ var import_utils = require("@umijs/utils");
39
+ var import_cors = __toESM(require("cors"));
40
+ var import_fs = require("fs");
41
+ var import_http = __toESM(require("http"));
42
+ var import_path = require("path");
43
+ var import_constants = require("../constants");
44
+ var import_ws = require("./ws");
45
+ async function createServer(opts) {
46
+ const { webpackConfig, userConfig } = opts;
47
+ const { proxy } = userConfig;
48
+ const app = (0, import_express.default)();
49
+ let ws;
50
+ app.use(
51
+ (0, import_cors.default)({
52
+ origin: true,
53
+ methods: ["GET", "HEAD", "PUT", "POST", "PATCH", "DELETE", "OPTIONS"],
54
+ credentials: true
55
+ })
56
+ );
57
+ if (process.env.UMI_DEV_SERVER_COMPRESS !== "none") {
58
+ app.use(require("@umijs/bundler-webpack/compiled/compression")());
59
+ }
60
+ app.use((req, res, next) => {
61
+ const file = req.path;
62
+ const filePath = (0, import_path.join)(opts.cwd, file);
63
+ const ext = (0, import_path.extname)(filePath);
64
+ if (ext === ".js" && (0, import_fs.existsSync)(filePath)) {
65
+ import_utils.logger.info(
66
+ "[dev]",
67
+ `${file} is responded with ${filePath}, remove it to use original file`
68
+ );
69
+ res.sendFile(filePath);
70
+ } else {
71
+ next();
72
+ }
73
+ });
74
+ if (opts.onBeforeMiddleware) {
75
+ opts.onBeforeMiddleware(app);
76
+ }
77
+ (opts.beforeMiddlewares || []).forEach((m) => app.use(m));
78
+ const configs = Array.isArray(webpackConfig) ? webpackConfig : [webpackConfig];
79
+ const progresses = [];
80
+ if (opts.onProgress) {
81
+ configs.forEach((config) => {
82
+ const progress = {
83
+ percent: 0,
84
+ status: "waiting",
85
+ details: []
86
+ };
87
+ progresses.push(progress);
88
+ config.plugins.push(
89
+ new import_webpack.default.ProgressPlugin((percent, msg, ...details) => {
90
+ progress.percent = percent;
91
+ progress.status = msg;
92
+ progress.details = details;
93
+ opts.onProgress({ progresses });
94
+ })
95
+ );
96
+ });
97
+ }
98
+ const compiler = (0, import_webpack.default)(configs);
99
+ const webpackDevMiddleware = require("@umijs/bundler-webpack/compiled/webpack-dev-middleware");
100
+ const compilerMiddleware = webpackDevMiddleware(compiler, {
101
+ publicPath: userConfig.publicPath || "/",
102
+ writeToDisk: userConfig.writeToDisk,
103
+ stats: "none"
104
+ // watchOptions: { ignored }
105
+ });
106
+ app.use(compilerMiddleware);
107
+ let stats;
108
+ let isFirstCompile = true;
109
+ compiler.compilers.forEach(addHooks);
110
+ function addHooks(compiler2) {
111
+ compiler2.hooks.invalid.tap("server", () => {
112
+ sendMessage(import_constants.MESSAGE_TYPE.invalid);
113
+ });
114
+ compiler2.hooks.done.tap("server", (_stats) => {
115
+ var _a;
116
+ stats = _stats;
117
+ sendStats(getStats(stats));
118
+ (_a = opts.onDevCompileDone) == null ? void 0 : _a.call(opts, {
119
+ stats,
120
+ isFirstCompile,
121
+ ws,
122
+ time: stats.endTime - stats.startTime
123
+ });
124
+ isFirstCompile = false;
125
+ });
126
+ }
127
+ function sendStats(stats2, force, sender) {
128
+ const shouldEmit = !force && stats2 && (!stats2.errors || stats2.errors.length === 0) && (!stats2.warnings || stats2.warnings.length === 0) && stats2.assets && stats2.assets.every((asset) => !asset.emitted);
129
+ if (shouldEmit) {
130
+ sendMessage(import_constants.MESSAGE_TYPE.stillOk, null, sender);
131
+ return;
132
+ }
133
+ sendMessage(import_constants.MESSAGE_TYPE.hash, stats2.hash, sender);
134
+ if (stats2.errors && stats2.errors.length > 0 || stats2.warnings && stats2.warnings.length > 0) {
135
+ if (stats2.warnings && stats2.warnings.length > 0) {
136
+ sendMessage(import_constants.MESSAGE_TYPE.warnings, stats2.warnings, sender);
137
+ }
138
+ if (stats2.errors && stats2.errors.length > 0) {
139
+ sendMessage(import_constants.MESSAGE_TYPE.errors, stats2.errors, sender);
140
+ }
141
+ } else {
142
+ sendMessage(import_constants.MESSAGE_TYPE.ok, null, sender);
143
+ }
144
+ }
145
+ function getStats(stats2) {
146
+ return stats2.toJson({
147
+ all: false,
148
+ hash: true,
149
+ assets: true,
150
+ warnings: true,
151
+ errors: true,
152
+ errorDetails: false
156
153
  });
154
+ }
155
+ function sendMessage(type, data, sender) {
156
+ var _a;
157
+ (_a = sender || ws) == null ? void 0 : _a.send(JSON.stringify({ type, data }));
158
+ }
159
+ if (proxy) {
160
+ (0, import_bundler_utils.createProxy)(proxy, app);
161
+ }
162
+ (opts.afterMiddlewares || []).forEach((m) => {
163
+ app.use(m.toString().includes(`{ compiler }`) ? m({ compiler }) : m);
164
+ });
165
+ app.use(
166
+ require("@umijs/bundler-webpack/compiled/connect-history-api-fallback")({
167
+ index: "/"
168
+ })
169
+ );
170
+ app.use("/__umi_ping", (_, res) => {
171
+ res.end("pong");
172
+ });
173
+ app.get("/", (_req, res, next) => {
174
+ res.set("Content-Type", "text/html");
175
+ const htmlPath = (0, import_path.join)(opts.cwd, "index.html");
176
+ if ((0, import_fs.existsSync)(htmlPath)) {
177
+ (0, import_fs.createReadStream)(htmlPath).on("error", next).pipe(res);
178
+ } else {
179
+ next();
180
+ }
181
+ });
182
+ let server;
183
+ if (userConfig.https) {
184
+ const httpsOpts = userConfig.https;
185
+ if (!httpsOpts.hosts) {
186
+ httpsOpts.hosts = import_utils.lodash.uniq(
187
+ [
188
+ ...httpsOpts.hosts || [],
189
+ // always add localhost, 127.0.0.1, ip and host
190
+ "127.0.0.1",
191
+ "localhost",
192
+ opts.ip,
193
+ opts.host !== "0.0.0.0" && opts.host
194
+ ].filter(Boolean)
195
+ );
196
+ }
197
+ server = await (0, import_bundler_utils.createHttpsServer)(app, httpsOpts);
198
+ } else {
199
+ server = import_http.default.createServer(app);
200
+ }
201
+ if (!server) {
202
+ return null;
203
+ }
204
+ ws = (0, import_ws.createWebSocketServer)(server);
205
+ ws.wss.on("connection", (socket) => {
206
+ if (stats) {
207
+ sendStats(getStats(stats), false, socket);
208
+ }
209
+ });
210
+ const protocol = userConfig.https ? "https:" : "http:";
211
+ const port = opts.port || 8e3;
212
+ server.listen(port, () => {
213
+ const banner = (0, import_utils.getDevBanner)(protocol, opts.host, port);
214
+ console.log(banner.before);
215
+ import_utils.logger.ready(banner.main);
216
+ console.log(banner.after);
217
+ });
218
+ return server;
157
219
  }
158
- exports.createServer = createServer;
220
+ // Annotate the CommonJS export names for ESM import in node:
221
+ 0 && (module.exports = {
222
+ createServer
223
+ });
@@ -1,8 +1,13 @@
1
1
  /// <reference types="node" />
2
- import { Server } from 'http';
2
+ /// <reference types="node" />
3
+ /// <reference types="node" />
4
+ import type { SpdyServer as Server } from '@umijs/bundler-utils';
5
+ import { Server as HttpServer } from 'http';
6
+ import { Http2Server } from 'http2';
7
+ import { Server as HttpsServer } from 'https';
3
8
  import WebSocket from '../../compiled/ws';
4
- export declare function createWebSocketServer(server: Server): {
9
+ export declare function createWebSocketServer(server: HttpServer | HttpsServer | Http2Server | Server): {
5
10
  send(message: string): void;
6
- wss: WebSocket.Server;
11
+ wss: WebSocket.Server<WebSocket.WebSocket>;
7
12
  close(): void;
8
13
  };
package/dist/server/ws.js CHANGED
@@ -1,42 +1,76 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
4
10
  };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.createWebSocketServer = void 0;
7
- const utils_1 = require("@umijs/utils");
8
- const ws_1 = __importDefault(require("../../compiled/ws"));
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+
29
+ // src/server/ws.ts
30
+ var ws_exports = {};
31
+ __export(ws_exports, {
32
+ createWebSocketServer: () => createWebSocketServer
33
+ });
34
+ module.exports = __toCommonJS(ws_exports);
35
+ var import_utils = require("@umijs/utils");
36
+ var import_ws = __toESM(require("../../compiled/ws"));
9
37
  function createWebSocketServer(server) {
10
- const wss = new ws_1.default.Server({
11
- noServer: true,
12
- });
13
- server.on('upgrade', (req, socket, head) => {
14
- if (req.headers['sec-websocket-protocol'] === 'webpack-hmr') {
15
- wss.handleUpgrade(req, socket, head, (ws) => {
16
- wss.emit('connection', ws, req);
17
- });
18
- }
19
- });
20
- wss.on('connection', (socket) => {
21
- socket.send(JSON.stringify({ type: 'connected' }));
22
- });
23
- wss.on('error', (e) => {
24
- if (e.code !== 'EADDRINUSE') {
25
- console.error(utils_1.chalk.red(`WebSocket server error:\n${e.stack || e.message}`));
38
+ const wss = new import_ws.default.Server({
39
+ noServer: true
40
+ });
41
+ server.on("upgrade", (req, socket, head) => {
42
+ if (req.headers["sec-websocket-protocol"] === "webpack-hmr") {
43
+ wss.handleUpgrade(req, socket, head, (ws) => {
44
+ wss.emit("connection", ws, req);
45
+ });
46
+ }
47
+ });
48
+ wss.on("connection", (socket) => {
49
+ socket.send(JSON.stringify({ type: "connected" }));
50
+ });
51
+ wss.on("error", (e) => {
52
+ if (e.code !== "EADDRINUSE") {
53
+ console.error(
54
+ import_utils.chalk.red(`WebSocket server error:
55
+ ${e.stack || e.message}`)
56
+ );
57
+ }
58
+ });
59
+ return {
60
+ send(message) {
61
+ wss.clients.forEach((client) => {
62
+ if (client.readyState === import_ws.default.OPEN) {
63
+ client.send(message);
26
64
  }
27
- });
28
- return {
29
- send(message) {
30
- wss.clients.forEach((client) => {
31
- if (client.readyState === ws_1.default.OPEN) {
32
- client.send(message);
33
- }
34
- });
35
- },
36
- wss,
37
- close() {
38
- wss.close();
39
- },
40
- };
65
+ });
66
+ },
67
+ wss,
68
+ close() {
69
+ wss.close();
70
+ }
71
+ };
41
72
  }
42
- exports.createWebSocketServer = createWebSocketServer;
73
+ // Annotate the CommonJS export names for ESM import in node:
74
+ 0 && (module.exports = {
75
+ createWebSocketServer
76
+ });
@@ -1,8 +1,17 @@
1
- import { ImportDeclaration, TsType, VariableDeclaration } from '@swc/core';
1
+ import type { ImportDeclaration, ModuleItem, TsType } from '@swc/core';
2
2
  import Visitor from '@swc/core/Visitor';
3
3
  declare class AutoCSSModule extends Visitor {
4
4
  visitTsType(expression: TsType): TsType;
5
+ /**
6
+ * call path:
7
+ * visitProgram -> visitModule -> visitModuleItems -> visitModuleItem -> visitImportDeclaration
8
+ * @see https://github.com/swc-project/swc/blob/main/node-swc/src/Visitor.ts#L189
9
+ */
10
+ visitModuleItem(n: ModuleItem): ImportDeclaration | import("@swc/core").ExportDeclaration | import("@swc/core").ExportNamedDeclaration | import("@swc/core").ExportDefaultDeclaration | import("@swc/core").ExportDefaultExpression | import("@swc/core").ExportAllDeclaration | import("@swc/core").TsImportEqualsDeclaration | import("@swc/core").TsExportAssignment | import("@swc/core").TsNamespaceExportDeclaration | import("@swc/core").BlockStatement | import("@swc/core").EmptyStatement | import("@swc/core").DebuggerStatement | import("@swc/core").WithStatement | import("@swc/core").ReturnStatement | import("@swc/core").LabeledStatement | import("@swc/core").BreakStatement | import("@swc/core").ContinueStatement | import("@swc/core").IfStatement | import("@swc/core").SwitchStatement | import("@swc/core").ThrowStatement | import("@swc/core").TryStatement | import("@swc/core").WhileStatement | import("@swc/core").DoWhileStatement | import("@swc/core").ForStatement | import("@swc/core").ForInStatement | import("@swc/core").ForOfStatement | import("@swc/core").ClassDeclaration | import("@swc/core").FunctionDeclaration | import("@swc/core").VariableDeclaration | import("@swc/core").TsInterfaceDeclaration | import("@swc/core").TsTypeAliasDeclaration | import("@swc/core").TsEnumDeclaration | import("@swc/core").TsModuleDeclaration | import("@swc/core").ExpressionStatement;
5
11
  visitImportDeclaration(expression: ImportDeclaration): ImportDeclaration;
6
- visitVariableDeclaration(expression: VariableDeclaration): VariableDeclaration;
7
12
  }
13
+ /**
14
+ * @deprecated Swc will not support js plugin in the future.
15
+ * See https://github.com/swc-project/website/commit/fde42ad5371c1a16ca9729fe17bcfd3489841ac1
16
+ */
8
17
  export default AutoCSSModule;
@@ -1,35 +1,63 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
4
10
  };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const Visitor_1 = __importDefault(require("@swc/core/Visitor"));
7
- const path_1 = require("path");
8
- const CSS_EXT_NAMES = ['.css', '.less', '.sass', '.scss', '.stylus', '.styl'];
9
- class AutoCSSModule extends Visitor_1.default {
10
- visitTsType(expression) {
11
- return expression;
12
- }
13
- visitImportDeclaration(expression) {
14
- const { specifiers, source } = expression;
15
- const { value } = source;
16
- if (specifiers.length && CSS_EXT_NAMES.includes((0, path_1.extname)(value))) {
17
- return Object.assign(Object.assign({}, expression), { source: Object.assign(Object.assign({}, source), { value: `${value}?modules` }) });
18
- }
19
- return expression;
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+
29
+ // src/swcPlugins/autoCSSModules.ts
30
+ var autoCSSModules_exports = {};
31
+ __export(autoCSSModules_exports, {
32
+ default: () => autoCSSModules_default
33
+ });
34
+ module.exports = __toCommonJS(autoCSSModules_exports);
35
+ var import_Visitor = __toESM(require("@swc/core/Visitor"));
36
+ var import_utils = require("@umijs/utils");
37
+ var import_changeImportFromString = require("./changeImportFromString");
38
+ var AutoCSSModule = class extends import_Visitor.default {
39
+ visitTsType(expression) {
40
+ return expression;
41
+ }
42
+ /**
43
+ * call path:
44
+ * visitProgram -> visitModule -> visitModuleItems -> visitModuleItem -> visitImportDeclaration
45
+ * @see https://github.com/swc-project/swc/blob/main/node-swc/src/Visitor.ts#L189
46
+ */
47
+ visitModuleItem(n) {
48
+ if (n.type === "ImportDeclaration") {
49
+ return this.visitImportDeclaration(n);
20
50
  }
21
- visitVariableDeclaration(expression) {
22
- const { declarations } = expression;
23
- if (declarations.length &&
24
- declarations[0].init &&
25
- declarations[0].init.type === 'AwaitExpression' &&
26
- declarations[0].init.argument.type === 'CallExpression' &&
27
- declarations[0].init.argument.arguments[0].expression.type ===
28
- 'StringLiteral' &&
29
- CSS_EXT_NAMES.includes((0, path_1.extname)(declarations[0].init.argument.arguments[0].expression.value))) {
30
- declarations[0].init.argument.arguments[0].expression.value = `${declarations[0].init.argument.arguments[0].expression.value}?modules`;
31
- }
32
- return expression;
51
+ return n;
52
+ }
53
+ visitImportDeclaration(expression) {
54
+ const { specifiers, source } = expression;
55
+ const { value } = source;
56
+ if (specifiers.length && (0, import_utils.isStyleFile)({ filename: value })) {
57
+ const newImportFrom = `${value}?modules`;
58
+ (0, import_changeImportFromString.changeImportFromString)(expression, newImportFrom);
33
59
  }
34
- }
35
- exports.default = AutoCSSModule;
60
+ return expression;
61
+ }
62
+ };
63
+ var autoCSSModules_default = AutoCSSModule;
@@ -0,0 +1,2 @@
1
+ import type { ImportDeclaration } from '@swc/core';
2
+ export declare const changeImportFromString: (e: ImportDeclaration, v: string) => void;