UNPKG

eslint-config-alloy

Version:
41 lines (36 loc) 1.36 kB
/* eslint-disable @typescript-eslint/no-require-imports */ /** * 批量删除 eslint-config-prettier 中的规则 */ import fs from 'fs'; import path from 'path'; import rimraf from 'rimraf'; const prettier = require('eslint-config-prettier'); const prettierReact = require('eslint-config-prettier/react'); const prettierVue = require('eslint-config-prettier/vue'); const prettierTypeScript = require('eslint-config-prettier/@typescript-eslint'); const prettierRules = { index: prettier.rules, react: prettierReact.rules, vue: prettierVue.rules, typescript: prettierTypeScript.rules, }; const RULE_PREFIX_MAP = { index: '', react: 'react/', vue: 'vue/', typescript: '@typescript-eslint/', }; type RulePrefix = keyof typeof RULE_PREFIX_MAP; const namespaces: RulePrefix[] = ['index', 'react', 'vue', 'typescript']; namespaces.forEach((namespace) => { fs.readdirSync(path.resolve(__dirname, '../test', namespace)) .filter((ruleName) => fs.lstatSync(path.resolve(__dirname, '../test', namespace, ruleName)).isDirectory()) .forEach((ruleName) => { if (typeof prettierRules[namespace][`${RULE_PREFIX_MAP[namespace]}${ruleName}`] !== 'undefined') { const rulePath = path.resolve(__dirname, '../test', namespace, ruleName); rimraf.sync(rulePath); console.log(`已删除 ${rulePath}`); } }); });