@ethang/eslint-config 18.3.0 → 18.3.3

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.
@@ -1,13 +1,13 @@
1
- version: 2
2
- updates:
3
- - package-ecosystem: "github-actions"
4
- directory: /
5
- schedule:
6
- interval: daily
7
- target-branch: "master"
8
-
9
- - package-ecosystem: npm
10
- directory: /
11
- schedule:
12
- interval: daily
13
- target-branch: "master"
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: "github-actions"
4
+ directory: /
5
+ schedule:
6
+ interval: daily
7
+ target-branch: "master"
8
+
9
+ - package-ecosystem: npm
10
+ directory: /
11
+ schedule:
12
+ interval: daily
13
+ target-branch: "master"
@@ -0,0 +1,57 @@
1
+ <component name="ProjectCodeStyleConfiguration">
2
+ <code_scheme name="Project" version="173">
3
+ <HTMLCodeStyleSettings>
4
+ <option name="HTML_SPACE_INSIDE_EMPTY_TAG" value="true" />
5
+ </HTMLCodeStyleSettings>
6
+ <JSCodeStyleSettings version="0">
7
+ <option name="FORCE_SEMICOLON_STYLE" value="true" />
8
+ <option name="SPACE_BEFORE_FUNCTION_LEFT_PARENTH" value="false" />
9
+ <option name="FORCE_QUOTE_STYlE" value="true" />
10
+ <option name="ENFORCE_TRAILING_COMMA" value="Remove" />
11
+ <option name="SPACES_WITHIN_OBJECT_LITERAL_BRACES" value="true" />
12
+ <option name="SPACES_WITHIN_IMPORTS" value="true" />
13
+ </JSCodeStyleSettings>
14
+ <TypeScriptCodeStyleSettings version="0">
15
+ <option name="FORCE_SEMICOLON_STYLE" value="true" />
16
+ <option name="SPACE_BEFORE_FUNCTION_LEFT_PARENTH" value="false" />
17
+ <option name="FORCE_QUOTE_STYlE" value="true" />
18
+ <option name="ENFORCE_TRAILING_COMMA" value="Remove" />
19
+ <option name="SPACES_WITHIN_OBJECT_LITERAL_BRACES" value="true" />
20
+ <option name="SPACES_WITHIN_IMPORTS" value="true" />
21
+ </TypeScriptCodeStyleSettings>
22
+ <VueCodeStyleSettings>
23
+ <option name="INTERPOLATION_NEW_LINE_AFTER_START_DELIMITER" value="false" />
24
+ <option name="INTERPOLATION_NEW_LINE_BEFORE_END_DELIMITER" value="false" />
25
+ </VueCodeStyleSettings>
26
+ <codeStyleSettings language="HTML">
27
+ <option name="SOFT_MARGINS" value="80" />
28
+ <indentOptions>
29
+ <option name="INDENT_SIZE" value="2" />
30
+ <option name="CONTINUATION_INDENT_SIZE" value="2" />
31
+ <option name="TAB_SIZE" value="2" />
32
+ </indentOptions>
33
+ </codeStyleSettings>
34
+ <codeStyleSettings language="JavaScript">
35
+ <option name="SOFT_MARGINS" value="80" />
36
+ <indentOptions>
37
+ <option name="INDENT_SIZE" value="2" />
38
+ <option name="CONTINUATION_INDENT_SIZE" value="2" />
39
+ <option name="TAB_SIZE" value="2" />
40
+ </indentOptions>
41
+ </codeStyleSettings>
42
+ <codeStyleSettings language="TypeScript">
43
+ <option name="SOFT_MARGINS" value="80" />
44
+ <indentOptions>
45
+ <option name="INDENT_SIZE" value="2" />
46
+ <option name="CONTINUATION_INDENT_SIZE" value="2" />
47
+ <option name="TAB_SIZE" value="2" />
48
+ </indentOptions>
49
+ </codeStyleSettings>
50
+ <codeStyleSettings language="Vue">
51
+ <option name="SOFT_MARGINS" value="80" />
52
+ <indentOptions>
53
+ <option name="CONTINUATION_INDENT_SIZE" value="2" />
54
+ </indentOptions>
55
+ </codeStyleSettings>
56
+ </code_scheme>
57
+ </component>
@@ -0,0 +1,5 @@
1
+ <component name="ProjectCodeStyleConfiguration">
2
+ <state>
3
+ <option name="USE_PER_PROJECT_SETTINGS" value="true" />
4
+ </state>
5
+ </component>
package/README.md CHANGED
@@ -1,81 +1,81 @@
1
- # Opinionated, Strict, Brutal, Unforgiving
2
-
3
- [View Config](https://eslint-config-ethang.pages.dev/rules)
4
-
5
- * 524 errored rules.
6
- * 142 rules from vanilla EsLint
7
- * 113 rules from [sindresorhus/eslint-plugin-unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn)
8
- * 104 rules from [@typescript/eslint](https://github.com/typescript-eslint/typescript-eslint)
9
- * 42 rules from [eslint-plugin-lodash](https://github.com/wix-incubator/eslint-plugin-lodash)
10
- * 35 rules from [jsx-a11y](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y)
11
- * 32 rules from [eslint-plugin-sonarjs](https://github.com/SonarSource/eslint-plugin-sonarjs)
12
- * 20 rules from [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n/tree/67bbfdf3c6862dcbfe455a4afbd83fa60f9d1ea4)
13
- * 20 rules from [eslint-plugin-github](https://github.com/github/eslint-plugin-github)
14
- * 19 rules from [eslint-plugin-perfectionist](https://github.com/azat-io/eslint-plugin-perfectionist)
15
- * 7 rules from [eslint-plugin-tailwindcss](https://github.com/francoismassart/eslint-plugin-tailwindcss)
16
- * 4 rules from [eslint-plugin-barrel-files](https://github.com/thepassle/eslint-plugin-barrel-files)
17
- * 3 rules from [@tanstack/eslint-plugin-query](https://tanstack.com/query/latest/docs/eslint/eslint-plugin-query)
18
- * 1 rule from [eslint-plugin-depend](https://github.com/es-tooling/eslint-plugin-depend/tree/main)
19
- * 1 rule from [eslint-plugin-compat](https://github.com/amilajack/eslint-plugin-compat)
20
- * Includes Prettier built-in (do NOT use this with a separate Prettier config.)
21
-
22
- # Add Even More!
23
- * 51 rules for **Astro**
24
- * `import configAstro from "@ethang/eslint-config/config.astro.js";`
25
- * 51 rules from [eslint-plugin-astro](https://github.com/ota-meshi/eslint-plugin-astro)
26
- * 72 rules for **React**
27
- * `import configReact from "@ethang/eslint-config/config.react.js";`
28
- * 70 rules from [@eslint-react/eslint-plugin](https://eslint-react.xyz/)
29
- * 2 rules from [eslint-plugin-react-hooks](https://github.com/facebook/react/tree/main/packages/eslint-plugin-react-hooks)
30
- * 19 rules for **Solid**
31
- * `import configSolid from "@ethang/eslint-config/config-solid.js";`
32
- * 19 rules from [eslint-plugin-solid](https://github.com/solidjs-community/eslint-plugin-solid)
33
-
34
- # Install
35
-
36
- `pnpm i -D eslint prettier typescript-eslint @ethang/eslint-config`
37
-
38
- **Requires TypesScript and tsconfig.json at root directory.**
39
-
40
- # Config
41
-
42
- In **eslint.config.js**
43
-
44
- ```js
45
- import config from "@ethang/eslint-config/eslint.config.js";
46
- import tseslint from "typescript-eslint";
47
- import configAstro from "@ethang/eslint-config/config.astro.js"; // OPTIONAL
48
- import configReact from "@ethang/eslint-config/config.react.js"; // OPTIONAL
49
-
50
- export default tseslint.config(...config, ...astroConfig, ...reactConfig, {
51
- languageOptions: {
52
- parserOptions: {
53
- project: true,
54
- tsconfigRootDir: import.meta.dirname,
55
- },
56
- },
57
- rules: {
58
- // your custom rules here
59
- },
60
- });
61
- ```
62
-
63
- **Scripts**:
64
-
65
- ```json
66
- "scripts": {
67
- "lint": "eslint",
68
- "lint:fix": "eslint . --fix",
69
- }
70
- ```
71
-
72
- **Browserslist**
73
-
74
- This config will also lint for browserslist features. Make sure to set this in package.json. [More info.](https://github.com/browserslist/browserslist)
75
-
76
- ```json
77
- "browserslist": [
78
- "defaults and fully supports es6-module",
79
- "maintained node versions"
80
- ]
81
- ```
1
+ # Opinionated, Strict, Brutal, Unforgiving
2
+
3
+ [View Config](https://eslint-config-ethang.pages.dev/rules)
4
+
5
+ * 524 errored rules.
6
+ * 142 rules from vanilla EsLint
7
+ * 113 rules from [sindresorhus/eslint-plugin-unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn)
8
+ * 104 rules from [@typescript/eslint](https://github.com/typescript-eslint/typescript-eslint)
9
+ * 42 rules from [eslint-plugin-lodash](https://github.com/wix-incubator/eslint-plugin-lodash)
10
+ * 35 rules from [jsx-a11y](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y)
11
+ * 32 rules from [eslint-plugin-sonarjs](https://github.com/SonarSource/eslint-plugin-sonarjs)
12
+ * 20 rules from [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n/tree/67bbfdf3c6862dcbfe455a4afbd83fa60f9d1ea4)
13
+ * 20 rules from [eslint-plugin-github](https://github.com/github/eslint-plugin-github)
14
+ * 19 rules from [eslint-plugin-perfectionist](https://github.com/azat-io/eslint-plugin-perfectionist)
15
+ * 7 rules from [eslint-plugin-tailwindcss](https://github.com/francoismassart/eslint-plugin-tailwindcss)
16
+ * 4 rules from [eslint-plugin-barrel-files](https://github.com/thepassle/eslint-plugin-barrel-files)
17
+ * 3 rules from [@tanstack/eslint-plugin-query](https://tanstack.com/query/latest/docs/eslint/eslint-plugin-query)
18
+ * 1 rule from [eslint-plugin-depend](https://github.com/es-tooling/eslint-plugin-depend/tree/main)
19
+ * 1 rule from [eslint-plugin-compat](https://github.com/amilajack/eslint-plugin-compat)
20
+ * Includes Prettier built-in (do NOT use this with a separate Prettier config.)
21
+
22
+ # Add Even More!
23
+ * 51 rules for **Astro**
24
+ * `import configAstro from "@ethang/eslint-config/config.astro.js";`
25
+ * 51 rules from [eslint-plugin-astro](https://github.com/ota-meshi/eslint-plugin-astro)
26
+ * 72 rules for **React**
27
+ * `import configReact from "@ethang/eslint-config/config.react.js";`
28
+ * 70 rules from [@eslint-react/eslint-plugin](https://eslint-react.xyz/)
29
+ * 2 rules from [eslint-plugin-react-hooks](https://github.com/facebook/react/tree/main/packages/eslint-plugin-react-hooks)
30
+ * 19 rules for **Solid**
31
+ * `import configSolid from "@ethang/eslint-config/config-solid.js";`
32
+ * 19 rules from [eslint-plugin-solid](https://github.com/solidjs-community/eslint-plugin-solid)
33
+
34
+ # Install
35
+
36
+ `pnpm i -D eslint prettier typescript-eslint @ethang/eslint-config`
37
+
38
+ **Requires TypesScript and tsconfig.json at root directory.**
39
+
40
+ # Config
41
+
42
+ In **eslint.config.js**
43
+
44
+ ```js
45
+ import config from "@ethang/eslint-config/eslint.config.js";
46
+ import tseslint from "typescript-eslint";
47
+ import configAstro from "@ethang/eslint-config/config.astro.js"; // OPTIONAL
48
+ import configReact from "@ethang/eslint-config/config.react.js"; // OPTIONAL
49
+
50
+ export default tseslint.config(...config, ...astroConfig, ...reactConfig, {
51
+ languageOptions: {
52
+ parserOptions: {
53
+ project: true,
54
+ tsconfigRootDir: import.meta.dirname,
55
+ },
56
+ },
57
+ rules: {
58
+ // your custom rules here
59
+ },
60
+ });
61
+ ```
62
+
63
+ **Scripts**:
64
+
65
+ ```json
66
+ "scripts": {
67
+ "lint": "eslint",
68
+ "lint:fix": "eslint . --fix",
69
+ }
70
+ ```
71
+
72
+ **Browserslist**
73
+
74
+ This config will also lint for browserslist features. Make sure to set this in package.json. [More info.](https://github.com/browserslist/browserslist)
75
+
76
+ ```json
77
+ "browserslist": [
78
+ "defaults and fully supports es6-module",
79
+ "maintained node versions"
80
+ ]
81
+ ```
package/config.solid.js CHANGED
@@ -7,7 +7,7 @@ export default tseslint.config({
7
7
  files: ["**/*.{jsx,tsx}"],
8
8
  ignores,
9
9
  languageOptions,
10
- plugins: [{ solid }],
10
+ plugins: { solid },
11
11
  rules: {
12
12
  "solid/components-return-once": "error",
13
13
  "solid/event-handlers": "error",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ethang/eslint-config",
3
- "version": "18.3.0",
3
+ "version": "18.3.3",
4
4
  "repository": {
5
5
  "url": "git+https://github.com/eglove/eslint-config-ethang.git"
6
6
  },
@@ -19,7 +19,7 @@
19
19
  "@eslint-react/eslint-plugin": "^1.8.2",
20
20
  "@eslint/js": "^9.8.0",
21
21
  "@tanstack/eslint-plugin-query": "^5.51.15",
22
- "@typescript-eslint/parser": "^8.0.0",
22
+ "@typescript-eslint/parser": "^8.0.1",
23
23
  "eslint": "^9.8.0",
24
24
  "eslint-config-prettier": "^9.1.0",
25
25
  "eslint-plugin-astro": "^1.2.3",
@@ -28,8 +28,8 @@
28
28
  "eslint-plugin-depend": "^0.9.0",
29
29
  "eslint-plugin-jsx-a11y": "^6.9.0",
30
30
  "eslint-plugin-lodash": "^8.0.0",
31
- "eslint-plugin-n": "^17.10.1",
32
- "eslint-plugin-perfectionist": "^3.1.1",
31
+ "eslint-plugin-n": "^17.10.2",
32
+ "eslint-plugin-perfectionist": "^3.1.2",
33
33
  "eslint-plugin-prettier": "^5.2.1",
34
34
  "eslint-plugin-react-hooks": "^4.6.2",
35
35
  "eslint-plugin-solid": "^0.14.1",
@@ -38,13 +38,13 @@
38
38
  "eslint-plugin-unicorn": "^55.0.0",
39
39
  "prettier": "^3.3.3",
40
40
  "typescript": "^5.5.4",
41
- "typescript-eslint": "^8.0.0"
41
+ "typescript-eslint": "^8.0.1"
42
42
  },
43
43
  "dependencies": {
44
44
  "@eslint-react/eslint-plugin": "^1.8.2",
45
45
  "@eslint/js": "^9.8.0",
46
46
  "@tanstack/eslint-plugin-query": "^5.51.15",
47
- "@typescript-eslint/parser": "^8.0.0",
47
+ "@typescript-eslint/parser": "^8.0.1",
48
48
  "eslint": "^9.8.0",
49
49
  "eslint-config-prettier": "^9.1.0",
50
50
  "eslint-plugin-astro": "^1.2.3",
@@ -53,8 +53,8 @@
53
53
  "eslint-plugin-depend": "^0.9.0",
54
54
  "eslint-plugin-jsx-a11y": "^6.9.0",
55
55
  "eslint-plugin-lodash": "^8.0.0",
56
- "eslint-plugin-n": "^17.10.1",
57
- "eslint-plugin-perfectionist": "^3.1.1",
56
+ "eslint-plugin-n": "^17.10.2",
57
+ "eslint-plugin-perfectionist": "^3.1.2",
58
58
  "eslint-plugin-prettier": "^5.2.1",
59
59
  "eslint-plugin-react-hooks": "^4.6.2",
60
60
  "eslint-plugin-solid": "^0.14.1",
@@ -63,10 +63,10 @@
63
63
  "eslint-plugin-unicorn": "^55.0.0",
64
64
  "prettier": "^3.3.3",
65
65
  "typescript": "^5.5.4",
66
- "typescript-eslint": "^8.0.0"
66
+ "typescript-eslint": "^8.0.1"
67
67
  },
68
68
  "devDependencies": {
69
- "@ethang/project-builder": "^1.2.0",
69
+ "@ethang/project-builder": "^1.2.1",
70
70
  "@tsconfig/node-lts": "^20.1.3",
71
71
  "@tsconfig/strictest": "^2.0.5"
72
72
  }
package/tsconfig.json CHANGED
@@ -1,3 +1,3 @@
1
- {
2
- "extends": ["@tsconfig/node-lts/tsconfig.json", "@tsconfig/strictest/tsconfig.json"],
3
- }
1
+ {
2
+ "extends": ["@tsconfig/node-lts/tsconfig.json", "@tsconfig/strictest/tsconfig.json"],
3
+ }