eslint-config-galex
Version:
personal ESLint ruleset of galex
65 lines (64 loc) • 1.7 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.detectPlugins = exports.detectParserOptions = exports.detectEnv = exports.testingLibFamily = void 0;
const array_1 = require("./array");
const plugins = [
'import',
'unicorn',
'promise',
'sonarjs',
'simple-import-sort',
];
/**
* @see https://www.npmjs.com/org/testing-library
*/
exports.testingLibFamily = [
'angular',
'cypress',
'dom',
// jasmine-dom
// jest-dom
// jest-native
'nightwatch',
'preact',
'preact-hooks',
'react',
'react-hooks',
'react-native',
'svelte',
'testcafe',
// user-event
'vue',
];
const detectEnv = (dependencies, customEnv) => {
const browser = dependencies.react.hasReact;
const node = dependencies.typescript.hasTypeScript
? dependencies.hasNest || dependencies.hasNodeTypes
: true;
return {
browser,
node,
es6: true,
...customEnv,
};
};
exports.detectEnv = detectEnv;
const detectParserOptions = (customParserOptions) => {
const ecmaVersion = customParserOptions?.ecmaVersion ?? 'latest';
const sourceType = customParserOptions?.sourceType ?? 'module';
const ecmaFeatures = customParserOptions?.ecmaFeatures ?? {};
return {
ecmaVersion,
sourceType,
ecmaFeatures,
};
};
exports.detectParserOptions = detectParserOptions;
const detectPlugins = (dependencies, customPlugins) => {
return (0, array_1.uniqueArrayEntries)([
...plugins,
...(dependencies.hasTailwind ? ['tailwindcss'] : []),
...(customPlugins ?? []),
]);
};
exports.detectPlugins = detectPlugins;
;