lots of TypeScript errors

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

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

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
35/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
react-native, typescript
領域
build-system

調査の方向性

yarn web で失敗を再現し、ESLint プラグインの競合と TypeScript の診断を切り分けます。報告された node_modules/javascript-obfuscator/src/... ファイルを tsconfig または jsconfig と併せて調査します。コンパイル中に依存関係のエラーが表示されなくなれば完了です。

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

説明

I'm experiencing many TypeScript errors (I cropped the cmd output).
As pointed out in https://github.com/microsoft/TypeScript/issues/40426 , you can not disable type checking on *.ts files from packages in node_modules, only on *.d.ts files.
Can the files be changed from *.ts files to *.d.ts files?

C:\project>yarn web
override webpack with config-overrides.js
(node:8468) [DEP_WEBPACK_DEV_SERVER_ON_AFTER_SETUP_MIDDLEWARE] DeprecationWarning: 'onAfterSetupMiddleware' option is deprecated. Please use the 'setupMiddlewares' option.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:8468) [DEP_WEBPACK_DEV_SERVER_ON_BEFORE_SETUP_MIDDLEWARE] DeprecationWarning: 'onBeforeSetupMiddleware' option is deprecated. Please use the 'setupMiddlewares' option.
Starting the development server...
Failed to compile.

[eslint] Plugin "react" was conflicted between ".eslintrc.js » @react-native-community/eslint-config" and "BaseConfig » C:\project\node_modules\react-scripts\node_modules\eslint-config-react-app\base.js".
ERROR in [eslint] Plugin "react" was conflicted between ".eslintrc.js » @react-native-community/eslint-config" and "BaseConfig » C:\project\node_modules\react-scripts\node_modules\eslint-config-react-app\base.js".

webpack compiled with 1 error
ERROR in node_modules/javascript-obfuscator/src/analyzers/stack-trace-analyzer/callee-data-extractors/AbstractCalleeDataExtractor.ts:9:23
TS1219: Experimental support for decorators is a feature that is subject to change in a future release. Set the 'experimentalDecorators' option in your 'tsconfig' or 'jsconfig' to remove this warning.
     7 |
     8 | @injectable()
  >  9 | export abstract class AbstractCalleeDataExtractor implements ICalleeDataExtractor {
       |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
    10 |     /**
    11 |      * @param {Node[]} blockScopeBody
    12 |      * @param {Node} callee

ERROR in node_modules/javascript-obfuscator/src/analyzers/stack-trace-analyzer/callee-data-extractors/FunctionDeclarationCalleeDataExtractor.ts:13:14
TS1219: Experimental support for decorators is a feature that is subject to change in a future release. Set the 'experimentalDecorators' option in your 'tsconfig' or 'jsconfig' to remove this warning.
    11 |
    12 | @injectable()
  > 13 | export class FunctionDeclarationCalleeDataExtractor extends AbstractCalleeDataExtractor {
       |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    14 |     /**
    15 |      * @param {NodeGuards[]} blockScopeBody
    16 |      * @param {Identifier} callee

ERROR in node_modules/javascript-obfuscator/src/analyzers/stack-trace-analyzer/callee-data-extractors/FunctionDeclarationCalleeDataExtractor.ts:49:67
TS18047: 'node.id' is possibly 'null'.
    47 |         estraverse.traverse(targetNode, {
    48 |             enter: (node: ESTree.Node): any => {
  > 49 |                 if (NodeGuards.isFunctionDeclarationNode(node) && node.id.name === name) {
       |                                                                   ^^^^^^^
    50 |                     calleeBlockStatement = node.body;
    51 |
    52 |                     return estraverse.VisitorOption.Break;

ERROR in node_modules/javascript-obfuscator/src/analyzers/stack-trace-analyzer/callee-data-extractors/FunctionExpressionCalleeDataExtractor.ts:13:14
TS1219: Experimental support for decorators is a feature that is subject to change in a future release. Set the 'experimentalDecorators' option in your 'tsconfig' or 'jsconfig' to remove this warning.
    11 |
    12 | @injectable()
  > 13 | export class FunctionExpressionCalleeDataExtractor extends AbstractCalleeDataExtractor {
       |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    14 |     /**
    15 |      * @param {NodeGuards[]} blockScopeBody
    16 |      * @param {Identifier} callee

ERROR in node_modules/javascript-obfuscator/src/analyzers/stack-trace-analyzer/callee-data-extractors/FunctionExpressionCalleeDataExtractor.ts:30:43
TS2339: Property 'body' does not exist on type 'never'.
  The intersection 'Identifier & FunctionExpression' was reduced to 'never' because property 'type' has conflicting types in some constituents.
    28 |
    29 |         if (NodeGuards.isFunctionExpressionNode(callee)) {
  > 30 |             calleeBlockStatement = callee.body;
       |                                           ^^^^
    31 |         }
    32 |
    33 |         if (!calleeBlockStatement) {

ERROR in node_modules/javascript-obfuscator/src/analyzers/stack-trace-analyzer/callee-data-extractors/ObjectExpressionCalleeDataExtractor.ts:15:14
TS1219: Experimental support for decorators is a feature that is subject to change in a future release. Set the 'experimentalDecorators' option in your 'tsconfig' or 'jsconfig' to remove this warning.
    13 |
    14 | @injectable()
  > 15 | export class ObjectExpressionCalleeDataExtractor extends AbstractCalleeDataExtractor {
       |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    16 |     /**
    17 |      * @param {NodeGuards[]} blockScopeBody
    18 |      * @param {MemberExpression} callee
...
主要言語
TypeScript
スター
211
フォーク
103
PR マージ指標
30日以内にマージされた PR はありません

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

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

javascript-obfuscator/react-native-obfuscating-transformer のほかの issue

javascript-obfuscator/react-native-obfuscating-transformer の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

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

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