Skip to content

Commit e41ce19

Browse files
committed
- Remove non-core rules (vue, ts, eslint-comments, eslint-plugin, node, prettier)
- Remove all configs except as needed to cover project-defined rules - Testing: Change from broken use of "category" to relying on custom `meta.version` for determination of ES version (eslint docs allowing for customization within `meta`) - Linting as per latest prettier - Update devDeps
1 parent 21838c6 commit e41ce19

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+88
-2478
lines changed

.nycrc.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
include:
22
- lib
3-
exclude:
4-
- lib/processors/vue.js
53
reporter:
64
- text-summary
75
- lcov

README.md

Lines changed: 10 additions & 100 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
1-
# @mysticatea/eslint-plugin
1+
# @mysticatea/eslint-plugin-core
22

3-
[![npm version](https://img.shields.io/npm/v/@mysticatea/eslint-plugin.svg)](https://www.npmjs.com/package/@mysticatea/eslint-plugin)
4-
[![Downloads/month](https://img.shields.io/npm/dm/@mysticatea/eslint-plugin.svg)](http://www.npmtrends.com/@mysticatea/eslint-plugin)
5-
[![Build Status](https://github.com/mysticatea/eslint-plugin/workflows/CI/badge.svg)](https://github.com/mysticatea/eslint-plugin/actions)
6-
[![codecov](https://codecov.io/gh/mysticatea/eslint-plugin/branch/master/graph/badge.svg)](https://codecov.io/gh/mysticatea/eslint-plugin)
7-
[![Dependency Status](https://david-dm.org/mysticatea/eslint-plugin.svg)](https://david-dm.org/mysticatea/eslint-plugin)
3+
[![npm version](https://img.shields.io/npm/v/@mysticatea/eslint-plugin-core.svg)](https://www.npmjs.com/package/@mysticatea/eslint-plugin-core)
4+
[![Downloads/month](https://img.shields.io/npm/dm/@mysticatea/eslint-plugin-core.svg)](http://www.npmtrends.com/@mysticatea/eslint-plugin-core)
5+
[![Build Status](https://github.com/mysticatea/eslint-plugin-core/workflows/CI/badge.svg)](https://github.com/mysticatea/eslint-plugin-core/actions)
6+
[![codecov](https://codecov.io/gh/mysticatea/eslint-plugin-core/branch/master/graph/badge.svg)](https://codecov.io/gh/mysticatea/eslint-plugin-core)
7+
[![Dependency Status](https://david-dm.org/mysticatea/eslint-plugin-core.svg)](https://david-dm.org/mysticatea/eslint-plugin-core)
88

9-
Additional ESLint rules and ESLint configurations for me.
9+
Additional ESLint rules and ESLint configurations.
1010

1111
## 💿 Installation
1212

1313
```
14-
npm install --save-dev eslint @mysticatea/eslint-plugin
14+
npm install --save-dev eslint @mysticatea/eslint-plugin-core
1515
```
1616

1717
### Requirements
@@ -25,88 +25,10 @@ Write in your ESLint configurations: http://eslint.org/docs/user-guide/configuri
2525

2626
### Configs
2727

28-
- `plugin:@mysticatea/es2020` ... Basic configuration for ES2020.
29-
- `plugin:@mysticatea/es2019` ... Basic configuration for ES2019.
30-
- `plugin:@mysticatea/es2018` ... Basic configuration for ES2018.
31-
- `plugin:@mysticatea/es2017` ... Basic configuration for ES2017.
32-
- `plugin:@mysticatea/es2016` ... Basic configuration for ES2016.
33-
- `plugin:@mysticatea/es2015` ... Basic configuration for ES2015.
34-
- `plugin:@mysticatea/es5` ... Basic configuration for ES5.
35-
- `plugin:@mysticatea/+modules` ... Additional configuration for ES modules.
36-
- `plugin:@mysticatea/+browser` ... Additional configuration for browser environment.
37-
- `plugin:@mysticatea/+node` ... Additional configuration for Node.js environment.
38-
- `plugin:@mysticatea/+eslint-plugin` ... Additional configuration for ESLint plugins. This includes `plugin:mysticatea/+node` setting.
39-
40-
#### Details
41-
42-
The main configurations `plugin:@mysticatea/es*` does:
43-
44-
- detect bug-like code by ESLint rules.
45-
- enforce whitespace style by Prettier.
46-
- handle the `.ts` files as TypeScript then check by `typescript-eslint-parser` and `eslint-plugin-typescript`.
47-
- handle the `.vue` files as Vue.js SFC then check by `vue-eslint-parser` and `eslint-plugin-vue`.
48-
- handle the files in `test`/`tests` directory as `mocha`'s test code.
49-
- handle the files in `scripts` directory as Node.js environment.
50-
- handle the `.eslintrc.js` file as a Node.js script.
51-
- handle the `webpack.config.js` file as a Node.js script.
52-
- handle the `rollup.config.js` file as an ES module.
53-
54-
You can use combination of a main configuration and some additional configurations.
55-
For examples:
56-
57-
##### For Node.js
58-
59-
```json
60-
{
61-
"extends": [
62-
"plugin:@mysticatea/es2015",
63-
"plugin:@mysticatea/+node"
64-
]
65-
}
66-
```
67-
68-
> It handles `.js` files as scripts and `.mjs` files as modules.
69-
70-
##### For Browsers
71-
72-
```json
73-
{
74-
"extends": [
75-
"plugin:@mysticatea/es2015",
76-
"plugin:@mysticatea/+browser"
77-
]
78-
}
79-
```
80-
81-
##### For Browsers with ES modules
82-
83-
```json
84-
{
85-
"extends": [
86-
"plugin:@mysticatea/es2015",
87-
"plugin:@mysticatea/+modules",
88-
"plugin:@mysticatea/+browser"
89-
]
90-
}
91-
```
92-
93-
##### For ESLint plugins
94-
95-
```json
96-
{
97-
"extends": [
98-
"plugin:@mysticatea/es2015",
99-
"plugin:@mysticatea/+eslint-plugin"
100-
]
101-
}
102-
```
28+
- `plugin:@mysticatea/core/es5` ... Basic configuration for ES5.
10329

10430
### Rules
10531

106-
This plugin has some original rules and foreign rules.
107-
108-
#### Original rules
109-
11032
- [@mysticatea/arrow-parens](docs/rules/arrow-parens.md) enforces parens of argument lists (excludes too redundant parens) (fixable).
11133
- [@mysticatea/block-scoped-var](docs/rules/block-scoped-var.md) handles variables which are declared by `var` declaration as block-scoped. It disallows redeclarations, uses from outside of the scope, shadowing.
11234
- [@mysticatea/no-instanceof-array](docs/rules/no-instanceof-array.md) disallows 'instanceof' for Array (fixable).
@@ -117,25 +39,13 @@ This plugin has some original rules and foreign rules.
11739
- [@mysticatea/no-useless-rest-spread](docs/rules/no-useless-rest-spread.md) disallows unnecessary rest/spread operators (fixable).
11840
- [@mysticatea/prefer-for-of](docs/rules/prefer-for-of.md) requires `for-of` statements instead of `Array#forEach` or something like (fixable).
11941

120-
#### Foreign rules
121-
122-
- All `@mysticatea/eslint-comments/*` rules are imported from [eslint-plugin-eslint-comments](https://www.npmjs.com/package/eslint-plugin-eslint-comments).
123-
- All `@mysticatea/eslint-plugin/*` rules are imported from [eslint-plugin-eslint-plugin](https://www.npmjs.com/package/eslint-plugin-eslint-plugin).
124-
- All `@mysticatea/node/*` rules are imported from [eslint-plugin-node](https://www.npmjs.com/package/eslint-plugin-node).
125-
- All `@mysticatea/ts/*` rules are imported from [eslint-plugin-typescript](https://www.npmjs.com/package/eslint-plugin-typescript).
126-
- All `@mysticatea/vue/*` rules are imported from [eslint-plugin-vue](https://www.npmjs.com/package/eslint-plugin-vue).
127-
- The `@mysticatea/prettier` rule is imported from [eslint-plugin-prettier](https://www.npmjs.com/package/eslint-plugin-prettier).
128-
129-
> **Q:** Why don't you use those plugins directly?<br>
130-
> **A:** The combination with shareable configs and plugins has some problems because shareable configs were not designed to be used with plugins. @nzakas illustrated a way to use plugins as shareable configs together with other plugins in the discussion [eslint/eslint#3458](https://github.com/eslint/eslint/issues/3458#issuecomment-257161846). This is the way.
131-
13242
## 🚥 Semantic Versioning Policy
13343

13444
This plugin follows [semantic versioning](http://semver.org/) and [ESLint's Semantic Versioning Policy](https://github.com/eslint/eslint#semantic-versioning-policy).
13545

13646
## 📰 Changelog
13747

138-
- [GitHub Releases](https://github.com/mysticatea/eslint-plugin/releases)
48+
- [GitHub Releases](https://github.com/mysticatea/eslint-plugin-core/releases)
13949

14050
## ❤️ Contributing
14151

index.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,5 @@
66

77
module.exports = {
88
configs: require("./lib/configs"),
9-
processors: require("./lib/processors"),
109
rules: require("./lib/rules"),
11-
utils: require("./lib/utils"),
1210
}

lib/configs.js

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,7 @@
44
"use strict"
55

66
module.exports = {
7-
"+browser": require("./configs/+browser"),
8-
"+eslint-plugin": require("./configs/+eslint-plugin"),
9-
"+modules": require("./configs/+modules"),
10-
"+node": require("./configs/+node"),
7+
all: require("./configs/all"),
118
es2015: require("./configs/es2015"),
12-
es2016: require("./configs/es2016"),
13-
es2017: require("./configs/es2017"),
14-
es2018: require("./configs/es2018"),
15-
es2019: require("./configs/es2019"),
16-
es2020: require("./configs/es2020"),
179
es5: require("./configs/es5"),
1810
}

lib/configs/+eslint-plugin.js

Lines changed: 0 additions & 69 deletions
This file was deleted.

lib/configs/+modules.js

Lines changed: 0 additions & 41 deletions
This file was deleted.

lib/configs/+node.js

Lines changed: 0 additions & 100 deletions
This file was deleted.

0 commit comments

Comments
 (0)