summaryrefslogtreecommitdiffstats
path: root/.eslintrc
blob: f9321bfb91da3eb9aafc5494af2b786e4a838b1d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
ecmaFeatures:
  experimentalObjectRestSpread: true

plugins:
  - meteor

parser: babel-eslint

rules:
  strict: 0
  no-undef: 2
  accessor-pairs: 2
  comma-dangle: [2, 'always-multiline']
  consistent-return: 2
  dot-notation: 2
  eqeqeq: 2
  indent: [2, 2]
  no-cond-assign: 2
  no-constant-condition: 2
  no-eval: 2
  no-inner-declarations: [0]
  no-unneeded-ternary: 2
  radix: 2
  semi: [2, always]

  # Stylistic Issues
  camelcase: 2
  comma-spacing: 2
  comma-style: 2
  linebreak-style: [2, unix]
  new-parens: 2
  no-lonely-if: 2
  no-multiple-empty-lines: 2
  no-nested-ternary: 2
  no-spaced-func: 2
  operator-linebreak: 2
  quotes: [2, single]
  semi-spacing: 2
  space-unary-ops: 2
  spaced-comment: [2, always, markers: ['/']]

  # 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-spread: 2
  prefer-template: 2

  # eslint-plugin-meteor
  ## Meteor API
  meteor/globals: 2
  meteor/core: 2
  meteor/pubsub: 2
  meteor/methods: 2
  meteor/check: 2
  meteor/connections: 2
  meteor/collections: 2
  meteor/session: [2, 'no-equal']

  ## Best practices
  meteor/no-session: 0
  meteor/no-zero-timeout: 2
  meteor/no-blaze-lifecycle-assignment: 2

settings:
  meteor:

    # Our collections
    collections:
      - AccountsTemplates
      - Activities
      - Attachments
      - Boards
      - CardComments
      - Cards
      - Lists
      - UnsavedEditCollection
      - Users

globals:
  # Exported by packages we use
  autosize: false
  Avatar: true
  Avatars: true
  BlazeComponent: false
  BlazeLayout: false
  DocHead: false
  ESSearchResults: false
  FastRender: false
  FlowRouter: false
  FS: false
  getSlug: false
  Migrations: false
  moment: false
  Mousetrap: false
  Picker: false
  Presence: true
  presences: true
  Ps: true
  ReactiveTabs: false
  Restivus: false
  SimpleSchema: false
  SubsManager: false
  T9n: false
  TAPi18n: false

  # 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'