javascript-obfuscator / javascript-obfuscator/webpack-obfuscator

process variable is undefined when use DefinePlugin

Ouverte
#123 2 commentaires 2 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

I wrote about this bug in [another issue](https://github.com/javascript-obfuscator/javascript-obfuscator/issues/863), but it is already closed, it would probably be more correct to make a separate issue in a more suitable repository for this.

I made a [minimal example](https://github.com/Katarn/obfuscator-process-bug).

Just run `npm ci && npm run build`. After that, in the `dist` directory, you will see the `main.js` file. Open it in a code editor and you will see something like:

```js
....shift())}}(n),process[r(309)][r(311)]&&console[r(302)](r(311))})();...
```

Of course, the `process` variable is `undefined`. Moreover, it should not be in the code, it should either be replaced with `true` (according to [this line](https://github.com/Katarn/obfuscator-process-bug/blob/master/webpack.config.js#L22)), or, with "smart optimization", the `if (...)` check block should not exist at all, since it will always be executed.

Then you can uncomment these [two lines](https://github.com/Katarn/obfuscator-process-bug/blob/5edcd56c5f2f18b6068e8459f7be075fc9691bb5/webpack.config.js#L14-L15) (not necessarily at the same time, you can uncomment them separately) and see how the code is generated in the `main.js` file.

Guide de contribution

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

Piste de recherche

Commencez par la webpack.config.js de l’exemple minimal, en particulier la configuration de DefinePlugin autour des lignes 14-15 et 22, puis exécutez npm ci && npm run build. Inspectez dist/main.js avec les options activées et vérifiez si process est remplacé ou supprimé par optimisation comme prévu.

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

Évaluation

Stack technique
typescript, webpack
Domaine
build-system
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

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