UNPKG

2.96 kBJavaScriptView Raw
1'use strict';
2const path = require('path');
3const importModules = require('import-modules');
4
5module.exports = {
6 rules: importModules(path.resolve(__dirname, 'rules'), {camelize: false}),
7 configs: {
8 recommended: {
9 env: {
10 es6: true
11 },
12 parserOptions: {
13 ecmaVersion: 2021,
14 sourceType: 'module'
15 },
16 plugins: [
17 'unicorn'
18 ],
19 rules: {
20 'unicorn/better-regex': 'error',
21 'unicorn/catch-error-name': 'error',
22 'unicorn/consistent-function-scoping': 'error',
23 'unicorn/custom-error-definition': 'off',
24 'unicorn/error-message': 'error',
25 'unicorn/escape-case': 'error',
26 'unicorn/expiring-todo-comments': 'error',
27 'unicorn/explicit-length-check': 'error',
28 'unicorn/filename-case': 'error',
29 'unicorn/import-index': 'error',
30 'unicorn/import-style': 'error',
31 'unicorn/new-for-builtins': 'error',
32 'unicorn/no-abusive-eslint-disable': 'error',
33 'unicorn/no-array-instanceof': 'error',
34 'unicorn/no-console-spaces': 'error',
35 'unicorn/no-fn-reference-in-iterator': 'error',
36 'unicorn/no-for-loop': 'error',
37 'unicorn/no-hex-escape': 'error',
38 'unicorn/no-keyword-prefix': 'off',
39 'no-nested-ternary': 'off',
40 'unicorn/no-nested-ternary': 'error',
41 'unicorn/no-new-buffer': 'error',
42 'unicorn/no-null': 'error',
43 'unicorn/no-object-as-default-parameter': 'error',
44 'unicorn/no-process-exit': 'error',
45 'unicorn/no-reduce': 'error',
46 'unicorn/no-unreadable-array-destructuring': 'error',
47 'unicorn/no-unsafe-regex': 'off',
48 'unicorn/no-unused-properties': 'off',
49 'unicorn/no-useless-undefined': 'error',
50 'unicorn/no-zero-fractions': 'error',
51 'unicorn/number-literal-case': 'error',
52 'unicorn/prefer-add-event-listener': 'error',
53 'unicorn/prefer-array-find': 'error',
54 'unicorn/prefer-dataset': 'error',
55 'unicorn/prefer-event-key': 'error',
56 // TODO: Enable this by default when targeting Node.js 12.
57 'unicorn/prefer-flat-map': 'off',
58 'unicorn/prefer-includes': 'error',
59 'unicorn/prefer-modern-dom-apis': 'error',
60 'unicorn/prefer-negative-index': 'error',
61 'unicorn/prefer-node-append': 'error',
62 'unicorn/prefer-node-remove': 'error',
63 'unicorn/prefer-number-properties': 'error',
64 'unicorn/prefer-optional-catch-binding': 'error',
65 'unicorn/prefer-query-selector': 'error',
66 'unicorn/prefer-reflect-apply': 'error',
67 // TODO: Enable this by default when it's shipping in a Node.js LTS version.
68 'unicorn/prefer-replace-all': 'off',
69 'unicorn/prefer-set-has': 'error',
70 'unicorn/prefer-spread': 'error',
71 'unicorn/prefer-starts-ends-with': 'error',
72 'unicorn/prefer-string-slice': 'error',
73 'unicorn/prefer-text-content': 'error',
74 'unicorn/prefer-trim-start-end': 'error',
75 'unicorn/prefer-type-error': 'error',
76 'unicorn/prevent-abbreviations': 'error',
77 'unicorn/string-content': 'off',
78 'unicorn/throw-new-error': 'error'
79 }
80 }
81 }
82};