javascript-obfuscator / javascript-obfuscator/webpack-obfuscator
webpack.config.js - Cannot read property 'emit' of undefined
- Dominant language
- TypeScript
- Stars
- 928
- Forks
- 92
- PR merge metrics
- No merged PRs in 30d
Description
Hi - I'm not sure if this is the right place to post this but I could use some help.
I'm developing a project using Cordova/Ionic 3, and I'm trying to add the javascript-obfuscator plugin following [this guide](https://medium.com/front-end-weekly/ionic-and-other-hybrid-apps-code-protection-4561d2a2a605).
I've installed the javascript-obfuscator package via NPM, I've got a `config` folder with a copy of `webpack.config.js` that's being recognised by my project and used. I've added my plugin:
```
var JavaScriptObfuscator = require('webpack-obfuscator');
```
And in the `plugins` section:
```
plugins: [
new Dotenv({
path: '.env.dev', // load this now instead of the ones in '.env'
systemvars: true, // load all the predefined 'process.env' variables which will trump anything local per dotenv specs.
silent: true // hide any errors
}),
ionicWebpackFactory.getIonicEnvironmentPlugin(),
ionicWebpackFactory.getCommonChunksPlugin(),
new JavaScriptObfuscator({
stringArrayEncoding: 'base64'
})
],
```
But when I run the `ionic cordova run android` command, I get the following output:
```
PS C:\MobileDev\sd-site-induction> ionic cordova build android
> ionic-app-scripts.cmd build --target cordova --platform android
[15:53:49] ionic-app-scripts 3.2.4
[15:53:49] build dev started ...
[15:53:50] clean started ...
[15:53:50] clean finished in 7 ms
[15:53:50] copy started ...
[15:53:50] deeplinks started ...
[15:53:50] deeplinks finished in 451 ms
[15:53:50] transpile started ...
[15:54:04] transpile finished in 13.94 s
[15:54:04] preprocess started ...
[15:54:04] preprocess finished in 1 ms
[15:54:04] webpack started ...
[15:54:04] ionic-app-script task: "build"
[15:54:04] TypeError: Cannot read property 'emit' of undefined
TypeError: Cannot read property 'emit' of undefined
at WebpackObfuscator.apply (C:\MobileDev\sd-site-induction\node_modules\webpack-obfuscator\dist\index.js:22:24)
at Compiler.apply (C:\MobileDev\sd-site-induction\node_modules\@ionic\app-scripts\node_modules\tapable\lib\Tapable.js:375:16)
at webpack (C:\MobileDev\sd-site-induction\node_modules\@ionic\app-scripts\node_modules\webpack\lib\webpack.js:33:19)
at C:\MobileDev\sd-site-induction\node_modules\@ionic\app-scripts\dist\webpack.js:132:24
at new Promise ()
at runWebpackFullBuild (C:\MobileDev\sd-site-induction\node_modules\@ionic\app-scripts\dist\webpack.js:113:12)
at webpackWorker (C:\MobileDev\sd-site-induction\node_modules\@ionic\app-scripts\dist\webpack.js:70:19)
at Object.webpack (C:\MobileDev\sd-site-induction\node_modules\@ionic\app-scripts\dist\webpack.js:29:12)
at bundleWorker (C:\MobileDev\sd-site-induction\node_modules\@ionic\app-scripts\dist\bundle.js:13:22)
at Object.bundle (C:\MobileDev\sd-site-induction\node_modules\@ionic\app-scripts\dist\bundle.js:6:12)
[ERROR] An error occurred while running subprocess ionic-app-scripts.
```
Any ideas why this is happening, or what the error means?
Thanks,
bengrah
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reproducing the failure with the shown config/webpack.config.js setup using `ionic cordova build android`. Read `node_modules/webpack-obfuscator/dist/index.js` at line 22 and the surrounding Webpack stack, including ionic-app-scripts 3.2.4. Done means identifying the incompatible or missing integration detail and getting the build past the `emit` error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, webpack
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 28/100