Compare commits
	
		
			26 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 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 | 
							
								
								
									
										73
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										73
									
								
								CHANGELOG.md
									
									
									
									
									
								
							| @@ -3,6 +3,79 @@ | |||||||
| 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) | ## [0.18.5](https://github.com/antfu/eslint-config/compare/v0.18.4...v0.18.5) (2022-03-10) | ||||||
|  |  | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										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 | ||||||
|   | |||||||
							
								
								
									
										21
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										21
									
								
								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 | ||||||
|  |  | ||||||
| @@ -18,6 +25,8 @@ pnpm add -D eslint @antfu/eslint-config | |||||||
| } | } | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
|  | > You don't need `.eslintignore` normally as it has been provided by the preset. | ||||||
|  |  | ||||||
| ### Add script for package.json | ### Add script for package.json | ||||||
|  |  | ||||||
| For example: | For example: | ||||||
| @@ -42,3 +51,13 @@ Create `.vscode/settings.json` | |||||||
|   } |   } | ||||||
| } | } | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
|  | ## Check Also | ||||||
|  |  | ||||||
|  | - [antfu/vscode-settings](https://github.com/antfu/vscode-settings) - My VS Code settings | ||||||
|  | - [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.5" |  | ||||||
| } |  | ||||||
							
								
								
									
										13
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								package.json
									
									
									
									
									
								
							| @@ -1,18 +1,19 @@ | |||||||
| { | { | ||||||
|   "name": "@antfu/eslint-config-monorepo", |   "name": "@antfu/eslint-config-monorepo", | ||||||
|   "version": "0.1.0", |   "version": "0.19.3", | ||||||
|   "private": true, |   "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/)", | ||||||
|   "scripts": { |   "scripts": { | ||||||
|     "preinstall": "npx only-allow pnpm", |  | ||||||
|     "lint": "eslint .", |     "lint": "eslint .", | ||||||
|     "release": "lerna publish --conventional-commits" |     "prepare": "pnpm -r run stub", | ||||||
|  |     "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,57 @@ | |||||||
| 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) | ## [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 | **Note:** Version bump only for package @antfu/eslint-config | ||||||
|   | |||||||
| @@ -1,37 +1,36 @@ | |||||||
| { | { | ||||||
|   "name": "@antfu/eslint-config", |   "name": "@antfu/eslint-config", | ||||||
|   "version": "0.18.5", |   "version": "0.19.3", | ||||||
|   "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.5", |     "@antfu/eslint-config-react": "workspace:*", | ||||||
|     "@antfu/eslint-config-vue": "^0.18.5", |     "@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,73 @@ | |||||||
| 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) | ## [0.18.5](https://github.com/antfu/eslint-config/compare/v0.18.4...v0.18.5) (2022-03-10) | ||||||
|  |  | ||||||
|  |  | ||||||
|   | |||||||
| @@ -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', | ||||||
| @@ -17,19 +17,26 @@ module.exports = { | |||||||
|     'CHANGELOG.md', |     'CHANGELOG.md', | ||||||
|     'dist', |     'dist', | ||||||
|     'LICENSE*', |     'LICENSE*', | ||||||
|  |     'output', | ||||||
|  |     'coverage', | ||||||
|     'public', |     'public', | ||||||
|     'temp', |     'temp', | ||||||
|     '!.vitepress', |     'packages-lock.json', | ||||||
|  |     'pnpm-lock.yaml', | ||||||
|  |     'yarn.lock', | ||||||
|  |     '__snapshots__', | ||||||
|     '!.github', |     '!.github', | ||||||
|  |     '!.vitepress', | ||||||
|     '!.vscode', |     '!.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: [ | ||||||
| @@ -45,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'], | ||||||
| @@ -72,8 +82,9 @@ module.exports = { | |||||||
|               'unpkg', |               'unpkg', | ||||||
|               'jsdelivr', |               'jsdelivr', | ||||||
|               'exports', |               'exports', | ||||||
|               'bin', |  | ||||||
|               'files', |               'files', | ||||||
|  |               'bin', | ||||||
|  |               'sideEffects', | ||||||
|               'scripts', |               'scripts', | ||||||
|               'peerDependencies', |               'peerDependencies', | ||||||
|               'peerDependenciesMeta', |               'peerDependenciesMeta', | ||||||
| @@ -123,6 +134,7 @@ module.exports = { | |||||||
|         '@typescript-eslint/no-redeclare': 'off', |         '@typescript-eslint/no-redeclare': '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', |         'import/no-unresolved': 'off', | ||||||
|         'no-alert': 'off', |         'no-alert': 'off', | ||||||
|         'no-console': 'off', |         'no-console': 'off', | ||||||
| @@ -276,5 +288,9 @@ module.exports = { | |||||||
|  |  | ||||||
|     // yml |     // yml | ||||||
|     'yml/quotes': ['error', { prefer: 'single', avoidEscape: false }], |     'yml/quotes': ['error', { prefer: 'single', avoidEscape: false }], | ||||||
|  |     'yml/no-empty-document': 'off', | ||||||
|  |  | ||||||
|  |     // antfu | ||||||
|  |     'antfu/no-leading-newline': 'error', | ||||||
|   }, |   }, | ||||||
| } | } | ||||||
|   | |||||||
| @@ -1,14 +1,14 @@ | |||||||
| { | { | ||||||
|   "name": "@antfu/eslint-config-basic", |   "name": "@antfu/eslint-config-basic", | ||||||
|   "version": "0.18.5", |   "version": "0.19.3", | ||||||
|   "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, | ||||||
|  |   }, | ||||||
|  | }) | ||||||
							
								
								
									
										29
									
								
								packages/eslint-plugin-antfu/package.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								packages/eslint-plugin-antfu/package.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,29 @@ | |||||||
|  | { | ||||||
|  |   "name": "eslint-plugin-antfu", | ||||||
|  |   "version": "0.19.3", | ||||||
|  |   "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", | ||||||
|  |     "prepublishOnly": "nr build" | ||||||
|  |   }, | ||||||
|  |   "dependencies": { | ||||||
|  |     "@typescript-eslint/utils": "^5.17.0" | ||||||
|  |   }, | ||||||
|  |   "devDependencies": { | ||||||
|  |     "unbuild": "^0.7.0" | ||||||
|  |   } | ||||||
|  | } | ||||||
							
								
								
									
										7
									
								
								packages/eslint-plugin-antfu/src/index.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								packages/eslint-plugin-antfu/src/index.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,7 @@ | |||||||
|  | import noLeadingNewline from './rules/no-leading-newline' | ||||||
|  |  | ||||||
|  | export default { | ||||||
|  |   rules: { | ||||||
|  |     'no-leading-newline': 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], '') | ||||||
|  |             }, | ||||||
|  |           }) | ||||||
|  |         } | ||||||
|  |       }, | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  | }) | ||||||
							
								
								
									
										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,54 @@ | |||||||
| 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) | ## [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 | **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.5", |   "version": "0.19.3", | ||||||
|   "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.5", |     "@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,57 @@ | |||||||
| 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) | ## [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 | **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.5", |   "version": "0.19.3", | ||||||
|   "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.5", |     "@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,60 @@ | |||||||
| 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) | ## [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 | **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.5", |   "version": "0.19.3", | ||||||
|   "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.5", |     "@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" | ||||||
|   } |   } | ||||||
| } | } | ||||||
|   | |||||||
							
								
								
									
										4806
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										4806
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Reference in New Issue
	
	Block a user