@eslint-sukka/react 4.0.0-beta.10
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/dist/index.cjs +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.js +1 -0
- package/dist/index.mjs +1 -0
- package/package.json +41 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2023 Sukka <https://skk.moe>
|
|
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/dist/index.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("@eslint-sukka/shared"),r=require("eslint-plugin-i"),n=require("eslint-plugin-react"),t=require("eslint-plugin-jsx-a11y"),o=require("eslint-plugin-react-hooks"),s=require("globals");const a=[".js",".jsx",".mjs",".cjs"];exports.react=(i={})=>[{files:[e.constants.GLOB_TS,e.constants.GLOB_TSX,e.constants.GLOB_JS,e.constants.GLOB_JSX],plugins:{i:r,import:r,react:n,"jsx-a11y":t,"react-hooks":o},settings:{"import/extensions":a,"import/resolver":{node:{extensions:a}},react:{version:"detect"}},languageOptions:{sourceType:"module",parserOptions:{ecmaFeatures:{jsx:!0},jsxPragma:void 0},globals:s.browser},rules:{...n.configs.recommended.rules,...n.configs["jsx-runtime"].rules,...o.configs.recommended.rules,"react-hooks/exhaustive-deps":["warn",{additionalHooks:i.additionalHooks??"(useIsomorphicLayoutEffect|useSukkaManyOtherCustomEffectHookExample)"}],"react/react-in-jsx-scope":"off","react/jsx-filename-extension":["warn",{extensions:[".jsx",".tsx"]}],"react/prop-types":"off","react/display-name":["off",{ignoreTranspilerName:!1}],"react/no-unknown-property":["error",{ignore:["css","jsx"]}],"react/jsx-boolean-value":["error","never",{always:[]}],"react/jsx-curly-spacing":["error","never",{allowMultiline:!0}],"react/jsx-handler-names":["off",{eventHandlerPrefix:"handle",eventHandlerPropPrefix:"on"}],"react/jsx-indent-props":["error",2],"react/jsx-max-props-per-line":["error",{maximum:1,when:"multiline"}],"react/jsx-no-bind":["error",{ignoreRefs:!0,allowArrowFunctions:!0,allowFunctions:!1,allowBind:!1,ignoreDOMComponents:!0}],"react/jsx-pascal-case":["error",{allowAllCaps:!0,ignore:[]}],"react/prefer-stateless-function":["error",{ignorePureComponents:!0}],"react/require-render-return":"error","react/self-closing-comp":"error","react/sort-comp":["error",{order:["static-variables","static-methods","instance-variables","lifecycle","/^handle.+$/","/^on.+$/","getters","setters","/^(get|set)(?!(InitialState$|DefaultProps$|ChildContext$)).+$/","instance-methods","everything-else","rendering"],groups:{lifecycle:["displayName","propTypes","contextTypes","childContextTypes","mixins","statics","defaultProps","constructor","getDefaultProps","getInitialState","state","getChildContext","getDerivedStateFromProps","componentWillMount","UNSAFE_componentWillMount","componentDidMount","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","shouldComponentUpdate","componentWillUpdate","UNSAFE_componentWillUpdate","getSnapshotBeforeUpdate","componentDidUpdate","componentDidCatch","componentWillUnmount"],rendering:["/^render.+$/","render"]}}],"react/jsx-wrap-multilines":["error",{declaration:"parens-new-line",assignment:"parens-new-line",return:"parens-new-line",arrow:"parens-new-line",condition:"ignore",logical:"ignore",prop:"ignore"}],"react/jsx-first-prop-new-line":["error","multiline-multiprop"],"react/jsx-equals-spacing":["error","never"],"react/jsx-indent":["error",2],"react/style-prop-object":"error","react/jsx-tag-spacing":["error",{closingSlash:"never",beforeSelfClosing:"always",afterOpening:"never",beforeClosing:"never"}],"react/no-array-index-key":"off","react/void-dom-elements-no-children":"error","react/no-unused-state":"error","react/jsx-curly-brace-presence":["error",{props:"never",children:"never"}],"react/no-access-state-in-setstate":"error","react/no-this-in-sfc":"error","react/jsx-props-no-multi-spaces":"error","react/jsx-fragments":["error","syntax"],"react/jsx-curly-newline":["error",{multiline:"consistent",singleline:"consistent"}],"react/jsx-no-script-url":["error",[{name:"Link",props:["to","href"]},{name:"NextLink",props:["href"]}]],"react/jsx-key":["warn",{checkFragmentShorthand:!0,checkKeyMustBeforeSpread:!0,warnOnDuplicates:!0}],"react/jsx-uses-vars":"error","react/jsx-no-useless-fragment":"error","react/jsx-no-constructed-context-values":"error","react/no-unstable-nested-components":"error","react/no-unused-class-component-methods":"error","react/hook-use-state":"off","react/iframe-missing-sandbox":"warn","react/jsx-no-leaked-render":"off","react/no-object-type-as-default-prop":"warn","react/button-has-type":"error","react/no-namespace":"error","class-methods-use-this":["error",{exceptMethods:["render","getInitialState","getDefaultProps","getChildContext","componentWillMount","UNSAFE_componentWillMount","componentDidMount","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","shouldComponentUpdate","componentWillUpdate","UNSAFE_componentWillUpdate","componentDidUpdate","componentWillUnmount","componentDidCatch","getSnapshotBeforeUpdate"]}],"jsx-a11y/alt-text":["warn",{elements:["img"],img:["Image"]}],"jsx-a11y/aria-props":"warn","jsx-a11y/aria-proptypes":"warn","jsx-a11y/aria-unsupported-elements":"warn","jsx-a11y/role-has-required-aria-props":"warn","jsx-a11y/role-supports-aria-props":"warn"}}];
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { FlatESLintConfigItem } from 'eslint-define-config';
|
|
2
|
+
|
|
3
|
+
interface OptionsReact {
|
|
4
|
+
/**
|
|
5
|
+
* @default '(useIsomorphicLayoutEffect|useSukkaManyOtherCustomEffectHookExample)'
|
|
6
|
+
*/
|
|
7
|
+
additionalHooks?: string;
|
|
8
|
+
}
|
|
9
|
+
declare const react: (options?: OptionsReact) => FlatESLintConfigItem[];
|
|
10
|
+
|
|
11
|
+
export { OptionsReact, react };
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("@eslint-sukka/shared"),r=require("eslint-plugin-i"),n=require("eslint-plugin-react"),t=require("eslint-plugin-jsx-a11y"),o=require("eslint-plugin-react-hooks"),s=require("globals");const a=[".js",".jsx",".mjs",".cjs"];exports.react=(i={})=>[{files:[e.constants.GLOB_TS,e.constants.GLOB_TSX,e.constants.GLOB_JS,e.constants.GLOB_JSX],plugins:{i:r,import:r,react:n,"jsx-a11y":t,"react-hooks":o},settings:{"import/extensions":a,"import/resolver":{node:{extensions:a}},react:{version:"detect"}},languageOptions:{sourceType:"module",parserOptions:{ecmaFeatures:{jsx:!0},jsxPragma:void 0},globals:s.browser},rules:{...n.configs.recommended.rules,...n.configs["jsx-runtime"].rules,...o.configs.recommended.rules,"react-hooks/exhaustive-deps":["warn",{additionalHooks:i.additionalHooks??"(useIsomorphicLayoutEffect|useSukkaManyOtherCustomEffectHookExample)"}],"react/react-in-jsx-scope":"off","react/jsx-filename-extension":["warn",{extensions:[".jsx",".tsx"]}],"react/prop-types":"off","react/display-name":["off",{ignoreTranspilerName:!1}],"react/no-unknown-property":["error",{ignore:["css","jsx"]}],"react/jsx-boolean-value":["error","never",{always:[]}],"react/jsx-curly-spacing":["error","never",{allowMultiline:!0}],"react/jsx-handler-names":["off",{eventHandlerPrefix:"handle",eventHandlerPropPrefix:"on"}],"react/jsx-indent-props":["error",2],"react/jsx-max-props-per-line":["error",{maximum:1,when:"multiline"}],"react/jsx-no-bind":["error",{ignoreRefs:!0,allowArrowFunctions:!0,allowFunctions:!1,allowBind:!1,ignoreDOMComponents:!0}],"react/jsx-pascal-case":["error",{allowAllCaps:!0,ignore:[]}],"react/prefer-stateless-function":["error",{ignorePureComponents:!0}],"react/require-render-return":"error","react/self-closing-comp":"error","react/sort-comp":["error",{order:["static-variables","static-methods","instance-variables","lifecycle","/^handle.+$/","/^on.+$/","getters","setters","/^(get|set)(?!(InitialState$|DefaultProps$|ChildContext$)).+$/","instance-methods","everything-else","rendering"],groups:{lifecycle:["displayName","propTypes","contextTypes","childContextTypes","mixins","statics","defaultProps","constructor","getDefaultProps","getInitialState","state","getChildContext","getDerivedStateFromProps","componentWillMount","UNSAFE_componentWillMount","componentDidMount","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","shouldComponentUpdate","componentWillUpdate","UNSAFE_componentWillUpdate","getSnapshotBeforeUpdate","componentDidUpdate","componentDidCatch","componentWillUnmount"],rendering:["/^render.+$/","render"]}}],"react/jsx-wrap-multilines":["error",{declaration:"parens-new-line",assignment:"parens-new-line",return:"parens-new-line",arrow:"parens-new-line",condition:"ignore",logical:"ignore",prop:"ignore"}],"react/jsx-first-prop-new-line":["error","multiline-multiprop"],"react/jsx-equals-spacing":["error","never"],"react/jsx-indent":["error",2],"react/style-prop-object":"error","react/jsx-tag-spacing":["error",{closingSlash:"never",beforeSelfClosing:"always",afterOpening:"never",beforeClosing:"never"}],"react/no-array-index-key":"off","react/void-dom-elements-no-children":"error","react/no-unused-state":"error","react/jsx-curly-brace-presence":["error",{props:"never",children:"never"}],"react/no-access-state-in-setstate":"error","react/no-this-in-sfc":"error","react/jsx-props-no-multi-spaces":"error","react/jsx-fragments":["error","syntax"],"react/jsx-curly-newline":["error",{multiline:"consistent",singleline:"consistent"}],"react/jsx-no-script-url":["error",[{name:"Link",props:["to","href"]},{name:"NextLink",props:["href"]}]],"react/jsx-key":["warn",{checkFragmentShorthand:!0,checkKeyMustBeforeSpread:!0,warnOnDuplicates:!0}],"react/jsx-uses-vars":"error","react/jsx-no-useless-fragment":"error","react/jsx-no-constructed-context-values":"error","react/no-unstable-nested-components":"error","react/no-unused-class-component-methods":"error","react/hook-use-state":"off","react/iframe-missing-sandbox":"warn","react/jsx-no-leaked-render":"off","react/no-object-type-as-default-prop":"warn","react/button-has-type":"error","react/no-namespace":"error","class-methods-use-this":["error",{exceptMethods:["render","getInitialState","getDefaultProps","getChildContext","componentWillMount","UNSAFE_componentWillMount","componentDidMount","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","shouldComponentUpdate","componentWillUpdate","UNSAFE_componentWillUpdate","componentDidUpdate","componentWillUnmount","componentDidCatch","getSnapshotBeforeUpdate"]}],"jsx-a11y/alt-text":["warn",{elements:["img"],img:["Image"]}],"jsx-a11y/aria-props":"warn","jsx-a11y/aria-proptypes":"warn","jsx-a11y/aria-unsupported-elements":"warn","jsx-a11y/role-has-required-aria-props":"warn","jsx-a11y/role-supports-aria-props":"warn"}}];
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{constants as e}from"@eslint-sukka/shared";import r from"eslint-plugin-i";import o from"eslint-plugin-react";import n from"eslint-plugin-jsx-a11y";import t from"eslint-plugin-react-hooks";import s from"globals";let a=[".js",".jsx",".mjs",".cjs"],i=(i={})=>[{files:[e.GLOB_TS,e.GLOB_TSX,e.GLOB_JS,e.GLOB_JSX],plugins:{i:r,import:r,react:o,"jsx-a11y":n,"react-hooks":t},settings:{"import/extensions":a,"import/resolver":{node:{extensions:a}},react:{version:"detect"}},languageOptions:{sourceType:"module",parserOptions:{ecmaFeatures:{jsx:!0},jsxPragma:void 0},globals:s.browser},rules:{...o.configs.recommended.rules,...o.configs["jsx-runtime"].rules,...t.configs.recommended.rules,"react-hooks/exhaustive-deps":["warn",{additionalHooks:i.additionalHooks??"(useIsomorphicLayoutEffect|useSukkaManyOtherCustomEffectHookExample)"}],"react/react-in-jsx-scope":"off","react/jsx-filename-extension":["warn",{extensions:[".jsx",".tsx"]}],"react/prop-types":"off","react/display-name":["off",{ignoreTranspilerName:!1}],"react/no-unknown-property":["error",{ignore:["css","jsx"]}],"react/jsx-boolean-value":["error","never",{always:[]}],"react/jsx-curly-spacing":["error","never",{allowMultiline:!0}],"react/jsx-handler-names":["off",{eventHandlerPrefix:"handle",eventHandlerPropPrefix:"on"}],"react/jsx-indent-props":["error",2],"react/jsx-max-props-per-line":["error",{maximum:1,when:"multiline"}],"react/jsx-no-bind":["error",{ignoreRefs:!0,allowArrowFunctions:!0,allowFunctions:!1,allowBind:!1,ignoreDOMComponents:!0}],"react/jsx-pascal-case":["error",{allowAllCaps:!0,ignore:[]}],"react/prefer-stateless-function":["error",{ignorePureComponents:!0}],"react/require-render-return":"error","react/self-closing-comp":"error","react/sort-comp":["error",{order:["static-variables","static-methods","instance-variables","lifecycle","/^handle.+$/","/^on.+$/","getters","setters","/^(get|set)(?!(InitialState$|DefaultProps$|ChildContext$)).+$/","instance-methods","everything-else","rendering"],groups:{lifecycle:["displayName","propTypes","contextTypes","childContextTypes","mixins","statics","defaultProps","constructor","getDefaultProps","getInitialState","state","getChildContext","getDerivedStateFromProps","componentWillMount","UNSAFE_componentWillMount","componentDidMount","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","shouldComponentUpdate","componentWillUpdate","UNSAFE_componentWillUpdate","getSnapshotBeforeUpdate","componentDidUpdate","componentDidCatch","componentWillUnmount"],rendering:["/^render.+$/","render"]}}],"react/jsx-wrap-multilines":["error",{declaration:"parens-new-line",assignment:"parens-new-line",return:"parens-new-line",arrow:"parens-new-line",condition:"ignore",logical:"ignore",prop:"ignore"}],"react/jsx-first-prop-new-line":["error","multiline-multiprop"],"react/jsx-equals-spacing":["error","never"],"react/jsx-indent":["error",2],"react/style-prop-object":"error","react/jsx-tag-spacing":["error",{closingSlash:"never",beforeSelfClosing:"always",afterOpening:"never",beforeClosing:"never"}],"react/no-array-index-key":"off","react/void-dom-elements-no-children":"error","react/no-unused-state":"error","react/jsx-curly-brace-presence":["error",{props:"never",children:"never"}],"react/no-access-state-in-setstate":"error","react/no-this-in-sfc":"error","react/jsx-props-no-multi-spaces":"error","react/jsx-fragments":["error","syntax"],"react/jsx-curly-newline":["error",{multiline:"consistent",singleline:"consistent"}],"react/jsx-no-script-url":["error",[{name:"Link",props:["to","href"]},{name:"NextLink",props:["href"]}]],"react/jsx-key":["warn",{checkFragmentShorthand:!0,checkKeyMustBeforeSpread:!0,warnOnDuplicates:!0}],"react/jsx-uses-vars":"error","react/jsx-no-useless-fragment":"error","react/jsx-no-constructed-context-values":"error","react/no-unstable-nested-components":"error","react/no-unused-class-component-methods":"error","react/hook-use-state":"off","react/iframe-missing-sandbox":"warn","react/jsx-no-leaked-render":"off","react/no-object-type-as-default-prop":"warn","react/button-has-type":"error","react/no-namespace":"error","class-methods-use-this":["error",{exceptMethods:["render","getInitialState","getDefaultProps","getChildContext","componentWillMount","UNSAFE_componentWillMount","componentDidMount","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","shouldComponentUpdate","componentWillUpdate","UNSAFE_componentWillUpdate","componentDidUpdate","componentWillUnmount","componentDidCatch","getSnapshotBeforeUpdate"]}],"jsx-a11y/alt-text":["warn",{elements:["img"],img:["Image"]}],"jsx-a11y/aria-props":"warn","jsx-a11y/aria-proptypes":"warn","jsx-a11y/aria-unsupported-elements":"warn","jsx-a11y/role-has-required-aria-props":"warn","jsx-a11y/role-supports-aria-props":"warn"}}];export{i as react};
|
package/package.json
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@eslint-sukka/react",
|
|
3
|
+
"version": "4.0.0-beta.10",
|
|
4
|
+
"description": "Sukka's ESLint config",
|
|
5
|
+
"author": "Sukka <https://skk.moe>",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"homepage": "https://github.com/SukkaW/eslint-config-sukka",
|
|
8
|
+
"repository": {
|
|
9
|
+
"url": "https://github.com/SukkaW/eslint-config-sukka",
|
|
10
|
+
"directory": "packages/react"
|
|
11
|
+
},
|
|
12
|
+
"keywords": [
|
|
13
|
+
"eslint-config"
|
|
14
|
+
],
|
|
15
|
+
"main": "dist/index.js",
|
|
16
|
+
"module": "dist/index.mjs",
|
|
17
|
+
"types": "dist/index.d.ts",
|
|
18
|
+
"exports": {
|
|
19
|
+
".": {
|
|
20
|
+
"types": "./dist/index.d.ts",
|
|
21
|
+
"import": "./dist/index.mjs",
|
|
22
|
+
"require": "./dist/index.cjs",
|
|
23
|
+
"default": "./dist/index.js"
|
|
24
|
+
},
|
|
25
|
+
"./package.json": "./package.json"
|
|
26
|
+
},
|
|
27
|
+
"files": [
|
|
28
|
+
"dist"
|
|
29
|
+
],
|
|
30
|
+
"dependencies": {
|
|
31
|
+
"eslint-plugin-i": "^2.28.1",
|
|
32
|
+
"eslint-plugin-jsx-a11y": "^6.7.1",
|
|
33
|
+
"eslint-plugin-react": "^7.33.2",
|
|
34
|
+
"eslint-plugin-react-hooks": "^4.6.0",
|
|
35
|
+
"globals": "^13.22.0",
|
|
36
|
+
"@eslint-sukka/shared": "4.0.0-beta.10"
|
|
37
|
+
},
|
|
38
|
+
"scripts": {
|
|
39
|
+
"build": "rollup -c rollup.config.ts --configPlugin swc3"
|
|
40
|
+
}
|
|
41
|
+
}
|