Description
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)