javascript-obfuscator / javascript-obfuscator/react-native-obfuscating-transformer

Error while transforming with RN 0.64 and Typescript

オープン
#43 コメント 8 件 リアクション 3 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
TypeScript
スター
211
フォーク
102
PR マージ指標
30日以内にマージされた PR はありません

説明

Just updated to new React Native version and it's broken again.

Output:
```
error app/sampleFile.ts: function (prevType) {
this.state.exprAllowed = false;

if (prevType === types._let || prevType === types._c......
} could not be cloned.
Error: function (prevType) {
this.state.exprAllowed = false;

if (prevType === types._let || prevType === types._c......
} could not be cloned.
at Object.serialize (v8.js:202:7)
at _default (/home/sample/app/node_modules/metro-transform-worker/node_modules/@babel/core/lib/transformation/util/clone-deep.js:18:30)
at normalizeFile (/home/sample/app/node_modules/metro-transform-worker/node_modules/@babel/core/lib/transformation/normalize-file.js:52:36)
at normalizeFile.next ()
at run (/home/sample/app/node_modules/metro-transform-worker/node_modules/@babel/core/lib/transformation/index.js:31:50)
at run.next ()
at /home/sample/app/node_modules/metro-transform-worker/node_modules/@babel/core/lib/transform-ast.js:20:41
at Generator.next ()
at evaluateSync (/home/sample/app/node_modules/gensync/index.js:251:28)

```

Already updated my fork appropriately and it works with updated dependencies (+ necessary code changes). PR will be created soon.

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

まず、React Native 0.64 で app/sampleFile.ts の変換を再現し、metro-transform-worker と @babel/core/lib/transformation/clone-deep.js を通るスタックトレースを調査します。Issue で言及されている更新後の依存関係とコード変更を比較し、TypeScript ファイルが cloning error なしで正常に変換されることを確認します。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
babel, react-native, typescript
領域
build-system, mobile, tooling
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
20/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。