|
| 1 | +const { hasConfig } = require('@spotify/web-scripts-utils'); |
| 2 | + |
| 3 | +const hasReact = hasConfig([ |
| 4 | + { type: 'dependency', dependency: 'react' }, |
| 5 | + { type: 'dependency', dependency: 'react', dependencyType: 'peer' }, |
| 6 | +]); |
| 7 | +const hasTypescript = hasConfig([ |
| 8 | + { type: 'dependency', dependency: 'typescript' }, |
| 9 | + { type: 'dependency', dependency: 'typescript', dependencyType: 'dev' }, |
| 10 | + { type: 'file', pattern: 'tsconfig.json' }, |
| 11 | +]); |
| 12 | + |
1 | 13 | module.exports = {
|
2 | 14 | extends: [
|
3 | 15 | '@spotify/eslint-config-base',
|
4 |
| - '@spotify/eslint-config-react', |
5 |
| - '@spotify/eslint-config-typescript', |
| 16 | + hasReact ? '@spotify/eslint-config-react' : null, |
| 17 | + hasTypescript ? '@spotify/eslint-config-typescript' : null, |
6 | 18 | 'prettier',
|
7 |
| - 'prettier/react', |
8 |
| - 'prettier/@typescript-eslint', |
9 |
| - ], |
| 19 | + hasReact ? 'prettier/react' : null, |
| 20 | + hasTypescript ? 'prettier/@typescript-eslint' : null, |
| 21 | + ].filter(s => !!s), |
10 | 22 | parser: '@typescript-eslint/parser',
|
11 | 23 | env: {
|
12 | 24 | jest: true,
|
|
0 commit comments