[Transpiling] Rest parameters with async bug
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 38/100
- Tipo de issue
- Bug
- Clareza
- Razoavelmente clara
- Status de atividade
- Estagnada
- Stack de tecnologia
- javascript
- Domínio
- build-system
Direção de pesquisa
Comece reproduzindo o caso mínimo em JavaScript e comparando a saída gerada com a expectativa relatada. Rastreie a transpilação de async e dos parâmetros rest, especialmente como o inlining afeta o escopo usado para arguments; considera-se concluído quando a referência gerada _arguments2 é capturada da função externa em vez do callback aninhado.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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.
- Linguagem predominante
- JavaScript
- Estrelas
- 8.1k
- Forks
- 358
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Guia de contribuição
Nenhum guia de contribuição indexado para este repositório
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de developit/microbundle
-
CSS
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
developit/microbundle#1002 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
developit/microbundle#789 · 1 comentário ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 55/100
developit/microbundle#1100 · 4 comentários ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
developit/microbundle#1094 · 1 comentário ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 45/100
developit/microbundle#1093 · 3 comentários · 1 reação ·
Todas as issues de developit/microbundle
Issues semelhantes
-
awaiting triage bug Causes friction Hop Gui P1 P2 Transforms
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
-
Improve Title Support Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
georgestephanis/p2026#40 ·
-
Enatega Customer and Rider app: Add-ons price is not visible to customer after order is placed. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
Margaret-Petersen/food-delivery-app-clone-react-native#1981 ·