@docusaurus/bundler 4.0.0-canary-6912 → 4.0.0-canary-6917

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.
@@ -4,9 +4,9 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
- import webpack from 'webpack';
8
- import WebpackBar from 'webpackbar';
9
- import MiniCssExtractPlugin from 'mini-css-extract-plugin';
7
+ import type webpack from 'webpack';
8
+ import type WebpackBar from 'webpackbar';
9
+ import type MiniCssExtractPlugin from 'mini-css-extract-plugin';
10
10
  import type { CurrentBundler, DocusaurusConfig } from '@docusaurus/types';
11
11
  type SiteConfigSlice = Pick<DocusaurusConfig, 'webpack'>;
12
12
  export declare function getCurrentBundler({ siteConfig, }: {
@@ -1 +1 @@
1
- {"version":3,"file":"currentBundler.d.ts","sourceRoot":"","sources":["../src/currentBundler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,oBAAoB,MAAM,yBAAyB,CAAC;AAE3D,OAAO,KAAK,EAAC,cAAc,EAAE,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAExE,KAAK,eAAe,GAAG,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;AAOzD,wBAAsB,iBAAiB,CAAC,EACtC,UAAU,GACX,EAAE;IACD,UAAU,EAAE,eAAe,CAAC;CAC7B,GAAG,OAAO,CAAC,cAAc,CAAC,CAY1B;AAED,wBAAsB,mBAAmB,CAAC,EACxC,cAAc,GACf,EAAE;IACD,cAAc,EAAE,cAAc,CAAC;CAChC,GAAG,OAAO,CAAC,OAAO,oBAAoB,CAAC,CAKvC;AAED,wBAAsB,aAAa,CAAC,EAClC,cAAc,GACf,EAAE;IACD,cAAc,EAAE,cAAc,CAAC;CAChC,GAAG,OAAO,CAAC,OAAO,OAAO,CAAC,UAAU,CAAC,CAKrC;AAED,wBAAsB,oBAAoB,CAAC,EACzC,cAAc,GACf,EAAE;IACD,cAAc,EAAE,cAAc,CAAC;CAChC,GAAG,OAAO,CAAC,OAAO,UAAU,CAAC,CAiB7B;AAED,wBAAsB,sBAAsB,CAAC,EAC3C,cAAc,GACf,EAAE;IACD,cAAc,EAAE,cAAc,CAAC;CAChC,GAAG,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAmC/B"}
1
+ {"version":3,"file":"currentBundler.d.ts","sourceRoot":"","sources":["../src/currentBundler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,UAAU,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,oBAAoB,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAC,cAAc,EAAE,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAKxE,KAAK,eAAe,GAAG,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;AAOzD,wBAAsB,iBAAiB,CAAC,EACtC,UAAU,GACX,EAAE;IACD,UAAU,EAAE,eAAe,CAAC;CAC7B,GAAG,OAAO,CAAC,cAAc,CAAC,CAY1B;AAED,wBAAsB,mBAAmB,CAAC,EACxC,cAAc,GACf,EAAE;IACD,cAAc,EAAE,cAAc,CAAC;CAChC,GAAG,OAAO,CAAC,OAAO,oBAAoB,CAAC,CAKvC;AAED,wBAAsB,aAAa,CAAC,EAClC,cAAc,GACf,EAAE;IACD,cAAc,EAAE,cAAc,CAAC;CAChC,GAAG,OAAO,CAAC,OAAO,OAAO,CAAC,UAAU,CAAC,CAKrC;AAED,wBAAsB,oBAAoB,CAAC,EACzC,cAAc,GACf,EAAE;IACD,cAAc,EAAE,cAAc,CAAC;CAChC,GAAG,OAAO,CAAC,OAAO,UAAU,CAAC,CAkB7B;AAED,wBAAsB,sBAAsB,CAAC,EAC3C,cAAc,GACf,EAAE;IACD,cAAc,EAAE,cAAc,CAAC;CAChC,GAAG,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAmC/B"}
@@ -11,10 +11,6 @@ exports.getCSSExtractPlugin = getCSSExtractPlugin;
11
11
  exports.getCopyPlugin = getCopyPlugin;
12
12
  exports.getProgressBarPlugin = getProgressBarPlugin;
13
13
  exports.registerBundlerTracing = registerBundlerTracing;
14
- const tslib_1 = require("tslib");
15
- const webpack_1 = tslib_1.__importDefault(require("webpack"));
16
- const webpackbar_1 = tslib_1.__importDefault(require("webpackbar"));
17
- const mini_css_extract_plugin_1 = tslib_1.__importDefault(require("mini-css-extract-plugin"));
18
14
  const rspack_1 = require("./rspack");
19
15
  // Rspack is the default, Webpack is opt-in (deprecated)
20
16
  function isRspack(siteConfig) {
@@ -30,14 +26,14 @@ async function getCurrentBundler({ siteConfig, }) {
30
26
  }
31
27
  return {
32
28
  name: 'webpack',
33
- instance: webpack_1.default,
29
+ instance: (await import('webpack')).default,
34
30
  };
35
31
  }
36
32
  async function getCSSExtractPlugin({ currentBundler, }) {
37
33
  if (currentBundler.name === 'rspack') {
38
34
  return rspack_1.rspack.CssExtractRspackPlugin;
39
35
  }
40
- return mini_css_extract_plugin_1.default;
36
+ return (await import('mini-css-extract-plugin')).default;
41
37
  }
42
38
  async function getCopyPlugin({ currentBundler, }) {
43
39
  if (currentBundler.name === 'rspack') {
@@ -60,7 +56,8 @@ async function getProgressBarPlugin({ currentBundler, }) {
60
56
  }
61
57
  return CustomRspackProgressPlugin;
62
58
  }
63
- return webpackbar_1.default;
59
+ // Dynamic import resolves the ESM types, while "import type" resolves CJS
60
+ return (await import('webpackbar')).default;
64
61
  }
65
62
  async function registerBundlerTracing({ currentBundler, }) {
66
63
  if (currentBundler.name === 'rspack') {
@@ -1 +1 @@
1
- {"version":3,"file":"currentBundler.js","sourceRoot":"","sources":["../src/currentBundler.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;AAEH,8DAA8B;AAC9B,oEAAoC;AACpC,8FAA2D;AAC3D,qCAAgC;AAKhC,wDAAwD;AACxD,SAAS,QAAQ,CAAC,UAA2B;IAC3C,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;AAC7B,CAAC;AAEM,KAAK,4BAA4B,EACtC,UAAU,GAGX;IACC,IAAI,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACzB,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,gEAAgE;YAChE,QAAQ,EAAE,eAAmC;SAC9C,CAAC;IACJ,CAAC;IACD,OAAO;QACL,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,iBAAO;KAClB,CAAC;AACJ,CAAC;AAEM,KAAK,8BAA8B,EACxC,cAAc,GAGf;IACC,IAAI,cAAc,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACrC,OAAO,eAAM,CAAC,sBAAgE,CAAC;IACjF,CAAC;IACD,OAAO,iCAAoB,CAAC;AAC9B,CAAC;AAEM,KAAK,wBAAwB,EAClC,cAAc,GAGf;IACC,IAAI,cAAc,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACrC,OAAO,eAAM,CAAC,gBAAwD,CAAC;IACzE,CAAC;IACD,OAAO,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC;AAC5C,CAAC;AAEM,KAAK,+BAA+B,EACzC,cAAc,GAGf;IACC,IAAI,cAAc,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACrC,MAAM,0BAA2B,SAAQ,eAAM,CAAC,cAAc;YAC5D,YAAY,EAAC,IAAI,EAAE,KAAK,GAAG,OAAO,EAAkC;gBAClE,uEAAuE;gBACvE,yDAAyD;gBACzD,KAAK,CAAC;oBACJ,MAAM,EAAE,IAAI;oBACZ,QAAQ,EAAE,4BAA4B,KAAK,0CAA0C;oBACrF,aAAa,EAAE,IAAI;iBACpB,CAAC,CAAC;YACL,CAAC;SACF;QACD,OAAO,0BAA0D,CAAC;IACpE,CAAC;IAED,OAAO,oBAAU,CAAC;AACpB,CAAC;AAEM,KAAK,iCAAiC,EAC3C,cAAc,GAGf;IACC,IAAI,cAAc,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACrC,0DAA0D;QAC1D,mDAAmD;QACnD,IAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,CAAC;YACxC,oDAAoD;YACpD,oFAAoF;YACpF,IAAI,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;YAEjD,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;gBACxC,+CAA+C;gBAC/C,yDAAyD;gBACzD,gGAAgG;gBAChG,MAAM,GAAG,MAAM,CAAC;YAClB,CAAC;YAED,MAAM,eAAM,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAC3C,MAAM,EACN,UAAU,EACV,0BAA0B,CAC3B,CAAC;YAEF,OAAO,CAAC,IAAI,CAAC,qCAAqC,MAAM,EAAE,CAAC,CAAC;YAE5D,OAAO,KAAK,IAAI,EAAE;gBAChB,MAAM,eAAM,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;gBAC/C,OAAO,CAAC,GAAG,CAAC,qCAAqC,MAAM,EAAE,CAAC,CAAC;YAC7D,CAAC,CAAC;QACJ,CAAC;IACH,CAAC;IAED,iDAAiD;IACjD,OAAO,KAAK,IAAI,EAAE;QAChB,OAAO;IACT,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"currentBundler.js","sourceRoot":"","sources":["../src/currentBundler.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;AAEH,qCAAgC;AAWhC,wDAAwD;AACxD,SAAS,QAAQ,CAAC,UAA2B;IAC3C,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;AAC7B,CAAC;AAEM,KAAK,4BAA4B,EACtC,UAAU,GAGX;IACC,IAAI,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACzB,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,gEAAgE;YAChE,QAAQ,EAAE,eAAmC;SAC9C,CAAC;IACJ,CAAC;IACD,OAAO;QACL,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,CAAC,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;KAC5C,CAAC;AACJ,CAAC;AAEM,KAAK,8BAA8B,EACxC,cAAc,GAGf;IACC,IAAI,cAAc,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACrC,OAAO,eAAM,CAAC,sBAAgE,CAAC;IACjF,CAAC;IACD,OAAO,CAAC,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC,CAAC,OAAO,CAAC;AAC3D,CAAC;AAEM,KAAK,wBAAwB,EAClC,cAAc,GAGf;IACC,IAAI,cAAc,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACrC,OAAO,eAAM,CAAC,gBAAwD,CAAC;IACzE,CAAC;IACD,OAAO,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC;AAC5C,CAAC;AAEM,KAAK,+BAA+B,EACzC,cAAc,GAGf;IACC,IAAI,cAAc,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACrC,MAAM,0BAA2B,SAAQ,eAAM,CAAC,cAAc;YAC5D,YAAY,EAAC,IAAI,EAAE,KAAK,GAAG,OAAO,EAAkC;gBAClE,uEAAuE;gBACvE,yDAAyD;gBACzD,KAAK,CAAC;oBACJ,MAAM,EAAE,IAAI;oBACZ,QAAQ,EAAE,4BAA4B,KAAK,0CAA0C;oBACrF,aAAa,EAAE,IAAI;iBACpB,CAAC,CAAC;YACL,CAAC;SACF;QACD,OAAO,0BAA0D,CAAC;IACpE,CAAC;IAED,0EAA0E;IAC1E,OAAO,CAAC,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,OAAuC,CAAC;AAC9E,CAAC;AAEM,KAAK,iCAAiC,EAC3C,cAAc,GAGf;IACC,IAAI,cAAc,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACrC,0DAA0D;QAC1D,mDAAmD;QACnD,IAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,CAAC;YACxC,oDAAoD;YACpD,oFAAoF;YACpF,IAAI,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;YAEjD,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;gBACxC,+CAA+C;gBAC/C,yDAAyD;gBACzD,gGAAgG;gBAChG,MAAM,GAAG,MAAM,CAAC;YAClB,CAAC;YAED,MAAM,eAAM,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAC3C,MAAM,EACN,UAAU,EACV,0BAA0B,CAC3B,CAAC;YAEF,OAAO,CAAC,IAAI,CAAC,qCAAqC,MAAM,EAAE,CAAC,CAAC;YAE5D,OAAO,KAAK,IAAI,EAAE;gBAChB,MAAM,eAAM,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;gBAC/C,OAAO,CAAC,GAAG,CAAC,qCAAqC,MAAM,EAAE,CAAC,CAAC;YAC7D,CAAC,CAAC;QACJ,CAAC;IACH,CAAC;IAED,iDAAiD;IACjD,OAAO,KAAK,IAAI,EAAE;QAChB,OAAO;IACT,CAAC,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"minification.d.ts","sourceRoot":"","sources":["../src/minification.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAcH,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,SAAS,CAAC;AACnD,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;AAEtD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,cAAc,EAAE,cAAc,CAAC;CAChC,CAAC;AAgFF,wBAAsB,aAAa,CACjC,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAKlC"}
1
+ {"version":3,"file":"minification.d.ts","sourceRoot":"","sources":["../src/minification.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAYH,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,SAAS,CAAC;AACnD,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;AAEtD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,cAAc,EAAE,cAAc,CAAC;CAChC,CAAC;AAoFF,wBAAsB,aAAa,CACjC,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAKlC"}
@@ -7,9 +7,6 @@
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.getMinimizers = getMinimizers;
10
- const tslib_1 = require("tslib");
11
- const terser_webpack_plugin_1 = tslib_1.__importDefault(require("terser-webpack-plugin"));
12
- const css_minimizer_webpack_plugin_1 = tslib_1.__importDefault(require("css-minimizer-webpack-plugin"));
13
10
  const rspack_1 = require("./rspack");
14
11
  const browserslist_1 = require("./browserslist");
15
12
  // Shared by Webpack and Rspack, compatible with both SWC and Rspack types
@@ -42,21 +39,24 @@ function getTerserParallel() {
42
39
  return terserParallel;
43
40
  }
44
41
  // Terser is not used: terser-webpack-plugin only runs the SWC minifier
45
- function getJsMinimizer() {
46
- return new terser_webpack_plugin_1.default({
42
+ async function getJsMinimizer() {
43
+ const { default: TerserPlugin } = await import('terser-webpack-plugin');
44
+ return new TerserPlugin({
47
45
  parallel: getTerserParallel(),
48
- minify: terser_webpack_plugin_1.default.swcMinify,
46
+ minify: TerserPlugin.swcMinify,
49
47
  terserOptions: { ...SwcJsMinimizerOptions, safari10: true },
50
48
  });
51
49
  }
52
- function getCssMinimizer() {
53
- return new css_minimizer_webpack_plugin_1.default({
54
- minify: css_minimizer_webpack_plugin_1.default.lightningCssMinify,
50
+ async function getCssMinimizer() {
51
+ const { default: CssMinimizerPlugin } = await import('css-minimizer-webpack-plugin');
52
+ return new CssMinimizerPlugin({
53
+ minify: CssMinimizerPlugin.lightningCssMinify,
55
54
  minimizerOptions: (0, browserslist_1.getLightningCssMinimizerOptions)(),
56
55
  });
57
56
  }
58
- function getWebpackMinimizers() {
59
- return [getJsMinimizer(), getCssMinimizer()];
57
+ // Webpack-only minimizers are imported lazily, only when Webpack is used
58
+ async function getWebpackMinimizers() {
59
+ return Promise.all([getJsMinimizer(), getCssMinimizer()]);
60
60
  }
61
61
  function getRspackMinimizers() {
62
62
  return [
@@ -1 +1 @@
1
- {"version":3,"file":"minification.js","sourceRoot":"","sources":["../src/minification.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAEH,0FAAiD;AACjD,wGAA8D;AAC9D,qCAAgC;AAChC,iDAGwB;AAiBxB,0EAA0E;AAC1E,8DAA8D;AAC9D,qDAAqD;AACrD,uFAAuF;AACvF,MAAM,qBAAqB,GAAG;IAC5B,IAAI,EAAE,IAAI;IACV,QAAQ,EAAE;QACR,IAAI,EAAE,CAAC;KACR;IACD,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE;QACN,IAAI,EAAE,CAAC;QACP,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,IAAI;KACjB;CAC6C,CAAC;AAEjD,wEAAwE;AACxE,SAAS,iBAAiB;IACxB,IAAI,cAAc,GAAqB,IAAI,CAAC;IAC5C,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,OAAO,EAAE,CAAC;QAC5C,cAAc,GAAG,KAAK,CAAC;IACzB,CAAC;SAAM,IACL,OAAO,CAAC,GAAG,CAAC,eAAe;QAC3B,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,EAAE,CAAC,GAAG,CAAC,EAC7C,CAAC;QACD,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,uEAAuE;AACvE,SAAS,cAAc;IACrB,OAAO,IAAI,+BAAY,CAAkB;QACvC,QAAQ,EAAE,iBAAiB,EAAE;QAC7B,MAAM,EAAE,+BAAY,CAAC,SAAS;QAC9B,aAAa,EAAE,EAAC,GAAG,qBAAqB,EAAE,QAAQ,EAAE,IAAI,EAAC;KAC1D,CAAC,CAAC;AACL,CAAC;AAED,SAAS,eAAe;IACtB,OAAO,IAAI,sCAAkB,CAAC;QAC5B,MAAM,EAAE,sCAAkB,CAAC,kBAAkB;QAC7C,gBAAgB,EAAE,IAAA,8CAA+B,GAAE;KACpD,CAAC,CAAC;AACL,CAAC;AAED,SAAS,oBAAoB;IAC3B,OAAO,CAAC,cAAc,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,mBAAmB;IAC1B,OAAO;QACL,uEAAuE;QACvE,qDAAqD;QACrD,IAAI,eAAM,CAAC,0BAA0B,CAAC;YACpC,gBAAgB,EAAE;gBAChB,MAAM,EAAE,IAAI;gBACZ,GAAG,qBAAqB;aACzB;SACF,CAAC;QACF,IAAI,eAAM,CAAC,iCAAiC,CAAC;YAC3C,gBAAgB,EAAE;gBAChB,6CAA6C;gBAC7C,mEAAmE;gBACnE,+FAA+F;gBAC/F,kDAAkD;gBAClD,OAAO,EAAE,IAAA,qCAAsB,GAAE;aAClC;SACF,CAAC;KACH,CAAC;AACJ,CAAC;AAEM,KAAK,wBACV,MAAwB;IAExB,OAAO,MAAM,CAAC,cAAc,CAAC,IAAI,KAAK,QAAQ;QAC5C,CAAC,CAAC,0DAA0D;YACzD,mBAAmB,EAAyC;QAC/D,CAAC,CAAC,oBAAoB,EAAE,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"minification.js","sourceRoot":"","sources":["../src/minification.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,qCAAgC;AAChC,iDAGwB;AAiBxB,0EAA0E;AAC1E,8DAA8D;AAC9D,qDAAqD;AACrD,uFAAuF;AACvF,MAAM,qBAAqB,GAAG;IAC5B,IAAI,EAAE,IAAI;IACV,QAAQ,EAAE;QACR,IAAI,EAAE,CAAC;KACR;IACD,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE;QACN,IAAI,EAAE,CAAC;QACP,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,IAAI;KACjB;CAC6C,CAAC;AAEjD,wEAAwE;AACxE,SAAS,iBAAiB;IACxB,IAAI,cAAc,GAAqB,IAAI,CAAC;IAC5C,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,OAAO,EAAE,CAAC;QAC5C,cAAc,GAAG,KAAK,CAAC;IACzB,CAAC;SAAM,IACL,OAAO,CAAC,GAAG,CAAC,eAAe;QAC3B,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,EAAE,CAAC,GAAG,CAAC,EAC7C,CAAC;QACD,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,uEAAuE;AACvE,KAAK,UAAU,cAAc;IAC3B,MAAM,EAAC,OAAO,EAAE,YAAY,EAAC,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;IACtE,OAAO,IAAI,YAAY,CAAkB;QACvC,QAAQ,EAAE,iBAAiB,EAAE;QAC7B,MAAM,EAAE,YAAY,CAAC,SAAS;QAC9B,aAAa,EAAE,EAAC,GAAG,qBAAqB,EAAE,QAAQ,EAAE,IAAI,EAAC;KAC1D,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,eAAe;IAC5B,MAAM,EAAC,OAAO,EAAE,kBAAkB,EAAC,GACjC,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAC;IAC/C,OAAO,IAAI,kBAAkB,CAAC;QAC5B,MAAM,EAAE,kBAAkB,CAAC,kBAAkB;QAC7C,gBAAgB,EAAE,IAAA,8CAA+B,GAAE;KACpD,CAAC,CAAC;AACL,CAAC;AAED,yEAAyE;AACzE,KAAK,UAAU,oBAAoB;IACjC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,mBAAmB;IAC1B,OAAO;QACL,uEAAuE;QACvE,qDAAqD;QACrD,IAAI,eAAM,CAAC,0BAA0B,CAAC;YACpC,gBAAgB,EAAE;gBAChB,MAAM,EAAE,IAAI;gBACZ,GAAG,qBAAqB;aACzB;SACF,CAAC;QACF,IAAI,eAAM,CAAC,iCAAiC,CAAC;YAC3C,gBAAgB,EAAE;gBAChB,6CAA6C;gBAC7C,mEAAmE;gBACnE,+FAA+F;gBAC/F,kDAAkD;gBAClD,OAAO,EAAE,IAAA,qCAAsB,GAAE;aAClC;SACF,CAAC;KACH,CAAC;AACJ,CAAC;AAEM,KAAK,wBACV,MAAwB;IAExB,OAAO,MAAM,CAAC,cAAc,CAAC,IAAI,KAAK,QAAQ;QAC5C,CAAC,CAAC,0DAA0D;YACzD,mBAAmB,EAAyC;QAC/D,CAAC,CAAC,oBAAoB,EAAE,CAAC;AAC7B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@docusaurus/bundler",
3
- "version": "4.0.0-canary-6912",
3
+ "version": "4.0.0-canary-6917",
4
4
  "description": "Docusaurus util package to abstract the current bundler.",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./lib/index.d.ts",
@@ -19,9 +19,9 @@
19
19
  "license": "MIT",
20
20
  "dependencies": {
21
21
  "@babel/core": "^7.29.7",
22
- "@docusaurus/babel": "4.0.0-canary-6912",
23
- "@docusaurus/logger": "4.0.0-canary-6912",
24
- "@docusaurus/types": "4.0.0-canary-6912",
22
+ "@docusaurus/babel": "4.0.0-canary-6917",
23
+ "@docusaurus/logger": "4.0.0-canary-6917",
24
+ "@docusaurus/types": "4.0.0-canary-6917",
25
25
  "@rspack/core": "^2.2.3",
26
26
  "@rspack/dev-server": "^2.2.1",
27
27
  "@swc/core": "^1.16.2",
@@ -44,5 +44,5 @@
44
44
  "engines": {
45
45
  "node": ">=24.21"
46
46
  },
47
- "gitHead": "0678e3df2754a88376515d4fc9cc9b03819d424d"
47
+ "gitHead": "ee71afc5cacf13c6198155e64c4c7ab89c0d7eef"
48
48
  }
@@ -5,12 +5,15 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import webpack from 'webpack';
9
- import WebpackBar from 'webpackbar';
10
- import MiniCssExtractPlugin from 'mini-css-extract-plugin';
11
8
  import {rspack} from './rspack';
9
+ import type webpack from 'webpack';
10
+ import type WebpackBar from 'webpackbar';
11
+ import type MiniCssExtractPlugin from 'mini-css-extract-plugin';
12
12
  import type {CurrentBundler, DocusaurusConfig} from '@docusaurus/types';
13
13
 
14
+ // Webpack-only packages are imported lazily, only when Webpack is used
15
+ // Rspack sites (the default) shouldn't pay their load cost
16
+
14
17
  type SiteConfigSlice = Pick<DocusaurusConfig, 'webpack'>;
15
18
 
16
19
  // Rspack is the default, Webpack is opt-in (deprecated)
@@ -32,7 +35,7 @@ export async function getCurrentBundler({
32
35
  }
33
36
  return {
34
37
  name: 'webpack',
35
- instance: webpack,
38
+ instance: (await import('webpack')).default,
36
39
  };
37
40
  }
38
41
 
@@ -44,7 +47,7 @@ export async function getCSSExtractPlugin({
44
47
  if (currentBundler.name === 'rspack') {
45
48
  return rspack.CssExtractRspackPlugin as unknown as typeof MiniCssExtractPlugin;
46
49
  }
47
- return MiniCssExtractPlugin;
50
+ return (await import('mini-css-extract-plugin')).default;
48
51
  }
49
52
 
50
53
  export async function getCopyPlugin({
@@ -78,7 +81,8 @@ export async function getProgressBarPlugin({
78
81
  return CustomRspackProgressPlugin as unknown as typeof WebpackBar;
79
82
  }
80
83
 
81
- return WebpackBar;
84
+ // Dynamic import resolves the ESM types, while "import type" resolves CJS
85
+ return (await import('webpackbar')).default as unknown as typeof WebpackBar;
82
86
  }
83
87
 
84
88
  export async function registerBundlerTracing({
@@ -5,8 +5,6 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import TerserPlugin from 'terser-webpack-plugin';
9
- import CssMinimizerPlugin from 'css-minimizer-webpack-plugin';
10
8
  import {rspack} from './rspack';
11
9
  import {
12
10
  getBrowserslistQueries,
@@ -61,7 +59,8 @@ function getTerserParallel() {
61
59
  }
62
60
 
63
61
  // Terser is not used: terser-webpack-plugin only runs the SWC minifier
64
- function getJsMinimizer(): WebpackPluginInstance {
62
+ async function getJsMinimizer(): Promise<WebpackPluginInstance> {
63
+ const {default: TerserPlugin} = await import('terser-webpack-plugin');
65
64
  return new TerserPlugin<JsMinifyOptions>({
66
65
  parallel: getTerserParallel(),
67
66
  minify: TerserPlugin.swcMinify,
@@ -69,15 +68,18 @@ function getJsMinimizer(): WebpackPluginInstance {
69
68
  });
70
69
  }
71
70
 
72
- function getCssMinimizer(): WebpackPluginInstance {
71
+ async function getCssMinimizer(): Promise<WebpackPluginInstance> {
72
+ const {default: CssMinimizerPlugin} =
73
+ await import('css-minimizer-webpack-plugin');
73
74
  return new CssMinimizerPlugin({
74
75
  minify: CssMinimizerPlugin.lightningCssMinify,
75
76
  minimizerOptions: getLightningCssMinimizerOptions(),
76
77
  });
77
78
  }
78
79
 
79
- function getWebpackMinimizers(): WebpackPluginInstance[] {
80
- return [getJsMinimizer(), getCssMinimizer()];
80
+ // Webpack-only minimizers are imported lazily, only when Webpack is used
81
+ async function getWebpackMinimizers(): Promise<WebpackPluginInstance[]> {
82
+ return Promise.all([getJsMinimizer(), getCssMinimizer()]);
81
83
  }
82
84
 
83
85
  function getRspackMinimizers(): RspackPluginInstance[] {