mirror of
https://github.com/n8n-io/n8n.git
synced 2024-09-25 01:07:34 -07:00
42 lines
912 B
JavaScript
42 lines
912 B
JavaScript
|
/**
|
||
|
* @type {(dir: string, mode: 'frontend' | undefined) => import('@types/eslint').ESLint.ConfigData}
|
||
|
*/
|
||
|
exports.sharedOptions = (tsconfigRootDir, mode) => {
|
||
|
const isFrontend = mode === 'frontend';
|
||
|
const parser = isFrontend ? 'vue-eslint-parser' : '@typescript-eslint/parser';
|
||
|
const extraParserOptions = isFrontend
|
||
|
? {
|
||
|
extraFileExtensions: ['.vue'],
|
||
|
parser: {
|
||
|
ts: '@typescript-eslint/parser',
|
||
|
js: '@typescript-eslint/parser',
|
||
|
vue: 'vue-eslint-parser',
|
||
|
template: 'vue-eslint-parser',
|
||
|
},
|
||
|
}
|
||
|
: {};
|
||
|
|
||
|
const settings = {
|
||
|
'import/parsers': {
|
||
|
'@typescript-eslint/parser': isFrontend ? ['.ts', '.vue'] : ['.ts'],
|
||
|
},
|
||
|
|
||
|
'import/resolver': {
|
||
|
typescript: {
|
||
|
tsconfigRootDir,
|
||
|
project: './tsconfig.json',
|
||
|
},
|
||
|
},
|
||
|
};
|
||
|
|
||
|
return {
|
||
|
parser,
|
||
|
parserOptions: {
|
||
|
tsconfigRootDir,
|
||
|
project: ['./tsconfig.json'],
|
||
|
...extraParserOptions,
|
||
|
},
|
||
|
settings,
|
||
|
};
|
||
|
};
|