@futagoza/eslint-config 16.0.0 → 17.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +57 -63
  2. package/index.js +5 -25
  3. package/package.json +10 -10
package/README.md CHANGED
@@ -1,63 +1,57 @@
1
- [![dependencies](https://img.shields.io/david/futagoza/eslint-config-futagozaryuu.svg?path=packages/@futagoza/eslint-config)](https://david-dm.org/futagoza/eslint-config-futagozaryuu?path=packages/@futagoza/eslint-config)
2
- [![History](https://img.shields.io/badge/history-CHANGELOG.md-orange.svg)](https://github.com/futagoza/eslint-config-futagozaryuu/blob/master/CHANGELOG.md)
3
- [![License](https://img.shields.io/badge/license-mit-blue.svg)](https://opensource.org/licenses/MIT)
4
-
5
- > This package contains configuration files for ESLint v7.15+<br>
6
-
7
- These is the default configuration for ESLint that I use in my JavaScript and/or TypeScript projects. It extends my other ESLint configurations to create a single unified configuration that can easily be used when working with:
8
-
9
- - Node LTS release's
10
- - TypeScript
11
- - Test files
12
-
13
- ## installation
14
-
15
- ```console
16
- $ npm i --save-dev @futagoza/eslint-config
17
- ```
18
-
19
- ## usage
20
-
21
- Put the following into your configuration (`.eslintrc.json` file or the _"eslintConfig"_ field in `package.json`):
22
-
23
- ```json
24
- {
25
- "extends": "@futagoza"
26
- }
27
- ```
28
-
29
- ## configurations
30
-
31
- A list of usable configurations as well the configurations they use:
32
-
33
- - __`@futagoza`__ (extends _[@futagoza/ignore][ECI]_, _[@futagoza/node/10][ECN]_, _[@futagoza/typescript][ECT]_ and _[@futagoza/dev/test][ECD]_)
34
-
35
- If you are using this configuration via `yarn install` (Yarn 1 only) then the following should be available as well:
36
-
37
- - __[`@futagoza/core`][ECC]__
38
- - __[`@futagoza/dev`][ECD]__ (extends _[@futagoza/globals][ECG]_, _[@futagoza/javascript][ECJ]_ and _[@futagoza/node][ECN]_)
39
- - __[`@futagoza/globals`][ECG]__
40
- - __[`@futagoza/ignore`][ECI]__
41
- - __[`@futagoza/javascript`][ECJ]__ (extends _[@futagoza/core][ECC]_ and _[@futagoza/globals][ECG]_)
42
- - __[`@futagoza/node`][ECN]__ (extends _[@futagoza/globals][ECG]_ and _[@futagoza/javascript][ECJ]_)
43
- - __[`@futagoza/typescript`][ECT]__ (pulls in rule settings from _[@futagoza/core][ECC]_ and _[@futagoza/javascript][ECJ]_)
44
-
45
- [ECC]: https://www.npmjs.com/package/@futagoza/eslint-config-core
46
- [ECD]: https://www.npmjs.com/package/@futagoza/eslint-config-dev
47
- [ECG]: https://www.npmjs.com/package/@futagoza/eslint-config-globals
48
- [ECI]: https://www.npmjs.com/package/@futagoza/eslint-config-ignore
49
- [ECJ]: https://www.npmjs.com/package/@futagoza/eslint-config-javascript
50
- [ECN]: https://www.npmjs.com/package/@futagoza/eslint-config-node
51
- [ECT]: https://www.npmjs.com/package/@futagoza/eslint-config-typescript
52
-
53
- ## ignored patterns
54
-
55
- This configuration includes _[@futagoza/ignore][ECI]_, which exports a set of file-path globs (mostly recursively) to ignore files using the `ignorePatterns` property (a top-level configuration property for ESLint configuration files).
56
-
57
- - See ignored patterns: [@futagoza/eslint-config-ignore/index.js](https://github.com/futagoza/eslint-config-futagozaryuu/blob/master/packages/%40futagoza/eslint-config-ignore/index.js)
58
- - See documentation: [eslint.org/docs/user-guide/configuring#ignoring-files-and-directories](https://eslint.org/docs/user-guide/configuring#ignoring-files-and-directories)
59
-
60
- ## license
61
-
62
- Copyright © 2017+ Futago-za Ryuu<br>
63
- Released under the MIT License, [http://opensource.org/licenses/MIT](http://opensource.org/licenses/MIT)
1
+ > This package contains configuration files for ESLint v10+<br>
2
+
3
+ These is the default configuration file I use for ESLint, used for my JavaScript and/or TypeScript projects. It extends my other ESLint configurations to create a single unified configuration that can easily be used when working with:
4
+
5
+ - Node v20+ (and by extension ECMAScript 2023+)
6
+ - TypeScript v6+
7
+
8
+ ## installation
9
+
10
+ ```console
11
+ $ npm i --save-dev @futagoza/eslint-config
12
+ ```
13
+
14
+ ## usage
15
+
16
+ Put the following into your eslint configuration file:
17
+
18
+ ```js
19
+ import futagoza from "@futagoza/eslint-config"
20
+
21
+ // this if you don't plan to add more configurations
22
+ export default futagoza
23
+
24
+ // this if you need more configurations
25
+ export default [
26
+
27
+ futagoza,
28
+
29
+ // ...
30
+
31
+ ]
32
+ ```
33
+
34
+ Unlike the rest of my configuration files, this one does not export a raw javascript object that represents the config, mainly due to the fact that this configuration file is meant to be an all in one ready to use config; this is why I don't recommend you use it in the `extends` array property for _defineConfig_ from `eslint/config`; It's best you just create your own configuration from my other configuration files, some of which should be available simply by only putting this (`@futagoza/eslint-config`) in your projects/packages dependencies.
35
+
36
+ ## configurations
37
+
38
+ The main configuration file is a combination of all of the following configuration files available as individual packages:
39
+
40
+ - __[`@futagoza/eslint-config-core`](https://www.npmjs.com/package/@futagoza/eslint-config-core)__
41
+ - __[`@futagoza/eslint-config-globals`](https://www.npmjs.com/package/@futagoza/eslint-config-globals)__
42
+ - __[`@futagoza/eslint-config-ignore`](https://www.npmjs.com/package/@futagoza/eslint-config-ignore)__
43
+ - __[`@futagoza/eslint-config-javascript`](https://www.npmjs.com/package/@futagoza/eslint-config-javascript)__
44
+ - __[`@futagoza/eslint-config-node`](https://www.npmjs.com/package/@futagoza/eslint-config-node)__
45
+ - __[`@futagoza/eslint-config-typescript`](https://www.npmjs.com/package/@futagoza/eslint-config-typescript)__
46
+
47
+ ## global ignore
48
+
49
+ This configuration includes _@futagoza/eslint-config-ignore_, which exports a set of file-path globs (mostly recursively), used by this configuration to add a global `ignore` property.
50
+
51
+ - See ignored patterns: [@futagoza/eslint-config-ignore/index.js](https://github.com/futagoza/eslint-config-futagozaryuu/blob/master/packages/%40futagoza/eslint-config-ignore/index.js)
52
+ - See documentation: [eslint.org/docs/latest/use/configure/ignore](https://eslint.org/docs/latest/use/configure/ignore)
53
+
54
+ ## license
55
+
56
+ Copyright © 2017+ Futago-za Ryuu<br>
57
+ Released under the MIT License, [http://opensource.org/licenses/MIT](http://opensource.org/licenses/MIT)
package/index.js CHANGED
@@ -1,26 +1,6 @@
1
- "use strict";
1
+ import { defineConfig } from "eslint/config"
2
+ import ignore from "@futagoza/eslint-config-ignore"
3
+ import node from "@futagoza/eslint-config-node/20.js"
4
+ import typescript from "@futagoza/eslint-config-typescript/node.js"
2
5
 
3
- module.exports = {
4
-
5
- "extends": [
6
-
7
- "@futagoza/ignore",
8
- "@futagoza/node/10",
9
- "@futagoza/typescript",
10
- "@futagoza/dev/test",
11
-
12
- ],
13
-
14
- "overrides": [
15
- {
16
- "files": [ "*.ts", "*.tsx" ],
17
- "rules": {
18
- "@typescript-eslint/no-unsafe-assignment": "off",
19
- "@typescript-eslint/no-unsafe-call": "off",
20
- "@typescript-eslint/no-unsafe-member-access": "off",
21
- "@typescript-eslint/no-unsafe-return": "off",
22
- },
23
- },
24
- ],
25
-
26
- };
6
+ export default defineConfig( ignore, node, typescript )
package/package.json CHANGED
@@ -1,33 +1,33 @@
1
1
  {
2
2
  "name": "@futagoza/eslint-config",
3
- "version": "16.0.0",
3
+ "version": "17.0.0",
4
4
  "description": "Futago-za Ryuu's default ESLint configuration",
5
5
  "keywords": [
6
6
  "eslint",
7
7
  "configuration",
8
+ "lint",
8
9
  "style",
10
+ "ecmascript",
11
+ "es2023",
9
12
  "javascript",
10
- "node",
11
13
  "typescript",
12
- "test",
13
- "html",
14
- "script"
14
+ "node"
15
15
  ],
16
16
  "repository": "https://github.com/futagoza/eslint-config-futagozaryuu/tree/master/packages/@futagoza/eslint-config",
17
17
  "license": "MIT",
18
18
  "author": "Futago-za Ryuu",
19
19
  "main": "index.js",
20
+ "type": "module",
20
21
  "dependencies": {
21
- "@futagoza/eslint-config-dev": "16.0.0",
22
- "@futagoza/eslint-config-ignore": "13.2.0",
23
- "@futagoza/eslint-config-node": "16.0.0",
24
- "@futagoza/eslint-config-typescript": "16.0.0"
22
+ "@futagoza/eslint-config-ignore": "17.0.0",
23
+ "@futagoza/eslint-config-node": "17.0.0",
24
+ "@futagoza/eslint-config-typescript": "17.0.0"
25
25
  },
26
26
  "peerDependencies": {
27
27
  "eslint": "*",
28
28
  "typescript": "*"
29
29
  },
30
30
  "engines": {
31
- "node": ">=10.0.0"
31
+ "node": ">=20.0.0"
32
32
  }
33
33
  }