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

lots of TypeScript errors

Offen
#69 0 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
TypeScript
Sterne
211
Forks
102
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

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
...
```

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Reproduziere den Fehler mit `yarn web`, und trenne dabei den Konflikt des ESLint-Plugins von den TypeScript-Diagnosen. Untersuche die gemeldeten `node_modules/javascript-obfuscator/src/...`-Dateien zusammen mit `tsconfig` oder `jsconfig`; als abgeschlossen gilt die Aufgabe, wenn die Abhängigkeitsfehler während der Kompilierung nicht mehr auftreten.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
react-native, typescript
Bereich
build-system
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.