@innovixx/eslint-config 3.0.8 → 3.0.10-alpha.1

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.
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) Innovixx Ltd
3
+ Copyright (c) Innovixx Digital Limited
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -1,62 +1,51 @@
1
- # JavaScript Style Guide
1
+ # ESLint Config Guide
2
2
 
3
3
  ## Highlights
4
4
 
5
+ An extensible config library for JavaScript developers which utilizes the [flat config](https://eslint.org/docs/latest/use/migrate-to-9.0.0#flat-linter) now default in ESlint v9.x.
6
+
5
7
  ## Quick Start
6
8
 
7
9
  ### Installation
8
10
 
9
- ```bash
10
- $ npm i --save-dev @innovixx/eslint-config
11
- $ npm info @innovixx/eslint-config peerDependencies
12
- $ npm i --save-dev <dependency>@<version> # for each dependency in the above output
13
- $ # or
14
- $ yarn add --dev @innovixx/eslint-config
15
- $ yarn info @innovixx/eslint-config peerDependencies
16
- $ yarn add --dev <dependency>@<version> # for each dependency in the above output
11
+ ```
12
+ npm i --save-dev @innovixx/eslint-config
13
+ ```
14
+ ```
15
+ yarn add --dev @innovixx/eslint-config
16
+ ```
17
+ ```
18
+ pnpm i -D @innovixx/eslint-config
17
19
  ```
18
20
 
19
21
  ### Usage
20
22
 
21
- There are a number of configurations for consumption, all of which are packaged together as the default export &mdash; *or they can be selectively extended, which prevents the path names [from being written shorthand](https://eslint.org/docs/developer-guide/shareable-configs#sharing-multiple-configs).*
23
+ There are a number of configurations for consumption. For an example of a minimal base configuration:
22
24
 
23
25
  ```javascript
24
- {
25
- "extends": "@innovixx"
26
- // or selectively extend any config(s)
27
- // "extends": [
28
- // "@innovixx/eslint-config/configs/base",
29
- // "@innovixx/eslint-config/configs/jest",
30
- // "@innovixx/eslint-config/configs/react",
31
- // ]
32
- }
26
+ import baseConfig from '@innovixx/eslint-config/config/configs/base/index.mjs';
27
+
28
+ export default [
29
+ baseConfig,
30
+ {
31
+ files: ['**/*.{js}'],
32
+ },
33
+ ];
33
34
  ```
35
+ This can then be extended to provide the React, TypeScript and Jest Configs also available in the library, as well as custom rules, plugins, and settings. For more information see the [ESLint config guide](https://eslint.org/docs/latest/use/configure/configuration-files)
34
36
 
35
- If using Webpack, install and configure `eslint-loader` to have loaded files automatically linted.
36
-
37
- ```javascript
38
- {
39
- test: /\.js$/,
40
- exclude: /node_modules/,
41
- loader: 'eslint-loader',
42
- options: {
43
- fix: true,
44
- emitWarning: true,
45
- },
46
- }
47
- ```
48
-
49
- For working examples, see the [demo app](./demo/App.demo.js).
37
+ For working examples, see the [demo app](./demo).
50
38
 
51
39
  ## Demo
52
40
 
53
- ```bash
54
- $ git clone git@github.com:Innovixx-Development/eslint-config.git
55
- $ yarn
56
- $ yarn demo
57
- $ open http://localhost:3000
58
41
  ```
42
+ git clone git@github.com:innovixx/eslint-config.git
43
+ pnpm i
44
+ pnpm lint
45
+ ```
46
+
47
+ The demo directory uses the eslint config file in the [root](https://github.com/innovixx/eslint-config/blob/master/eslint.config.mjs) of the project.
59
48
 
60
49
  ## License
61
50
 
62
- [MIT](https://github.com/Innovixx-Development/eslint-config/blob/master/LICENSE) Copyright (c) Innovixx, Ltd
51
+ [MIT](https://github.com/innovixx/eslint-config/blob/master/LICENSE) Copyright (c) Innovixx Digital Limited
@@ -293,7 +293,10 @@ const reactRules = {
293
293
 
294
294
  // Enforce JSX indentation
295
295
  // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-indent.md
296
- 'react/jsx-indent': ['error', 2],
296
+ 'react/jsx-indent': ['error', 'tab', {
297
+ checkAttributes: true,
298
+ indentLogicalExpressions: true,
299
+ }],
297
300
 
298
301
  // Disallow target="_blank" on links
299
302
  // https://github.com/yannickcr/eslint-plugin-react/blob/ac102885765be5ff37847a871f239c6703e1c7cc/docs/rules/jsx-no-target-blank.md
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@innovixx/eslint-config",
3
- "version": "3.0.8",
3
+ "version": "3.0.10-alpha.1",
4
4
  "main": "configs/index.mjs",
5
5
  "repository": "git@github.com:innovixx/eslint-config.git",
6
6
  "description": "Opinionated ESLint config for JavaScript developers",
@@ -15,33 +15,40 @@
15
15
  "scripts": {
16
16
  "lint": "eslint demo/**/*.{js,jsx,ts,tsx}"
17
17
  },
18
+ "peerDependencies": {
19
+ "eslint": "^9.26.0"
20
+ },
18
21
  "dependencies": {
19
- "@eslint-react/eslint-plugin": "1.16.1",
20
- "@eslint/js": "9.19.0",
22
+ "@eslint-react/eslint-plugin": "1.49.0",
23
+ "@eslint/js": "^9.26.0",
21
24
  "@types/eslint": "9.6.1",
22
25
  "@types/eslint__js": "8.42.3",
23
- "@types/node": "^22.12.0",
24
- "@types/react": "^19.0.8",
25
- "@types/react-dom": "^19.0.3",
26
- "@typescript-eslint/eslint-plugin": "^8.23.0",
27
- "@typescript-eslint/parser": "^8.23.0",
28
- "eslint": "9.19.0",
26
+ "@types/node": "^22.15.18",
27
+ "@types/react": "^19.1.4",
28
+ "@types/react-dom": "^19.1.5",
29
+ "@typescript-eslint/eslint-plugin": "^8.32.1",
30
+ "@typescript-eslint/parser": "^8.32.1",
31
+ "eslint-import-resolver-typescript": "^4.3.4",
29
32
  "eslint-plugin-import": "^2.31.0",
30
33
  "eslint-plugin-jest": "^28.11.0",
31
34
  "eslint-plugin-jest-dom": "^5.5.0",
32
35
  "eslint-plugin-jsx-a11y": "^6.10.2",
33
- "eslint-plugin-n": "^17.15.1",
34
- "eslint-plugin-react": "^7.37.4",
35
- "eslint-plugin-react-hooks": "^5.1.0",
36
- "eslint-plugin-react-refresh": "^0.4.18",
37
- "eslint-import-resolver-typescript": "^3.7.0",
38
- "eslint-plugin-sort-export-all": "^1.4.1",
36
+ "eslint-plugin-n": "^17.18.0",
37
+ "eslint-plugin-react": "^7.37.5",
38
+ "eslint-plugin-react-hooks": "^5.2.0",
39
+ "eslint-plugin-react-refresh": "^0.4.20",
40
+ "eslint-plugin-sort-export-all": "^2.1.0",
39
41
  "eslint-plugin-sort-keys-fix": "^1.1.2",
40
- "globals": "15.12.0",
42
+ "globals": "16.1.0",
41
43
  "react": "^19.0.0",
42
44
  "react-dom": "^19.0.0",
43
- "typescript": "5.7.3",
44
- "typescript-eslint": "8.23.0"
45
+ "typescript": "5.8.3",
46
+ "typescript-eslint": "8.32.1"
45
47
  },
46
- "packageManager": "pnpm@10.5.2+sha512.da9dc28cd3ff40d0592188235ab25d3202add8a207afbedc682220e4a0029ffbff4562102b9e6e46b4e3f9e8bd53e6d05de48544b0c57d4b0179e22c76d1199b"
48
+ "packageManager": "pnpm@10.5.2+sha512.da9dc28cd3ff40d0592188235ab25d3202add8a207afbedc682220e4a0029ffbff4562102b9e6e46b4e3f9e8bd53e6d05de48544b0c57d4b0179e22c76d1199b",
49
+ "pnpm": {
50
+ "onlyBuiltDependencies": [
51
+ "unrs-resolver"
52
+ ]
53
+ }
47
54
  }