Dedupe regression with browserify v8
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- javascript
- Área
- build-system
Línea de trabajo
Reproduce el escenario de deduplicación con factor-bundle y browserify 8.0.0, comparando el bundle A generado con la salida de browserify v7 mostrada aquí. Rastrea cómo el bundle común y el bundle A hacen referencia a los ID de módulo 100 y 200. Se considera terminado cuando el módulo deduplicado se carga sin el TypeError indicado y se conserva el caso de dependencias distintas.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
I'm logging the issue here, but the error is due to changes in browserify 8.0.0.
This might be best explained with an example:
- Module
Adepends on moduleB - Other modules depend on module
B', which is identical toBbut a separate copy exists for whatever reason Bis deduped by browserify and points toB'Bgets routed to theAbundle, assigned ID of200B'gets routed to the common bundle, assigned ID of100- Page includes common bundle then
Abundle
A bundle in browserify v7:
200:[function(require,module,exports){
module.exports=require(100)
},{"dup":100}]}
A bundle in browserify v8:
200:[function(require,module,exports){
arguments[4][100][0].apply(exports,arguments)
},{"dup":100}]}
This results in an exception Uncaught TypeError: Cannot read property '0' of undefined because ID 100 is not defined in the current bundle.
This worked in v7 because it used require, which tries to resolve the module with previously defined requires from other bundles.
I realize this is an edge case and that if npm is correctly deduping dependencies, this situation should not occur. And the v8 behaviour is more correct in theory because B may have different dependencies from B'. However, assuming that any module is defined in the current bundle is dangerous when factor-bundle is involved.
- Lenguaje dominante
- JavaScript
- Estrellas
- 397
- Forks
- 24
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
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 browserify/factor-bundle
-
Dificultad 4/5 3-5 días Aptitud para principiantes 32/100
browserify/factor-bundle#95 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 30/100
browserify/factor-bundle#94 ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
browserify/factor-bundle#92 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
browserify/factor-bundle#83 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
browserify/factor-bundle#82 · 3 reacciones ·
Todos los issues de browserify/factor-bundle
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
-
area-deployment area-integrations triage:bot-seen
Dificultad 2/5 Medio día Aptitud para principiantes 86/100
-
Issue-Bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
sugarlabs/musicblocks#8924 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
ArduPilot/ardupilot_wiki#8088 ·
-
[BUG] createTool tools cannot be registered with Mastra when exactOptionalPropertyTypes is enabled Abiertocustomer-eng status: needs triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100