diff --git a/packages/react-devtools-extensions/build.js b/packages/react-devtools-extensions/build.js index 43bb7472be251..1c8322cd5c98e 100644 --- a/packages/react-devtools-extensions/build.js +++ b/packages/react-devtools-extensions/build.js @@ -66,14 +66,6 @@ const build = async (tempPath, manifestPath, envExtension = {}) => { stdio: 'inherit', }, ); - execSync( - `${webpackPath} --config webpack.backend.js --output-path ${binPath}`, - { - cwd: __dirname, - env: mergedEnv, - stdio: 'inherit', - }, - ); // Make temp dir await ensureDir(zipPath); diff --git a/packages/react-devtools-extensions/webpack.backend.js b/packages/react-devtools-extensions/webpack.backend.js deleted file mode 100644 index 18b86fd3d3733..0000000000000 --- a/packages/react-devtools-extensions/webpack.backend.js +++ /dev/null @@ -1,135 +0,0 @@ -'use strict'; - -const {resolve, isAbsolute, relative} = require('path'); -const Webpack = require('webpack'); -const TerserPlugin = require('terser-webpack-plugin'); - -const {resolveFeatureFlags} = require('react-devtools-shared/buildUtils'); -const SourceMapIgnoreListPlugin = require('react-devtools-shared/SourceMapIgnoreListPlugin'); - -const {GITHUB_URL, getVersionString} = require('./utils'); - -const NODE_ENV = process.env.NODE_ENV; -if (!NODE_ENV) { - console.error('NODE_ENV not set'); - process.exit(1); -} - -const builtModulesDir = resolve( - __dirname, - '..', - '..', - 'build', - 'oss-experimental', -); - -const __DEV__ = NODE_ENV === 'development'; - -const DEVTOOLS_VERSION = getVersionString(process.env.DEVTOOLS_VERSION); - -const IS_CHROME = process.env.IS_CHROME === 'true'; -const IS_FIREFOX = process.env.IS_FIREFOX === 'true'; -const IS_EDGE = process.env.IS_EDGE === 'true'; - -const featureFlagTarget = process.env.FEATURE_FLAG_TARGET || 'extension-oss'; - -module.exports = { - mode: __DEV__ ? 'development' : 'production', - devtool: false, - entry: { - backend: './src/backend.js', - }, - output: { - path: __dirname + '/build', - filename: 'react_devtools_backend_compact.js', - }, - node: { - global: false, - }, - resolve: { - alias: { - react: resolve(builtModulesDir, 'react'), - 'react-debug-tools': resolve(builtModulesDir, 'react-debug-tools'), - 'react-devtools-feature-flags': resolveFeatureFlags(featureFlagTarget), - 'react-dom': resolve(builtModulesDir, 'react-dom'), - 'react-is': resolve(builtModulesDir, 'react-is'), - scheduler: resolve(builtModulesDir, 'scheduler'), - }, - }, - optimization: { - minimize: !__DEV__, - minimizer: [ - new TerserPlugin({ - terserOptions: { - compress: { - unused: true, - dead_code: true, - }, - mangle: { - keep_fnames: true, - }, - format: { - comments: false, - }, - }, - extractComments: false, - }), - ], - }, - plugins: [ - new Webpack.ProvidePlugin({ - process: 'process/browser', - }), - new Webpack.DefinePlugin({ - __DEV__, - __PROFILE__: false, - // By importing `shared/` we may import ReactFeatureFlags - __EXPERIMENTAL__: true, - 'process.env.DEVTOOLS_PACKAGE': `"react-devtools-extensions"`, - 'process.env.DEVTOOLS_VERSION': `"${DEVTOOLS_VERSION}"`, - 'process.env.GITHUB_URL': `"${GITHUB_URL}"`, - 'process.env.IS_CHROME': IS_CHROME, - 'process.env.IS_FIREFOX': IS_FIREFOX, - 'process.env.IS_EDGE': IS_EDGE, - __IS_CHROME__: IS_CHROME, - __IS_FIREFOX__: IS_FIREFOX, - __IS_EDGE__: IS_EDGE, - __IS_NATIVE__: false, - __IS_INTERNAL_MCP_BUILD__: false, - }), - new Webpack.SourceMapDevToolPlugin({ - filename: '[file].map', - noSources: !__DEV__, - // https://github.com/webpack/webpack/issues/3603#issuecomment-1743147144 - moduleFilenameTemplate(info) { - const {absoluteResourcePath, namespace, resourcePath} = info; - - if (isAbsolute(absoluteResourcePath)) { - return relative(__dirname + '/build', absoluteResourcePath); - } - - // Mimic Webpack's default behavior: - return `webpack://${namespace}/${resourcePath}`; - }, - }), - new SourceMapIgnoreListPlugin({ - shouldIgnoreSource: () => !__DEV__, - }), - ], - module: { - rules: [ - { - test: /\.js$/, - loader: 'babel-loader', - options: { - configFile: resolve( - __dirname, - '..', - 'react-devtools-shared', - 'babel.config.js', - ), - }, - }, - ], - }, -}; diff --git a/packages/react-devtools-extensions/webpack.config.js b/packages/react-devtools-extensions/webpack.config.js index 26580dd853969..5c03d85dd9315 100644 --- a/packages/react-devtools-extensions/webpack.config.js +++ b/packages/react-devtools-extensions/webpack.config.js @@ -66,6 +66,7 @@ module.exports = { mode: __DEV__ ? 'development' : 'production', devtool: false, entry: { + backend: './src/backend.js', background: './src/background/index.js', backendManager: './src/contentScripts/backendManager.js', fileFetcher: './src/contentScripts/fileFetcher.js', @@ -79,7 +80,14 @@ module.exports = { output: { path: __dirname + '/build', publicPath: '/build/', - filename: '[name].js', + filename: chunkData => { + switch (chunkData.chunk.name) { + case 'backend': + return 'react_devtools_backend_compact.js'; + default: + return '[name].js'; + } + }, chunkFilename: '[name].chunk.js', }, node: { @@ -141,7 +149,7 @@ module.exports = { }), new Webpack.SourceMapDevToolPlugin({ filename: '[file].map', - include: 'installHook.js', + include: ['installHook.js', 'react_devtools_backend_compact.js'], noSources: !__DEV__, // https://github.com/webpack/webpack/issues/3603#issuecomment-1743147144 moduleFilenameTemplate(info) { @@ -163,6 +171,7 @@ module.exports = { } const contentScriptNamesToIgnoreList = [ + 'react_devtools_backend_compact', // This is where we override console 'installHook', ];