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 +45 -25
- package/dist/cjs/jsx-a11y.cjs.map +1 -1
- package/dist/cjs/jsx.cjs +0 -1
- package/dist/cjs/jsx.cjs.map +1 -1
- package/dist/cjs/next.cjs.map +1 -1
- package/dist/cjs/react.cjs +0 -2
- package/dist/cjs/react.cjs.map +1 -1
- package/dist/esm/jsx-a11y.mjs.map +1 -1
- package/dist/esm/jsx.mjs +0 -1
- package/dist/esm/jsx.mjs.map +1 -1
- package/dist/esm/next.mjs.map +1 -1
- package/dist/esm/react.mjs +0 -2
- package/dist/esm/react.mjs.map +1 -1
- package/package.json +5 -6
package/README.md
CHANGED
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
# Terrax ESLint Config
|
|
4
4
|
|
|
5
|
-
[](https://github.com/sapphiredev/utilities/blob/main/LICENSE.md)
|
|
6
|
+
[](https://www.npmjs.com/package/eslint-config-terrax)
|
|
7
|
+
[](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
|
-
|
|
15
|
+
```sh
|
|
16
|
+
# NPM
|
|
17
|
+
npm install -D eslint eslint-config-terrax
|
|
15
18
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
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
|
-
##
|
|
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
|
-
|
|
44
|
+
### Flat Config only
|
|
25
45
|
|
|
26
|
-
|
|
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
|
-
###
|
|
48
|
+
### Importing
|
|
37
49
|
|
|
38
|
-
|
|
50
|
+
There are two ways to import the configs:
|
|
39
51
|
|
|
40
|
-
|
|
52
|
+
```ts
|
|
53
|
+
import common from 'eslint-config-terrax/common';
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
or
|
|
41
57
|
|
|
42
|
-
|
|
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
|
-
|
|
66
|
+
## Usage
|
|
47
67
|
|
|
48
|
-
|
|
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
|
-
|
|
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 {
|
|
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
package/dist/cjs/jsx.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/jsx.ts"],"names":["eslintPluginReact"],"mappings":";;;;;;;;;
|
|
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"]}
|
package/dist/cjs/next.cjs.map
CHANGED
|
@@ -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
|
|
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"]}
|
package/dist/cjs/react.cjs
CHANGED
|
@@ -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)
|
package/dist/cjs/react.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/react.ts"],"names":["jsx","eslintPluginReact","fixupPluginRules","eslintPluginReactHooks"],"mappings":";;;;;;;;;;;;;;
|
|
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 {
|
|
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
package/dist/esm/jsx.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/jsx.ts"],"names":[],"mappings":";;;
|
|
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"]}
|
package/dist/esm/next.mjs.map
CHANGED
|
@@ -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
|
|
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"]}
|
package/dist/esm/react.mjs
CHANGED
package/dist/esm/react.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/react.ts"],"names":[],"mappings":";;;;;;
|
|
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
|
|
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.
|
|
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
|
-
"@
|
|
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
|
}
|