@praha/oxlint-config-react 1.0.0-beta.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.
- package/LICENSE +21 -0
- package/README.md +3 -0
- package/dist/cjs/factories/jsx-a11y.cjs +93 -0
- package/dist/cjs/factories/jsx-a11y.d.ts +40 -0
- package/dist/cjs/factories/next.cjs +64 -0
- package/dist/cjs/factories/next.d.ts +26 -0
- package/dist/cjs/factories/react.cjs +84 -0
- package/dist/cjs/factories/react.d.ts +37 -0
- package/dist/cjs/factories/storybook.cjs +83 -0
- package/dist/cjs/factories/storybook.d.ts +52 -0
- package/dist/cjs/index.cjs +48 -0
- package/dist/cjs/index.d.ts +2 -0
- package/dist/esm/factories/jsx-a11y.d.ts +40 -0
- package/dist/esm/factories/jsx-a11y.js +59 -0
- package/dist/esm/factories/next.d.ts +26 -0
- package/dist/esm/factories/next.js +30 -0
- package/dist/esm/factories/react.d.ts +37 -0
- package/dist/esm/factories/react.js +50 -0
- package/dist/esm/factories/storybook.d.ts +52 -0
- package/dist/esm/factories/storybook.js +49 -0
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.js +14 -0
- package/package.json +60 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) PrAha, Inc.
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
5
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: definition[key]
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
})();
|
|
11
|
+
(()=>{
|
|
12
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
13
|
+
})();
|
|
14
|
+
(()=>{
|
|
15
|
+
__webpack_require__.r = (exports1)=>{
|
|
16
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
|
+
value: 'Module'
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
20
|
+
value: true
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
})();
|
|
24
|
+
var __webpack_exports__ = {};
|
|
25
|
+
__webpack_require__.r(__webpack_exports__);
|
|
26
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
+
jsxA11y: ()=>jsxA11y
|
|
28
|
+
});
|
|
29
|
+
const external_oxlint_namespaceObject = require("oxlint");
|
|
30
|
+
const jsxA11y = ()=>(0, external_oxlint_namespaceObject.defineConfig)({
|
|
31
|
+
plugins: [
|
|
32
|
+
'jsx-a11y'
|
|
33
|
+
],
|
|
34
|
+
rules: {
|
|
35
|
+
'jsx-a11y/alt-text': 'error',
|
|
36
|
+
'jsx-a11y/anchor-ambiguous-text': 'off',
|
|
37
|
+
'jsx-a11y/anchor-has-content': 'error',
|
|
38
|
+
'jsx-a11y/anchor-is-valid': 'error',
|
|
39
|
+
'jsx-a11y/aria-activedescendant-has-tabindex': 'error',
|
|
40
|
+
'jsx-a11y/aria-props': 'error',
|
|
41
|
+
'jsx-a11y/aria-proptypes': 'error',
|
|
42
|
+
'jsx-a11y/aria-role': 'error',
|
|
43
|
+
'jsx-a11y/aria-unsupported-elements': 'error',
|
|
44
|
+
'jsx-a11y/autocomplete-valid': 'error',
|
|
45
|
+
'jsx-a11y/click-events-have-key-events': 'error',
|
|
46
|
+
'jsx-a11y/heading-has-content': 'error',
|
|
47
|
+
'jsx-a11y/html-has-lang': 'error',
|
|
48
|
+
'jsx-a11y/iframe-has-title': 'error',
|
|
49
|
+
'jsx-a11y/img-redundant-alt': 'error',
|
|
50
|
+
'jsx-a11y/label-has-associated-control': 'error',
|
|
51
|
+
'jsx-a11y/media-has-caption': 'error',
|
|
52
|
+
'jsx-a11y/mouse-events-have-key-events': 'error',
|
|
53
|
+
'jsx-a11y/no-access-key': 'error',
|
|
54
|
+
'jsx-a11y/no-autofocus': 'error',
|
|
55
|
+
'jsx-a11y/no-distracting-elements': 'error',
|
|
56
|
+
'jsx-a11y/no-noninteractive-tabindex': [
|
|
57
|
+
'error',
|
|
58
|
+
{
|
|
59
|
+
tags: [],
|
|
60
|
+
roles: [
|
|
61
|
+
'tabpanel'
|
|
62
|
+
],
|
|
63
|
+
allowExpressionValues: true
|
|
64
|
+
}
|
|
65
|
+
],
|
|
66
|
+
'jsx-a11y/no-redundant-roles': 'error',
|
|
67
|
+
'jsx-a11y/no-static-element-interactions': [
|
|
68
|
+
'error',
|
|
69
|
+
{
|
|
70
|
+
allowExpressionValues: true,
|
|
71
|
+
handlers: [
|
|
72
|
+
'onClick',
|
|
73
|
+
'onMouseDown',
|
|
74
|
+
'onMouseUp',
|
|
75
|
+
'onKeyPress',
|
|
76
|
+
'onKeyDown',
|
|
77
|
+
'onKeyUp'
|
|
78
|
+
]
|
|
79
|
+
}
|
|
80
|
+
],
|
|
81
|
+
'jsx-a11y/role-has-required-aria-props': 'error',
|
|
82
|
+
'jsx-a11y/role-supports-aria-props': 'error',
|
|
83
|
+
'jsx-a11y/scope': 'error',
|
|
84
|
+
'jsx-a11y/tabindex-no-positive': 'error'
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
exports.jsxA11y = __webpack_exports__.jsxA11y;
|
|
88
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
89
|
+
"jsxA11y"
|
|
90
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
91
|
+
Object.defineProperty(exports, '__esModule', {
|
|
92
|
+
value: true
|
|
93
|
+
});
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export declare const jsxA11y: () => {
|
|
2
|
+
plugins: "jsx-a11y"[];
|
|
3
|
+
rules: {
|
|
4
|
+
'jsx-a11y/alt-text': "error";
|
|
5
|
+
'jsx-a11y/anchor-ambiguous-text': "off";
|
|
6
|
+
'jsx-a11y/anchor-has-content': "error";
|
|
7
|
+
'jsx-a11y/anchor-is-valid': "error";
|
|
8
|
+
'jsx-a11y/aria-activedescendant-has-tabindex': "error";
|
|
9
|
+
'jsx-a11y/aria-props': "error";
|
|
10
|
+
'jsx-a11y/aria-proptypes': "error";
|
|
11
|
+
'jsx-a11y/aria-role': "error";
|
|
12
|
+
'jsx-a11y/aria-unsupported-elements': "error";
|
|
13
|
+
'jsx-a11y/autocomplete-valid': "error";
|
|
14
|
+
'jsx-a11y/click-events-have-key-events': "error";
|
|
15
|
+
'jsx-a11y/heading-has-content': "error";
|
|
16
|
+
'jsx-a11y/html-has-lang': "error";
|
|
17
|
+
'jsx-a11y/iframe-has-title': "error";
|
|
18
|
+
'jsx-a11y/img-redundant-alt': "error";
|
|
19
|
+
'jsx-a11y/label-has-associated-control': "error";
|
|
20
|
+
'jsx-a11y/media-has-caption': "error";
|
|
21
|
+
'jsx-a11y/mouse-events-have-key-events': "error";
|
|
22
|
+
'jsx-a11y/no-access-key': "error";
|
|
23
|
+
'jsx-a11y/no-autofocus': "error";
|
|
24
|
+
'jsx-a11y/no-distracting-elements': "error";
|
|
25
|
+
'jsx-a11y/no-noninteractive-tabindex': (string | {
|
|
26
|
+
tags: never[];
|
|
27
|
+
roles: string[];
|
|
28
|
+
allowExpressionValues: boolean;
|
|
29
|
+
})[];
|
|
30
|
+
'jsx-a11y/no-redundant-roles': "error";
|
|
31
|
+
'jsx-a11y/no-static-element-interactions': (string | {
|
|
32
|
+
allowExpressionValues: boolean;
|
|
33
|
+
handlers: string[];
|
|
34
|
+
})[];
|
|
35
|
+
'jsx-a11y/role-has-required-aria-props': "error";
|
|
36
|
+
'jsx-a11y/role-supports-aria-props': "error";
|
|
37
|
+
'jsx-a11y/scope': "error";
|
|
38
|
+
'jsx-a11y/tabindex-no-positive': "error";
|
|
39
|
+
};
|
|
40
|
+
};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
5
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: definition[key]
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
})();
|
|
11
|
+
(()=>{
|
|
12
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
13
|
+
})();
|
|
14
|
+
(()=>{
|
|
15
|
+
__webpack_require__.r = (exports1)=>{
|
|
16
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
|
+
value: 'Module'
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
20
|
+
value: true
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
})();
|
|
24
|
+
var __webpack_exports__ = {};
|
|
25
|
+
__webpack_require__.r(__webpack_exports__);
|
|
26
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
+
next: ()=>next
|
|
28
|
+
});
|
|
29
|
+
const external_oxlint_namespaceObject = require("oxlint");
|
|
30
|
+
const next = ()=>(0, external_oxlint_namespaceObject.defineConfig)({
|
|
31
|
+
plugins: [
|
|
32
|
+
'nextjs'
|
|
33
|
+
],
|
|
34
|
+
rules: {
|
|
35
|
+
'nextjs/google-font-display': 'error',
|
|
36
|
+
'nextjs/google-font-preconnect': 'error',
|
|
37
|
+
"nextjs/inline-script-id": 'error',
|
|
38
|
+
"nextjs/next-script-for-ga": 'error',
|
|
39
|
+
'nextjs/no-assign-module-variable': 'error',
|
|
40
|
+
'nextjs/no-async-client-component': 'error',
|
|
41
|
+
"nextjs/no-before-interactive-script-outside-document": 'error',
|
|
42
|
+
'nextjs/no-css-tags': 'error',
|
|
43
|
+
'nextjs/no-document-import-in-page': 'error',
|
|
44
|
+
'nextjs/no-duplicate-head': 'error',
|
|
45
|
+
'nextjs/no-head-element': 'error',
|
|
46
|
+
'nextjs/no-head-import-in-document': 'error',
|
|
47
|
+
'nextjs/no-html-link-for-pages': 'error',
|
|
48
|
+
'nextjs/no-img-element': 'error',
|
|
49
|
+
'nextjs/no-page-custom-font': 'error',
|
|
50
|
+
"nextjs/no-script-component-in-head": 'error',
|
|
51
|
+
'nextjs/no-styled-jsx-in-document': 'error',
|
|
52
|
+
"nextjs/no-sync-scripts": 'error',
|
|
53
|
+
'nextjs/no-title-in-document-head': 'error',
|
|
54
|
+
'nextjs/no-typos': 'error',
|
|
55
|
+
'nextjs/no-unwanted-polyfillio': 'error'
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
exports.next = __webpack_exports__.next;
|
|
59
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
60
|
+
"next"
|
|
61
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
62
|
+
Object.defineProperty(exports, '__esModule', {
|
|
63
|
+
value: true
|
|
64
|
+
});
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export declare const next: () => {
|
|
2
|
+
plugins: "nextjs"[];
|
|
3
|
+
rules: {
|
|
4
|
+
'nextjs/google-font-display': "error";
|
|
5
|
+
'nextjs/google-font-preconnect': "error";
|
|
6
|
+
'nextjs/inline-script-id': "error";
|
|
7
|
+
'nextjs/next-script-for-ga': "error";
|
|
8
|
+
'nextjs/no-assign-module-variable': "error";
|
|
9
|
+
'nextjs/no-async-client-component': "error";
|
|
10
|
+
'nextjs/no-before-interactive-script-outside-document': "error";
|
|
11
|
+
'nextjs/no-css-tags': "error";
|
|
12
|
+
'nextjs/no-document-import-in-page': "error";
|
|
13
|
+
'nextjs/no-duplicate-head': "error";
|
|
14
|
+
'nextjs/no-head-element': "error";
|
|
15
|
+
'nextjs/no-head-import-in-document': "error";
|
|
16
|
+
'nextjs/no-html-link-for-pages': "error";
|
|
17
|
+
'nextjs/no-img-element': "error";
|
|
18
|
+
'nextjs/no-page-custom-font': "error";
|
|
19
|
+
'nextjs/no-script-component-in-head': "error";
|
|
20
|
+
'nextjs/no-styled-jsx-in-document': "error";
|
|
21
|
+
'nextjs/no-sync-scripts': "error";
|
|
22
|
+
'nextjs/no-title-in-document-head': "error";
|
|
23
|
+
'nextjs/no-typos': "error";
|
|
24
|
+
'nextjs/no-unwanted-polyfillio': "error";
|
|
25
|
+
};
|
|
26
|
+
};
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
5
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: definition[key]
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
})();
|
|
11
|
+
(()=>{
|
|
12
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
13
|
+
})();
|
|
14
|
+
(()=>{
|
|
15
|
+
__webpack_require__.r = (exports1)=>{
|
|
16
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
|
+
value: 'Module'
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
20
|
+
value: true
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
})();
|
|
24
|
+
var __webpack_exports__ = {};
|
|
25
|
+
__webpack_require__.r(__webpack_exports__);
|
|
26
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
+
react: ()=>react
|
|
28
|
+
});
|
|
29
|
+
const external_oxlint_namespaceObject = require("oxlint");
|
|
30
|
+
const react = ()=>(0, external_oxlint_namespaceObject.defineConfig)({
|
|
31
|
+
plugins: [
|
|
32
|
+
'react'
|
|
33
|
+
],
|
|
34
|
+
rules: {
|
|
35
|
+
'react/display-name': 'error',
|
|
36
|
+
'react/exhaustive-deps': 'error',
|
|
37
|
+
'react/jsx-boolean-value': 'error',
|
|
38
|
+
'react/jsx-curly-brace-presence': [
|
|
39
|
+
'error',
|
|
40
|
+
{
|
|
41
|
+
propElementValues: 'always'
|
|
42
|
+
}
|
|
43
|
+
],
|
|
44
|
+
'react/jsx-fragments': [
|
|
45
|
+
'error',
|
|
46
|
+
'syntax'
|
|
47
|
+
],
|
|
48
|
+
'react/jsx-handler-names': [
|
|
49
|
+
'error',
|
|
50
|
+
{
|
|
51
|
+
eventHandlerPrefix: 'handle',
|
|
52
|
+
eventHandlerPropPrefix: 'on',
|
|
53
|
+
checkLocalVariables: false,
|
|
54
|
+
checkInlineFunction: false
|
|
55
|
+
}
|
|
56
|
+
],
|
|
57
|
+
'react/jsx-key': 'error',
|
|
58
|
+
'react/jsx-no-comment-textnodes': 'error',
|
|
59
|
+
'react/jsx-no-duplicate-props': 'error',
|
|
60
|
+
'react/jsx-no-target-blank': 'error',
|
|
61
|
+
'react/jsx-no-undef': 'error',
|
|
62
|
+
'react/jsx-no-useless-fragment': 'error',
|
|
63
|
+
'react/no-children-prop': 'error',
|
|
64
|
+
'react/no-danger-with-children': 'error',
|
|
65
|
+
'react/no-direct-mutation-state': 'error',
|
|
66
|
+
'react/no-find-dom-node': 'error',
|
|
67
|
+
'react/no-is-mounted': 'error',
|
|
68
|
+
'react/no-render-return-value': 'error',
|
|
69
|
+
'react/no-string-refs': 'error',
|
|
70
|
+
'react/no-unescaped-entities': 'error',
|
|
71
|
+
'react/no-unknown-property': 'error',
|
|
72
|
+
'react/react-in-jsx-scope': 'off',
|
|
73
|
+
'react/require-render-return': 'error',
|
|
74
|
+
'react/rules-of-hooks': 'error',
|
|
75
|
+
'react/self-closing-comp': 'error'
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
exports.react = __webpack_exports__.react;
|
|
79
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
80
|
+
"react"
|
|
81
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
82
|
+
Object.defineProperty(exports, '__esModule', {
|
|
83
|
+
value: true
|
|
84
|
+
});
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export declare const react: () => {
|
|
2
|
+
plugins: "react"[];
|
|
3
|
+
rules: {
|
|
4
|
+
'react/display-name': "error";
|
|
5
|
+
'react/exhaustive-deps': "error";
|
|
6
|
+
'react/jsx-boolean-value': "error";
|
|
7
|
+
'react/jsx-curly-brace-presence': (string | {
|
|
8
|
+
propElementValues: string;
|
|
9
|
+
})[];
|
|
10
|
+
'react/jsx-fragments': string[];
|
|
11
|
+
'react/jsx-handler-names': (string | {
|
|
12
|
+
eventHandlerPrefix: string;
|
|
13
|
+
eventHandlerPropPrefix: string;
|
|
14
|
+
checkLocalVariables: boolean;
|
|
15
|
+
checkInlineFunction: boolean;
|
|
16
|
+
})[];
|
|
17
|
+
'react/jsx-key': "error";
|
|
18
|
+
'react/jsx-no-comment-textnodes': "error";
|
|
19
|
+
'react/jsx-no-duplicate-props': "error";
|
|
20
|
+
'react/jsx-no-target-blank': "error";
|
|
21
|
+
'react/jsx-no-undef': "error";
|
|
22
|
+
'react/jsx-no-useless-fragment': "error";
|
|
23
|
+
'react/no-children-prop': "error";
|
|
24
|
+
'react/no-danger-with-children': "error";
|
|
25
|
+
'react/no-direct-mutation-state': "error";
|
|
26
|
+
'react/no-find-dom-node': "error";
|
|
27
|
+
'react/no-is-mounted': "error";
|
|
28
|
+
'react/no-render-return-value': "error";
|
|
29
|
+
'react/no-string-refs': "error";
|
|
30
|
+
'react/no-unescaped-entities': "error";
|
|
31
|
+
'react/no-unknown-property': "error";
|
|
32
|
+
'react/react-in-jsx-scope': "off";
|
|
33
|
+
'react/require-render-return': "error";
|
|
34
|
+
'react/rules-of-hooks': "error";
|
|
35
|
+
'react/self-closing-comp': "error";
|
|
36
|
+
};
|
|
37
|
+
};
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
5
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: definition[key]
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
})();
|
|
11
|
+
(()=>{
|
|
12
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
13
|
+
})();
|
|
14
|
+
(()=>{
|
|
15
|
+
__webpack_require__.r = (exports1)=>{
|
|
16
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
|
+
value: 'Module'
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
20
|
+
value: true
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
})();
|
|
24
|
+
var __webpack_exports__ = {};
|
|
25
|
+
__webpack_require__.r(__webpack_exports__);
|
|
26
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
+
storybook: ()=>storybook
|
|
28
|
+
});
|
|
29
|
+
const external_oxlint_namespaceObject = require("oxlint");
|
|
30
|
+
const storybook = ()=>(0, external_oxlint_namespaceObject.defineConfig)({
|
|
31
|
+
plugins: [
|
|
32
|
+
'react',
|
|
33
|
+
'import'
|
|
34
|
+
],
|
|
35
|
+
jsPlugins: [
|
|
36
|
+
{
|
|
37
|
+
name: 'storybook',
|
|
38
|
+
specifier: 'eslint-plugin-storybook'
|
|
39
|
+
}
|
|
40
|
+
],
|
|
41
|
+
overrides: [
|
|
42
|
+
{
|
|
43
|
+
files: [
|
|
44
|
+
'**/.storybook/main.*'
|
|
45
|
+
],
|
|
46
|
+
rules: {
|
|
47
|
+
'storybook/no-uninstalled-addons': 'error'
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
files: [
|
|
52
|
+
'**/*.story.*',
|
|
53
|
+
'**/*.stories.*'
|
|
54
|
+
],
|
|
55
|
+
rules: {
|
|
56
|
+
'react/rules-of-hooks': 'off',
|
|
57
|
+
'import/no-anonymous-default-export': 'off',
|
|
58
|
+
'storybook/await-interactions': 'error',
|
|
59
|
+
'storybook/context-in-play-function': 'error',
|
|
60
|
+
'storybook/csf-component': 'error',
|
|
61
|
+
'storybook/default-exports': 'error',
|
|
62
|
+
'storybook/hierarchy-separator': 'error',
|
|
63
|
+
'storybook/meta-inline-properties': 'off',
|
|
64
|
+
'storybook/meta-satisfies-type': 'error',
|
|
65
|
+
'storybook/no-redundant-story-name': 'error',
|
|
66
|
+
'storybook/no-renderer-packages': 'error',
|
|
67
|
+
'storybook/no-stories-of': 'error',
|
|
68
|
+
'storybook/no-title-property-in-meta': 'off',
|
|
69
|
+
'storybook/prefer-pascal-case': 'error',
|
|
70
|
+
'storybook/story-exports': 'error',
|
|
71
|
+
'storybook/use-storybook-expect': 'error',
|
|
72
|
+
'storybook/use-storybook-testing-library': 'error'
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
]
|
|
76
|
+
});
|
|
77
|
+
exports.storybook = __webpack_exports__.storybook;
|
|
78
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
79
|
+
"storybook"
|
|
80
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
81
|
+
Object.defineProperty(exports, '__esModule', {
|
|
82
|
+
value: true
|
|
83
|
+
});
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
export declare const storybook: () => {
|
|
2
|
+
plugins: ("react" | "import")[];
|
|
3
|
+
jsPlugins: {
|
|
4
|
+
name: string;
|
|
5
|
+
specifier: string;
|
|
6
|
+
}[];
|
|
7
|
+
overrides: ({
|
|
8
|
+
files: string[];
|
|
9
|
+
rules: {
|
|
10
|
+
'storybook/no-uninstalled-addons': "error";
|
|
11
|
+
'react/rules-of-hooks'?: never;
|
|
12
|
+
'import/no-anonymous-default-export'?: never;
|
|
13
|
+
'storybook/await-interactions'?: never;
|
|
14
|
+
'storybook/context-in-play-function'?: never;
|
|
15
|
+
'storybook/csf-component'?: never;
|
|
16
|
+
'storybook/default-exports'?: never;
|
|
17
|
+
'storybook/hierarchy-separator'?: never;
|
|
18
|
+
'storybook/meta-inline-properties'?: never;
|
|
19
|
+
'storybook/meta-satisfies-type'?: never;
|
|
20
|
+
'storybook/no-redundant-story-name'?: never;
|
|
21
|
+
'storybook/no-renderer-packages'?: never;
|
|
22
|
+
'storybook/no-stories-of'?: never;
|
|
23
|
+
'storybook/no-title-property-in-meta'?: never;
|
|
24
|
+
'storybook/prefer-pascal-case'?: never;
|
|
25
|
+
'storybook/story-exports'?: never;
|
|
26
|
+
'storybook/use-storybook-expect'?: never;
|
|
27
|
+
'storybook/use-storybook-testing-library'?: never;
|
|
28
|
+
};
|
|
29
|
+
} | {
|
|
30
|
+
files: string[];
|
|
31
|
+
rules: {
|
|
32
|
+
'react/rules-of-hooks': "off";
|
|
33
|
+
'import/no-anonymous-default-export': "off";
|
|
34
|
+
'storybook/await-interactions': "error";
|
|
35
|
+
'storybook/context-in-play-function': "error";
|
|
36
|
+
'storybook/csf-component': "error";
|
|
37
|
+
'storybook/default-exports': "error";
|
|
38
|
+
'storybook/hierarchy-separator': "error";
|
|
39
|
+
'storybook/meta-inline-properties': "off";
|
|
40
|
+
'storybook/meta-satisfies-type': "error";
|
|
41
|
+
'storybook/no-redundant-story-name': "error";
|
|
42
|
+
'storybook/no-renderer-packages': "error";
|
|
43
|
+
'storybook/no-stories-of': "error";
|
|
44
|
+
'storybook/no-title-property-in-meta': "off";
|
|
45
|
+
'storybook/prefer-pascal-case': "error";
|
|
46
|
+
'storybook/story-exports': "error";
|
|
47
|
+
'storybook/use-storybook-expect': "error";
|
|
48
|
+
'storybook/use-storybook-testing-library': "error";
|
|
49
|
+
'storybook/no-uninstalled-addons'?: never;
|
|
50
|
+
};
|
|
51
|
+
})[];
|
|
52
|
+
};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
5
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: definition[key]
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
})();
|
|
11
|
+
(()=>{
|
|
12
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
13
|
+
})();
|
|
14
|
+
(()=>{
|
|
15
|
+
__webpack_require__.r = (exports1)=>{
|
|
16
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
|
+
value: 'Module'
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
20
|
+
value: true
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
})();
|
|
24
|
+
var __webpack_exports__ = {};
|
|
25
|
+
__webpack_require__.r(__webpack_exports__);
|
|
26
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
+
react: ()=>react
|
|
28
|
+
});
|
|
29
|
+
const external_oxlint_namespaceObject = require("oxlint");
|
|
30
|
+
const jsx_a11y_cjs_namespaceObject = require("./factories/jsx-a11y.cjs");
|
|
31
|
+
const next_cjs_namespaceObject = require("./factories/next.cjs");
|
|
32
|
+
const react_cjs_namespaceObject = require("./factories/react.cjs");
|
|
33
|
+
const storybook_cjs_namespaceObject = require("./factories/storybook.cjs");
|
|
34
|
+
const react = ()=>(0, external_oxlint_namespaceObject.defineConfig)({
|
|
35
|
+
extends: [
|
|
36
|
+
(0, jsx_a11y_cjs_namespaceObject.jsxA11y)(),
|
|
37
|
+
(0, react_cjs_namespaceObject.react)(),
|
|
38
|
+
(0, next_cjs_namespaceObject.next)(),
|
|
39
|
+
(0, storybook_cjs_namespaceObject.storybook)()
|
|
40
|
+
]
|
|
41
|
+
});
|
|
42
|
+
exports.react = __webpack_exports__.react;
|
|
43
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
44
|
+
"react"
|
|
45
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
46
|
+
Object.defineProperty(exports, '__esModule', {
|
|
47
|
+
value: true
|
|
48
|
+
});
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export declare const jsxA11y: () => {
|
|
2
|
+
plugins: "jsx-a11y"[];
|
|
3
|
+
rules: {
|
|
4
|
+
'jsx-a11y/alt-text': "error";
|
|
5
|
+
'jsx-a11y/anchor-ambiguous-text': "off";
|
|
6
|
+
'jsx-a11y/anchor-has-content': "error";
|
|
7
|
+
'jsx-a11y/anchor-is-valid': "error";
|
|
8
|
+
'jsx-a11y/aria-activedescendant-has-tabindex': "error";
|
|
9
|
+
'jsx-a11y/aria-props': "error";
|
|
10
|
+
'jsx-a11y/aria-proptypes': "error";
|
|
11
|
+
'jsx-a11y/aria-role': "error";
|
|
12
|
+
'jsx-a11y/aria-unsupported-elements': "error";
|
|
13
|
+
'jsx-a11y/autocomplete-valid': "error";
|
|
14
|
+
'jsx-a11y/click-events-have-key-events': "error";
|
|
15
|
+
'jsx-a11y/heading-has-content': "error";
|
|
16
|
+
'jsx-a11y/html-has-lang': "error";
|
|
17
|
+
'jsx-a11y/iframe-has-title': "error";
|
|
18
|
+
'jsx-a11y/img-redundant-alt': "error";
|
|
19
|
+
'jsx-a11y/label-has-associated-control': "error";
|
|
20
|
+
'jsx-a11y/media-has-caption': "error";
|
|
21
|
+
'jsx-a11y/mouse-events-have-key-events': "error";
|
|
22
|
+
'jsx-a11y/no-access-key': "error";
|
|
23
|
+
'jsx-a11y/no-autofocus': "error";
|
|
24
|
+
'jsx-a11y/no-distracting-elements': "error";
|
|
25
|
+
'jsx-a11y/no-noninteractive-tabindex': (string | {
|
|
26
|
+
tags: never[];
|
|
27
|
+
roles: string[];
|
|
28
|
+
allowExpressionValues: boolean;
|
|
29
|
+
})[];
|
|
30
|
+
'jsx-a11y/no-redundant-roles': "error";
|
|
31
|
+
'jsx-a11y/no-static-element-interactions': (string | {
|
|
32
|
+
allowExpressionValues: boolean;
|
|
33
|
+
handlers: string[];
|
|
34
|
+
})[];
|
|
35
|
+
'jsx-a11y/role-has-required-aria-props': "error";
|
|
36
|
+
'jsx-a11y/role-supports-aria-props': "error";
|
|
37
|
+
'jsx-a11y/scope': "error";
|
|
38
|
+
'jsx-a11y/tabindex-no-positive': "error";
|
|
39
|
+
};
|
|
40
|
+
};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { defineConfig } from "oxlint";
|
|
2
|
+
const jsxA11y = ()=>defineConfig({
|
|
3
|
+
plugins: [
|
|
4
|
+
'jsx-a11y'
|
|
5
|
+
],
|
|
6
|
+
rules: {
|
|
7
|
+
'jsx-a11y/alt-text': 'error',
|
|
8
|
+
'jsx-a11y/anchor-ambiguous-text': 'off',
|
|
9
|
+
'jsx-a11y/anchor-has-content': 'error',
|
|
10
|
+
'jsx-a11y/anchor-is-valid': 'error',
|
|
11
|
+
'jsx-a11y/aria-activedescendant-has-tabindex': 'error',
|
|
12
|
+
'jsx-a11y/aria-props': 'error',
|
|
13
|
+
'jsx-a11y/aria-proptypes': 'error',
|
|
14
|
+
'jsx-a11y/aria-role': 'error',
|
|
15
|
+
'jsx-a11y/aria-unsupported-elements': 'error',
|
|
16
|
+
'jsx-a11y/autocomplete-valid': 'error',
|
|
17
|
+
'jsx-a11y/click-events-have-key-events': 'error',
|
|
18
|
+
'jsx-a11y/heading-has-content': 'error',
|
|
19
|
+
'jsx-a11y/html-has-lang': 'error',
|
|
20
|
+
'jsx-a11y/iframe-has-title': 'error',
|
|
21
|
+
'jsx-a11y/img-redundant-alt': 'error',
|
|
22
|
+
'jsx-a11y/label-has-associated-control': 'error',
|
|
23
|
+
'jsx-a11y/media-has-caption': 'error',
|
|
24
|
+
'jsx-a11y/mouse-events-have-key-events': 'error',
|
|
25
|
+
'jsx-a11y/no-access-key': 'error',
|
|
26
|
+
'jsx-a11y/no-autofocus': 'error',
|
|
27
|
+
'jsx-a11y/no-distracting-elements': 'error',
|
|
28
|
+
'jsx-a11y/no-noninteractive-tabindex': [
|
|
29
|
+
'error',
|
|
30
|
+
{
|
|
31
|
+
tags: [],
|
|
32
|
+
roles: [
|
|
33
|
+
'tabpanel'
|
|
34
|
+
],
|
|
35
|
+
allowExpressionValues: true
|
|
36
|
+
}
|
|
37
|
+
],
|
|
38
|
+
'jsx-a11y/no-redundant-roles': 'error',
|
|
39
|
+
'jsx-a11y/no-static-element-interactions': [
|
|
40
|
+
'error',
|
|
41
|
+
{
|
|
42
|
+
allowExpressionValues: true,
|
|
43
|
+
handlers: [
|
|
44
|
+
'onClick',
|
|
45
|
+
'onMouseDown',
|
|
46
|
+
'onMouseUp',
|
|
47
|
+
'onKeyPress',
|
|
48
|
+
'onKeyDown',
|
|
49
|
+
'onKeyUp'
|
|
50
|
+
]
|
|
51
|
+
}
|
|
52
|
+
],
|
|
53
|
+
'jsx-a11y/role-has-required-aria-props': 'error',
|
|
54
|
+
'jsx-a11y/role-supports-aria-props': 'error',
|
|
55
|
+
'jsx-a11y/scope': 'error',
|
|
56
|
+
'jsx-a11y/tabindex-no-positive': 'error'
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
export { jsxA11y };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export declare const next: () => {
|
|
2
|
+
plugins: "nextjs"[];
|
|
3
|
+
rules: {
|
|
4
|
+
'nextjs/google-font-display': "error";
|
|
5
|
+
'nextjs/google-font-preconnect': "error";
|
|
6
|
+
'nextjs/inline-script-id': "error";
|
|
7
|
+
'nextjs/next-script-for-ga': "error";
|
|
8
|
+
'nextjs/no-assign-module-variable': "error";
|
|
9
|
+
'nextjs/no-async-client-component': "error";
|
|
10
|
+
'nextjs/no-before-interactive-script-outside-document': "error";
|
|
11
|
+
'nextjs/no-css-tags': "error";
|
|
12
|
+
'nextjs/no-document-import-in-page': "error";
|
|
13
|
+
'nextjs/no-duplicate-head': "error";
|
|
14
|
+
'nextjs/no-head-element': "error";
|
|
15
|
+
'nextjs/no-head-import-in-document': "error";
|
|
16
|
+
'nextjs/no-html-link-for-pages': "error";
|
|
17
|
+
'nextjs/no-img-element': "error";
|
|
18
|
+
'nextjs/no-page-custom-font': "error";
|
|
19
|
+
'nextjs/no-script-component-in-head': "error";
|
|
20
|
+
'nextjs/no-styled-jsx-in-document': "error";
|
|
21
|
+
'nextjs/no-sync-scripts': "error";
|
|
22
|
+
'nextjs/no-title-in-document-head': "error";
|
|
23
|
+
'nextjs/no-typos': "error";
|
|
24
|
+
'nextjs/no-unwanted-polyfillio': "error";
|
|
25
|
+
};
|
|
26
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { defineConfig } from "oxlint";
|
|
2
|
+
const next = ()=>defineConfig({
|
|
3
|
+
plugins: [
|
|
4
|
+
'nextjs'
|
|
5
|
+
],
|
|
6
|
+
rules: {
|
|
7
|
+
'nextjs/google-font-display': 'error',
|
|
8
|
+
'nextjs/google-font-preconnect': 'error',
|
|
9
|
+
"nextjs/inline-script-id": 'error',
|
|
10
|
+
"nextjs/next-script-for-ga": 'error',
|
|
11
|
+
'nextjs/no-assign-module-variable': 'error',
|
|
12
|
+
'nextjs/no-async-client-component': 'error',
|
|
13
|
+
"nextjs/no-before-interactive-script-outside-document": 'error',
|
|
14
|
+
'nextjs/no-css-tags': 'error',
|
|
15
|
+
'nextjs/no-document-import-in-page': 'error',
|
|
16
|
+
'nextjs/no-duplicate-head': 'error',
|
|
17
|
+
'nextjs/no-head-element': 'error',
|
|
18
|
+
'nextjs/no-head-import-in-document': 'error',
|
|
19
|
+
'nextjs/no-html-link-for-pages': 'error',
|
|
20
|
+
'nextjs/no-img-element': 'error',
|
|
21
|
+
'nextjs/no-page-custom-font': 'error',
|
|
22
|
+
"nextjs/no-script-component-in-head": 'error',
|
|
23
|
+
'nextjs/no-styled-jsx-in-document': 'error',
|
|
24
|
+
"nextjs/no-sync-scripts": 'error',
|
|
25
|
+
'nextjs/no-title-in-document-head': 'error',
|
|
26
|
+
'nextjs/no-typos': 'error',
|
|
27
|
+
'nextjs/no-unwanted-polyfillio': 'error'
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
export { next };
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export declare const react: () => {
|
|
2
|
+
plugins: "react"[];
|
|
3
|
+
rules: {
|
|
4
|
+
'react/display-name': "error";
|
|
5
|
+
'react/exhaustive-deps': "error";
|
|
6
|
+
'react/jsx-boolean-value': "error";
|
|
7
|
+
'react/jsx-curly-brace-presence': (string | {
|
|
8
|
+
propElementValues: string;
|
|
9
|
+
})[];
|
|
10
|
+
'react/jsx-fragments': string[];
|
|
11
|
+
'react/jsx-handler-names': (string | {
|
|
12
|
+
eventHandlerPrefix: string;
|
|
13
|
+
eventHandlerPropPrefix: string;
|
|
14
|
+
checkLocalVariables: boolean;
|
|
15
|
+
checkInlineFunction: boolean;
|
|
16
|
+
})[];
|
|
17
|
+
'react/jsx-key': "error";
|
|
18
|
+
'react/jsx-no-comment-textnodes': "error";
|
|
19
|
+
'react/jsx-no-duplicate-props': "error";
|
|
20
|
+
'react/jsx-no-target-blank': "error";
|
|
21
|
+
'react/jsx-no-undef': "error";
|
|
22
|
+
'react/jsx-no-useless-fragment': "error";
|
|
23
|
+
'react/no-children-prop': "error";
|
|
24
|
+
'react/no-danger-with-children': "error";
|
|
25
|
+
'react/no-direct-mutation-state': "error";
|
|
26
|
+
'react/no-find-dom-node': "error";
|
|
27
|
+
'react/no-is-mounted': "error";
|
|
28
|
+
'react/no-render-return-value': "error";
|
|
29
|
+
'react/no-string-refs': "error";
|
|
30
|
+
'react/no-unescaped-entities': "error";
|
|
31
|
+
'react/no-unknown-property': "error";
|
|
32
|
+
'react/react-in-jsx-scope': "off";
|
|
33
|
+
'react/require-render-return': "error";
|
|
34
|
+
'react/rules-of-hooks': "error";
|
|
35
|
+
'react/self-closing-comp': "error";
|
|
36
|
+
};
|
|
37
|
+
};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { defineConfig } from "oxlint";
|
|
2
|
+
const react = ()=>defineConfig({
|
|
3
|
+
plugins: [
|
|
4
|
+
'react'
|
|
5
|
+
],
|
|
6
|
+
rules: {
|
|
7
|
+
'react/display-name': 'error',
|
|
8
|
+
'react/exhaustive-deps': 'error',
|
|
9
|
+
'react/jsx-boolean-value': 'error',
|
|
10
|
+
'react/jsx-curly-brace-presence': [
|
|
11
|
+
'error',
|
|
12
|
+
{
|
|
13
|
+
propElementValues: 'always'
|
|
14
|
+
}
|
|
15
|
+
],
|
|
16
|
+
'react/jsx-fragments': [
|
|
17
|
+
'error',
|
|
18
|
+
'syntax'
|
|
19
|
+
],
|
|
20
|
+
'react/jsx-handler-names': [
|
|
21
|
+
'error',
|
|
22
|
+
{
|
|
23
|
+
eventHandlerPrefix: 'handle',
|
|
24
|
+
eventHandlerPropPrefix: 'on',
|
|
25
|
+
checkLocalVariables: false,
|
|
26
|
+
checkInlineFunction: false
|
|
27
|
+
}
|
|
28
|
+
],
|
|
29
|
+
'react/jsx-key': 'error',
|
|
30
|
+
'react/jsx-no-comment-textnodes': 'error',
|
|
31
|
+
'react/jsx-no-duplicate-props': 'error',
|
|
32
|
+
'react/jsx-no-target-blank': 'error',
|
|
33
|
+
'react/jsx-no-undef': 'error',
|
|
34
|
+
'react/jsx-no-useless-fragment': 'error',
|
|
35
|
+
'react/no-children-prop': 'error',
|
|
36
|
+
'react/no-danger-with-children': 'error',
|
|
37
|
+
'react/no-direct-mutation-state': 'error',
|
|
38
|
+
'react/no-find-dom-node': 'error',
|
|
39
|
+
'react/no-is-mounted': 'error',
|
|
40
|
+
'react/no-render-return-value': 'error',
|
|
41
|
+
'react/no-string-refs': 'error',
|
|
42
|
+
'react/no-unescaped-entities': 'error',
|
|
43
|
+
'react/no-unknown-property': 'error',
|
|
44
|
+
'react/react-in-jsx-scope': 'off',
|
|
45
|
+
'react/require-render-return': 'error',
|
|
46
|
+
'react/rules-of-hooks': 'error',
|
|
47
|
+
'react/self-closing-comp': 'error'
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
export { react };
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
export declare const storybook: () => {
|
|
2
|
+
plugins: ("react" | "import")[];
|
|
3
|
+
jsPlugins: {
|
|
4
|
+
name: string;
|
|
5
|
+
specifier: string;
|
|
6
|
+
}[];
|
|
7
|
+
overrides: ({
|
|
8
|
+
files: string[];
|
|
9
|
+
rules: {
|
|
10
|
+
'storybook/no-uninstalled-addons': "error";
|
|
11
|
+
'react/rules-of-hooks'?: never;
|
|
12
|
+
'import/no-anonymous-default-export'?: never;
|
|
13
|
+
'storybook/await-interactions'?: never;
|
|
14
|
+
'storybook/context-in-play-function'?: never;
|
|
15
|
+
'storybook/csf-component'?: never;
|
|
16
|
+
'storybook/default-exports'?: never;
|
|
17
|
+
'storybook/hierarchy-separator'?: never;
|
|
18
|
+
'storybook/meta-inline-properties'?: never;
|
|
19
|
+
'storybook/meta-satisfies-type'?: never;
|
|
20
|
+
'storybook/no-redundant-story-name'?: never;
|
|
21
|
+
'storybook/no-renderer-packages'?: never;
|
|
22
|
+
'storybook/no-stories-of'?: never;
|
|
23
|
+
'storybook/no-title-property-in-meta'?: never;
|
|
24
|
+
'storybook/prefer-pascal-case'?: never;
|
|
25
|
+
'storybook/story-exports'?: never;
|
|
26
|
+
'storybook/use-storybook-expect'?: never;
|
|
27
|
+
'storybook/use-storybook-testing-library'?: never;
|
|
28
|
+
};
|
|
29
|
+
} | {
|
|
30
|
+
files: string[];
|
|
31
|
+
rules: {
|
|
32
|
+
'react/rules-of-hooks': "off";
|
|
33
|
+
'import/no-anonymous-default-export': "off";
|
|
34
|
+
'storybook/await-interactions': "error";
|
|
35
|
+
'storybook/context-in-play-function': "error";
|
|
36
|
+
'storybook/csf-component': "error";
|
|
37
|
+
'storybook/default-exports': "error";
|
|
38
|
+
'storybook/hierarchy-separator': "error";
|
|
39
|
+
'storybook/meta-inline-properties': "off";
|
|
40
|
+
'storybook/meta-satisfies-type': "error";
|
|
41
|
+
'storybook/no-redundant-story-name': "error";
|
|
42
|
+
'storybook/no-renderer-packages': "error";
|
|
43
|
+
'storybook/no-stories-of': "error";
|
|
44
|
+
'storybook/no-title-property-in-meta': "off";
|
|
45
|
+
'storybook/prefer-pascal-case': "error";
|
|
46
|
+
'storybook/story-exports': "error";
|
|
47
|
+
'storybook/use-storybook-expect': "error";
|
|
48
|
+
'storybook/use-storybook-testing-library': "error";
|
|
49
|
+
'storybook/no-uninstalled-addons'?: never;
|
|
50
|
+
};
|
|
51
|
+
})[];
|
|
52
|
+
};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { defineConfig } from "oxlint";
|
|
2
|
+
const storybook = ()=>defineConfig({
|
|
3
|
+
plugins: [
|
|
4
|
+
'react',
|
|
5
|
+
'import'
|
|
6
|
+
],
|
|
7
|
+
jsPlugins: [
|
|
8
|
+
{
|
|
9
|
+
name: 'storybook',
|
|
10
|
+
specifier: 'eslint-plugin-storybook'
|
|
11
|
+
}
|
|
12
|
+
],
|
|
13
|
+
overrides: [
|
|
14
|
+
{
|
|
15
|
+
files: [
|
|
16
|
+
'**/.storybook/main.*'
|
|
17
|
+
],
|
|
18
|
+
rules: {
|
|
19
|
+
'storybook/no-uninstalled-addons': 'error'
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
files: [
|
|
24
|
+
'**/*.story.*',
|
|
25
|
+
'**/*.stories.*'
|
|
26
|
+
],
|
|
27
|
+
rules: {
|
|
28
|
+
'react/rules-of-hooks': 'off',
|
|
29
|
+
'import/no-anonymous-default-export': 'off',
|
|
30
|
+
'storybook/await-interactions': 'error',
|
|
31
|
+
'storybook/context-in-play-function': 'error',
|
|
32
|
+
'storybook/csf-component': 'error',
|
|
33
|
+
'storybook/default-exports': 'error',
|
|
34
|
+
'storybook/hierarchy-separator': 'error',
|
|
35
|
+
'storybook/meta-inline-properties': 'off',
|
|
36
|
+
'storybook/meta-satisfies-type': 'error',
|
|
37
|
+
'storybook/no-redundant-story-name': 'error',
|
|
38
|
+
'storybook/no-renderer-packages': 'error',
|
|
39
|
+
'storybook/no-stories-of': 'error',
|
|
40
|
+
'storybook/no-title-property-in-meta': 'off',
|
|
41
|
+
'storybook/prefer-pascal-case': 'error',
|
|
42
|
+
'storybook/story-exports': 'error',
|
|
43
|
+
'storybook/use-storybook-expect': 'error',
|
|
44
|
+
'storybook/use-storybook-testing-library': 'error'
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
]
|
|
48
|
+
});
|
|
49
|
+
export { storybook };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { defineConfig } from "oxlint";
|
|
2
|
+
import { jsxA11y } from "./factories/jsx-a11y.js";
|
|
3
|
+
import { next } from "./factories/next.js";
|
|
4
|
+
import { react } from "./factories/react.js";
|
|
5
|
+
import { storybook } from "./factories/storybook.js";
|
|
6
|
+
const src_react = ()=>defineConfig({
|
|
7
|
+
extends: [
|
|
8
|
+
jsxA11y(),
|
|
9
|
+
react(),
|
|
10
|
+
next(),
|
|
11
|
+
storybook()
|
|
12
|
+
]
|
|
13
|
+
});
|
|
14
|
+
export { src_react as react };
|
package/package.json
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@praha/oxlint-config-react",
|
|
3
|
+
"version": "1.0.0-beta.0",
|
|
4
|
+
"description": "Oxlint config for PrAha.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"javascript",
|
|
7
|
+
"typescript",
|
|
8
|
+
"oxlint"
|
|
9
|
+
],
|
|
10
|
+
"homepage": "https://github.com/praha-inc/oxlint-config/blob/main/packages/react/README.md",
|
|
11
|
+
"bugs": {
|
|
12
|
+
"url": "https://github.com/praha-inc/oxlint-config/issues"
|
|
13
|
+
},
|
|
14
|
+
"repository": {
|
|
15
|
+
"type": "git",
|
|
16
|
+
"url": "git+https://github.com/praha-inc/oxlint-config.git",
|
|
17
|
+
"directory": "packages/react"
|
|
18
|
+
},
|
|
19
|
+
"license": "MIT",
|
|
20
|
+
"author": "PrAha, Inc.",
|
|
21
|
+
"sideEffects": false,
|
|
22
|
+
"type": "module",
|
|
23
|
+
"exports": {
|
|
24
|
+
"require": {
|
|
25
|
+
"types": "./dist/cjs/index.d.ts",
|
|
26
|
+
"default": "./dist/cjs/index.cjs"
|
|
27
|
+
},
|
|
28
|
+
"import": {
|
|
29
|
+
"types": "./dist/esm/index.d.ts",
|
|
30
|
+
"default": "./dist/esm/index.js"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"main": "./dist/cjs/index.cjs",
|
|
34
|
+
"module": "./dist/esm/index.js",
|
|
35
|
+
"types": "./dist/cjs/index.d.ts",
|
|
36
|
+
"files": [
|
|
37
|
+
"dist",
|
|
38
|
+
"LICENSE",
|
|
39
|
+
"README.md"
|
|
40
|
+
],
|
|
41
|
+
"scripts": {
|
|
42
|
+
"build": "rslib build",
|
|
43
|
+
"test": "vitest run",
|
|
44
|
+
"test:watch": "vitest watch",
|
|
45
|
+
"lint:code": "oxlint",
|
|
46
|
+
"lint:type": "tsc --noEmit"
|
|
47
|
+
},
|
|
48
|
+
"dependencies": {
|
|
49
|
+
"@praha/oxlint-config-internal": "workspace:*",
|
|
50
|
+
"eslint-plugin-storybook": "^10.2.19",
|
|
51
|
+
"oxlint": "^1.52.0",
|
|
52
|
+
"oxlint-tsgolint": "^0.17.0"
|
|
53
|
+
},
|
|
54
|
+
"devDependencies": {
|
|
55
|
+
"@praha/oxlint-config-standard": "workspace:*",
|
|
56
|
+
"@rslib/core": "0.19.6",
|
|
57
|
+
"typescript": "5.9.3",
|
|
58
|
+
"vitest": "4.0.18"
|
|
59
|
+
}
|
|
60
|
+
}
|