[Transpiling] Rest parameters with async bug
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 38/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- javascript
- Área
- build-system
Línea de trabajo
Empieza reproduciendo el caso mínimo de JavaScript y comparando la salida generada con la expectativa indicada. Rastrea la transpilación de async y de los parámetros rest, especialmente cómo afecta el inlining al ámbito utilizado para arguments; se considera terminado cuando la referencia generada _arguments2 se captura de la función externa en lugar del callback anidado.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Minimal test case:
export const brokenArgsRest = async (...props) => {
await someAsyncFunction(async () => {
console.log(props)
})
}
export const someAsyncFunction = async callback => {
await callback()
}
generates
var brokenArgsRest = function brokenArgsRest() {
return Promise.resolve(someAsyncFunction(function () {
try {
var _arguments2 = arguments;
console.log([].slice.call(_arguments2));
return Promise.resolve();
} catch (e) {
return Promise.reject(e);
}
})).then(function () {});
};
var someAsyncFunction = function someAsyncFunction(callback) {
try {
return Promise.resolve(callback()).then(function () {});
} catch (e) {
return Promise.reject(e);
}
};
var _arguments2 = arguments; should be one more level up
Context:
We hit this bug on fcl-js lib : https://github.com/onflow/flow-js-testing/issues/182
PS: my js knowledge is limited, but seems related to inlining somehow.
- Lenguaje dominante
- JavaScript
- Estrellas
- 8.1k
- Forks
- 358
- 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 developit/microbundle
-
CSS
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
developit/microbundle#1002 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
developit/microbundle#789 · 1 comentario ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
developit/microbundle#1100 · 4 comentarios ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
developit/microbundle#1094 · 1 comentario ·
-
Disable minification by default Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
developit/microbundle#1093 · 3 comentarios · 1 reacción ·
Todos los issues de developit/microbundle
Issues similares
-
awaiting triage bug Causes friction Hop Gui P1 P2 Transforms
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Improve Title Support Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
georgestephanis/p2026#40 ·
-
Enatega Customer and Rider app: Add-ons price is not visible to customer after order is placed. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Margaret-Petersen/food-delivery-app-clone-react-native#1981 ·