@rsbuild/core 1.2.9 → 1.2.11

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.
@@ -1,9 +1,9 @@
1
1
  (() => {
2
2
  var __webpack_modules__ = {
3
- 680: (module, __unused_webpack_exports, __nccwpck_require__) => {
3
+ 285: (module, __unused_webpack_exports, __nccwpck_require__) => {
4
4
  const url = __nccwpck_require__(16);
5
5
  const path = __nccwpck_require__(928);
6
- const launch = __nccwpck_require__(506);
6
+ const launch = __nccwpck_require__(83);
7
7
  module.exports = (specifiedEditor, srcRoot, onErrorCallback) => {
8
8
  if (typeof specifiedEditor === "function") {
9
9
  onErrorCallback = specifiedEditor;
@@ -32,7 +32,7 @@
32
32
  };
33
33
  };
34
34
  },
35
- 991: (module) => {
35
+ 406: (module) => {
36
36
  module.exports = {
37
37
  atom: "atom",
38
38
  Brackets: "brackets",
@@ -60,7 +60,7 @@
60
60
  "rider.sh": "rider",
61
61
  };
62
62
  },
63
- 748: (module) => {
63
+ 461: (module) => {
64
64
  module.exports = {
65
65
  "/Applications/Atom.app/Contents/MacOS/Atom": "atom",
66
66
  "/Applications/Atom Beta.app/Contents/MacOS/Atom Beta":
@@ -107,12 +107,13 @@
107
107
  "/Applications/Zed.app/Contents/MacOS/zed": "zed",
108
108
  };
109
109
  },
110
- 444: (module) => {
110
+ 773: (module) => {
111
111
  module.exports = [
112
112
  "Brackets.exe",
113
113
  "Code.exe",
114
114
  "Code - Insiders.exe",
115
115
  "VSCodium.exe",
116
+ "Cursor.exe",
116
117
  "atom.exe",
117
118
  "sublime_text.exe",
118
119
  "notepad++.exe",
@@ -134,7 +135,7 @@
134
135
  "rider64.exe",
135
136
  ];
136
137
  },
137
- 302: (module, __unused_webpack_exports, __nccwpck_require__) => {
138
+ 673: (module, __unused_webpack_exports, __nccwpck_require__) => {
138
139
  const path = __nccwpck_require__(928);
139
140
  module.exports = function getArgumentsForPosition(
140
141
  editor,
@@ -205,13 +206,13 @@
205
206
  return [fileName];
206
207
  };
207
208
  },
208
- 215: (module, __unused_webpack_exports, __nccwpck_require__) => {
209
+ 758: (module, __unused_webpack_exports, __nccwpck_require__) => {
209
210
  const path = __nccwpck_require__(928);
210
211
  const shellQuote = __nccwpck_require__(32);
211
212
  const childProcess = __nccwpck_require__(317);
212
- const COMMON_EDITORS_MACOS = __nccwpck_require__(748);
213
- const COMMON_EDITORS_LINUX = __nccwpck_require__(991);
214
- const COMMON_EDITORS_WIN = __nccwpck_require__(444);
213
+ const COMMON_EDITORS_MACOS = __nccwpck_require__(461);
214
+ const COMMON_EDITORS_LINUX = __nccwpck_require__(406);
215
+ const COMMON_EDITORS_WIN = __nccwpck_require__(773);
215
216
  module.exports = function guessEditor(specifiedEditor) {
216
217
  if (specifiedEditor) {
217
218
  return shellQuote.parse(specifiedEditor);
@@ -253,7 +254,10 @@
253
254
  } else if (process.platform === "win32") {
254
255
  const output = childProcess
255
256
  .execSync(
256
- 'powershell -NoProfile -Command "Get-CimInstance -Query \\"select executablepath from win32_process where executablepath is not null\\" | % { $_.ExecutablePath }"',
257
+ 'powershell -NoProfile -Command "' +
258
+ "[Console]::OutputEncoding=[Text.Encoding]::UTF8;" +
259
+ 'Get-CimInstance -Query \\"select executablepath from win32_process where executablepath is not null\\" | % { $_.ExecutablePath }' +
260
+ '"',
257
261
  { stdio: ["pipe", "pipe", "ignore"] },
258
262
  )
259
263
  .toString();
@@ -288,14 +292,14 @@
288
292
  return [null];
289
293
  };
290
294
  },
291
- 506: (module, __unused_webpack_exports, __nccwpck_require__) => {
295
+ 83: (module, __unused_webpack_exports, __nccwpck_require__) => {
292
296
  const fs = __nccwpck_require__(896);
293
297
  const os = __nccwpck_require__(857);
294
298
  const path = __nccwpck_require__(928);
295
299
  const colors = __nccwpck_require__(717);
296
300
  const childProcess = __nccwpck_require__(317);
297
- const guessEditor = __nccwpck_require__(215);
298
- const getArgumentsForPosition = __nccwpck_require__(302);
301
+ const guessEditor = __nccwpck_require__(758);
302
+ const getArgumentsForPosition = __nccwpck_require__(673);
299
303
  function wrapErrorCallback(cb) {
300
304
  return (fileName, errorMessage) => {
301
305
  console.log();
@@ -329,6 +333,9 @@
329
333
  }
330
334
  const positionRE = /:(\d+)(:(\d+))?$/;
331
335
  function parseFile(file) {
336
+ if (file.startsWith("file://")) {
337
+ file = __nccwpck_require__(16).fileURLToPath(file);
338
+ }
332
339
  const fileName = file.replace(positionRE, "");
333
340
  const match = file.match(positionRE);
334
341
  const lineNumber = match && match[1];
@@ -689,6 +696,6 @@
689
696
  }
690
697
  if (typeof __nccwpck_require__ !== "undefined")
691
698
  __nccwpck_require__.ab = __dirname + "/";
692
- var __webpack_exports__ = __nccwpck_require__(680);
699
+ var __webpack_exports__ = __nccwpck_require__(285);
693
700
  module.exports = __webpack_exports__;
694
701
  })();
@@ -1 +1 @@
1
- {"name":"launch-editor-middleware","author":"Evan You","version":"2.9.1","license":"MIT","types":"index.d.ts","type":"commonjs"}
1
+ {"name":"launch-editor-middleware","author":"Evan You","version":"2.10.0","license":"MIT","types":"index.d.ts","type":"commonjs"}
package/dist/index.cjs CHANGED
@@ -919,7 +919,7 @@ var __webpack_exports__ = {};
919
919
  async function init({ cliOptions, isRestart, isBuildWatch = !1 }) {
920
920
  cliOptions && (commonOpts = cliOptions);
921
921
  try {
922
- var _config_server, _config_dev;
922
+ var _config_server, _config_dev, _config_performance;
923
923
  let cwd = process.cwd(), root = commonOpts.root ? getAbsolutePath(cwd, commonOpts.root) : cwd, envs = loadEnv({
924
924
  cwd: getEnvDir(root, commonOpts.envDir),
925
925
  mode: commonOpts.envMode
@@ -929,10 +929,15 @@ var __webpack_exports__ = {};
929
929
  envMode: commonOpts.envMode,
930
930
  loader: commonOpts.configLoader
931
931
  });
932
- config.source ||= {}, config.source.define = {
932
+ if (config.source ||= {}, config.source.define = {
933
933
  ...envs.publicVars,
934
934
  ...config.source.define
935
- }, commonOpts.base && (config.server ||= {}, config.server.base = commonOpts.base), commonOpts.root && (config.root = root), commonOpts.mode && (config.mode = commonOpts.mode), !commonOpts.open || (null === (_config_server = config.server) || void 0 === _config_server ? void 0 : _config_server.open) || (config.server ||= {}, config.server.open = commonOpts.open), commonOpts.host && (config.server ||= {}, config.server.host = commonOpts.host), commonOpts.port && (config.server ||= {}, config.server.port = commonOpts.port), (null === (_config_dev = config.dev) || void 0 === _config_dev ? void 0 : _config_dev.cliShortcuts) === void 0 && (config.dev ||= {}, config.dev.cliShortcuts = !0);
935
+ }, commonOpts.base && (config.server ||= {}, config.server.base = commonOpts.base), commonOpts.root && (config.root = root), commonOpts.mode && (config.mode = commonOpts.mode), !commonOpts.open || (null === (_config_server = config.server) || void 0 === _config_server ? void 0 : _config_server.open) || (config.server ||= {}, config.server.open = commonOpts.open), commonOpts.host && (config.server ||= {}, config.server.host = commonOpts.host), commonOpts.port && (config.server ||= {}, config.server.port = commonOpts.port), (null === (_config_dev = config.dev) || void 0 === _config_dev ? void 0 : _config_dev.cliShortcuts) === void 0 && (config.dev ||= {}, config.dev.cliShortcuts = !0), (null === (_config_performance = config.performance) || void 0 === _config_performance ? void 0 : _config_performance.buildCache) && envs.filePaths.length > 0) {
936
+ let { buildCache } = config.performance;
937
+ !0 === buildCache ? config.performance.buildCache = {
938
+ buildDependencies: envs.filePaths
939
+ } : (buildCache.buildDependencies ||= [], buildCache.buildDependencies.push(...envs.filePaths));
940
+ }
936
941
  let rsbuild = await createRsbuild({
937
942
  cwd: root,
938
943
  rsbuildConfig: config,
@@ -1734,7 +1739,7 @@ var __webpack_exports__ = {};
1734
1739
  async function createContext(options, userConfig, bundlerType) {
1735
1740
  let { cwd } = options, rootPath = userConfig.root ? getAbsolutePath(cwd, userConfig.root) : cwd, rsbuildConfig = await withDefaultConfig(rootPath, userConfig), cachePath = (0, external_node_path_namespaceObject.join)(rootPath, 'node_modules', '.cache'), specifiedEnvironments = options.environment && options.environment.length > 0 ? options.environment : void 0;
1736
1741
  return {
1737
- version: "1.2.9",
1742
+ version: "1.2.11",
1738
1743
  rootPath,
1739
1744
  distPath: '',
1740
1745
  cachePath,
@@ -2235,7 +2240,7 @@ var __webpack_exports__ = {};
2235
2240
  };
2236
2241
  }
2237
2242
  return options;
2238
- }, userPostcssrcCache = new Map(), clonePostCSSConfig = (config)=>({
2243
+ }, clonePostCSSConfig = (config)=>({
2239
2244
  ...config,
2240
2245
  plugins: config.plugins ? [
2241
2246
  ...config.plugins
@@ -2244,18 +2249,18 @@ var __webpack_exports__ = {};
2244
2249
  let { sourceMap } = config.output;
2245
2250
  return 'boolean' == typeof sourceMap ? sourceMap : sourceMap.css;
2246
2251
  };
2247
- async function loadUserPostcssrc(root) {
2248
- let cached = userPostcssrcCache.get(root);
2252
+ async function loadUserPostcssrc(root, postcssrcCache) {
2253
+ let cached = postcssrcCache.get(root);
2249
2254
  if (cached) return clonePostCSSConfig(await cached);
2250
2255
  let { default: postcssrc } = await Promise.resolve().then(__webpack_require__.bind(__webpack_require__, "../../compiled/postcss-load-config/index.js")), promise = postcssrc({}, root).catch((err)=>{
2251
2256
  var _err_message;
2252
2257
  if (null === (_err_message = err.message) || void 0 === _err_message ? void 0 : _err_message.includes('No PostCSS Config found')) return {};
2253
2258
  throw err;
2254
2259
  });
2255
- return userPostcssrcCache.set(root, promise), promise.then((config)=>(userPostcssrcCache.set(root, config), clonePostCSSConfig(config)));
2260
+ return postcssrcCache.set(root, promise), promise.then((config)=>(postcssrcCache.set(root, config), clonePostCSSConfig(config)));
2256
2261
  }
2257
- let isPostcssPluginCreator = (plugin)=>'function' == typeof plugin && !0 === plugin.postcss, getPostcssLoaderOptions = async ({ config, root })=>{
2258
- let extraPlugins = [], userOptions = await loadUserPostcssrc(root);
2262
+ let isPostcssPluginCreator = (plugin)=>'function' == typeof plugin && !0 === plugin.postcss, getPostcssLoaderOptions = async ({ config, root, postcssrcCache })=>{
2263
+ let extraPlugins = [], userOptions = await loadUserPostcssrc(root, postcssrcCache);
2259
2264
  userOptions.plugins ||= [];
2260
2265
  let finalOptions = reduceConfigsWithContext({
2261
2266
  initial: {
@@ -2308,6 +2313,7 @@ var __webpack_exports__ = {};
2308
2313
  }, pluginCss = ()=>({
2309
2314
  name: 'rsbuild:css',
2310
2315
  setup (api) {
2316
+ let postcssrcCache = new Map();
2311
2317
  api.modifyBundlerChain({
2312
2318
  order: 'pre',
2313
2319
  handler: async (chain, { target, isProd, CHAIN_ID, environment })=>{
@@ -2335,7 +2341,8 @@ var __webpack_exports__ = {};
2335
2341
  }
2336
2342
  let postcssLoaderOptions = await getPostcssLoaderOptions({
2337
2343
  config,
2338
- root: api.context.rootPath
2344
+ root: api.context.rootPath,
2345
+ postcssrcCache
2339
2346
  });
2340
2347
  ('function' == typeof postcssLoaderOptions.postcssOptions || (null === (_postcssLoaderOptions_postcssOptions = postcssLoaderOptions.postcssOptions) || void 0 === _postcssLoaderOptions_postcssOptions ? void 0 : null === (_postcssLoaderOptions_postcssOptions_plugins = _postcssLoaderOptions_postcssOptions.plugins) || void 0 === _postcssLoaderOptions_postcssOptions_plugins ? void 0 : _postcssLoaderOptions_postcssOptions_plugins.length)) && (importLoaders++, rule.use(CHAIN_ID.USE.POSTCSS).loader(getCompiledPath('postcss-loader')).options(postcssLoaderOptions));
2341
2348
  }
@@ -5265,6 +5272,12 @@ throw new Error('Failed to load Node.js addon: "${name}"\\n' + error);
5265
5272
  };
5266
5273
  }, notFoundMiddleware = (_req, res, _next)=>{
5267
5274
  res.statusCode = 404, res.end();
5275
+ }, optionsFallbackMiddleware = (req, res, next)=>{
5276
+ if ('OPTIONS' === req.method) {
5277
+ res.statusCode = 204, res.setHeader('Content-Length', '0'), res.end();
5278
+ return;
5279
+ }
5280
+ next();
5268
5281
  }, middlewares_isFileExists = async (filePath, outputFileSystem)=>new Promise((resolve)=>{
5269
5282
  outputFileSystem.stat(filePath, (_error, stats)=>{
5270
5283
  resolve(null == stats ? void 0 : stats.isFile());
@@ -5469,13 +5482,7 @@ throw new Error('Failed to load Node.js addon: "${name}"\\n' + error);
5469
5482
  let { default: connectHistoryApiFallback } = await Promise.resolve().then(__webpack_require__.bind(__webpack_require__, "../../compiled/connect-history-api-fallback/index.js")), historyApiFallbackMiddleware = connectHistoryApiFallback(!0 === server.historyApiFallback ? {} : server.historyApiFallback);
5470
5483
  middlewares.push(historyApiFallbackMiddleware), (null == compileMiddlewareAPI ? void 0 : compileMiddlewareAPI.middleware) && middlewares.push(compileMiddlewareAPI.middleware);
5471
5484
  }
5472
- return middlewares.push(faviconFallbackMiddleware), middlewares.push((req, res, next)=>{
5473
- if ('OPTIONS' === req.method) {
5474
- res.statusCode = 204, res.setHeader('Content-Length', '0'), res.end();
5475
- return;
5476
- }
5477
- next();
5478
- }), {
5485
+ return middlewares.push(faviconFallbackMiddleware), {
5479
5486
  onUpgrade: (...args)=>{
5480
5487
  for (let cb of upgradeEvents)cb(...args);
5481
5488
  }
@@ -5616,7 +5623,7 @@ throw new Error('Failed to load Node.js addon: "${name}"\\n' + error);
5616
5623
  port
5617
5624
  }, async (err)=>{
5618
5625
  if (err) throw err;
5619
- middlewares.use(notFoundMiddleware), devMiddlewares && httpServer.on('upgrade', devMiddlewares.onUpgrade), rslog_index_js_namespaceObject.logger.debug('listen dev server done'), await devServerAPI.afterListen(), onBeforeRestartServer(devServerAPI.close), resolve({
5626
+ middlewares.use(optionsFallbackMiddleware), middlewares.use(notFoundMiddleware), devMiddlewares && httpServer.on('upgrade', devMiddlewares.onUpgrade), rslog_index_js_namespaceObject.logger.debug('listen dev server done'), await devServerAPI.afterListen(), onBeforeRestartServer(devServerAPI.close), resolve({
5620
5627
  port,
5621
5628
  urls: urls.map((item)=>item.url),
5622
5629
  server: {
@@ -5836,7 +5843,7 @@ throw new Error('Failed to load Node.js addon: "${name}"\\n' + error);
5836
5843
  let { default: connectHistoryApiFallback } = await Promise.resolve().then(__webpack_require__.bind(__webpack_require__, "../../compiled/connect-history-api-fallback/index.js")), historyApiFallbackMiddleware = connectHistoryApiFallback(!0 === historyApiFallback ? {} : historyApiFallback);
5837
5844
  this.middlewares.use(historyApiFallbackMiddleware), await this.applyStaticAssetMiddleware();
5838
5845
  }
5839
- this.middlewares.use(faviconFallbackMiddleware);
5846
+ this.middlewares.use(faviconFallbackMiddleware), this.middlewares.use(optionsFallbackMiddleware), this.middlewares.use(notFoundMiddleware);
5840
5847
  }
5841
5848
  async applyStaticAssetMiddleware() {
5842
5849
  let { output: { path, assetPrefixes }, serverConfig: { htmlFallback } } = this.options, { default: sirv } = await Promise.resolve().then(__webpack_require__.bind(__webpack_require__, "../../compiled/sirv/index.js")), assetMiddleware = sirv(path, {
@@ -6683,12 +6690,12 @@ ${section.body}` : section.body).join("\n\n"));
6683
6690
  }
6684
6691
  }(), process.title = 'rsbuild-node';
6685
6692
  let { npm_execpath } = process.env;
6686
- (!npm_execpath || npm_execpath.includes('npx-cli.js') || npm_execpath.includes('.bun')) && console.log(), rslog_index_js_namespaceObject.logger.greet(` Rsbuild v1.2.9\n`);
6693
+ (!npm_execpath || npm_execpath.includes('npx-cli.js') || npm_execpath.includes('.bun')) && console.log(), rslog_index_js_namespaceObject.logger.greet(` Rsbuild v1.2.11\n`);
6687
6694
  }();
6688
6695
  try {
6689
6696
  !function() {
6690
6697
  let cli = dist('rsbuild');
6691
- cli.help(), cli.version("1.2.9"), applyCommonOptions(cli);
6698
+ cli.help(), cli.version("1.2.11"), applyCommonOptions(cli);
6692
6699
  let devCommand = cli.command('dev', 'starting the dev server'), buildCommand = cli.command('build', 'build the app for production'), previewCommand = cli.command('preview', 'preview the production build locally'), inspectCommand = cli.command('inspect', 'inspect the Rspack and Rsbuild configs');
6693
6700
  applyServerOptions(devCommand), applyServerOptions(previewCommand), devCommand.action(async (options)=>{
6694
6701
  try {
@@ -6739,7 +6746,7 @@ ${section.body}` : section.body).join("\n\n"));
6739
6746
  rslog_index_js_namespaceObject.logger.error('Failed to start Rsbuild CLI.'), rslog_index_js_namespaceObject.logger.error(err);
6740
6747
  }
6741
6748
  }
6742
- let src_rslib_entry_version = "1.2.9";
6749
+ let src_rslib_entry_version = "1.2.11";
6743
6750
  })();
6744
6751
  var __webpack_export_target__ = exports;
6745
6752
  for(var __webpack_i__ in __webpack_exports__)__webpack_export_target__[__webpack_i__] = __webpack_exports__[__webpack_i__];
package/dist/index.js CHANGED
@@ -828,7 +828,7 @@ let configCache = {}, OVERRIDE_PATHS = [
828
828
  async function init({ cliOptions, isRestart, isBuildWatch = !1 }) {
829
829
  cliOptions && (commonOpts = cliOptions);
830
830
  try {
831
- var _config_server, _config_dev;
831
+ var _config_server, _config_dev, _config_performance;
832
832
  let cwd = process.cwd(), root = commonOpts.root ? getAbsolutePath(cwd, commonOpts.root) : cwd, envs = loadEnv({
833
833
  cwd: getEnvDir(root, commonOpts.envDir),
834
834
  mode: commonOpts.envMode
@@ -838,10 +838,15 @@ async function init({ cliOptions, isRestart, isBuildWatch = !1 }) {
838
838
  envMode: commonOpts.envMode,
839
839
  loader: commonOpts.configLoader
840
840
  });
841
- config.source ||= {}, config.source.define = {
841
+ if (config.source ||= {}, config.source.define = {
842
842
  ...envs.publicVars,
843
843
  ...config.source.define
844
- }, commonOpts.base && (config.server ||= {}, config.server.base = commonOpts.base), commonOpts.root && (config.root = root), commonOpts.mode && (config.mode = commonOpts.mode), !commonOpts.open || (null === (_config_server = config.server) || void 0 === _config_server ? void 0 : _config_server.open) || (config.server ||= {}, config.server.open = commonOpts.open), commonOpts.host && (config.server ||= {}, config.server.host = commonOpts.host), commonOpts.port && (config.server ||= {}, config.server.port = commonOpts.port), (null === (_config_dev = config.dev) || void 0 === _config_dev ? void 0 : _config_dev.cliShortcuts) === void 0 && (config.dev ||= {}, config.dev.cliShortcuts = !0);
844
+ }, commonOpts.base && (config.server ||= {}, config.server.base = commonOpts.base), commonOpts.root && (config.root = root), commonOpts.mode && (config.mode = commonOpts.mode), !commonOpts.open || (null === (_config_server = config.server) || void 0 === _config_server ? void 0 : _config_server.open) || (config.server ||= {}, config.server.open = commonOpts.open), commonOpts.host && (config.server ||= {}, config.server.host = commonOpts.host), commonOpts.port && (config.server ||= {}, config.server.port = commonOpts.port), (null === (_config_dev = config.dev) || void 0 === _config_dev ? void 0 : _config_dev.cliShortcuts) === void 0 && (config.dev ||= {}, config.dev.cliShortcuts = !0), (null === (_config_performance = config.performance) || void 0 === _config_performance ? void 0 : _config_performance.buildCache) && envs.filePaths.length > 0) {
845
+ let { buildCache } = config.performance;
846
+ !0 === buildCache ? config.performance.buildCache = {
847
+ buildDependencies: envs.filePaths
848
+ } : (buildCache.buildDependencies ||= [], buildCache.buildDependencies.push(...envs.filePaths));
849
+ }
845
850
  let rsbuild = await createRsbuild({
846
851
  cwd: root,
847
852
  rsbuildConfig: config,
@@ -1643,7 +1648,7 @@ async function updateEnvironmentContext(context, configs) {
1643
1648
  async function createContext(options, userConfig, bundlerType) {
1644
1649
  let { cwd } = options, rootPath = userConfig.root ? getAbsolutePath(cwd, userConfig.root) : cwd, rsbuildConfig = await withDefaultConfig(rootPath, userConfig), cachePath = (0, __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__.join)(rootPath, 'node_modules', '.cache'), specifiedEnvironments = options.environment && options.environment.length > 0 ? options.environment : void 0;
1645
1650
  return {
1646
- version: "1.2.9",
1651
+ version: "1.2.11",
1647
1652
  rootPath,
1648
1653
  distPath: '',
1649
1654
  cachePath,
@@ -2143,7 +2148,7 @@ let pluginHelper_require = (0, __WEBPACK_EXTERNAL_MODULE_node_module_ab9f2194__.
2143
2148
  };
2144
2149
  }
2145
2150
  return options;
2146
- }, userPostcssrcCache = new Map(), clonePostCSSConfig = (config)=>({
2151
+ }, clonePostCSSConfig = (config)=>({
2147
2152
  ...config,
2148
2153
  plugins: config.plugins ? [
2149
2154
  ...config.plugins
@@ -2152,18 +2157,18 @@ let pluginHelper_require = (0, __WEBPACK_EXTERNAL_MODULE_node_module_ab9f2194__.
2152
2157
  let { sourceMap } = config.output;
2153
2158
  return 'boolean' == typeof sourceMap ? sourceMap : sourceMap.css;
2154
2159
  };
2155
- async function loadUserPostcssrc(root) {
2156
- let cached = userPostcssrcCache.get(root);
2160
+ async function loadUserPostcssrc(root, postcssrcCache) {
2161
+ let cached = postcssrcCache.get(root);
2157
2162
  if (cached) return clonePostCSSConfig(await cached);
2158
2163
  let { default: postcssrc } = await import("../compiled/postcss-load-config/index.js"), promise = postcssrc({}, root).catch((err)=>{
2159
2164
  var _err_message;
2160
2165
  if (null === (_err_message = err.message) || void 0 === _err_message ? void 0 : _err_message.includes('No PostCSS Config found')) return {};
2161
2166
  throw err;
2162
2167
  });
2163
- return userPostcssrcCache.set(root, promise), promise.then((config)=>(userPostcssrcCache.set(root, config), clonePostCSSConfig(config)));
2168
+ return postcssrcCache.set(root, promise), promise.then((config)=>(postcssrcCache.set(root, config), clonePostCSSConfig(config)));
2164
2169
  }
2165
- let isPostcssPluginCreator = (plugin)=>'function' == typeof plugin && !0 === plugin.postcss, getPostcssLoaderOptions = async ({ config, root })=>{
2166
- let extraPlugins = [], userOptions = await loadUserPostcssrc(root);
2170
+ let isPostcssPluginCreator = (plugin)=>'function' == typeof plugin && !0 === plugin.postcss, getPostcssLoaderOptions = async ({ config, root, postcssrcCache })=>{
2171
+ let extraPlugins = [], userOptions = await loadUserPostcssrc(root, postcssrcCache);
2167
2172
  userOptions.plugins ||= [];
2168
2173
  let finalOptions = reduceConfigsWithContext({
2169
2174
  initial: {
@@ -2216,6 +2221,7 @@ let isPostcssPluginCreator = (plugin)=>'function' == typeof plugin && !0 === plu
2216
2221
  }, pluginCss = ()=>({
2217
2222
  name: 'rsbuild:css',
2218
2223
  setup (api) {
2224
+ let postcssrcCache = new Map();
2219
2225
  api.modifyBundlerChain({
2220
2226
  order: 'pre',
2221
2227
  handler: async (chain, { target, isProd, CHAIN_ID, environment })=>{
@@ -2243,7 +2249,8 @@ let isPostcssPluginCreator = (plugin)=>'function' == typeof plugin && !0 === plu
2243
2249
  }
2244
2250
  let postcssLoaderOptions = await getPostcssLoaderOptions({
2245
2251
  config,
2246
- root: api.context.rootPath
2252
+ root: api.context.rootPath,
2253
+ postcssrcCache
2247
2254
  });
2248
2255
  ('function' == typeof postcssLoaderOptions.postcssOptions || (null === (_postcssLoaderOptions_postcssOptions = postcssLoaderOptions.postcssOptions) || void 0 === _postcssLoaderOptions_postcssOptions ? void 0 : null === (_postcssLoaderOptions_postcssOptions_plugins = _postcssLoaderOptions_postcssOptions.plugins) || void 0 === _postcssLoaderOptions_postcssOptions_plugins ? void 0 : _postcssLoaderOptions_postcssOptions_plugins.length)) && (importLoaders++, rule.use(CHAIN_ID.USE.POSTCSS).loader(getCompiledPath('postcss-loader')).options(postcssLoaderOptions));
2249
2256
  }
@@ -5154,6 +5161,12 @@ let runner_run = async ({ bundlePath, ...runnerFactoryOptions })=>new BasicRunne
5154
5161
  };
5155
5162
  }, notFoundMiddleware = (_req, res, _next)=>{
5156
5163
  res.statusCode = 404, res.end();
5164
+ }, optionsFallbackMiddleware = (req, res, next)=>{
5165
+ if ('OPTIONS' === req.method) {
5166
+ res.statusCode = 204, res.setHeader('Content-Length', '0'), res.end();
5167
+ return;
5168
+ }
5169
+ next();
5157
5170
  }, middlewares_isFileExists = async (filePath, outputFileSystem)=>new Promise((resolve)=>{
5158
5171
  outputFileSystem.stat(filePath, (_error, stats)=>{
5159
5172
  resolve(null == stats ? void 0 : stats.isFile());
@@ -5358,13 +5371,7 @@ let runner_run = async ({ bundlePath, ...runnerFactoryOptions })=>new BasicRunne
5358
5371
  let { default: connectHistoryApiFallback } = await import("../compiled/connect-history-api-fallback/index.js"), historyApiFallbackMiddleware = connectHistoryApiFallback(!0 === server.historyApiFallback ? {} : server.historyApiFallback);
5359
5372
  middlewares.push(historyApiFallbackMiddleware), (null == compileMiddlewareAPI ? void 0 : compileMiddlewareAPI.middleware) && middlewares.push(compileMiddlewareAPI.middleware);
5360
5373
  }
5361
- return middlewares.push(faviconFallbackMiddleware), middlewares.push((req, res, next)=>{
5362
- if ('OPTIONS' === req.method) {
5363
- res.statusCode = 204, res.setHeader('Content-Length', '0'), res.end();
5364
- return;
5365
- }
5366
- next();
5367
- }), {
5374
+ return middlewares.push(faviconFallbackMiddleware), {
5368
5375
  onUpgrade: (...args)=>{
5369
5376
  for (let cb of upgradeEvents)cb(...args);
5370
5377
  }
@@ -5505,7 +5512,7 @@ async function devServer_createDevServer(options, createCompiler, config, { comp
5505
5512
  port
5506
5513
  }, async (err)=>{
5507
5514
  if (err) throw err;
5508
- middlewares.use(notFoundMiddleware), devMiddlewares && httpServer.on('upgrade', devMiddlewares.onUpgrade), __WEBPACK_EXTERNAL_MODULE__compiled_rslog_index_js_c302f6e3__.logger.debug('listen dev server done'), await devServerAPI.afterListen(), onBeforeRestartServer(devServerAPI.close), resolve({
5515
+ middlewares.use(optionsFallbackMiddleware), middlewares.use(notFoundMiddleware), devMiddlewares && httpServer.on('upgrade', devMiddlewares.onUpgrade), __WEBPACK_EXTERNAL_MODULE__compiled_rslog_index_js_c302f6e3__.logger.debug('listen dev server done'), await devServerAPI.afterListen(), onBeforeRestartServer(devServerAPI.close), resolve({
5509
5516
  port,
5510
5517
  urls: urls.map((item)=>item.url),
5511
5518
  server: {
@@ -5725,7 +5732,7 @@ class RsbuildProdServer {
5725
5732
  let { default: connectHistoryApiFallback } = await import("../compiled/connect-history-api-fallback/index.js"), historyApiFallbackMiddleware = connectHistoryApiFallback(!0 === historyApiFallback ? {} : historyApiFallback);
5726
5733
  this.middlewares.use(historyApiFallbackMiddleware), await this.applyStaticAssetMiddleware();
5727
5734
  }
5728
- this.middlewares.use(faviconFallbackMiddleware);
5735
+ this.middlewares.use(faviconFallbackMiddleware), this.middlewares.use(optionsFallbackMiddleware), this.middlewares.use(notFoundMiddleware);
5729
5736
  }
5730
5737
  async applyStaticAssetMiddleware() {
5731
5738
  let { output: { path, assetPrefixes }, serverConfig: { htmlFallback } } = this.options, { default: sirv } = await import("../compiled/sirv/index.js"), assetMiddleware = sirv(path, {
@@ -6571,12 +6578,12 @@ async function runCLI() {
6571
6578
  }
6572
6579
  }(), process.title = 'rsbuild-node';
6573
6580
  let { npm_execpath } = process.env;
6574
- (!npm_execpath || npm_execpath.includes('npx-cli.js') || npm_execpath.includes('.bun')) && console.log(), __WEBPACK_EXTERNAL_MODULE__compiled_rslog_index_js_c302f6e3__.logger.greet(` Rsbuild v1.2.9\n`);
6581
+ (!npm_execpath || npm_execpath.includes('npx-cli.js') || npm_execpath.includes('.bun')) && console.log(), __WEBPACK_EXTERNAL_MODULE__compiled_rslog_index_js_c302f6e3__.logger.greet(` Rsbuild v1.2.11\n`);
6575
6582
  }();
6576
6583
  try {
6577
6584
  !function() {
6578
6585
  let cli = dist('rsbuild');
6579
- cli.help(), cli.version("1.2.9"), applyCommonOptions(cli);
6586
+ cli.help(), cli.version("1.2.11"), applyCommonOptions(cli);
6580
6587
  let devCommand = cli.command('dev', 'starting the dev server'), buildCommand = cli.command('build', 'build the app for production'), previewCommand = cli.command('preview', 'preview the production build locally'), inspectCommand = cli.command('inspect', 'inspect the Rspack and Rsbuild configs');
6581
6588
  applyServerOptions(devCommand), applyServerOptions(previewCommand), devCommand.action(async (options)=>{
6582
6589
  try {
@@ -6627,6 +6634,6 @@ async function runCLI() {
6627
6634
  __WEBPACK_EXTERNAL_MODULE__compiled_rslog_index_js_c302f6e3__.logger.error('Failed to start Rsbuild CLI.'), __WEBPACK_EXTERNAL_MODULE__compiled_rslog_index_js_c302f6e3__.logger.error(err);
6628
6635
  }
6629
6636
  }
6630
- let src_version = "1.2.9";
6637
+ let src_version = "1.2.11";
6631
6638
  var __webpack_exports__logger = __WEBPACK_EXTERNAL_MODULE__compiled_rslog_index_js_c302f6e3__.logger, __webpack_exports__rspack = __WEBPACK_EXTERNAL_MODULE__rspack_core_e0096ff7__.rspack;
6632
6639
  export { PLUGIN_CSS_NAME, PLUGIN_SWC_NAME, createRsbuild, defineConfig, ensureAssetPrefix, config_loadConfig as loadConfig, loadEnv, mergeRsbuildConfig, runCLI, src_version as version, __webpack_exports__logger as logger, __webpack_exports__rspack as rspack };
@@ -3,6 +3,7 @@ import type { EnvironmentAPI, HtmlFallback, RequestHandler as Middleware, Rspack
3
3
  export declare const faviconFallbackMiddleware: Middleware;
4
4
  export declare const getRequestLoggerMiddleware: () => Promise<Connect.NextHandleFunction>;
5
5
  export declare const notFoundMiddleware: Middleware;
6
+ export declare const optionsFallbackMiddleware: Middleware;
6
7
  /**
7
8
  * Support access HTML without suffix
8
9
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rsbuild/core",
3
- "version": "1.2.9",
3
+ "version": "1.2.11",
4
4
  "description": "The Rspack-based build tool.",
5
5
  "homepage": "https://rsbuild.dev",
6
6
  "bugs": {
@@ -71,7 +71,7 @@
71
71
  "html-rspack-plugin": "6.0.2",
72
72
  "http-proxy-middleware": "^2.0.6",
73
73
  "jiti": "^1.21.7",
74
- "launch-editor-middleware": "^2.9.1",
74
+ "launch-editor-middleware": "^2.10.0",
75
75
  "mrmime": "^2.0.0",
76
76
  "on-finished": "2.4.1",
77
77
  "open": "^8.4.0",