|
1 | 1 | module.exports = { |
2 | | - root: true, |
3 | | - env: { |
4 | | - browser: true, |
5 | | - es6: true, |
6 | | - node: true, |
7 | | - jest: true |
8 | | - }, |
9 | 2 | globals: { |
10 | | - $: true, |
11 | | - appVersion: true, |
12 | | - t: true, |
13 | | - n: true, |
14 | | - OC: true, |
15 | | - OCA: true, |
16 | | - Vue: true, |
17 | | - Cypress: true, |
18 | | - cy: true |
19 | | - }, |
20 | | - parserOptions: { |
21 | | - parser: 'babel-eslint', |
22 | | - ecmaVersion: 6 |
| 3 | + appVersion: true |
23 | 4 | }, |
24 | 5 | extends: [ |
25 | | - 'eslint:recommended', |
26 | | - 'plugin:import/errors', |
27 | | - 'plugin:import/warnings', |
28 | | - 'plugin:node/recommended', |
29 | | - 'plugin:vue/essential', |
30 | | - 'plugin:vue/recommended', |
31 | | - 'standard' |
32 | | - ], |
33 | | - settings: { |
34 | | - 'import/resolver': { |
35 | | - webpack: { |
36 | | - config: 'webpack.common.js' |
37 | | - }, |
38 | | - node: { |
39 | | - paths: ['src'], |
40 | | - extensions: ['.js', '.vue'] |
41 | | - } |
42 | | - } |
43 | | - }, |
44 | | - plugins: ['vue', 'node'], |
45 | | - rules: { |
46 | | - // space before function () |
47 | | - 'space-before-function-paren': ['error', 'never'], |
48 | | - // curly braces always space |
49 | | - 'object-curly-spacing': ['error', 'always'], |
50 | | - // stay consistent with array brackets |
51 | | - 'array-bracket-newline': ['error', 'consistent'], |
52 | | - // 1tbs brace style |
53 | | - 'brace-style': 'error', |
54 | | - // tabs only |
55 | | - indent: ['error', 'tab'], |
56 | | - 'no-tabs': 0, |
57 | | - 'vue/html-indent': ['error', 'tab'], |
58 | | - // only debug console |
59 | | - 'no-console': ['error', { allow: ['error', 'warn', 'info', 'debug'] }], |
60 | | - // classes blocks |
61 | | - 'padded-blocks': ['error', { classes: 'always' }], |
62 | | - // always have the operator in front |
63 | | - 'operator-linebreak': ['error', 'before'], |
64 | | - // ternary on multiline |
65 | | - 'multiline-ternary': ['error', 'always-multiline'], |
66 | | - // force proper JSDocs |
67 | | - 'valid-jsdoc': [2, { |
68 | | - 'prefer': { |
69 | | - 'return': 'returns' |
70 | | - }, |
71 | | - 'requireReturn': false, |
72 | | - 'requireReturnDescription': false |
73 | | - }], |
74 | | - // es6 import/export and require |
75 | | - 'node/no-unpublished-require': ['off'], |
76 | | - 'node/no-unsupported-features/es-syntax': ['off'], |
77 | | - // kebab case components for vuejs |
78 | | - 'vue/component-name-in-template-casing': ['error', 'PascalCase'], |
79 | | - // space before self-closing elements |
80 | | - 'vue/html-closing-bracket-spacing': 'error', |
81 | | - // no ending html tag on a new line |
82 | | - 'vue/html-closing-bracket-newline': ['error', { multiline: 'never' }], |
83 | | - // code spacing with attributes |
84 | | - 'vue/max-attributes-per-line': [ |
85 | | - 'error', |
86 | | - { |
87 | | - singleline: 3, |
88 | | - multiline: { |
89 | | - max: 3, |
90 | | - allowFirstLine: true |
91 | | - } |
92 | | - } |
93 | | - ] |
94 | | - } |
95 | | -} |
| 6 | + 'nextcloud' |
| 7 | + ] |
| 8 | +}; |
0 commit comments