javascript-obfuscator / javascript-obfuscator/webpack-obfuscator

process variable is undefined when use DefinePlugin

Abierto
#123 2 comentarios 2 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
TypeScript
Estrellas
928
Forks
92
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

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.

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Línea de trabajo

Empieza por la webpack.config.js del ejemplo mínimo, especialmente por la configuración de DefinePlugin alrededor de las líneas 14-15 y 22, y luego ejecuta npm ci && npm run build. Inspecciona dist/main.js con las opciones habilitadas y compara si process se reemplaza o se elimina mediante optimización como se espera.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
typescript, webpack
Área
build-system
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.