webpack-obfuscator: Uncaught ReferenceError: __webpack_require__ is not defined

My config file:
const webpack = require('webpack');
const JavaScriptObfuscator = require('webpack-obfuscator');
const path = require('path');
const BUILD_DIR = path.resolve(__dirname, './public');
const APP_DIR = path.resolve(__dirname, 'src/');
const config = {
entry: `${APP_DIR}/index.js`,
output: {
path: BUILD_DIR,
filename: 'bundle.js',
},
devServer: {
historyApiFallback: true,
},
module: {
loaders: [
{
enforce: 'pre',
test: /\.js$/,
exclude: /node_modules/,
loader: 'eslint-loader',
},
{
test: /\.js$/,
include: APP_DIR,
loader: 'babel-loader',
},
{
test: /\.(png|jpg|gif)$/,
use: [
{
loader: 'file-loader',
options: {
name: 'images/[name].[ext]',
},
},
],
},
{
test: /\.(gif|png|jpe?g|svg)$/i,
use: [
'file-loader',
{
loader: 'image-webpack-loader',
},
],
},
],
},
plugins: [
new JavaScriptObfuscator({
rotateUnicodeArray: false,
}),
],
};
module.exports = config;
My package.json:
"name": "whatever",
"version": "0.1.0",
"private": true,
"dependencies": {
"babel-preset-stage-2": "^6.24.1",
"backendless": "^4.3.0",
"eslint": "^3.19.0",
"eslint-config-airbnb": "^14.1.0",
"eslint-loader": "^1.9.0",
"eslint-plugin-import": "^2.8.0",
"eslint-plugin-jsx-a11y": "^4.0.0",
"eslint-plugin-react": "^6.10.3",
"react": "^16.0.0",
"react-bootstrap": "^0.31.5",
"react-dom": "^16.0.0",
"react-redux": "^5.0.6",
"react-router": "^4.2.0",
"react-router-dom": "^4.2.2",
"react-scripts": "1.0.14",
"redux": "^3.7.2",
"redux-persist": "^5.4.0"
},
"scripts": {
"start": "react-scripts start",
"test": "react-scripts test --env=jsdom",
"eject": "react-scripts eject",
"watch": "webpack -d --watch",
"build": "webpack",
"serve": "serve ./public"
},
"devDependencies": {
"babel-cli": "^6.26.0",
"babel-loader": "^7.1.2",
"babel-preset-env": "^1.6.1",
"babel-preset-es2015": "^6.24.1",
"babel-preset-react": "^6.24.1",
"file-loader": "^1.1.6",
"image-webpack-loader": "^3.4.2",
"serve": "^6.4.3",
"webpack": "^3.10.0",
"webpack-obfuscator": "^0.13.0"
}
}
I’m not sure why this is happening, any help is appreciated.
About this issue
- Original URL
- State: closed
- Created 6 years ago
- Comments: 19 (9 by maintainers)
Was this ever fixed? Still getting this error and removing the obfuscator fixes it, however I need the obfuscator for prod 😄
Still getting this error on v2.6.0
Also, in
watchmode all code of every webpack module are placed insideeval. Obfuscator can’t obfuscateevals right now.