Skip to content

Commit 3bfb849

Browse files
committed
feat: display message if user ended up opening hook script
1 parent 09d8283 commit 3bfb849

File tree

1 file changed

+53
-0
lines changed

1 file changed

+53
-0
lines changed

packages/react-devtools-extensions/webpack.config.js

+53
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,59 @@ module.exports = {
154154
);
155155
},
156156
}),
157+
{
158+
apply(compiler) {
159+
const {RawSource} = compiler.webpack.sources;
160+
161+
compiler.hooks.compilation.tap(
162+
'CustomContentForHookScriptPlugin',
163+
compilation => {
164+
compilation.hooks.processAssets.tap(
165+
{
166+
name: 'CustomContentForHookScriptPlugin',
167+
stage: Webpack.Compilation.PROCESS_ASSETS_STAGE_DEV_TOOLING,
168+
additionalAssets: true,
169+
},
170+
assets => {
171+
// eslint-disable-next-line no-for-of-loops/no-for-of-loops
172+
for (const [name, asset] of Object.entries(assets)) {
173+
if (name !== 'installHook.js.map') {
174+
continue;
175+
}
176+
177+
const mapContent = asset.source().toString();
178+
if (!mapContent) {
179+
continue;
180+
}
181+
182+
const map = JSON.parse(mapContent);
183+
map.sourcesContent = map.sources.map(sourceName => {
184+
if (!sourceName.endsWith('/hook.js')) {
185+
return null;
186+
}
187+
188+
return (
189+
'/*\n' +
190+
' * This script is from React DevTools.\n' +
191+
" * You're likely here because you thought it sent an error or warning to the console.\n" +
192+
' * React DevTools patches the console to support features like appending component stacks, \n' +
193+
' * so this file appears as a source. However, the console call actually came from another script.\n' +
194+
" * To remove this script from stack traces, open your browser's DevTools (to enable source mapping) before these console calls happen.\n" +
195+
' */'
196+
);
197+
});
198+
199+
compilation.updateAsset(
200+
name,
201+
new RawSource(JSON.stringify(map)),
202+
);
203+
}
204+
},
205+
);
206+
},
207+
);
208+
},
209+
},
157210
],
158211
module: {
159212
defaultRules: [

0 commit comments

Comments
 (0)