[no-unused-vars] Exception hit with string-key enums (previewing typescript-eslint v.4.0.0-alpha.8)
See original GitHub issueRepro
{
"root": true,
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": 6,
"sourceType": "module",
"ecmaFeatures": {}
},
"env": {
"node": true,
"browser": true
},
"plugins": [
"@typescript-eslint",
"unused-imports"
],
"rules": {
"unused-imports/no-unused-vars": "warn"
}
}
enum Colors {
"Red" = 1,
"Blue" = 2,
"Green" = 3,
}
Expected Result
Warning over Colors
, since it is unused in the file.
Actual Result
None - error is hit: “Cannot read property ‘loc’ of undefined Occurred while linting …/test.ts:1”
Additional Info
This is testing the latest alpha v4 of typescript-eslint; it’s likely due to some backwards-incompatible change for this plugin (I haven’t dug into the source yet).
Context: I’m looking to adopt this plugin at my company to clean up our old imports. So far, it’s working really slick! The only snag is that I had to add a commit stripping out our string-keyed enums (and we needed the latest typescript-eslint due to bugs with the underlying rule that have been addressed in the major rewrite).
To be clear, this error is only hit when running this plugin with typescript-eslint/eslint-plugin@v.4.0.0-alpha.8
. The typescript-eslint rule does not hit this error, and latest
versions of both plugins are fine, too. This is more a heads-up for down the line. 😃 (and/or if I have time to look into it sooner)
It is possible to bypass this failure by removing the string-keyed enums, i.e.:
enum Colors {
Red = 1,
Blue = 2,
Green = 3,
}
Versions
package | version |
---|---|
@typescript-eslint/eslint-plugin |
4.0.0-alpha.8 |
@typescript-eslint/parser |
4.0.0-alpha.8 |
TypeScript |
3.9.7 |
ESLint |
7.6.0 |
node |
14.6.0 |
npm |
6.14.7 |
Debug details from flagged run
eslint:cli CLI args: [ 'test.ts', '--debug' ] +0ms
eslint:cli Running on files +5ms
eslint:config-array-factory Loading JSON config file: /home/sean/Downloads/eslint/package.json +0ms
eslint:ignore-pattern Create with: [ IgnorePattern { patterns: [ '/**/node_modules/*' ], basePath: '/home/sean/Downloads/eslint', loose: false } ] +0ms
eslint:ignore-pattern processed: { basePath: '/home/sean/Downloads/eslint', patterns: [ '/**/node_modules/*' ] } +2ms
eslint:ignore-pattern Create with: [ IgnorePattern { patterns: [ '/**/node_modules/*' ], basePath: '/home/sean/Downloads/eslint', loose: false } ] +1ms
eslint:ignore-pattern processed: { basePath: '/home/sean/Downloads/eslint', patterns: [ '/**/node_modules/*' ] } +0ms
eslint:file-enumerator Start to iterate files: [ 'test.ts' ] +0ms
eslint:file-enumerator File: /home/sean/Downloads/eslint/test.ts +1ms
eslint:cascading-config-array-factory Load config files for /home/sean/Downloads/eslint. +0ms
eslint:cascading-config-array-factory No cache found: /home/sean/Downloads/eslint. +0ms
eslint:config-array-factory Loading legacy config file: /home/sean/Downloads/eslint/.eslintrc +7ms
eslint:config-array-factory Config file found: /home/sean/Downloads/eslint/.eslintrc +30ms
eslint:config-array-factory Loading parser "@typescript-eslint/parser" from /home/sean/Downloads/eslint/.eslintrc +1ms
eslint:config-array-factory Loaded: @typescript-eslint/parser@4.0.0-alpha.8+12b9c8a1 (/home/sean/Downloads/eslint/node_modules/@typescript-eslint/parser/dist/index.js) +1ms
eslint:config-array-factory Loading plugin "@typescript-eslint" from /home/sean/Downloads/eslint/.eslintrc +313ms
eslint:config-array-factory Loaded: @typescript-eslint/eslint-plugin@4.0.0-alpha.8+12b9c8a1 (/home/sean/Downloads/eslint/node_modules/@typescript-eslint/eslint-plugin/dist/index.js) +1ms
eslint:config-array-factory Plugin /home/sean/Downloads/eslint/node_modules/@typescript-eslint/eslint-plugin/dist/index.js loaded in: 192ms +192ms
eslint:config-array-factory Loading plugin "unused-imports" from /home/sean/Downloads/eslint/.eslintrc +1ms
eslint:config-array-factory Loaded: eslint-plugin-unused-imports@0.1.3 (/home/sean/Downloads/eslint/node_modules/eslint-plugin-unused-imports/lib/index.js) +0ms
eslint:rules Loading rule 'accessor-pairs' (remaining=274) +0ms
eslint:rules Loading rule 'array-bracket-newline' (remaining=273) +1ms
eslint:rules Loading rule 'array-bracket-spacing' (remaining=272) +1ms
eslint:rules Loading rule 'array-callback-return' (remaining=271) +1ms
eslint:rules Loading rule 'array-element-newline' (remaining=270) +0ms
eslint:rules Loading rule 'arrow-body-style' (remaining=269) +1ms
eslint:rules Loading rule 'arrow-parens' (remaining=268) +1ms
eslint:rules Loading rule 'arrow-spacing' (remaining=267) +0ms
eslint:rules Loading rule 'block-scoped-var' (remaining=266) +1ms
eslint:rules Loading rule 'block-spacing' (remaining=265) +0ms
eslint:rules Loading rule 'brace-style' (remaining=264) +1ms
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) +0ms
eslint:rules Loading rule 'class-methods-use-this' (remaining=260) +2ms
eslint:rules Loading rule 'comma-dangle' (remaining=259) +0ms
eslint:rules Loading rule 'comma-spacing' (remaining=258) +1ms
eslint:rules Loading rule 'comma-style' (remaining=257) +0ms
eslint:rules Loading rule 'complexity' (remaining=256) +1ms
eslint:rules Loading rule 'computed-property-spacing' (remaining=255) +0ms
eslint:rules Loading rule 'consistent-return' (remaining=254) +1ms
eslint:rules Loading rule 'consistent-this' (remaining=253) +1ms
eslint:rules Loading rule 'constructor-super' (remaining=252) +0ms
eslint:rules Loading rule 'curly' (remaining=251) +1ms
eslint:rules Loading rule 'default-case' (remaining=250) +1ms
eslint:rules Loading rule 'default-param-last' (remaining=249) +0ms
eslint:rules Loading rule 'dot-location' (remaining=248) +1ms
eslint:rules Loading rule 'dot-notation' (remaining=247) +0ms
eslint:rules Loading rule 'eol-last' (remaining=246) +0ms
eslint:rules Loading rule 'eqeqeq' (remaining=245) +1ms
eslint:rules Loading rule 'for-direction' (remaining=244) +0ms
eslint:rules Loading rule 'func-call-spacing' (remaining=243) +1ms
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) +1ms
eslint:rules Loading rule 'function-paren-newline' (remaining=238) +0ms
eslint:rules Loading rule 'generator-star-spacing' (remaining=237) +1ms
eslint:rules Loading rule 'getter-return' (remaining=236) +0ms
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) +1ms
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) +1ms
eslint:rules Loading rule 'implicit-arrow-linebreak' (remaining=228) +0ms
eslint:rules Loading rule 'indent' (remaining=227) +1ms
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) +1ms
eslint:rules Loading rule 'keyword-spacing' (remaining=222) +1ms
eslint:rules Loading rule 'line-comment-position' (remaining=221) +0ms
eslint:rules Loading rule 'linebreak-style' (remaining=220) +1ms
eslint:rules Loading rule 'lines-around-comment' (remaining=219) +0ms
eslint:rules Loading rule 'lines-around-directive' (remaining=218) +1ms
eslint:rules Loading rule 'lines-between-class-members' (remaining=217) +1ms
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) +1ms
eslint:rules Loading rule 'max-lines-per-function' (remaining=212) +1ms
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) +1ms
eslint:rules Loading rule 'multiline-comment-style' (remaining=207) +1ms
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) +1ms
eslint:rules Loading rule 'newline-after-var' (remaining=203) +0ms
eslint:rules Loading rule 'newline-before-return' (remaining=202) +1ms
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) +1ms
eslint:rules Loading rule 'no-await-in-loop' (remaining=197) +0ms
eslint:rules Loading rule 'no-bitwise' (remaining=196) +1ms
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) +1ms
eslint:rules Loading rule 'no-class-assign' (remaining=191) +0ms
eslint:rules Loading rule 'no-compare-neg-zero' (remaining=190) +1ms
eslint:rules Loading rule 'no-cond-assign' (remaining=189) +0ms
eslint:rules Loading rule 'no-confusing-arrow' (remaining=188) +2ms
eslint:rules Loading rule 'no-console' (remaining=187) +0ms
eslint:rules Loading rule 'no-const-assign' (remaining=186) +1ms
eslint:rules Loading rule 'no-constant-condition' (remaining=185) +0ms
eslint:rules Loading rule 'no-constructor-return' (remaining=184) +1ms
eslint:rules Loading rule 'no-continue' (remaining=183) +0ms
eslint:rules Loading rule 'no-control-regex' (remaining=182) +1ms
eslint:rules Loading rule 'no-debugger' (remaining=181) +3ms
eslint:rules Loading rule 'no-delete-var' (remaining=180) +0ms
eslint:rules Loading rule 'no-div-regex' (remaining=179) +1ms
eslint:rules Loading rule 'no-dupe-args' (remaining=178) +0ms
eslint:rules Loading rule 'no-dupe-class-members' (remaining=177) +1ms
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) +1ms
eslint:rules Loading rule 'no-duplicate-imports' (remaining=173) +0ms
eslint:rules Loading rule 'no-else-return' (remaining=172) +1ms
eslint:rules Loading rule 'no-empty' (remaining=171) +0ms
eslint:rules Loading rule 'no-empty-character-class' (remaining=170) +1ms
eslint:rules Loading rule 'no-empty-function' (remaining=169) +0ms
eslint:rules Loading rule 'no-empty-pattern' (remaining=168) +1ms
eslint:rules Loading rule 'no-eq-null' (remaining=167) +0ms
eslint:rules Loading rule 'no-eval' (remaining=166) +1ms
eslint:rules Loading rule 'no-ex-assign' (remaining=165) +1ms
eslint:rules Loading rule 'no-extend-native' (remaining=164) +0ms
eslint:rules Loading rule 'no-extra-bind' (remaining=163) +1ms
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) +1ms
eslint:rules Loading rule 'no-floating-decimal' (remaining=157) +0ms
eslint:rules Loading rule 'no-func-assign' (remaining=156) +1ms
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) +1ms
eslint:rules Loading rule 'no-import-assign' (remaining=151) +0ms
eslint:rules Loading rule 'no-inline-comments' (remaining=150) +1ms
eslint:rules Loading rule 'no-inner-declarations' (remaining=149) +0ms
eslint:rules Loading rule 'no-invalid-regexp' (remaining=148) +1ms
eslint:rules Loading rule 'no-invalid-this' (remaining=147) +1ms
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) +1ms
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) +1ms
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) +2ms
eslint:rules Loading rule 'no-mixed-requires' (remaining=136) +1ms
eslint:rules Loading rule 'no-mixed-spaces-and-tabs' (remaining=135) +0ms
eslint:rules Loading rule 'no-multi-assign' (remaining=134) +1ms
eslint:rules Loading rule 'no-multi-spaces' (remaining=133) +0ms
eslint:rules Loading rule 'no-multi-str' (remaining=132) +1ms
eslint:rules Loading rule 'no-multiple-empty-lines' (remaining=131) +0ms
eslint:rules Loading rule 'no-native-reassign' (remaining=130) +1ms
eslint:rules Loading rule 'no-negated-condition' (remaining=129) +0ms
eslint:rules Loading rule 'no-negated-in-lhs' (remaining=128) +1ms
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) +1ms
eslint:rules Loading rule 'no-new-object' (remaining=124) +0ms
eslint:rules Loading rule 'no-new-require' (remaining=123) +1ms
eslint:rules Loading rule 'no-new-symbol' (remaining=122) +0ms
eslint:rules Loading rule 'no-new-wrappers' (remaining=121) +0ms
eslint:rules Loading rule 'no-obj-calls' (remaining=120) +1ms
eslint:rules Loading rule 'no-octal' (remaining=119) +1ms
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) +1ms
eslint:rules Loading rule 'no-plusplus' (remaining=115) +0ms
eslint:rules Loading rule 'no-process-env' (remaining=114) +1ms
eslint:rules Loading rule 'no-process-exit' (remaining=113) +0ms
eslint:rules Loading rule 'no-proto' (remaining=112) +1ms
eslint:rules Loading rule 'no-prototype-builtins' (remaining=111) +0ms
eslint:rules Loading rule 'no-redeclare' (remaining=110) +0ms
eslint:rules Loading rule 'no-regex-spaces' (remaining=109) +1ms
eslint:rules Loading rule 'no-restricted-globals' (remaining=108) +1ms
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) +1ms
eslint:rules Loading rule 'no-restricted-syntax' (remaining=104) +0ms
eslint:rules Loading rule 'no-return-assign' (remaining=103) +1ms
eslint:rules Loading rule 'no-return-await' (remaining=102) +0ms
eslint:rules Loading rule 'no-script-url' (remaining=101) +1ms
eslint:rules Loading rule 'no-self-assign' (remaining=100) +0ms
eslint:rules Loading rule 'no-self-compare' (remaining=99) +1ms
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) +1ms
eslint:rules Loading rule 'no-shadow-restricted-names' (remaining=95) +1ms
eslint:rules Loading rule 'no-spaced-func' (remaining=94) +0ms
eslint:rules Loading rule 'no-sparse-arrays' (remaining=93) +1ms
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) +1ms
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) +1ms
eslint:rules Loading rule 'no-undef' (remaining=85) +0ms
eslint:rules Loading rule 'no-undef-init' (remaining=84) +1ms
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) +1ms
eslint:rules Loading rule 'no-unneeded-ternary' (remaining=79) +1ms
eslint:rules Loading rule 'no-unreachable' (remaining=78) +0ms
eslint:rules Loading rule 'no-unsafe-finally' (remaining=77) +1ms
eslint:rules Loading rule 'no-unsafe-negation' (remaining=76) +0ms
eslint:rules Loading rule 'no-unused-expressions' (remaining=75) +1ms
eslint:rules Loading rule 'no-unused-labels' (remaining=74) +0ms
eslint:rules Loading rule 'no-unused-vars' (remaining=73) +1ms
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) +1ms
eslint:rules Loading rule 'no-useless-computed-key' (remaining=69) +0ms
eslint:rules Loading rule 'no-useless-concat' (remaining=68) +1ms
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) +1ms
eslint:rules Loading rule 'no-void' (remaining=62) +0ms
eslint:rules Loading rule 'no-warning-comments' (remaining=61) +1ms
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) +1ms
eslint:rules Loading rule 'object-curly-spacing' (remaining=56) +0ms
eslint:rules Loading rule 'object-property-newline' (remaining=55) +1ms
eslint:rules Loading rule 'object-shorthand' (remaining=54) +0ms
eslint:rules Loading rule 'one-var' (remaining=53) +1ms
eslint:rules Loading rule 'one-var-declaration-per-line' (remaining=52) +0ms
eslint:rules Loading rule 'operator-assignment' (remaining=51) +1ms
eslint:rules Loading rule 'operator-linebreak' (remaining=50) +0ms
eslint:rules Loading rule 'padded-blocks' (remaining=49) +1ms
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) +2ms
eslint:rules Loading rule 'prefer-destructuring' (remaining=45) +1ms
eslint:rules Loading rule 'prefer-exponentiation-operator' (remaining=44) +1ms
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) +1ms
eslint:rules Loading rule 'prefer-promise-reject-errors' (remaining=40) +1ms
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) +1ms
eslint:rules Loading rule 'prefer-spread' (remaining=36) +0ms
eslint:rules Loading rule 'prefer-template' (remaining=35) +1ms
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) +1ms
eslint:rules Loading rule 'require-await' (remaining=30) +0ms
eslint:rules Loading rule 'require-jsdoc' (remaining=29) +1ms
eslint:rules Loading rule 'require-unicode-regexp' (remaining=28) +0ms
eslint:rules Loading rule 'require-yield' (remaining=27) +1ms
eslint:rules Loading rule 'rest-spread-spacing' (remaining=26) +0ms
eslint:rules Loading rule 'semi' (remaining=25) +1ms
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) +1ms
eslint:rules Loading rule 'sort-keys' (remaining=21) +0ms
eslint:rules Loading rule 'sort-vars' (remaining=20) +1ms
eslint:rules Loading rule 'space-before-blocks' (remaining=19) +1ms
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) +1ms
eslint:rules Loading rule 'spaced-comment' (remaining=14) +3ms
eslint:rules Loading rule 'strict' (remaining=13) +1ms
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) +1ms
eslint:rules Loading rule 'template-tag-spacing' (remaining=9) +0ms
eslint:rules Loading rule 'unicode-bom' (remaining=8) +1ms
eslint:rules Loading rule 'use-isnan' (remaining=7) +0ms
eslint:rules Loading rule 'valid-jsdoc' (remaining=6) +0ms
eslint:rules Loading rule 'valid-typeof' (remaining=5) +3ms
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) +1ms
eslint:rules Loading rule 'yield-star-spacing' (remaining=1) +0ms
eslint:rules Loading rule 'yoda' (remaining=0) +1ms
eslint:config-array-factory Plugin /home/sean/Downloads/eslint/node_modules/eslint-plugin-unused-imports/lib/index.js loaded in: 341ms +341ms
eslint:cascading-config-array-factory Stop traversing because of 'root:true'. +881ms
eslint:cascading-config-array-factory Configuration was determined: ConfigArray(2) [ { type: 'config', name: 'DefaultIgnorePattern', filePath: '', criteria: null, env: undefined, globals: undefined, ignorePattern: IgnorePattern { patterns: [Array], basePath: '/home/sean/Downloads/eslint', 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/sean/Downloads/eslint/.eslintrc', criteria: null, env: { node: true, browser: true }, globals: undefined, ignorePattern: undefined, noInlineConfig: undefined, parser: { error: null, filePath: '/home/sean/Downloads/eslint/node_modules/@typescript-eslint/parser/dist/index.js', id: '@typescript-eslint/parser', importerName: '.eslintrc', importerPath: '/home/sean/Downloads/eslint/.eslintrc' }, parserOptions: { ecmaVersion: 6, sourceType: 'module', ecmaFeatures: {} }, plugins: { '@typescript-eslint': [Object], 'unused-imports': [Object] }, processor: undefined, reportUnusedDisableDirectives: undefined, root: true, rules: { 'unused-imports/no-unused-vars': 'warn' }, settings: undefined } ] on /home/sean/Downloads/eslint +5ms
eslint:ignore-pattern Create with: [ IgnorePattern { patterns: [ '/**/node_modules/*' ], basePath: '/home/sean/Downloads/eslint', loose: false } ] +890ms
eslint:ignore-pattern processed: { basePath: '/home/sean/Downloads/eslint', patterns: [ '/**/node_modules/*' ] } +1ms
eslint:ignore-pattern Check {
filePath: '/home/sean/Downloads/eslint/test.ts',
dot: false,
relativePath: 'test.ts',
result: false
} +0ms
eslint:cli-engine Lint /home/sean/Downloads/eslint/test.ts +0ms
eslint:linter Linting code for /home/sean/Downloads/eslint/test.ts (pass 1) +0ms
eslint:linter Verify +0ms
eslint:linter With ConfigArray: /home/sean/Downloads/eslint/test.ts +0ms
eslint:linter An error occurred while traversing +48ms
eslint:linter Filename: /home/sean/Downloads/eslint/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/sean/Downloads/eslint/node_modules/@typescript-eslint/parser/dist/index.js +1ms
eslint:linter Settings: {} +0ms
Oops! Something went wrong! :(
ESLint: 7.6.0
TypeError: Cannot read property 'loc' of undefined
Occurred while linting /home/sean/Downloads/eslint/test.ts:1
at normalizeReportLoc (/home/sean/Downloads/eslint/node_modules/eslint-rule-composer/lib/rule-composer.js:47:26)
at normalizeReport (/home/sean/Downloads/eslint/node_modules/eslint-rule-composer/lib/rule-composer.js:107:12)
at Object.value [as report] (/home/sean/Downloads/eslint/node_modules/eslint-rule-composer/lib/rule-composer.js:143:72)
at Program:exit (/home/sean/Downloads/eslint/node_modules/eslint-plugin-unused-imports/node_modules/eslint/lib/rules/no-unused-vars.js:596:33)
at /home/sean/Downloads/eslint/node_modules/eslint/lib/linter/safe-emitter.js:45:58
at Array.forEach (<anonymous>)
at Object.emit (/home/sean/Downloads/eslint/node_modules/eslint/lib/linter/safe-emitter.js:45:38)
at NodeEventGenerator.applySelector (/home/sean/Downloads/eslint/node_modules/eslint/lib/linter/node-event-generator.js:254:26)
at NodeEventGenerator.applySelectors (/home/sean/Downloads/eslint/node_modules/eslint/lib/linter/node-event-generator.js:283:22)
at NodeEventGenerator.leaveNode (/home/sean/Downloads/eslint/node_modules/eslint/lib/linter/node-event-generator.js:306:14)
Issue Analytics
- State:
- Created 3 years ago
- Reactions:1
- Comments:6 (4 by maintainers)
Thanks for this, hopefully it is not
eslint-rule-composer
that is causing this as it seems that the maintainer is not active anymore. I’ll take a closer look soon hopefully.Thanks for checking! Glad to see it is working again 😃
My company ended up going with this prettier plugin, since it sorts and removes unused imports automatically, which is more ideal for us. Thanks for your work here and the assist on this issue!