Use eslint instead of jshint
This commit is contained in:
parent
520d80cc1a
commit
e7227891e7
8 changed files with 274 additions and 100 deletions
258
.eslintrc
Normal file
258
.eslintrc
Normal file
|
|
@ -0,0 +1,258 @@
|
|||
{
|
||||
"env": {
|
||||
"browser": true,
|
||||
"jasmine": true,
|
||||
"jquery": true
|
||||
},
|
||||
|
||||
"globals": {
|
||||
"_": false,
|
||||
"autosize": false,
|
||||
"Backbone": false,
|
||||
"Bloodhound": false,
|
||||
"gon": false,
|
||||
"Handlebars": false,
|
||||
"HandlebarsTemplates": false,
|
||||
"ImagePaths": false,
|
||||
"jsxc": false,
|
||||
"L": false,
|
||||
"Routes": false,
|
||||
"OSM": false,
|
||||
"qq": false,
|
||||
"blueimp": false,
|
||||
|
||||
"loginAs": true,
|
||||
"logout": true,
|
||||
"spec": true,
|
||||
"context": true,
|
||||
"factory": true,
|
||||
"stubView": true,
|
||||
|
||||
"app": true,
|
||||
"Diaspora": true,
|
||||
"Keycodes": true,
|
||||
"PosixBracketExpressions": true
|
||||
},
|
||||
|
||||
"rules": {
|
||||
"accessor-pairs": 0,
|
||||
"array-bracket-spacing": [2, "never"],
|
||||
"array-callback-return": 0,
|
||||
"arrow-body-style": 0,
|
||||
"arrow-parens": 0,
|
||||
"arrow-spacing": 0,
|
||||
"block-scoped-var": 0,
|
||||
"block-spacing": [2, "always"],
|
||||
"brace-style": [2, "1tbs", {"allowSingleLine": true}],
|
||||
"callback-return": 0,
|
||||
"camelcase": 2,
|
||||
"comma-dangle": [2, "never"],
|
||||
"comma-spacing": [2, {"before": false, "after": true}],
|
||||
"comma-style": [2, "last"],
|
||||
"complexity": [1, {"max": 20}],
|
||||
"computed-property-spacing": [2, "never"],
|
||||
"consistent-return": 2,
|
||||
"consistent-this": 0,
|
||||
"constructor-super": 0,
|
||||
"curly": [2, "all"],
|
||||
"default-case": 0,
|
||||
"dot-location": [2, "property"],
|
||||
"dot-notation": 2,
|
||||
"eol-last": 2,
|
||||
"eqeqeq": [2, "allow-null"],
|
||||
"func-names": 0,
|
||||
"func-style": 0,
|
||||
"generator-star-spacing": 0,
|
||||
"global-require": 0,
|
||||
"guard-for-in": 1,
|
||||
"handle-callback-err": 0,
|
||||
"id-blacklist": 0,
|
||||
"id-length": 0,
|
||||
"id-match": 0,
|
||||
"indent": [2, 2, {"SwitchCase": 1}],
|
||||
"init-declarations": 0,
|
||||
"jsx-quotes": 0,
|
||||
"key-spacing": [2, {"beforeColon": false, "afterColon": true}],
|
||||
"keyword-spacing": 2,
|
||||
"linebreak-style": 0,
|
||||
"lines-around-comment": 0,
|
||||
"max-depth": 0,
|
||||
"max-len": [1, {"code": 120, "ignoreUrls": true}],
|
||||
"max-lines": 0,
|
||||
"max-nested-callbacks": [2, {"max": 3}],
|
||||
"max-params": 0,
|
||||
"max-statements": 0,
|
||||
"max-statements-per-line": 0,
|
||||
"new-cap": [2, {"capIsNew": false}],
|
||||
"new-parens": 2,
|
||||
"newline-after-var": 0,
|
||||
"newline-before-return": 0,
|
||||
"newline-per-chained-call": 0,
|
||||
"no-alert": 0,
|
||||
"no-array-constructor": 2,
|
||||
"no-bitwise": 0,
|
||||
"no-caller": 2,
|
||||
"no-case-declarations": 2,
|
||||
"no-catch-shadow": 0,
|
||||
"no-class-assign": 2,
|
||||
"no-cond-assign": 2,
|
||||
"no-confusing-arrow": 2,
|
||||
"no-console": 2,
|
||||
"no-const-assign": 2,
|
||||
"no-constant-condition": 2,
|
||||
"no-continue": 0,
|
||||
"no-control-regex": 2,
|
||||
"no-debugger": 2,
|
||||
"no-delete-var": 2,
|
||||
"no-div-regex": 0,
|
||||
"no-dupe-args": 2,
|
||||
"no-dupe-class-members": 2,
|
||||
"no-dupe-keys": 2,
|
||||
"no-duplicate-case": 2,
|
||||
"no-duplicate-imports": 0,
|
||||
"no-else-return": 2,
|
||||
"no-empty": 2,
|
||||
"no-empty-character-class": 2,
|
||||
"no-empty-function": 1,
|
||||
"no-empty-pattern": 2,
|
||||
"no-eq-null": 0,
|
||||
"no-eval": 2,
|
||||
"no-ex-assign": 2,
|
||||
"no-extend-native": 2,
|
||||
"no-extra-bind": 2,
|
||||
"no-extra-boolean-cast": 2,
|
||||
"no-extra-label": 0,
|
||||
"no-extra-parens": 0,
|
||||
"no-extra-semi": 2,
|
||||
"no-fallthrough": 2,
|
||||
"no-floating-decimal": 0,
|
||||
"no-func-assign": 2,
|
||||
"no-implicit-coercion": 0,
|
||||
"no-implicit-globals": 0,
|
||||
"no-implied-eval": 0,
|
||||
"no-inline-comments": 0,
|
||||
"no-inner-declarations": 2,
|
||||
"no-invalid-regexp": 2,
|
||||
"no-invalid-this": 0,
|
||||
"no-irregular-whitespace": 2,
|
||||
"no-iterator": 0,
|
||||
"no-label-var": 0,
|
||||
"no-labels": 0,
|
||||
"no-lone-blocks": 0,
|
||||
"no-lonely-if": 2,
|
||||
"no-loop-func": 2,
|
||||
"no-magic-numbers": 0,
|
||||
"no-mixed-operators": 0,
|
||||
"no-mixed-requires": 0,
|
||||
"no-mixed-spaces-and-tabs": 2,
|
||||
"no-multi-spaces": 1,
|
||||
"no-multi-str": 0,
|
||||
"no-multiple-empty-lines": [1, {"max": 1}],
|
||||
"no-native-reassign": 2,
|
||||
"no-negated-condition": 0,
|
||||
"no-negated-in-lhs": 2,
|
||||
"no-nested-ternary": 0,
|
||||
"no-new": 0,
|
||||
"no-new-func": 0,
|
||||
"no-new-object": 0,
|
||||
"no-new-require": 0,
|
||||
"no-new-symbol": 0,
|
||||
"no-new-wrappers": 0,
|
||||
"no-obj-calls": 2,
|
||||
"no-octal": 2,
|
||||
"no-octal-escape": 0,
|
||||
"no-param-reassign": 0,
|
||||
"no-path-concat": 0,
|
||||
"no-plusplus": 0,
|
||||
"no-process-env": 0,
|
||||
"no-process-exit": 0,
|
||||
"no-proto": 2,
|
||||
"no-prototype-builtins": 0,
|
||||
"no-redeclare": 2,
|
||||
"no-regex-spaces": 2,
|
||||
"no-restricted-globals": 0,
|
||||
"no-restricted-imports": 0,
|
||||
"no-restricted-modules": 0,
|
||||
"no-restricted-syntax": 0,
|
||||
"no-return-assign": 2,
|
||||
"no-script-url": 0,
|
||||
"no-self-assign": 2,
|
||||
"no-self-compare": 2,
|
||||
"no-sequences": 2,
|
||||
"no-shadow": 1,
|
||||
"no-shadow-restricted-names": 2,
|
||||
"no-spaced-func": 1,
|
||||
"no-sparse-arrays": 2,
|
||||
"no-sync": 0,
|
||||
"no-ternary": 0,
|
||||
"no-this-before-super": 2,
|
||||
"no-throw-literal": 2,
|
||||
"no-trailing-spaces": 2,
|
||||
"no-undef": 2,
|
||||
"no-undef-init": 0,
|
||||
"no-undefined": 0,
|
||||
"no-underscore-dangle": 0,
|
||||
"no-unexpected-multiline": 2,
|
||||
"no-unmodified-loop-condition": 1,
|
||||
"no-unneeded-ternary": 1,
|
||||
"no-unreachable": 2,
|
||||
"no-unsafe-finally": 1,
|
||||
"no-unused-expressions": 0,
|
||||
"no-unused-labels": 2,
|
||||
"no-unused-vars": 2,
|
||||
"no-use-before-define": [2, {"functions": false, "classes": true}],
|
||||
"no-useless-call": 1,
|
||||
"no-useless-computed-key": 0,
|
||||
"no-useless-concat": 0,
|
||||
"no-useless-constructor": 0,
|
||||
"no-useless-escape": 0,
|
||||
"no-useless-rename": 0,
|
||||
"no-var": 0,
|
||||
"no-void": 0,
|
||||
"no-warning-comments": 0,
|
||||
"no-whitespace-before-property": 2,
|
||||
"no-with": 2,
|
||||
"object-curly-newline": 0,
|
||||
"object-curly-spacing": [2, "never"],
|
||||
"object-property-newline": 0,
|
||||
"object-shorthand": 0,
|
||||
"one-var": 0,
|
||||
"one-var-declaration-per-line": 0,
|
||||
"operator-assignment": 0,
|
||||
"operator-linebreak": 0,
|
||||
"padded-blocks": [2, "never"],
|
||||
"prefer-arrow-callback": 0,
|
||||
"prefer-const": 0,
|
||||
"prefer-reflect": 0,
|
||||
"prefer-rest-params": 0,
|
||||
"prefer-spread": 0,
|
||||
"prefer-template": 0,
|
||||
"quote-props": 0,
|
||||
"quotes": [2, "double", "avoid-escape"],
|
||||
"radix": [2, "always"],
|
||||
"require-jsdoc": 0,
|
||||
"require-yield": 0,
|
||||
"rest-spread-spacing": 0,
|
||||
"semi": [2, "always"],
|
||||
"semi-spacing": [2, {"before": false, "after": true}],
|
||||
"sort-imports": 0,
|
||||
"sort-vars": 0,
|
||||
"space-before-blocks": [2, "always"],
|
||||
"space-before-function-paren": [2, "never"],
|
||||
"space-in-parens": [2, "never"],
|
||||
"space-infix-ops": [2, {"int32Hint": true}],
|
||||
"space-unary-ops": [2, {"words": true, "nonwords": false}],
|
||||
"spaced-comment": [2, "always"],
|
||||
"strict": 0,
|
||||
"template-curly-spacing": 0,
|
||||
"unicode-bom": 0,
|
||||
"use-isnan": 2,
|
||||
"valid-jsdoc": 0,
|
||||
"valid-typeof": 2,
|
||||
"vars-on-top": 0,
|
||||
"wrap-iife": 0,
|
||||
"wrap-regex": 0,
|
||||
"yield-star-spacing": 0,
|
||||
"yoda": [2, "never"]
|
||||
}
|
||||
}
|
||||
|
|
@ -1 +0,0 @@
|
|||
config/.jshint_ignore
|
||||
|
|
@ -1 +0,0 @@
|
|||
config/.jshint.json
|
||||
4
Gemfile
4
Gemfile
|
|
@ -235,7 +235,6 @@ end
|
|||
group :development do
|
||||
# Automatic test runs
|
||||
gem "guard-cucumber", "2.1.2"
|
||||
gem "guard-jshintrb", "1.1.1"
|
||||
gem "guard-rspec", "4.6.5"
|
||||
gem "guard-rubocop", "1.2.0"
|
||||
gem "guard", "2.13.0", require: false
|
||||
|
|
@ -243,11 +242,10 @@ group :development do
|
|||
gem "rb-inotify", "0.9.7", require: false
|
||||
|
||||
# Linters
|
||||
gem "jshintrb", "0.3.0"
|
||||
gem "rubocop", "0.40.0"
|
||||
gem "haml_lint", "0.17.1"
|
||||
gem "pronto", "0.6.0"
|
||||
gem "pronto-jshint", "0.6.0"
|
||||
gem "pronto-eslint", "0.6.1"
|
||||
gem "pronto-rubocop", "0.6.2"
|
||||
gem "pronto-haml", "0.6.0"
|
||||
gem "pronto-scss", "0.6.0", require: false
|
||||
|
|
|
|||
21
Gemfile.lock
21
Gemfile.lock
|
|
@ -199,6 +199,10 @@ GEM
|
|||
railties (>= 4.1, <= 5)
|
||||
equalizer (0.0.10)
|
||||
erubis (2.7.0)
|
||||
eslintrb (2.0.4)
|
||||
execjs
|
||||
multi_json (>= 1.3)
|
||||
rake
|
||||
ethon (0.9.0)
|
||||
ffi (>= 1.3.0)
|
||||
excon (0.49.0)
|
||||
|
|
@ -386,9 +390,6 @@ GEM
|
|||
cucumber (~> 2.0)
|
||||
guard-compat (~> 1.0)
|
||||
nenv (~> 0.1)
|
||||
guard-jshintrb (1.1.1)
|
||||
guard (~> 2.0)
|
||||
jshintrb
|
||||
guard-rspec (4.6.5)
|
||||
guard (~> 2.1)
|
||||
guard-compat (~> 1.1)
|
||||
|
|
@ -457,10 +458,6 @@ GEM
|
|||
sprockets-rails
|
||||
js_image_paths (0.1.0)
|
||||
rails (~> 4.0)
|
||||
jshintrb (0.3.0)
|
||||
execjs
|
||||
multi_json (>= 1.3)
|
||||
rake
|
||||
json (1.8.3)
|
||||
json-jwt (1.5.2)
|
||||
activesupport
|
||||
|
|
@ -582,12 +579,12 @@ GEM
|
|||
octokit (~> 4.3, >= 4.1.0)
|
||||
rugged (~> 0.24, >= 0.23.0)
|
||||
thor (~> 0.19.0)
|
||||
pronto-eslint (0.6.1)
|
||||
eslintrb (~> 2.0, >= 2.0.0)
|
||||
pronto (~> 0.6.0)
|
||||
pronto-haml (0.6.0)
|
||||
haml_lint (~> 0.16, >= 0.15.0)
|
||||
pronto (~> 0.6.0)
|
||||
pronto-jshint (0.6.0)
|
||||
jshintrb (~> 0.3.0)
|
||||
pronto (~> 0.6.0)
|
||||
pronto-rubocop (0.6.2)
|
||||
pronto (~> 0.6.0)
|
||||
rubocop (~> 0.38, >= 0.35.0)
|
||||
|
|
@ -947,7 +944,6 @@ DEPENDENCIES
|
|||
gon (= 6.0.1)
|
||||
guard (= 2.13.0)
|
||||
guard-cucumber (= 2.1.2)
|
||||
guard-jshintrb (= 1.1.1)
|
||||
guard-rspec (= 4.6.5)
|
||||
guard-rubocop (= 1.2.0)
|
||||
haml_lint (= 0.17.1)
|
||||
|
|
@ -961,7 +957,6 @@ DEPENDENCIES
|
|||
jquery-ui-rails (= 5.0.5)
|
||||
js-routes (= 1.2.5)
|
||||
js_image_paths (= 0.1.0)
|
||||
jshintrb (= 0.3.0)
|
||||
json (= 1.8.3)
|
||||
json-schema (= 2.6.1)
|
||||
json_spec (= 1.1.4)
|
||||
|
|
@ -983,8 +978,8 @@ DEPENDENCIES
|
|||
openid_connect (= 0.11.2)
|
||||
pg (= 0.18.4)
|
||||
pronto (= 0.6.0)
|
||||
pronto-eslint (= 0.6.1)
|
||||
pronto-haml (= 0.6.0)
|
||||
pronto-jshint (= 0.6.0)
|
||||
pronto-rubocop (= 0.6.2)
|
||||
pronto-scss (= 0.6.0)
|
||||
pry
|
||||
|
|
|
|||
|
|
@ -1,73 +0,0 @@
|
|||
{
|
||||
"bitwise": true,
|
||||
"camelcase": true,
|
||||
"curly": true,
|
||||
"eqeqeq": true,
|
||||
"forin": true,
|
||||
"freeze": true,
|
||||
"immed": true,
|
||||
"indent": 2,
|
||||
"latedef": true,
|
||||
"maxlen": 120,
|
||||
"newcap": true,
|
||||
"noarg": true,
|
||||
"noempty": true,
|
||||
"nonbsp": true,
|
||||
"nonew": false,
|
||||
"quotmark": "double",
|
||||
"undef": true,
|
||||
"unused": true,
|
||||
|
||||
"asi": false,
|
||||
"boss": false,
|
||||
"browser": true,
|
||||
"devel": true,
|
||||
"eqnull": true,
|
||||
"evil": false,
|
||||
"expr": false,
|
||||
"jasmine": true,
|
||||
"jquery": true,
|
||||
"lastsemic": true,
|
||||
"laxbreak": false,
|
||||
"laxcomma": false,
|
||||
"loopfunc": false,
|
||||
"notypeof": false,
|
||||
"scripturl": false,
|
||||
"sub": false,
|
||||
"supernew": true,
|
||||
|
||||
"predef": [
|
||||
"_",
|
||||
"autosize",
|
||||
"Backbone",
|
||||
"Bloodhound",
|
||||
"gon",
|
||||
"Handlebars",
|
||||
"HandlebarsTemplates",
|
||||
"ImagePaths",
|
||||
"jsxc",
|
||||
"L",
|
||||
"MBP",
|
||||
"Routes",
|
||||
"OSM",
|
||||
"parse_url",
|
||||
"punycode",
|
||||
"qq",
|
||||
"blueimp",
|
||||
|
||||
"loginAs",
|
||||
"logout",
|
||||
"spec",
|
||||
"context",
|
||||
"factory",
|
||||
"stubView",
|
||||
"exports",
|
||||
"spyOn",
|
||||
|
||||
"app",
|
||||
"Diaspora",
|
||||
"Keycodes",
|
||||
"Mentions",
|
||||
"PosixBracketExpressions"
|
||||
]
|
||||
}
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
vendor/assets/javascripts/**.js
|
||||
lib/assets/javascripts/fileuploader-custom.js
|
||||
lib/assets/javascripts/jquery.mentionsInput.js
|
||||
|
|
@ -1,12 +1,13 @@
|
|||
begin
|
||||
require "jshintrb/jshinttask"
|
||||
Jshintrb::JshintTask.new :jshint do |t|
|
||||
require "eslintrb/eslinttask"
|
||||
Eslintrb::EslintTask.new :eslint do |t|
|
||||
t.pattern = "{app/assets,lib/assets,spec}/javascripts/**/*.js"
|
||||
t.options = :jshintrc
|
||||
t.exclude_pattern = "app/assets/javascripts/{jasmine-load-all,main,mobile/mobile,templates}.js"
|
||||
t.options = :eslintrc
|
||||
end
|
||||
rescue LoadError
|
||||
desc "jshint rake task not available (jshintrb not installed)"
|
||||
task :jshint do
|
||||
abort "JSHint rake task is not available. Be sure to install jshintrb."
|
||||
desc "eslint rake task not available (eslintrb not installed)"
|
||||
task :eslint do
|
||||
abort "ESLint rake task is not available. Be sure to install eslintrb."
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Reference in a new issue