Compare commits
	
		
			46 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 2f1c785eef | ||
|  | 4eb7aee28e | ||
|  | 769bee0139 | ||
|  | 07a15be095 | ||
|  | 0af15d4bf4 | ||
|  | d23abea648 | ||
|  | eaff018580 | ||
|  | 327ab9dd35 | ||
|  | ea70c5c6aa | ||
|  | 2e9948029c | ||
|  | a6692cc074 | ||
|  | ded3cf2da2 | ||
|  | f1644757c8 | ||
|  | a695d58bd0 | ||
|  | 5f05cfcfd6 | ||
|  | 25668d5d1c | ||
|  | 0cc68e6219 | ||
|  | a93e26642d | ||
|  | 9653a33381 | ||
|  | 95a2c10b3a | ||
|  | d4538f42b1 | ||
|  | 782ab7abb1 | ||
|  | a5ec18a973 | ||
|  | 0a1f8c5612 | ||
|  | 73a790c1d0 | ||
|  | 0349a41506 | ||
|  | a3c897a9ec | ||
|  | 774757b0e5 | ||
|  | 83db65f464 | ||
|  | 2e962a2785 | ||
|  | 625e845c80 | ||
|  | 38c927024b | ||
|  | 18e673f773 | ||
|  | 98708f1996 | ||
|  | 8b0a239f8f | ||
|  | a60cd80ba9 | ||
|  | 48cc619ec2 | ||
|  | 97975dafc5 | ||
|  | b425b251ea | ||
|  | 9346e47d92 | ||
|  | b6133dcd42 | ||
|  | b7cff5d6a2 | ||
|  | e54ac17e09 | ||
|  | 8f51445a67 | ||
|  | 4a0c791207 | ||
|  | 8e1140aef2 | 
							
								
								
									
										108
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										108
									
								
								CHANGELOG.md
									
									
									
									
									
								
							| @@ -3,6 +3,114 @@ | |||||||
| All notable changes to this project will be documented in this file. | All notable changes to this project will be documented in this file. | ||||||
| See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. | See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. | ||||||
|  |  | ||||||
|  | ## [0.19.1](https://github.com/antfu/eslint-config/compare/v0.19.0...v0.19.1) (2022-03-30) | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### Bug Fixes | ||||||
|  |  | ||||||
|  | * missing file, close [#76](https://github.com/antfu/eslint-config/issues/76) ([0cc68e6](https://github.com/antfu/eslint-config/commit/0cc68e6219601b09ac8e258b869f23308e073af5)) | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | # [0.19.0](https://github.com/antfu/eslint-config/compare/v0.18.9...v0.19.0) (2022-03-29) | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### Bug Fixes | ||||||
|  |  | ||||||
|  | * inline `eslint-config-standard` ([9653a33](https://github.com/antfu/eslint-config/commit/9653a333819cb4f180cede002c965b8a2e2acb82)) | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### Features | ||||||
|  |  | ||||||
|  | * vue sfc tags order ([d4538f4](https://github.com/antfu/eslint-config/commit/d4538f42b14d0f7c824795945ffa556d585ceb06)) | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## [0.18.9](https://github.com/antfu/eslint-config/compare/v0.18.8...v0.18.9) (2022-03-20) | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### Bug Fixes | ||||||
|  |  | ||||||
|  | * **vue:** disable `vue/no-setup-props-destructure` ([0a1f8c5](https://github.com/antfu/eslint-config/commit/0a1f8c56124ac1735e7b26879ac3e6ab9289ca74)) | ||||||
|  | * disable `yml/no-empty-document` ([73a790c](https://github.com/antfu/eslint-config/commit/73a790c1d08f9ce9837cbad03d3f8b68a6b9a5f8)) | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## [0.18.8](https://github.com/antfu/eslint-config/compare/v0.18.7...v0.18.8) (2022-03-10) | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### Bug Fixes | ||||||
|  |  | ||||||
|  | * disable `spaced-comment` in yaml ([a3c897a](https://github.com/antfu/eslint-config/commit/a3c897a9ece0b15508564aa3dc1837eaaa161680)) | ||||||
|  | * disable no-var-requires in markdown ([774757b](https://github.com/antfu/eslint-config/commit/774757b0e5142f44678b1bd6f0db04aff0a5ee1f)) | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## [0.18.7](https://github.com/antfu/eslint-config/compare/v0.18.6...v0.18.7) (2022-03-10) | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### Features | ||||||
|  |  | ||||||
|  | * improve `no-unused-vars` rule ([2e962a2](https://github.com/antfu/eslint-config/commit/2e962a278571113853435221e8c3d43bd9fa1421)) | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## [0.18.6](https://github.com/antfu/eslint-config/compare/v0.18.5...v0.18.6) (2022-03-10) | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### Bug Fixes | ||||||
|  |  | ||||||
|  | * ignore lock files ([98708f1](https://github.com/antfu/eslint-config/commit/98708f19962c2544ed5fb3385c9cd0054b44c981)) | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## [0.18.5](https://github.com/antfu/eslint-config/compare/v0.18.4...v0.18.5) (2022-03-10) | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### Bug Fixes | ||||||
|  |  | ||||||
|  | * package.json keys order ([97975da](https://github.com/antfu/eslint-config/commit/97975dafc50c919b7a5a46fe94314e4f367bde22)) | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## [0.18.4](https://github.com/antfu/eslint-config/compare/v0.18.3...v0.18.4) (2022-03-10) | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### Bug Fixes | ||||||
|  |  | ||||||
|  | * imporve markdown rules ([e54ac17](https://github.com/antfu/eslint-config/commit/e54ac17e09090fd6ff18e65ecaf312b2a0556aa6)) | ||||||
|  | * lint vitepress by default ([8f51445](https://github.com/antfu/eslint-config/commit/8f51445a6781c98163a439b25b4fa1c1a6649110)) | ||||||
|  | * package.json key orders ([b6133dc](https://github.com/antfu/eslint-config/commit/b6133dcd42b1b051e4bd150897c9b307e61eda51)) | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## [0.18.3](https://github.com/antfu/eslint-config/compare/v0.18.2...v0.18.3) (2022-03-07) | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### Bug Fixes | ||||||
|  |  | ||||||
|  | * disable no-callback-literal ([8e1140a](https://github.com/antfu/eslint-config/commit/8e1140aef29d3562eac9f009f45c7160494eec67)) | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| ## [0.18.2](https://github.com/antfu/eslint-config/compare/v0.18.1...v0.18.2) (2022-03-07) | ## [0.18.2](https://github.com/antfu/eslint-config/compare/v0.18.1...v0.18.2) (2022-03-07) | ||||||
|  |  | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								LICENSE
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								LICENSE
									
									
									
									
									
								
							| @@ -1,6 +1,6 @@ | |||||||
| MIT License | MIT License | ||||||
|  |  | ||||||
| Copyright (c) 2019 Anthony Fu<https://github.com/antfu> | Copyright (c) 2019-PRESENT Anthony Fu<https://github.com/antfu> | ||||||
|  |  | ||||||
| Permission is hereby granted, free of charge, to any person obtaining a copy | Permission is hereby granted, free of charge, to any person obtaining a copy | ||||||
| of this software and associated documentation files (the "Software"), to deal | of this software and associated documentation files (the "Software"), to deal | ||||||
|   | |||||||
							
								
								
									
										37
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										37
									
								
								README.md
									
									
									
									
									
								
							| @@ -1,6 +1,13 @@ | |||||||
| # @antfu/eslint-config | # @antfu/eslint-config | ||||||
|  |  | ||||||
| [](https://npmjs.com/package/@antfu/eslint-config) | [](https://npmjs.com/package/@antfu/eslint-config) | ||||||
|  |  | ||||||
|  | - Single quotes, no semi | ||||||
|  | - Auto fix for formatting (aimed to be used standalone without Prettier) | ||||||
|  | - TypeScript, Vue, React out-of-box | ||||||
|  | - Lint also for json, yaml, markdown | ||||||
|  | - Sorted imports, dangling commas for cleaner commit diff | ||||||
|  | - Reasonable defaults, best practices, only one-line of config | ||||||
|  |  | ||||||
| ## Usage | ## Usage | ||||||
|  |  | ||||||
| @@ -14,18 +21,11 @@ pnpm add -D eslint @antfu/eslint-config | |||||||
|  |  | ||||||
| ```json | ```json | ||||||
| { | { | ||||||
|   "extends": [ |   "extends": "@antfu" | ||||||
|     "@antfu" |  | ||||||
|   ] |  | ||||||
| } | } | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
| ### Config `.eslintignore` | > You don't need `.eslintignore` normally as it has been provided by the preset. | ||||||
|  |  | ||||||
| ```txt |  | ||||||
| dist |  | ||||||
| public |  | ||||||
| ``` |  | ||||||
|  |  | ||||||
| ### Add script for package.json | ### Add script for package.json | ||||||
|  |  | ||||||
| @@ -34,12 +34,13 @@ For example: | |||||||
| ```json | ```json | ||||||
| { | { | ||||||
|   "scripts": { |   "scripts": { | ||||||
|     "lint": "eslint \"**/*.{vue,ts,js}\"" |     "lint": "eslint .", | ||||||
|  |     "lint:fix": "eslint . --fix" | ||||||
|   } |   } | ||||||
| } | } | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
| ### Config VSCode auto fix | ### Config VS Code auto fix | ||||||
|  |  | ||||||
| Create `.vscode/settings.json` | Create `.vscode/settings.json` | ||||||
|  |  | ||||||
| @@ -51,3 +52,15 @@ Create `.vscode/settings.json` | |||||||
|   } |   } | ||||||
| } | } | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
|  | ## Check Also | ||||||
|  |  | ||||||
|  | - [antfu/dotfiles](https://github.com/antfu/dotfiles) - My dotfiles | ||||||
|  | - [antfu/vscode-settings](https://github.com/antfu/vscode-settings) - My VS Code settings | ||||||
|  | - [antfu/eslint-config](https://github.com/antfu/eslint-config) - My ESLint config | ||||||
|  | - [antfu/ts-starter](https://github.com/antfu/ts-starter) - My starter template for TypeScript library | ||||||
|  | - [antfu/vitesse](https://github.com/antfu/vitesse) - My starter template for Vue & Vite app | ||||||
|  |  | ||||||
|  | ## License | ||||||
|  |  | ||||||
|  | MIT | ||||||
|   | |||||||
| @@ -1,6 +0,0 @@ | |||||||
| { |  | ||||||
|   "packages": [ |  | ||||||
|     "packages/*" |  | ||||||
|   ], |  | ||||||
|   "version": "0.18.2" |  | ||||||
| } |  | ||||||
							
								
								
									
										17
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								package.json
									
									
									
									
									
								
							| @@ -1,18 +1,19 @@ | |||||||
| { | { | ||||||
|   "name": "@antfu/eslint-config-monorepo", |   "name": "@antfu/eslint-config-monorepo", | ||||||
|   "version": "0.1.0", |   "version": "0.20.2", | ||||||
|  |   "private": true, | ||||||
|   "license": "MIT", |   "license": "MIT", | ||||||
|   "author": "Anthony Fu <anthonyfu117@hotmail.com> (https://github.com/antfu/)", |   "author": "Anthony Fu <anthonyfu117@hotmail.com> (https://github.com/antfu/)", | ||||||
|   "private": true, |  | ||||||
|   "scripts": { |   "scripts": { | ||||||
|     "preinstall": "npx only-allow pnpm", |     "lint": "eslint .", | ||||||
|     "lint": "npx eslint --ext .js,.json,.vue,.md .", |     "prepare": "pnpm -r run stub", | ||||||
|     "release": "lerna publish --conventional-commits" |     "release": "bumpp package.json packages/*/package.json --commit --push --tag && pnpm -r publish --access public" | ||||||
|   }, |   }, | ||||||
|   "devDependencies": { |   "devDependencies": { | ||||||
|     "@antfu/eslint-config": "*", |     "@antfu/eslint-config": "*", | ||||||
|     "eslint": "^8.10.0", |     "bumpp": "^7.1.1", | ||||||
|     "lerna": "^4.0.0", |     "eslint": "^8.12.0", | ||||||
|     "typescript": "^4.6.2" |     "eslint-plugin-antfu": "workspace:*", | ||||||
|  |     "typescript": "^4.6.3" | ||||||
|   } |   } | ||||||
| } | } | ||||||
|   | |||||||
| @@ -3,6 +3,81 @@ | |||||||
| All notable changes to this project will be documented in this file. | All notable changes to this project will be documented in this file. | ||||||
| See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. | See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. | ||||||
|  |  | ||||||
|  | ## [0.19.1](https://github.com/antfu/eslint-config/compare/v0.19.0...v0.19.1) (2022-03-30) | ||||||
|  |  | ||||||
|  | **Note:** Version bump only for package @antfu/eslint-config | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | # [0.19.0](https://github.com/antfu/eslint-config/compare/v0.18.9...v0.19.0) (2022-03-29) | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### Bug Fixes | ||||||
|  |  | ||||||
|  | * inline `eslint-config-standard` ([9653a33](https://github.com/antfu/eslint-config/commit/9653a333819cb4f180cede002c965b8a2e2acb82)) | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## [0.18.9](https://github.com/antfu/eslint-config/compare/v0.18.8...v0.18.9) (2022-03-20) | ||||||
|  |  | ||||||
|  | **Note:** Version bump only for package @antfu/eslint-config | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## [0.18.8](https://github.com/antfu/eslint-config/compare/v0.18.7...v0.18.8) (2022-03-10) | ||||||
|  |  | ||||||
|  | **Note:** Version bump only for package @antfu/eslint-config | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## [0.18.7](https://github.com/antfu/eslint-config/compare/v0.18.6...v0.18.7) (2022-03-10) | ||||||
|  |  | ||||||
|  | **Note:** Version bump only for package @antfu/eslint-config | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## [0.18.6](https://github.com/antfu/eslint-config/compare/v0.18.5...v0.18.6) (2022-03-10) | ||||||
|  |  | ||||||
|  | **Note:** Version bump only for package @antfu/eslint-config | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## [0.18.5](https://github.com/antfu/eslint-config/compare/v0.18.4...v0.18.5) (2022-03-10) | ||||||
|  |  | ||||||
|  | **Note:** Version bump only for package @antfu/eslint-config | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## [0.18.4](https://github.com/antfu/eslint-config/compare/v0.18.3...v0.18.4) (2022-03-10) | ||||||
|  |  | ||||||
|  | **Note:** Version bump only for package @antfu/eslint-config | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## [0.18.3](https://github.com/antfu/eslint-config/compare/v0.18.2...v0.18.3) (2022-03-07) | ||||||
|  |  | ||||||
|  | **Note:** Version bump only for package @antfu/eslint-config | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| ## [0.18.2](https://github.com/antfu/eslint-config/compare/v0.18.1...v0.18.2) (2022-03-07) | ## [0.18.2](https://github.com/antfu/eslint-config/compare/v0.18.1...v0.18.2) (2022-03-07) | ||||||
|  |  | ||||||
| **Note:** Version bump only for package @antfu/eslint-config | **Note:** Version bump only for package @antfu/eslint-config | ||||||
|   | |||||||
| @@ -1,37 +1,36 @@ | |||||||
| { | { | ||||||
|   "name": "@antfu/eslint-config", |   "name": "@antfu/eslint-config", | ||||||
|   "version": "0.18.2", |   "version": "0.20.2", | ||||||
|   "description": "", |   "description": "", | ||||||
|   "keywords": [], |   "keywords": [], | ||||||
|   "license": "MIT", |   "license": "MIT", | ||||||
|   "author": "Anthony Fu <anthonyfu117@hotmail.com> (https://github.com/antfu/)", |   "author": "Anthony Fu <anthonyfu117@hotmail.com> (https://github.com/antfu/)", | ||||||
|  |   "main": "index.js", | ||||||
|   "files": [ |   "files": [ | ||||||
|     "index.js" |     "index.js" | ||||||
|   ], |   ], | ||||||
|   "main": "index.js", |  | ||||||
|   "peerDependencies": { |   "peerDependencies": { | ||||||
|     "eslint": ">=7.4.0" |     "eslint": ">=7.4.0" | ||||||
|   }, |   }, | ||||||
|   "dependencies": { |   "dependencies": { | ||||||
|     "@antfu/eslint-config-react": "^0.18.2", |     "@antfu/eslint-config-react": "workspace:*", | ||||||
|     "@antfu/eslint-config-vue": "^0.18.2", |     "@antfu/eslint-config-vue": "workspace:*", | ||||||
|     "@typescript-eslint/eslint-plugin": "^5.13.0", |     "@typescript-eslint/eslint-plugin": "^5.17.0", | ||||||
|     "@typescript-eslint/parser": "^5.13.0", |     "@typescript-eslint/parser": "^5.17.0", | ||||||
|     "eslint-config-standard": "17.0.0-1", |  | ||||||
|     "eslint-plugin-eslint-comments": "^3.2.0", |     "eslint-plugin-eslint-comments": "^3.2.0", | ||||||
|     "eslint-plugin-html": "^6.2.0", |     "eslint-plugin-html": "^6.2.0", | ||||||
|     "eslint-plugin-import": "^2.25.4", |     "eslint-plugin-import": "^2.25.4", | ||||||
|     "eslint-plugin-jsonc": "^2.2.1", |     "eslint-plugin-jsonc": "^2.2.1", | ||||||
|     "eslint-plugin-n": "^15.0.1", |     "eslint-plugin-n": "^15.1.0", | ||||||
|     "eslint-plugin-promise": "^6.0.0", |     "eslint-plugin-promise": "^6.0.0", | ||||||
|     "eslint-plugin-unicorn": "^41.0.0", |     "eslint-plugin-unicorn": "^41.0.1", | ||||||
|     "eslint-plugin-vue": "^8.5.0", |     "eslint-plugin-vue": "^8.5.0", | ||||||
|     "eslint-plugin-yml": "^0.14.0", |     "eslint-plugin-yml": "^0.14.0", | ||||||
|     "jsonc-eslint-parser": "^2.1.0", |     "jsonc-eslint-parser": "^2.1.0", | ||||||
|     "yaml-eslint-parser": "^0.5.0" |     "yaml-eslint-parser": "^0.5.0" | ||||||
|   }, |   }, | ||||||
|   "devDependencies": { |   "devDependencies": { | ||||||
|     "eslint": "^8.10.0" |     "eslint": "^8.12.0" | ||||||
|   }, |   }, | ||||||
|   "publishConfig": { |   "publishConfig": { | ||||||
|     "access": "public" |     "access": "public" | ||||||
|   | |||||||
| @@ -3,6 +3,108 @@ | |||||||
| All notable changes to this project will be documented in this file. | All notable changes to this project will be documented in this file. | ||||||
| See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. | See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. | ||||||
|  |  | ||||||
|  | ## [0.19.1](https://github.com/antfu/eslint-config/compare/v0.19.0...v0.19.1) (2022-03-30) | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### Bug Fixes | ||||||
|  |  | ||||||
|  | * missing file, close [#76](https://github.com/antfu/eslint-config/issues/76) ([0cc68e6](https://github.com/antfu/eslint-config/commit/0cc68e6219601b09ac8e258b869f23308e073af5)) | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | # [0.19.0](https://github.com/antfu/eslint-config/compare/v0.18.9...v0.19.0) (2022-03-29) | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### Bug Fixes | ||||||
|  |  | ||||||
|  | * inline `eslint-config-standard` ([9653a33](https://github.com/antfu/eslint-config/commit/9653a333819cb4f180cede002c965b8a2e2acb82)) | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## [0.18.9](https://github.com/antfu/eslint-config/compare/v0.18.8...v0.18.9) (2022-03-20) | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### Bug Fixes | ||||||
|  |  | ||||||
|  | * disable `yml/no-empty-document` ([73a790c](https://github.com/antfu/eslint-config/commit/73a790c1d08f9ce9837cbad03d3f8b68a6b9a5f8)) | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## [0.18.8](https://github.com/antfu/eslint-config/compare/v0.18.7...v0.18.8) (2022-03-10) | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### Bug Fixes | ||||||
|  |  | ||||||
|  | * disable `spaced-comment` in yaml ([a3c897a](https://github.com/antfu/eslint-config/commit/a3c897a9ece0b15508564aa3dc1837eaaa161680)) | ||||||
|  | * disable no-var-requires in markdown ([774757b](https://github.com/antfu/eslint-config/commit/774757b0e5142f44678b1bd6f0db04aff0a5ee1f)) | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## [0.18.7](https://github.com/antfu/eslint-config/compare/v0.18.6...v0.18.7) (2022-03-10) | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### Features | ||||||
|  |  | ||||||
|  | * improve `no-unused-vars` rule ([2e962a2](https://github.com/antfu/eslint-config/commit/2e962a278571113853435221e8c3d43bd9fa1421)) | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## [0.18.6](https://github.com/antfu/eslint-config/compare/v0.18.5...v0.18.6) (2022-03-10) | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### Bug Fixes | ||||||
|  |  | ||||||
|  | * ignore lock files ([98708f1](https://github.com/antfu/eslint-config/commit/98708f19962c2544ed5fb3385c9cd0054b44c981)) | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## [0.18.5](https://github.com/antfu/eslint-config/compare/v0.18.4...v0.18.5) (2022-03-10) | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### Bug Fixes | ||||||
|  |  | ||||||
|  | * package.json keys order ([97975da](https://github.com/antfu/eslint-config/commit/97975dafc50c919b7a5a46fe94314e4f367bde22)) | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## [0.18.4](https://github.com/antfu/eslint-config/compare/v0.18.3...v0.18.4) (2022-03-10) | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### Bug Fixes | ||||||
|  |  | ||||||
|  | * imporve markdown rules ([e54ac17](https://github.com/antfu/eslint-config/commit/e54ac17e09090fd6ff18e65ecaf312b2a0556aa6)) | ||||||
|  | * lint vitepress by default ([8f51445](https://github.com/antfu/eslint-config/commit/8f51445a6781c98163a439b25b4fa1c1a6649110)) | ||||||
|  | * package.json key orders ([b6133dc](https://github.com/antfu/eslint-config/commit/b6133dcd42b1b051e4bd150897c9b307e61eda51)) | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## [0.18.3](https://github.com/antfu/eslint-config/compare/v0.18.2...v0.18.3) (2022-03-07) | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### Bug Fixes | ||||||
|  |  | ||||||
|  | * disable no-callback-literal ([8e1140a](https://github.com/antfu/eslint-config/commit/8e1140aef29d3562eac9f009f45c7160494eec67)) | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| ## [0.18.2](https://github.com/antfu/eslint-config/compare/v0.18.1...v0.18.2) (2022-03-07) | ## [0.18.2](https://github.com/antfu/eslint-config/compare/v0.18.1...v0.18.2) (2022-03-07) | ||||||
|  |  | ||||||
|  |  | ||||||
|   | |||||||
| @@ -5,7 +5,7 @@ module.exports = { | |||||||
|     node: true, |     node: true, | ||||||
|   }, |   }, | ||||||
|   extends: [ |   extends: [ | ||||||
|     'standard', |     './standard', | ||||||
|     'plugin:import/recommended', |     'plugin:import/recommended', | ||||||
|     'plugin:eslint-comments/recommended', |     'plugin:eslint-comments/recommended', | ||||||
|     'plugin:jsonc/recommended-with-jsonc', |     'plugin:jsonc/recommended-with-jsonc', | ||||||
| @@ -13,21 +13,30 @@ module.exports = { | |||||||
|     'plugin:markdown/recommended', |     'plugin:markdown/recommended', | ||||||
|   ], |   ], | ||||||
|   ignorePatterns: [ |   ignorePatterns: [ | ||||||
|     '.cache', |  | ||||||
|     '*.min.*', |     '*.min.*', | ||||||
|     'CHANGELOG.md', |     'CHANGELOG.md', | ||||||
|     'dist', |     'dist', | ||||||
|     'LICENSE.*', |     'LICENSE*', | ||||||
|  |     'output', | ||||||
|  |     'coverage', | ||||||
|     'public', |     'public', | ||||||
|     'temp', |     'temp', | ||||||
|  |     'packages-lock.json', | ||||||
|  |     'pnpm-lock.yaml', | ||||||
|  |     'yarn.lock', | ||||||
|  |     '__snapshots__', | ||||||
|  |     '!.github', | ||||||
|  |     '!.vitepress', | ||||||
|  |     '!.vscode', | ||||||
|   ], |   ], | ||||||
|   plugins: [ |   plugins: [ | ||||||
|     'html', |     'html', | ||||||
|     'unicorn', |     'unicorn', | ||||||
|  |     'antfu', | ||||||
|   ], |   ], | ||||||
|   settings: { |   settings: { | ||||||
|     'import/resolver': { |     'import/resolver': { | ||||||
|       node: { extensions: ['.js', '.mjs', '.ts', '.d.ts'] }, |       node: { extensions: ['.js', '.mjs'] }, | ||||||
|     }, |     }, | ||||||
|   }, |   }, | ||||||
|   overrides: [ |   overrides: [ | ||||||
| @@ -43,6 +52,9 @@ module.exports = { | |||||||
|     { |     { | ||||||
|       files: ['*.yaml', '*.yml'], |       files: ['*.yaml', '*.yml'], | ||||||
|       parser: 'yaml-eslint-parser', |       parser: 'yaml-eslint-parser', | ||||||
|  |       rules: { | ||||||
|  |         'spaced-comment': 'off', | ||||||
|  |       }, | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       files: ['package.json'], |       files: ['package.json'], | ||||||
| @@ -54,27 +66,33 @@ module.exports = { | |||||||
|             pathPattern: '^$', |             pathPattern: '^$', | ||||||
|             order: [ |             order: [ | ||||||
|               'name', |               'name', | ||||||
|  |               'type', | ||||||
|               'version', |               'version', | ||||||
|  |               'private', | ||||||
|  |               'packageManager', | ||||||
|               'description', |               'description', | ||||||
|               'keywords', |               'keywords', | ||||||
|               'license', |               'license', | ||||||
|  |               'author', | ||||||
|               'repository', |               'repository', | ||||||
|               'funding', |               'funding', | ||||||
|               'author', |  | ||||||
|               'type', |  | ||||||
|               'files', |  | ||||||
|               'exports', |  | ||||||
|               'main', |               'main', | ||||||
|               'module', |               'module', | ||||||
|  |               'types', | ||||||
|               'unpkg', |               'unpkg', | ||||||
|  |               'jsdelivr', | ||||||
|  |               'exports', | ||||||
|  |               'files', | ||||||
|               'bin', |               'bin', | ||||||
|  |               'sideEffects', | ||||||
|               'scripts', |               'scripts', | ||||||
|               'husky', |  | ||||||
|               'lint-staged', |  | ||||||
|               'peerDependencies', |               'peerDependencies', | ||||||
|               'peerDependenciesMeta', |               'peerDependenciesMeta', | ||||||
|               'dependencies', |               'dependencies', | ||||||
|  |               'optionalDependencies', | ||||||
|               'devDependencies', |               'devDependencies', | ||||||
|  |               'husky', | ||||||
|  |               'lint-staged', | ||||||
|               'eslintConfig', |               'eslintConfig', | ||||||
|             ], |             ], | ||||||
|           }, |           }, | ||||||
| @@ -113,13 +131,17 @@ module.exports = { | |||||||
|       // Code blocks in markdown file |       // Code blocks in markdown file | ||||||
|       files: ['**/*.md/*.*'], |       files: ['**/*.md/*.*'], | ||||||
|       rules: { |       rules: { | ||||||
|         'no-unused-vars': 'off', |         '@typescript-eslint/no-redeclare': 'off', | ||||||
|         'no-undef': 'off', |  | ||||||
|         'no-console': 'off', |  | ||||||
|         'no-unused-expressions': 'off', |  | ||||||
|         'import/no-unresolved': 'off', |  | ||||||
|         '@typescript-eslint/no-unused-vars': 'off', |         '@typescript-eslint/no-unused-vars': 'off', | ||||||
|         '@typescript-eslint/no-use-before-define': 'off', |         '@typescript-eslint/no-use-before-define': 'off', | ||||||
|  |         '@typescript-eslint/no-var-requires': 'off', | ||||||
|  |         'import/no-unresolved': 'off', | ||||||
|  |         'no-alert': 'off', | ||||||
|  |         'no-console': 'off', | ||||||
|  |         'no-restricted-imports': 'off', | ||||||
|  |         'no-undef': 'off', | ||||||
|  |         'no-unused-expressions': 'off', | ||||||
|  |         'no-unused-vars': 'off', | ||||||
|       }, |       }, | ||||||
|     }, |     }, | ||||||
|   ], |   ], | ||||||
| @@ -251,6 +273,7 @@ module.exports = { | |||||||
|     'no-use-before-define': ['error', { functions: false, classes: false, variables: true }], |     'no-use-before-define': ['error', { functions: false, classes: false, variables: true }], | ||||||
|     'eslint-comments/disable-enable-pair': 'off', |     'eslint-comments/disable-enable-pair': 'off', | ||||||
|     'import/no-named-as-default-member': 'off', |     'import/no-named-as-default-member': 'off', | ||||||
|  |     'n/no-callback-literal': 'off', | ||||||
|  |  | ||||||
|     'sort-imports': [ |     'sort-imports': [ | ||||||
|       'error', |       'error', | ||||||
| @@ -262,5 +285,14 @@ module.exports = { | |||||||
|         allowSeparatedGroups: false, |         allowSeparatedGroups: false, | ||||||
|       }, |       }, | ||||||
|     ], |     ], | ||||||
|  |  | ||||||
|  |     // yml | ||||||
|  |     'yml/quotes': ['error', { prefer: 'single', avoidEscape: false }], | ||||||
|  |     'yml/no-empty-document': 'off', | ||||||
|  |  | ||||||
|  |     // antfu | ||||||
|  |     'antfu/no-leading-newline': 'error', | ||||||
|  |     'antfu/if-newline': 'error', | ||||||
|  |     // 'antfu/prefer-inline-type-import': 'error', | ||||||
|   }, |   }, | ||||||
| } | } | ||||||
|   | |||||||
| @@ -1,14 +1,14 @@ | |||||||
| { | { | ||||||
|   "name": "@antfu/eslint-config-basic", |   "name": "@antfu/eslint-config-basic", | ||||||
|   "version": "0.18.2", |   "version": "0.20.2", | ||||||
|   "description": "", |   "description": "", | ||||||
|   "keywords": [], |   "keywords": [], | ||||||
|   "license": "MIT", |   "license": "MIT", | ||||||
|   "author": "Anthony Fu <anthonyfu117@hotmail.com> (https://github.com/antfu/)", |   "author": "Anthony Fu <anthonyfu117@hotmail.com> (https://github.com/antfu/)", | ||||||
|   "files": [ |  | ||||||
|     "index.js" |  | ||||||
|   ], |  | ||||||
|   "main": "index.js", |   "main": "index.js", | ||||||
|  |   "files": [ | ||||||
|  |     "*.js" | ||||||
|  |   ], | ||||||
|   "scripts": { |   "scripts": { | ||||||
|     "lint": "eslint . --config=index.js" |     "lint": "eslint . --config=index.js" | ||||||
|   }, |   }, | ||||||
| @@ -16,21 +16,21 @@ | |||||||
|     "eslint": ">=7.4.0" |     "eslint": ">=7.4.0" | ||||||
|   }, |   }, | ||||||
|   "dependencies": { |   "dependencies": { | ||||||
|     "eslint-config-standard": "17.0.0-1", |     "eslint-plugin-antfu": "workspace:*", | ||||||
|     "eslint-plugin-eslint-comments": "^3.2.0", |     "eslint-plugin-eslint-comments": "^3.2.0", | ||||||
|     "eslint-plugin-html": "^6.2.0", |     "eslint-plugin-html": "^6.2.0", | ||||||
|     "eslint-plugin-import": "^2.25.4", |     "eslint-plugin-import": "^2.25.4", | ||||||
|     "eslint-plugin-jsonc": "^2.2.1", |     "eslint-plugin-jsonc": "^2.2.1", | ||||||
|     "eslint-plugin-markdown": "^2.2.1", |     "eslint-plugin-markdown": "^2.2.1", | ||||||
|     "eslint-plugin-n": "^15.0.1", |     "eslint-plugin-n": "^15.1.0", | ||||||
|     "eslint-plugin-promise": "^6.0.0", |     "eslint-plugin-promise": "^6.0.0", | ||||||
|     "eslint-plugin-unicorn": "^41.0.0", |     "eslint-plugin-unicorn": "^41.0.1", | ||||||
|     "eslint-plugin-yml": "^0.14.0", |     "eslint-plugin-yml": "^0.14.0", | ||||||
|     "jsonc-eslint-parser": "^2.1.0", |     "jsonc-eslint-parser": "^2.1.0", | ||||||
|     "yaml-eslint-parser": "^0.5.0" |     "yaml-eslint-parser": "^0.5.0" | ||||||
|   }, |   }, | ||||||
|   "devDependencies": { |   "devDependencies": { | ||||||
|     "eslint": "^8.10.0" |     "eslint": "^8.12.0" | ||||||
|   }, |   }, | ||||||
|   "publishConfig": { |   "publishConfig": { | ||||||
|     "access": "public" |     "access": "public" | ||||||
|   | |||||||
							
								
								
									
										243
									
								
								packages/basic/standard.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										243
									
								
								packages/basic/standard.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,243 @@ | |||||||
|  | // Inline from https://github.com/standard/eslint-config-standard/blob/master/.eslintrc.json | ||||||
|  | // Until it upgrades | ||||||
|  |  | ||||||
|  | module.exports = { | ||||||
|  |   parserOptions: { | ||||||
|  |     ecmaVersion: 2022, | ||||||
|  |     ecmaFeatures: { | ||||||
|  |       jsx: true, | ||||||
|  |     }, | ||||||
|  |     sourceType: 'module', | ||||||
|  |   }, | ||||||
|  |   env: { | ||||||
|  |     es2021: true, | ||||||
|  |     node: true, | ||||||
|  |   }, | ||||||
|  |   plugins: [ | ||||||
|  |     'import', | ||||||
|  |     'n', | ||||||
|  |     'promise', | ||||||
|  |   ], | ||||||
|  |   globals: { | ||||||
|  |     document: 'readonly', | ||||||
|  |     navigator: 'readonly', | ||||||
|  |     window: 'readonly', | ||||||
|  |   }, | ||||||
|  |   rules: { | ||||||
|  |     'no-var': 'warn', | ||||||
|  |     'object-shorthand': ['warn', 'properties'], | ||||||
|  |  | ||||||
|  |     'accessor-pairs': ['error', { setWithoutGet: true, enforceForClassMembers: true }], | ||||||
|  |     'array-bracket-spacing': ['error', 'never'], | ||||||
|  |     'array-callback-return': ['error', { | ||||||
|  |       allowImplicit: false, | ||||||
|  |       checkForEach: false, | ||||||
|  |     }], | ||||||
|  |     'arrow-spacing': ['error', { before: true, after: true }], | ||||||
|  |     'block-spacing': ['error', 'always'], | ||||||
|  |     'brace-style': ['error', '1tbs', { allowSingleLine: true }], | ||||||
|  |     'camelcase': ['error', { | ||||||
|  |       allow: ['^UNSAFE_'], | ||||||
|  |       properties: 'never', | ||||||
|  |       ignoreGlobals: true, | ||||||
|  |     }], | ||||||
|  |     'comma-dangle': ['error', { | ||||||
|  |       arrays: 'never', | ||||||
|  |       objects: 'never', | ||||||
|  |       imports: 'never', | ||||||
|  |       exports: 'never', | ||||||
|  |       functions: 'never', | ||||||
|  |     }], | ||||||
|  |     'comma-spacing': ['error', { before: false, after: true }], | ||||||
|  |     'comma-style': ['error', 'last'], | ||||||
|  |     'computed-property-spacing': ['error', 'never', { enforceForClassMembers: true }], | ||||||
|  |     'constructor-super': 'error', | ||||||
|  |     'curly': ['error', 'multi-line'], | ||||||
|  |     'default-case-last': 'error', | ||||||
|  |     'dot-location': ['error', 'property'], | ||||||
|  |     'dot-notation': ['error', { allowKeywords: true }], | ||||||
|  |     'eol-last': 'error', | ||||||
|  |     'eqeqeq': ['error', 'always', { null: 'ignore' }], | ||||||
|  |     'func-call-spacing': ['error', 'never'], | ||||||
|  |     'generator-star-spacing': ['error', { before: true, after: true }], | ||||||
|  |     'indent': ['error', 2, { | ||||||
|  |       SwitchCase: 1, | ||||||
|  |       VariableDeclarator: 1, | ||||||
|  |       outerIIFEBody: 1, | ||||||
|  |       MemberExpression: 1, | ||||||
|  |       FunctionDeclaration: { parameters: 1, body: 1 }, | ||||||
|  |       FunctionExpression: { parameters: 1, body: 1 }, | ||||||
|  |       CallExpression: { arguments: 1 }, | ||||||
|  |       ArrayExpression: 1, | ||||||
|  |       ObjectExpression: 1, | ||||||
|  |       ImportDeclaration: 1, | ||||||
|  |       flatTernaryExpressions: false, | ||||||
|  |       ignoreComments: false, | ||||||
|  |       ignoredNodes: ['TemplateLiteral *', 'JSXElement', 'JSXElement > *', 'JSXAttribute', 'JSXIdentifier', 'JSXNamespacedName', 'JSXMemberExpression', 'JSXSpreadAttribute', 'JSXExpressionContainer', 'JSXOpeningElement', 'JSXClosingElement', 'JSXFragment', 'JSXOpeningFragment', 'JSXClosingFragment', 'JSXText', 'JSXEmptyExpression', 'JSXSpreadChild'], | ||||||
|  |       offsetTernaryExpressions: true, | ||||||
|  |     }], | ||||||
|  |     'key-spacing': ['error', { beforeColon: false, afterColon: true }], | ||||||
|  |     'keyword-spacing': ['error', { before: true, after: true }], | ||||||
|  |     'lines-between-class-members': ['error', 'always', { exceptAfterSingleLine: true }], | ||||||
|  |     'multiline-ternary': ['error', 'always-multiline'], | ||||||
|  |     'new-cap': ['error', { newIsCap: true, capIsNew: false, properties: true }], | ||||||
|  |     'new-parens': 'error', | ||||||
|  |     'no-array-constructor': 'error', | ||||||
|  |     'no-async-promise-executor': 'error', | ||||||
|  |     'no-caller': 'error', | ||||||
|  |     'no-case-declarations': 'error', | ||||||
|  |     'no-class-assign': 'error', | ||||||
|  |     'no-compare-neg-zero': 'error', | ||||||
|  |     'no-cond-assign': 'error', | ||||||
|  |     'no-const-assign': 'error', | ||||||
|  |     'no-constant-condition': ['error', { checkLoops: false }], | ||||||
|  |     'no-control-regex': 'error', | ||||||
|  |     'no-debugger': 'error', | ||||||
|  |     'no-delete-var': 'error', | ||||||
|  |     'no-dupe-args': 'error', | ||||||
|  |     'no-dupe-class-members': 'error', | ||||||
|  |     'no-dupe-keys': 'error', | ||||||
|  |     'no-duplicate-case': 'error', | ||||||
|  |     'no-useless-backreference': 'error', | ||||||
|  |     'no-empty': ['error', { allowEmptyCatch: true }], | ||||||
|  |     'no-empty-character-class': 'error', | ||||||
|  |     'no-empty-pattern': 'error', | ||||||
|  |     'no-eval': 'error', | ||||||
|  |     'no-ex-assign': 'error', | ||||||
|  |     'no-extend-native': 'error', | ||||||
|  |     'no-extra-bind': 'error', | ||||||
|  |     'no-extra-boolean-cast': 'error', | ||||||
|  |     'no-extra-parens': ['error', 'functions'], | ||||||
|  |     'no-fallthrough': 'error', | ||||||
|  |     'no-floating-decimal': 'error', | ||||||
|  |     'no-func-assign': 'error', | ||||||
|  |     'no-global-assign': 'error', | ||||||
|  |     'no-implied-eval': 'error', | ||||||
|  |     'no-import-assign': 'error', | ||||||
|  |     'no-invalid-regexp': 'error', | ||||||
|  |     'no-irregular-whitespace': 'error', | ||||||
|  |     'no-iterator': 'error', | ||||||
|  |     'no-labels': ['error', { allowLoop: false, allowSwitch: false }], | ||||||
|  |     'no-lone-blocks': 'error', | ||||||
|  |     'no-loss-of-precision': 'error', | ||||||
|  |     'no-misleading-character-class': 'error', | ||||||
|  |     'no-prototype-builtins': 'error', | ||||||
|  |     'no-useless-catch': 'error', | ||||||
|  |     'no-mixed-operators': ['error', { | ||||||
|  |       groups: [ | ||||||
|  |         ['==', '!=', '===', '!==', '>', '>=', '<', '<='], | ||||||
|  |         ['&&', '||'], | ||||||
|  |         ['in', 'instanceof'], | ||||||
|  |       ], | ||||||
|  |       allowSamePrecedence: true, | ||||||
|  |     }], | ||||||
|  |     'no-mixed-spaces-and-tabs': 'error', | ||||||
|  |     'no-multi-spaces': 'error', | ||||||
|  |     'no-multi-str': 'error', | ||||||
|  |     'no-multiple-empty-lines': ['error', { max: 1, maxEOF: 0 }], | ||||||
|  |     'no-new': 'error', | ||||||
|  |     'no-new-func': 'error', | ||||||
|  |     'no-new-object': 'error', | ||||||
|  |     'no-new-symbol': 'error', | ||||||
|  |     'no-new-wrappers': 'error', | ||||||
|  |     'no-obj-calls': 'error', | ||||||
|  |     'no-octal': 'error', | ||||||
|  |     'no-octal-escape': 'error', | ||||||
|  |     'no-proto': 'error', | ||||||
|  |     'no-redeclare': ['error', { builtinGlobals: false }], | ||||||
|  |     'no-regex-spaces': 'error', | ||||||
|  |     'no-return-assign': ['error', 'except-parens'], | ||||||
|  |     'no-self-assign': ['error', { props: true }], | ||||||
|  |     'no-self-compare': 'error', | ||||||
|  |     'no-sequences': 'error', | ||||||
|  |     'no-shadow-restricted-names': 'error', | ||||||
|  |     'no-sparse-arrays': 'error', | ||||||
|  |     'no-tabs': 'error', | ||||||
|  |     'no-template-curly-in-string': 'error', | ||||||
|  |     'no-this-before-super': 'error', | ||||||
|  |     'no-throw-literal': 'error', | ||||||
|  |     'no-trailing-spaces': 'error', | ||||||
|  |     'no-undef': 'error', | ||||||
|  |     'no-undef-init': 'error', | ||||||
|  |     'no-unexpected-multiline': 'error', | ||||||
|  |     'no-unmodified-loop-condition': 'error', | ||||||
|  |     'no-unneeded-ternary': ['error', { defaultAssignment: false }], | ||||||
|  |     'no-unreachable': 'error', | ||||||
|  |     'no-unreachable-loop': 'error', | ||||||
|  |     'no-unsafe-finally': 'error', | ||||||
|  |     'no-unsafe-negation': 'error', | ||||||
|  |     'no-unused-expressions': ['error', { | ||||||
|  |       allowShortCircuit: true, | ||||||
|  |       allowTernary: true, | ||||||
|  |       allowTaggedTemplates: true, | ||||||
|  |     }], | ||||||
|  |     'no-unused-vars': ['error', { | ||||||
|  |       args: 'none', | ||||||
|  |       caughtErrors: 'none', | ||||||
|  |       ignoreRestSiblings: true, | ||||||
|  |       vars: 'all', | ||||||
|  |     }], | ||||||
|  |     'no-use-before-define': ['error', { functions: false, classes: false, variables: false }], | ||||||
|  |     'no-useless-call': 'error', | ||||||
|  |     'no-useless-computed-key': 'error', | ||||||
|  |     'no-useless-constructor': 'error', | ||||||
|  |     'no-useless-escape': 'error', | ||||||
|  |     'no-useless-rename': 'error', | ||||||
|  |     'no-useless-return': 'error', | ||||||
|  |     'no-void': 'error', | ||||||
|  |     'no-whitespace-before-property': 'error', | ||||||
|  |     'no-with': 'error', | ||||||
|  |     'object-curly-newline': ['error', { multiline: true, consistent: true }], | ||||||
|  |     'object-curly-spacing': ['error', 'always'], | ||||||
|  |     'object-property-newline': ['error', { allowMultiplePropertiesPerLine: true }], | ||||||
|  |     'one-var': ['error', { initialized: 'never' }], | ||||||
|  |     'operator-linebreak': ['error', 'after', { overrides: { '?': 'before', ':': 'before', '|>': 'before' } }], | ||||||
|  |     'padded-blocks': ['error', { blocks: 'never', switches: 'never', classes: 'never' }], | ||||||
|  |     'prefer-const': ['error', { destructuring: 'all' }], | ||||||
|  |     'prefer-promise-reject-errors': 'error', | ||||||
|  |     'prefer-regex-literals': ['error', { disallowRedundantWrapping: true }], | ||||||
|  |     'quote-props': ['error', 'as-needed'], | ||||||
|  |     'quotes': ['error', 'single', { avoidEscape: true, allowTemplateLiterals: false }], | ||||||
|  |     'rest-spread-spacing': ['error', 'never'], | ||||||
|  |     'semi': ['error', 'never'], | ||||||
|  |     'semi-spacing': ['error', { before: false, after: true }], | ||||||
|  |     'space-before-blocks': ['error', 'always'], | ||||||
|  |     'space-before-function-paren': ['error', 'always'], | ||||||
|  |     'space-in-parens': ['error', 'never'], | ||||||
|  |     'space-infix-ops': 'error', | ||||||
|  |     'space-unary-ops': ['error', { words: true, nonwords: false }], | ||||||
|  |     'spaced-comment': ['error', 'always', { | ||||||
|  |       line: { markers: ['*package', '!', '/', ',', '='] }, | ||||||
|  |       block: { balanced: true, markers: ['*package', '!', ',', ':', '::', 'flow-include'], exceptions: ['*'] }, | ||||||
|  |     }], | ||||||
|  |     'symbol-description': 'error', | ||||||
|  |     'template-curly-spacing': ['error', 'never'], | ||||||
|  |     'template-tag-spacing': ['error', 'never'], | ||||||
|  |     'unicode-bom': ['error', 'never'], | ||||||
|  |     'use-isnan': ['error', { | ||||||
|  |       enforceForSwitchCase: true, | ||||||
|  |       enforceForIndexOf: true, | ||||||
|  |     }], | ||||||
|  |     'valid-typeof': ['error', { requireStringLiterals: true }], | ||||||
|  |     'wrap-iife': ['error', 'any', { functionPrototypeMethods: true }], | ||||||
|  |     'yield-star-spacing': ['error', 'both'], | ||||||
|  |     'yoda': ['error', 'never'], | ||||||
|  |  | ||||||
|  |     'import/export': 'error', | ||||||
|  |     'import/first': 'error', | ||||||
|  |     'import/no-absolute-path': ['error', { esmodule: true, commonjs: true, amd: false }], | ||||||
|  |     'import/no-duplicates': 'error', | ||||||
|  |     'import/no-named-default': 'error', | ||||||
|  |     'import/no-webpack-loader-syntax': 'error', | ||||||
|  |  | ||||||
|  |     'n/handle-callback-err': ['error', '^(err|error)$'], | ||||||
|  |     'n/no-callback-literal': 'error', | ||||||
|  |     'n/no-deprecated-api': 'error', | ||||||
|  |     'n/no-exports-assign': 'error', | ||||||
|  |     'n/no-new-require': 'error', | ||||||
|  |     'n/no-path-concat': 'error', | ||||||
|  |     'n/process-exit-as-throw': 'error', | ||||||
|  |  | ||||||
|  |     'promise/param-names': 'error', | ||||||
|  |   }, | ||||||
|  | } | ||||||
							
								
								
									
										9
									
								
								packages/eslint-plugin-antfu/.eslintrc.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								packages/eslint-plugin-antfu/.eslintrc.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,9 @@ | |||||||
|  | { | ||||||
|  |   "extends": "@antfu", | ||||||
|  |   "plugins": [ | ||||||
|  |     "antfu" | ||||||
|  |   ], | ||||||
|  |   "rules": { | ||||||
|  |     "antfu/no-leading-newline": "error" | ||||||
|  |   } | ||||||
|  | } | ||||||
							
								
								
									
										12
									
								
								packages/eslint-plugin-antfu/build.config.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								packages/eslint-plugin-antfu/build.config.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,12 @@ | |||||||
|  | import { defineBuildConfig } from 'unbuild' | ||||||
|  |  | ||||||
|  | export default defineBuildConfig({ | ||||||
|  |   entries: [ | ||||||
|  |     'src/index', | ||||||
|  |   ], | ||||||
|  |   declaration: true, | ||||||
|  |   clean: true, | ||||||
|  |   rollup: { | ||||||
|  |     emitCJS: true, | ||||||
|  |   }, | ||||||
|  | }) | ||||||
							
								
								
									
										31
									
								
								packages/eslint-plugin-antfu/package.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								packages/eslint-plugin-antfu/package.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,31 @@ | |||||||
|  | { | ||||||
|  |   "name": "eslint-plugin-antfu", | ||||||
|  |   "version": "0.20.2", | ||||||
|  |   "license": "MIT", | ||||||
|  |   "main": "./dist/index.cjs", | ||||||
|  |   "module": "./dist/index.mjs", | ||||||
|  |   "types": "./dist/index.d.ts", | ||||||
|  |   "exports": { | ||||||
|  |     ".": { | ||||||
|  |       "require": "./dist/index.cjs", | ||||||
|  |       "import": "./dist/index.mjs", | ||||||
|  |       "types": "./dist/index.d.ts" | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  |   "files": [ | ||||||
|  |     "dist" | ||||||
|  |   ], | ||||||
|  |   "scripts": { | ||||||
|  |     "build": "rimraf dist && unbuild", | ||||||
|  |     "stub": "unbuild --stub", | ||||||
|  |     "test": "vitest", | ||||||
|  |     "prepublishOnly": "nr build" | ||||||
|  |   }, | ||||||
|  |   "dependencies": { | ||||||
|  |     "@typescript-eslint/utils": "^5.17.0" | ||||||
|  |   }, | ||||||
|  |   "devDependencies": { | ||||||
|  |     "unbuild": "^0.7.0", | ||||||
|  |     "vitest": "^0.8.2" | ||||||
|  |   } | ||||||
|  | } | ||||||
							
								
								
									
										11
									
								
								packages/eslint-plugin-antfu/src/index.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								packages/eslint-plugin-antfu/src/index.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | |||||||
|  | import ifNewline from './rules/if-newline' | ||||||
|  | import noLeadingNewline from './rules/no-leading-newline' | ||||||
|  | import preferInlineTypeImport from './rules/prefer-inline-type-import' | ||||||
|  |  | ||||||
|  | export default { | ||||||
|  |   rules: { | ||||||
|  |     'no-leading-newline': noLeadingNewline, | ||||||
|  |     'if-newline': ifNewline, | ||||||
|  |     'prefer-inline-type-import': preferInlineTypeImport, | ||||||
|  |   }, | ||||||
|  | } | ||||||
							
								
								
									
										30
									
								
								packages/eslint-plugin-antfu/src/rules/if-newline.test.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								packages/eslint-plugin-antfu/src/rules/if-newline.test.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,30 @@ | |||||||
|  | import { RuleTester } from '@typescript-eslint/utils/dist/ts-eslint' | ||||||
|  | import { it } from 'vitest' | ||||||
|  | import rule, { RULE_NAME } from './if-newline' | ||||||
|  |  | ||||||
|  | const valids = [ | ||||||
|  |   `if (true) | ||||||
|  |   console.log('hello') | ||||||
|  | `, | ||||||
|  |   `if (true) { | ||||||
|  |   console.log('hello') | ||||||
|  | }`, | ||||||
|  | ] | ||||||
|  | const invalids = [ | ||||||
|  |   ['if (true) console.log(\'hello\')', 'if (true) \nconsole.log(\'hello\')'], | ||||||
|  | ] | ||||||
|  |  | ||||||
|  | it('runs', () => { | ||||||
|  |   const ruleTester: RuleTester = new RuleTester({ | ||||||
|  |     parser: require.resolve('@typescript-eslint/parser'), | ||||||
|  |   }) | ||||||
|  |  | ||||||
|  |   ruleTester.run(RULE_NAME, rule, { | ||||||
|  |     valid: valids, | ||||||
|  |     invalid: invalids.map(i => ({ | ||||||
|  |       code: i[0], | ||||||
|  |       output: i[1], | ||||||
|  |       errors: [{ messageId: 'missingIfNewline' }], | ||||||
|  |     })), | ||||||
|  |   }) | ||||||
|  | }) | ||||||
							
								
								
									
										45
									
								
								packages/eslint-plugin-antfu/src/rules/if-newline.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								packages/eslint-plugin-antfu/src/rules/if-newline.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,45 @@ | |||||||
|  | import { createEslintRule } from '../utils' | ||||||
|  |  | ||||||
|  | export const RULE_NAME = 'if-newline' | ||||||
|  | export type MessageIds = 'missingIfNewline' | ||||||
|  | export type Options = [] | ||||||
|  |  | ||||||
|  | export default createEslintRule<Options, MessageIds>({ | ||||||
|  |   name: RULE_NAME, | ||||||
|  |   meta: { | ||||||
|  |     type: 'problem', | ||||||
|  |     docs: { | ||||||
|  |       description: 'Newline after if', | ||||||
|  |       recommended: 'error', | ||||||
|  |     }, | ||||||
|  |     fixable: 'code', | ||||||
|  |     schema: [], | ||||||
|  |     messages: { | ||||||
|  |       missingIfNewline: 'Expect newline after if', | ||||||
|  |     }, | ||||||
|  |   }, | ||||||
|  |   defaultOptions: [], | ||||||
|  |   create: (context) => { | ||||||
|  |     return { | ||||||
|  |       IfStatement(node) { | ||||||
|  |         if (!node.consequent) | ||||||
|  |           return | ||||||
|  |         if (node.consequent.type === 'BlockStatement') | ||||||
|  |           return | ||||||
|  |         if (node.test.loc.end.line === node.consequent.loc.start.line) { | ||||||
|  |           context.report({ | ||||||
|  |             node, | ||||||
|  |             loc: { | ||||||
|  |               start: node.test.loc.end, | ||||||
|  |               end: node.consequent.loc.start, | ||||||
|  |             }, | ||||||
|  |             messageId: 'missingIfNewline', | ||||||
|  |             fix(fixer) { | ||||||
|  |               return fixer.replaceTextRange([node.consequent.range[0], node.consequent.range[0]], '\n') | ||||||
|  |             }, | ||||||
|  |           }) | ||||||
|  |         } | ||||||
|  |       }, | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  | }) | ||||||
| @@ -0,0 +1,27 @@ | |||||||
|  | import { RuleTester } from '@typescript-eslint/utils/dist/ts-eslint' | ||||||
|  | import { it } from 'vitest' | ||||||
|  | import rule, { RULE_NAME } from './no-leading-newline' | ||||||
|  |  | ||||||
|  | const valids = [ | ||||||
|  |   'import {} from \'foo\'', | ||||||
|  |   `// comment | ||||||
|  | import {} from ''`, | ||||||
|  | ] | ||||||
|  | const invalids = [ | ||||||
|  |   '\n\nimport {} from \'fo\'', | ||||||
|  | ] | ||||||
|  |  | ||||||
|  | it('runs', () => { | ||||||
|  |   const ruleTester: RuleTester = new RuleTester({ | ||||||
|  |     parser: require.resolve('@typescript-eslint/parser'), | ||||||
|  |   }) | ||||||
|  |  | ||||||
|  |   ruleTester.run(RULE_NAME, rule, { | ||||||
|  |     valid: valids, | ||||||
|  |     invalid: invalids.map(i => ({ | ||||||
|  |       code: i, | ||||||
|  |       output: i.trim(), | ||||||
|  |       errors: [{ messageId: 'noLeadingNewline' }], | ||||||
|  |     })), | ||||||
|  |   }) | ||||||
|  | }) | ||||||
							
								
								
									
										44
									
								
								packages/eslint-plugin-antfu/src/rules/no-leading-newline.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								packages/eslint-plugin-antfu/src/rules/no-leading-newline.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,44 @@ | |||||||
|  | import { createEslintRule } from '../utils' | ||||||
|  |  | ||||||
|  | export const RULE_NAME = 'no-leading-newline' | ||||||
|  | export type MessageIds = 'noLeadingNewline' | ||||||
|  | export type Options = [] | ||||||
|  |  | ||||||
|  | export default createEslintRule<Options, MessageIds>({ | ||||||
|  |   name: RULE_NAME, | ||||||
|  |   meta: { | ||||||
|  |     type: 'problem', | ||||||
|  |     docs: { | ||||||
|  |       description: 'Do not allow leading newline', | ||||||
|  |       recommended: 'error', | ||||||
|  |     }, | ||||||
|  |     fixable: 'whitespace', | ||||||
|  |     schema: [], | ||||||
|  |     messages: { | ||||||
|  |       noLeadingNewline: 'No leading newline allowed', | ||||||
|  |     }, | ||||||
|  |   }, | ||||||
|  |   defaultOptions: [], | ||||||
|  |   create: (context) => { | ||||||
|  |     return { | ||||||
|  |       Program(node) { | ||||||
|  |         const code = context.getSourceCode() | ||||||
|  |         const match = code.text.match(/^[\s]+/)?.[0] || '' | ||||||
|  |         if (match.includes('\n')) { | ||||||
|  |           const line = match.split('\n') | ||||||
|  |           context.report({ | ||||||
|  |             node, | ||||||
|  |             loc: { | ||||||
|  |               start: { line: 0, column: 0 }, | ||||||
|  |               end: { line: line.length - 1, column: line[line.length - 1].length }, | ||||||
|  |             }, | ||||||
|  |             messageId: 'noLeadingNewline', | ||||||
|  |             fix(fixer) { | ||||||
|  |               return fixer.replaceTextRange([0, match.length], '') | ||||||
|  |             }, | ||||||
|  |           }) | ||||||
|  |         } | ||||||
|  |       }, | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  | }) | ||||||
| @@ -0,0 +1,27 @@ | |||||||
|  | import { RuleTester } from '@typescript-eslint/utils/dist/ts-eslint' | ||||||
|  | import { it } from 'vitest' | ||||||
|  | import rule, { RULE_NAME } from './prefer-inline-type-import' | ||||||
|  |  | ||||||
|  | const valids = [ | ||||||
|  |   'import { type Foo } from \'foo\'', | ||||||
|  |   'import type Foo from \'foo\'', | ||||||
|  |   'import type * as Foo from \'foo\'', | ||||||
|  | ] | ||||||
|  | const invalids = [ | ||||||
|  |   ['import type { Foo } from \'foo\'', 'import { type Foo } from \'foo\''], | ||||||
|  | ] | ||||||
|  |  | ||||||
|  | it('runs', () => { | ||||||
|  |   const ruleTester: RuleTester = new RuleTester({ | ||||||
|  |     parser: require.resolve('@typescript-eslint/parser'), | ||||||
|  |   }) | ||||||
|  |  | ||||||
|  |   ruleTester.run(RULE_NAME, rule, { | ||||||
|  |     valid: valids, | ||||||
|  |     invalid: invalids.map(i => ({ | ||||||
|  |       code: i[0], | ||||||
|  |       output: i[1].trim(), | ||||||
|  |       errors: [{ messageId: 'preferInlineTypeImport' }], | ||||||
|  |     })), | ||||||
|  |   }) | ||||||
|  | }) | ||||||
| @@ -0,0 +1,63 @@ | |||||||
|  | // Ported from https://github.com/gajus/eslint-plugin-canonical/blob/master/src/rules/preferInlineTypeImport.js | ||||||
|  | // by Gajus Kuizinas https://github.com/gajus | ||||||
|  |  | ||||||
|  | import { createEslintRule } from '../utils' | ||||||
|  |  | ||||||
|  | export const RULE_NAME = 'prefer-inline-type-import' | ||||||
|  | export type MessageIds = 'preferInlineTypeImport' | ||||||
|  | export type Options = [] | ||||||
|  |  | ||||||
|  | export default createEslintRule<Options, MessageIds>({ | ||||||
|  |   name: RULE_NAME, | ||||||
|  |   meta: { | ||||||
|  |     type: 'suggestion', | ||||||
|  |     docs: { | ||||||
|  |       description: 'Newline after if', | ||||||
|  |       recommended: 'error', | ||||||
|  |     }, | ||||||
|  |     fixable: 'code', | ||||||
|  |     schema: [], | ||||||
|  |     messages: { | ||||||
|  |       preferInlineTypeImport: 'Prefer inline type import', | ||||||
|  |     }, | ||||||
|  |   }, | ||||||
|  |   defaultOptions: [], | ||||||
|  |   create: (context) => { | ||||||
|  |     const sourceCode = context.getSourceCode() | ||||||
|  |     return { | ||||||
|  |       ImportDeclaration: (node) => { | ||||||
|  |         // ignore bare type imports | ||||||
|  |         if (node.specifiers.length === 1 && ['ImportNamespaceSpecifier', 'ImportDefaultSpecifier'].includes(node.specifiers[0].type)) | ||||||
|  |           return | ||||||
|  |         if (node.importKind === 'type') { | ||||||
|  |           context.report({ | ||||||
|  |             *fix(fixer) { | ||||||
|  |               yield * removeTypeSpecifier(fixer, sourceCode, node) | ||||||
|  |  | ||||||
|  |               for (const specifier of node.specifiers) | ||||||
|  |                 yield fixer.insertTextBefore(specifier, 'type ') | ||||||
|  |             }, | ||||||
|  |             loc: node.loc, | ||||||
|  |             messageId: 'preferInlineTypeImport', | ||||||
|  |             node, | ||||||
|  |           }) | ||||||
|  |         } | ||||||
|  |       }, | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | function *removeTypeSpecifier(fixer, sourceCode, node) { | ||||||
|  |   const importKeyword = sourceCode.getFirstToken(node) | ||||||
|  |  | ||||||
|  |   const typeIdentifier = sourceCode.getTokenAfter(importKeyword) | ||||||
|  |  | ||||||
|  |   yield fixer.remove(typeIdentifier) | ||||||
|  |  | ||||||
|  |   if (importKeyword.loc.end.column + 1 === typeIdentifier.loc.start.column) { | ||||||
|  |     yield fixer.removeRange([ | ||||||
|  |       importKeyword.range[1], | ||||||
|  |       importKeyword.range[1] + 1, | ||||||
|  |     ]) | ||||||
|  |   } | ||||||
|  | } | ||||||
							
								
								
									
										5
									
								
								packages/eslint-plugin-antfu/src/utils.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								packages/eslint-plugin-antfu/src/utils.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | |||||||
|  | import { ESLintUtils } from '@typescript-eslint/utils' | ||||||
|  |  | ||||||
|  | export const createEslintRule = ESLintUtils.RuleCreator( | ||||||
|  |   ruleName => ruleName, | ||||||
|  | ) | ||||||
| @@ -3,6 +3,78 @@ | |||||||
| All notable changes to this project will be documented in this file. | All notable changes to this project will be documented in this file. | ||||||
| See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. | See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. | ||||||
|  |  | ||||||
|  | ## [0.19.1](https://github.com/antfu/eslint-config/compare/v0.19.0...v0.19.1) (2022-03-30) | ||||||
|  |  | ||||||
|  | **Note:** Version bump only for package @antfu/eslint-config-react | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | # [0.19.0](https://github.com/antfu/eslint-config/compare/v0.18.9...v0.19.0) (2022-03-29) | ||||||
|  |  | ||||||
|  | **Note:** Version bump only for package @antfu/eslint-config-react | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## [0.18.9](https://github.com/antfu/eslint-config/compare/v0.18.8...v0.18.9) (2022-03-20) | ||||||
|  |  | ||||||
|  | **Note:** Version bump only for package @antfu/eslint-config-react | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## [0.18.8](https://github.com/antfu/eslint-config/compare/v0.18.7...v0.18.8) (2022-03-10) | ||||||
|  |  | ||||||
|  | **Note:** Version bump only for package @antfu/eslint-config-react | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## [0.18.7](https://github.com/antfu/eslint-config/compare/v0.18.6...v0.18.7) (2022-03-10) | ||||||
|  |  | ||||||
|  | **Note:** Version bump only for package @antfu/eslint-config-react | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## [0.18.6](https://github.com/antfu/eslint-config/compare/v0.18.5...v0.18.6) (2022-03-10) | ||||||
|  |  | ||||||
|  | **Note:** Version bump only for package @antfu/eslint-config-react | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## [0.18.5](https://github.com/antfu/eslint-config/compare/v0.18.4...v0.18.5) (2022-03-10) | ||||||
|  |  | ||||||
|  | **Note:** Version bump only for package @antfu/eslint-config-react | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## [0.18.4](https://github.com/antfu/eslint-config/compare/v0.18.3...v0.18.4) (2022-03-10) | ||||||
|  |  | ||||||
|  | **Note:** Version bump only for package @antfu/eslint-config-react | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## [0.18.3](https://github.com/antfu/eslint-config/compare/v0.18.2...v0.18.3) (2022-03-07) | ||||||
|  |  | ||||||
|  | **Note:** Version bump only for package @antfu/eslint-config-react | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| ## [0.18.2](https://github.com/antfu/eslint-config/compare/v0.18.1...v0.18.2) (2022-03-07) | ## [0.18.2](https://github.com/antfu/eslint-config/compare/v0.18.1...v0.18.2) (2022-03-07) | ||||||
|  |  | ||||||
| **Note:** Version bump only for package @antfu/eslint-config-react | **Note:** Version bump only for package @antfu/eslint-config-react | ||||||
|   | |||||||
| @@ -1,14 +1,14 @@ | |||||||
| { | { | ||||||
|   "name": "@antfu/eslint-config-react", |   "name": "@antfu/eslint-config-react", | ||||||
|   "version": "0.18.2", |   "version": "0.20.2", | ||||||
|   "description": "", |   "description": "", | ||||||
|   "keywords": [], |   "keywords": [], | ||||||
|   "license": "MIT", |   "license": "MIT", | ||||||
|   "author": "Anthony Fu <anthonyfu117@hotmail.com> (https://github.com/antfu/)", |   "author": "Anthony Fu <anthonyfu117@hotmail.com> (https://github.com/antfu/)", | ||||||
|  |   "main": "index.js", | ||||||
|   "files": [ |   "files": [ | ||||||
|     "index.js" |     "index.js" | ||||||
|   ], |   ], | ||||||
|   "main": "index.js", |  | ||||||
|   "scripts": { |   "scripts": { | ||||||
|     "lint": "eslint . --config=index.js" |     "lint": "eslint . --config=index.js" | ||||||
|   }, |   }, | ||||||
| @@ -19,12 +19,12 @@ | |||||||
|     "access": "public" |     "access": "public" | ||||||
|   }, |   }, | ||||||
|   "dependencies": { |   "dependencies": { | ||||||
|     "@antfu/eslint-config-ts": "^0.18.2", |     "@antfu/eslint-config-ts": "workspace:*", | ||||||
|     "eslint-plugin-react": "^7.29.3" |     "eslint-plugin-react": "^7.29.4" | ||||||
|   }, |   }, | ||||||
|   "devDependencies": { |   "devDependencies": { | ||||||
|     "eslint": "^8.10.0", |     "eslint": "^8.12.0", | ||||||
|     "react": "^17.0.2", |     "react": "^18.0.0", | ||||||
|     "typescript": "^4.6.2" |     "typescript": "^4.6.3" | ||||||
|   } |   } | ||||||
| } | } | ||||||
|   | |||||||
| @@ -3,6 +3,81 @@ | |||||||
| All notable changes to this project will be documented in this file. | All notable changes to this project will be documented in this file. | ||||||
| See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. | See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. | ||||||
|  |  | ||||||
|  | ## [0.19.1](https://github.com/antfu/eslint-config/compare/v0.19.0...v0.19.1) (2022-03-30) | ||||||
|  |  | ||||||
|  | **Note:** Version bump only for package @antfu/eslint-config-ts | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | # [0.19.0](https://github.com/antfu/eslint-config/compare/v0.18.9...v0.19.0) (2022-03-29) | ||||||
|  |  | ||||||
|  | **Note:** Version bump only for package @antfu/eslint-config-ts | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## [0.18.9](https://github.com/antfu/eslint-config/compare/v0.18.8...v0.18.9) (2022-03-20) | ||||||
|  |  | ||||||
|  | **Note:** Version bump only for package @antfu/eslint-config-ts | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## [0.18.8](https://github.com/antfu/eslint-config/compare/v0.18.7...v0.18.8) (2022-03-10) | ||||||
|  |  | ||||||
|  | **Note:** Version bump only for package @antfu/eslint-config-ts | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## [0.18.7](https://github.com/antfu/eslint-config/compare/v0.18.6...v0.18.7) (2022-03-10) | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### Features | ||||||
|  |  | ||||||
|  | * improve `no-unused-vars` rule ([2e962a2](https://github.com/antfu/eslint-config/commit/2e962a278571113853435221e8c3d43bd9fa1421)) | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## [0.18.6](https://github.com/antfu/eslint-config/compare/v0.18.5...v0.18.6) (2022-03-10) | ||||||
|  |  | ||||||
|  | **Note:** Version bump only for package @antfu/eslint-config-ts | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## [0.18.5](https://github.com/antfu/eslint-config/compare/v0.18.4...v0.18.5) (2022-03-10) | ||||||
|  |  | ||||||
|  | **Note:** Version bump only for package @antfu/eslint-config-ts | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## [0.18.4](https://github.com/antfu/eslint-config/compare/v0.18.3...v0.18.4) (2022-03-10) | ||||||
|  |  | ||||||
|  | **Note:** Version bump only for package @antfu/eslint-config-ts | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## [0.18.3](https://github.com/antfu/eslint-config/compare/v0.18.2...v0.18.3) (2022-03-07) | ||||||
|  |  | ||||||
|  | **Note:** Version bump only for package @antfu/eslint-config-ts | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| ## [0.18.2](https://github.com/antfu/eslint-config/compare/v0.18.1...v0.18.2) (2022-03-07) | ## [0.18.2](https://github.com/antfu/eslint-config/compare/v0.18.1...v0.18.2) (2022-03-07) | ||||||
|  |  | ||||||
| **Note:** Version bump only for package @antfu/eslint-config-ts | **Note:** Version bump only for package @antfu/eslint-config-ts | ||||||
|   | |||||||
| @@ -4,8 +4,14 @@ const basic = require('@antfu/eslint-config-basic') | |||||||
| module.exports = { | module.exports = { | ||||||
|   extends: [ |   extends: [ | ||||||
|     '@antfu/eslint-config-basic', |     '@antfu/eslint-config-basic', | ||||||
|  |     'plugin:import/typescript', | ||||||
|     'plugin:@typescript-eslint/recommended', |     'plugin:@typescript-eslint/recommended', | ||||||
|   ], |   ], | ||||||
|  |   settings: { | ||||||
|  |     'import/resolver': { | ||||||
|  |       node: { extensions: ['.js', '.jsx', '.mjs', '.ts', '.tsx', '.d.ts'] }, | ||||||
|  |     }, | ||||||
|  |   }, | ||||||
|   overrides: basic.overrides, |   overrides: basic.overrides, | ||||||
|   rules: { |   rules: { | ||||||
|     'import/named': 'off', |     'import/named': 'off', | ||||||
| @@ -25,7 +31,7 @@ module.exports = { | |||||||
|     'indent': 'off', |     'indent': 'off', | ||||||
|     '@typescript-eslint/indent': ['error', 2], |     '@typescript-eslint/indent': ['error', 2], | ||||||
|     'no-unused-vars': 'off', |     'no-unused-vars': 'off', | ||||||
|     '@typescript-eslint/no-unused-vars': 'error', |     '@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_' }], | ||||||
|     'no-redeclare': 'off', |     'no-redeclare': 'off', | ||||||
|     '@typescript-eslint/no-redeclare': 'error', |     '@typescript-eslint/no-redeclare': 'error', | ||||||
|     'no-use-before-define': 'off', |     'no-use-before-define': 'off', | ||||||
|   | |||||||
| @@ -1,14 +1,14 @@ | |||||||
| { | { | ||||||
|   "name": "@antfu/eslint-config-ts", |   "name": "@antfu/eslint-config-ts", | ||||||
|   "version": "0.18.2", |   "version": "0.20.2", | ||||||
|   "description": "", |   "description": "", | ||||||
|   "keywords": [], |   "keywords": [], | ||||||
|   "license": "MIT", |   "license": "MIT", | ||||||
|   "author": "Anthony Fu <anthonyfu117@hotmail.com> (https://github.com/antfu/)", |   "author": "Anthony Fu <anthonyfu117@hotmail.com> (https://github.com/antfu/)", | ||||||
|  |   "main": "index.js", | ||||||
|   "files": [ |   "files": [ | ||||||
|     "index.js" |     "index.js" | ||||||
|   ], |   ], | ||||||
|   "main": "index.js", |  | ||||||
|   "publishConfig": { |   "publishConfig": { | ||||||
|     "access": "public" |     "access": "public" | ||||||
|   }, |   }, | ||||||
| @@ -17,11 +17,11 @@ | |||||||
|     "typescript": ">=3.9" |     "typescript": ">=3.9" | ||||||
|   }, |   }, | ||||||
|   "dependencies": { |   "dependencies": { | ||||||
|     "@antfu/eslint-config-basic": "^0.18.2", |     "@antfu/eslint-config-basic": "workspace:*", | ||||||
|     "@typescript-eslint/eslint-plugin": "^5.13.0", |     "@typescript-eslint/eslint-plugin": "^5.17.0", | ||||||
|     "@typescript-eslint/parser": "^5.13.0" |     "@typescript-eslint/parser": "^5.17.0" | ||||||
|   }, |   }, | ||||||
|   "devDependencies": { |   "devDependencies": { | ||||||
|     "eslint": "^8.10.0" |     "eslint": "^8.12.0" | ||||||
|   } |   } | ||||||
| } | } | ||||||
|   | |||||||
| @@ -3,6 +3,84 @@ | |||||||
| All notable changes to this project will be documented in this file. | All notable changes to this project will be documented in this file. | ||||||
| See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. | See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. | ||||||
|  |  | ||||||
|  | ## [0.19.1](https://github.com/antfu/eslint-config/compare/v0.19.0...v0.19.1) (2022-03-30) | ||||||
|  |  | ||||||
|  | **Note:** Version bump only for package @antfu/eslint-config-vue | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | # [0.19.0](https://github.com/antfu/eslint-config/compare/v0.18.9...v0.19.0) (2022-03-29) | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### Features | ||||||
|  |  | ||||||
|  | * vue sfc tags order ([d4538f4](https://github.com/antfu/eslint-config/commit/d4538f42b14d0f7c824795945ffa556d585ceb06)) | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## [0.18.9](https://github.com/antfu/eslint-config/compare/v0.18.8...v0.18.9) (2022-03-20) | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ### Bug Fixes | ||||||
|  |  | ||||||
|  | * **vue:** disable `vue/no-setup-props-destructure` ([0a1f8c5](https://github.com/antfu/eslint-config/commit/0a1f8c56124ac1735e7b26879ac3e6ab9289ca74)) | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## [0.18.8](https://github.com/antfu/eslint-config/compare/v0.18.7...v0.18.8) (2022-03-10) | ||||||
|  |  | ||||||
|  | **Note:** Version bump only for package @antfu/eslint-config-vue | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## [0.18.7](https://github.com/antfu/eslint-config/compare/v0.18.6...v0.18.7) (2022-03-10) | ||||||
|  |  | ||||||
|  | **Note:** Version bump only for package @antfu/eslint-config-vue | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## [0.18.6](https://github.com/antfu/eslint-config/compare/v0.18.5...v0.18.6) (2022-03-10) | ||||||
|  |  | ||||||
|  | **Note:** Version bump only for package @antfu/eslint-config-vue | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## [0.18.5](https://github.com/antfu/eslint-config/compare/v0.18.4...v0.18.5) (2022-03-10) | ||||||
|  |  | ||||||
|  | **Note:** Version bump only for package @antfu/eslint-config-vue | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## [0.18.4](https://github.com/antfu/eslint-config/compare/v0.18.3...v0.18.4) (2022-03-10) | ||||||
|  |  | ||||||
|  | **Note:** Version bump only for package @antfu/eslint-config-vue | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## [0.18.3](https://github.com/antfu/eslint-config/compare/v0.18.2...v0.18.3) (2022-03-07) | ||||||
|  |  | ||||||
|  | **Note:** Version bump only for package @antfu/eslint-config-vue | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| ## [0.18.2](https://github.com/antfu/eslint-config/compare/v0.18.1...v0.18.2) (2022-03-07) | ## [0.18.2](https://github.com/antfu/eslint-config/compare/v0.18.1...v0.18.2) (2022-03-07) | ||||||
|  |  | ||||||
| **Note:** Version bump only for package @antfu/eslint-config-vue | **Note:** Version bump only for package @antfu/eslint-config-vue | ||||||
|   | |||||||
| @@ -23,5 +23,12 @@ module.exports = { | |||||||
|     'vue/require-prop-types': 'off', |     'vue/require-prop-types': 'off', | ||||||
|     'vue/require-default-prop': 'off', |     'vue/require-default-prop': 'off', | ||||||
|     'vue/multi-word-component-names': 'off', |     'vue/multi-word-component-names': 'off', | ||||||
|  |  | ||||||
|  |     // reactivity transform | ||||||
|  |     'vue/no-setup-props-destructure': 'off', | ||||||
|  |  | ||||||
|  |     'vue/component-tags-order': ['error', { | ||||||
|  |       order: ['script', 'template', 'style'], | ||||||
|  |     }], | ||||||
|   }, |   }, | ||||||
| } | } | ||||||
|   | |||||||
| @@ -1,14 +1,14 @@ | |||||||
| { | { | ||||||
|   "name": "@antfu/eslint-config-vue", |   "name": "@antfu/eslint-config-vue", | ||||||
|   "version": "0.18.2", |   "version": "0.20.2", | ||||||
|   "description": "", |   "description": "", | ||||||
|   "keywords": [], |   "keywords": [], | ||||||
|   "license": "MIT", |   "license": "MIT", | ||||||
|   "author": "Anthony Fu <anthonyfu117@hotmail.com> (https://github.com/antfu/)", |   "author": "Anthony Fu <anthonyfu117@hotmail.com> (https://github.com/antfu/)", | ||||||
|  |   "main": "index.js", | ||||||
|   "files": [ |   "files": [ | ||||||
|     "index.js" |     "index.js" | ||||||
|   ], |   ], | ||||||
|   "main": "index.js", |  | ||||||
|   "peerDependencies": { |   "peerDependencies": { | ||||||
|     "eslint": ">=7.4.0" |     "eslint": ">=7.4.0" | ||||||
|   }, |   }, | ||||||
| @@ -16,10 +16,10 @@ | |||||||
|     "access": "public" |     "access": "public" | ||||||
|   }, |   }, | ||||||
|   "dependencies": { |   "dependencies": { | ||||||
|     "@antfu/eslint-config-ts": "^0.18.2", |     "@antfu/eslint-config-ts": "workspace:*", | ||||||
|     "eslint-plugin-vue": "^8.5.0" |     "eslint-plugin-vue": "^8.5.0" | ||||||
|   }, |   }, | ||||||
|   "devDependencies": { |   "devDependencies": { | ||||||
|     "eslint": "^8.10.0" |     "eslint": "^8.12.0" | ||||||
|   } |   } | ||||||
| } | } | ||||||
|   | |||||||
							
								
								
									
										4905
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										4905
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Reference in New Issue
	
	Block a user