Skip to content

Commit 290bccf

Browse files
Breaking: Simplify configs into default, remove JSON and markdown
1 parent 94da504 commit 290bccf

23 files changed

+12453
-1586
lines changed

.eslintrc.js

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,11 @@ module.exports = {
88

99
"extends": [
1010
"plugin:evelyn/default",
11-
"plugin:evelyn/extensions",
1211
"plugin:evelyn/node",
13-
"plugin:evelyn/json",
1412
],
1513

1614
"ignorePatterns": [
1715
"lib/rules/fixes/*",
1816
"test/rules/fixes/*",
1917
],
20-
21-
"rules": {
22-
// Reason: ESLint isn't ready for ESM
23-
"unicorn/prefer-module": "off",
24-
},
2518
};

README.md

Lines changed: 20 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
[![npm version](https://badgen.net/npm/v/eslint-plugin-evelyn?icon=npm)](https://www.npmjs.com/package/eslint-plugin-evelyn)
1010
[![check status](https://badgen.net/github/checks/evelynhathaway/eslint-plugin-evelyn/main?icon=github)](https://github.com/evelynhathaway/eslint-plugin-evelyn/actions)
1111
[![rules: 1](https://badgen.net/badge/rules/1/blue)](#rules)
12-
[![configs: 19](https://badgen.net/badge/configs/19/blue)](#configs)
12+
[![configs: 12](https://badgen.net/badge/configs/12/blue)](#configs)
1313
[![license: MIT](https://badgen.net/badge/license/MIT/blue)](/LICENSE)
1414

1515
</div>
@@ -24,15 +24,15 @@ My code style is very opinionated, so I only use this package on my projects. Ho
2424

2525
```bash
2626
# Save ESLint, Import, Unicorn, and this plugin to devDependencies
27-
npm i -D eslint eslint-plugin-import eslint-plugin-unicorn eslint-plugin-regexp eslint-plugin-evelyn
27+
npm install --save-dev eslint eslint-plugin-import eslint-plugin-unicorn eslint-plugin-regexp eslint-plugin-evelyn
2828

2929
# OR
3030

3131
# Save all this plugin and ALL peerDependencies to devDependencies
32-
npx install-peerdeps -D eslint-config-evelyn
32+
npx install-peerdeps --save-dev eslint-config-evelyn
3333
```
3434

35-
### Peer dependencies
35+
### Peer Dependencies
3636

3737
npm warns about any missing peer dependencies when installing this plugin.
3838

@@ -87,8 +87,7 @@ Requires eslint `>=6.0.0`.
8787
"src/**/*.js"
8888
],
8989
"extends": [
90-
"plugin:evelyn/node",
91-
"plugin:evelyn/source"
90+
"plugin:evelyn/node"
9291
]
9392
}
9493
]
@@ -139,7 +138,7 @@ npm run lint
139138
- Use the `--debug` ESLint CLI flag for determining things like the modules that get loaded
140139
- Use the `--print-config` ESLint CLI flag for a minimal computed config
141140

142-
### Saving the entire computed config array
141+
### Saving the Entire Computed Config Array
143142

144143
Run the default export from the `save-config.js` file from inside the config file to output to monkey-patch ESLint. This works on this project as well as any package that has eslint-plugin-evelyn `>=1.0.0` as a dependency.
145144

@@ -173,27 +172,20 @@ The script is used to track the changes to the final array over time using the p
173172

174173
See the `peerDependencies` in [package.json](./package.json) for recommended dependency version ranges.
175174

176-
| Name | Description | Peer Dependencies |
177-
| --------------------------------------------------------------- | ----------------------------------------------------------------- | --------------------------------------------------------------------------------------------- |
178-
| [babel](./lib/configs/babel.js) | For files transpiled by Babel | @babel/eslint-parser |
179-
| [browser-env](./lib/configs/browser-env.js) | For the browser environment | |
180-
| [default](./lib/configs/default.js) | My style and lint rules from ESLint | eslint-plugin-unicorn, eslint-plugin-import, eslint-plugin-regexp |
181-
| [extensions](./lib/configs/extensions.js) | Enforce ESLint linting all extensions compatible with this plugin | |
182-
| [jest](./lib/configs/jest.js) | Jest tests | eslint-plugin-node, eslint-plugin-jest |
183-
| [json-comments](./lib/configs/json-comments.js) | JSON files with comments | eslint-plugin-json |
184-
| [json](./lib/configs/json.js) | JSON files | eslint-plugin-json |
185-
| [jsx](./lib/configs/jsx.js) | JSX features | eslint-plugin-jsx-a11y |
186-
| [markdown](./lib/configs/markdown.js) | Linting scripts in markdown files | eslint-plugin-markdown |
187-
| [mocha](./lib/configs/mocha.js) | Mocha tests | eslint-plugin-node, eslint-plugin-mocha |
188-
| [node-env](./lib/configs/node-env.js) | For the node env and parser options | eslint-plugin-node |
189-
| [node](./lib/configs/node.js) | Node.js environment | eslint-plugin-node |
190-
| [react](./lib/configs/react.js) | React.js, browser env, JSX | eslint-plugin-react, eslint-plugin-jsx-a11y, eslint-plugin-react-hooks, eslint-plugin-import |
191-
| [source](./lib/configs/source.js) | Files to allow unsupported syntax before transpilation | eslint-plugin-node |
192-
| [testing-library](./lib/configs/testing-library.js) | Testing library test files | eslint-plugin-testing-library |
193-
| [testing-library-react](./lib/configs/testing-library-react.js) | Testing library test files for React.js | eslint-plugin-testing-library |
194-
| [testing-library-vue](./lib/configs/testing-library-vue.js) | Testing library test files for Vue.js | eslint-plugin-testing-library |
195-
| [typescript](./lib/configs/typescript.js) | TypeScript files | @typescript-eslint/eslint-plugin, @typescript-eslint/parser, typescript, eslint-plugin-import |
196-
| [vue](./lib/configs/vue.js) | Vue.js files | @babel/eslint-parser, eslint-plugin-vue |
175+
| Name | Peer Dependencies |
176+
| --------------------------------------------------------------- | --------------------------------------------------------------------------------------------- |
177+
| [babel](./lib/configs/babel.js) | @babel/eslint-parser |
178+
| [default](./lib/configs/default.js) | eslint-plugin-unicorn, eslint-plugin-import, eslint-plugin-regexp |
179+
| [jest](./lib/configs/jest.js) | eslint-plugin-node, eslint-plugin-jest |
180+
| [jsx](./lib/configs/jsx.js) | eslint-plugin-jsx-a11y |
181+
| [mocha](./lib/configs/mocha.js) | eslint-plugin-node, eslint-plugin-mocha |
182+
| [node](./lib/configs/node.js) | eslint-plugin-node |
183+
| [react](./lib/configs/react.js) | eslint-plugin-react, eslint-plugin-jsx-a11y, eslint-plugin-react-hooks, eslint-plugin-import |
184+
| [testing-library](./lib/configs/testing-library.js) | eslint-plugin-testing-library |
185+
| [testing-library-react](./lib/configs/testing-library-react.js) | eslint-plugin-testing-library |
186+
| [testing-library-vue](./lib/configs/testing-library-vue.js) | eslint-plugin-testing-library |
187+
| [typescript](./lib/configs/typescript.js) | @typescript-eslint/eslint-plugin, @typescript-eslint/parser, typescript, eslint-plugin-import |
188+
| [vue](./lib/configs/vue.js) | @babel/eslint-parser, eslint-plugin-vue |
197189

198190
## Rules
199191

changes/git-hook.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,11 @@ const log = (message) => console.log("record-changes:", message);
4141
console.error(error);
4242

4343
if (didStash) {
44-
log("An error occured. Popping the auto-created stash...");
44+
log("An error occurred. Popping the auto-created stash...");
4545
await execAwaitable("git stash pop");
4646
}
4747

48-
// eslint-disable-next-line no-process-exit, unicorn/no-process-exit
48+
// eslint-disable-next-line unicorn/no-process-exit
4949
process.exit(1);
5050
}
5151
})();

0 commit comments

Comments
 (0)