@rsbuild/webpack 0.1.5 → 0.1.7

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 (86) hide show
  1. package/README.md +26 -3
  2. package/dist/{webpackPlugins/ProgressPlugin → ProgressPlugin}/helpers/bar.js +1 -1
  3. package/dist/{webpackPlugins/ProgressPlugin → ProgressPlugin}/helpers/bus.js +2 -2
  4. package/dist/{webpackPlugins/ProgressPlugin → ProgressPlugin}/helpers/log.js +1 -1
  5. package/dist/core/createCompiler.d.ts +2 -1
  6. package/dist/core/createContext.d.ts +2 -2
  7. package/dist/core/createContext.js +4 -6
  8. package/dist/core/initConfigs.d.ts +2 -1
  9. package/dist/core/initConfigs.js +2 -3
  10. package/dist/core/inspectConfig.d.ts +2 -1
  11. package/dist/core/webpackConfig.d.ts +2 -1
  12. package/dist/index.d.ts +1 -4
  13. package/dist/index.js +0 -3
  14. package/dist/plugins/basic.d.ts +1 -1
  15. package/dist/plugins/copy.d.ts +1 -1
  16. package/dist/plugins/css.d.ts +1 -2
  17. package/dist/plugins/hmr.d.ts +1 -1
  18. package/dist/plugins/less.d.ts +1 -2
  19. package/dist/plugins/minimize.d.ts +1 -1
  20. package/dist/plugins/minimize.js +1 -5
  21. package/dist/plugins/output.d.ts +1 -1
  22. package/dist/plugins/progress.d.ts +1 -1
  23. package/dist/plugins/progress.js +1 -1
  24. package/dist/plugins/resolve.d.ts +1 -1
  25. package/dist/plugins/resolve.js +1 -1
  26. package/dist/plugins/sass.d.ts +1 -1
  27. package/dist/provider.d.ts +2 -4
  28. package/dist/provider.js +9 -17
  29. package/dist/shared.d.ts +3 -0
  30. package/dist/{shared/plugin.js → shared.js} +31 -19
  31. package/dist/types.d.ts +4 -0
  32. package/dist/{types/thirdParty/css.js → types.js} +2 -2
  33. package/package.json +4 -29
  34. package/compiled/babel-plugin-lodash/index.d.ts +0 -1
  35. package/compiled/babel-plugin-lodash/index.js +0 -1
  36. package/compiled/babel-plugin-lodash/license +0 -44
  37. package/compiled/babel-plugin-lodash/package.json +0 -1
  38. package/compiled/babel-plugin-transform-react-remove-prop-types/index.d.ts +0 -1
  39. package/compiled/babel-plugin-transform-react-remove-prop-types/index.js +0 -1
  40. package/compiled/babel-plugin-transform-react-remove-prop-types/license +0 -22
  41. package/compiled/babel-plugin-transform-react-remove-prop-types/package.json +0 -1
  42. package/dist/config/defaults.d.ts +0 -3
  43. package/dist/config/defaults.js +0 -47
  44. package/dist/config/normalize.d.ts +0 -7
  45. package/dist/config/normalize.js +0 -33
  46. package/dist/core/initHooks.d.ts +0 -20
  47. package/dist/core/initHooks.js +0 -46
  48. package/dist/core/initPlugins.d.ts +0 -9
  49. package/dist/core/initPlugins.js +0 -88
  50. package/dist/plugins/babel.d.ts +0 -2
  51. package/dist/plugins/babel.js +0 -157
  52. package/dist/plugins/react.d.ts +0 -2
  53. package/dist/plugins/react.js +0 -103
  54. package/dist/shared/fs.d.ts +0 -1
  55. package/dist/shared/fs.js +0 -48
  56. package/dist/shared/index.d.ts +0 -1
  57. package/dist/shared/index.js +0 -22
  58. package/dist/shared/plugin.d.ts +0 -3
  59. package/dist/types/config/index.d.ts +0 -26
  60. package/dist/types/config/index.js +0 -22
  61. package/dist/types/config/tools.d.ts +0 -42
  62. package/dist/types/config/tools.js +0 -16
  63. package/dist/types/context.d.ts +0 -17
  64. package/dist/types/context.js +0 -16
  65. package/dist/types/index.d.ts +0 -4
  66. package/dist/types/index.js +0 -28
  67. package/dist/types/plugin.d.ts +0 -5
  68. package/dist/types/plugin.js +0 -16
  69. package/dist/types/thirdParty/css.d.ts +0 -7
  70. package/dist/types/thirdParty/index.d.ts +0 -6
  71. package/dist/types/thirdParty/index.js +0 -16
  72. /package/dist/{webpackPlugins/ProgressPlugin → ProgressPlugin}/ProgressPlugin.d.ts +0 -0
  73. /package/dist/{webpackPlugins/ProgressPlugin → ProgressPlugin}/ProgressPlugin.js +0 -0
  74. /package/dist/{webpackPlugins/ProgressPlugin → ProgressPlugin}/helpers/bar.d.ts +0 -0
  75. /package/dist/{webpackPlugins/ProgressPlugin → ProgressPlugin}/helpers/bus.d.ts +0 -0
  76. /package/dist/{webpackPlugins/ProgressPlugin → ProgressPlugin}/helpers/index.d.ts +0 -0
  77. /package/dist/{webpackPlugins/ProgressPlugin → ProgressPlugin}/helpers/index.js +0 -0
  78. /package/dist/{webpackPlugins/ProgressPlugin → ProgressPlugin}/helpers/log.d.ts +0 -0
  79. /package/dist/{webpackPlugins/ProgressPlugin → ProgressPlugin}/helpers/nonTty.d.ts +0 -0
  80. /package/dist/{webpackPlugins/ProgressPlugin → ProgressPlugin}/helpers/nonTty.js +0 -0
  81. /package/dist/{webpackPlugins/ProgressPlugin → ProgressPlugin}/helpers/percentage.d.ts +0 -0
  82. /package/dist/{webpackPlugins/ProgressPlugin → ProgressPlugin}/helpers/percentage.js +0 -0
  83. /package/dist/{webpackPlugins/ProgressPlugin → ProgressPlugin}/helpers/type.d.ts +0 -0
  84. /package/dist/{webpackPlugins/ProgressPlugin → ProgressPlugin}/helpers/type.js +0 -0
  85. /package/dist/{webpackPlugins/ProgressPlugin → ProgressPlugin}/helpers/utils.d.ts +0 -0
  86. /package/dist/{webpackPlugins/ProgressPlugin → ProgressPlugin}/helpers/utils.js +0 -0
package/README.md CHANGED
@@ -2,9 +2,32 @@
2
2
  <a href="https://rsbuild.dev" target="blank"><img src="https://github.com/web-infra-dev/rsbuild/assets/7237365/84abc13e-b620-468f-a90b-dbf28e7e9427" alt="Rsbuild Logo" /></a>
3
3
  </p>
4
4
 
5
- # Rsbuild
6
-
7
- Unleash the power of Rspack with the out-of-the-box build tool.
5
+ # @rsbuild/webpack
6
+
7
+ This package can be used to switch Rsbuild's bundler from "Rspack" to "Webpack".
8
+
9
+ Note that this package is mainly used for compatibility with Modern.js and Rsbuild internal testing. We do not recommend you to use this package in a Rsbuild project. The API of the current package may change over iterations.
10
+
11
+ ## Usage
12
+
13
+ ```ts
14
+ import { defineConfig } from '@rsbuild/core';
15
+ import { webpackProvider } from '@rsbuild/webpack';
16
+ import { pluginBabel } from '@rsbuild/plugin-babel';
17
+ import { pluginCssMinimizer } from '@rsbuild/plugin-css-minimizer';
18
+
19
+ export default defineConfig({
20
+ provider: webpackProvider,
21
+ plugins: [
22
+ // @rsbuild/webpack has no built-in transformer,
23
+ // so you need to register the plugin-babel.
24
+ pluginBabel(),
25
+ // @rsbuild/webpack has no built-in CSS minimizer,
26
+ // so you need to register the plugin-css-minimizer.
27
+ pluginCssMinimizer(),
28
+ ],
29
+ });
30
+ ```
8
31
 
9
32
  ## Documentation
10
33
 
@@ -34,7 +34,7 @@ __export(bar_exports, {
34
34
  renderBar: () => renderBar
35
35
  });
36
36
  module.exports = __toCommonJS(bar_exports);
37
- var import_cli_truncate = __toESM(require("../../../../compiled/cli-truncate"));
37
+ var import_cli_truncate = __toESM(require("../../../compiled/cli-truncate"));
38
38
  var import_utils = require("./utils");
39
39
  var import_shared = require("@rsbuild/shared");
40
40
  const defaultOption = {
@@ -32,8 +32,8 @@ __export(bus_exports, {
32
32
  });
33
33
  module.exports = __toCommonJS(bus_exports);
34
34
  var import_console = require("console");
35
- var import_patch_console = __toESM(require("../../../../compiled/patch-console"));
36
- var import_cli_truncate = __toESM(require("../../../../compiled/cli-truncate"));
35
+ var import_patch_console = __toESM(require("../../../compiled/patch-console"));
36
+ var import_cli_truncate = __toESM(require("../../../compiled/cli-truncate"));
37
37
  var import_bar = require("./bar");
38
38
  var import_log = require("./log");
39
39
  var import_shared = require("@rsbuild/shared");
@@ -31,7 +31,7 @@ __export(log_exports, {
31
31
  create: () => create
32
32
  });
33
33
  module.exports = __toCommonJS(log_exports);
34
- var import_ansi_escapes = __toESM(require("../../../../compiled/ansi-escapes"));
34
+ var import_ansi_escapes = __toESM(require("../../../compiled/ansi-escapes"));
35
35
  const create = (stream) => {
36
36
  let previousLineCount = 0;
37
37
  let previousOutput = "";
@@ -1,4 +1,5 @@
1
- import type { Context, WebpackConfig } from '../types';
1
+ import type { Context } from '@rsbuild/core/provider';
2
+ import type { WebpackConfig } from '../types';
2
3
  import { InitConfigsOptions } from './initConfigs';
3
4
  import type { Compiler, MultiCompiler } from 'webpack';
4
5
  export declare function createCompiler({
@@ -1,5 +1,5 @@
1
- import { type CreateRsbuildOptions } from '@rsbuild/shared';
2
- import type { Context, RsbuildConfig } from '../types';
1
+ import { type RsbuildConfig, type CreateRsbuildOptions } from '@rsbuild/shared';
2
+ import { type Context } from '@rsbuild/core/provider';
3
3
  /**
4
4
  * Create primary context.
5
5
  * It will be assembled into a normal context or a stub for testing as needed.
@@ -24,12 +24,10 @@ __export(createContext_exports, {
24
24
  module.exports = __toCommonJS(createContext_exports);
25
25
  var import_path = require("path");
26
26
  var import_shared = require("@rsbuild/shared");
27
- var import_rspack_provider = require("@rsbuild/core/rspack-provider");
28
- var import_initHooks = require("./initHooks");
29
- var import_defaults = require("../config/defaults");
27
+ var import_provider = require("@rsbuild/core/provider");
30
28
  function createPrimaryContext(options, userRsbuildConfig) {
31
- const rsbuildConfig = (0, import_defaults.withDefaultConfig)(userRsbuildConfig);
32
- const context = (0, import_rspack_provider.createContextByConfig)(
29
+ const rsbuildConfig = (0, import_provider.withDefaultConfig)(userRsbuildConfig);
30
+ const context = (0, import_provider.createContextByConfig)(
33
31
  options,
34
32
  "webpack",
35
33
  rsbuildConfig.source,
@@ -37,7 +35,7 @@ function createPrimaryContext(options, userRsbuildConfig) {
37
35
  );
38
36
  return {
39
37
  ...context,
40
- hooks: (0, import_initHooks.initHooks)(),
38
+ hooks: (0, import_provider.initHooks)(),
41
39
  config: { ...rsbuildConfig },
42
40
  originalConfig: userRsbuildConfig
43
41
  };
@@ -1,5 +1,6 @@
1
1
  import { type PluginStore, type CreateRsbuildOptions } from '@rsbuild/shared';
2
- import type { Context, WebpackConfig } from '../types';
2
+ import { type Context } from '@rsbuild/core/provider';
3
+ import type { WebpackConfig } from '../types';
3
4
  export type InitConfigsOptions = {
4
5
  context: Context;
5
6
  pluginStore: PluginStore;
@@ -22,7 +22,7 @@ __export(initConfigs_exports, {
22
22
  });
23
23
  module.exports = __toCommonJS(initConfigs_exports);
24
24
  var import_shared = require("@rsbuild/shared");
25
- var import_rspack_provider = require("@rsbuild/core/rspack-provider");
25
+ var import_provider = require("@rsbuild/core/provider");
26
26
  var import_inspectConfig = require("./inspectConfig");
27
27
  var import_webpackConfig = require("./webpackConfig");
28
28
  async function initConfigs({
@@ -30,8 +30,7 @@ async function initConfigs({
30
30
  pluginStore,
31
31
  rsbuildOptions
32
32
  }) {
33
- await (0, import_rspack_provider.initRsbuildConfig)({
34
- // @ts-expect-error context type mismatch
33
+ await (0, import_provider.initRsbuildConfig)({
35
34
  context,
36
35
  pluginStore
37
36
  });
@@ -19,11 +19,12 @@ export declare function inspectConfig({
19
19
  dev?: import("@rsbuild/shared").DevConfig | undefined;
20
20
  server?: import("@rsbuild/shared").ServerConfig | undefined;
21
21
  html?: import("@rsbuild/shared").HtmlConfig | undefined;
22
- tools?: import("../types").ToolsConfig | undefined;
22
+ tools?: import("@rsbuild/shared").ToolsConfig | undefined;
23
23
  source?: import("@rsbuild/shared").SourceConfig | undefined;
24
24
  output?: import("@rsbuild/shared").OutputConfig | undefined;
25
25
  security?: import("@rsbuild/shared").SecurityConfig | undefined;
26
26
  performance?: import("@rsbuild/shared").PerformanceConfig | undefined;
27
+ plugins?: import("@rsbuild/shared").RsbuildPlugin[] | undefined;
27
28
  };
28
29
  bundlerConfigs: WebpackConfig[];
29
30
  };
@@ -1,5 +1,6 @@
1
1
  import { type RsbuildTarget } from '@rsbuild/shared';
2
- import type { Context, WebpackConfig } from '../types';
2
+ import type { Context } from '@rsbuild/core/provider';
3
+ import type { WebpackConfig } from '../types';
3
4
  export declare function generateWebpackConfig({
4
5
  target,
5
6
  context
package/dist/index.d.ts CHANGED
@@ -1,6 +1,3 @@
1
1
  export { webpackProvider } from './provider';
2
- export type { WebpackProvider } from './provider';
3
2
  export { webpackBuild } from './core/build';
4
- export { createDefaultConfig } from './config/defaults';
5
- export type { LessLoaderOptions, SassLoaderOptions, PostCSSLoaderOptions, CSSLoaderOptions, StyleLoaderOptions } from '@rsbuild/shared';
6
- export type { RsbuildPlugin, RsbuildPluginAPI, DevConfig, HtmlConfig, ToolsConfig, OutputConfig, SourceConfig, RsbuildConfig, SecurityConfig, NormalizedConfig, PerformanceConfig, webpack, WebpackChain, WebpackConfig, CSSExtractOptions, HTMLPluginOptions } from './types';
3
+ export type { webpack, WebpackChain, WebpackConfig } from './types';
package/dist/index.js CHANGED
@@ -18,17 +18,14 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var src_exports = {};
20
20
  __export(src_exports, {
21
- createDefaultConfig: () => import_defaults.createDefaultConfig,
22
21
  webpackBuild: () => import_build.webpackBuild,
23
22
  webpackProvider: () => import_provider.webpackProvider
24
23
  });
25
24
  module.exports = __toCommonJS(src_exports);
26
25
  var import_provider = require("./provider");
27
26
  var import_build = require("./core/build");
28
- var import_defaults = require("./config/defaults");
29
27
  // Annotate the CommonJS export names for ESM import in node:
30
28
  0 && (module.exports = {
31
- createDefaultConfig,
32
29
  webpackBuild,
33
30
  webpackProvider
34
31
  });
@@ -1,4 +1,4 @@
1
- import type { RsbuildPlugin } from '../types';
1
+ import { type RsbuildPlugin } from '@rsbuild/shared';
2
2
  /**
3
3
  * Provide some basic configs of webpack
4
4
  */
@@ -1,2 +1,2 @@
1
- import type { RsbuildPlugin } from '../types';
1
+ import type { RsbuildPlugin } from '@rsbuild/shared';
2
2
  export declare const pluginCopy: () => RsbuildPlugin;
@@ -1,5 +1,4 @@
1
- import { ModifyChainUtils, type Context, type BundlerChainRule } from '@rsbuild/shared';
2
- import type { RsbuildPlugin, NormalizedConfig } from '../types';
1
+ import { ModifyChainUtils, type Context, type RsbuildPlugin, type NormalizedConfig, type BundlerChainRule } from '@rsbuild/shared';
3
2
  export declare function applyBaseCSSRule({
4
3
  rule,
5
4
  config,
@@ -1,2 +1,2 @@
1
- import type { RsbuildPlugin } from '../types';
1
+ import { type RsbuildPlugin } from '@rsbuild/shared';
2
2
  export declare const pluginHMR: () => RsbuildPlugin;
@@ -1,5 +1,4 @@
1
- import { FileFilterUtil } from '@rsbuild/shared';
2
- import type { RsbuildPlugin } from '../types';
1
+ import { FileFilterUtil, type RsbuildPlugin } from '@rsbuild/shared';
3
2
  export type LessLoaderUtils = {
4
3
  addExcludes: FileFilterUtil;
5
4
  };
@@ -1,2 +1,2 @@
1
- import type { RsbuildPlugin } from '../types';
1
+ import { type RsbuildPlugin } from '@rsbuild/shared';
2
2
  export declare const pluginMinimize: () => RsbuildPlugin;
@@ -32,7 +32,6 @@ __export(minimize_exports, {
32
32
  });
33
33
  module.exports = __toCommonJS(minimize_exports);
34
34
  var import_shared = require("@rsbuild/shared");
35
- var import_plugin_css_minimizer = require("@rsbuild/plugin-css-minimizer");
36
35
  async function applyJSMinimizer(chain, config) {
37
36
  const { default: TerserPlugin } = await Promise.resolve().then(() => __toESM(require("terser-webpack-plugin")));
38
37
  const finalOptions = await (0, import_shared.getJSMinifyOptions)(config);
@@ -45,15 +44,12 @@ async function applyJSMinimizer(chain, config) {
45
44
  const pluginMinimize = () => ({
46
45
  name: "rsbuild-webpack:minimize",
47
46
  setup(api) {
48
- api.modifyBundlerChain(async (chain, { isProd, CHAIN_ID: CHAIN_ID2 }) => {
47
+ api.modifyBundlerChain(async (chain, { isProd }) => {
49
48
  const config = api.getNormalizedConfig();
50
49
  const isMinimize = isProd && !config.output.disableMinimize;
51
50
  chain.optimization.minimize(isMinimize);
52
51
  if (isMinimize) {
53
52
  await applyJSMinimizer(chain, config);
54
- await (0, import_plugin_css_minimizer.applyCSSMinimizer)(chain, CHAIN_ID2, {
55
- pluginOptions: config.tools.minifyCss
56
- });
57
53
  }
58
54
  });
59
55
  }
@@ -1,2 +1,2 @@
1
- import type { RsbuildPlugin } from '../types';
1
+ import { type RsbuildPlugin } from '@rsbuild/shared';
2
2
  export declare const pluginOutput: () => RsbuildPlugin;
@@ -1,2 +1,2 @@
1
- import type { RsbuildPlugin } from '../types';
1
+ import { type RsbuildPlugin } from '@rsbuild/shared';
2
2
  export declare const pluginProgress: () => RsbuildPlugin;
@@ -41,7 +41,7 @@ const pluginProgress = () => ({
41
41
  if (!options) {
42
42
  return;
43
43
  }
44
- const { ProgressPlugin } = await Promise.resolve().then(() => __toESM(require("../webpackPlugins/ProgressPlugin/ProgressPlugin")));
44
+ const { ProgressPlugin } = await Promise.resolve().then(() => __toESM(require("../ProgressPlugin/ProgressPlugin")));
45
45
  chain.plugin(CHAIN_ID.PLUGIN.PROGRESS).use(ProgressPlugin, [
46
46
  {
47
47
  id: import_shared.TARGET_ID_MAP[target],
@@ -1,2 +1,2 @@
1
- import type { RsbuildPlugin } from '../types';
1
+ import { type RsbuildPlugin } from '@rsbuild/shared';
2
2
  export declare const pluginResolve: () => RsbuildPlugin;
@@ -31,8 +31,8 @@ __export(resolve_exports, {
31
31
  pluginResolve: () => pluginResolve
32
32
  });
33
33
  module.exports = __toCommonJS(resolve_exports);
34
- var import_shared = require("@rsbuild/shared");
35
34
  var import_path = __toESM(require("path"));
35
+ var import_shared = require("@rsbuild/shared");
36
36
  async function applyTsConfigPathsPlugin({
37
37
  chain,
38
38
  CHAIN_ID,
@@ -1,2 +1,2 @@
1
- import type { RsbuildPlugin } from '../types';
1
+ import { type RsbuildPlugin } from '@rsbuild/shared';
2
2
  export declare function pluginSass(): RsbuildPlugin;
@@ -1,8 +1,6 @@
1
- import { type RsbuildProvider } from '@rsbuild/shared';
2
- import { RsbuildConfig, NormalizedConfig, WebpackConfig } from './types';
3
- export type WebpackProvider = RsbuildProvider<RsbuildConfig, WebpackConfig, NormalizedConfig>;
1
+ import { type RsbuildConfig, type RsbuildProvider } from '@rsbuild/shared';
4
2
  export declare function webpackProvider({
5
3
  rsbuildConfig: originalRsbuildConfig
6
4
  }: {
7
5
  rsbuildConfig: RsbuildConfig;
8
- }): WebpackProvider;
6
+ }): RsbuildProvider;
package/dist/provider.js CHANGED
@@ -32,25 +32,24 @@ __export(provider_exports, {
32
32
  });
33
33
  module.exports = __toCommonJS(provider_exports);
34
34
  var import_shared = require("@rsbuild/shared");
35
- var import_rspack_provider = require("@rsbuild/core/rspack-provider");
35
+ var import_provider = require("@rsbuild/core/provider");
36
36
  var import_createContext = require("./core/createContext");
37
- var import_plugin = require("./shared/plugin");
37
+ var import_shared2 = require("./shared");
38
38
  var import_initConfigs = require("./core/initConfigs");
39
- var import_initPlugins = require("./core/initPlugins");
40
39
  function webpackProvider({
41
40
  rsbuildConfig: originalRsbuildConfig
42
41
  }) {
43
42
  const rsbuildConfig = (0, import_shared.pickRsbuildConfig)(originalRsbuildConfig);
44
43
  return async ({ pluginStore, rsbuildOptions, plugins }) => {
45
44
  const context = await (0, import_createContext.createContext)(rsbuildOptions, rsbuildConfig);
46
- const pluginAPI = (0, import_initPlugins.getPluginAPI)({ context, pluginStore });
45
+ const pluginAPI = (0, import_provider.getPluginAPI)({ context, pluginStore });
47
46
  context.pluginAPI = pluginAPI;
48
47
  return {
49
48
  bundler: "webpack",
50
49
  pluginAPI,
51
- publicContext: (0, import_rspack_provider.createPublicContext)(context),
50
+ publicContext: (0, import_provider.createPublicContext)(context),
52
51
  async applyDefaultPlugins() {
53
- pluginStore.addPlugins(await (0, import_plugin.applyDefaultPlugins)(plugins));
52
+ pluginStore.addPlugins(await (0, import_shared2.applyDefaultPlugins)(plugins));
54
53
  },
55
54
  async initConfigs() {
56
55
  const { webpackConfigs } = await (0, import_initConfigs.initConfigs)({
@@ -72,35 +71,28 @@ function webpackProvider({
72
71
  async startDevServer(options) {
73
72
  const { startDevServer } = await Promise.resolve().then(() => __toESM(require("@rsbuild/core/server")));
74
73
  const { createDevMiddleware } = await Promise.resolve().then(() => __toESM(require("./core/createCompiler")));
75
- await (0, import_rspack_provider.initRsbuildConfig)({
76
- // @ts-expect-error context type mismatch
74
+ await (0, import_provider.initRsbuildConfig)({
77
75
  context,
78
76
  pluginStore
79
77
  });
80
78
  return startDevServer(
81
79
  {
82
- // @ts-expect-error context type mismatch
83
80
  context,
84
81
  pluginStore,
85
82
  rsbuildOptions
86
83
  },
84
+ // @ts-expect-error compile type mismatch
87
85
  createDevMiddleware,
88
86
  options
89
87
  );
90
88
  },
91
89
  async preview(options) {
92
90
  const { startProdServer } = await Promise.resolve().then(() => __toESM(require("@rsbuild/core/server")));
93
- await (0, import_rspack_provider.initRsbuildConfig)({
94
- // @ts-expect-error context type mismatch
91
+ await (0, import_provider.initRsbuildConfig)({
95
92
  context,
96
93
  pluginStore
97
94
  });
98
- return startProdServer(
99
- // @ts-expect-error context type mismatch
100
- context,
101
- context.config,
102
- options
103
- );
95
+ return startProdServer(context, context.config, options);
104
96
  },
105
97
  async build(options) {
106
98
  const { build: buildImpl, webpackBuild } = await Promise.resolve().then(() => __toESM(require("./core/build")));
@@ -0,0 +1,3 @@
1
+ import { type Plugins, type RsbuildPlugin } from '@rsbuild/shared';
2
+ export declare const applyDefaultPlugins: (plugins: Plugins) => import("@rsbuild/shared").AwaitableGetter<RsbuildPlugin>;
3
+ export declare const getCompiledPath: (packageName: string) => string;
@@ -26,37 +26,39 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var plugin_exports = {};
30
- __export(plugin_exports, {
31
- applyDefaultPlugins: () => applyDefaultPlugins
29
+ var shared_exports = {};
30
+ __export(shared_exports, {
31
+ applyDefaultPlugins: () => applyDefaultPlugins,
32
+ getCompiledPath: () => getCompiledPath
32
33
  });
33
- module.exports = __toCommonJS(plugin_exports);
34
+ module.exports = __toCommonJS(shared_exports);
35
+ var import_fs = __toESM(require("fs"));
36
+ var import_path = require("path");
34
37
  var import_shared = require("@rsbuild/shared");
35
- const applyDefaultPlugins = (plugins) => (0, import_shared.awaitableGetter)([
36
- Promise.resolve().then(() => __toESM(require("../plugins/basic"))).then((m) => m.pluginBasic()),
38
+ var import_shared2 = require("@rsbuild/shared");
39
+ const applyDefaultPlugins = (plugins) => (0, import_shared2.awaitableGetter)([
40
+ Promise.resolve().then(() => __toESM(require("./plugins/basic"))).then((m) => m.pluginBasic()),
37
41
  plugins.entry?.(),
38
42
  plugins.cache?.(),
39
43
  plugins.target?.(),
40
- Promise.resolve().then(() => __toESM(require("../plugins/output"))).then((m) => m.pluginOutput()),
44
+ Promise.resolve().then(() => __toESM(require("./plugins/output"))).then((m) => m.pluginOutput()),
41
45
  plugins.devtool(),
42
- Promise.resolve().then(() => __toESM(require("../plugins/resolve"))).then((m) => m.pluginResolve()),
46
+ Promise.resolve().then(() => __toESM(require("./plugins/resolve"))).then((m) => m.pluginResolve()),
43
47
  plugins.fileSize?.(),
44
48
  plugins.cleanOutput?.(),
45
- Promise.resolve().then(() => __toESM(require("../plugins/hmr"))).then((m) => m.pluginHMR()),
49
+ Promise.resolve().then(() => __toESM(require("./plugins/hmr"))).then((m) => m.pluginHMR()),
46
50
  plugins.asset(),
47
- Promise.resolve().then(() => __toESM(require("../plugins/copy"))).then((m) => m.pluginCopy()),
51
+ Promise.resolve().then(() => __toESM(require("./plugins/copy"))).then((m) => m.pluginCopy()),
48
52
  plugins.html(),
49
53
  plugins.wasm(),
50
54
  plugins.moment(),
51
55
  plugins.nodeAddons(),
52
56
  plugins.define(),
53
- Promise.resolve().then(() => __toESM(require("../plugins/progress"))).then((m) => m.pluginProgress()),
54
- Promise.resolve().then(() => __toESM(require("../plugins/minimize"))).then((m) => m.pluginMinimize()),
55
- Promise.resolve().then(() => __toESM(require("../plugins/babel"))).then((m) => m.pluginBabel()),
56
- Promise.resolve().then(() => __toESM(require("../plugins/react"))).then((m) => m.pluginReactWebpack()),
57
- Promise.resolve().then(() => __toESM(require("../plugins/css"))).then((m) => m.pluginCss()),
58
- Promise.resolve().then(() => __toESM(require("../plugins/sass"))).then((m) => m.pluginSass()),
59
- Promise.resolve().then(() => __toESM(require("../plugins/less"))).then((m) => m.pluginLess()),
57
+ Promise.resolve().then(() => __toESM(require("./plugins/progress"))).then((m) => m.pluginProgress()),
58
+ Promise.resolve().then(() => __toESM(require("./plugins/minimize"))).then((m) => m.pluginMinimize()),
59
+ Promise.resolve().then(() => __toESM(require("./plugins/css"))).then((m) => m.pluginCss()),
60
+ Promise.resolve().then(() => __toESM(require("./plugins/sass"))).then((m) => m.pluginSass()),
61
+ Promise.resolve().then(() => __toESM(require("./plugins/less"))).then((m) => m.pluginLess()),
60
62
  plugins.bundleAnalyzer(),
61
63
  plugins.toml(),
62
64
  plugins.yaml(),
@@ -66,9 +68,19 @@ const applyDefaultPlugins = (plugins) => (0, import_shared.awaitableGetter)([
66
68
  plugins.externals(),
67
69
  plugins.performance(),
68
70
  plugins.networkPerformance(),
69
- plugins.preloadOrPrefetch()
71
+ plugins.preloadOrPrefetch(),
72
+ plugins.server()
70
73
  ]);
74
+ const getCompiledPath = (packageName) => {
75
+ const providerCompilerPath = (0, import_path.join)(__dirname, "../../compiled", packageName);
76
+ if (import_fs.default.existsSync(providerCompilerPath)) {
77
+ return providerCompilerPath;
78
+ } else {
79
+ return (0, import_shared.getSharedPkgCompiledPath)(packageName);
80
+ }
81
+ };
71
82
  // Annotate the CommonJS export names for ESM import in node:
72
83
  0 && (module.exports = {
73
- applyDefaultPlugins
84
+ applyDefaultPlugins,
85
+ getCompiledPath
74
86
  });
@@ -0,0 +1,4 @@
1
+ import type webpack from 'webpack';
2
+ import type { WebpackChain } from '@rsbuild/shared';
3
+ import type { Configuration as WebpackConfig } from 'webpack';
4
+ export type { webpack, WebpackChain, WebpackConfig };
@@ -12,5 +12,5 @@ var __copyProps = (to, from, except, desc) => {
12
12
  return to;
13
13
  };
14
14
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
- var css_exports = {};
16
- module.exports = __toCommonJS(css_exports);
15
+ var types_exports = {};
16
+ module.exports = __toCommonJS(types_exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rsbuild/webpack",
3
- "version": "0.1.5",
3
+ "version": "0.1.7",
4
4
  "homepage": "https://rsbuild.dev",
5
5
  "repository": {
6
6
  "type": "git",
@@ -16,10 +16,6 @@
16
16
  "./plugin-css": {
17
17
  "types": "./dist/plugins/css.d.ts",
18
18
  "default": "./dist/plugins/css.js"
19
- },
20
- "./plugin-babel": {
21
- "types": "./dist/plugins/babel.d.ts",
22
- "default": "./dist/plugins/babel.js"
23
19
  }
24
20
  },
25
21
  "main": "./dist/index.js",
@@ -30,43 +26,22 @@
30
26
  "dist"
31
27
  ],
32
28
  "dependencies": {
33
- "@babel/core": "^7.23.2",
34
- "@babel/preset-react": "^7.22.15",
35
- "@babel/types": "^7.23.0",
36
- "@pmmmwh/react-refresh-webpack-plugin": "0.5.10",
37
- "babel-loader": "9.1.3",
38
- "babel-plugin-import": "1.13.5",
39
- "babel-plugin-transform-react-remove-prop-types": "0.4.24",
40
- "caniuse-lite": "^1.0.30001559",
41
29
  "fast-glob": "^3.3.1",
42
- "glob": "^9.3.5",
43
30
  "globby": "^11.1.0",
44
31
  "html-webpack-plugin": "npm:html-rspack-plugin@5.5.7",
45
- "lodash": "^4.17.21",
46
32
  "mini-css-extract-plugin": "2.7.6",
47
33
  "postcss": "8.4.31",
48
- "react-refresh": "^0.14.0",
49
34
  "style-loader": "3.3.3",
50
35
  "terser-webpack-plugin": "5.3.9",
51
36
  "tsconfig-paths-webpack-plugin": "4.1.0",
52
37
  "webpack": "^5.89.0",
53
- "@rsbuild/babel-preset": "0.1.5",
54
- "@rsbuild/plugin-babel": "0.1.5",
55
- "@rsbuild/plugin-react": "0.1.5",
56
- "@rsbuild/core": "0.1.5",
57
- "@rsbuild/plugin-css-minimizer": "0.1.5",
58
- "@rsbuild/shared": "0.1.5"
38
+ "@rsbuild/core": "0.1.7",
39
+ "@rsbuild/shared": "0.1.7"
59
40
  },
60
41
  "devDependencies": {
61
- "@types/lodash": "^4.14.200",
62
42
  "@types/node": "^16",
63
- "react": "^18.2.0",
64
- "react-dom": "^18.2.0",
65
43
  "typescript": "^5.3.0",
66
- "@rsbuild/test-helper": "0.1.5"
67
- },
68
- "engines": {
69
- "node": ">=14.0.0"
44
+ "@rsbuild/test-helper": "0.1.7"
70
45
  },
71
46
  "publishConfig": {
72
47
  "access": "public",
@@ -1 +0,0 @@
1
- export = any;
@@ -1 +0,0 @@
1
- (()=>{var e={443:(e,t)=>{"use strict";t.__esModule=true;t["default"]=MapCtor;function MapCtor(e){return Object.setPrototypeOf(new Map(e),Object.getPrototypeOf(this))}MapCtor.prototype=Map.prototype;e.exports=t["default"]},390:(e,t,r)=>{"use strict";t.__esModule=true;t["default"]=void 0;var a=_interopRequireDefault(r(443));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _inheritsLoose(e,t){e.prototype=Object.create(t.prototype);e.prototype.constructor=e;e.__proto__=t}var i={};var s=function(e){_inheritsLoose(MapCache,e);function MapCache(){return e.apply(this,arguments)||this}var t=MapCache.prototype;t.clear=function clear(){e.prototype.clear.call(this);return this};t.findKey=function findKey(e){var t;try{this.forEach((function(r,a,s){if(e(r,a,s)){t=a;throw i}}))}catch(e){if(e!==i){throw e}}return t};return MapCache}(a.default);t["default"]=s;e.exports=t["default"]},537:(e,t,r)=>{"use strict";t.__esModule=true;t["default"]=void 0;var a=_interopRequireDefault(r(848));var i=_interopRequireDefault(r(30));var s=_interopRequireDefault(r(823));var o=_interopRequireDefault(r(320));var n=_interopRequireDefault(r(765));var u=_interopRequireDefault(r(865));var l=_interopRequireDefault(r(147));var f=_interopRequireDefault(r(205));var d=_interopRequireDefault(r(390));var p=_interopRequireDefault(r(188));var c=r(906);var h=_interopRequireDefault(r(17));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _assertThisInitialized(e){if(e===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}function _inheritsLoose(e,t){e.prototype=Object.create(t.prototype);e.prototype.constructor=e;e.__proto__=t}var m=function(e){_inheritsLoose(ModuleCache,e);function ModuleCache(t){var r;r=e.call(this)||this;t=(0,u.default)(t);if(!t){return _assertThisInitialized(r)}var a=h.default.join(t,"package.json");var p=l.default.existsSync(a)&&require(a).main||"index.js";var m=(0,c.normalizePath)(h.default.dirname(h.default.resolve(t,p)));var _=(0,n.default)(f.default.sync(h.default.join(t,"**/"),{ignore:h.default.join(t,"node_modules/**/")}),(function(e){return(0,o.default)(e,m)}),["desc"]);(0,s.default)(_,(function(e){var a=h.default.relative(t,e);var s=f.default.sync(h.default.join(e,"*.js"));var o=(0,i.default)(s,(function(e){var t=h.default.basename(e,".js");return[t.toLowerCase(),t]}));r.set(a,new d.default(o))}));return r}ModuleCache.resolve=function resolve(e,t){if(t===void 0){t=process.cwd()}try{var r=h.default.dirname(p.default._resolveFilename(e,(0,a.default)(new p.default,{paths:p.default._nodeModulePaths(t)}))).split(h.default.sep);var i=r.length;while(i--){var s=r.slice(0,i+1);var o=s.join("/");var n=h.default.join(o,"package.json");if(i&&r[i-1]=="node_modules"||l.default.existsSync(n)&&require(n).name==e){return o}}return r.join("/")}catch(e){}return""};return ModuleCache}(d.default);t["default"]=m;e.exports=t["default"]},715:(e,t,r)=>{"use strict";t.__esModule=true;t["default"]=void 0;var a=_interopRequireDefault(r(73));var i=_interopRequireDefault(r(865));var s=_interopRequireDefault(r(72));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var o=/^lodash(?:-compat|-es)?$/;var n=function Package(e){e=(0,i.default)(e);var t=(0,s.default)(e);this.base=e.replace(new RegExp(t+"/?"),"");this.id=t;this.isLodash=(0,a.default)(o.test(this.id));this.path=e};t["default"]=n;e.exports=t["default"]},498:(e,t,r)=>{"use strict";t.__esModule=true;t["default"]=void 0;var a=_interopRequireDefault(r(823));var i=_interopRequireDefault(r(390));var s=r(906);var o=_interopRequireDefault(r(715));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _inheritsLoose(e,t){e.prototype=Object.create(t.prototype);e.prototype.constructor=e;e.__proto__=t}var n=function(e){_inheritsLoose(Store,e);function Store(t){var r;r=e.call(this)||this;(0,a.default)(t,(function(e){return r.set(e)}));return r}var t=Store.prototype;t.get=function get(t){return e.prototype.get.call(this,(0,s.normalizePath)(t))};t.set=function set(t,r){if(r===void 0){r=new o.default((0,s.normalizePath)(t))}return e.prototype.set.call(this,(0,s.normalizePath)(t),r)};return Store}(i.default);t["default"]=n;e.exports=t["default"]},176:(e,t,r)=>{"use strict";t.__esModule=true;t["default"]=config;var a=_interopRequireDefault(r(779));var i=_interopRequireDefault(r(823));var s=_interopRequireDefault(r(390));var o=_interopRequireDefault(r(537));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var n=["lodash","lodash-es","lodash-compat"];var u;var l=[];var f=new s.default;function config(e){var t=e===void 0?{}:e,r=t.cwd,s=r===void 0?process.cwd():r,d=t.id,p=d===void 0?n:d;if(u!==s){u=s;f.clear()}(0,i.default)((0,a.default)(p),(function(e){if(!f.get(e)){var t=o.default.resolve(e,s);if(t){l.push(e);f.set(e,new o.default(t))}}}));return{ids:l,modules:f}}e.exports=t["default"]},445:(e,t,r)=>{"use strict";t.__esModule=true;t["default"]=void 0;var a=_interopRequireDefault(r(319));var i=r(408);var s=_interopRequireDefault(r(698));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function resolvePath(e,t,r){var a=e.base,i=e.id;var o=t.toLowerCase();var n=s.default.modules.get(i);if(!n.get(a).has(o)){a=a?"":n.findKey((function(e){return e.has(o)}));if(!a){throw r.buildCodeFrameError([`The '${i}' method \`${t}\` is not a known module.`,"Please report bugs to https://github.com/lodash/babel-plugin-lodash/issues."].join("\n"))}}return i+"/"+(a?a+"/":"")+n.get(a).get(o)}function importModule(e,t,r){return(0,i.addDefault)(r,resolvePath(e,t,r),{nameHint:t})}var o=(0,a.default)(importModule,(function(e,t){return(e.path+"/"+t).toLowerCase()}));t["default"]=o;e.exports=t["default"]},380:(e,t,r)=>{"use strict";t.__esModule=true;t["default"]=lodash;var a=_interopRequireDefault(r(80));var i=_interopRequireDefault(r(163));var s=_interopRequireDefault(r(823));var o=_interopRequireDefault(r(848));var n=r(638);var u=_interopRequireDefault(r(176));var l=_interopRequireDefault(r(445));var f=_interopRequireDefault(r(698));var d=_interopRequireDefault(r(498));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var p=["Lodash chain sequences are not supported by babel-plugin-lodash.","Consider substituting chain sequences with composition patterns.","See https://medium.com/making-internets/why-using-chain-is-a-mistake-9bc1f80d51ba"].join("\n");function lodash(e){var t=e.types;var r={PLACEHOLDER:t.identifier("placeholder"),UNDEFINED:t.identifier("undefined")};var c=new d.default;function getCallee(e){var r=e.parentPath;while(!r.isStatement()){if(r.isCallExpression()){var a=r.node.callee;while(t.isCallExpression(a)){a=a.callee}return a}r=r.parentPath}}var h={Program(e,a){var d=(0,o.default)(f.default,(0,u.default)(a.opts)),h=d.ids;var m=e.hub.file;l.default.cache.clear();c.clear();(0,s.default)(h,(function(e){c.set(e);f.default.modules.get(e).forEach((function(t,r){c.set(e+"/"+r)}))}));var _=[];var v=false;for(var b=m.ast.program.body,y=Array.isArray(b),g=0,b=y?b:b[Symbol.iterator]();;){var D;if(y){if(g>=b.length)break;D=b[g++]}else{g=b.next();if(g.done)break;D=g.value}var q=D;if((0,n.isImportDeclaration)(q)||(0,n.isExportDeclaration)(q)){v=true;break}}if(v){m.path.traverse({ImportDeclaration:{exit(e){var t=e.node;var r=[];var a=[];_.push({source:t.source.value,imported:r,specifiers:a});for(var i=e.get("specifiers"),s=Array.isArray(i),o=0,i=s?i:i[Symbol.iterator]();;){var n;if(s){if(o>=i.length)break;n=i[o++]}else{o=i.next();if(o.done)break;n=o.value}var u=n;var l=u.node.local.name;if(u.isImportDefaultSpecifier()){r.push("default");a.push({kind:"named",imported:"default",local:l})}if(u.isImportSpecifier()){var f=u.node.imported.name;r.push(f);a.push({kind:"named",imported:f,local:l})}if(u.isImportNamespaceSpecifier()){r.push("*");a.push({kind:"namespace",local:l})}}}}})}(0,s.default)(_,(function(e){var a=c.get(e.source);if(!a){return}var o=a.isLodash();var n=(0,i.default)(e.specifiers,(function(e){return e.imported==="default"}));(0,s.default)(n,(function(e){var i=e.imported,n=e.local;var u=m.scope.getBinding(n);var f=u.path.parent.importKind,d=f===void 0?"value":f;if(d!="value"){return}var c=o&&i==="chain";(0,s.default)(u.referencePaths,(function(e){var s=e.node,u=e.parentPath;var f=s.type;if(i&&i!=="default"){if(c&&e.parentPath.isCallExpression()){throw e.buildCodeFrameError(p)}var d=(0,l.default)(a,i,e),h=d.name;e.replaceWith({type:f,name:h})}else if(u.isMemberExpression()){var m=e.parent.property.name;if(o&&m==="chain"&&u.parentPath.isCallExpression()){throw e.buildCodeFrameError(p)}var _=(0,l.default)(a,m,e),v=_.name;u.replaceWith({type:f,name:v})}else if(o){var b=getCallee(e);if(b&&b.name===n){throw e.buildCodeFrameError(p)}e.replaceWith(b?t.memberExpression(b,r.PLACEHOLDER):r.UNDEFINED)}}))}))}))},ImportDeclaration(e){if(c.get(e.node.source.value)){e.remove()}},ExportNamedDeclaration(e){var t=e.node;var r=(0,a.default)(t,"source.value");var i=c.get(r);if(!i){return}t.source=null;(0,s.default)(t.specifiers,(function(t){t.local=(0,l.default)(i,t.local.name,e)}))}};return{visitor:h}}e.exports=t["default"]},698:(e,t,r)=>{"use strict";t.__esModule=true;t["default"]=void 0;var a=_interopRequireDefault(r(176));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var i=(0,a.default)();t["default"]=i;e.exports=t["default"]},906:(e,t,r)=>{"use strict";t.__esModule=true;t.normalizePath=normalizePath;var a=_interopRequireDefault(r(865));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function normalizePath(e){return(0,a.default)(e).replace(/\\/g,"/")}},72:e=>{var t=/^(?:(@[^/]+)[/]+)([^/]+)[/]?/;var r=/^([^/]+)[/]?/;e.exports=extract.bind(null,false);e.exports.base=extract.bind(null,true);function extract(e,a){if(/^@/.test(a)){var i=t.exec(a);if(!i||!i[1]||!i[2])return null;if(e)return i[2]||null;return[i[1],i[2]].join("/")}else{var i=r.exec(a);if(!i)return null;return i[1]||null}}},638:e=>{"use strict";e.exports=require("@babel/types")},205:e=>{"use strict";e.exports=require("glob")},491:e=>{"use strict";e.exports=require("assert")},147:e=>{"use strict";e.exports=require("fs")},848:e=>{"use strict";e.exports=require("lodash/assign")},779:e=>{"use strict";e.exports=require("lodash/castArray")},73:e=>{"use strict";e.exports=require("lodash/constant")},823:e=>{"use strict";e.exports=require("lodash/each")},80:e=>{"use strict";e.exports=require("lodash/get")},30:e=>{"use strict";e.exports=require("lodash/map")},319:e=>{"use strict";e.exports=require("lodash/memoize")},765:e=>{"use strict";e.exports=require("lodash/orderBy")},163:e=>{"use strict";e.exports=require("lodash/sortBy")},320:e=>{"use strict";e.exports=require("lodash/startsWith")},865:e=>{"use strict";e.exports=require("lodash/toString")},188:e=>{"use strict";e.exports=require("module")},17:e=>{"use strict";e.exports=require("path")},79:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var a=r(491);var i=r(638);const{callExpression:s,cloneNode:o,expressionStatement:n,identifier:u,importDeclaration:l,importDefaultSpecifier:f,importNamespaceSpecifier:d,importSpecifier:p,memberExpression:c,stringLiteral:h,variableDeclaration:m,variableDeclarator:_}=i;class ImportBuilder{constructor(e,t,r){this._statements=[];this._resultName=null;this._importedSource=void 0;this._scope=t;this._hub=r;this._importedSource=e}done(){return{statements:this._statements,resultName:this._resultName}}import(){this._statements.push(l([],h(this._importedSource)));return this}require(){this._statements.push(n(s(u("require"),[h(this._importedSource)])));return this}namespace(e="namespace"){const t=this._scope.generateUidIdentifier(e);const r=this._statements[this._statements.length-1];a(r.type==="ImportDeclaration");a(r.specifiers.length===0);r.specifiers=[d(t)];this._resultName=o(t);return this}default(e){const t=this._scope.generateUidIdentifier(e);const r=this._statements[this._statements.length-1];a(r.type==="ImportDeclaration");a(r.specifiers.length===0);r.specifiers=[f(t)];this._resultName=o(t);return this}named(e,t){if(t==="default")return this.default(e);const r=this._scope.generateUidIdentifier(e);const i=this._statements[this._statements.length-1];a(i.type==="ImportDeclaration");a(i.specifiers.length===0);i.specifiers=[p(r,u(t))];this._resultName=o(r);return this}var(e){const t=this._scope.generateUidIdentifier(e);let r=this._statements[this._statements.length-1];if(r.type!=="ExpressionStatement"){a(this._resultName);r=n(this._resultName);this._statements.push(r)}this._statements[this._statements.length-1]=m("var",[_(t,r.expression)]);this._resultName=o(t);return this}defaultInterop(){return this._interop(this._hub.addHelper("interopRequireDefault"))}wildcardInterop(){return this._interop(this._hub.addHelper("interopRequireWildcard"))}_interop(e){const t=this._statements[this._statements.length-1];if(t.type==="ExpressionStatement"){t.expression=s(e,[t.expression])}else if(t.type==="VariableDeclaration"){a(t.declarations.length===1);t.declarations[0].init=s(e,[t.declarations[0].init])}else{a.fail("Unexpected type.")}return this}prop(e){const t=this._statements[this._statements.length-1];if(t.type==="ExpressionStatement"){t.expression=c(t.expression,u(e))}else if(t.type==="VariableDeclaration"){a(t.declarations.length===1);t.declarations[0].init=c(t.declarations[0].init,u(e))}else{a.fail("Unexpected type:"+t.type)}return this}read(e){this._resultName=c(this._resultName,u(e))}}t["default"]=ImportBuilder},378:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var a=r(491);var i=r(638);var s=r(79);var o=r(898);const{numericLiteral:n,sequenceExpression:u}=i;class ImportInjector{constructor(e,t,r){this._defaultOpts={importedSource:null,importedType:"commonjs",importedInterop:"babel",importingInterop:"babel",ensureLiveReference:false,ensureNoContext:false,importPosition:"before"};const a=e.find((e=>e.isProgram()));this._programPath=a;this._programScope=a.scope;this._hub=a.hub;this._defaultOpts=this._applyDefaults(t,r,true)}addDefault(e,t){return this.addNamed("default",e,t)}addNamed(e,t,r){a(typeof e==="string");return this._generateImport(this._applyDefaults(t,r),e)}addNamespace(e,t){return this._generateImport(this._applyDefaults(e,t),null)}addSideEffect(e,t){return this._generateImport(this._applyDefaults(e,t),void 0)}_applyDefaults(e,t,r=false){let i;if(typeof e==="string"){i=Object.assign({},this._defaultOpts,{importedSource:e},t)}else{a(!t,"Unexpected secondary arguments.");i=Object.assign({},this._defaultOpts,e)}if(!r&&t){if(t.nameHint!==undefined)i.nameHint=t.nameHint;if(t.blockHoist!==undefined)i.blockHoist=t.blockHoist}return i}_generateImport(e,t){const r=t==="default";const a=!!t&&!r;const i=t===null;const{importedSource:l,importedType:f,importedInterop:d,importingInterop:p,ensureLiveReference:c,ensureNoContext:h,nameHint:m,importPosition:_,blockHoist:v}=e;let b=m||t;const y=(0,o.default)(this._programPath);const g=y&&p==="node";const D=y&&p==="babel";if(_==="after"&&!y){throw new Error(`"importPosition": "after" is only supported in modules`)}const q=new s.default(l,this._programScope,this._hub);if(f==="es6"){if(!g&&!D){throw new Error("Cannot import an ES6 module from CommonJS")}q.import();if(i){q.namespace(m||l)}else if(r||a){q.named(b,t)}}else if(f!=="commonjs"){throw new Error(`Unexpected interopType "${f}"`)}else if(d==="babel"){if(g){b=b!=="default"?b:l;const e=`${l}$es6Default`;q.import();if(i){q.default(e).var(b||l).wildcardInterop()}else if(r){if(c){q.default(e).var(b||l).defaultInterop().read("default")}else{q.default(e).var(b).defaultInterop().prop(t)}}else if(a){q.default(e).read(t)}}else if(D){q.import();if(i){q.namespace(b||l)}else if(r||a){q.named(b,t)}}else{q.require();if(i){q.var(b||l).wildcardInterop()}else if((r||a)&&c){if(r){b=b!=="default"?b:l;q.var(b).read(t);q.defaultInterop()}else{q.var(l).read(t)}}else if(r){q.var(b).defaultInterop().prop(t)}else if(a){q.var(b).prop(t)}}}else if(d==="compiled"){if(g){q.import();if(i){q.default(b||l)}else if(r||a){q.default(l).read(b)}}else if(D){q.import();if(i){q.namespace(b||l)}else if(r||a){q.named(b,t)}}else{q.require();if(i){q.var(b||l)}else if(r||a){if(c){q.var(l).read(b)}else{q.prop(t).var(b)}}}}else if(d==="uncompiled"){if(r&&c){throw new Error("No live reference for commonjs default")}if(g){q.import();if(i){q.default(b||l)}else if(r){q.default(b)}else if(a){q.default(l).read(b)}}else if(D){q.import();if(i){q.default(b||l)}else if(r){q.default(b)}else if(a){q.named(b,t)}}else{q.require();if(i){q.var(b||l)}else if(r){q.var(b)}else if(a){if(c){q.var(l).read(b)}else{q.var(b).prop(t)}}}}else{throw new Error(`Unknown importedInterop "${d}".`)}const{statements:x,resultName:w}=q.done();this._insertStatements(x,_,v);if((r||a)&&h&&w.type!=="Identifier"){return u([n(0),w])}return w}_insertStatements(e,t="before",r=3){const a=this._programPath.get("body");if(t==="after"){for(let t=a.length-1;t>=0;t--){if(a[t].isImportDeclaration()){a[t].insertAfter(e);return}}}else{e.forEach((e=>{e._blockHoist=r}));const t=a.find((e=>{const t=e.node._blockHoist;return Number.isFinite(t)&&t<4}));if(t){t.insertBefore(e);return}}this._programPath.unshiftContainer("body",e)}}t["default"]=ImportInjector},408:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});Object.defineProperty(t,"ImportInjector",{enumerable:true,get:function(){return a.default}});t.addDefault=addDefault;t.addNamed=addNamed;t.addNamespace=addNamespace;t.addSideEffect=addSideEffect;Object.defineProperty(t,"isModule",{enumerable:true,get:function(){return i.default}});var a=r(378);var i=r(898);function addDefault(e,t,r){return new a.default(e).addDefault(t,r)}function addNamed(e,t,r,i){return new a.default(e).addNamed(t,r,i)}function addNamespace(e,t,r){return new a.default(e).addNamespace(t,r)}function addSideEffect(e,t,r){return new a.default(e).addSideEffect(t,r)}},898:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=isModule;function isModule(e){return e.node.sourceType==="module"}}};var t={};function __nccwpck_require__(r){var a=t[r];if(a!==undefined){return a.exports}var i=t[r]={exports:{}};var s=true;try{e[r](i,i.exports,__nccwpck_require__);s=false}finally{if(s)delete t[r]}return i.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var r=__nccwpck_require__(380);module.exports=r})();