Skip to content

Commit

Permalink
feat: add name for each config item
Browse files Browse the repository at this point in the history
  • Loading branch information
antfu committed Sep 29, 2023
1 parent f779387 commit d4cfef8
Show file tree
Hide file tree
Showing 22 changed files with 135 additions and 35 deletions.
1 change: 1 addition & 0 deletions package.json
Expand Up @@ -64,6 +64,7 @@
"devDependencies": {
"@antfu/eslint-config": "workspace:*",
"@antfu/ni": "^0.21.8",
"@types/eslint": "^8.44.3",
"@types/fs-extra": "^11.0.2",
"@types/node": "^20.7.1",
"bumpp": "^9.2.0",
Expand Down
11 changes: 10 additions & 1 deletion pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion src/configs/comments.ts
@@ -1,9 +1,10 @@
import type { FlatESLintConfigItem } from 'eslint-define-config'
import type { FlatESLintConfigItem } from '../types'
import { pluginComments } from '../plugins'

export function comments(): FlatESLintConfigItem[] {
return [
{
name: 'antfu:eslint-comments',
plugins: {
'eslint-comments': pluginComments,
},
Expand Down
7 changes: 5 additions & 2 deletions src/configs/ignores.ts
@@ -1,8 +1,11 @@
import type { FlatESLintConfigItem } from 'eslint-define-config'
import type { FlatESLintConfigItem } from '../types'
import { GLOB_EXCLUDE } from '../globs'

export function ignores(): FlatESLintConfigItem[] {
return [
{ ignores: GLOB_EXCLUDE },
{
ignores: GLOB_EXCLUDE,
name: 'antfu:ignores:basic',
},
]
}
4 changes: 2 additions & 2 deletions src/configs/imports.ts
@@ -1,6 +1,5 @@
import type { FlatESLintConfigItem } from 'eslint-define-config'
import type { FlatESLintConfigItem, OptionsStylistic } from '../types'
import { pluginAntfu, pluginImport } from '../plugins'
import type { OptionsStylistic } from '../types'

export function imports(options: OptionsStylistic = {}): FlatESLintConfigItem[] {
const {
Expand All @@ -9,6 +8,7 @@ export function imports(options: OptionsStylistic = {}): FlatESLintConfigItem[]

return [
{
name: 'antfu:imports',
plugins: {
antfu: pluginAntfu,
import: pluginImport,
Expand Down
5 changes: 3 additions & 2 deletions src/configs/javascript.ts
@@ -1,8 +1,7 @@
import type { FlatESLintConfigItem } from 'eslint-define-config'
import globals from 'globals'
import type { FlatESLintConfigItem, OptionsIsInEditor, OptionsOverrides } from '../types'
import { pluginAntfu, pluginUnusedImports } from '../plugins'
import { OFF } from '../flags'
import type { OptionsIsInEditor, OptionsOverrides } from '../types'
import { GLOB_SRC, GLOB_SRC_EXT } from '../globs'

export function javascript(options: OptionsIsInEditor & OptionsOverrides = {}): FlatESLintConfigItem[] {
Expand Down Expand Up @@ -32,6 +31,7 @@ export function javascript(options: OptionsIsInEditor & OptionsOverrides = {}):
},
sourceType: 'module',
},
name: 'antfu:javascript',
plugins: {
'antfu': pluginAntfu,
'unused-imports': pluginUnusedImports,
Expand Down Expand Up @@ -231,6 +231,7 @@ export function javascript(options: OptionsIsInEditor & OptionsOverrides = {}):
},
{
files: [`scripts/${GLOB_SRC}`, `cli.${GLOB_SRC_EXT}`],
name: 'antfu:scripts-overrides',
rules: {
'no-console': OFF,
},
Expand Down
4 changes: 2 additions & 2 deletions src/configs/jsdoc.ts
@@ -1,6 +1,5 @@
import type { FlatESLintConfigItem } from 'eslint-define-config'
import type { FlatESLintConfigItem, OptionsStylistic } from '../types'
import { pluginJsdoc } from '../plugins'
import type { OptionsStylistic } from '../types'

export function jsdoc(options: OptionsStylistic = {}): FlatESLintConfigItem[] {
const {
Expand All @@ -9,6 +8,7 @@ export function jsdoc(options: OptionsStylistic = {}): FlatESLintConfigItem[] {

return [
{
name: 'antfu:jsdoc',
plugins: {
jsdoc: pluginJsdoc,
},
Expand Down
6 changes: 3 additions & 3 deletions src/configs/jsonc.ts
@@ -1,7 +1,6 @@
import type { FlatESLintConfigItem } from 'eslint-define-config'
import type { FlatESLintConfigItem, OptionsOverrides, OptionsStylistic } from '../types'
import { GLOB_JSON, GLOB_JSON5, GLOB_JSONC } from '../globs'
import { parserJsonc, pluginJsonc } from '../plugins'
import type { OptionsOverrides, OptionsStylistic } from '../types'

export function jsonc(options: OptionsStylistic & OptionsOverrides = {}): FlatESLintConfigItem[] {
const {
Expand All @@ -11,6 +10,7 @@ export function jsonc(options: OptionsStylistic & OptionsOverrides = {}): FlatES

return [
{
name: 'antfu:jsonc:setup',
plugins: {
jsonc: pluginJsonc as any,
},
Expand All @@ -20,8 +20,8 @@ export function jsonc(options: OptionsStylistic & OptionsOverrides = {}): FlatES
languageOptions: {
parser: parserJsonc,
},
name: 'antfu:jsonc:rules',
rules: {

'jsonc/no-bigint-literals': 'error',
'jsonc/no-binary-expression': 'error',
'jsonc/no-binary-numeric-literals': 'error',
Expand Down
6 changes: 4 additions & 2 deletions src/configs/markdown.ts
@@ -1,8 +1,7 @@
import type { FlatESLintConfigItem } from 'eslint-define-config'
import type { FlatESLintConfigItem, OptionsComponentExts, OptionsOverrides } from '../types'
import { GLOB_MARKDOWN, GLOB_MARKDOWN_CODE } from '../globs'
import { pluginMarkdown } from '../plugins'
import { OFF } from '../flags'
import type { OptionsComponentExts, OptionsOverrides } from '../types'

export function markdown(options: OptionsComponentExts & OptionsOverrides = {}): FlatESLintConfigItem[] {
const {
Expand All @@ -12,12 +11,14 @@ export function markdown(options: OptionsComponentExts & OptionsOverrides = {}):

return [
{
name: 'antfu:markdown:setup',
plugins: {
markdown: pluginMarkdown,
},
},
{
files: [GLOB_MARKDOWN],
name: 'antfu:markdown:processor',
processor: 'markdown/markdown',
},
{
Expand All @@ -32,6 +33,7 @@ export function markdown(options: OptionsComponentExts & OptionsOverrides = {}):
},
},
},
name: 'antfu:markdown:rules',
rules: {
'antfu/no-cjs-exports': OFF,
'antfu/no-ts-export-equal': OFF,
Expand Down
3 changes: 2 additions & 1 deletion src/configs/node.ts
@@ -1,9 +1,10 @@
import type { FlatESLintConfigItem } from 'eslint-define-config'
import type { FlatESLintConfigItem } from '../types'
import { pluginNode } from '../plugins'

export function node(): FlatESLintConfigItem[] {
return [
{
name: 'antfu:node',
plugins: {
node: pluginNode,
},
Expand Down
4 changes: 3 additions & 1 deletion src/configs/sort.ts
@@ -1,4 +1,4 @@
import type { FlatESLintConfigItem } from 'eslint-define-config'
import type { FlatESLintConfigItem } from '../types'

/**
* Sort package.json
Expand All @@ -9,6 +9,7 @@ export function sortPackageJson(): FlatESLintConfigItem[] {
return [
{
files: ['**/package.json'],
name: 'antfu:sort-package-json',
rules: {
'jsonc/sort-array-values': [
'error',
Expand Down Expand Up @@ -103,6 +104,7 @@ export function sortTsconfig(): FlatESLintConfigItem[] {
return [
{
files: ['**/tsconfig.json', '**/tsconfig.*.json'],
name: 'antfu:sort-tsconfig',
rules: {
'jsonc/sort-keys': [
'error',
Expand Down
3 changes: 2 additions & 1 deletion src/configs/stylistic.ts
@@ -1,9 +1,10 @@
import type { FlatESLintConfigItem } from 'eslint-define-config'
import type { FlatESLintConfigItem } from '../types'
import { pluginAntfu, pluginStylistic } from '../plugins'

export function stylistic(): FlatESLintConfigItem[] {
return [
{
name: 'antfu:stylistic',
plugins: {
antfu: pluginAntfu,
style: pluginStylistic,
Expand Down
5 changes: 3 additions & 2 deletions src/configs/test.ts
@@ -1,8 +1,7 @@
import type { FlatESLintConfigItem } from 'eslint-define-config'
import type { FlatESLintConfigItem, OptionsIsInEditor, OptionsOverrides } from '../types'
import { pluginNoOnlyTests, pluginVitest } from '../plugins'
import { GLOB_TESTS } from '../globs'
import { OFF } from '../flags'
import type { OptionsIsInEditor, OptionsOverrides } from '../types'

export function test(options: OptionsIsInEditor & OptionsOverrides = {}): FlatESLintConfigItem[] {
const {
Expand All @@ -12,6 +11,7 @@ export function test(options: OptionsIsInEditor & OptionsOverrides = {}): FlatES

return [
{
name: 'antfu:test:setup',
plugins: {
test: {
...pluginVitest,
Expand All @@ -25,6 +25,7 @@ export function test(options: OptionsIsInEditor & OptionsOverrides = {}): FlatES
},
{
files: GLOB_TESTS,
name: 'antfu:test:rules',
rules: {
'test/consistent-test-it': ['error', { fn: 'it', withinDescribe: 'it' }],
'test/no-identical-title': 'error',
Expand Down
8 changes: 6 additions & 2 deletions src/configs/typescript.ts
@@ -1,9 +1,8 @@
import process from 'node:process'
import type { FlatESLintConfigItem } from 'eslint-define-config'
import type { FlatESLintConfigItem, OptionsComponentExts, OptionsOverrides, OptionsTypeScriptParserOptions, OptionsTypeScriptWithTypes } from '../types'
import { GLOB_SRC } from '../globs'
import { parserTs, pluginAntfu, pluginImport, pluginTs } from '../plugins'
import { OFF } from '../flags'
import type { OptionsComponentExts, OptionsOverrides, OptionsTypeScriptParserOptions, OptionsTypeScriptWithTypes } from '../types'
import { renameRules } from '../utils'

export function typescript(
Expand Down Expand Up @@ -41,6 +40,7 @@ export function typescript(
return [
{
// Install the plugins without globs, so they can be configured separately.
name: 'antfu:typescript:setup',
plugins: {
antfu: pluginAntfu,
import: pluginImport,
Expand All @@ -65,6 +65,7 @@ export function typescript(
...parserOptions as any,
},
},
name: 'antfu:typescript:rules',
rules: {
...renameRules(
pluginTs.configs['eslint-recommended'].overrides![0].rules!,
Expand Down Expand Up @@ -118,6 +119,7 @@ export function typescript(
},
{
files: ['**/*.d.ts'],
name: 'antfu:typescript:dts-overrides',
rules: {
'eslint-comments/no-unlimited-disable': OFF,
'import/no-duplicates': OFF,
Expand All @@ -126,12 +128,14 @@ export function typescript(
},
{
files: ['**/*.{test,spec}.ts?(x)'],
name: 'antfu:typescript:tests-overrides',
rules: {
'no-unused-expressions': OFF,
},
},
{
files: ['**/*.js', '**/*.cjs'],
name: 'antfu:typescript:javascript-overrides',
rules: {
'ts/no-require-imports': OFF,
'ts/no-var-requires': OFF,
Expand Down
3 changes: 2 additions & 1 deletion src/configs/unicorn.ts
@@ -1,9 +1,10 @@
import type { FlatESLintConfigItem } from 'eslint-define-config'
import type { FlatESLintConfigItem } from '../types'
import { pluginUnicorn } from '../plugins'

export function unicorn(): FlatESLintConfigItem[] {
return [
{
name: 'antfu:unicorn',
plugins: {
unicorn: pluginUnicorn,
},
Expand Down
5 changes: 3 additions & 2 deletions src/configs/vue.ts
@@ -1,8 +1,7 @@
import type { FlatESLintConfigItem } from 'eslint-define-config'
import type { FlatESLintConfigItem, OptionsHasTypeScript, OptionsOverrides, OptionsStylistic } from '../types'
import { GLOB_VUE } from '../globs'
import { parserTs, parserVue, pluginVue } from '../plugins'
import { OFF } from '../flags'
import type { OptionsHasTypeScript, OptionsOverrides, OptionsStylistic } from '../types'

export function vue(
options: OptionsHasTypeScript & OptionsOverrides & OptionsStylistic = {},
Expand All @@ -14,6 +13,7 @@ export function vue(

return [
{
name: 'antfu:vue:setup',
plugins: {
vue: pluginVue,
},
Expand All @@ -31,6 +31,7 @@ export function vue(
sourceType: 'module',
},
},
name: 'antfu:vue:rules',
processor: pluginVue.processors['.vue'],
rules: {
...pluginVue.configs.base.rules as any,
Expand Down
5 changes: 3 additions & 2 deletions src/configs/yaml.ts
@@ -1,8 +1,7 @@
import type { FlatESLintConfigItem } from 'eslint-define-config'
import type { FlatESLintConfigItem, OptionsOverrides, OptionsStylistic } from '../types'
import { GLOB_YAML } from '../globs'
import { parserYaml, pluginYaml } from '../plugins'
import { OFF } from '../flags'
import type { OptionsOverrides, OptionsStylistic } from '../types'

export function yaml(
options: OptionsOverrides & OptionsStylistic = {},
Expand All @@ -14,6 +13,7 @@ export function yaml(

return [
{
name: 'antfu:yaml:setup',
plugins: {
yaml: pluginYaml as any,
},
Expand All @@ -23,6 +23,7 @@ export function yaml(
languageOptions: {
parser: parserYaml,
},
name: 'antfu:yaml:rules',
rules: {
'style/spaced-comment': OFF,

Expand Down

0 comments on commit d4cfef8

Please sign in to comment.