javascript-obfuscator / javascript-obfuscator/webpack-obfuscator

webpack.config.js - Cannot read property 'emit' of undefined

Ouverte
#80 4 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
TypeScript
Étoiles
928
Forks
92
Métriques de merge des PR
Aucune PR mergée en 30 j

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

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Commencez par reproduire l’échec avec la configuration montrée de config/webpack.config.js en utilisant `ionic cordova build android`. Lisez `node_modules/webpack-obfuscator/dist/index.js` à la ligne 22 ainsi que la stack Webpack environnante, y compris ionic-app-scripts 3.2.4. C’est terminé lorsque le détail d’intégration incompatible ou manquant a été identifié et que le build dépasse l’erreur `emit`.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
javascript, webpack
Domaine
build-system
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
28/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.