TypeError: Cannot read property 'length' of undefined
Closed this issue · 4 comments
Environment
- Node Version: 6.10.0
- Eslint-Watch Version: 3.1.2
- Eslint Version: 4.8.0
Basic Description of the problem
Start the watcher, shows error, fix & save the file, the process breaks.
How to reproduce it
- Command:
node_modules/eslint/bin/eslint.js ./ --quiet
$ node_modules/eslint/bin/eslint.js ./ --quiet
<project path>/src/index.js
16:7 error 'x' is never reassigned. Use 'const' instead prefer-const
✖ 1 problem (1 error, 0 warnings)
1 error, 0 warnings potentially fixable with the `--fix` option.
- Command:
./node_modules/eslint-watch/bin/esw ./ -w --quiet
$ node_modules/eslint-watch/bin/esw -w --quiet
<project path>/src/index.js (1/0)
✖ 16:7 'x' is never reassigned. Use 'const' instead prefer-const
✖ 1 error (2:54:47 PM)
<project path>/node_modules/eslint-watch/src/formatters/simple-detail.js:29
results.forEach(function (result) {
^
TypeError: Cannot read property 'length' of undefined
at <project path>/node_modules/eslint-watch/src/formatters/simple-detail.js:33:10
at Array.forEach (native)
at simpleDetail (<project path>/node_modules/eslint-watch/src/formatters/simple-detail.js:29:11)
at lintFile (<project path>/node_modules/eslint-watch/src/watcher.js:92:16)
at FSWatcher.changeEvent (<project path>/node_modules/eslint-watch/src/watcher.js:111:9)
at emitOne (events.js:96:13)
at FSWatcher.emit (events.js:188:7)
at FSWatcher.<anonymous> (<project path>/node_modules/chokidar/index.js:196:15)
at FSWatcher._emit (<project path>/node_modules/chokidar/index.js:238:5)
at FSWatcher.<anonymous> (<project path>/node_modules/chokidar/lib/fsevents-handler.js:204:14)
Debug output:
I've replaced sources, file path, and project paths
esw:internal-settings Eslint installed locally node_modules/.bin/eslint +0ms
esw:internal-settings { eslintPath: 'node_modules/.bin/eslint',
esw:internal-settings platform: 'darwin',
esw:internal-settings isWindows: false } +2ms
esw:eslint-cli Loaded +44ms
esw:eslint-help Loaded +19ms
esw:options Loaded +0ms
esw:eslint-help Executing help +0ms
esw:eslint-cli eslint: '--help' +2ms
esw:executor node_modules/.bin/eslint [ '--help' ] +2ms
esw:eslint-cli { exitCode: 0,
esw:eslint-cli message: 'eslint [options] file.js [file.js] [dir]\n\nBasic configuration:\n -c, --config path::String Use configuration from this file or shareable config\n --no-eslintrc Disable use of configuration from .eslintrc\n --env [String] Specify environments\n --ext [String] Specify JavaScript file extensions - default: .js\n --global [String] Define global variables\n --parser String Specify the parser to be used\n --parser-options Object Specify parser options\n\nCaching:\n --cache Only check changed files - default: false\n --cache-file path::String Path to the cache file. Deprecated: use --cache-location - default: .eslintcache\n --cache-location path::String Path to the cache file or directory\n\nSpecifying rules and plugins:\n --rulesdir [path::String] Use additional rules from this directory\n --plugin [String] Specify plugins\n --rule Object Specify rules\n\nIgnoring files:\n --ignore-path path::String Specify path of ignore file\n --no-ignore Disable use of ignore files and patterns\n --ignore-pattern [String] Pattern of files to ignore (in addition to those in .eslintignore)\n\nUsing stdin:\n --stdin Lint code provided on <STDIN> - default: false\n --stdin-filename String Specify filename to process STDIN as\n\nHandling warnings:\n --quiet Report errors only - default: false\n --max-warnings Int Number of warnings to trigger nonzero exit code - default: -1\n\nOutput:\n -o, --output-file path::String Specify file to write report to\n -f, --format String Use a specific output format - default: stylish\n --color, --no-color Force enabling/disabling of color\n\nMiscellaneous:\n --init Run config initialization wizard - default: false\n --fix Automatically fix problems\n --debug Output debugging information\n -h, --help Show help\n -v, --version Output the version number\n --no-inline-config Prevent comments from changing config or rules\n --report-unused-disable-directives Adds reported errors for unused eslint-disable directives\n --print-config path::String Print the configuration for the given file\n' } +253ms
esw:eslint-help Alias found: -c +2ms
esw:eslint-help Parsing --config +1ms
esw:eslint-help Parsing --no-eslintrc +0ms
esw:eslint-help Parsing no option --no-eslintrc +0ms
esw:eslint-help Parsing --env +0ms
esw:eslint-help Parsing --ext +0ms
esw:eslint-help Parsing --global +0ms
esw:eslint-help Parsing --parser +0ms
esw:eslint-help Parsing --parser-options +1ms
esw:eslint-help Parsing --cache +0ms
esw:eslint-help Parsing --cache-file +0ms
esw:eslint-help Parsing --cache-location +0ms
esw:eslint-help Parsing --rulesdir +0ms
esw:eslint-help Parsing --plugin +0ms
esw:eslint-help Parsing --rule +0ms
esw:eslint-help Parsing --ignore-path +0ms
esw:eslint-help Parsing --no-ignore +1ms
esw:eslint-help Parsing no option --no-ignore +0ms
esw:eslint-help Parsing --ignore-pattern +0ms
esw:eslint-help Parsing --stdin +0ms
esw:eslint-help Parsing --stdin-filename +1ms
esw:eslint-help Parsing --quiet +0ms
esw:eslint-help Parsing --max-warnings +0ms
esw:eslint-help Alias found: -o +0ms
esw:eslint-help Parsing --output-file +0ms
esw:eslint-help Alias found: -f +0ms
esw:eslint-help Parsing --format +0ms
esw:eslint-help Parsing --init +1ms
esw:eslint-help Parsing --fix +0ms
esw:eslint-help Parsing --debug +0ms
esw:eslint-help Alias found: -h +0ms
esw:eslint-help Parsing --help +0ms
esw:eslint-help Alias found: -v +0ms
esw:eslint-help Parsing --version +1ms
esw:eslint-help Parsing --no-inline-config +0ms
esw:eslint-help Parsing no option --no-inline-config +0ms
esw:eslint-help Parsing --report-unused-disable-directives +0ms
esw:eslint-help Parsing --print-config +1ms
esw:watcher Loaded +195ms
esw:arg-parser Loaded +1ms
esw:esw-cli Loaded +0ms
esw:esw-cli Eslint-Watch: 3.1.2 +0ms
esw:esw-cli Arguments passed: [ '/Users/Stefan/.nvm/versions/node/v6.10.0/bin/node', '<project path>/node_modules/eslint-watch/bin/esw', '-w', '--quiet' ] +0ms
esw:esw-cli Parsing args +2ms
esw:arg-parser Directories to check: [] +1ms
esw:arg-parser Args [ '-w', '--quiet' ] +0ms
esw:arg-parser Pushing item: --quiet +0ms
esw:arg-parser setting custom formatter +0ms
esw:arg-parser GetPath: simple-detail +0ms
esw:arg-parser <project path>/node_modules/eslint-watch/build/formatters/simple-detail +0ms
esw:arg-parser Setting default path: ./ +0ms
esw:esw-cli Running initial lint +0ms
esw:esw-cli [ '--quiet',
esw:esw-cli '-f',
esw:esw-cli '<project path>/node_modules/eslint-watch/build/formatters/simple-detail',
esw:esw-cli './' ] +1ms
esw:eslint-cli eslint: '--quiet -f <project path>/node_modules/eslint-watch/build/formatters/simple-detail ./' +0ms
esw:executor node_modules/.bin/eslint [ '--quiet',
'-f',
'<project path>/node_modules/eslint-watch/build/formatters/simple-detail',
'./' ] +1ms
esw:simple-detail loaded +0ms
esw:simple-detail [ { filePath: '<file path>',
esw:simple-detail messages: [ [Object] ],
esw:simple-detail errorCount: 1,
esw:simple-detail warningCount: 0,
esw:simple-detail fixableErrorCount: 1,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>' } ] +7ms
<project path>/src/index.js (1/0)
✖ 16:7 'x' is never reassigned. Use 'const' instead prefer-const
✖ 1 error (2:56:48 PM)
esw:eslint-cli { exitCode: 1, message: '' } +3s
esw:esw-cli lint completed. Exit Code: 1 +1ms
esw:esw-cli -w seen +0ms
esw:watcher { useEslintrc: true, ignore: true, format: 'simple-detail' } +52ms
esw:watcher { watch: true,
esw:watcher quiet: true,
esw:watcher format: 'simple-detail',
esw:watcher eslintrc: true,
esw:watcher ignore: true,
esw:watcher inlineConfig: true,
esw:watcher _: [] } +0ms
esw:watcher Trying to load formatter for re-lint from ./formatters/simple-detail +1ms
esw:simple-detail loaded +7ms
esw:watcher Watching: [ '<project path>' ] +2ms
esw:watcher Changed: <project path>/src/index.js +169ms
esw:watcher <project path>/src/index.js undefined +4ms
esw:watcher lintFile: <project path> +0ms
esw:simple-detail [ { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 2,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 2,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail messages: [],
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 0,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0 },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail messages: [],
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 0,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0 },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail messages: [],
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 0,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0 },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail messages: [],
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 0,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0 },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail messages: [],
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 0,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0 },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail messages: [],
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 0,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0 },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail messages: [],
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 0,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0 },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail messages: [],
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 0,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0 },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 9,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 12,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 12,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 14,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 8,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 9,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 6,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 1,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 17,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 2,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 2,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 2,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 2,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 2,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 2,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 2,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 3,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 6,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 3,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 2,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 2,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 2,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 3,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 3,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 5,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 2,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 2,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 2,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail messages: [],
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 0,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0 },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 1,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 4,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 2,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 2,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 2,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 2,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 2,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 4,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 1,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail messages: [],
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 0,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0 },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail messages: [],
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 0,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0 },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail messages: [],
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 0,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0 },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 9,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 9,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 16,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 50,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 5,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 2,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 4,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 4,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 2,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 2,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 13,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 9,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 6,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 14,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 8,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 2,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 3,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 2,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 2,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 21,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail messages: [],
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 0,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0 },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 4,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 6,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 3,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 6,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 1,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 11,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 2,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 2,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail messages: [],
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 0,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0 },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 4,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 21,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 3,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 10,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 9,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 7,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 7,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 14,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 24,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 3,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 4,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 12,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 5,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 5,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 14,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 6,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 6,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 28,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 14,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 9,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 0,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined },
esw:simple-detail ... 80 more items ] +3s
<project path>/node_modules/eslint-watch/src/formatters/simple-detail.js:29
results.forEach(function (result) {
^
TypeError: Cannot read property 'length' of undefined
at <project path>/node_modules/eslint-watch/src/formatters/simple-detail.js:33:10
at Array.forEach (native)
at simpleDetail (<project path>/node_modules/eslint-watch/src/formatters/simple-detail.js:29:11)
at lintFile (<project path>/node_modules/eslint-watch/src/watcher.js:92:16)
at FSWatcher.changeEvent (<project path>/node_modules/eslint-watch/src/watcher.js:111:9)
at emitOne (events.js:96:13)
at FSWatcher.emit (events.js:188:7)
at FSWatcher.<anonymous> (<project path>/node_modules/chokidar/index.js:196:15)
at FSWatcher._emit (<project path>/node_modules/chokidar/index.js:238:5)
at FSWatcher.<anonymous> (<project path>/node_modules/chokidar/lib/fsevents-handler.js:204:14)
esw:esw-cli Exiting: 1 +152ms
Looks like messages is undefined for the first file instead of being an empty array:
esw:simple-detail [ { filePath: '<file path>',
esw:simple-detail errorCount: 0,
esw:simple-detail warningCount: 2,
esw:simple-detail fixableErrorCount: 0,
esw:simple-detail fixableWarningCount: 2,
esw:simple-detail source: '<file source>',
esw:simple-detail messages: undefined }, <---------- should be []
esw:simple-detail { filePath: '<file path>',
esw:simple-detail messages: [],
And it breaks here: https://github.com/rizowski/eslint-watch/blob/master/src/formatters/simple-detail.js#L33
Looks like it only happens if --quiet flag is set, which makes me think that the issue is here:
Lines 31 to 42 in ceeef55
The problem looks to be here:
Line 35 in ceeef55
lodash.find
returns an object (or undefined), not an array:
A simple fix is to replace the _.find
with result.messages.filter
I'll open a PR with the fix
@legraphista Nice attention to detail on this issue. Thanks for the PR. I'm a little busy at the moment but I will try to get this in before the end of the day.