eslint-config-terrax 0.3.1-next.76e91ff → 0.3.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/README.md CHANGED
@@ -2,8 +2,9 @@
2
2
 
3
3
  # Terrax ESLint Config
4
4
 
5
- [![npm version](https://img.shields.io/npm/v/eslint-config-terrax.svg?maxAge=3600&logo=npm&style=for-the-badge)](https://www.npmjs.com/package/eslint-config-terrax)
6
- [![npm downloads](https://img.shields.io/npm/dt/eslint-config-terrax.svg?maxAge=3600&logo=npm&style=for-the-badge)](https://www.npmjs.com/package/eslint-config-terrax)
5
+ [![GitHub](https://img.shields.io/github/license/sapphiredev/utilities?style=flat-square&color=blue&logo=github)](https://github.com/sapphiredev/utilities/blob/main/LICENSE.md)
6
+ [![npm version](https://img.shields.io/npm/v/eslint-config-terrax.svg?maxAge=3600&logo=npm&style=flat-square)](https://www.npmjs.com/package/eslint-config-terrax)
7
+ [![npm downloads](https://img.shields.io/npm/dt/eslint-config-terrax.svg?maxAge=3600&logo=npm&style=flat-square&color=crimson)](https://www.npmjs.com/package/eslint-config-terrax)
7
8
 
8
9
  </div>
9
10
 
@@ -11,41 +12,60 @@ _This config was inspired by [eslint-config-neon](https://github.com/iCrawl/esli
11
12
 
12
13
  ## Installation
13
14
 
14
- terrax comes as a complete package, none of the configs require any additional dependecies.
15
+ ```sh
16
+ # NPM
17
+ npm install -D eslint eslint-config-terrax
15
18
 
16
- ```sh-session
17
- npm install eslint eslint-config-terrax
18
- yarn add eslint eslint-config-terrax
19
- pnpm add eslint eslint-config-terrax
19
+ # Yarn
20
+ yarn add -D eslint eslint-config-terrax
21
+
22
+ # PNPM
23
+ pnpm add -D eslint eslint-config-terrax
20
24
  ```
21
25
 
22
- ## Usage
26
+ ## Configurations
27
+
28
+ Package includes the following configurations:
29
+
30
+ | Configuration | Description |
31
+ | -------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
32
+ | [`eslint-config-terrax/common`](./src/common.ts) | The terrax code style guide. |
33
+ | [`eslint-config-terrax/browser`](./src/browser.ts) | For usage with DOM and other browser APIs. |
34
+ | [`eslint-config-terrax/edge`](./src/edge.ts) | For usage with an edge runtime [Vercel](https://vercel.com/blog/introducing-the-edge-runtime), [Cloudflare Workers](https://workers.cloudflare.com/), or others. |
35
+ | [`eslint-config-terrax/jsx`](./src/jsx.ts) | For usage with [JSX](https://reactjs.org/docs/introducing-jsx.html) (with or without [React](https://reactjs.org/)). |
36
+ | [`eslint-config-terrax/jsx-a11y`](./src/jsx-a11y.ts) | For usage with [JSX](https://facebook.github.io/react/) (with or without [React](https://reactjs.org/)) and want to include [accessibility checks](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y). |
37
+ | [`eslint-config-terrax/next`](./src/next.ts) | For usage with [Next.js](https://nextjs.org/). |
38
+ | [`eslint-config-terrax/node`](./src/node.ts) | For usage with Node.js. |
39
+ | [`eslint-config-terrax/react`](./src/react.ts) | For usage with [React](https://reactjs.org/). |
40
+ | [`eslint-config-terrax/typescript`](./src/typescript.ts) | For usage with [TypeScript](http://typescriptlang.org/). |
41
+
42
+ ## Notes
23
43
 
24
- This package includes the following configurations:
44
+ ### Flat Config only
25
45
 
26
- - [`eslint-config-terrax/common`](./src/common.ts) The terrax code style guide.
27
- - [`eslint-config-terrax/browser`](./src/browser.ts) – for usage with DOM and other browser APIs.
28
- - [`eslint-config-terrax/edge`](./src/edge.ts) – for usage with an edge runtime [Vercel](https://vercel.com/blog/introducing-the-edge-runtime), [Cloudflare Workers](https://workers.cloudflare.com/), or others.
29
- - [`eslint-config-terrax/jsx`](./src/jsx.ts) – for usage with [JSX](https://reactjs.org/docs/introducing-jsx.html) (with or without [React](https://reactjs.org/)).
30
- - [`eslint-config-terrax/jsx-a11y`](./src/jsx-a11y.ts) – for usage with [JSX](https://facebook.github.io/react/) (with or without [React](https://reactjs.org/)) and want to include [accessibility checks](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y).
31
- - [`eslint-config-terrax/next`](./src/next.ts) – for usage with [Next.js](https://nextjs.org/).
32
- - [`eslint-config-terrax/node`](./src/node.ts) – for usage with Node.js.
33
- - [`eslint-config-terrax/react`](./src/react.ts) – for usage with [React](https://reactjs.org/).
34
- - [`eslint-config-terrax/typescript`](./src/typescript.ts) – for usage with [TypeScript](http://typescriptlang.org/).
46
+ It is important to note that this package only exports [ESLint Flat Config][]! This means that you _have_ to use at least ESLint 9 and `eslint.config.js`, `eslint.config.mjs`, or `eslint.config.cjs` to use this package. See the ESLint documentation on flat config for more information.
35
47
 
36
- ### Notes
48
+ ### Importing
37
49
 
38
- #### Flat Config only
50
+ There are two ways to import the configs:
39
51
 
40
- It is important to note that this package only exports [ESLint Flat Config][]! This means that you _have_ to use `eslint.config.js`, `eslint.config.mjs`, or `eslint.config.cjs` to use this package. See the ESLint documentation on flat config for more information.
52
+ ```ts
53
+ import common from 'eslint-config-terrax/common';
54
+ ```
55
+
56
+ or
41
57
 
42
- #### Merging Configs
58
+ ```ts
59
+ import { common } from 'eslint-config-terrax';
60
+ ```
61
+
62
+ ### Merging Configs
43
63
 
44
64
  In the examples below you will see `lodash.merge` being used. This is of vital importance as objects often have to be deeply merged when using ESLint Flat Config. If you don't merge the objects, you will overwrite the previous object with the new one, and your config will be invalid.
45
65
 
46
- ### Configuration
66
+ ## Usage
47
67
 
48
- #### Node.js
68
+ ### NodeJS
49
69
 
50
70
  ```js
51
71
  import { common, node, typescript } from 'eslint-config-terrax';
@@ -70,7 +90,7 @@ const config = [
70
90
  export default config;
71
91
  ```
72
92
 
73
- #### Next.js
93
+ ### NextJS
74
94
 
75
95
  ```js
76
96
  import { browser, common, edge, next, node, react, typescript } from 'eslint-config-terrax';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/jsx-a11y.ts"],"names":["fixupPluginRules","eslintPluginJsxA11y"],"mappings":";;;;;;;;;;AAKA,IAAM,KAAmC,GAAA;AAAA,EACxC,mBAAqB,EAAA,CAAC,MAAQ,EAAA,EAAE,QAAU,EAAA,CAAC,KAAK,CAAA,EAAG,GAAK,EAAA,CAAC,OAAO,CAAA,EAAG,CAAA;AAAA,EACnE,qBAAuB,EAAA,MAAA;AAAA,EACvB,yBAA2B,EAAA,MAAA;AAAA,EAC3B,oCAAsC,EAAA,MAAA;AAAA,EACtC,uCAAyC,EAAA,MAAA;AAAA,EACzC,mCAAqC,EAAA;AACtC,CAAA;AAEA,IAAM,MAA0C,GAAA;AAAA,EAC/C;AAAA,IACC,OAAS,EAAA;AAAA,MACR,UAAA,EAAYA,wBAAiBC,oCAAmB;AAAA,KACjD;AAAA,IACA;AAAA;AAEF,CAAA;AAEA,IAAO,gBAAQ,GAAA","file":"jsx-a11y.cjs","sourcesContent":["import { fixupPluginRules } from '@eslint/compat';\nimport type { TSESLint } from '@typescript-eslint/utils';\n// @ts-expect-error eslint-plugin-jsx-a11y is not typed\nimport eslintPluginJsxA11y from 'eslint-plugin-jsx-a11y';\n\nconst rules: TSESLint.FlatConfig.Rules = {\n\t'jsx-a11y/alt-text': ['warn', { elements: ['img'], img: ['Image'] }],\n\t'jsx-a11y/aria-props': 'warn',\n\t'jsx-a11y/aria-proptypes': 'warn',\n\t'jsx-a11y/aria-unsupported-elements': 'warn',\n\t'jsx-a11y/role-has-required-aria-props': 'warn',\n\t'jsx-a11y/role-supports-aria-props': 'warn'\n};\n\nconst config: TSESLint.FlatConfig.ConfigArray = [\n\t{\n\t\tplugins: {\n\t\t\t'jsx-a11y': fixupPluginRules(eslintPluginJsxA11y)\n\t\t},\n\t\trules\n\t}\n];\n\nexport default config;\n"]}
1
+ {"version":3,"sources":["../../src/jsx-a11y.ts"],"names":["fixupPluginRules","eslintPluginJsxA11y"],"mappings":";;;;;;;;;;AAKA,IAAM,KAAmC,GAAA;AAAA,EACxC,mBAAqB,EAAA,CAAC,MAAQ,EAAA,EAAE,QAAU,EAAA,CAAC,KAAK,CAAA,EAAG,GAAK,EAAA,CAAC,OAAO,CAAA,EAAG,CAAA;AAAA,EACnE,qBAAuB,EAAA,MAAA;AAAA,EACvB,yBAA2B,EAAA,MAAA;AAAA,EAC3B,oCAAsC,EAAA,MAAA;AAAA,EACtC,uCAAyC,EAAA,MAAA;AAAA,EACzC,mCAAqC,EAAA;AACtC,CAAA;AAEA,IAAM,MAA0C,GAAA;AAAA,EAC/C;AAAA,IACC,OAAS,EAAA;AAAA,MACR,UAAA,EAAYA,wBAAiBC,oCAAmB;AAAA,KACjD;AAAA,IACA;AAAA;AAEF,CAAA;AAEA,IAAO,gBAAQ,GAAA","file":"jsx-a11y.cjs","sourcesContent":["import type { TSESLint } from '@typescript-eslint/utils';\nimport { fixupPluginRules } from '@eslint/compat';\n// @ts-expect-error eslint-plugin-jsx-a11y is not typed\nimport eslintPluginJsxA11y from 'eslint-plugin-jsx-a11y';\n\nconst rules: TSESLint.FlatConfig.Rules = {\n\t'jsx-a11y/alt-text': ['warn', { elements: ['img'], img: ['Image'] }],\n\t'jsx-a11y/aria-props': 'warn',\n\t'jsx-a11y/aria-proptypes': 'warn',\n\t'jsx-a11y/aria-unsupported-elements': 'warn',\n\t'jsx-a11y/role-has-required-aria-props': 'warn',\n\t'jsx-a11y/role-supports-aria-props': 'warn'\n};\n\nconst config: TSESLint.FlatConfig.ConfigArray = [\n\t{\n\t\tplugins: {\n\t\t\t'jsx-a11y': fixupPluginRules(eslintPluginJsxA11y)\n\t\t},\n\t\trules\n\t}\n];\n\nexport default config;\n"]}
package/dist/cjs/jsx.cjs CHANGED
@@ -55,7 +55,6 @@ var config = [
55
55
  }
56
56
  },
57
57
  plugins: {
58
- // @ts-expect-error
59
58
  react: eslintPluginReact__default.default
60
59
  },
61
60
  rules,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/jsx.ts"],"names":["eslintPluginReact"],"mappings":";;;;;;;;;AAGA,IAAM,KAAmC,GAAA;AAAA,EACxC,oBAAsB,EAAA,MAAA;AAAA,EACtB,eAAiB,EAAA;AAAA,IAChB,MAAA;AAAA,IACA;AAAA,MACC,sBAAwB,EAAA,IAAA;AAAA,MACxB,wBAA0B,EAAA;AAAA;AAC3B,GACD;AAAA,EACA,gCAAkC,EAAA,MAAA;AAAA,EAClC,8BAAgC,EAAA,MAAA;AAAA,EAChC,2BAA6B,EAAA,MAAA;AAAA,EAC7B,oBAAsB,EAAA,MAAA;AAAA,EACtB,sBAAwB,EAAA,KAAA;AAAA,EACxB,qBAAuB,EAAA,MAAA;AAAA,EACvB,wBAA0B,EAAA,MAAA;AAAA,EAC1B,+BAAiC,EAAA,MAAA;AAAA,EACjC,qBAAuB,EAAA,MAAA;AAAA,EACvB,gCAAkC,EAAA,MAAA;AAAA,EAClC,wBAA0B,EAAA,MAAA;AAAA,EAC1B,qBAAuB,EAAA,MAAA;AAAA,EACvB,8BAAgC,EAAA,MAAA;AAAA,EAChC,sBAAwB,EAAA,MAAA;AAAA,EACxB,6BAA+B,EAAA,MAAA;AAAA,EAC/B,2BAA6B,EAAA,MAAA;AAAA,EAC7B,iBAAmB,EAAA,KAAA;AAAA,EACnB,kBAAoB,EAAA,MAAA;AAAA,EACpB,0BAA4B,EAAA,KAAA;AAAA,EAC5B,6BAA+B,EAAA;AAChC,CAAA;AAEA,IAAM,QAAyC,GAAA;AAAA,EAC9C,qBAAA,EAAuB,CAAC,KAAA,EAAO,MAAM,CAAA;AAAA,EACrC,mBAAqB,EAAA;AAAA,IACpB,IAAM,EAAA;AAAA,MACL,UAAA,EAAY,CAAC,KAAA,EAAO,MAAM;AAAA;AAC3B;AAEF,CAAA;AAEA,IAAM,MAA0C,GAAA;AAAA,EAC/C;AAAA,IACC,eAAiB,EAAA;AAAA,MAChB,aAAe,EAAA;AAAA,QACd,YAAc,EAAA;AAAA,UACb,GAAK,EAAA;AAAA;AACN;AACD,KACD;AAAA,IACA,OAAS,EAAA;AAAA;AAAA,MAER,KAAO,EAAAA;AAAA,KACR;AAAA,IACA,KAAA;AAAA,IACA;AAAA;AAEF,CAAA;AAEA,IAAO,WAAQ,GAAA","file":"jsx.cjs","sourcesContent":["import type { TSESLint } from '@typescript-eslint/utils';\nimport eslintPluginReact from 'eslint-plugin-react';\n\nconst rules: TSESLint.FlatConfig.Rules = {\n\t'react/display-name': 'warn',\n\t'react/jsx-key': [\n\t\t'warn',\n\t\t{\n\t\t\tcheckFragmentShorthand: true,\n\t\t\tcheckKeyMustBeforeSpread: true\n\t\t}\n\t],\n\t'react/jsx-no-comment-textnodes': 'warn',\n\t'react/jsx-no-duplicate-props': 'warn',\n\t'react/jsx-no-target-blank': 'warn',\n\t'react/jsx-no-undef': 'warn',\n\t'react/jsx-uses-react': 'off',\n\t'react/jsx-uses-vars': 'warn',\n\t'react/no-children-prop': 'warn',\n\t'react/no-danger-with-children': 'warn',\n\t'react/no-deprecated': 'warn',\n\t'react/no-direct-mutation-state': 'warn',\n\t'react/no-find-dom-node': 'warn',\n\t'react/no-is-mounted': 'warn',\n\t'react/no-render-return-value': 'warn',\n\t'react/no-string-refs': 'warn',\n\t'react/no-unescaped-entities': 'warn',\n\t'react/no-unknown-property': 'warn',\n\t'react/no-unsafe': 'off',\n\t'react/prop-types': 'warn',\n\t'react/react-in-jsx-scope': 'off',\n\t'react/require-render-return': 'warn'\n};\n\nconst settings: TSESLint.FlatConfig.Settings = {\n\t'import-x/extensions': ['.js', '.jsx'],\n\t'import-x/resolver': {\n\t\tnode: {\n\t\t\textensions: ['.js', '.jsx']\n\t\t}\n\t}\n};\n\nconst config: TSESLint.FlatConfig.ConfigArray = [\n\t{\n\t\tlanguageOptions: {\n\t\t\tparserOptions: {\n\t\t\t\tecmaFeatures: {\n\t\t\t\t\tjsx: true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tplugins: {\n\t\t\t// @ts-expect-error\n\t\t\treact: eslintPluginReact\n\t\t},\n\t\trules,\n\t\tsettings\n\t}\n];\n\nexport default config;\n"]}
1
+ {"version":3,"sources":["../../src/jsx.ts"],"names":["eslintPluginReact"],"mappings":";;;;;;;;;AAIA,IAAM,KAAmC,GAAA;AAAA,EACxC,oBAAsB,EAAA,MAAA;AAAA,EACtB,eAAiB,EAAA;AAAA,IAChB,MAAA;AAAA,IACA;AAAA,MACC,sBAAwB,EAAA,IAAA;AAAA,MACxB,wBAA0B,EAAA;AAAA;AAC3B,GACD;AAAA,EACA,gCAAkC,EAAA,MAAA;AAAA,EAClC,8BAAgC,EAAA,MAAA;AAAA,EAChC,2BAA6B,EAAA,MAAA;AAAA,EAC7B,oBAAsB,EAAA,MAAA;AAAA,EACtB,sBAAwB,EAAA,KAAA;AAAA,EACxB,qBAAuB,EAAA,MAAA;AAAA,EACvB,wBAA0B,EAAA,MAAA;AAAA,EAC1B,+BAAiC,EAAA,MAAA;AAAA,EACjC,qBAAuB,EAAA,MAAA;AAAA,EACvB,gCAAkC,EAAA,MAAA;AAAA,EAClC,wBAA0B,EAAA,MAAA;AAAA,EAC1B,qBAAuB,EAAA,MAAA;AAAA,EACvB,8BAAgC,EAAA,MAAA;AAAA,EAChC,sBAAwB,EAAA,MAAA;AAAA,EACxB,6BAA+B,EAAA,MAAA;AAAA,EAC/B,2BAA6B,EAAA,MAAA;AAAA,EAC7B,iBAAmB,EAAA,KAAA;AAAA,EACnB,kBAAoB,EAAA,MAAA;AAAA,EACpB,0BAA4B,EAAA,KAAA;AAAA,EAC5B,6BAA+B,EAAA;AAChC,CAAA;AAEA,IAAM,QAAyC,GAAA;AAAA,EAC9C,qBAAA,EAAuB,CAAC,KAAA,EAAO,MAAM,CAAA;AAAA,EACrC,mBAAqB,EAAA;AAAA,IACpB,IAAM,EAAA;AAAA,MACL,UAAA,EAAY,CAAC,KAAA,EAAO,MAAM;AAAA;AAC3B;AAEF,CAAA;AAEA,IAAM,MAA0C,GAAA;AAAA,EAC/C;AAAA,IACC,eAAiB,EAAA;AAAA,MAChB,aAAe,EAAA;AAAA,QACd,YAAc,EAAA;AAAA,UACb,GAAK,EAAA;AAAA;AACN;AACD,KACD;AAAA,IACA,OAAS,EAAA;AAAA,MACR,KAAO,EAAAA;AAAA,KACR;AAAA,IACA,KAAA;AAAA,IACA;AAAA;AAEF,CAAA;AAEA,IAAO,WAAQ,GAAA","file":"jsx.cjs","sourcesContent":["import type { TSESLint } from '@typescript-eslint/utils';\nimport type { ESLint } from 'eslint';\nimport eslintPluginReact from 'eslint-plugin-react';\n\nconst rules: TSESLint.FlatConfig.Rules = {\n\t'react/display-name': 'warn',\n\t'react/jsx-key': [\n\t\t'warn',\n\t\t{\n\t\t\tcheckFragmentShorthand: true,\n\t\t\tcheckKeyMustBeforeSpread: true\n\t\t}\n\t],\n\t'react/jsx-no-comment-textnodes': 'warn',\n\t'react/jsx-no-duplicate-props': 'warn',\n\t'react/jsx-no-target-blank': 'warn',\n\t'react/jsx-no-undef': 'warn',\n\t'react/jsx-uses-react': 'off',\n\t'react/jsx-uses-vars': 'warn',\n\t'react/no-children-prop': 'warn',\n\t'react/no-danger-with-children': 'warn',\n\t'react/no-deprecated': 'warn',\n\t'react/no-direct-mutation-state': 'warn',\n\t'react/no-find-dom-node': 'warn',\n\t'react/no-is-mounted': 'warn',\n\t'react/no-render-return-value': 'warn',\n\t'react/no-string-refs': 'warn',\n\t'react/no-unescaped-entities': 'warn',\n\t'react/no-unknown-property': 'warn',\n\t'react/no-unsafe': 'off',\n\t'react/prop-types': 'warn',\n\t'react/react-in-jsx-scope': 'off',\n\t'react/require-render-return': 'warn'\n};\n\nconst settings: TSESLint.FlatConfig.Settings = {\n\t'import-x/extensions': ['.js', '.jsx'],\n\t'import-x/resolver': {\n\t\tnode: {\n\t\t\textensions: ['.js', '.jsx']\n\t\t}\n\t}\n};\n\nconst config: TSESLint.FlatConfig.ConfigArray = [\n\t{\n\t\tlanguageOptions: {\n\t\t\tparserOptions: {\n\t\t\t\tecmaFeatures: {\n\t\t\t\t\tjsx: true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tplugins: {\n\t\t\treact: eslintPluginReact as ESLint.Plugin\n\t\t},\n\t\trules,\n\t\tsettings\n\t}\n];\n\nexport default config;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/next.ts"],"names":["fixupPluginRules","eslintPluginNext","jsxa11y"],"mappings":";;;;;;;;;;;;AAMA,IAAM,KAAmC,GAAA;AAAA,EACxC,gCAAkC,EAAA,MAAA;AAAA,EAClC,mCAAqC,EAAA,MAAA;AAAA,EACrC,6BAA+B,EAAA,OAAA;AAAA,EAC/B,+BAAiC,EAAA,MAAA;AAAA,EACjC,sCAAwC,EAAA,OAAA;AAAA,EACxC,sCAAwC,EAAA,MAAA;AAAA,EACxC,0DAA4D,EAAA,MAAA;AAAA,EAC5D,wBAA0B,EAAA,MAAA;AAAA,EAC1B,uCAAyC,EAAA,OAAA;AAAA,EACzC,8BAAgC,EAAA,OAAA;AAAA,EAChC,4BAA8B,EAAA,MAAA;AAAA,EAC9B,uCAAyC,EAAA,OAAA;AAAA,EACzC,mCAAqC,EAAA,OAAA;AAAA,EACrC,2BAA6B,EAAA,MAAA;AAAA,EAC7B,gCAAkC,EAAA,MAAA;AAAA,EAClC,wCAA0C,EAAA,OAAA;AAAA,EAC1C,sCAAwC,EAAA,MAAA;AAAA,EACxC,4BAA8B,EAAA,OAAA;AAAA,EAC9B,sCAAwC,EAAA,MAAA;AAAA,EACxC,qBAAuB,EAAA,MAAA;AAAA,EACvB,mCAAqC,EAAA,MAAA;AAAA,EAErC,qBAAuB,EAAA;AACxB,CAAA;AAEA,IAAM,MAA0C,GAAA;AAAA,EAC/C;AAAA,IACC,OAAS,EAAA;AAAA,MACR,YAAA,EAAcA,wBAAiBC,iCAAgB;AAAA,KAChD;AAAA,IACA;AAAA,GACD;AAAA,EACA,GAAGC;AACJ,CAAA;AAEA,IAAO,YAAQ,GAAA","file":"next.cjs","sourcesContent":["import { fixupPluginRules } from '@eslint/compat';\n// @ts-expect-error @next/eslint-plugin-next is not typed\nimport eslintPluginNext from '@next/eslint-plugin-next';\nimport type { TSESLint } from '@typescript-eslint/utils';\nimport jsxa11y from './jsx-a11y';\n\nconst rules: TSESLint.FlatConfig.Rules = {\n\t'@next/next/google-font-display': 'warn',\n\t'@next/next/google-font-preconnect': 'warn',\n\t'@next/next/inline-script-id': 'error',\n\t'@next/next/next-script-for-ga': 'warn',\n\t'@next/next/no-assign-module-variable': 'error',\n\t'@next/next/no-async-client-component': 'warn',\n\t'@next/next/no-before-interactive-script-outside-document': 'warn',\n\t'@next/next/no-css-tags': 'warn',\n\t'@next/next/no-document-import-in-page': 'error',\n\t'@next/next/no-duplicate-head': 'error',\n\t'@next/next/no-head-element': 'warn',\n\t'@next/next/no-head-import-in-document': 'error',\n\t'@next/next/no-html-link-for-pages': 'error',\n\t'@next/next/no-img-element': 'warn',\n\t'@next/next/no-page-custom-font': 'warn',\n\t'@next/next/no-script-component-in-head': 'error',\n\t'@next/next/no-styled-jsx-in-document': 'warn',\n\t'@next/next/no-sync-scripts': 'error',\n\t'@next/next/no-title-in-document-head': 'warn',\n\t'@next/next/no-typos': 'warn',\n\t'@next/next/no-unwanted-polyfillio': 'warn',\n\n\t'import-x/extensions': 'off'\n};\n\nconst config: TSESLint.FlatConfig.ConfigArray = [\n\t{\n\t\tplugins: {\n\t\t\t'@next/next': fixupPluginRules(eslintPluginNext)\n\t\t},\n\t\trules\n\t},\n\t...jsxa11y\n];\n\nexport default config;\n"]}
1
+ {"version":3,"sources":["../../src/next.ts"],"names":["fixupPluginRules","eslintPluginNext","jsxa11y"],"mappings":";;;;;;;;;;;;AAMA,IAAM,KAAmC,GAAA;AAAA,EACxC,gCAAkC,EAAA,MAAA;AAAA,EAClC,mCAAqC,EAAA,MAAA;AAAA,EACrC,6BAA+B,EAAA,OAAA;AAAA,EAC/B,+BAAiC,EAAA,MAAA;AAAA,EACjC,sCAAwC,EAAA,OAAA;AAAA,EACxC,sCAAwC,EAAA,MAAA;AAAA,EACxC,0DAA4D,EAAA,MAAA;AAAA,EAC5D,wBAA0B,EAAA,MAAA;AAAA,EAC1B,uCAAyC,EAAA,OAAA;AAAA,EACzC,8BAAgC,EAAA,OAAA;AAAA,EAChC,4BAA8B,EAAA,MAAA;AAAA,EAC9B,uCAAyC,EAAA,OAAA;AAAA,EACzC,mCAAqC,EAAA,OAAA;AAAA,EACrC,2BAA6B,EAAA,MAAA;AAAA,EAC7B,gCAAkC,EAAA,MAAA;AAAA,EAClC,wCAA0C,EAAA,OAAA;AAAA,EAC1C,sCAAwC,EAAA,MAAA;AAAA,EACxC,4BAA8B,EAAA,OAAA;AAAA,EAC9B,sCAAwC,EAAA,MAAA;AAAA,EACxC,qBAAuB,EAAA,MAAA;AAAA,EACvB,mCAAqC,EAAA,MAAA;AAAA,EAErC,qBAAuB,EAAA;AACxB,CAAA;AAEA,IAAM,MAA0C,GAAA;AAAA,EAC/C;AAAA,IACC,OAAS,EAAA;AAAA,MACR,YAAA,EAAcA,wBAAiBC,iCAAgB;AAAA,KAChD;AAAA,IACA;AAAA,GACD;AAAA,EACA,GAAGC;AACJ,CAAA;AAEA,IAAO,YAAQ,GAAA","file":"next.cjs","sourcesContent":["import type { TSESLint } from '@typescript-eslint/utils';\nimport { fixupPluginRules } from '@eslint/compat';\n// @ts-expect-error @next/eslint-plugin-next is not typed\nimport eslintPluginNext from '@next/eslint-plugin-next';\nimport jsxa11y from './jsx-a11y';\n\nconst rules: TSESLint.FlatConfig.Rules = {\n\t'@next/next/google-font-display': 'warn',\n\t'@next/next/google-font-preconnect': 'warn',\n\t'@next/next/inline-script-id': 'error',\n\t'@next/next/next-script-for-ga': 'warn',\n\t'@next/next/no-assign-module-variable': 'error',\n\t'@next/next/no-async-client-component': 'warn',\n\t'@next/next/no-before-interactive-script-outside-document': 'warn',\n\t'@next/next/no-css-tags': 'warn',\n\t'@next/next/no-document-import-in-page': 'error',\n\t'@next/next/no-duplicate-head': 'error',\n\t'@next/next/no-head-element': 'warn',\n\t'@next/next/no-head-import-in-document': 'error',\n\t'@next/next/no-html-link-for-pages': 'error',\n\t'@next/next/no-img-element': 'warn',\n\t'@next/next/no-page-custom-font': 'warn',\n\t'@next/next/no-script-component-in-head': 'error',\n\t'@next/next/no-styled-jsx-in-document': 'warn',\n\t'@next/next/no-sync-scripts': 'error',\n\t'@next/next/no-title-in-document-head': 'warn',\n\t'@next/next/no-typos': 'warn',\n\t'@next/next/no-unwanted-polyfillio': 'warn',\n\n\t'import-x/extensions': 'off'\n};\n\nconst config: TSESLint.FlatConfig.ConfigArray = [\n\t{\n\t\tplugins: {\n\t\t\t'@next/next': fixupPluginRules(eslintPluginNext)\n\t\t},\n\t\trules\n\t},\n\t...jsxa11y\n];\n\nexport default config;\n"]}
@@ -26,10 +26,8 @@ var settings = {
26
26
  }
27
27
  };
28
28
  var config = [
29
- // @ts-expect-error
30
29
  ...jsx__default.default,
31
30
  {
32
- // @ts-expect-error
33
31
  plugins: {
34
32
  react: eslintPluginReact__default.default,
35
33
  "react-hooks": compat.fixupPluginRules(eslintPluginReactHooks__default.default)
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/react.ts"],"names":["jsx","eslintPluginReact","fixupPluginRules","eslintPluginReactHooks"],"mappings":";;;;;;;;;;;;;;AAOA,IAAM,KAAmC,GAAA;AAAA,EACxC,2BAA6B,EAAA,KAAA;AAAA,EAC7B,0BAA4B,EAAA,KAAA;AAAA,EAC5B,kBAAoB,EAAA,KAAA;AAAA,EACpB,2BAA6B,EAAA,KAAA;AAAA,EAE7B,4BAA8B,EAAA,OAAA;AAAA,EAC9B,6BAA+B,EAAA;AAChC,CAAA;AAEA,IAAM,QAAyC,GAAA;AAAA,EAC9C,KAAO,EAAA;AAAA,IACN,OAAS,EAAA;AAAA;AAEX,CAAA;AAEA,IAAM,MAA0C,GAAA;AAAA;AAAA,EAE/C,GAAGA,oBAAA;AAAA,EACH;AAAA;AAAA,IAEC,OAAS,EAAA;AAAA,MACR,KAAO,EAAAC,kCAAA;AAAA,MACP,aAAA,EAAeC,wBAAiBC,uCAAsB;AAAA,KACvD;AAAA,IACA,KAAA;AAAA,IACA;AAAA;AAEF,CAAA;AAEA,IAAO,aAAQ,GAAA","file":"react.cjs","sourcesContent":["import { fixupPluginRules } from '@eslint/compat';\nimport type { TSESLint } from '@typescript-eslint/utils';\nimport eslintPluginReact from 'eslint-plugin-react';\n// @ts-expect-error eslint-plugin-react-hooks is not typed\nimport eslintPluginReactHooks from 'eslint-plugin-react-hooks';\nimport jsx from './jsx';\n\nconst rules: TSESLint.FlatConfig.Rules = {\n\t'react/no-unknown-property': 'off',\n\t'react/react-in-jsx-scope': 'off',\n\t'react/prop-types': 'off',\n\t'react/jsx-no-target-blank': 'off',\n\n\t'react-hooks/rules-of-hooks': 'error',\n\t'react-hooks/exhaustive-deps': 'warn'\n};\n\nconst settings: TSESLint.FlatConfig.Settings = {\n\treact: {\n\t\tversion: 'detect'\n\t}\n};\n\nconst config: TSESLint.FlatConfig.ConfigArray = [\n\t// @ts-expect-error\n\t...jsx,\n\t{\n\t\t// @ts-expect-error\n\t\tplugins: {\n\t\t\treact: eslintPluginReact,\n\t\t\t'react-hooks': fixupPluginRules(eslintPluginReactHooks)\n\t\t},\n\t\trules,\n\t\tsettings\n\t}\n];\n\nexport default config;\n"]}
1
+ {"version":3,"sources":["../../src/react.ts"],"names":["jsx","eslintPluginReact","fixupPluginRules","eslintPluginReactHooks"],"mappings":";;;;;;;;;;;;;;AAQA,IAAM,KAAmC,GAAA;AAAA,EACxC,2BAA6B,EAAA,KAAA;AAAA,EAC7B,0BAA4B,EAAA,KAAA;AAAA,EAC5B,kBAAoB,EAAA,KAAA;AAAA,EACpB,2BAA6B,EAAA,KAAA;AAAA,EAE7B,4BAA8B,EAAA,OAAA;AAAA,EAC9B,6BAA+B,EAAA;AAChC,CAAA;AAEA,IAAM,QAAyC,GAAA;AAAA,EAC9C,KAAO,EAAA;AAAA,IACN,OAAS,EAAA;AAAA;AAEX,CAAA;AAEA,IAAM,MAA0C,GAAA;AAAA,EAC/C,GAAGA,oBAAA;AAAA,EACH;AAAA,IACC,OAAS,EAAA;AAAA,MACR,KAAO,EAAAC,kCAAA;AAAA,MACP,aAAA,EAAeC,wBAAiBC,uCAAsB;AAAA,KACvD;AAAA,IACA,KAAA;AAAA,IACA;AAAA;AAEF,CAAA;AAEA,IAAO,aAAQ,GAAA","file":"react.cjs","sourcesContent":["import type { TSESLint } from '@typescript-eslint/utils';\nimport type { ESLint } from 'eslint';\nimport { fixupPluginRules } from '@eslint/compat';\nimport eslintPluginReact from 'eslint-plugin-react';\n// @ts-expect-error eslint-plugin-react-hooks is not typed\nimport eslintPluginReactHooks from 'eslint-plugin-react-hooks';\nimport jsx from './jsx';\n\nconst rules: TSESLint.FlatConfig.Rules = {\n\t'react/no-unknown-property': 'off',\n\t'react/react-in-jsx-scope': 'off',\n\t'react/prop-types': 'off',\n\t'react/jsx-no-target-blank': 'off',\n\n\t'react-hooks/rules-of-hooks': 'error',\n\t'react-hooks/exhaustive-deps': 'warn'\n};\n\nconst settings: TSESLint.FlatConfig.Settings = {\n\treact: {\n\t\tversion: 'detect'\n\t}\n};\n\nconst config: TSESLint.FlatConfig.ConfigArray = [\n\t...jsx,\n\t{\n\t\tplugins: {\n\t\t\treact: eslintPluginReact as ESLint.Plugin,\n\t\t\t'react-hooks': fixupPluginRules(eslintPluginReactHooks)\n\t\t},\n\t\trules,\n\t\tsettings\n\t}\n];\n\nexport default config;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/jsx-a11y.ts"],"names":[],"mappings":";;;;AAKA,IAAM,KAAmC,GAAA;AAAA,EACxC,mBAAqB,EAAA,CAAC,MAAQ,EAAA,EAAE,QAAU,EAAA,CAAC,KAAK,CAAA,EAAG,GAAK,EAAA,CAAC,OAAO,CAAA,EAAG,CAAA;AAAA,EACnE,qBAAuB,EAAA,MAAA;AAAA,EACvB,yBAA2B,EAAA,MAAA;AAAA,EAC3B,oCAAsC,EAAA,MAAA;AAAA,EACtC,uCAAyC,EAAA,MAAA;AAAA,EACzC,mCAAqC,EAAA;AACtC,CAAA;AAEA,IAAM,MAA0C,GAAA;AAAA,EAC/C;AAAA,IACC,OAAS,EAAA;AAAA,MACR,UAAA,EAAY,iBAAiB,mBAAmB;AAAA,KACjD;AAAA,IACA;AAAA;AAEF,CAAA;AAEA,IAAO,gBAAQ,GAAA","file":"jsx-a11y.mjs","sourcesContent":["import { fixupPluginRules } from '@eslint/compat';\nimport type { TSESLint } from '@typescript-eslint/utils';\n// @ts-expect-error eslint-plugin-jsx-a11y is not typed\nimport eslintPluginJsxA11y from 'eslint-plugin-jsx-a11y';\n\nconst rules: TSESLint.FlatConfig.Rules = {\n\t'jsx-a11y/alt-text': ['warn', { elements: ['img'], img: ['Image'] }],\n\t'jsx-a11y/aria-props': 'warn',\n\t'jsx-a11y/aria-proptypes': 'warn',\n\t'jsx-a11y/aria-unsupported-elements': 'warn',\n\t'jsx-a11y/role-has-required-aria-props': 'warn',\n\t'jsx-a11y/role-supports-aria-props': 'warn'\n};\n\nconst config: TSESLint.FlatConfig.ConfigArray = [\n\t{\n\t\tplugins: {\n\t\t\t'jsx-a11y': fixupPluginRules(eslintPluginJsxA11y)\n\t\t},\n\t\trules\n\t}\n];\n\nexport default config;\n"]}
1
+ {"version":3,"sources":["../../src/jsx-a11y.ts"],"names":[],"mappings":";;;;AAKA,IAAM,KAAmC,GAAA;AAAA,EACxC,mBAAqB,EAAA,CAAC,MAAQ,EAAA,EAAE,QAAU,EAAA,CAAC,KAAK,CAAA,EAAG,GAAK,EAAA,CAAC,OAAO,CAAA,EAAG,CAAA;AAAA,EACnE,qBAAuB,EAAA,MAAA;AAAA,EACvB,yBAA2B,EAAA,MAAA;AAAA,EAC3B,oCAAsC,EAAA,MAAA;AAAA,EACtC,uCAAyC,EAAA,MAAA;AAAA,EACzC,mCAAqC,EAAA;AACtC,CAAA;AAEA,IAAM,MAA0C,GAAA;AAAA,EAC/C;AAAA,IACC,OAAS,EAAA;AAAA,MACR,UAAA,EAAY,iBAAiB,mBAAmB;AAAA,KACjD;AAAA,IACA;AAAA;AAEF,CAAA;AAEA,IAAO,gBAAQ,GAAA","file":"jsx-a11y.mjs","sourcesContent":["import type { TSESLint } from '@typescript-eslint/utils';\nimport { fixupPluginRules } from '@eslint/compat';\n// @ts-expect-error eslint-plugin-jsx-a11y is not typed\nimport eslintPluginJsxA11y from 'eslint-plugin-jsx-a11y';\n\nconst rules: TSESLint.FlatConfig.Rules = {\n\t'jsx-a11y/alt-text': ['warn', { elements: ['img'], img: ['Image'] }],\n\t'jsx-a11y/aria-props': 'warn',\n\t'jsx-a11y/aria-proptypes': 'warn',\n\t'jsx-a11y/aria-unsupported-elements': 'warn',\n\t'jsx-a11y/role-has-required-aria-props': 'warn',\n\t'jsx-a11y/role-supports-aria-props': 'warn'\n};\n\nconst config: TSESLint.FlatConfig.ConfigArray = [\n\t{\n\t\tplugins: {\n\t\t\t'jsx-a11y': fixupPluginRules(eslintPluginJsxA11y)\n\t\t},\n\t\trules\n\t}\n];\n\nexport default config;\n"]}
package/dist/esm/jsx.mjs CHANGED
@@ -49,7 +49,6 @@ var config = [
49
49
  }
50
50
  },
51
51
  plugins: {
52
- // @ts-expect-error
53
52
  react: eslintPluginReact
54
53
  },
55
54
  rules,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/jsx.ts"],"names":[],"mappings":";;;AAGA,IAAM,KAAmC,GAAA;AAAA,EACxC,oBAAsB,EAAA,MAAA;AAAA,EACtB,eAAiB,EAAA;AAAA,IAChB,MAAA;AAAA,IACA;AAAA,MACC,sBAAwB,EAAA,IAAA;AAAA,MACxB,wBAA0B,EAAA;AAAA;AAC3B,GACD;AAAA,EACA,gCAAkC,EAAA,MAAA;AAAA,EAClC,8BAAgC,EAAA,MAAA;AAAA,EAChC,2BAA6B,EAAA,MAAA;AAAA,EAC7B,oBAAsB,EAAA,MAAA;AAAA,EACtB,sBAAwB,EAAA,KAAA;AAAA,EACxB,qBAAuB,EAAA,MAAA;AAAA,EACvB,wBAA0B,EAAA,MAAA;AAAA,EAC1B,+BAAiC,EAAA,MAAA;AAAA,EACjC,qBAAuB,EAAA,MAAA;AAAA,EACvB,gCAAkC,EAAA,MAAA;AAAA,EAClC,wBAA0B,EAAA,MAAA;AAAA,EAC1B,qBAAuB,EAAA,MAAA;AAAA,EACvB,8BAAgC,EAAA,MAAA;AAAA,EAChC,sBAAwB,EAAA,MAAA;AAAA,EACxB,6BAA+B,EAAA,MAAA;AAAA,EAC/B,2BAA6B,EAAA,MAAA;AAAA,EAC7B,iBAAmB,EAAA,KAAA;AAAA,EACnB,kBAAoB,EAAA,MAAA;AAAA,EACpB,0BAA4B,EAAA,KAAA;AAAA,EAC5B,6BAA+B,EAAA;AAChC,CAAA;AAEA,IAAM,QAAyC,GAAA;AAAA,EAC9C,qBAAA,EAAuB,CAAC,KAAA,EAAO,MAAM,CAAA;AAAA,EACrC,mBAAqB,EAAA;AAAA,IACpB,IAAM,EAAA;AAAA,MACL,UAAA,EAAY,CAAC,KAAA,EAAO,MAAM;AAAA;AAC3B;AAEF,CAAA;AAEA,IAAM,MAA0C,GAAA;AAAA,EAC/C;AAAA,IACC,eAAiB,EAAA;AAAA,MAChB,aAAe,EAAA;AAAA,QACd,YAAc,EAAA;AAAA,UACb,GAAK,EAAA;AAAA;AACN;AACD,KACD;AAAA,IACA,OAAS,EAAA;AAAA;AAAA,MAER,KAAO,EAAA;AAAA,KACR;AAAA,IACA,KAAA;AAAA,IACA;AAAA;AAEF,CAAA;AAEA,IAAO,WAAQ,GAAA","file":"jsx.mjs","sourcesContent":["import type { TSESLint } from '@typescript-eslint/utils';\nimport eslintPluginReact from 'eslint-plugin-react';\n\nconst rules: TSESLint.FlatConfig.Rules = {\n\t'react/display-name': 'warn',\n\t'react/jsx-key': [\n\t\t'warn',\n\t\t{\n\t\t\tcheckFragmentShorthand: true,\n\t\t\tcheckKeyMustBeforeSpread: true\n\t\t}\n\t],\n\t'react/jsx-no-comment-textnodes': 'warn',\n\t'react/jsx-no-duplicate-props': 'warn',\n\t'react/jsx-no-target-blank': 'warn',\n\t'react/jsx-no-undef': 'warn',\n\t'react/jsx-uses-react': 'off',\n\t'react/jsx-uses-vars': 'warn',\n\t'react/no-children-prop': 'warn',\n\t'react/no-danger-with-children': 'warn',\n\t'react/no-deprecated': 'warn',\n\t'react/no-direct-mutation-state': 'warn',\n\t'react/no-find-dom-node': 'warn',\n\t'react/no-is-mounted': 'warn',\n\t'react/no-render-return-value': 'warn',\n\t'react/no-string-refs': 'warn',\n\t'react/no-unescaped-entities': 'warn',\n\t'react/no-unknown-property': 'warn',\n\t'react/no-unsafe': 'off',\n\t'react/prop-types': 'warn',\n\t'react/react-in-jsx-scope': 'off',\n\t'react/require-render-return': 'warn'\n};\n\nconst settings: TSESLint.FlatConfig.Settings = {\n\t'import-x/extensions': ['.js', '.jsx'],\n\t'import-x/resolver': {\n\t\tnode: {\n\t\t\textensions: ['.js', '.jsx']\n\t\t}\n\t}\n};\n\nconst config: TSESLint.FlatConfig.ConfigArray = [\n\t{\n\t\tlanguageOptions: {\n\t\t\tparserOptions: {\n\t\t\t\tecmaFeatures: {\n\t\t\t\t\tjsx: true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tplugins: {\n\t\t\t// @ts-expect-error\n\t\t\treact: eslintPluginReact\n\t\t},\n\t\trules,\n\t\tsettings\n\t}\n];\n\nexport default config;\n"]}
1
+ {"version":3,"sources":["../../src/jsx.ts"],"names":[],"mappings":";;;AAIA,IAAM,KAAmC,GAAA;AAAA,EACxC,oBAAsB,EAAA,MAAA;AAAA,EACtB,eAAiB,EAAA;AAAA,IAChB,MAAA;AAAA,IACA;AAAA,MACC,sBAAwB,EAAA,IAAA;AAAA,MACxB,wBAA0B,EAAA;AAAA;AAC3B,GACD;AAAA,EACA,gCAAkC,EAAA,MAAA;AAAA,EAClC,8BAAgC,EAAA,MAAA;AAAA,EAChC,2BAA6B,EAAA,MAAA;AAAA,EAC7B,oBAAsB,EAAA,MAAA;AAAA,EACtB,sBAAwB,EAAA,KAAA;AAAA,EACxB,qBAAuB,EAAA,MAAA;AAAA,EACvB,wBAA0B,EAAA,MAAA;AAAA,EAC1B,+BAAiC,EAAA,MAAA;AAAA,EACjC,qBAAuB,EAAA,MAAA;AAAA,EACvB,gCAAkC,EAAA,MAAA;AAAA,EAClC,wBAA0B,EAAA,MAAA;AAAA,EAC1B,qBAAuB,EAAA,MAAA;AAAA,EACvB,8BAAgC,EAAA,MAAA;AAAA,EAChC,sBAAwB,EAAA,MAAA;AAAA,EACxB,6BAA+B,EAAA,MAAA;AAAA,EAC/B,2BAA6B,EAAA,MAAA;AAAA,EAC7B,iBAAmB,EAAA,KAAA;AAAA,EACnB,kBAAoB,EAAA,MAAA;AAAA,EACpB,0BAA4B,EAAA,KAAA;AAAA,EAC5B,6BAA+B,EAAA;AAChC,CAAA;AAEA,IAAM,QAAyC,GAAA;AAAA,EAC9C,qBAAA,EAAuB,CAAC,KAAA,EAAO,MAAM,CAAA;AAAA,EACrC,mBAAqB,EAAA;AAAA,IACpB,IAAM,EAAA;AAAA,MACL,UAAA,EAAY,CAAC,KAAA,EAAO,MAAM;AAAA;AAC3B;AAEF,CAAA;AAEA,IAAM,MAA0C,GAAA;AAAA,EAC/C;AAAA,IACC,eAAiB,EAAA;AAAA,MAChB,aAAe,EAAA;AAAA,QACd,YAAc,EAAA;AAAA,UACb,GAAK,EAAA;AAAA;AACN;AACD,KACD;AAAA,IACA,OAAS,EAAA;AAAA,MACR,KAAO,EAAA;AAAA,KACR;AAAA,IACA,KAAA;AAAA,IACA;AAAA;AAEF,CAAA;AAEA,IAAO,WAAQ,GAAA","file":"jsx.mjs","sourcesContent":["import type { TSESLint } from '@typescript-eslint/utils';\nimport type { ESLint } from 'eslint';\nimport eslintPluginReact from 'eslint-plugin-react';\n\nconst rules: TSESLint.FlatConfig.Rules = {\n\t'react/display-name': 'warn',\n\t'react/jsx-key': [\n\t\t'warn',\n\t\t{\n\t\t\tcheckFragmentShorthand: true,\n\t\t\tcheckKeyMustBeforeSpread: true\n\t\t}\n\t],\n\t'react/jsx-no-comment-textnodes': 'warn',\n\t'react/jsx-no-duplicate-props': 'warn',\n\t'react/jsx-no-target-blank': 'warn',\n\t'react/jsx-no-undef': 'warn',\n\t'react/jsx-uses-react': 'off',\n\t'react/jsx-uses-vars': 'warn',\n\t'react/no-children-prop': 'warn',\n\t'react/no-danger-with-children': 'warn',\n\t'react/no-deprecated': 'warn',\n\t'react/no-direct-mutation-state': 'warn',\n\t'react/no-find-dom-node': 'warn',\n\t'react/no-is-mounted': 'warn',\n\t'react/no-render-return-value': 'warn',\n\t'react/no-string-refs': 'warn',\n\t'react/no-unescaped-entities': 'warn',\n\t'react/no-unknown-property': 'warn',\n\t'react/no-unsafe': 'off',\n\t'react/prop-types': 'warn',\n\t'react/react-in-jsx-scope': 'off',\n\t'react/require-render-return': 'warn'\n};\n\nconst settings: TSESLint.FlatConfig.Settings = {\n\t'import-x/extensions': ['.js', '.jsx'],\n\t'import-x/resolver': {\n\t\tnode: {\n\t\t\textensions: ['.js', '.jsx']\n\t\t}\n\t}\n};\n\nconst config: TSESLint.FlatConfig.ConfigArray = [\n\t{\n\t\tlanguageOptions: {\n\t\t\tparserOptions: {\n\t\t\t\tecmaFeatures: {\n\t\t\t\t\tjsx: true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tplugins: {\n\t\t\treact: eslintPluginReact as ESLint.Plugin\n\t\t},\n\t\trules,\n\t\tsettings\n\t}\n];\n\nexport default config;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/next.ts"],"names":[],"mappings":";;;;;AAMA,IAAM,KAAmC,GAAA;AAAA,EACxC,gCAAkC,EAAA,MAAA;AAAA,EAClC,mCAAqC,EAAA,MAAA;AAAA,EACrC,6BAA+B,EAAA,OAAA;AAAA,EAC/B,+BAAiC,EAAA,MAAA;AAAA,EACjC,sCAAwC,EAAA,OAAA;AAAA,EACxC,sCAAwC,EAAA,MAAA;AAAA,EACxC,0DAA4D,EAAA,MAAA;AAAA,EAC5D,wBAA0B,EAAA,MAAA;AAAA,EAC1B,uCAAyC,EAAA,OAAA;AAAA,EACzC,8BAAgC,EAAA,OAAA;AAAA,EAChC,4BAA8B,EAAA,MAAA;AAAA,EAC9B,uCAAyC,EAAA,OAAA;AAAA,EACzC,mCAAqC,EAAA,OAAA;AAAA,EACrC,2BAA6B,EAAA,MAAA;AAAA,EAC7B,gCAAkC,EAAA,MAAA;AAAA,EAClC,wCAA0C,EAAA,OAAA;AAAA,EAC1C,sCAAwC,EAAA,MAAA;AAAA,EACxC,4BAA8B,EAAA,OAAA;AAAA,EAC9B,sCAAwC,EAAA,MAAA;AAAA,EACxC,qBAAuB,EAAA,MAAA;AAAA,EACvB,mCAAqC,EAAA,MAAA;AAAA,EAErC,qBAAuB,EAAA;AACxB,CAAA;AAEA,IAAM,MAA0C,GAAA;AAAA,EAC/C;AAAA,IACC,OAAS,EAAA;AAAA,MACR,YAAA,EAAc,iBAAiB,gBAAgB;AAAA,KAChD;AAAA,IACA;AAAA,GACD;AAAA,EACA,GAAG;AACJ,CAAA;AAEA,IAAO,YAAQ,GAAA","file":"next.mjs","sourcesContent":["import { fixupPluginRules } from '@eslint/compat';\n// @ts-expect-error @next/eslint-plugin-next is not typed\nimport eslintPluginNext from '@next/eslint-plugin-next';\nimport type { TSESLint } from '@typescript-eslint/utils';\nimport jsxa11y from './jsx-a11y';\n\nconst rules: TSESLint.FlatConfig.Rules = {\n\t'@next/next/google-font-display': 'warn',\n\t'@next/next/google-font-preconnect': 'warn',\n\t'@next/next/inline-script-id': 'error',\n\t'@next/next/next-script-for-ga': 'warn',\n\t'@next/next/no-assign-module-variable': 'error',\n\t'@next/next/no-async-client-component': 'warn',\n\t'@next/next/no-before-interactive-script-outside-document': 'warn',\n\t'@next/next/no-css-tags': 'warn',\n\t'@next/next/no-document-import-in-page': 'error',\n\t'@next/next/no-duplicate-head': 'error',\n\t'@next/next/no-head-element': 'warn',\n\t'@next/next/no-head-import-in-document': 'error',\n\t'@next/next/no-html-link-for-pages': 'error',\n\t'@next/next/no-img-element': 'warn',\n\t'@next/next/no-page-custom-font': 'warn',\n\t'@next/next/no-script-component-in-head': 'error',\n\t'@next/next/no-styled-jsx-in-document': 'warn',\n\t'@next/next/no-sync-scripts': 'error',\n\t'@next/next/no-title-in-document-head': 'warn',\n\t'@next/next/no-typos': 'warn',\n\t'@next/next/no-unwanted-polyfillio': 'warn',\n\n\t'import-x/extensions': 'off'\n};\n\nconst config: TSESLint.FlatConfig.ConfigArray = [\n\t{\n\t\tplugins: {\n\t\t\t'@next/next': fixupPluginRules(eslintPluginNext)\n\t\t},\n\t\trules\n\t},\n\t...jsxa11y\n];\n\nexport default config;\n"]}
1
+ {"version":3,"sources":["../../src/next.ts"],"names":[],"mappings":";;;;;AAMA,IAAM,KAAmC,GAAA;AAAA,EACxC,gCAAkC,EAAA,MAAA;AAAA,EAClC,mCAAqC,EAAA,MAAA;AAAA,EACrC,6BAA+B,EAAA,OAAA;AAAA,EAC/B,+BAAiC,EAAA,MAAA;AAAA,EACjC,sCAAwC,EAAA,OAAA;AAAA,EACxC,sCAAwC,EAAA,MAAA;AAAA,EACxC,0DAA4D,EAAA,MAAA;AAAA,EAC5D,wBAA0B,EAAA,MAAA;AAAA,EAC1B,uCAAyC,EAAA,OAAA;AAAA,EACzC,8BAAgC,EAAA,OAAA;AAAA,EAChC,4BAA8B,EAAA,MAAA;AAAA,EAC9B,uCAAyC,EAAA,OAAA;AAAA,EACzC,mCAAqC,EAAA,OAAA;AAAA,EACrC,2BAA6B,EAAA,MAAA;AAAA,EAC7B,gCAAkC,EAAA,MAAA;AAAA,EAClC,wCAA0C,EAAA,OAAA;AAAA,EAC1C,sCAAwC,EAAA,MAAA;AAAA,EACxC,4BAA8B,EAAA,OAAA;AAAA,EAC9B,sCAAwC,EAAA,MAAA;AAAA,EACxC,qBAAuB,EAAA,MAAA;AAAA,EACvB,mCAAqC,EAAA,MAAA;AAAA,EAErC,qBAAuB,EAAA;AACxB,CAAA;AAEA,IAAM,MAA0C,GAAA;AAAA,EAC/C;AAAA,IACC,OAAS,EAAA;AAAA,MACR,YAAA,EAAc,iBAAiB,gBAAgB;AAAA,KAChD;AAAA,IACA;AAAA,GACD;AAAA,EACA,GAAG;AACJ,CAAA;AAEA,IAAO,YAAQ,GAAA","file":"next.mjs","sourcesContent":["import type { TSESLint } from '@typescript-eslint/utils';\nimport { fixupPluginRules } from '@eslint/compat';\n// @ts-expect-error @next/eslint-plugin-next is not typed\nimport eslintPluginNext from '@next/eslint-plugin-next';\nimport jsxa11y from './jsx-a11y';\n\nconst rules: TSESLint.FlatConfig.Rules = {\n\t'@next/next/google-font-display': 'warn',\n\t'@next/next/google-font-preconnect': 'warn',\n\t'@next/next/inline-script-id': 'error',\n\t'@next/next/next-script-for-ga': 'warn',\n\t'@next/next/no-assign-module-variable': 'error',\n\t'@next/next/no-async-client-component': 'warn',\n\t'@next/next/no-before-interactive-script-outside-document': 'warn',\n\t'@next/next/no-css-tags': 'warn',\n\t'@next/next/no-document-import-in-page': 'error',\n\t'@next/next/no-duplicate-head': 'error',\n\t'@next/next/no-head-element': 'warn',\n\t'@next/next/no-head-import-in-document': 'error',\n\t'@next/next/no-html-link-for-pages': 'error',\n\t'@next/next/no-img-element': 'warn',\n\t'@next/next/no-page-custom-font': 'warn',\n\t'@next/next/no-script-component-in-head': 'error',\n\t'@next/next/no-styled-jsx-in-document': 'warn',\n\t'@next/next/no-sync-scripts': 'error',\n\t'@next/next/no-title-in-document-head': 'warn',\n\t'@next/next/no-typos': 'warn',\n\t'@next/next/no-unwanted-polyfillio': 'warn',\n\n\t'import-x/extensions': 'off'\n};\n\nconst config: TSESLint.FlatConfig.ConfigArray = [\n\t{\n\t\tplugins: {\n\t\t\t'@next/next': fixupPluginRules(eslintPluginNext)\n\t\t},\n\t\trules\n\t},\n\t...jsxa11y\n];\n\nexport default config;\n"]}
@@ -18,10 +18,8 @@ var settings = {
18
18
  }
19
19
  };
20
20
  var config = [
21
- // @ts-expect-error
22
21
  ...jsx,
23
22
  {
24
- // @ts-expect-error
25
23
  plugins: {
26
24
  react: eslintPluginReact,
27
25
  "react-hooks": fixupPluginRules(eslintPluginReactHooks)
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/react.ts"],"names":[],"mappings":";;;;;;AAOA,IAAM,KAAmC,GAAA;AAAA,EACxC,2BAA6B,EAAA,KAAA;AAAA,EAC7B,0BAA4B,EAAA,KAAA;AAAA,EAC5B,kBAAoB,EAAA,KAAA;AAAA,EACpB,2BAA6B,EAAA,KAAA;AAAA,EAE7B,4BAA8B,EAAA,OAAA;AAAA,EAC9B,6BAA+B,EAAA;AAChC,CAAA;AAEA,IAAM,QAAyC,GAAA;AAAA,EAC9C,KAAO,EAAA;AAAA,IACN,OAAS,EAAA;AAAA;AAEX,CAAA;AAEA,IAAM,MAA0C,GAAA;AAAA;AAAA,EAE/C,GAAG,GAAA;AAAA,EACH;AAAA;AAAA,IAEC,OAAS,EAAA;AAAA,MACR,KAAO,EAAA,iBAAA;AAAA,MACP,aAAA,EAAe,iBAAiB,sBAAsB;AAAA,KACvD;AAAA,IACA,KAAA;AAAA,IACA;AAAA;AAEF,CAAA;AAEA,IAAO,aAAQ,GAAA","file":"react.mjs","sourcesContent":["import { fixupPluginRules } from '@eslint/compat';\nimport type { TSESLint } from '@typescript-eslint/utils';\nimport eslintPluginReact from 'eslint-plugin-react';\n// @ts-expect-error eslint-plugin-react-hooks is not typed\nimport eslintPluginReactHooks from 'eslint-plugin-react-hooks';\nimport jsx from './jsx';\n\nconst rules: TSESLint.FlatConfig.Rules = {\n\t'react/no-unknown-property': 'off',\n\t'react/react-in-jsx-scope': 'off',\n\t'react/prop-types': 'off',\n\t'react/jsx-no-target-blank': 'off',\n\n\t'react-hooks/rules-of-hooks': 'error',\n\t'react-hooks/exhaustive-deps': 'warn'\n};\n\nconst settings: TSESLint.FlatConfig.Settings = {\n\treact: {\n\t\tversion: 'detect'\n\t}\n};\n\nconst config: TSESLint.FlatConfig.ConfigArray = [\n\t// @ts-expect-error\n\t...jsx,\n\t{\n\t\t// @ts-expect-error\n\t\tplugins: {\n\t\t\treact: eslintPluginReact,\n\t\t\t'react-hooks': fixupPluginRules(eslintPluginReactHooks)\n\t\t},\n\t\trules,\n\t\tsettings\n\t}\n];\n\nexport default config;\n"]}
1
+ {"version":3,"sources":["../../src/react.ts"],"names":[],"mappings":";;;;;;AAQA,IAAM,KAAmC,GAAA;AAAA,EACxC,2BAA6B,EAAA,KAAA;AAAA,EAC7B,0BAA4B,EAAA,KAAA;AAAA,EAC5B,kBAAoB,EAAA,KAAA;AAAA,EACpB,2BAA6B,EAAA,KAAA;AAAA,EAE7B,4BAA8B,EAAA,OAAA;AAAA,EAC9B,6BAA+B,EAAA;AAChC,CAAA;AAEA,IAAM,QAAyC,GAAA;AAAA,EAC9C,KAAO,EAAA;AAAA,IACN,OAAS,EAAA;AAAA;AAEX,CAAA;AAEA,IAAM,MAA0C,GAAA;AAAA,EAC/C,GAAG,GAAA;AAAA,EACH;AAAA,IACC,OAAS,EAAA;AAAA,MACR,KAAO,EAAA,iBAAA;AAAA,MACP,aAAA,EAAe,iBAAiB,sBAAsB;AAAA,KACvD;AAAA,IACA,KAAA;AAAA,IACA;AAAA;AAEF,CAAA;AAEA,IAAO,aAAQ,GAAA","file":"react.mjs","sourcesContent":["import type { TSESLint } from '@typescript-eslint/utils';\nimport type { ESLint } from 'eslint';\nimport { fixupPluginRules } from '@eslint/compat';\nimport eslintPluginReact from 'eslint-plugin-react';\n// @ts-expect-error eslint-plugin-react-hooks is not typed\nimport eslintPluginReactHooks from 'eslint-plugin-react-hooks';\nimport jsx from './jsx';\n\nconst rules: TSESLint.FlatConfig.Rules = {\n\t'react/no-unknown-property': 'off',\n\t'react/react-in-jsx-scope': 'off',\n\t'react/prop-types': 'off',\n\t'react/jsx-no-target-blank': 'off',\n\n\t'react-hooks/rules-of-hooks': 'error',\n\t'react-hooks/exhaustive-deps': 'warn'\n};\n\nconst settings: TSESLint.FlatConfig.Settings = {\n\treact: {\n\t\tversion: 'detect'\n\t}\n};\n\nconst config: TSESLint.FlatConfig.ConfigArray = [\n\t...jsx,\n\t{\n\t\tplugins: {\n\t\t\treact: eslintPluginReact as ESLint.Plugin,\n\t\t\t'react-hooks': fixupPluginRules(eslintPluginReactHooks)\n\t\t},\n\t\trules,\n\t\tsettings\n\t}\n];\n\nexport default config;\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eslint-config-terrax",
3
- "version": "0.3.1-next.76e91ff",
3
+ "version": "0.3.1",
4
4
  "description": "The ESLint shareable config",
5
5
  "type": "module",
6
6
  "main": "./dist/cjs/common.cjs",
@@ -125,7 +125,7 @@
125
125
  "url": "https://github.com/rygent/eslint-config-terrax/issues"
126
126
  },
127
127
  "dependencies": {
128
- "@eslint/compat": "^1.2.2",
128
+ "@eslint/compat": "^1.2.3",
129
129
  "@eslint/js": "^9.14.0",
130
130
  "@next/eslint-plugin-next": "^15.0.3",
131
131
  "@stylistic/eslint-plugin": "^2.10.1",
@@ -138,11 +138,9 @@
138
138
  "typescript-eslint": "^8.14.0"
139
139
  },
140
140
  "devDependencies": {
141
- "@octokit/action": "^7.0.0",
141
+ "@favware/cliff-jumper": "^5.0.0",
142
142
  "@sapphire/node-utilities": "^1.0.2",
143
143
  "@types/node": "^22.9.0",
144
- "conventional-changelog-cli": "^5.0.0",
145
- "conventional-recommended-bump": "^10.0.0",
146
144
  "esbuild-plugin-file-path-extensions": "^2.1.3",
147
145
  "eslint": "^9.14.0",
148
146
  "eslint-config-prettier": "^9.1.0",
@@ -164,11 +162,12 @@
164
162
  },
165
163
  "scripts": {
166
164
  "build": "tsup && pnpm run fix-mts-types",
167
- "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s",
168
165
  "fix-mts-types": "tsx scripts/fix-tsup-type-files.ts",
169
166
  "lint": "prettier --check . && eslint \"src/**/*.ts\"",
170
167
  "format": "prettier --write . && eslint \"src/**/*.ts\" --fix",
171
168
  "typecheck": "tsc --noEmit",
169
+ "check-update": "cliff-jumper --dry-run",
170
+ "release": "cliff-jumper",
172
171
  "update": "pnpm update --interactive",
173
172
  "update:latest": "pnpm update --interactive --latest"
174
173
  }