summaryrefslogtreecommitdiffstats
path: root/.eslintrc
diff options
context:
space:
mode:
authorMaxime Quandalle <maxime@quandalle.com>2015-09-03 23:12:46 +0200
committerMaxime Quandalle <maxime@quandalle.com>2015-09-03 23:12:46 +0200
commitb3851817ecd59b039f2c2228d08a1c6fd8e60d60 (patch)
tree82a50f69788d5c20632f3ec9c7d3e136502b93b4 /.eslintrc
parent039cfe7edf8faf901069a94b3ca9b66f7973b26a (diff)
downloadwekan-b3851817ecd59b039f2c2228d08a1c6fd8e60d60.tar.gz
wekan-b3851817ecd59b039f2c2228d08a1c6fd8e60d60.tar.bz2
wekan-b3851817ecd59b039f2c2228d08a1c6fd8e60d60.zip
Enforce a consistent ES6 coding style
Replace the old (and broken) jshint + jscsrc by eslint and configure it to support some of the ES6 features. The command `eslint` currently has one error which is a bug that was discovered by its static analysis and should be fixed (usage of a dead object).
Diffstat (limited to '.eslintrc')
-rw-r--r--.eslintrc157
1 files changed, 157 insertions, 0 deletions
diff --git a/.eslintrc b/.eslintrc
new file mode 100644
index 00000000..030c0422
--- /dev/null
+++ b/.eslintrc
@@ -0,0 +1,157 @@
+ecmaFeatures:
+ experimentalObjectRestSpread: true
+rules:
+ indent:
+ - 2
+ - 2
+ semi:
+ - 2
+ - always
+ comma-dangle:
+ - 2
+ - always-multiline
+ no-inner-declarations:
+ - 0
+ dot-notation:
+ - 2
+ eqeqeq:
+ - 2
+ no-eval:
+ - 2
+ radix:
+ - 2
+
+ # Stylistic Issues
+ camelcase:
+ - 2
+ comma-spacing:
+ - 2
+ comma-style:
+ - 2
+ new-parens:
+ - 2
+ no-lonely-if:
+ - 2
+ no-multiple-empty-lines:
+ - 2
+ no-nested-ternary:
+ - 2
+ linebreak-style:
+ - 2
+ - unix
+ quotes:
+ - 2
+ - single
+ semi-spacing:
+ - 2
+ spaced-comment:
+ - 2
+ - always
+ - markers:
+ - '/'
+ space-unary-ops:
+ - 2
+
+ # ECMAScript 6
+ arrow-parens:
+ - 2
+ arrow-spacing:
+ - 2
+ no-class-assign:
+ - 2
+ no-dupe-class-members:
+ - 2
+ no-var:
+ - 2
+ object-shorthand:
+ - 2
+ prefer-const:
+ - 2
+ prefer-template:
+ - 2
+ prefer-spread:
+ - 2
+globals:
+ # Meteor globals
+ Meteor: false
+ DDP: false
+ Mongo: false
+ Session: false
+ Accounts: false
+ Template: false
+ Blaze: false
+ UI: false
+ Match: false
+ check: false
+ Tracker: false
+ Deps: false
+ ReactiveVar: false
+ EJSON: false
+ HTTP: false
+ Email: false
+ Assets: false
+ Handlebars: false
+ Package: false
+ App: false
+ Npm: false
+ Tinytest: false
+ Random: false
+ HTML: false
+
+ # Exported by packages we use
+ '$': false
+ _: false
+ autosize: false
+ Avatar: true
+ Avatars: true
+ BlazeComponent: false
+ BlazeLayout: false
+ FlowRouter: false
+ FS: false
+ getSlug: false
+ Migrations: false
+ Mousetrap: false
+ Picker: false
+ Presence: true
+ Presences: true
+ Ps: true
+ ReactiveTabs: false
+ SimpleSchema: false
+ SubsManager: false
+ T9n: false
+ TAPi18n: false
+
+ # Our collections
+ AccountsTemplates: true
+ Activities: true
+ Attachments: true
+ Boards: true
+ CardComments: true
+ Cards: true
+ Lists: true
+ UnsavedEditCollection: true
+ Users: true
+
+ # Our objects
+ CSSEvents: true
+ EscapeActions: true
+ Filter: true
+ Filter: true
+ Mixins: true
+ Modal: true
+ MultiSelection: true
+ Popup: true
+ Sidebar: true
+ Utils: true
+ InlinedForm: true
+ UnsavedEdits: true
+
+ # XXX Temp, we should remove these
+ allowIsBoardAdmin: true
+ allowIsBoardMember: true
+ Emoji: true
+env:
+ es6: true
+ node: true
+ browser: true
+extends: 'eslint:recommended'