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

[no-unused-vars] Exception hit with default parameter in v.4.0.0-alpha.5 #2369

Closed
mckennapsean opened this issue Aug 7, 2020 · 0 comments · Fixed by #2375 or #2330
Closed

[no-unused-vars] Exception hit with default parameter in v.4.0.0-alpha.5 #2369

mckennapsean opened this issue Aug 7, 2020 · 0 comments · Fixed by #2375 or #2330
Assignees
Labels
bug Something isn't working package: eslint-plugin Issues related to @typescript-eslint/eslint-plugin
Milestone

Comments

@mckennapsean
Copy link

mckennapsean commented Aug 7, 2020

Repro

{
  "rules": {
    "@typescript-eslint/no-unused-vars": "error" 
  }
}
export class Test {
    constructor(@Optional() value: number[] = []) {
        console.log(value);
    }
}

function Optional<T>(): (targetClass: any, parameter: T, index: number) => void {
    return (klass: any, parameter: T, index: number) => {
        console.log(klass);
        console.log(parameter);
        console.log(index);
    };
}

Expected Result

No errors.

Actual Result

None - error is hit:
"Cannot read property 'type' of undefined Occurred while linting .../test.ts:1"

Additional Info

In previous versions of typescript-eslint, the function Optional is incorrectly reported as an unused var.

Removing the default parameter (= []) causes the rule to parse & the file to pass linting checks as expected (this was true in previous versions too).

Versions

package version
@typescript-eslint/eslint-plugin 4.0.0-alpha.5
@typescript-eslint/parser 4.0.0-alpha.5
TypeScript 3.7.5
ESLint 7.6.0
node 12.13.0
npm 6.12.0

Debug details from flagged run

  eslint:cli CLI args: [ '--ext', '.ts', 'folder/folder2/test.ts', '--debug' ] +0ms
  eslint:cli Running on files +4ms
  eslint:config-array-factory Loading .eslintignore file: /home/seanm/project/.eslintignore +0ms
  eslint:ignore-pattern Create with: [ IgnorePattern { patterns: [ '/**/node_modules/*' ], basePath: '/home/seanm/project', loose: false } ] +0ms
  eslint:ignore-pattern   processed: { basePath: '/home/seanm/project', patterns: [ '/**/node_modules/*' ] } +2ms
  eslint:ignore-pattern Create with: [ IgnorePattern { patterns: [ '/**/node_modules/*' ], basePath: '/home/seanm/project', loose: false } ] +0ms
  eslint:ignore-pattern   processed: { basePath: '/home/seanm/project', patterns: [ '/**/node_modules/*' ] } +0ms
  eslint:file-enumerator Start to iterate files: [ 'folder/folder2/test.ts' ] +0ms
  eslint:file-enumerator File: /home/seanm/project/folder/folder2/test.ts +0ms
  eslint:cascading-config-array-factory Load config files for /home/seanm/project/folder/folder2. +0ms
  eslint:cascading-config-array-factory No cache found: /home/seanm/project/folder/folder2. +0ms
  eslint:config-array-factory Loading legacy config file: /home/seanm/project/folder/folder2/.eslintrc +4ms
  eslint:config-array-factory Config file found: /home/seanm/project/folder/folder2/.eslintrc +11ms
  eslint:config-array-factory Loading parser "@typescript-eslint/parser" from /home/seanm/project/folder/folder2/.eslintrc +0ms
  eslint:config-array-factory Loaded: @typescript-eslint/parser@4.0.0-alpha.5+35295892 (/home/seanm/project/node_modules/@typescript-eslint/parser/dist/index.js) +0ms
  eslint:config-array-factory Loading plugin "@typescript-eslint" from /home/seanm/project/folder/folder2/.eslintrc +156ms
  eslint:config-array-factory Loaded: @typescript-eslint/eslint-plugin@4.0.0-alpha.5+35295892 (/home/seanm/project/node_modules/@typescript-eslint/eslint-plugin/dist/index.js) +1ms
  eslint:config-array-factory Plugin /home/seanm/project/node_modules/@typescript-eslint/eslint-plugin/dist/index.js loaded in: 92ms +92ms
  eslint:cascading-config-array-factory No cache found: /home/seanm/project/folder/folder2. +261ms
  eslint:config-array-factory Config file not found on /home/seanm/project/folder/folder2 +0ms
  eslint:cascading-config-array-factory No cache found: /home/seanm/project/folder. +0ms
  eslint:config-array-factory Config file not found on /home/seanm/project/folder +0ms
  eslint:cascading-config-array-factory No cache found: /home/seanm/project/app/webroot. +0ms
  eslint:config-array-factory Config file not found on /home/seanm/project/app/webroot +1ms
  eslint:cascading-config-array-factory No cache found: /home/seanm/project/app. +1ms
  eslint:config-array-factory Config file not found on /home/seanm/project/app +0ms
  eslint:cascading-config-array-factory No cache found: /home/seanm/project. +0ms
  eslint:config-array-factory Loading legacy config file: /home/seanm/project/.eslintrc +0ms
  eslint:config-array-factory Config file found: /home/seanm/project/.eslintrc +1ms
  eslint:config-array-factory Loading parser "@typescript-eslint/parser" from /home/seanm/project/.eslintrc +0ms
  eslint:config-array-factory Loaded: @typescript-eslint/parser@4.0.0-alpha.5+35295892 (/home/seanm/project/node_modules/@typescript-eslint/parser/dist/index.js) +0ms
  eslint:config-array-factory Loading plugin "@typescript-eslint" from /home/seanm/project/.eslintrc +0ms
  eslint:config-array-factory Loaded: @typescript-eslint/eslint-plugin@4.0.0-alpha.5+35295892 (/home/seanm/project/node_modules/@typescript-eslint/eslint-plugin/dist/index.js) +0ms
  eslint:config-array-factory Plugin /home/seanm/project/node_modules/@typescript-eslint/eslint-plugin/dist/index.js loaded in: 0ms +0ms
  eslint:config-array-factory Loading plugin "simple-import-sort" from /home/seanm/project/.eslintrc +0ms
  eslint:config-array-factory Loaded: eslint-plugin-simple-import-sort@5.0.3 (/home/seanm/project/node_modules/eslint-plugin-simple-import-sort/index.js) +0ms
  eslint:config-array-factory Plugin /home/seanm/project/node_modules/eslint-plugin-simple-import-sort/index.js loaded in: 1ms +1ms
  eslint:config-array-factory Loading plugin "import" from /home/seanm/project/.eslintrc +0ms
  eslint:config-array-factory Loaded: eslint-plugin-import@2.22.0 (/home/seanm/project/node_modules/eslint-plugin-import/lib/index.js) +0ms
  eslint:config-array-factory Plugin /home/seanm/project/node_modules/eslint-plugin-import/lib/index.js loaded in: 34ms +34ms
  eslint:config-array-factory Loading plugin "unused-imports" from /home/seanm/project/.eslintrc +0ms
  eslint:config-array-factory Loaded: eslint-plugin-unused-imports@0.1.3 (/home/seanm/project/node_modules/eslint-plugin-unused-imports/lib/index.js) +1ms
  eslint:rules Loading rule 'accessor-pairs' (remaining=274) +0ms
  eslint:rules Loading rule 'array-bracket-newline' (remaining=273) +0ms
  eslint:rules Loading rule 'array-bracket-spacing' (remaining=272) +1ms
  eslint:rules Loading rule 'array-callback-return' (remaining=271) +0ms
  eslint:rules Loading rule 'array-element-newline' (remaining=270) +0ms
  eslint:rules Loading rule 'arrow-body-style' (remaining=269) +0ms
  eslint:rules Loading rule 'arrow-parens' (remaining=268) +0ms
  eslint:rules Loading rule 'arrow-spacing' (remaining=267) +1ms
  eslint:rules Loading rule 'block-scoped-var' (remaining=266) +0ms
  eslint:rules Loading rule 'block-spacing' (remaining=265) +0ms
  eslint:rules Loading rule 'brace-style' (remaining=264) +0ms
  eslint:rules Loading rule 'callback-return' (remaining=263) +0ms
  eslint:rules Loading rule 'camelcase' (remaining=262) +0ms
  eslint:rules Loading rule 'capitalized-comments' (remaining=261) +1ms
  eslint:rules Loading rule 'class-methods-use-this' (remaining=260) +0ms
  eslint:rules Loading rule 'comma-dangle' (remaining=259) +0ms
  eslint:rules Loading rule 'comma-spacing' (remaining=258) +0ms
  eslint:rules Loading rule 'comma-style' (remaining=257) +1ms
  eslint:rules Loading rule 'complexity' (remaining=256) +0ms
  eslint:rules Loading rule 'computed-property-spacing' (remaining=255) +0ms
  eslint:rules Loading rule 'consistent-return' (remaining=254) +0ms
  eslint:rules Loading rule 'consistent-this' (remaining=253) +0ms
  eslint:rules Loading rule 'constructor-super' (remaining=252) +1ms
  eslint:rules Loading rule 'curly' (remaining=251) +0ms
  eslint:rules Loading rule 'default-case' (remaining=250) +0ms
  eslint:rules Loading rule 'default-param-last' (remaining=249) +0ms
  eslint:rules Loading rule 'dot-location' (remaining=248) +0ms
  eslint:rules Loading rule 'dot-notation' (remaining=247) +1ms
  eslint:rules Loading rule 'eol-last' (remaining=246) +0ms
  eslint:rules Loading rule 'eqeqeq' (remaining=245) +0ms
  eslint:rules Loading rule 'for-direction' (remaining=244) +0ms
  eslint:rules Loading rule 'func-call-spacing' (remaining=243) +0ms
  eslint:rules Loading rule 'func-name-matching' (remaining=242) +0ms
  eslint:rules Loading rule 'func-names' (remaining=241) +1ms
  eslint:rules Loading rule 'func-style' (remaining=240) +0ms
  eslint:rules Loading rule 'function-call-argument-newline' (remaining=239) +0ms
  eslint:rules Loading rule 'function-paren-newline' (remaining=238) +0ms
  eslint:rules Loading rule 'generator-star-spacing' (remaining=237) +0ms
  eslint:rules Loading rule 'getter-return' (remaining=236) +1ms
  eslint:rules Loading rule 'global-require' (remaining=235) +1ms
  eslint:rules Loading rule 'grouped-accessor-pairs' (remaining=234) +0ms
  eslint:rules Loading rule 'guard-for-in' (remaining=233) +0ms
  eslint:rules Loading rule 'handle-callback-err' (remaining=232) +0ms
  eslint:rules Loading rule 'id-blacklist' (remaining=231) +1ms
  eslint:rules Loading rule 'id-length' (remaining=230) +0ms
  eslint:rules Loading rule 'id-match' (remaining=229) +0ms
  eslint:rules Loading rule 'implicit-arrow-linebreak' (remaining=228) +0ms
  eslint:rules Loading rule 'indent' (remaining=227) +0ms
  eslint:rules Loading rule 'indent-legacy' (remaining=226) +0ms
  eslint:rules Loading rule 'init-declarations' (remaining=225) +1ms
  eslint:rules Loading rule 'jsx-quotes' (remaining=224) +0ms
  eslint:rules Loading rule 'key-spacing' (remaining=223) +0ms
  eslint:rules Loading rule 'keyword-spacing' (remaining=222) +0ms
  eslint:rules Loading rule 'line-comment-position' (remaining=221) +0ms
  eslint:rules Loading rule 'linebreak-style' (remaining=220) +0ms
  eslint:rules Loading rule 'lines-around-comment' (remaining=219) +1ms
  eslint:rules Loading rule 'lines-around-directive' (remaining=218) +0ms
  eslint:rules Loading rule 'lines-between-class-members' (remaining=217) +0ms
  eslint:rules Loading rule 'max-classes-per-file' (remaining=216) +0ms
  eslint:rules Loading rule 'max-depth' (remaining=215) +0ms
  eslint:rules Loading rule 'max-len' (remaining=214) +1ms
  eslint:rules Loading rule 'max-lines' (remaining=213) +0ms
  eslint:rules Loading rule 'max-lines-per-function' (remaining=212) +0ms
  eslint:rules Loading rule 'max-nested-callbacks' (remaining=211) +0ms
  eslint:rules Loading rule 'max-params' (remaining=210) +1ms
  eslint:rules Loading rule 'max-statements' (remaining=209) +0ms
  eslint:rules Loading rule 'max-statements-per-line' (remaining=208) +0ms
  eslint:rules Loading rule 'multiline-comment-style' (remaining=207) +0ms
  eslint:rules Loading rule 'multiline-ternary' (remaining=206) +0ms
  eslint:rules Loading rule 'new-cap' (remaining=205) +1ms
  eslint:rules Loading rule 'new-parens' (remaining=204) +0ms
  eslint:rules Loading rule 'newline-after-var' (remaining=203) +0ms
  eslint:rules Loading rule 'newline-before-return' (remaining=202) +0ms
  eslint:rules Loading rule 'newline-per-chained-call' (remaining=201) +0ms
  eslint:rules Loading rule 'no-alert' (remaining=200) +1ms
  eslint:rules Loading rule 'no-array-constructor' (remaining=199) +0ms
  eslint:rules Loading rule 'no-async-promise-executor' (remaining=198) +0ms
  eslint:rules Loading rule 'no-await-in-loop' (remaining=197) +0ms
  eslint:rules Loading rule 'no-bitwise' (remaining=196) +0ms
  eslint:rules Loading rule 'no-buffer-constructor' (remaining=195) +0ms
  eslint:rules Loading rule 'no-caller' (remaining=194) +1ms
  eslint:rules Loading rule 'no-case-declarations' (remaining=193) +0ms
  eslint:rules Loading rule 'no-catch-shadow' (remaining=192) +0ms
  eslint:rules Loading rule 'no-class-assign' (remaining=191) +0ms
  eslint:rules Loading rule 'no-compare-neg-zero' (remaining=190) +0ms
  eslint:rules Loading rule 'no-cond-assign' (remaining=189) +0ms
  eslint:rules Loading rule 'no-confusing-arrow' (remaining=188) +1ms
  eslint:rules Loading rule 'no-console' (remaining=187) +0ms
  eslint:rules Loading rule 'no-const-assign' (remaining=186) +0ms
  eslint:rules Loading rule 'no-constant-condition' (remaining=185) +0ms
  eslint:rules Loading rule 'no-constructor-return' (remaining=184) +0ms
  eslint:rules Loading rule 'no-continue' (remaining=183) +1ms
  eslint:rules Loading rule 'no-control-regex' (remaining=182) +0ms
  eslint:rules Loading rule 'no-debugger' (remaining=181) +1ms
  eslint:rules Loading rule 'no-delete-var' (remaining=180) +1ms
  eslint:rules Loading rule 'no-div-regex' (remaining=179) +0ms
  eslint:rules Loading rule 'no-dupe-args' (remaining=178) +0ms
  eslint:rules Loading rule 'no-dupe-class-members' (remaining=177) +0ms
  eslint:rules Loading rule 'no-dupe-else-if' (remaining=176) +0ms
  eslint:rules Loading rule 'no-dupe-keys' (remaining=175) +0ms
  eslint:rules Loading rule 'no-duplicate-case' (remaining=174) +0ms
  eslint:rules Loading rule 'no-duplicate-imports' (remaining=173) +1ms
  eslint:rules Loading rule 'no-else-return' (remaining=172) +0ms
  eslint:rules Loading rule 'no-empty' (remaining=171) +0ms
  eslint:rules Loading rule 'no-empty-character-class' (remaining=170) +0ms
  eslint:rules Loading rule 'no-empty-function' (remaining=169) +0ms
  eslint:rules Loading rule 'no-empty-pattern' (remaining=168) +0ms
  eslint:rules Loading rule 'no-eq-null' (remaining=167) +1ms
  eslint:rules Loading rule 'no-eval' (remaining=166) +0ms
  eslint:rules Loading rule 'no-ex-assign' (remaining=165) +0ms
  eslint:rules Loading rule 'no-extend-native' (remaining=164) +0ms
  eslint:rules Loading rule 'no-extra-bind' (remaining=163) +0ms
  eslint:rules Loading rule 'no-extra-boolean-cast' (remaining=162) +0ms
  eslint:rules Loading rule 'no-extra-label' (remaining=161) +1ms
  eslint:rules Loading rule 'no-extra-parens' (remaining=160) +0ms
  eslint:rules Loading rule 'no-extra-semi' (remaining=159) +0ms
  eslint:rules Loading rule 'no-fallthrough' (remaining=158) +0ms
  eslint:rules Loading rule 'no-floating-decimal' (remaining=157) +0ms
  eslint:rules Loading rule 'no-func-assign' (remaining=156) +0ms
  eslint:rules Loading rule 'no-global-assign' (remaining=155) +0ms
  eslint:rules Loading rule 'no-implicit-coercion' (remaining=154) +1ms
  eslint:rules Loading rule 'no-implicit-globals' (remaining=153) +0ms
  eslint:rules Loading rule 'no-implied-eval' (remaining=152) +0ms
  eslint:rules Loading rule 'no-import-assign' (remaining=151) +0ms
  eslint:rules Loading rule 'no-inline-comments' (remaining=150) +0ms
  eslint:rules Loading rule 'no-inner-declarations' (remaining=149) +1ms
  eslint:rules Loading rule 'no-invalid-regexp' (remaining=148) +0ms
  eslint:rules Loading rule 'no-invalid-this' (remaining=147) +0ms
  eslint:rules Loading rule 'no-irregular-whitespace' (remaining=146) +0ms
  eslint:rules Loading rule 'no-iterator' (remaining=145) +0ms
  eslint:rules Loading rule 'no-label-var' (remaining=144) +0ms
  eslint:rules Loading rule 'no-labels' (remaining=143) +0ms
  eslint:rules Loading rule 'no-lone-blocks' (remaining=142) +1ms
  eslint:rules Loading rule 'no-lonely-if' (remaining=141) +0ms
  eslint:rules Loading rule 'no-loop-func' (remaining=140) +0ms
  eslint:rules Loading rule 'no-magic-numbers' (remaining=139) +0ms
  eslint:rules Loading rule 'no-misleading-character-class' (remaining=138) +0ms
  eslint:rules Loading rule 'no-mixed-operators' (remaining=137) +1ms
  eslint:rules Loading rule 'no-mixed-requires' (remaining=136) +0ms
  eslint:rules Loading rule 'no-mixed-spaces-and-tabs' (remaining=135) +1ms
  eslint:rules Loading rule 'no-multi-assign' (remaining=134) +0ms
  eslint:rules Loading rule 'no-multi-spaces' (remaining=133) +0ms
  eslint:rules Loading rule 'no-multi-str' (remaining=132) +0ms
  eslint:rules Loading rule 'no-multiple-empty-lines' (remaining=131) +0ms
  eslint:rules Loading rule 'no-native-reassign' (remaining=130) +0ms
  eslint:rules Loading rule 'no-negated-condition' (remaining=129) +1ms
  eslint:rules Loading rule 'no-negated-in-lhs' (remaining=128) +0ms
  eslint:rules Loading rule 'no-nested-ternary' (remaining=127) +0ms
  eslint:rules Loading rule 'no-new' (remaining=126) +0ms
  eslint:rules Loading rule 'no-new-func' (remaining=125) +0ms
  eslint:rules Loading rule 'no-new-object' (remaining=124) +0ms
  eslint:rules Loading rule 'no-new-require' (remaining=123) +0ms
  eslint:rules Loading rule 'no-new-symbol' (remaining=122) +1ms
  eslint:rules Loading rule 'no-new-wrappers' (remaining=121) +0ms
  eslint:rules Loading rule 'no-obj-calls' (remaining=120) +0ms
  eslint:rules Loading rule 'no-octal' (remaining=119) +0ms
  eslint:rules Loading rule 'no-octal-escape' (remaining=118) +0ms
  eslint:rules Loading rule 'no-param-reassign' (remaining=117) +0ms
  eslint:rules Loading rule 'no-path-concat' (remaining=116) +0ms
  eslint:rules Loading rule 'no-plusplus' (remaining=115) +1ms
  eslint:rules Loading rule 'no-process-env' (remaining=114) +0ms
  eslint:rules Loading rule 'no-process-exit' (remaining=113) +0ms
  eslint:rules Loading rule 'no-proto' (remaining=112) +0ms
  eslint:rules Loading rule 'no-prototype-builtins' (remaining=111) +0ms
  eslint:rules Loading rule 'no-redeclare' (remaining=110) +1ms
  eslint:rules Loading rule 'no-regex-spaces' (remaining=109) +0ms
  eslint:rules Loading rule 'no-restricted-globals' (remaining=108) +0ms
  eslint:rules Loading rule 'no-restricted-imports' (remaining=107) +0ms
  eslint:rules Loading rule 'no-restricted-modules' (remaining=106) +1ms
  eslint:rules Loading rule 'no-restricted-properties' (remaining=105) +0ms
  eslint:rules Loading rule 'no-restricted-syntax' (remaining=104) +0ms
  eslint:rules Loading rule 'no-return-assign' (remaining=103) +0ms
  eslint:rules Loading rule 'no-return-await' (remaining=102) +0ms
  eslint:rules Loading rule 'no-script-url' (remaining=101) +0ms
  eslint:rules Loading rule 'no-self-assign' (remaining=100) +1ms
  eslint:rules Loading rule 'no-self-compare' (remaining=99) +0ms
  eslint:rules Loading rule 'no-sequences' (remaining=98) +0ms
  eslint:rules Loading rule 'no-setter-return' (remaining=97) +0ms
  eslint:rules Loading rule 'no-shadow' (remaining=96) +0ms
  eslint:rules Loading rule 'no-shadow-restricted-names' (remaining=95) +0ms
  eslint:rules Loading rule 'no-spaced-func' (remaining=94) +1ms
  eslint:rules Loading rule 'no-sparse-arrays' (remaining=93) +0ms
  eslint:rules Loading rule 'no-sync' (remaining=92) +0ms
  eslint:rules Loading rule 'no-tabs' (remaining=91) +0ms
  eslint:rules Loading rule 'no-template-curly-in-string' (remaining=90) +0ms
  eslint:rules Loading rule 'no-ternary' (remaining=89) +0ms
  eslint:rules Loading rule 'no-this-before-super' (remaining=88) +1ms
  eslint:rules Loading rule 'no-throw-literal' (remaining=87) +0ms
  eslint:rules Loading rule 'no-trailing-spaces' (remaining=86) +0ms
  eslint:rules Loading rule 'no-undef' (remaining=85) +0ms
  eslint:rules Loading rule 'no-undef-init' (remaining=84) +0ms
  eslint:rules Loading rule 'no-undefined' (remaining=83) +0ms
  eslint:rules Loading rule 'no-underscore-dangle' (remaining=82) +1ms
  eslint:rules Loading rule 'no-unexpected-multiline' (remaining=81) +0ms
  eslint:rules Loading rule 'no-unmodified-loop-condition' (remaining=80) +0ms
  eslint:rules Loading rule 'no-unneeded-ternary' (remaining=79) +0ms
  eslint:rules Loading rule 'no-unreachable' (remaining=78) +0ms
  eslint:rules Loading rule 'no-unsafe-finally' (remaining=77) +0ms
  eslint:rules Loading rule 'no-unsafe-negation' (remaining=76) +1ms
  eslint:rules Loading rule 'no-unused-expressions' (remaining=75) +0ms
  eslint:rules Loading rule 'no-unused-labels' (remaining=74) +0ms
  eslint:rules Loading rule 'no-unused-vars' (remaining=73) +0ms
  eslint:rules Loading rule 'no-use-before-define' (remaining=72) +0ms
  eslint:rules Loading rule 'no-useless-call' (remaining=71) +0ms
  eslint:rules Loading rule 'no-useless-catch' (remaining=70) +0ms
  eslint:rules Loading rule 'no-useless-computed-key' (remaining=69) +1ms
  eslint:rules Loading rule 'no-useless-concat' (remaining=68) +0ms
  eslint:rules Loading rule 'no-useless-constructor' (remaining=67) +0ms
  eslint:rules Loading rule 'no-useless-escape' (remaining=66) +0ms
  eslint:rules Loading rule 'no-useless-rename' (remaining=65) +1ms
  eslint:rules Loading rule 'no-useless-return' (remaining=64) +0ms
  eslint:rules Loading rule 'no-var' (remaining=63) +0ms
  eslint:rules Loading rule 'no-void' (remaining=62) +0ms
  eslint:rules Loading rule 'no-warning-comments' (remaining=61) +0ms
  eslint:rules Loading rule 'no-whitespace-before-property' (remaining=60) +0ms
  eslint:rules Loading rule 'no-with' (remaining=59) +1ms
  eslint:rules Loading rule 'nonblock-statement-body-position' (remaining=58) +0ms
  eslint:rules Loading rule 'object-curly-newline' (remaining=57) +0ms
  eslint:rules Loading rule 'object-curly-spacing' (remaining=56) +1ms
  eslint:rules Loading rule 'object-property-newline' (remaining=55) +0ms
  eslint:rules Loading rule 'object-shorthand' (remaining=54) +0ms
  eslint:rules Loading rule 'one-var' (remaining=53) +0ms
  eslint:rules Loading rule 'one-var-declaration-per-line' (remaining=52) +0ms
  eslint:rules Loading rule 'operator-assignment' (remaining=51) +0ms
  eslint:rules Loading rule 'operator-linebreak' (remaining=50) +1ms
  eslint:rules Loading rule 'padded-blocks' (remaining=49) +0ms
  eslint:rules Loading rule 'padding-line-between-statements' (remaining=48) +0ms
  eslint:rules Loading rule 'prefer-arrow-callback' (remaining=47) +1ms
  eslint:rules Loading rule 'prefer-const' (remaining=46) +0ms
  eslint:rules Loading rule 'prefer-destructuring' (remaining=45) +0ms
  eslint:rules Loading rule 'prefer-exponentiation-operator' (remaining=44) +0ms
  eslint:rules Loading rule 'prefer-named-capture-group' (remaining=43) +1ms
  eslint:rules Loading rule 'prefer-numeric-literals' (remaining=42) +0ms
  eslint:rules Loading rule 'prefer-object-spread' (remaining=41) +0ms
  eslint:rules Loading rule 'prefer-promise-reject-errors' (remaining=40) +0ms
  eslint:rules Loading rule 'prefer-reflect' (remaining=39) +1ms
  eslint:rules Loading rule 'prefer-regex-literals' (remaining=38) +0ms
  eslint:rules Loading rule 'prefer-rest-params' (remaining=37) +0ms
  eslint:rules Loading rule 'prefer-spread' (remaining=36) +0ms
  eslint:rules Loading rule 'prefer-template' (remaining=35) +0ms
  eslint:rules Loading rule 'quote-props' (remaining=34) +0ms
  eslint:rules Loading rule 'quotes' (remaining=33) +1ms
  eslint:rules Loading rule 'radix' (remaining=32) +0ms
  eslint:rules Loading rule 'require-atomic-updates' (remaining=31) +0ms
  eslint:rules Loading rule 'require-await' (remaining=30) +0ms
  eslint:rules Loading rule 'require-jsdoc' (remaining=29) +0ms
  eslint:rules Loading rule 'require-unicode-regexp' (remaining=28) +1ms
  eslint:rules Loading rule 'require-yield' (remaining=27) +0ms
  eslint:rules Loading rule 'rest-spread-spacing' (remaining=26) +0ms
  eslint:rules Loading rule 'semi' (remaining=25) +0ms
  eslint:rules Loading rule 'semi-spacing' (remaining=24) +0ms
  eslint:rules Loading rule 'semi-style' (remaining=23) +0ms
  eslint:rules Loading rule 'sort-imports' (remaining=22) +0ms
  eslint:rules Loading rule 'sort-keys' (remaining=21) +1ms
  eslint:rules Loading rule 'sort-vars' (remaining=20) +0ms
  eslint:rules Loading rule 'space-before-blocks' (remaining=19) +0ms
  eslint:rules Loading rule 'space-before-function-paren' (remaining=18) +0ms
  eslint:rules Loading rule 'space-in-parens' (remaining=17) +1ms
  eslint:rules Loading rule 'space-infix-ops' (remaining=16) +0ms
  eslint:rules Loading rule 'space-unary-ops' (remaining=15) +0ms
  eslint:rules Loading rule 'spaced-comment' (remaining=14) +0ms
  eslint:rules Loading rule 'strict' (remaining=13) +0ms
  eslint:rules Loading rule 'switch-colon-spacing' (remaining=12) +1ms
  eslint:rules Loading rule 'symbol-description' (remaining=11) +0ms
  eslint:rules Loading rule 'template-curly-spacing' (remaining=10) +0ms
  eslint:rules Loading rule 'template-tag-spacing' (remaining=9) +0ms
  eslint:rules Loading rule 'unicode-bom' (remaining=8) +0ms
  eslint:rules Loading rule 'use-isnan' (remaining=7) +0ms
  eslint:rules Loading rule 'valid-jsdoc' (remaining=6) +1ms
  eslint:rules Loading rule 'valid-typeof' (remaining=5) +0ms
  eslint:rules Loading rule 'vars-on-top' (remaining=4) +1ms
  eslint:rules Loading rule 'wrap-iife' (remaining=3) +0ms
  eslint:rules Loading rule 'wrap-regex' (remaining=2) +0ms
  eslint:rules Loading rule 'yield-star-spacing' (remaining=1) +0ms
  eslint:rules Loading rule 'yoda' (remaining=0) +0ms
  eslint:config-array-factory Plugin /home/seanm/project/node_modules/eslint-plugin-unused-imports/lib/index.js loaded in: 221ms +221ms
  eslint:cascading-config-array-factory Stop traversing because of 'root:true'. +258ms
  eslint:rules Loading rule 'no-var' (remaining=281) +0ms
  eslint:rules Loading rule 'prefer-const' (remaining=280) +0ms
  eslint:rules Loading rule 'curly' (remaining=279) +2ms
  eslint:rules Loading rule 'sort-imports' (remaining=278) +5ms
  eslint:cascading-config-array-factory Configuration was determined: ConfigArray [ { type: 'config', name: 'DefaultIgnorePattern', filePath: '', criteria: null, env: undefined, globals: undefined, ignorePattern: IgnorePattern { patterns: [Array], basePath: '/home/seanm/project', loose: false }, noInlineConfig: undefined, parser: undefined, parserOptions: undefined, plugins: undefined, processor: undefined, reportUnusedDisableDirectives: undefined, root: undefined, rules: undefined, settings: undefined }, { type: 'config', name: '.eslintrc', filePath: '/home/seanm/project/.eslintrc', criteria: null, env: { node: true, browser: true }, globals: undefined, ignorePattern: undefined, noInlineConfig: undefined, parser: { error: null, filePath: '/home/seanm/project/node_modules/@typescript-eslint/parser/dist/index.js', id: '@typescript-eslint/parser', importerName: '.eslintrc', importerPath: '/home/seanm/project/.eslintrc' }, parserOptions: { ecmaVersion: 6, sourceType: 'module', ecmaFeatures: {} }, plugins: { '@typescript-eslint': [Object], 'simple-import-sort': [Object], import: [Object], 'unused-imports': [Object] }, processor: undefined, reportUnusedDisableDirectives: undefined, root: true, rules: { 'no-var': 'error', 'prefer-const': [Array], curly: 'warn', '@typescript-eslint/ban-types': [Array], '@typescript-eslint/explicit-member-accessibility': [Array], 'sort-imports': 'off', 'simple-import-sort/sort': 'warn', 'import/first': 'warn', 'import/newline-after-import': 'warn', 'import/no-duplicates': 'warn', '@typescript-eslint/no-unused-vars': 'error' }, settings: undefined }, { type: 'config', name: 'folder/folder2/.eslintrc', filePath: '/home/seanm/project/folder/folder2/.eslintrc', criteria: null, env: { node: true, browser: true }, globals: undefined, ignorePattern: undefined, noInlineConfig: undefined, parser: { error: null, filePath: '/home/seanm/project/node_modules/@typescript-eslint/parser/dist/index.js', id: '@typescript-eslint/parser', importerName: 'folder/folder2/.eslintrc', importerPath: '/home/seanm/project/folder/folder2/.eslintrc' }, parserOptions: { ecmaVersion: 6, sourceType: 'module', ecmaFeatures: {} }, plugins: { '@typescript-eslint': [Object] }, processor: undefined, reportUnusedDisableDirectives: undefined, root: undefined, rules: { '@typescript-eslint/no-unused-vars': 'error' }, settings: undefined }, { type: 'ignore', name: '.eslintignore', filePath: '/home/seanm/project/.eslintignore', criteria: null, env: undefined, globals: undefined, ignorePattern: IgnorePattern { patterns: [Array], basePath: '/home/seanm/project', loose: true }, noInlineConfig: undefined, parser: undefined, parserOptions: undefined, plugins: undefined, processor: undefined, reportUnusedDisableDirectives: undefined, root: undefined, rules: undefined, settings: undefined } ] on /home/seanm/project/folder/folder2 +11ms
  eslint:ignore-pattern Create with: [ IgnorePattern { patterns: [ '/**/node_modules/*' ], basePath: '/home/seanm/project', loose: false }, IgnorePattern { patterns: [ '/bazel-*', 'node-modules', '**/js/app/externs/**/*.js', '**/js/plugins/**/*.js' ], basePath: '/home/seanm/project', loose: true } ] +533ms
  eslint:ignore-pattern   processed: { basePath: '/home/seanm/project', patterns: [ '/**/node_modules/*', '/bazel-*', 'node-modules', '**/js/app/externs/**/*.js', '**/js/plugins/**/*.js' ] } +0ms
  eslint:ignore-pattern Check {
  filePath: '/home/seanm/project/folder/folder2/test.ts',
  dot: false,
  relativePath: 'folder/folder2/test.ts',
  result: false
} +1ms
  eslint:cli-engine Lint /home/seanm/project/folder/folder2/test.ts +0ms
  eslint:linter Linting code for /home/seanm/project/folder/folder2/test.ts (pass 1) +0ms
  eslint:linter Verify +0ms
  eslint:linter With ConfigArray: /home/seanm/project/folder/folder2/test.ts +0ms
  eslint:linter An error occurred while traversing +28ms
  eslint:linter Filename: /home/seanm/project/folder/folder2/test.ts +0ms
  eslint:linter Line: 1 +0ms
  eslint:linter Parser Options: {
  ecmaFeatures: { globalReturn: false },
  ecmaVersion: 6,
  sourceType: 'module'
} +0ms
  eslint:linter Parser Path: /home/seanm/project/node_modules/@typescript-eslint/parser/dist/index.js +0ms
  eslint:linter Settings: {} +0ms

Oops! Something went wrong! :(

ESLint: 7.6.0

TypeError: Cannot read property 'type' of undefined
Occurred while linting /home/seanm/project/folder/folder2/test.ts:1
    at isForInRef (/home/seanm/project/node_modules/eslint/lib/rules/no-unused-vars.js:449:24)
    at /home/seanm/project/node_modules/eslint/lib/rules/no-unused-vars.js:486:21
    at Array.some (<anonymous>)
    at isUsedVariable (/home/seanm/project/node_modules/eslint/lib/rules/no-unused-vars.js:485:40)
    at collectUnusedVariables (/home/seanm/project/node_modules/eslint/lib/rules/no-unused-vars.js:596:26)
    at collectUnusedVariables (/home/seanm/project/node_modules/eslint/lib/rules/no-unused-vars.js:603:17)
    at Program:exit (/home/seanm/project/node_modules/eslint/lib/rules/no-unused-vars.js:615:36)
    at /home/seanm/project/node_modules/eslint/lib/linter/safe-emitter.js:45:58
    at Array.forEach (<anonymous>)
    at Object.emit (/home/seanm/project/node_modules/eslint/lib/linter/safe-emitter.js:45:38)

@mckennapsean mckennapsean added package: eslint-plugin Issues related to @typescript-eslint/eslint-plugin triage Waiting for maintainers to take a look labels Aug 7, 2020
@bradzacher bradzacher added this to the 4.0.0 milestone Aug 7, 2020
@bradzacher bradzacher self-assigned this Aug 7, 2020
@bradzacher bradzacher added bug Something isn't working and removed triage Waiting for maintainers to take a look labels Aug 7, 2020
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Sep 9, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Something isn't working package: eslint-plugin Issues related to @typescript-eslint/eslint-plugin
Projects
None yet
2 participants