Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[prefer-readonly-parameter-types] crashing with error Non-null Assertion Failed: Expected to find a property "#promise" for the type. #4068

Closed
3 tasks done
Jamesernator opened this issue Oct 28, 2021 · 1 comment · Fixed by #4343
Labels
accepting prs Go ahead, send a pull request that resolves this issue bug Something isn't working package: eslint-plugin Issues related to @typescript-eslint/eslint-plugin

Comments

@Jamesernator
Copy link
Contributor

  • I have tried restarting my IDE and the issue persists.
  • I have updated to the latest version of the packages.
  • I have read the FAQ and my problem is not listed.

Repro

I have a created a repo, this contains the config and files causing the crash:

https://github.com/Jamesernator/typescript-eslint-issue-replication

You can run npm run lint to trigger linting.

Expected Result

It should not crash, it should lint normally.

Actual Result

I get an error:

Oops! Something went wrong! :(

ESLint: 8.1.0

Error: Non-null Assertion Failed: Expected to find a property "#promise" for the type.
Occurred while linting /home/jamesernator/Projects/typescript-eslint-issue-replication/ConcurrentTaskManager.ts:48
Rule: "@typescript-eslint/prefer-readonly-parameter-types"
    at nullThrows (/home/jamesernator/Projects/typescript-eslint-issue-replication/node_modules/@typescript-eslint/eslint-plugin/dist/util/nullThrows.js:23:15)
    at isTypeReadonlyObject (/home/jamesernator/Projects/typescript-eslint-issue-replication/node_modules/@typescript-eslint/eslint-plugin/dist/util/isTypeReadonly.js:106:52)
    at isTypeReadonlyRecurser (/home/jamesernator/Projects/typescript-eslint-issue-replication/node_modules/@typescript-eslint/eslint-plugin/dist/util/isTypeReadonly.js:151:30)
    at Object.isTypeReadonly (/home/jamesernator/Projects/typescript-eslint-issue-replication/node_modules/@typescript-eslint/eslint-plugin/dist/util/isTypeReadonly.js:161:13)
    at ArrowFunctionExpression, FunctionDeclaration, FunctionExpression, TSCallSignatureDeclaration, TSConstructSignatureDeclaration, TSDeclareFunction, TSEmptyBodyFunctionExpression, TSFunctionType, TSMethodSignature (/home/jamesernator/Projects/typescript-eslint-issue-replication/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-readonly-parameter-types.js:79:45)
    at ruleErrorHandler (/home/jamesernator/Projects/typescript-eslint-issue-replication/node_modules/eslint/lib/linter/linter.js:966:28)
    at /home/jamesernator/Projects/typescript-eslint-issue-replication/node_modules/eslint/lib/linter/safe-emitter.js:45:58
    at Array.forEach (<anonymous>)
    at Object.emit (/home/jamesernator/Projects/typescript-eslint-issue-replication/node_modules/eslint/lib/linter/safe-emitter.js:45:38)
    at NodeEventGenerator.applySelector (/home/jamesernator/Projects/typescript-eslint-issue-replication/node_modules/eslint/lib/linter/node-event-generator.js:297:26)

Additional Info

Eslint output with --debug:

2021-10-28T23:56:05.248Z eslint:cli CLI args: [ 'ConcurrentTaskManager.ts', '--debug' ]
2021-10-28T23:56:05.252Z eslint:cli Running on files
2021-10-28T23:56:05.289Z eslintrc:config-array-factory Loading .eslintignore file: /home/jamesernator/Projects/typescript-eslint-issue-replication/.eslintignore
2021-10-28T23:56:05.297Z eslintrc:ignore-pattern Create with: [ IgnorePattern { patterns: [ '/**/node_modules/*' ], basePath: '/home/jamesernator/Projects/typescript-eslint-issue-replication', loose: false } ]
2021-10-28T23:56:05.299Z eslintrc:ignore-pattern   processed: { basePath: '/home/jamesernator/Projects/typescript-eslint-issue-replication', patterns: [ '/**/node_modules/*' ] }
2021-10-28T23:56:05.300Z eslintrc:ignore-pattern Create with: [ IgnorePattern { patterns: [ '/**/node_modules/*' ], basePath: '/home/jamesernator/Projects/typescript-eslint-issue-replication', loose: false } ]
2021-10-28T23:56:05.300Z eslintrc:ignore-pattern   processed: { basePath: '/home/jamesernator/Projects/typescript-eslint-issue-replication', patterns: [ '/**/node_modules/*' ] }
2021-10-28T23:56:05.301Z eslint:file-enumerator Start to iterate files: [ 'ConcurrentTaskManager.ts' ]
2021-10-28T23:56:05.302Z eslint:file-enumerator File: /home/jamesernator/Projects/typescript-eslint-issue-replication/ConcurrentTaskManager.ts
2021-10-28T23:56:05.303Z eslintrc:cascading-config-array-factory Load config files for /home/jamesernator/Projects/typescript-eslint-issue-replication.
2021-10-28T23:56:05.303Z eslintrc:cascading-config-array-factory No cache found: /home/jamesernator/Projects/typescript-eslint-issue-replication.
2021-10-28T23:56:05.304Z eslintrc:config-array-factory Loading JS config file: /home/jamesernator/Projects/typescript-eslint-issue-replication/.eslintrc.cjs
2021-10-28T23:56:05.309Z eslintrc:config-array-factory Config file found: /home/jamesernator/Projects/typescript-eslint-issue-replication/.eslintrc.cjs
2021-10-28T23:56:05.310Z eslintrc:config-array-factory Loading parser "@typescript-eslint/parser" from /home/jamesernator/Projects/typescript-eslint-issue-replication/.eslintrc.cjs
2021-10-28T23:56:05.312Z eslintrc:config-array-factory Loaded: @typescript-eslint/parser@5.2.0 (/home/jamesernator/Projects/typescript-eslint-issue-replication/node_modules/@typescript-eslint/parser/dist/index.js)
2021-10-28T23:56:06.032Z eslintrc:config-array-factory Loading plugin "eslint-plugin-import" from /home/jamesernator/Projects/typescript-eslint-issue-replication/.eslintrc.cjs
2021-10-28T23:56:06.033Z eslintrc:config-array-factory Loaded: eslint-plugin-import@2.25.2 (/home/jamesernator/Projects/typescript-eslint-issue-replication/node_modules/eslint-plugin-import/lib/index.js)
2021-10-28T23:56:06.227Z eslintrc:config-array-factory Plugin /home/jamesernator/Projects/typescript-eslint-issue-replication/node_modules/eslint-plugin-import/lib/index.js loaded in: 194ms
2021-10-28T23:56:06.227Z eslintrc:config-array-factory Loading plugin "@typescript-eslint/eslint-plugin" from /home/jamesernator/Projects/typescript-eslint-issue-replication/.eslintrc.cjs
2021-10-28T23:56:06.229Z eslintrc:config-array-factory Loaded: @typescript-eslint/eslint-plugin@5.2.0 (/home/jamesernator/Projects/typescript-eslint-issue-replication/node_modules/@typescript-eslint/eslint-plugin/dist/index.js)
2021-10-28T23:56:06.388Z eslint:rules Loading rule 'brace-style' (remaining=284)
2021-10-28T23:56:06.393Z eslint:rules Loading rule 'comma-dangle' (remaining=283)
2021-10-28T23:56:06.403Z eslint:rules Loading rule 'dot-notation' (remaining=282)
2021-10-28T23:56:06.409Z eslint:rules Loading rule 'indent' (remaining=281)
2021-10-28T23:56:06.414Z eslint:rules Loading rule 'init-declarations' (remaining=280)
2021-10-28T23:56:06.416Z eslint:rules Loading rule 'keyword-spacing' (remaining=279)
2021-10-28T23:56:06.418Z eslint:rules Loading rule 'lines-between-class-members' (remaining=278)
2021-10-28T23:56:06.440Z eslint:rules Loading rule 'no-dupe-class-members' (remaining=277)
2021-10-28T23:56:06.442Z eslint:rules Loading rule 'no-duplicate-imports' (remaining=276)
2021-10-28T23:56:06.444Z eslint:rules Loading rule 'no-empty-function' (remaining=275)
2021-10-28T23:56:06.448Z eslint:rules Loading rule 'no-extra-parens' (remaining=274)
2021-10-28T23:56:06.450Z eslint:rules Loading rule 'no-extra-semi' (remaining=273)
2021-10-28T23:56:06.467Z eslint:rules Loading rule 'no-invalid-this' (remaining=272)
2021-10-28T23:56:06.470Z eslint:rules Loading rule 'no-loop-func' (remaining=271)
2021-10-28T23:56:06.472Z eslint:rules Loading rule 'no-loss-of-precision' (remaining=270)
2021-10-28T23:56:06.474Z eslint:rules Loading rule 'no-magic-numbers' (remaining=269)
2021-10-28T23:56:06.541Z eslint:rules Loading rule 'no-restricted-imports' (remaining=268)
2021-10-28T23:56:06.595Z eslint:rules Loading rule 'no-unused-expressions' (remaining=267)
2021-10-28T23:56:06.598Z eslint:rules Loading rule 'no-useless-constructor' (remaining=266)
2021-10-28T23:56:06.605Z eslint:rules Loading rule 'object-curly-spacing' (remaining=265)
2021-10-28T23:56:06.688Z eslint:rules Loading rule 'quotes' (remaining=264)
2021-10-28T23:56:06.703Z eslint:rules Loading rule 'semi' (remaining=263)
2021-10-28T23:56:06.706Z eslint:rules Loading rule 'space-infix-ops' (remaining=262)
2021-10-28T23:56:06.726Z eslintrc:config-array-factory Plugin /home/jamesernator/Projects/typescript-eslint-issue-replication/node_modules/@typescript-eslint/eslint-plugin/dist/index.js loaded in: 497ms
2021-10-28T23:56:06.729Z eslintrc:cascading-config-array-factory Stop traversing because of 'root:true'.
2021-10-28T23:56:06.731Z eslint:rules Loading rule 'for-direction' (remaining=261)
2021-10-28T23:56:06.733Z eslint:rules Loading rule 'no-compare-neg-zero' (remaining=260)
2021-10-28T23:56:06.733Z eslint:rules Loading rule 'no-cond-assign' (remaining=259)
2021-10-28T23:56:06.736Z eslint:rules Loading rule 'no-constant-condition' (remaining=258)
2021-10-28T23:56:06.738Z eslint:rules Loading rule 'no-control-regex' (remaining=257)
2021-10-28T23:56:06.739Z eslint:rules Loading rule 'no-dupe-args' (remaining=256)
2021-10-28T23:56:06.740Z eslint:rules Loading rule 'no-dupe-else-if' (remaining=255)
2021-10-28T23:56:06.741Z eslint:rules Loading rule 'no-dupe-keys' (remaining=254)
2021-10-28T23:56:06.741Z eslint:rules Loading rule 'no-duplicate-case' (remaining=253)
2021-10-28T23:56:06.742Z eslint:rules Loading rule 'no-empty-character-class' (remaining=252)
2021-10-28T23:56:06.743Z eslint:rules Loading rule 'no-func-assign' (remaining=251)
2021-10-28T23:56:06.744Z eslint:rules Loading rule 'no-import-assign' (remaining=250)
2021-10-28T23:56:06.745Z eslint:rules Loading rule 'no-invalid-regexp' (remaining=249)
2021-10-28T23:56:06.747Z eslint:rules Loading rule 'no-misleading-character-class' (remaining=248)
2021-10-28T23:56:06.751Z eslint:rules Loading rule 'no-promise-executor-return' (remaining=247)
2021-10-28T23:56:06.752Z eslint:rules Loading rule 'no-prototype-builtins' (remaining=246)
2021-10-28T23:56:06.753Z eslint:rules Loading rule 'no-regex-spaces' (remaining=245)
2021-10-28T23:56:06.754Z eslint:rules Loading rule 'no-setter-return' (remaining=244)
2021-10-28T23:56:06.756Z eslint:rules Loading rule 'no-sparse-arrays' (remaining=243)
2021-10-28T23:56:06.757Z eslint:rules Loading rule 'no-unexpected-multiline' (remaining=242)
2021-10-28T23:56:06.757Z eslint:rules Loading rule 'no-unreachable' (remaining=241)
2021-10-28T23:56:06.758Z eslint:rules Loading rule 'no-unreachable-loop' (remaining=240)
2021-10-28T23:56:06.761Z eslint:rules Loading rule 'no-unsafe-finally' (remaining=239)
2021-10-28T23:56:06.761Z eslint:rules Loading rule 'no-unsafe-negation' (remaining=238)
2021-10-28T23:56:06.764Z eslint:rules Loading rule 'no-unsafe-optional-chaining' (remaining=237)
2021-10-28T23:56:06.766Z eslint:rules Loading rule 'no-useless-backreference' (remaining=236)
2021-10-28T23:56:06.768Z eslint:rules Loading rule 'use-isnan' (remaining=235)
2021-10-28T23:56:06.770Z eslint:rules Loading rule 'consistent-return' (remaining=234)
2021-10-28T23:56:06.773Z eslint:rules Loading rule 'curly' (remaining=233)
2021-10-28T23:56:06.777Z eslint:rules Loading rule 'eqeqeq' (remaining=232)
2021-10-28T23:56:06.779Z eslint:rules Loading rule 'no-case-declarations' (remaining=231)
2021-10-28T23:56:06.780Z eslint:rules Loading rule 'no-extra-bind' (remaining=230)
2021-10-28T23:56:06.781Z eslint:rules Loading rule 'no-fallthrough' (remaining=229)
2021-10-28T23:56:06.783Z eslint:rules Loading rule 'no-multi-str' (remaining=228)
2021-10-28T23:56:06.784Z eslint:rules Loading rule 'no-new' (remaining=227)
2021-10-28T23:56:06.784Z eslint:rules Loading rule 'no-nonoctal-decimal-escape' (remaining=226)
2021-10-28T23:56:06.785Z eslint:rules Loading rule 'no-octal' (remaining=225)
2021-10-28T23:56:06.786Z eslint:rules Loading rule 'no-octal-escape' (remaining=224)
2021-10-28T23:56:06.788Z eslint:rules Loading rule 'no-return-assign' (remaining=223)
2021-10-28T23:56:06.789Z eslint:rules Loading rule 'no-self-assign' (remaining=222)
2021-10-28T23:56:06.791Z eslint:rules Loading rule 'no-self-compare' (remaining=221)
2021-10-28T23:56:06.792Z eslint:rules Loading rule 'no-sequences' (remaining=220)
2021-10-28T23:56:06.794Z eslint:rules Loading rule 'no-unmodified-loop-condition' (remaining=219)
2021-10-28T23:56:06.797Z eslint:rules Loading rule 'no-unused-labels' (remaining=218)
2021-10-28T23:56:06.798Z eslint:rules Loading rule 'no-useless-call' (remaining=217)
2021-10-28T23:56:06.798Z eslint:rules Loading rule 'no-useless-catch' (remaining=216)
2021-10-28T23:56:06.799Z eslint:rules Loading rule 'no-useless-concat' (remaining=215)
2021-10-28T23:56:06.800Z eslint:rules Loading rule 'no-useless-escape' (remaining=214)
2021-10-28T23:56:06.801Z eslint:rules Loading rule 'radix' (remaining=213)
2021-10-28T23:56:06.802Z eslint:rules Loading rule 'no-delete-var' (remaining=212)
2021-10-28T23:56:06.806Z eslint:rules Loading rule 'no-multi-assign' (remaining=211)
2021-10-28T23:56:06.831Z eslint:rules Loading rule 'no-console' (remaining=210)
2021-10-28T23:56:06.834Z eslint:rules Loading rule 'no-debugger' (remaining=209)
2021-10-28T23:56:06.834Z eslint:rules Loading rule 'no-ex-assign' (remaining=208)
2021-10-28T23:56:06.835Z eslint:rules Loading rule 'accessor-pairs' (remaining=207)
2021-10-28T23:56:06.844Z eslint:rules Loading rule 'default-case' (remaining=206)
2021-10-28T23:56:06.846Z eslint:rules Loading rule 'no-alert' (remaining=205)
2021-10-28T23:56:06.846Z eslint:rules Loading rule 'no-empty-pattern' (remaining=204)
2021-10-28T23:56:06.847Z eslint:rules Loading rule 'no-eval' (remaining=203)
2021-10-28T23:56:06.849Z eslint:rules Loading rule 'no-extend-native' (remaining=202)
2021-10-28T23:56:06.893Z eslint:rules Loading rule 'no-lone-blocks' (remaining=201)
2021-10-28T23:56:06.893Z eslint:rules Loading rule 'no-new-func' (remaining=200)
2021-10-28T23:56:06.894Z eslint:rules Loading rule 'no-new-wrappers' (remaining=199)
2021-10-28T23:56:06.898Z eslint:rules Loading rule 'no-proto' (remaining=198)
2021-10-28T23:56:06.899Z eslint:rules Loading rule 'no-useless-return' (remaining=197)
2021-10-28T23:56:06.900Z eslint:rules Loading rule 'no-warning-comments' (remaining=196)
2021-10-28T23:56:06.902Z eslint:rules Loading rule 'no-with' (remaining=195)
2021-10-28T23:56:06.903Z eslint:rules Loading rule 'prefer-named-capture-group' (remaining=194)
2021-10-28T23:56:06.904Z eslint:rules Loading rule 'prefer-regex-literals' (remaining=193)
2021-10-28T23:56:06.911Z eslint:rules Loading rule 'require-unicode-regexp' (remaining=192)
2021-10-28T23:56:06.912Z eslint:rules Loading rule 'no-label-var' (remaining=191)
2021-10-28T23:56:06.913Z eslint:rules Loading rule 'max-params' (remaining=190)
2021-10-28T23:56:06.916Z eslint:rules Loading rule 'max-statements-per-line' (remaining=189)
2021-10-28T23:56:06.917Z eslint:rules Loading rule 'no-bitwise' (remaining=188)
2021-10-28T23:56:06.920Z eslint:rules Loading rule 'no-new-object' (remaining=187)
2021-10-28T23:56:06.920Z eslint:rules Loading rule 'no-plusplus' (remaining=186)
2021-10-28T23:56:06.922Z eslint:rules Loading rule 'no-unneeded-ternary' (remaining=185)
2021-10-28T23:56:06.924Z eslint:rules Loading rule 'no-class-assign' (remaining=184)
2021-10-28T23:56:06.925Z eslint:rules Loading rule 'no-new-symbol' (remaining=183)
2021-10-28T23:56:06.926Z eslint:rules Loading rule 'no-var' (remaining=182)
2021-10-28T23:56:06.926Z eslint:rules Loading rule 'prefer-numeric-literals' (remaining=181)
2021-10-28T23:56:06.927Z eslint:rules Loading rule 'prefer-rest-params' (remaining=180)
2021-10-28T23:56:06.952Z eslint:rules Loading rule 'no-empty' (remaining=179)
2021-10-28T23:56:06.961Z eslint:rules Loading rule 'no-extra-boolean-cast' (remaining=178)
2021-10-28T23:56:06.967Z eslint:rules Loading rule 'no-irregular-whitespace' (remaining=177)
2021-10-28T23:56:06.969Z eslint:rules Loading rule 'default-case-last' (remaining=176)
2021-10-28T23:56:06.970Z eslint:rules Loading rule 'dot-location' (remaining=175)
2021-10-28T23:56:06.984Z eslint:rules Loading rule 'grouped-accessor-pairs' (remaining=174)
2021-10-28T23:56:06.985Z eslint:rules Loading rule 'no-else-return' (remaining=173)
2021-10-28T23:56:06.987Z eslint:rules Loading rule 'no-extra-label' (remaining=172)
2021-10-28T23:56:06.989Z eslint:rules Loading rule 'no-floating-decimal' (remaining=171)
2021-10-28T23:56:06.990Z eslint:rules Loading rule 'no-implicit-coercion' (remaining=170)
2021-10-28T23:56:06.994Z eslint:rules Loading rule 'no-multi-spaces' (remaining=169)
2021-10-28T23:56:06.996Z eslint:rules Loading rule 'yoda' (remaining=168)
2021-10-28T23:56:06.999Z eslint:rules Loading rule 'array-bracket-newline' (remaining=167)
2021-10-28T23:56:07.001Z eslint:rules Loading rule 'array-bracket-spacing' (remaining=166)
2021-10-28T23:56:07.004Z eslint:rules Loading rule 'array-element-newline' (remaining=165)
2021-10-28T23:56:07.009Z eslint:rules Loading rule 'block-spacing' (remaining=164)
2021-10-28T23:56:07.015Z eslint:rules Loading rule 'comma-style' (remaining=163)
2021-10-28T23:56:07.017Z eslint:rules Loading rule 'computed-property-spacing' (remaining=162)
2021-10-28T23:56:07.019Z eslint:rules Loading rule 'eol-last' (remaining=161)
2021-10-28T23:56:07.022Z eslint:rules Loading rule 'func-names' (remaining=160)
2021-10-28T23:56:07.023Z eslint:rules Loading rule 'func-style' (remaining=159)
2021-10-28T23:56:07.025Z eslint:rules Loading rule 'function-call-argument-newline' (remaining=158)
2021-10-28T23:56:07.026Z eslint:rules Loading rule 'function-paren-newline' (remaining=157)
2021-10-28T23:56:07.029Z eslint:rules Loading rule 'implicit-arrow-linebreak' (remaining=156)
2021-10-28T23:56:07.052Z eslint:rules Loading rule 'jsx-quotes' (remaining=155)
2021-10-28T23:56:07.053Z eslint:rules Loading rule 'key-spacing' (remaining=154)
2021-10-28T23:56:07.100Z eslint:rules Loading rule 'line-comment-position' (remaining=153)
2021-10-28T23:56:07.109Z eslint:rules Loading rule 'linebreak-style' (remaining=152)
2021-10-28T23:56:07.110Z eslint:rules Loading rule 'lines-around-comment' (remaining=151)
2021-10-28T23:56:07.113Z eslint:rules Loading rule 'max-len' (remaining=150)
2021-10-28T23:56:07.119Z eslint:rules Loading rule 'multiline-comment-style' (remaining=149)
2021-10-28T23:56:07.120Z eslint:rules Loading rule 'new-parens' (remaining=148)
2021-10-28T23:56:07.122Z eslint:rules Loading rule 'newline-per-chained-call' (remaining=147)
2021-10-28T23:56:07.124Z eslint:rules Loading rule 'no-inline-comments' (remaining=146)
2021-10-28T23:56:07.125Z eslint:rules Loading rule 'no-lonely-if' (remaining=145)
2021-10-28T23:56:07.126Z eslint:rules Loading rule 'no-mixed-spaces-and-tabs' (remaining=144)
2021-10-28T23:56:07.127Z eslint:rules Loading rule 'no-multiple-empty-lines' (remaining=143)
2021-10-28T23:56:07.129Z eslint:rules Loading rule 'no-negated-condition' (remaining=142)
2021-10-28T23:56:07.130Z eslint:rules Loading rule 'no-tabs' (remaining=141)
2021-10-28T23:56:07.131Z eslint:rules Loading rule 'no-trailing-spaces' (remaining=140)
2021-10-28T23:56:07.133Z eslint:rules Loading rule 'no-whitespace-before-property' (remaining=139)
2021-10-28T23:56:07.134Z eslint:rules Loading rule 'nonblock-statement-body-position' (remaining=138)
2021-10-28T23:56:07.137Z eslint:rules Loading rule 'object-curly-newline' (remaining=137)
2021-10-28T23:56:07.145Z eslint:rules Loading rule 'object-property-newline' (remaining=136)
2021-10-28T23:56:07.147Z eslint:rules Loading rule 'one-var' (remaining=135)
2021-10-28T23:56:07.185Z eslint:rules Loading rule 'one-var-declaration-per-line' (remaining=134)
2021-10-28T23:56:07.186Z eslint:rules Loading rule 'operator-assignment' (remaining=133)
2021-10-28T23:56:07.187Z eslint:rules Loading rule 'operator-linebreak' (remaining=132)
2021-10-28T23:56:07.195Z eslint:rules Loading rule 'padded-blocks' (remaining=131)
2021-10-28T23:56:07.198Z eslint:rules Loading rule 'prefer-exponentiation-operator' (remaining=130)
2021-10-28T23:56:07.199Z eslint:rules Loading rule 'prefer-object-spread' (remaining=129)
2021-10-28T23:56:07.200Z eslint:rules Loading rule 'quote-props' (remaining=128)
2021-10-28T23:56:07.214Z eslint:rules Loading rule 'semi-spacing' (remaining=127)
2021-10-28T23:56:07.215Z eslint:rules Loading rule 'semi-style' (remaining=126)
2021-10-28T23:56:07.216Z eslint:rules Loading rule 'space-before-blocks' (remaining=125)
2021-10-28T23:56:07.226Z eslint:rules Loading rule 'space-in-parens' (remaining=124)
2021-10-28T23:56:07.229Z eslint:rules Loading rule 'space-unary-ops' (remaining=123)
2021-10-28T23:56:07.232Z eslint:rules Loading rule 'spaced-comment' (remaining=122)
2021-10-28T23:56:07.235Z eslint:rules Loading rule 'switch-colon-spacing' (remaining=121)
2021-10-28T23:56:07.236Z eslint:rules Loading rule 'template-tag-spacing' (remaining=120)
2021-10-28T23:56:07.237Z eslint:rules Loading rule 'unicode-bom' (remaining=119)
2021-10-28T23:56:07.238Z eslint:rules Loading rule 'arrow-body-style' (remaining=118)
2021-10-28T23:56:07.240Z eslint:rules Loading rule 'arrow-parens' (remaining=117)
2021-10-28T23:56:07.243Z eslint:rules Loading rule 'arrow-spacing' (remaining=116)
2021-10-28T23:56:07.244Z eslint:rules Loading rule 'generator-star-spacing' (remaining=115)
2021-10-28T23:56:07.249Z eslint:rules Loading rule 'no-useless-computed-key' (remaining=114)
2021-10-28T23:56:07.251Z eslint:rules Loading rule 'no-useless-rename' (remaining=113)
2021-10-28T23:56:07.253Z eslint:rules Loading rule 'object-shorthand' (remaining=112)
2021-10-28T23:56:07.257Z eslint:rules Loading rule 'prefer-arrow-callback' (remaining=111)
2021-10-28T23:56:07.259Z eslint:rules Loading rule 'prefer-const' (remaining=110)
2021-10-28T23:56:07.261Z eslint:rules Loading rule 'prefer-destructuring' (remaining=109)
2021-10-28T23:56:07.264Z eslint:rules Loading rule 'prefer-spread' (remaining=108)
2021-10-28T23:56:07.265Z eslint:rules Loading rule 'prefer-template' (remaining=107)
2021-10-28T23:56:07.266Z eslint:rules Loading rule 'rest-spread-spacing' (remaining=106)
2021-10-28T23:56:07.267Z eslint:rules Loading rule 'sort-imports' (remaining=105)
2021-10-28T23:56:07.270Z eslint:rules Loading rule 'symbol-description' (remaining=104)
2021-10-28T23:56:07.271Z eslint:rules Loading rule 'template-curly-spacing' (remaining=103)
2021-10-28T23:56:07.272Z eslint:rules Loading rule 'yield-star-spacing' (remaining=102)
2021-10-28T23:56:07.506Z eslint:rules Loading rule 'getter-return' (remaining=101)
2021-10-28T23:56:07.506Z eslint:rules Loading rule 'no-async-promise-executor' (remaining=100)
2021-10-28T23:56:07.507Z eslint:rules Loading rule 'no-obj-calls' (remaining=99)
2021-10-28T23:56:07.507Z eslint:rules Loading rule 'no-caller' (remaining=98)
2021-10-28T23:56:07.508Z eslint:rules Loading rule 'no-global-assign' (remaining=97)
2021-10-28T23:56:07.513Z eslint:rules Loading rule 'no-eq-null' (remaining=96)
2021-10-28T23:56:07.513Z eslint:rules Loading rule 'no-undef' (remaining=95)
2021-10-28T23:56:07.514Z eslint:rules Loading rule 'no-undefined' (remaining=94)
2021-10-28T23:56:07.514Z eslint:rules Loading rule 'no-use-before-define' (remaining=93)
2021-10-28T23:56:07.515Z eslint:rules Loading rule 'new-cap' (remaining=92)
2021-10-28T23:56:07.515Z eslint:rules Loading rule 'constructor-super' (remaining=91)
2021-10-28T23:56:07.515Z eslint:rules Loading rule 'no-const-assign' (remaining=90)
2021-10-28T23:56:07.516Z eslint:rules Loading rule 'no-this-before-super' (remaining=89)
2021-10-28T23:56:07.516Z eslint:rules Loading rule 'no-underscore-dangle' (remaining=88)
2021-10-28T23:56:07.517Z eslint:rules Loading rule 'camelcase' (remaining=87)
2021-10-28T23:56:07.519Z eslint:rules Loading rule 'comma-spacing' (remaining=86)
2021-10-28T23:56:07.520Z eslint:rules Loading rule 'default-param-last' (remaining=85)
2021-10-28T23:56:07.520Z eslint:rules Loading rule 'func-call-spacing' (remaining=84)
2021-10-28T23:56:07.521Z eslint:rules Loading rule 'no-array-constructor' (remaining=83)
2021-10-28T23:56:07.521Z eslint:rules Loading rule 'no-implied-eval' (remaining=82)
2021-10-28T23:56:07.524Z eslint:rules Loading rule 'no-redeclare' (remaining=81)
2021-10-28T23:56:07.525Z eslint:rules Loading rule 'no-unused-vars' (remaining=80)
2021-10-28T23:56:07.525Z eslint:rules Loading rule 'space-before-function-paren' (remaining=79)
2021-10-28T23:56:07.525Z eslint:rules Loading rule 'no-await-in-loop' (remaining=78)
2021-10-28T23:56:07.526Z eslint:rules Loading rule 'no-inner-declarations' (remaining=77)
2021-10-28T23:56:07.526Z eslint:rules Loading rule 'no-template-curly-in-string' (remaining=76)
2021-10-28T23:56:07.527Z eslint:rules Loading rule 'require-atomic-updates' (remaining=75)
2021-10-28T23:56:07.527Z eslint:rules Loading rule 'valid-typeof' (remaining=74)
2021-10-28T23:56:07.527Z eslint:rules Loading rule 'array-callback-return' (remaining=73)
2021-10-28T23:56:07.531Z eslint:rules Loading rule 'class-methods-use-this' (remaining=72)
2021-10-28T23:56:07.531Z eslint:rules Loading rule 'complexity' (remaining=71)
2021-10-28T23:56:07.532Z eslint:rules Loading rule 'guard-for-in' (remaining=70)
2021-10-28T23:56:07.532Z eslint:rules Loading rule 'max-classes-per-file' (remaining=69)
2021-10-28T23:56:07.532Z eslint:rules Loading rule 'no-constructor-return' (remaining=68)
2021-10-28T23:56:07.533Z eslint:rules Loading rule 'no-div-regex' (remaining=67)
2021-10-28T23:56:07.533Z eslint:rules Loading rule 'no-labels' (remaining=66)
2021-10-28T23:56:07.534Z eslint:rules Loading rule 'no-param-reassign' (remaining=65)
2021-10-28T23:56:07.534Z eslint:rules Loading rule 'no-restricted-properties' (remaining=64)
2021-10-28T23:56:07.534Z eslint:rules Loading rule 'no-return-await' (remaining=63)
2021-10-28T23:56:07.537Z eslint:rules Loading rule 'no-script-url' (remaining=62)
2021-10-28T23:56:07.537Z eslint:rules Loading rule 'no-throw-literal' (remaining=61)
2021-10-28T23:56:07.538Z eslint:rules Loading rule 'no-void' (remaining=60)
2021-10-28T23:56:07.538Z eslint:rules Loading rule 'prefer-promise-reject-errors' (remaining=59)
2021-10-28T23:56:07.539Z eslint:rules Loading rule 'require-await' (remaining=58)
2021-10-28T23:56:07.541Z eslint:rules Loading rule 'require-yield' (remaining=57)
2021-10-28T23:56:07.541Z eslint:rules Loading rule 'no-restricted-globals' (remaining=56)
2021-10-28T23:56:07.542Z eslint:rules Loading rule 'no-shadow' (remaining=55)
2021-10-28T23:56:07.542Z eslint:rules Loading rule 'no-undef-init' (remaining=54)
2021-10-28T23:56:07.542Z eslint:rules Loading rule 'capitalized-comments' (remaining=53)
2021-10-28T23:56:07.543Z eslint:rules Loading rule 'consistent-this' (remaining=52)
2021-10-28T23:56:07.544Z eslint:rules Loading rule 'func-name-matching' (remaining=51)
2021-10-28T23:56:07.544Z eslint:rules Loading rule 'id-denylist' (remaining=50)
2021-10-28T23:56:07.544Z eslint:rules Loading rule 'id-length' (remaining=49)
2021-10-28T23:56:07.545Z eslint:rules Loading rule 'id-match' (remaining=48)
2021-10-28T23:56:07.545Z eslint:rules Loading rule 'max-depth' (remaining=47)
2021-10-28T23:56:07.546Z eslint:rules Loading rule 'max-lines' (remaining=46)
2021-10-28T23:56:07.546Z eslint:rules Loading rule 'max-lines-per-function' (remaining=45)
2021-10-28T23:56:07.546Z eslint:rules Loading rule 'max-nested-callbacks' (remaining=44)
2021-10-28T23:56:07.547Z eslint:rules Loading rule 'max-statements' (remaining=43)
2021-10-28T23:56:07.547Z eslint:rules Loading rule 'multiline-ternary' (remaining=42)
2021-10-28T23:56:07.547Z eslint:rules Loading rule 'no-continue' (remaining=41)
2021-10-28T23:56:07.548Z eslint:rules Loading rule 'no-mixed-operators' (remaining=40)
2021-10-28T23:56:07.548Z eslint:rules Loading rule 'no-nested-ternary' (remaining=39)
2021-10-28T23:56:07.552Z eslint:rules Loading rule 'no-restricted-syntax' (remaining=38)
2021-10-28T23:56:07.553Z eslint:rules Loading rule 'no-ternary' (remaining=37)
2021-10-28T23:56:07.553Z eslint:rules Loading rule 'padding-line-between-statements' (remaining=36)
2021-10-28T23:56:07.555Z eslint:rules Loading rule 'sort-keys' (remaining=35)
2021-10-28T23:56:07.556Z eslint:rules Loading rule 'sort-vars' (remaining=34)
2021-10-28T23:56:07.556Z eslint:rules Loading rule 'wrap-regex' (remaining=33)
2021-10-28T23:56:07.556Z eslint:rules Loading rule 'no-confusing-arrow' (remaining=32)
2021-10-28T23:56:07.557Z eslint:rules Loading rule 'no-restricted-exports' (remaining=31)
2021-10-28T23:56:07.557Z eslint:rules Loading rule 'block-scoped-var' (remaining=30)
2021-10-28T23:56:07.557Z eslint:rules Loading rule 'no-implicit-globals' (remaining=29)
2021-10-28T23:56:07.558Z eslint:rules Loading rule 'no-iterator' (remaining=28)
2021-10-28T23:56:07.558Z eslint:rules Loading rule 'vars-on-top' (remaining=27)
2021-10-28T23:56:07.559Z eslint:rules Loading rule 'wrap-iife' (remaining=26)
2021-10-28T23:56:07.559Z eslint:rules Loading rule 'strict' (remaining=25)
2021-10-28T23:56:07.560Z eslint:rules Loading rule 'no-shadow-restricted-names' (remaining=24)
2021-10-28T23:56:07.566Z eslintrc:cascading-config-array-factory Configuration was determined: ConfigArray(4) [ { type: 'config', name: 'DefaultIgnorePattern', filePath: '', criteria: null, env: undefined, globals: undefined, ignorePattern: IgnorePattern { patterns: [Array], basePath: '/home/jamesernator/Projects/typescript-eslint-issue-replication', loose: false }, noInlineConfig: undefined, parser: undefined, parserOptions: undefined, plugins: undefined, processor: undefined, reportUnusedDisableDirectives: undefined, root: undefined, rules: undefined, settings: undefined }, { type: 'config', name: '.eslintrc.cjs', filePath: '/home/jamesernator/Projects/typescript-eslint-issue-replication/.eslintrc.cjs', criteria: null, env: undefined, globals: undefined, ignorePattern: undefined, noInlineConfig: undefined, parser: { error: null, filePath: '/home/jamesernator/Projects/typescript-eslint-issue-replication/node_modules/@typescript-eslint/parser/dist/index.js', id: '@typescript-eslint/parser', importerName: '.eslintrc.cjs', importerPath: '/home/jamesernator/Projects/typescript-eslint-issue-replication/.eslintrc.cjs' }, parserOptions: { project: '/home/jamesernator/Projects/typescript-eslint-issue-replication/tsconfig.json' }, plugins: { import: [Object], '@typescript-eslint': [Object] }, processor: undefined, reportUnusedDisableDirectives: undefined, root: true, rules: { 'for-direction': 'error', 'no-compare-neg-zero': 'error', 'no-cond-assign': 'error', 'no-constant-condition': [Array], 'no-control-regex': 'error', 'no-dupe-args': 'error', 'no-dupe-else-if': 'error', 'no-dupe-keys': 'error', 'no-duplicate-case': 'error', 'no-empty-character-class': 'error', 'no-func-assign': 'error', 'no-import-assign': 'error', 'no-invalid-regexp': 'error', '@typescript-eslint/no-loss-of-precision': 'error', 'no-misleading-character-class': 'error', 'no-promise-executor-return': 'error', 'no-prototype-builtins': 'error', 'no-regex-spaces': 'error', 'no-setter-return': 'error', 'no-sparse-arrays': 'error', 'no-unexpected-multiline': 'error', 'no-unreachable': 'error', 'no-unreachable-loop': 'error', 'no-unsafe-finally': 'error', 'no-unsafe-negation': 'error', 'no-unsafe-optional-chaining': [Array], 'no-useless-backreference': 'error', 'use-isnan': 'error', 'consistent-return': 'error', curly: [Array], eqeqeq: [Array], 'no-case-declarations': 'error', 'no-extra-bind': 'error', 'no-fallthrough': [Array], '@typescript-eslint/no-implied-eval': 'error', '@typescript-eslint/no-loop-func': 'error', 'no-multi-str': 'error', 'no-new': 'error', 'no-nonoctal-decimal-escape': 'error', 'no-octal': 'error', 'no-octal-escape': 'error', '@typescript-eslint/no-redeclare': [Array], 'no-return-assign': 'error', 'no-self-assign': [Array], 'no-self-compare': 'error', 'no-sequences': 'error', 'no-unmodified-loop-condition': 'error', '@typescript-eslint/no-unused-expressions': [Array], 'no-unused-labels': 'error', 'no-useless-call': 'error', 'no-useless-catch': 'error', 'no-useless-concat': 'error', 'no-useless-escape': 'error', radix: [Array], 'no-delete-var': 'error', '@typescript-eslint/no-unused-vars': [Array], '@typescript-eslint/no-array-constructor': 'error', 'no-multi-assign': 'error', '@typescript-eslint/await-thenable': 'error', '@typescript-eslint/no-base-to-string': 'error', '@typescript-eslint/no-confusing-non-null-assertion': 'error', '@typescript-eslint/no-confusing-void-expression': [Array], '@typescript-eslint/no-floating-promises': [Array], '@typescript-eslint/no-meaningless-void-operator': [Array], '@typescript-eslint/no-misused-promises': [Array], '@typescript-eslint/no-non-null-asserted-nullish-coalescing': 'error', '@typescript-eslint/no-non-null-asserted-optional-chain': 'error', '@typescript-eslint/require-array-sort-compare': [Array], '@typescript-eslint/restrict-plus-operands': [Array], '@typescript-eslint/restrict-template-expressions': [Array], '@typescript-eslint/strict-boolean-expressions': [Array], '@typescript-eslint/switch-exhaustiveness-check': 'error', '@typescript-eslint/unbound-method': [Array], '@typescript-eslint/no-duplicate-imports': [Array], '@typescript-eslint/consistent-type-exports': 'error', '@typescript-eslint/no-require-imports': 'error', 'no-console': 'error', 'no-debugger': 'error', 'no-ex-assign': 'error', 'accessor-pairs': [Array], 'default-case': 'error', '@typescript-eslint/default-param-last': 'error', 'no-alert': 'error', 'no-empty-pattern': 'error', 'no-eval': 'error', 'no-extend-native': 'error', 'no-lone-blocks': 'error', 'no-new-func': 'error', 'no-new-wrappers': 'error', 'no-proto': 'error', 'no-useless-return': 'error', 'no-warning-comments': [Array], 'no-with': 'error', 'prefer-named-capture-group': 'error', 'prefer-regex-literals': [Array], 'require-unicode-regexp': 'error', 'no-label-var': 'error', 'max-params': [Array], 'max-statements-per-line': [Array], 'no-bitwise': 'error', 'no-new-object': 'error', 'no-plusplus': [Array], 'no-unneeded-ternary': [Array], 'no-class-assign': 'error', '@typescript-eslint/no-dupe-class-members': 'error', 'no-new-symbol': 'error', 'no-var': 'error', 'prefer-numeric-literals': 'error', 'prefer-rest-params': 'error', 'import/no-absolute-path': [Array], 'import/no-anonymous-default-export': [Array], '@typescript-eslint/ban-ts-comment': [Array], '@typescript-eslint/ban-tslint-comment': 'error', '@typescript-eslint/consistent-type-assertions': [Array], '@typescript-eslint/explicit-function-return-type': [Array], '@typescript-eslint/explicit-module-boundary-types': [Array], '@typescript-eslint/method-signature-style': [Array], '@typescript-eslint/no-extra-non-null-assertion': 'error', '@typescript-eslint/no-implicit-any-catch': [Array], '@typescript-eslint/no-invalid-void-type': [Array], '@typescript-eslint/no-non-null-assertion': 'error', '@typescript-eslint/no-unnecessary-boolean-literal-compare': [Array], '@typescript-eslint/no-unnecessary-condition': [Array], '@typescript-eslint/no-unnecessary-type-arguments': 'error', '@typescript-eslint/no-unnecessary-type-assertion': 'error', '@typescript-eslint/no-unnecessary-type-constraint': 'error', '@typescript-eslint/no-unsafe-return': 'error', '@typescript-eslint/no-var-requires': 'error', '@typescript-eslint/prefer-enum-initializers': 'error', '@typescript-eslint/prefer-for-of': 'error', '@typescript-eslint/prefer-literal-enum-member': 'error', '@typescript-eslint/prefer-nullish-coalescing': [Array], '@typescript-eslint/prefer-optional-chain': 'error', '@typescript-eslint/prefer-readonly': 'error', '@typescript-eslint/prefer-readonly-parameter-types': [Array], '@typescript-eslint/prefer-reduce-type-parameter': 'error', '@typescript-eslint/prefer-return-this-type': 'error', '@typescript-eslint/prefer-string-starts-ends-with': 'error', '@typescript-eslint/prefer-ts-expect-error': 'error', '@typescript-eslint/triple-slash-reference': [Array], '@typescript-eslint/unified-signatures': 'error', '@typescript-eslint/return-await': [Array], '@typescript-eslint/ban-types': [Array], 'no-empty': [Array], 'no-extra-boolean-cast': [Array], '@typescript-eslint/no-extra-parens': [Array], '@typescript-eslint/no-extra-semi': 'error', 'no-irregular-whitespace': 'error', 'default-case-last': 'error', 'dot-location': [Array], '@typescript-eslint/dot-notation': [Array], 'grouped-accessor-pairs': [Array], 'no-else-return': [Array], '@typescript-eslint/no-empty-function': 'error', 'no-extra-label': 'error', 'no-floating-decimal': 'error', 'no-implicit-coercion': [Array], 'no-multi-spaces': 'error', yoda: [Array], 'array-bracket-newline': [Array], 'array-bracket-spacing': [Array], 'array-element-newline': [Array], 'block-spacing': [Array], '@typescript-eslint/brace-style': [Array], '@typescript-eslint/comma-dangle': [Array], '@typescript-eslint/comma-spacing': [Array], 'comma-style': [Array], 'computed-property-spacing': [Array], 'eol-last': [Array], '@typescript-eslint/func-call-spacing': [Array], 'func-names': [Array], 'func-style': [Array], 'function-call-argument-newline': [Array], 'function-paren-newline': [Array], 'implicit-arrow-linebreak': [Array], '@typescript-eslint/indent': [Array], 'jsx-quotes': [Array], 'key-spacing': [Array], '@typescript-eslint/keyword-spacing': [Array], 'line-comment-position': [Array], 'linebreak-style': [Array], 'lines-around-comment': [Array], '@typescript-eslint/lines-between-class-members': [Array], 'max-len': [Array], 'multiline-comment-style': [Array], 'new-parens': [Array], 'newline-per-chained-call': [Array], 'no-inline-comments': 'error', 'no-lonely-if': 'error', 'no-mixed-spaces-and-tabs': 'error', 'no-multiple-empty-lines': [Array], 'no-negated-condition': 'error', 'no-tabs': 'error', 'no-trailing-spaces': 'error', 'no-whitespace-before-property': 'error', 'nonblock-statement-body-position': [Array], 'object-curly-newline': [Array], '@typescript-eslint/object-curly-spacing': [Array], 'object-property-newline': [Array], 'one-var': [Array], 'one-var-declaration-per-line': [Array], 'operator-assignment': [Array], 'operator-linebreak': [Array], 'padded-blocks': [Array], 'prefer-exponentiation-operator': 'error', 'prefer-object-spread': 'error', 'quote-props': [Array], '@typescript-eslint/quotes': [Array], '@typescript-eslint/semi': [Array], 'semi-spacing': [Array], 'semi-style': [Array], 'space-before-blocks': [Array], '@typescript-eslint/space-before-function-paren': [Array], 'space-in-parens': [Array], '@typescript-eslint/space-infix-ops': 'error', 'space-unary-ops': [Array], 'spaced-comment': [Array], 'switch-colon-spacing': [Array], 'template-tag-spacing': [Array], 'unicode-bom': [Array], 'arrow-body-style': [Array], 'arrow-parens': [Array], 'arrow-spacing': [Array], 'generator-star-spacing': [Array], 'no-useless-computed-key': [Array], '@typescript-eslint/no-useless-constructor': 'error', 'no-useless-rename': [Array], 'object-shorthand': [Array], 'prefer-arrow-callback': [Array], 'prefer-const': [Array], 'prefer-destructuring': [Array], 'prefer-spread': 'error', 'prefer-template': 'error', 'rest-spread-spacing': [Array], 'sort-imports': [Array], 'symbol-description': 'error', 'template-curly-spacing': [Array], 'yield-star-spacing': [Array], 'import/no-useless-path-segments': [Array], 'import/first': 'error', 'import/no-duplicates': [Array], 'import/order': [Array], 'import/newline-after-import': [Array], 'import/no-named-default': 'error', '@typescript-eslint/adjacent-overload-signatures': 'error', '@typescript-eslint/array-type': [Array], '@typescript-eslint/class-literal-property-style': [Array], '@typescript-eslint/consistent-indexed-object-style': [Array], '@typescript-eslint/consistent-type-imports': [Array], '@typescript-eslint/member-delimiter-style': [Array], '@typescript-eslint/naming-convention': [Array], '@typescript-eslint/no-for-in-array': 'error', '@typescript-eslint/no-parameter-properties': 'error', '@typescript-eslint/prefer-function-type': 'error', '@typescript-eslint/prefer-includes': 'error', '@typescript-eslint/sort-type-union-intersection-members': [Array], '@typescript-eslint/type-annotation-spacing': [Array], '@typescript-eslint/no-restricted-imports': [Array], 'getter-return': 'off', 'no-async-promise-executor': 'off', 'no-obj-calls': 'off', 'no-caller': 'off', 'no-global-assign': 'off', 'no-invalid-this': 'off', '@typescript-eslint/no-invalid-this': 'off', 'init-declarations': 'off', '@typescript-eslint/init-declarations': 'off', 'no-eq-null': 'off', 'no-undef': 'off', 'no-undefined': 'off', 'no-use-before-define': 'off', '@typescript-eslint/no-use-before-define': 'off', 'new-cap': 'off', 'constructor-super': 'off', 'no-const-assign': 'off', 'no-this-before-super': 'off', 'import/no-unresolved': 'off', 'import/named': 'off', 'import/default': 'off', 'import/namespace': 'off', 'import/export': 'off', 'import/no-named-as-default': 'off', 'import/no-named-as-default-member': 'off', 'import/no-deprecated': 'off', 'import/no-extraneous-dependencies': 'off', 'import/unambiguous': 'off', 'import/no-commonjs': 'off', 'import/no-amd': 'off', 'import/no-nodejs-modules': 'off', 'import/no-import-module-exports': 'off', 'import/extensions': 'off', 'no-duplicate-imports': 'off', 'no-underscore-dangle': 'off', camelcase: 'off', 'brace-style': 'off', 'comma-dangle': 'off', 'comma-spacing': 'off', 'default-param-last': 'off', 'dot-notation': 'off', 'func-call-spacing': 'off', indent: 'off', 'keyword-spacing': 'off', 'lines-between-class-members': 'off', 'no-array-constructor': 'off', 'no-dupe-class-members': 'off', 'no-empty-function': 'off', 'no-extra-parens': 'off', 'no-extra-semi': 'off', 'no-implied-eval': 'off', 'no-loop-func': 'off', 'no-loss-of-precision': 'off', 'no-redeclare': 'off', 'no-unused-expressions': 'off', 'no-unused-vars': 'off', 'no-useless-constructor': 'off', 'object-curly-spacing': 'off', quotes: 'off', semi: 'off', 'space-before-function-paren': 'off', 'space-infix-ops': 'off', 'no-await-in-loop': 'off', 'no-inner-declarations': 'off', 'no-template-curly-in-string': 'off', 'require-atomic-updates': 'off', 'valid-typeof': 'off', 'array-callback-return': 'off', 'class-methods-use-this': 'off', complexity: 'off', 'guard-for-in': 'off', 'max-classes-per-file': 'off', 'no-constructor-return': 'off', 'no-div-regex': 'off', 'no-labels': 'off', 'no-magic-numbers': 'off', '@typescript-eslint/no-magic-numbers': 'off', 'no-param-reassign': 'off', 'no-restricted-properties': 'off', 'no-return-await': 'off', 'no-script-url': 'off', 'no-throw-literal': 'off', '@typescript-eslint/no-throw-literal': 'off', 'no-void': 'off', 'prefer-promise-reject-errors': 'off', 'require-await': 'off', '@typescript-eslint/require-await': 'off', 'require-yield': 'off', 'no-restricted-globals': 'off', 'no-shadow': 'off', '@typescript-eslint/no-shadow': 'off', 'no-undef-init': 'off', 'capitalized-comments': 'off', 'consistent-this': 'off', 'func-name-matching': 'off', 'id-denylist': 'off', 'id-length': 'off', 'id-match': 'off', 'max-depth': 'off', 'max-lines': 'off', 'max-lines-per-function': 'off', 'max-nested-callbacks': 'off', 'max-statements': 'off', 'multiline-ternary': 'off', 'no-continue': 'off', 'no-mixed-operators': 'off', 'no-nested-ternary': 'off', 'no-restricted-syntax': 'off', 'no-ternary': 'off', 'padding-line-between-statements': 'off', '@typescript-eslint/padding-line-between-statements': 'off', 'sort-keys': 'off', 'sort-vars': 'off', 'wrap-regex': 'off', 'no-confusing-arrow': 'off', 'no-restricted-exports': 'off', 'no-restricted-imports': 'off', 'import/no-restricted-paths': 'off', 'import/no-dynamic-require': 'off', 'import/no-internal-modules': 'off', 'import/no-webpack-loader-syntax': 'off', 'import/no-self-import': 'off', 'import/no-cycle': 'off', 'import/no-relative-packages': 'off', 'import/no-relative-parent-imports': 'off', 'import/no-mutable-exports': 'off', 'import/no-unused-modules': 'off', 'import/exports-last': 'off', 'import/no-namespace': 'off', 'import/prefer-default-export': 'off', 'import/max-dependencies': 'off', 'import/no-unassigned-import': 'off', 'import/no-default-export': 'off', 'import/no-named-export': 'off', 'import/group-exports': 'off', '@typescript-eslint/consistent-type-definitions': 'off', '@typescript-eslint/explicit-member-accessibility': 'off', '@typescript-eslint/member-ordering': 'off', '@typescript-eslint/no-dynamic-delete': 'off', '@typescript-eslint/no-empty-interface': 'off', '@typescript-eslint/no-explicit-any': 'off', '@typescript-eslint/no-extraneous-class': 'off', '@typescript-eslint/no-inferrable-types': 'off', '@typescript-eslint/no-misused-new': 'off', '@typescript-eslint/no-namespace': 'off', '@typescript-eslint/no-this-alias': 'off', '@typescript-eslint/no-type-alias': 'off', '@typescript-eslint/no-unnecessary-qualifier': 'off', '@typescript-eslint/no-unsafe-argument': 'off', '@typescript-eslint/no-unsafe-assignment': 'off', '@typescript-eslint/no-unsafe-call': 'off', '@typescript-eslint/no-unsafe-member-access': 'off', '@typescript-eslint/non-nullable-type-assertion-style': 'off', '@typescript-eslint/prefer-as-const': 'off', '@typescript-eslint/prefer-namespace-keyword': 'off', '@typescript-eslint/prefer-regexp-exec': 'off', '@typescript-eslint/promise-function-async': 'off', '@typescript-eslint/typedef': 'off', 'block-scoped-var': 'off', 'no-implicit-globals': 'off', 'no-iterator': 'off', 'vars-on-top': 'off', 'wrap-iife': 'off', strict: 'off', 'no-shadow-restricted-names': 'off' }, settings: undefined }, { type: 'config', name: '.eslintrc.cjs#overrides[0]', filePath: '/home/jamesernator/Projects/typescript-eslint-issue-replication/.eslintrc.cjs', criteria: { includes: [Array], excludes: null, basePath: '/home/jamesernator/Projects/typescript-eslint-issue-replication' }, env: undefined, globals: undefined, ignorePattern: undefined, noInlineConfig: undefined, parser: undefined, parserOptions: undefined, plugins: undefined, processor: undefined, reportUnusedDisableDirectives: undefined, root: undefined, rules: { '@typescript-eslint/no-require-imports': 'off' }, settings: undefined }, { type: 'ignore', name: '.eslintignore', filePath: '/home/jamesernator/Projects/typescript-eslint-issue-replication/.eslintignore', criteria: null, env: undefined, globals: undefined, ignorePattern: IgnorePattern { patterns: [Array], basePath: '/home/jamesernator/Projects/typescript-eslint-issue-replication', loose: true }, noInlineConfig: undefined, parser: undefined, parserOptions: undefined, plugins: undefined, processor: undefined, reportUnusedDisableDirectives: undefined, root: undefined, rules: undefined, settings: undefined } ] on /home/jamesernator/Projects/typescript-eslint-issue-replication
2021-10-28T23:56:07.570Z eslintrc:ignore-pattern Create with: [ IgnorePattern { patterns: [ '/**/node_modules/*' ], basePath: '/home/jamesernator/Projects/typescript-eslint-issue-replication', loose: false }, IgnorePattern { patterns: [ '**/*.cjs', '**/*.mjs', '**/*.js', '**/*.d.ts', '**/*.d.mts', '**/*.d.cts', '!**/.eslintrc.cjs' ], basePath: '/home/jamesernator/Projects/typescript-eslint-issue-replication', loose: true } ]
2021-10-28T23:56:07.571Z eslintrc:ignore-pattern   processed: { basePath: '/home/jamesernator/Projects/typescript-eslint-issue-replication', patterns: [ '/**/node_modules/*', '**/*.cjs', '**/*.mjs', '**/*.js', '**/*.d.ts', '**/*.d.mts', '**/*.d.cts', '!**/.eslintrc.cjs' ] }
2021-10-28T23:56:07.572Z eslintrc:ignore-pattern Check {
  filePath: '/home/jamesernator/Projects/typescript-eslint-issue-replication/ConcurrentTaskManager.ts',
  dot: false,
  relativePath: 'ConcurrentTaskManager.ts',
  result: false
}
2021-10-28T23:56:07.572Z eslint:cli-engine Lint /home/jamesernator/Projects/typescript-eslint-issue-replication/ConcurrentTaskManager.ts
2021-10-28T23:56:07.572Z eslint:linter Linting code for /home/jamesernator/Projects/typescript-eslint-issue-replication/ConcurrentTaskManager.ts (pass 1)
2021-10-28T23:56:07.573Z eslint:linter Verify
2021-10-28T23:56:07.573Z eslint:linter With ConfigArray: /home/jamesernator/Projects/typescript-eslint-issue-replication/ConcurrentTaskManager.ts
2021-10-28T23:56:10.011Z eslint:linter An error occurred while traversing
2021-10-28T23:56:10.011Z eslint:linter Filename: /home/jamesernator/Projects/typescript-eslint-issue-replication/ConcurrentTaskManager.ts
2021-10-28T23:56:10.011Z eslint:linter Line: 48
2021-10-28T23:56:10.011Z eslint:linter Parser Options: {
  project: '/home/jamesernator/Projects/typescript-eslint-issue-replication/tsconfig.json',
  ecmaVersion: undefined
}
2021-10-28T23:56:10.011Z eslint:linter Parser Path: /home/jamesernator/Projects/typescript-eslint-issue-replication/node_modules/@typescript-eslint/parser/dist/index.js
2021-10-28T23:56:10.011Z eslint:linter Settings: {}

Oops! Something went wrong! :(

ESLint: 8.1.0

Error: Non-null Assertion Failed: Expected to find a property "#promise" for the type.
Occurred while linting /home/jamesernator/Projects/typescript-eslint-issue-replication/ConcurrentTaskManager.ts:48
Rule: "@typescript-eslint/prefer-readonly-parameter-types"
    at nullThrows (/home/jamesernator/Projects/typescript-eslint-issue-replication/node_modules/@typescript-eslint/eslint-plugin/dist/util/nullThrows.js:23:15)
    at isTypeReadonlyObject (/home/jamesernator/Projects/typescript-eslint-issue-replication/node_modules/@typescript-eslint/eslint-plugin/dist/util/isTypeReadonly.js:106:52)
    at isTypeReadonlyRecurser (/home/jamesernator/Projects/typescript-eslint-issue-replication/node_modules/@typescript-eslint/eslint-plugin/dist/util/isTypeReadonly.js:151:30)
    at Object.isTypeReadonly (/home/jamesernator/Projects/typescript-eslint-issue-replication/node_modules/@typescript-eslint/eslint-plugin/dist/util/isTypeReadonly.js:161:13)
    at ArrowFunctionExpression, FunctionDeclaration, FunctionExpression, TSCallSignatureDeclaration, TSConstructSignatureDeclaration, TSDeclareFunction, TSEmptyBodyFunctionExpression, TSFunctionType, TSMethodSignature (/home/jamesernator/Projects/typescript-eslint-issue-replication/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-readonly-parameter-types.js:79:45)
    at ruleErrorHandler (/home/jamesernator/Projects/typescript-eslint-issue-replication/node_modules/eslint/lib/linter/linter.js:966:28)
    at /home/jamesernator/Projects/typescript-eslint-issue-replication/node_modules/eslint/lib/linter/safe-emitter.js:45:58
    at Array.forEach (<anonymous>)
    at Object.emit (/home/jamesernator/Projects/typescript-eslint-issue-replication/node_modules/eslint/lib/linter/safe-emitter.js:45:38)
    at NodeEventGenerator.applySelector (/home/jamesernator/Projects/typescript-eslint-issue-replication/node_modules/eslint/lib/linter/node-event-generator.js:297:26)

Versions

package version
@typescript-eslint/eslint-plugin 5.2.0
@typescript-eslint/parser 5.2.0
TypeScript 4.4.4
ESLint 8.1.0
node 17.0.1
@Jamesernator Jamesernator added package: eslint-plugin Issues related to @typescript-eslint/eslint-plugin triage Waiting for maintainers to take a look labels Oct 28, 2021
@bradzacher bradzacher added bug Something isn't working and removed triage Waiting for maintainers to take a look labels Oct 29, 2021
@JoshuaKGoldberg JoshuaKGoldberg added the accepting prs Go ahead, send a pull request that resolves this issue label Oct 30, 2021
@armano2 armano2 changed the title [@typescript-eslint/prefer-readonly-parameter-types] typescript-eslint crashing with error Non-null Assertion Failed: Expected to find a property "#promise" for the type. [prefer-readonly-parameter-types] crashing with error Non-null Assertion Failed: Expected to find a property "#promise" for the type. Dec 27, 2021
@JoshuaKGoldberg
Copy link
Member

Much smaller reproduction case:

class HasText {
  readonly #text: string;
}

export function onDone(task: HasText): void {}
Error: Non-null Assertion Failed: Expected to find a property "#text" for the type.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators May 24, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
accepting prs Go ahead, send a pull request that resolves this issue bug Something isn't working package: eslint-plugin Issues related to @typescript-eslint/eslint-plugin
Projects
None yet
3 participants