|
1 |
| -const { resolve } = require("path"); |
| 1 | +const { resolve } = require('path'); |
2 | 2 |
|
3 |
| -const PACKAGE_DIR = "./packages"; |
| 3 | +const PACKAGE_DIR = './packages'; |
4 | 4 |
|
5 |
| -const noExtraneousOverrides = require("./scripts/packages").map(package => { |
| 5 | +const noExtraneousOverrides = require('./scripts/packages').map(package => { |
6 | 6 | return {
|
7 | 7 | files: [`${PACKAGE_DIR}/${package}/**/*`],
|
8 | 8 | rules: {
|
9 |
| - "import/no-extraneous-dependencies": [ |
10 |
| - "error", |
| 9 | + 'import/no-extraneous-dependencies': [ |
| 10 | + 'error', |
11 | 11 | {
|
12 | 12 | devDependencies: true,
|
13 | 13 | optionalDependencies: true,
|
14 | 14 | peerDependencies: true,
|
15 |
| - packageDir: [resolve(__dirname, PACKAGE_DIR, package)] |
16 |
| - } |
17 |
| - ] |
18 |
| - } |
| 15 | + packageDir: [resolve(__dirname, PACKAGE_DIR, package)], |
| 16 | + }, |
| 17 | + ], |
| 18 | + }, |
19 | 19 | };
|
20 | 20 | });
|
21 | 21 |
|
22 | 22 | module.exports = {
|
23 |
| - plugins: ["functional", "sonarjs", "wdio", "simple-import-sort", "promise"], |
| 23 | + plugins: ['functional', 'sonarjs', 'wdio', 'simple-import-sort', 'promise'], |
24 | 24 | extends: [
|
25 |
| - "algolia/jest", |
26 |
| - "algolia/typescript", |
27 |
| - "plugin:functional/recommended", |
28 |
| - "plugin:sonarjs/recommended", |
29 |
| - "plugin:wdio/recommended", |
30 |
| - "plugin:promise/recommended" |
| 25 | + 'algolia/jest', |
| 26 | + 'algolia/typescript', |
| 27 | + 'plugin:functional/recommended', |
| 28 | + 'plugin:sonarjs/recommended', |
| 29 | + 'plugin:wdio/recommended', |
| 30 | + 'plugin:promise/recommended', |
31 | 31 | ],
|
32 | 32 | rules: {
|
33 |
| - "eslint-comments/disable-enable-pair": ["error", { allowWholeFile: true }], |
34 |
| - "simple-import-sort/sort": "error", |
35 |
| - "max-len": [1, 120, 2, { ignoreComments: true }], |
36 |
| - "prettier/prettier": [ |
37 |
| - "error", |
38 |
| - { |
39 |
| - trailingComma: "es5", |
40 |
| - singleQuote: true, |
41 |
| - printWidth: 100 |
42 |
| - } |
43 |
| - ], |
44 |
| - "object-shorthand": [ |
45 |
| - "error", |
46 |
| - "always", |
47 |
| - { avoidExplicitReturnArrows: true } |
48 |
| - ], |
49 |
| - "lines-between-class-members": ["error", "always"], |
50 |
| - "newline-before-return": ["error"], |
51 |
| - "import/no-extraneous-dependencies": [ |
52 |
| - "error", |
53 |
| - { packageDir: "./", devDependencies: true } |
54 |
| - ], |
55 |
| - "import/extensions": ["off"], |
56 |
| - "no-bitwise": ["off"], |
57 |
| - "valid-jsdoc": ["off"], |
58 |
| - "functional/no-expression-statement": ["off"], |
59 |
| - "functional/no-conditional-statement": ["off"], |
60 |
| - "functional/no-throw-statement": ["off"], |
61 |
| - "functional/no-mixed-type": ["off"], |
62 |
| - "promise/always-return": ["off"], |
63 |
| - "functional/functional-parameters": ["off"], |
64 |
| - "functional/no-return-void": ["off"], |
65 |
| - "@typescript-eslint/no-triple-slash-reference": ["off"] |
| 33 | + 'eslint-comments/disable-enable-pair': ['error', { allowWholeFile: true }], |
| 34 | + 'simple-import-sort/sort': 'error', |
| 35 | + 'max-len': [1, 120, 2, { ignoreComments: true }], |
| 36 | + 'prettier/prettier': ['error', {}, { usePrettierrc: true }], |
| 37 | + 'object-shorthand': ['error', 'always', { avoidExplicitReturnArrows: true }], |
| 38 | + 'lines-between-class-members': ['error', 'always'], |
| 39 | + 'newline-before-return': ['error'], |
| 40 | + 'import/no-extraneous-dependencies': ['error', { packageDir: './', devDependencies: true }], |
| 41 | + 'import/extensions': ['off'], |
| 42 | + 'no-bitwise': ['off'], |
| 43 | + 'valid-jsdoc': ['off'], |
| 44 | + 'functional/no-expression-statement': ['off'], |
| 45 | + 'functional/no-conditional-statement': ['off'], |
| 46 | + 'functional/no-throw-statement': ['off'], |
| 47 | + 'functional/no-mixed-type': ['off'], |
| 48 | + 'promise/always-return': ['off'], |
| 49 | + 'functional/functional-parameters': ['off'], |
| 50 | + 'functional/no-return-void': ['off'], |
| 51 | + '@typescript-eslint/no-triple-slash-reference': ['off'], |
66 | 52 | },
|
67 | 53 | settings: {
|
68 |
| - "import/resolver": { |
| 54 | + 'import/resolver': { |
69 | 55 | alias: {
|
70 | 56 | map: [
|
71 |
| - ["^algoliasearch", "./packages/algoliasearch/src"], |
72 |
| - [ |
73 |
| - "@algolia/cache-browser-local-storage", |
74 |
| - "./packages/cache-browser-local-storage/src" |
75 |
| - ], |
76 |
| - ["@algolia/cache-common", "./packages/cache-common/src"], |
77 |
| - ["@algolia/cache-in-memory", "./packages/cache-in-memory/src"], |
78 |
| - ["@algolia/client-account", "./packages/client-account/src"], |
79 |
| - ["@algolia/client-analytics", "./packages/client-analytics/src"], |
80 |
| - ["@algolia/client-common", "./packages/client-common/src"], |
81 |
| - ["@algolia/client-search", "./packages/client-search/src"], |
82 |
| - [ |
83 |
| - "@algolia/client-recommendation", |
84 |
| - "./packages/client-recommendation/src" |
85 |
| - ], |
86 |
| - ["@algolia/logger-common", "./packages/logger-common/src"], |
87 |
| - ["@algolia/logger-console", "./packages/logger-console/src"], |
88 |
| - [ |
89 |
| - "@algolia/requester-browser-xhr", |
90 |
| - "./packages/requester-browser-xhr/src" |
91 |
| - ], |
92 |
| - ["@algolia/requester-common", "./packages/requester-common/src"], |
93 |
| - [ |
94 |
| - "@algolia/requester-node-http", |
95 |
| - "./packages/requester-node-http/src" |
96 |
| - ], |
97 |
| - ["@algolia/transporter", "./packages/transporter/src"] |
| 57 | + ['^algoliasearch', './packages/algoliasearch/src'], |
| 58 | + ['@algolia/cache-browser-local-storage', './packages/cache-browser-local-storage/src'], |
| 59 | + ['@algolia/cache-common', './packages/cache-common/src'], |
| 60 | + ['@algolia/cache-in-memory', './packages/cache-in-memory/src'], |
| 61 | + ['@algolia/client-account', './packages/client-account/src'], |
| 62 | + ['@algolia/client-analytics', './packages/client-analytics/src'], |
| 63 | + ['@algolia/client-common', './packages/client-common/src'], |
| 64 | + ['@algolia/client-search', './packages/client-search/src'], |
| 65 | + ['@algolia/client-recommendation', './packages/client-recommendation/src'], |
| 66 | + ['@algolia/logger-common', './packages/logger-common/src'], |
| 67 | + ['@algolia/logger-console', './packages/logger-console/src'], |
| 68 | + ['@algolia/requester-browser-xhr', './packages/requester-browser-xhr/src'], |
| 69 | + ['@algolia/requester-common', './packages/requester-common/src'], |
| 70 | + ['@algolia/requester-node-http', './packages/requester-node-http/src'], |
| 71 | + ['@algolia/transporter', './packages/transporter/src'], |
98 | 72 | ],
|
99 |
| - extensions: [".ts"] |
| 73 | + extensions: ['.ts'], |
100 | 74 | },
|
101 | 75 | node: {
|
102 |
| - extensions: [".ts"] |
103 |
| - } |
104 |
| - } |
| 76 | + extensions: ['.ts'], |
| 77 | + }, |
| 78 | + }, |
105 | 79 | },
|
106 | 80 | overrides: [
|
107 | 81 | ...noExtraneousOverrides,
|
108 | 82 | {
|
109 |
| - files: ["**/__tests__/**"], |
| 83 | + files: ['**/__tests__/**'], |
110 | 84 | rules: {
|
111 |
| - "functional/immutable-data": 0, |
112 |
| - "import/no-extraneous-dependencies": 0, |
113 |
| - "functional/no-let": 0, |
114 |
| - "functional/no-this-expression": 0, |
115 |
| - "functional/no-loop-statement": 0, |
116 |
| - "functional/no-try-statement": 0, |
117 |
| - "@typescript-eslint/explicit-function-return-type": 0, |
118 |
| - "functional/prefer-readonly-type": 0, |
119 |
| - "sonarjs/no-duplicate-string": 0, |
120 |
| - "jest/expect-expect": 0 |
121 |
| - } |
| 85 | + 'functional/immutable-data': 0, |
| 86 | + 'import/no-extraneous-dependencies': 0, |
| 87 | + 'functional/no-let': 0, |
| 88 | + 'functional/no-this-expression': 0, |
| 89 | + 'functional/no-loop-statement': 0, |
| 90 | + 'functional/no-try-statement': 0, |
| 91 | + '@typescript-eslint/explicit-function-return-type': 0, |
| 92 | + 'functional/prefer-readonly-type': 0, |
| 93 | + 'sonarjs/no-duplicate-string': 0, |
| 94 | + 'jest/expect-expect': 0, |
| 95 | + }, |
122 | 96 | },
|
123 | 97 | {
|
124 |
| - files: ["**/src/types/*Response.ts"], |
| 98 | + files: ['**/src/types/*Response.ts'], |
125 | 99 | rules: {
|
126 |
| - "functional/prefer-readonly-type": 0 |
127 |
| - } |
128 |
| - } |
| 100 | + 'functional/prefer-readonly-type': 0, |
| 101 | + }, |
| 102 | + }, |
129 | 103 | ],
|
130 | 104 | globals: {
|
131 |
| - testing: "readonly", |
132 |
| - browser: "readonly" |
133 |
| - } |
| 105 | + testing: 'readonly', |
| 106 | + browser: 'readonly', |
| 107 | + }, |
134 | 108 | };
|
0 commit comments