[EVAL] Direct `eval` warning from @protobufjs/inquire during Vite 8 build
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 48/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Stack tecnológico
- typescript, vite
- Área
- build-system, frontend
Línea de trabajo
Start in vite.config and reproduce the Vite 8/Rolldown build to confirm the warning from node_modules/@protobufjs/inquire/index.js:12. Compare the suppression and browser-alias options described in the issue, then verify that the build succeeds without this warning and that browser behavior is unchanged.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Warning
During the build/dev process (Vite 8 / Rolldown), the following warning appears:
[EVAL] Use of direct `eval` function is strongly discouraged as it poses security risks and may cause issues with minification.
╭─[ node_modules/@protobufjs/inquire/index.js:12:19 ]
│
12 │ var mod = eval("quire".replace(/^/,"re"))(moduleName); // eslint-disable-line no-eval
│ ──┬─
│ ╰─── Use of direct `eval` here.
│
│ Help: Consider using indirect eval. For more information, check the documentation: https://rolldown.rs/guide/troubleshooting#avoiding-direct-eval
────╯
Source
The eval call lives in @protobufjs/inquire (a transitive dependency pulled in via protobufjs, used by our Cosmos/protobuf tooling). It uses direct eval to conditionally require optional native modules in Node — code that is never actually needed in the browser bundle.
This is a third-party dependency, not our own code, so we can't fix the source directly. The warning is emitted by Rolldown (the bundler behind Vite 8) which flags direct eval because it defeats minification/scope analysis.
Impact
- Cosmetic warning only — build still succeeds.
- No runtime security risk in our bundle (the
evalpath is dead code in the browser).
Possible remediations
- Suppress the warning — configure Vite/Rolldown to ignore this specific warning for the
@protobufjs/inquiremodule. - Alias/stub the module — since
inquireis only for optional Node-only native modules, alias@protobufjs/inquireto an empty/no-op module invite.configresolve.alias for browser builds. - Wait for upstream — track whether
protobufjs/@protobufjs/inquiremoves to indirect eval.
References
- Rolldown troubleshooting: https://rolldown.rs/guide/troubleshooting#avoiding-direct-eval
- Offending file:
node_modules/@protobufjs/inquire/index.js:12
- Lenguaje dominante
- TypeScript
- Estrellas
- 2
- Forks
- 5
- Merge medio
- 22 h 35 min
- PR fusionados (30 d)
- 91
Preparar el entorno
Aún no hemos revisado los archivos de configuración de este proyecto. Empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de block52/ui
-
guards: accept readonly arrays (and other array-likes) in isEmpty / hasElements / safeLengthAbiertoenhancement tech debt
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
feat(ui): player notes and tags — click a seat to note a player; tag icons (fish, shark, tight, loose…) show by their pillPosiblemente ocupada @Dzeezbtc la tomó hoy. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
Los mantenedores suelen responder en 1 día
-
chore(ui): move existing inline null/empty and typeof checks to the guardsPosiblemente ocupada @bitcoinbrisbane la tomó hace 1 día. Abiertorefactor tech debt UI
Los mantenedores suelen responder en 1 día
-
architecture refactor tech debt
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
Los mantenedores suelen responder en 1 día
Todos los issues de block52/ui
Issues similares
-
Add: Class TV ModaAbiertocheck:passed streams:add
Dificultad 1/5 Menos de una hora Aptitud para principiantes 65/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
GiganticMinecraft/seichi-playguide#183 ·
Los mantenedores suelen responder en 1 día
-
area: core complexity: easy impact: medium
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
ueberdosis/tiptap#8668 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
longbridge/nsh#804 ·
Los mantenedores suelen responder en 1 día