From d701469a551b2321cab6d75bf18eb71d96dd6f2a Mon Sep 17 00:00:00 2001
From: Anthony Fu <anthonyfu117@hotmail.com>
Date: Tue, 14 Sep 2021 10:18:34 +0800
Subject: [PATCH] fix: improve rules for specific files

---
 package.json                |  2 +-
 packages/all/package.json   | 30 +++++++++++++-----
 packages/basic/index.js     | 23 +++++++++++++-
 packages/basic/package.json | 14 ++++-----
 pnpm-lock.yaml              | 62 +++++++++++++++++++++++--------------
 5 files changed, 90 insertions(+), 41 deletions(-)

diff --git a/package.json b/package.json
index 5f3dc49..6708c44 100644
--- a/package.json
+++ b/package.json
@@ -13,6 +13,6 @@
     "@antfu/eslint-config": "*",
     "eslint": "^7.32.0",
     "lerna": "^4.0.0",
-    "typescript": "^4.4.2"
+    "typescript": "^4.4.3"
   }
 }
diff --git a/packages/all/package.json b/packages/all/package.json
index 62c96ca..b892917 100644
--- a/packages/all/package.json
+++ b/packages/all/package.json
@@ -5,21 +5,35 @@
   "keywords": [],
   "license": "MIT",
   "author": "Anthony Fu <anthonyfu117@hotmail.com> (https://github.com/antfu/)",
+  "main": "index.js",
   "files": [
     "index.js"
   ],
-  "main": "index.js",
+  "dependencies": {
+    "@antfu/eslint-config-react": "^0.8.2",
+    "@antfu/eslint-config-vue": "^0.8.2",
+    "@typescript-eslint/eslint-plugin": "^4.31.0",
+    "@typescript-eslint/parser": "^4.31.0",
+    "eslint-config-standard": "^16.0.3",
+    "eslint-plugin-eslint-comments": "^3.2.0",
+    "eslint-plugin-html": "^6.1.2",
+    "eslint-plugin-import": "^2.24.2",
+    "eslint-plugin-jsonc": "^1.6.0",
+    "eslint-plugin-node": "^11.1.0",
+    "eslint-plugin-promise": "^5.1.0",
+    "eslint-plugin-unicorn": "^35.0.0",
+    "eslint-plugin-vue": "7.17.0",
+    "eslint-plugin-yml": "^0.10.0",
+    "jsonc-eslint-parser": "^1.3.1",
+    "yaml-eslint-parser": "^0.4.1"
+  },
+  "devDependencies": {
+    "eslint": "^7.32.0"
+  },
   "peerDependencies": {
     "eslint": ">=7.4.0"
   },
   "publishConfig": {
     "access": "public"
-  },
-  "dependencies": {
-    "@antfu/eslint-config-react": "^0.8.2",
-    "@antfu/eslint-config-vue": "^0.8.2"
-  },
-  "devDependencies": {
-    "eslint": "^7.32.0"
   }
 }
diff --git a/packages/basic/index.js b/packages/basic/index.js
index 6fc79e7..337e647 100644
--- a/packages/basic/index.js
+++ b/packages/basic/index.js
@@ -11,7 +11,10 @@ module.exports = {
     'plugin:jsonc/recommended-with-jsonc',
     'plugin:yml/standard',
   ],
-  plugins: ['html', 'unicorn'],
+  plugins: [
+    'html',
+    'unicorn',
+  ],
   settings: {
     'import/resolver': {
       node: { extensions: ['.js', '.mjs', '.ts', '.d.ts'] },
@@ -68,6 +71,24 @@ module.exports = {
         ],
       },
     },
+    {
+      files: ['*.d.ts'],
+      rules: {
+        'import/no-duplicates': 'off',
+      },
+    },
+    {
+      files: ['*.js'],
+      rules: {
+        '@typescript-eslint/no-var-requires': 'off',
+      },
+    },
+    {
+      files: ['scripts/**/*.*'],
+      rules: {
+        'no-console': 'off',
+      },
+    },
   ],
   rules: {
     // import
diff --git a/packages/basic/package.json b/packages/basic/package.json
index 2bd7cc3..3309355 100644
--- a/packages/basic/package.json
+++ b/packages/basic/package.json
@@ -5,19 +5,13 @@
   "keywords": [],
   "license": "MIT",
   "author": "Anthony Fu <anthonyfu117@hotmail.com> (https://github.com/antfu/)",
+  "main": "index.js",
   "files": [
     "index.js"
   ],
-  "main": "index.js",
   "scripts": {
     "lint": "eslint . --config=index.js"
   },
-  "publishConfig": {
-    "access": "public"
-  },
-  "peerDependencies": {
-    "eslint": ">=7.4.0"
-  },
   "dependencies": {
     "eslint-config-standard": "^16.0.3",
     "eslint-plugin-eslint-comments": "^3.2.0",
@@ -33,5 +27,11 @@
   },
   "devDependencies": {
     "eslint": "^7.32.0"
+  },
+  "peerDependencies": {
+    "eslint": ">=7.4.0"
+  },
+  "publishConfig": {
+    "access": "public"
   }
 }
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index bf37c14..4ab5235 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -7,21 +7,29 @@ importers:
       '@antfu/eslint-config': '*'
       eslint: ^7.32.0
       lerna: ^4.0.0
-      typescript: ^4.4.2
+      typescript: ^4.4.3
     devDependencies:
       '@antfu/eslint-config': link:packages/all
       eslint: 7.32.0
       lerna: 4.0.0
-      typescript: 4.4.2
+      typescript: 4.4.3
 
   packages/all:
     specifiers:
-      '@antfu/eslint-config-react': ^0.7.0
-      '@antfu/eslint-config-vue': ^0.7.0
+      '@antfu/eslint-config-react': ^0.8.2
+      '@antfu/eslint-config-vue': ^0.8.2
+      '@typescript-eslint/eslint-plugin': ^4.31.0
+      '@typescript-eslint/parser': ^4.31.0
       eslint: ^7.32.0
+      eslint-plugin-vue: 7.17.0
+      jsonc-eslint-parser: ^1.3.1
     dependencies:
       '@antfu/eslint-config-react': link:../react
       '@antfu/eslint-config-vue': link:../vue
+      '@typescript-eslint/eslint-plugin': 4.31.0_d9c1bc16c4e2aea4e8e177a5961dd3bf
+      '@typescript-eslint/parser': 4.31.0_eslint@7.32.0+typescript@4.4.3
+      eslint-plugin-vue: 7.17.0_eslint@7.32.0
+      jsonc-eslint-parser: 1.3.1
     devDependencies:
       eslint: 7.32.0
 
@@ -56,7 +64,7 @@ importers:
 
   packages/react:
     specifiers:
-      '@antfu/eslint-config-ts': ^0.7.0
+      '@antfu/eslint-config-ts': ^0.8.2
       eslint: ^7.32.0
       eslint-plugin-react: ^7.25.1
       react: ^17.0.2
@@ -71,20 +79,20 @@ importers:
 
   packages/typescript:
     specifiers:
-      '@antfu/eslint-config-basic': ^0.7.0
+      '@antfu/eslint-config-basic': ^0.8.1
       '@typescript-eslint/eslint-plugin': ^4.31.0
       '@typescript-eslint/parser': ^4.31.0
       eslint: ^7.32.0
     dependencies:
       '@antfu/eslint-config-basic': link:../basic
-      '@typescript-eslint/eslint-plugin': 4.31.0_a690ff3776b01e92cf0b93501bb5ae6a
-      '@typescript-eslint/parser': 4.31.0_eslint@7.32.0+typescript@4.4.2
+      '@typescript-eslint/eslint-plugin': 4.31.0_d9c1bc16c4e2aea4e8e177a5961dd3bf
+      '@typescript-eslint/parser': 4.31.0_eslint@7.32.0+typescript@4.4.3
     devDependencies:
       eslint: 7.32.0
 
   packages/vue:
     specifiers:
-      '@antfu/eslint-config-ts': ^0.7.0
+      '@antfu/eslint-config-ts': ^0.8.2
       eslint: ^7.32.0
       eslint-plugin-vue: 7.17.0
     dependencies:
@@ -1225,7 +1233,7 @@ packages:
     resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==}
     dev: true
 
-  /@typescript-eslint/eslint-plugin/4.31.0_a690ff3776b01e92cf0b93501bb5ae6a:
+  /@typescript-eslint/eslint-plugin/4.31.0_d9c1bc16c4e2aea4e8e177a5961dd3bf:
     resolution: {integrity: sha512-iPKZTZNavAlOhfF4gymiSuUkgLne/nh5Oz2/mdiUmuZVD42m9PapnCnzjxuDsnpnbH3wT5s2D8bw6S39TC6GNw==}
     engines: {node: ^10.12.0 || >=12.0.0}
     peerDependencies:
@@ -1236,21 +1244,21 @@ packages:
       typescript:
         optional: true
     dependencies:
-      '@typescript-eslint/experimental-utils': 4.31.0_eslint@7.32.0+typescript@4.4.2
-      '@typescript-eslint/parser': 4.31.0_eslint@7.32.0+typescript@4.4.2
+      '@typescript-eslint/experimental-utils': 4.31.0_eslint@7.32.0+typescript@4.4.3
+      '@typescript-eslint/parser': 4.31.0_eslint@7.32.0+typescript@4.4.3
       '@typescript-eslint/scope-manager': 4.31.0
       debug: 4.3.1
       eslint: 7.32.0
       functional-red-black-tree: 1.0.1
       regexpp: 3.1.0
       semver: 7.3.5
-      tsutils: 3.21.0_typescript@4.4.2
-      typescript: 4.4.2
+      tsutils: 3.21.0_typescript@4.4.3
+      typescript: 4.4.3
     transitivePeerDependencies:
       - supports-color
     dev: false
 
-  /@typescript-eslint/experimental-utils/4.31.0_eslint@7.32.0+typescript@4.4.2:
+  /@typescript-eslint/experimental-utils/4.31.0_eslint@7.32.0+typescript@4.4.3:
     resolution: {integrity: sha512-Hld+EQiKLMppgKKkdUsLeVIeEOrwKc2G983NmznY/r5/ZtZCDvIOXnXtwqJIgYz/ymsy7n7RGvMyrzf1WaSQrw==}
     engines: {node: ^10.12.0 || >=12.0.0}
     peerDependencies:
@@ -1259,7 +1267,7 @@ packages:
       '@types/json-schema': 7.0.7
       '@typescript-eslint/scope-manager': 4.31.0
       '@typescript-eslint/types': 4.31.0
-      '@typescript-eslint/typescript-estree': 4.31.0_typescript@4.4.2
+      '@typescript-eslint/typescript-estree': 4.31.0_typescript@4.4.3
       eslint: 7.32.0
       eslint-scope: 5.1.1
       eslint-utils: 3.0.0_eslint@7.32.0
@@ -1268,7 +1276,7 @@ packages:
       - typescript
     dev: false
 
-  /@typescript-eslint/parser/4.31.0_eslint@7.32.0+typescript@4.4.2:
+  /@typescript-eslint/parser/4.31.0_eslint@7.32.0+typescript@4.4.3:
     resolution: {integrity: sha512-oWbzvPh5amMuTmKaf1wp0ySxPt2ZXHnFQBN2Szu1O//7LmOvgaKTCIDNLK2NvzpmVd5A2M/1j/rujBqO37hj3w==}
     engines: {node: ^10.12.0 || >=12.0.0}
     peerDependencies:
@@ -1280,10 +1288,10 @@ packages:
     dependencies:
       '@typescript-eslint/scope-manager': 4.31.0
       '@typescript-eslint/types': 4.31.0
-      '@typescript-eslint/typescript-estree': 4.31.0_typescript@4.4.2
+      '@typescript-eslint/typescript-estree': 4.31.0_typescript@4.4.3
       debug: 4.3.1
       eslint: 7.32.0
-      typescript: 4.4.2
+      typescript: 4.4.3
     transitivePeerDependencies:
       - supports-color
     dev: false
@@ -1301,7 +1309,7 @@ packages:
     engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1}
     dev: false
 
-  /@typescript-eslint/typescript-estree/4.31.0_typescript@4.4.2:
+  /@typescript-eslint/typescript-estree/4.31.0_typescript@4.4.3:
     resolution: {integrity: sha512-QHl2014t3ptg+xpmOSSPn5hm4mY8D4s97ftzyk9BZ8RxYQ3j73XcwuijnJ9cMa6DO4aLXeo8XS3z1omT9LA/Eg==}
     engines: {node: ^10.12.0 || >=12.0.0}
     peerDependencies:
@@ -1316,8 +1324,8 @@ packages:
       globby: 11.0.4
       is-glob: 4.0.1
       semver: 7.3.5
-      tsutils: 3.21.0_typescript@4.4.2
-      typescript: 4.4.2
+      tsutils: 3.21.0_typescript@4.4.3
+      typescript: 4.4.3
     transitivePeerDependencies:
       - supports-color
     dev: false
@@ -5417,14 +5425,14 @@ packages:
   /tslib/1.13.0:
     resolution: {integrity: sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==}
 
-  /tsutils/3.21.0_typescript@4.4.2:
+  /tsutils/3.21.0_typescript@4.4.3:
     resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
     engines: {node: '>= 6'}
     peerDependencies:
       typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta'
     dependencies:
       tslib: 1.13.0
-      typescript: 4.4.2
+      typescript: 4.4.3
     dev: false
 
   /tunnel-agent/0.6.0:
@@ -5488,6 +5496,12 @@ packages:
     hasBin: true
     dev: true
 
+  /typescript/4.4.3:
+    resolution: {integrity: sha512-4xfscpisVgqqDfPaJo5vkd+Qd/ItkoagnHpufr+i2QCHBsNYp+G7UAoyFl8aPtx879u38wPV65rZ8qbGZijalA==}
+    engines: {node: '>=4.2.0'}
+    hasBin: true
+    dev: true
+
   /uglify-js/3.10.0:
     resolution: {integrity: sha512-Esj5HG5WAyrLIdYU74Z3JdG2PxdIusvj6IWHMtlyESxc7kcDz7zYlYjpnSokn1UbpV0d/QX9fan7gkCNd/9BQA==}
     engines: {node: '>=0.8.0'}