Skip to content

Commit 896a67b

Browse files
committed
feat: migrate to ESM and integrate eslint-typegen
close #2757
1 parent ca97301 commit 896a67b

File tree

3 files changed

+22
-14
lines changed

3 files changed

+22
-14
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,4 @@ yarn-error.log
1313
/docs/.vitepress/.temp
1414
/docs/.vitepress/cache
1515
typings/eslint/lib/rules
16+
eslint-typegen.d.ts

eslint.config.js renamed to eslint.config.mjs

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,19 @@
1-
'use strict'
1+
import globals from 'globals'
2+
import eslintPluginEslintPlugin from 'eslint-plugin-eslint-plugin/configs/all'
3+
import eslintPluginJsonc from 'eslint-plugin-jsonc'
4+
import eslintPluginNodeDependencies from 'eslint-plugin-node-dependencies'
5+
import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended'
6+
import eslintPluginUnicorn from 'eslint-plugin-unicorn'
7+
import vueEslintParser from 'vue-eslint-parser'
8+
import noInvalidMeta from './eslint-internal-rules/no-invalid-meta.js'
9+
import noInvalidMetaDocsCategories from './eslint-internal-rules/no-invalid-meta-docs-categories.js'
10+
import requireEslintCommunity from './eslint-internal-rules/require-eslint-community.js'
211

3-
const globals = require('globals')
4-
const eslintPluginEslintPlugin = require('eslint-plugin-eslint-plugin/configs/all')
5-
const eslintPluginJsonc = require('eslint-plugin-jsonc')
6-
const eslintPluginNodeDependencies = require('eslint-plugin-node-dependencies')
7-
const eslintPluginPrettierRecommended = require('eslint-plugin-prettier/recommended')
8-
const eslintPluginUnicorn = require('eslint-plugin-unicorn')
12+
// @ts-check
13+
/// <reference path="./eslint-typegen.d.ts" />
14+
import typegen from 'eslint-typegen'
915

10-
module.exports = [
16+
export default typegen([
1117
{
1218
ignores: [
1319
'.nyc_output',
@@ -34,9 +40,9 @@ module.exports = [
3440
plugins: {
3541
internal: {
3642
rules: {
37-
'no-invalid-meta': require('./eslint-internal-rules/no-invalid-meta'),
38-
'no-invalid-meta-docs-categories': require('./eslint-internal-rules/no-invalid-meta-docs-categories'),
39-
'require-eslint-community': require('./eslint-internal-rules/require-eslint-community')
43+
'no-invalid-meta': noInvalidMeta,
44+
'no-invalid-meta-docs-categories': noInvalidMetaDocsCategories,
45+
'require-eslint-community': requireEslintCommunity
4046
}
4147
}
4248
}
@@ -214,7 +220,7 @@ module.exports = [
214220
languageOptions: {
215221
ecmaVersion: 'latest',
216222
sourceType: 'module',
217-
parser: require('vue-eslint-parser')
223+
parser: vueEslintParser
218224
}
219225
},
220226
{
@@ -233,7 +239,7 @@ module.exports = [
233239
rules: {
234240
'eslint-plugin/require-meta-docs-url': 'off',
235241
'internal/no-invalid-meta': 'error',
236-
'internal/no-invalid-meta-docs-categories': 'error'
242+
'internal/no-invalid-meta-docs-categories': 'error',
237243
}
238244
},
239245
{
@@ -242,4 +248,4 @@ module.exports = [
242248
'prettier/prettier': 'off'
243249
}
244250
}
245-
]
251+
])

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@
9292
"eslint-plugin-prettier": "^5.2.1",
9393
"eslint-plugin-unicorn": "^56.0.0",
9494
"eslint-plugin-vue": "file:.",
95+
"eslint-typegen": "^2.2.0",
9596
"eslint-visitor-keys": "^4.2.0",
9697
"espree": "^9.6.1",
9798
"events": "^3.3.0",

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy