UNPKG

2.15 kBJavaScriptView Raw
1module.exports = {
2 root: true,
3 parser: 'babel-eslint',
4 parserOptions: {
5 ecmaVersion: 2017,
6 sourceType: 'module'
7 },
8 plugins: [
9 'brackets',
10 'class-property',
11 'fat-arrow-same-line',
12 'import'
13 ],
14 extends: [
15 'eslint:recommended'
16 ],
17 env: {
18 'browser': true,
19 'es6': true
20 },
21 rules: {
22 // ES6
23 'arrow-parens': ['error', 'always'],
24 'camelcase': ['error', { 'properties': 'never' }],
25 'generator-star-spacing': ['error', {
26 'before': false,
27 'after': true
28 }],
29 'no-var': 'error',
30 'no-useless-rename': 'error',
31 'no-unused-vars': [
32 'error',
33 {
34 'vars': 'all',
35 'args': 'after-used',
36 'ignoreRestSiblings': false
37 }
38 ],
39 'object-shorthand': ['error', 'always'],
40 'prefer-const': 'error',
41 'prefer-spread': 'error',
42 'prefer-template': 'error',
43 'eol-last': ['error', 'always'],
44 'quotes': ['error', 'single', { "allowTemplateLiterals": true, "avoidEscape": true }],
45
46 // Overrides for Ember
47 'new-cap': ['error', {
48 'capIsNewExceptions': ['A']
49 }],
50
51 // Prevent using globals, import
52 'no-restricted-globals': [
53 'error', // Specifies the error level
54
55 'Ember',
56 'QUnit',
57 'jQuery',
58 '$'
59 ],
60
61 'no-restricted-imports': [
62 'error',
63
64 'ember'
65 ],
66
67 // Class property plugin rules
68 'class-property/class-property-semicolon': 2,
69
70 // Brackets plugin rules
71 'brackets/array-bracket-newline': ['error', { onePerLine: true }],
72 'brackets/call-parens-newline': ['error', { onePerLine: true }],
73 'brackets/conditional-parens-newline': ['error'],
74 'brackets/func-parens-newline': ['error', { onePerLine: true }],
75 'brackets/object-curly-newline': ['error', { onePerLine: true }],
76
77 // Fat arrow plugin rules
78 'fat-arrow-same-line/fat-arrow-same-line': ['error', {
79 allowObjects: true,
80 allowArrays: true,
81 allowTemplates: true,
82 allowNew: true,
83 allowBoolExpressions: true,
84 allowMembers: ['create']
85 }],
86
87 // Import plugin rules
88 'import/first': 2,
89 'import/newline-after-import': 2
90 }
91};