mirror of
https://github.com/zulip/zulip.git
synced 2025-10-23 04:52:12 +00:00
Run eslint in tools/lint-all with npm run --silent lint
This commit adds a basic eslintrc that emulates jslint defaults. Rules that conflict with our existing code have been switched to warnings instead of errors. Globals have been added to the eslintrc. The bundled js file (generated by webpack) and blueslip.js are ignored with .eslintignore. To display warnings, run npm run lint-loud. This runs eslint without the --quiet option on static/js and frontend_tests. npm run --silent lint is run by tools/lint-all (in addition to jslint). The --silent option is used to suppress the default output from npm run. Fixes #535.
This commit is contained in:
committed by
Tim Abbott
parent
2d81813145
commit
497c7702cc
4
.eslintignore
Normal file
4
.eslintignore
Normal file
@@ -0,0 +1,4 @@
|
||||
static/js/bundle.js
|
||||
static/js/blueslip.js
|
||||
puppet/zulip_ops/files/statsd/local.js
|
||||
tools/jslint/check-all.js
|
177
.eslintrc
Normal file
177
.eslintrc
Normal file
@@ -0,0 +1,177 @@
|
||||
{
|
||||
"env": {
|
||||
"node": true
|
||||
},
|
||||
"globals": {
|
||||
"$": false,
|
||||
"_": false,
|
||||
"jQuery": false,
|
||||
"Spinner": false,
|
||||
"Handlebars": false,
|
||||
"XDate": false,
|
||||
"zxcvbn": false,
|
||||
"LazyLoad": false,
|
||||
"Dropbox": false,
|
||||
"SockJS": false,
|
||||
"marked": false,
|
||||
"i18n": false,
|
||||
"bridge": false,
|
||||
"page_params": false,
|
||||
"status_classes": false,
|
||||
"password_quality": false,
|
||||
"csrf_token": false,
|
||||
"typeahead_helper": false,
|
||||
"popovers": false,
|
||||
"server_events": false,
|
||||
"ui": false,
|
||||
"stream_color": false,
|
||||
"people": false,
|
||||
"navigate": false,
|
||||
"settings": false,
|
||||
"resize": false,
|
||||
"loading": false,
|
||||
"compose": false,
|
||||
"compose_fade": false,
|
||||
"subs": false,
|
||||
"timerender": false,
|
||||
"message_edit": false,
|
||||
"reload": false,
|
||||
"composebox_typeahead": false,
|
||||
"search": false,
|
||||
"topic_list": false,
|
||||
"gear_menu": false,
|
||||
"hashchange": false,
|
||||
"message_list": false,
|
||||
"Filter": false,
|
||||
"pointer": false,
|
||||
"util": false,
|
||||
"MessageListView": false,
|
||||
"blueslip": false,
|
||||
"rows": false,
|
||||
"WinChan": false,
|
||||
"muting_ui": false,
|
||||
"Socket": false,
|
||||
"channel": false,
|
||||
"viewport": false,
|
||||
"avatar": false,
|
||||
"feature_flags": false,
|
||||
"search_suggestion": false,
|
||||
"referral": false,
|
||||
"notifications": false,
|
||||
"message_flags": false,
|
||||
"bot_data": false,
|
||||
"stream_list": false,
|
||||
"narrow": false,
|
||||
"admin": false,
|
||||
"stream_data": false,
|
||||
"muting": false,
|
||||
"Dict": false,
|
||||
"unread": false,
|
||||
"alert_words_ui": false,
|
||||
"message_store": false,
|
||||
"favicon": false,
|
||||
"condense": false,
|
||||
"floating_recipient_bar": false,
|
||||
"tab_bar": false,
|
||||
"emoji": false,
|
||||
"activity": false,
|
||||
"invite": false,
|
||||
"colorspace": false,
|
||||
"tutorial": false,
|
||||
"templates": false,
|
||||
"alert_words": false,
|
||||
"fenced_code": false,
|
||||
"echo": false,
|
||||
"localstorage": false,
|
||||
"current_msg_list": true,
|
||||
"home_msg_list": false,
|
||||
"pm_list": false,
|
||||
"unread_ui": false
|
||||
},
|
||||
"rules": {
|
||||
"no-alert": 2,
|
||||
"no-array-constructor": 2,
|
||||
"no-caller": 2,
|
||||
"no-bitwise": 2,
|
||||
"no-catch-shadow": 2,
|
||||
"comma-dangle": 0,
|
||||
"no-console": 1,
|
||||
"no-control-regex": 2,
|
||||
"no-debugger": 2,
|
||||
"no-div-regex": 2,
|
||||
"no-dupe-keys": 2,
|
||||
"no-else-return": 1,
|
||||
"no-empty": 1,
|
||||
"no-empty-character-class": 2,
|
||||
"no-eq-null": 2,
|
||||
"no-eval": 2,
|
||||
"no-ex-assign": 2,
|
||||
"no-extra-semi": 2,
|
||||
"no-func-assign": 2,
|
||||
"no-floating-decimal": 2,
|
||||
"no-implied-eval": 2,
|
||||
"no-with": 2,
|
||||
"no-fallthrough": 2,
|
||||
"no-unreachable": 2,
|
||||
"no-undef": 2,
|
||||
"no-undef-init": 2,
|
||||
"no-unused-expressions": 2,
|
||||
"no-octal": 2,
|
||||
"no-octal-escape": 2,
|
||||
"no-obj-calls": 2,
|
||||
"no-multi-str": 2,
|
||||
"no-new-wrappers": 2,
|
||||
"no-new": 2,
|
||||
"no-new-func": 2,
|
||||
"no-native-reassign": 2,
|
||||
"no-plusplus": 1,
|
||||
"no-delete-var": 2,
|
||||
"no-return-assign": 2,
|
||||
"no-new-object": 2,
|
||||
"no-label-var": 2,
|
||||
"no-ternary": 0,
|
||||
"no-self-compare": 2,
|
||||
"no-sync": 2,
|
||||
"no-underscore-dangle": 1,
|
||||
"no-loop-func": 1,
|
||||
"no-labels": 2,
|
||||
"no-unused-vars": 1,
|
||||
"no-script-url": 2,
|
||||
"no-proto": 2,
|
||||
"no-iterator": 2,
|
||||
"no-mixed-requires": [0, false],
|
||||
"no-extra-parens": ["error", "functions"],
|
||||
"no-shadow": 1,
|
||||
"no-use-before-define": 2,
|
||||
"no-redeclare": 2,
|
||||
"no-regex-spaces": 2,
|
||||
"brace-style": [1, "1tbs"],
|
||||
"block-scoped-var": 0,
|
||||
"camelcase": 1,
|
||||
"complexity": [0, 4],
|
||||
"curly": 2,
|
||||
"dot-notation": 2,
|
||||
"eqeqeq": 2,
|
||||
"guard-for-in": 0,
|
||||
"max-depth": [0, 4],
|
||||
"max-len": [0, 80, 4],
|
||||
"max-params": [0, 3],
|
||||
"max-statements": [0, 10],
|
||||
"new-cap": 1,
|
||||
"new-parens": 2,
|
||||
"one-var": 1,
|
||||
"quotes": [1, "single"],
|
||||
"quote-props": 0,
|
||||
"radix": 0,
|
||||
"semi": 2,
|
||||
"keyword-spacing": 1,
|
||||
"space-before-blocks": 1,
|
||||
"strict": 1,
|
||||
"unnecessary-strict": 0,
|
||||
"use-isnan": 2,
|
||||
"valid-typeof": 0,
|
||||
"wrap-iife": 2,
|
||||
"wrap-regex": 0,
|
||||
"yoda": 1
|
||||
}
|
||||
}
|
16
frontend_tests/.eslintrc
Normal file
16
frontend_tests/.eslintrc
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"env": {
|
||||
"shared-node-browser": true
|
||||
},
|
||||
"globals": {
|
||||
"assert": false,
|
||||
"add_dependencies": false,
|
||||
"casper": false,
|
||||
"document": false,
|
||||
"set_global": false,
|
||||
"window": false
|
||||
},
|
||||
"rules": {
|
||||
"no-sync": 1
|
||||
}
|
||||
}
|
16
package.json
16
package.json
@@ -16,17 +16,21 @@
|
||||
"webpack": "1.12.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"casperjs": "1.1.3",
|
||||
"cssstyle": "0.2.29",
|
||||
"eslint": "^3.9.1",
|
||||
"htmlparser2": "3.8.3",
|
||||
"istanbul": "0.4.0",
|
||||
"jsdom": "9.4.1",
|
||||
"xmlhttprequest": "1.5.0",
|
||||
"nwmatcher": "1.3.6",
|
||||
"htmlparser2": "3.8.3",
|
||||
"cssstyle": "0.2.29",
|
||||
"webpack-dev-server": "1.12.1",
|
||||
"phantomjs-prebuilt": "2.1.7",
|
||||
"casperjs": "1.1.3"
|
||||
"webpack-dev-server": "1.12.1",
|
||||
"xmlhttprequest": "1.5.0"
|
||||
},
|
||||
"scripts": {
|
||||
"lint": "eslint --quiet",
|
||||
"lint-loud": "eslint static/js frontend_tests"
|
||||
},
|
||||
"scripts": {},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/zulip/zulip.git"
|
||||
|
5
static/js/.eslintrc
Normal file
5
static/js/.eslintrc
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"env": {
|
||||
"browser": true
|
||||
}
|
||||
}
|
@@ -492,6 +492,13 @@ def run():
|
||||
+ by_lang['js'])
|
||||
return result
|
||||
|
||||
@lint
|
||||
def eslint():
|
||||
# type: () -> int
|
||||
result = subprocess.call(['npm', 'run', '--silent', 'lint']
|
||||
+ by_lang['js'])
|
||||
return result
|
||||
|
||||
@lint
|
||||
def puppet():
|
||||
# type: () -> int
|
||||
|
Reference in New Issue
Block a user