-
Notifications
You must be signed in to change notification settings - Fork 8.6k
Upgrade eslint #9357
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Upgrade eslint #9357
Changes from all commits
054e798
71732e7
b05662c
3572ab8
b31dae1
7b39475
3c02df9
1224b18
6fa2c6c
71834ca
76e77a7
803c0da
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,5 +1,9 @@ | ||
| /optimize | ||
| /src/fixtures/vislib/mock_data | ||
| /src/ui/public/angular-bootstrap | ||
| /test/fixtures/scenarios | ||
| /src/core_plugins/console/public/webpackShims | ||
| /src/core_plugins/console/public/tests/webpackShims | ||
| /src/core_plugins/timelion/bower_components | ||
| /src/core_plugins/timelion/vendor_components | ||
| test/fixtures/scenarios | ||
| optimize | ||
| test/fixtures/scenarios | ||
| /src/ui/public/utils/decode_geo_hash.js | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,2 +1,8 @@ | ||
| --- | ||
| extends: '@elastic/kibana' | ||
| rules: | ||
| no-unused-vars: off | ||
| no-var: off | ||
| prefer-const: off | ||
| no-extra-semi: off | ||
| quotes: off |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -165,17 +165,17 @@ | |
| "wreck": "6.2.0" | ||
| }, | ||
| "devDependencies": { | ||
| "@elastic/eslint-config-kibana": "0.0.3", | ||
| "@elastic/eslint-config-kibana": "0.2.1", | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Once all of this eslint stuff is done, let's bump this to 1.0.0. |
||
| "angular-mocks": "1.4.7", | ||
| "auto-release-sinon": "1.0.3", | ||
| "babel-eslint": "4.1.8", | ||
| "babel-eslint": "6.1.2", | ||
| "chai": "3.5.0", | ||
| "cheerio": "0.22.0", | ||
| "chokidar": "1.6.0", | ||
| "chromedriver": "2.24.1", | ||
| "elasticdump": "2.1.1", | ||
| "eslint": "1.10.3", | ||
| "eslint-plugin-mocha": "1.1.0", | ||
| "eslint": "3.11.1", | ||
| "eslint-plugin-mocha": "4.7.0", | ||
| "event-stream": "3.3.2", | ||
| "expect.js": "0.3.1", | ||
| "faker": "1.1.0", | ||
|
|
@@ -189,7 +189,6 @@ | |
| "grunt-karma": "2.0.0", | ||
| "grunt-run": "0.6.0", | ||
| "grunt-simple-mocha": "0.4.0", | ||
| "gruntify-eslint": "1.0.1", | ||
| "gulp-sourcemaps": "1.7.3", | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🎉 |
||
| "handlebars": "4.0.5", | ||
| "husky": "0.8.1", | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -24,7 +24,7 @@ export default class MockClusterFork extends EventEmitter { | |
| dead = true; | ||
| this.emit('exit'); | ||
| cluster.emit('exit', this, this.exitCode || 0); | ||
| }()); | ||
| })(); | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. How did this ever work?
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The babel parser missed the standard there apparently. it's valid for function expressions, just not arrow function expressions. |
||
| }), | ||
| }, | ||
| isDead: sinon.spy(() => dead), | ||
|
|
@@ -39,6 +39,6 @@ export default class MockClusterFork extends EventEmitter { | |
| await wait(); | ||
| dead = false; | ||
| this.emit('online'); | ||
| }()); | ||
| })(); | ||
| } | ||
| } | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -86,19 +86,16 @@ module.exports = class ClusterManager { | |
| const chokidar = require('chokidar'); | ||
| const fromRoot = require('../../utils/from_root'); | ||
|
|
||
| const watchPaths = uniq( | ||
| [ | ||
| fromRoot('src/core_plugins'), | ||
| fromRoot('src/server'), | ||
| fromRoot('src/ui'), | ||
| fromRoot('src/utils'), | ||
| fromRoot('config'), | ||
| ...extraPaths | ||
| ] | ||
| .map(path => resolve(path)) | ||
| ); | ||
|
|
||
| this.watcher = chokidar.watch(watchPaths, { | ||
| const watchPaths = [ | ||
| fromRoot('src/core_plugins'), | ||
| fromRoot('src/server'), | ||
| fromRoot('src/ui'), | ||
| fromRoot('src/utils'), | ||
| fromRoot('config'), | ||
| ...extraPaths | ||
| ].map(path => resolve(path)); | ||
|
|
||
| this.watcher = chokidar.watch(uniq(watchPaths), { | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Really nice attention to detail dude... I ❤️ it |
||
| cwd: fromRoot('.'), | ||
| ignored: /[\\\/](\..*|node_modules|bower_components|public|__tests__)[\\\/]/ | ||
| }); | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,34 +1,36 @@ | ||
| --- | ||
|
|
||
| root: true | ||
| extends: '@elastic/kibana' | ||
| extends: '../../../.eslintrc' | ||
|
|
||
| rules: | ||
| block-scoped-var: [0] | ||
| camelcase: [0] | ||
| curly: [0] | ||
| dot-location: [0] | ||
| dot-notation: [0] | ||
| eqeqeq: [0] | ||
| guard-for-in: [0] | ||
| indent: [0] | ||
| max-len: [0] | ||
| new-cap: [0] | ||
| no-caller: [0] | ||
| no-empty: [0] | ||
| no-extend-native: [0] | ||
| no-loop-func: [0] | ||
| no-multi-str: [0] | ||
| no-nested-ternary: [0] | ||
| no-proto: [0] | ||
| no-sequences: [0] | ||
| no-undef: [0] | ||
| no-use-before-define: [0] | ||
| one-var: [0] | ||
| quotes: [0] | ||
| space-before-blocks: [0] | ||
| space-in-parens: [0] | ||
| space-infix-ops: [0] | ||
| semi: [0] | ||
| strict: [0] | ||
| wrap-iife: [0] | ||
| block-scoped-var: off | ||
| camelcase: off | ||
| curly: off | ||
| dot-location: off | ||
| dot-notation: off | ||
| eqeqeq: off | ||
| guard-for-in: off | ||
| indent: off | ||
| max-len: off | ||
| new-cap: off | ||
| no-caller: off | ||
| no-empty: off | ||
| no-extend-native: off | ||
| no-loop-func: off | ||
| no-multi-str: off | ||
| no-nested-ternary: off | ||
| no-proto: off | ||
| no-sequences: off | ||
| no-undef: off | ||
| no-use-before-define: off | ||
| one-var: off | ||
| quotes: off | ||
| space-before-blocks: off | ||
| space-in-parens: off | ||
| space-infix-ops: off | ||
| semi: off | ||
| strict: off | ||
| wrap-iife: off | ||
| no-var: off | ||
| prefer-const: off |
This file was deleted.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -10,4 +10,4 @@ export default { | |
| }, | ||
| on: _.noop, | ||
| off: _.noop | ||
| } | ||
| }; | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,30 +1,33 @@ | ||
| var resolve = require('path').resolve; | ||
| import { resolve } from 'path'; | ||
| export default grunt => ({ | ||
| options: { | ||
| paths: [ | ||
| 'Gruntfile.js', | ||
| 'bin', | ||
| 'config', | ||
| 'src', | ||
| 'tasks', | ||
| 'test', | ||
| 'utilities', | ||
| ], | ||
| }, | ||
|
|
||
| module.exports = function (grunt) { | ||
| return { | ||
| // just lint the source dir | ||
| source: { | ||
| options: { | ||
| cache: resolve(grunt.config.get('root'), '.eslint.fixSource.cache') | ||
| }, | ||
| source: { | ||
| options: { | ||
| cache: resolve(grunt.config.get('root'), '.eslint.fixSource.cache') | ||
| } | ||
| }, | ||
|
|
||
| files: { | ||
| src: '<%= lintThese %>' | ||
| } | ||
| }, | ||
| fixSource: { | ||
| options: { | ||
| cache: resolve(grunt.config.get('root'), '.eslint.fixSource.cache'), | ||
| fix: true | ||
| } | ||
| }, | ||
|
|
||
| // lint the source and fix any fixable errors | ||
| fixSource: { | ||
| options: { | ||
| cache: resolve(grunt.config.get('root'), '.eslint.fixSource.cache'), | ||
| fix: true | ||
| }, | ||
|
|
||
| files: { | ||
| src: '<%= lintThese %>' | ||
| } | ||
| }, | ||
|
|
||
| staged: {} | ||
| }; | ||
| }; | ||
| staged: { | ||
| options: { | ||
| paths: null // overridden by lintStagedFiles task | ||
| } | ||
| } | ||
| }); |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,44 @@ | ||
| import { CLIEngine } from 'eslint'; | ||
|
|
||
| const OPTION_DEFAULTS = { | ||
| paths: null, | ||
| cache: null, | ||
| fix: false | ||
| }; | ||
|
|
||
| export default grunt => { | ||
| grunt.registerMultiTask('eslint', function () { | ||
| const options = this.options(OPTION_DEFAULTS); | ||
|
|
||
| if (!options.paths) { | ||
| grunt.fatal(new Error('No eslint.options.paths specified')); | ||
| return; | ||
| } | ||
|
|
||
| const cli = new CLIEngine({ | ||
| cache: options.cache, | ||
| fix: options.fix, | ||
| cwd: grunt.config.get('root'), | ||
| }); | ||
|
|
||
| // report includes an entire list of files checked and the | ||
| // fixes, errors, and warning for each. | ||
| const report = cli.executeOnFiles(options.paths); | ||
|
|
||
| // output fixes to disk | ||
| if (options.fix) { | ||
| CLIEngine.outputFixes(report); | ||
| } | ||
|
|
||
| // log the formatted linting report | ||
| const formatter = cli.getFormatter(); | ||
|
|
||
| const errTypes = []; | ||
| if (report.errorCount > 0) errTypes.push('errors'); | ||
| if (report.warningCount > 0) errTypes.push('warning'); | ||
| if (!errTypes.length) return; | ||
|
|
||
| grunt.log.write(formatter(report.results)); | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Do we get to this point if there are no errors? If there are no errors, do we still want to see the report results? Without knowing what the report contains, it seems like this could be useful information?
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The report actually only contains errors and warnings, so if there are none of those then there isn't anything to report
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Sounds good. How about renaming
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Added a comment describing what the report is. Since it contains errors, warnings, and fix info, |
||
| grunt.fatal(`eslint ${errTypes.join(' & ')}`); | ||
| }); | ||
| }; | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is this specific file excluded?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's copied from an external source