1 | 'use strict';
|
2 | module.exports = {
|
3 |
|
4 | parserOptions: {
|
5 | ecmaVersion: 2018,
|
6 | sourceType: 'module',
|
7 | ecmaFeatures: {
|
8 | jsx: true,
|
9 | experimentalObjectRestSpread: true
|
10 | }
|
11 | },
|
12 |
|
13 | plugins: [
|
14 | 'no-use-extend-native',
|
15 | 'ava',
|
16 | 'unicorn',
|
17 | 'promise',
|
18 | 'import',
|
19 | 'node'
|
20 | ],
|
21 | extends: [
|
22 | 'plugin:ava/recommended',
|
23 | 'plugin:unicorn/recommended'
|
24 | ],
|
25 | settings: {
|
26 | 'import/core-modules': [
|
27 | 'electron',
|
28 | 'atom'
|
29 | ]
|
30 | },
|
31 | rules: {
|
32 | 'no-use-extend-native/no-use-extend-native': 'error',
|
33 | 'promise/param-names': 'error',
|
34 | 'promise/no-return-wrap': ['error', {allowReject: true}],
|
35 | 'promise/no-return-in-finally': 'error',
|
36 | 'import/default': 'error',
|
37 | 'import/export': 'error',
|
38 | 'import/extensions': ['error', {
|
39 | js: 'never',
|
40 | json: 'never',
|
41 | jsx: 'never'
|
42 | }],
|
43 | 'import/first': 'error',
|
44 | 'import/named': 'error',
|
45 | 'import/namespace': ['error', {allowComputed: true}],
|
46 | 'import/no-absolute-path': 'error',
|
47 | 'import/no-webpack-loader-syntax': 'error',
|
48 | 'import/newline-after-import': 'error',
|
49 | 'import/no-amd': 'error',
|
50 | 'import/no-duplicates': 'error',
|
51 |
|
52 |
|
53 |
|
54 |
|
55 |
|
56 |
|
57 | 'import/no-extraneous-dependencies': 'error',
|
58 | 'import/no-mutable-exports': 'error',
|
59 | 'import/no-named-as-default-member': 'error',
|
60 | 'import/no-named-as-default': 'error',
|
61 | 'import/no-unresolved': ['error', {commonjs: true}],
|
62 | 'import/order': 'error',
|
63 | 'import/prefer-default-export': 'error',
|
64 | 'import/no-unassigned-import': ['error', {
|
65 | allow: ['babel-polyfill', '@babel/polyfill', 'babel-register', '@babel/register']
|
66 | }],
|
67 |
|
68 |
|
69 |
|
70 |
|
71 |
|
72 |
|
73 | 'node/no-unpublished-bin': 'error',
|
74 |
|
75 |
|
76 |
|
77 |
|
78 |
|
79 |
|
80 | 'node/process-exit-as-throw': 'error',
|
81 |
|
82 |
|
83 | 'node/no-deprecated-api': 'error',
|
84 |
|
85 |
|
86 |
|
87 | 'unicorn/prefer-spread': 'off',
|
88 | 'unicorn/no-new-buffer': 'off'
|
89 | }
|
90 | };
|