mirror of https://github.com/zulip/zulip.git
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:
parent
2d81813145
commit
497c7702cc
|
@ -0,0 +1,4 @@
|
||||||
|
static/js/bundle.js
|
||||||
|
static/js/blueslip.js
|
||||||
|
puppet/zulip_ops/files/statsd/local.js
|
||||||
|
tools/jslint/check-all.js
|
|
@ -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
|
||||||
|
}
|
||||||
|
}
|
|
@ -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"
|
"webpack": "1.12.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"casperjs": "1.1.3",
|
||||||
|
"cssstyle": "0.2.29",
|
||||||
|
"eslint": "^3.9.1",
|
||||||
|
"htmlparser2": "3.8.3",
|
||||||
"istanbul": "0.4.0",
|
"istanbul": "0.4.0",
|
||||||
"jsdom": "9.4.1",
|
"jsdom": "9.4.1",
|
||||||
"xmlhttprequest": "1.5.0",
|
|
||||||
"nwmatcher": "1.3.6",
|
"nwmatcher": "1.3.6",
|
||||||
"htmlparser2": "3.8.3",
|
|
||||||
"cssstyle": "0.2.29",
|
|
||||||
"webpack-dev-server": "1.12.1",
|
|
||||||
"phantomjs-prebuilt": "2.1.7",
|
"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": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/zulip/zulip.git"
|
"url": "https://github.com/zulip/zulip.git"
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
{
|
||||||
|
"env": {
|
||||||
|
"browser": true
|
||||||
|
}
|
||||||
|
}
|
|
@ -492,6 +492,13 @@ def run():
|
||||||
+ by_lang['js'])
|
+ by_lang['js'])
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
@lint
|
||||||
|
def eslint():
|
||||||
|
# type: () -> int
|
||||||
|
result = subprocess.call(['npm', 'run', '--silent', 'lint']
|
||||||
|
+ by_lang['js'])
|
||||||
|
return result
|
||||||
|
|
||||||
@lint
|
@lint
|
||||||
def puppet():
|
def puppet():
|
||||||
# type: () -> int
|
# type: () -> int
|
||||||
|
|
Loading…
Reference in New Issue