@10stars/config 13.3.4 → 13.5.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.
@@ -2,6 +2,7 @@ import reactHooks from "@10stars/eslint-plugin-react-hooks"
2
2
  import eslintReact from "@eslint-react/eslint-plugin"
3
3
  import type { Linter } from "eslint"
4
4
  import reactPlugin from "eslint-plugin-react"
5
+ import reactCompiler from "eslint-plugin-react-compiler"
5
6
  import globals from "globals"
6
7
  import type { ConfigArray } from "typescript-eslint"
7
8
 
@@ -9,14 +10,13 @@ import baseConfig from "./eslint.config.common"
9
10
 
10
11
  const addPluginReact = () =>
11
12
  [
12
- reactPlugin.configs.flat.recommended, // This is not a plugin object, but a shareable config object
13
- reactPlugin.configs.flat["jsx-runtime"], // Add this if you are using React 17+
14
13
  {
15
- settings: {
16
- react: {
17
- version: "18",
18
- },
19
- },
14
+ ...reactPlugin.configs.flat.recommended,
15
+ settings: { react: { version: "detect" } },
16
+ },
17
+ reactPlugin.configs.flat[`jsx-runtime`], // Add this if you are using React 17+
18
+ reactCompiler.configs.recommended,
19
+ {
20
20
  rules: {
21
21
  "react/display-name": 0,
22
22
  "react/no-children-prop": 0,
@@ -73,7 +73,7 @@ const addPluginReact = () =>
73
73
 
74
74
  const addPluginReactExtra = () =>
75
75
  [
76
- eslintReact.configs["recommended-typescript"],
76
+ eslintReact.configs[`recommended-typescript`],
77
77
  {
78
78
  rules: {
79
79
  "@eslint-react/dom/no-dangerously-set-innerhtml": 0, // we use for specific cases
@@ -84,7 +84,7 @@ const addPluginReactExtra = () =>
84
84
 
85
85
  const addStorybookOverrides = () =>
86
86
  ({
87
- files: ["**/*stories.tsx"],
87
+ files: [`**/*stories.tsx`],
88
88
  rules: {
89
89
  "react/jsx-no-bind": 0, // allow inline functions
90
90
  "@eslint-react/no-array-index-key": 0, // allow array index as key
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "access": "public"
5
5
  },
6
6
  "name": "@10stars/config",
7
- "version": "13.3.4",
7
+ "version": "13.5.0",
8
8
  "author": "10stars.dev <web@alexandrov.co> (https://alexandrov.co)",
9
9
  "license": "MIT",
10
10
  "bin": {
@@ -32,13 +32,14 @@
32
32
  "@stylistic/eslint-plugin": "^4.0.0",
33
33
  "@types/lodash": "^4.0.0",
34
34
  "@types/node": "^22.0.0",
35
- "@types/react": "^18.0.0",
35
+ "@types/react": "^19.0.0",
36
36
  "esbuild": "~0.25.0",
37
37
  "tsx": "4.11.2",
38
38
  "eslint-config-prettier": "^10.0.0",
39
39
  "eslint-plugin-import": "^2.0.0",
40
40
  "eslint-plugin-no-relative-import-paths": "^1.5.4",
41
41
  "eslint-plugin-react": "^7.0.0",
42
+ "eslint-plugin-react-compiler": "^19.1.0-rc.1",
42
43
  "eslint-plugin-regexp": "^2.0.0",
43
44
  "eslint-plugin-simple-import-sort": "^12.0.0",
44
45
  "globals": "^16.0.0",
package/src/index.ts CHANGED
@@ -64,6 +64,14 @@ const actions = {
64
64
  info: `Lint code (once)`,
65
65
  action: async () => exec(`eslint --fix ${await getESLintCommonCmd()}`),
66
66
  },
67
+ precommit: {
68
+ info: `Run pre-commit hooks`,
69
+ action: () => {
70
+ const pathCommitlint = new URL(`../commitlint.config.js`, import.meta.url)
71
+ .pathname
72
+ exec(`npm exec -- commitlint --edit --config ${pathCommitlint}`)
73
+ },
74
+ },
67
75
  } satisfies Record<string, { info: string; action: () => void | Promise<void> }>
68
76
 
69
77
  export const run = async () => {