[Transpiling] Rest parameters with async bug
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 38/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- javascript
- 領域
- build-system
調査の方向性
まず最小限の JavaScript ケースを再現し、生成された出力を報告された期待値と比較します。async と rest パラメーターのトランスパイルを追跡し、特にインライン化が arguments に使用されるスコープにどのような影響を与えるかを確認します。完了の条件は、生成された _arguments2 参照がネストされたコールバックではなく外側の関数からキャプチャされることです。
索引モデルが issue の本文から書いたものです。
説明
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.
- 主要言語
- JavaScript
- スター
- 8.1k
- フォーク
- 358
- PR マージ指標
- 30日以内にマージされた PR はありません
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
developit/microbundle のほかの issue
-
CSS
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
developit/microbundle#1002 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
developit/microbundle#789 · コメント 1 件 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 55/100
developit/microbundle#1100 · コメント 4 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
developit/microbundle#1094 · コメント 1 件 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 45/100
developit/microbundle#1093 · コメント 3 件 · リアクション 1 件 ·
developit/microbundle の issue をすべて見る
似ている issue
-
awaiting triage bug Causes friction Hop Gui P1 P2 Transforms
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
georgestephanis/p2026#40 ·
-
Enatega Customer and Rider app: Add-ons price is not visible to customer after order is placed. オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
Margaret-Petersen/food-delivery-app-clone-react-native#1981 ·