eslint-config-typed 2.3.2 → 3.0.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/README.md +29 -26
- package/dist/configs/plugins.d.mts +1 -1
- package/dist/configs/plugins.d.mts.map +1 -1
- package/dist/configs/plugins.mjs +2 -0
- package/dist/configs/plugins.mjs.map +1 -1
- package/dist/configs/react-base.d.mts.map +1 -1
- package/dist/configs/react-base.mjs +2 -0
- package/dist/configs/react-base.mjs.map +1 -1
- package/dist/entry-point.d.mts +1 -1
- package/dist/entry-point.d.mts.map +1 -1
- package/dist/entry-point.mjs +2 -1
- package/dist/entry-point.mjs.map +1 -1
- package/dist/index.mjs +3 -1
- package/dist/index.mjs.map +1 -1
- package/dist/plugins/index.d.mts +1 -0
- package/dist/plugins/index.d.mts.map +1 -1
- package/dist/plugins/index.mjs +1 -0
- package/dist/plugins/index.mjs.map +1 -1
- package/dist/plugins/react-coding-style/index.d.mts +2 -0
- package/dist/plugins/react-coding-style/index.d.mts.map +1 -0
- package/dist/plugins/react-coding-style/index.mjs +2 -0
- package/dist/plugins/react-coding-style/index.mjs.map +1 -0
- package/dist/plugins/react-coding-style/plugin.d.mts +3 -0
- package/dist/plugins/react-coding-style/plugin.d.mts.map +1 -0
- package/dist/plugins/react-coding-style/plugin.mjs +8 -0
- package/dist/plugins/react-coding-style/plugin.mjs.map +1 -0
- package/dist/plugins/react-coding-style/rules/ban-use-imperative-handle-hook.d.mts +5 -0
- package/dist/plugins/react-coding-style/rules/ban-use-imperative-handle-hook.d.mts.map +1 -0
- package/dist/plugins/react-coding-style/rules/ban-use-imperative-handle-hook.mjs +29 -0
- package/dist/plugins/react-coding-style/rules/ban-use-imperative-handle-hook.mjs.map +1 -0
- package/dist/plugins/react-coding-style/rules/component-name.d.mts +10 -0
- package/dist/plugins/react-coding-style/rules/component-name.d.mts.map +1 -0
- package/dist/plugins/react-coding-style/rules/component-name.mjs +78 -0
- package/dist/plugins/react-coding-style/rules/component-name.mjs.map +1 -0
- package/dist/plugins/react-coding-style/rules/component-var-type-annotation.d.mts +5 -0
- package/dist/plugins/react-coding-style/rules/component-var-type-annotation.d.mts.map +1 -0
- package/dist/plugins/react-coding-style/rules/component-var-type-annotation.mjs +41 -0
- package/dist/plugins/react-coding-style/rules/component-var-type-annotation.mjs.map +1 -0
- package/dist/plugins/react-coding-style/rules/import-style.d.mts +5 -0
- package/dist/plugins/react-coding-style/rules/import-style.d.mts.map +1 -0
- package/dist/plugins/react-coding-style/rules/import-style.mjs +45 -0
- package/dist/plugins/react-coding-style/rules/import-style.mjs.map +1 -0
- package/dist/plugins/react-coding-style/rules/index.d.mts +2 -0
- package/dist/plugins/react-coding-style/rules/index.d.mts.map +1 -0
- package/dist/plugins/react-coding-style/rules/index.mjs +2 -0
- package/dist/plugins/react-coding-style/rules/index.mjs.map +1 -0
- package/dist/plugins/react-coding-style/rules/props-type-annotation-style.d.mts +5 -0
- package/dist/plugins/react-coding-style/rules/props-type-annotation-style.d.mts.map +1 -0
- package/dist/plugins/react-coding-style/rules/props-type-annotation-style.mjs +44 -0
- package/dist/plugins/react-coding-style/rules/props-type-annotation-style.mjs.map +1 -0
- package/dist/plugins/react-coding-style/rules/react-memo-props-argument-name.d.mts +5 -0
- package/dist/plugins/react-coding-style/rules/react-memo-props-argument-name.d.mts.map +1 -0
- package/dist/plugins/react-coding-style/rules/react-memo-props-argument-name.mjs +55 -0
- package/dist/plugins/react-coding-style/rules/react-memo-props-argument-name.mjs.map +1 -0
- package/dist/plugins/react-coding-style/rules/react-memo-type-parameter.d.mts +5 -0
- package/dist/plugins/react-coding-style/rules/react-memo-type-parameter.d.mts.map +1 -0
- package/dist/plugins/react-coding-style/rules/react-memo-type-parameter.mjs +78 -0
- package/dist/plugins/react-coding-style/rules/react-memo-type-parameter.mjs.map +1 -0
- package/dist/plugins/react-coding-style/rules/rules.d.mts +14 -0
- package/dist/plugins/react-coding-style/rules/rules.d.mts.map +1 -0
- package/dist/plugins/react-coding-style/rules/rules.mjs +22 -0
- package/dist/plugins/react-coding-style/rules/rules.mjs.map +1 -0
- package/dist/plugins/react-coding-style/rules/shared.d.mts +5 -0
- package/dist/plugins/react-coding-style/rules/shared.d.mts.map +1 -0
- package/dist/plugins/react-coding-style/rules/shared.mjs +22 -0
- package/dist/plugins/react-coding-style/rules/shared.mjs.map +1 -0
- package/dist/plugins/react-coding-style/rules/use-memo-hooks-style.d.mts +5 -0
- package/dist/plugins/react-coding-style/rules/use-memo-hooks-style.d.mts.map +1 -0
- package/dist/plugins/react-coding-style/rules/use-memo-hooks-style.mjs +42 -0
- package/dist/plugins/react-coding-style/rules/use-memo-hooks-style.mjs.map +1 -0
- package/dist/rules/eslint-react-coding-style-rules.d.mts +13 -0
- package/dist/rules/eslint-react-coding-style-rules.d.mts.map +1 -0
- package/dist/rules/eslint-react-coding-style-rules.mjs +13 -0
- package/dist/rules/eslint-react-coding-style-rules.mjs.map +1 -0
- package/dist/rules/eslint-rules.d.mts +0 -57
- package/dist/rules/eslint-rules.d.mts.map +1 -1
- package/dist/rules/eslint-rules.mjs +1 -151
- package/dist/rules/eslint-rules.mjs.map +1 -1
- package/dist/rules/index.d.mts +1 -0
- package/dist/rules/index.d.mts.map +1 -1
- package/dist/rules/index.mjs +2 -1
- package/dist/rules/index.mjs.map +1 -1
- package/dist/types/define-known-rules.d.mts +2 -2
- package/dist/types/define-known-rules.d.mts.map +1 -1
- package/dist/types/define-known-rules.mjs.map +1 -1
- package/dist/types/rules/eslint-react-coding-style-rules.d.mts +148 -0
- package/dist/types/rules/eslint-react-coding-style-rules.d.mts.map +1 -0
- package/dist/types/rules/eslint-react-coding-style-rules.mjs +2 -0
- package/dist/types/rules/eslint-react-coding-style-rules.mjs.map +1 -0
- package/dist/types/rules/index.d.mts +1 -0
- package/dist/types/rules/index.d.mts.map +1 -1
- package/package.json +1 -5
- package/src/configs/plugins.mts +3 -0
- package/src/configs/react-base.mts +2 -0
- package/src/entry-point.mts +2 -1
- package/src/plugins/index.mts +1 -0
- package/src/plugins/react-coding-style/README.md +36 -0
- package/src/plugins/react-coding-style/index.mts +1 -0
- package/src/plugins/react-coding-style/plugin.mts +6 -0
- package/src/plugins/react-coding-style/rules/ban-use-imperative-handle-hook.mts +31 -0
- package/src/plugins/react-coding-style/rules/ban-use-imperative-handle-hook.test.mts +40 -0
- package/src/plugins/react-coding-style/rules/component-name.mts +93 -0
- package/src/plugins/react-coding-style/rules/component-name.test.mts +72 -0
- package/src/plugins/react-coding-style/rules/component-var-type-annotation.mts +54 -0
- package/src/plugins/react-coding-style/rules/component-var-type-annotation.test.mts +62 -0
- package/src/plugins/react-coding-style/rules/import-style.mts +53 -0
- package/src/plugins/react-coding-style/rules/import-style.test.mts +63 -0
- package/src/plugins/react-coding-style/rules/index.mts +1 -0
- package/src/plugins/react-coding-style/rules/props-type-annotation-style.mts +59 -0
- package/src/plugins/react-coding-style/rules/props-type-annotation-style.test.mts +71 -0
- package/src/plugins/react-coding-style/rules/react-memo-props-argument-name.mts +70 -0
- package/src/plugins/react-coding-style/rules/react-memo-props-argument-name.test.mts +56 -0
- package/src/plugins/react-coding-style/rules/react-memo-type-parameter.mts +102 -0
- package/src/plugins/react-coding-style/rules/react-memo-type-parameter.test.mts +98 -0
- package/src/plugins/react-coding-style/rules/rules.mts +20 -0
- package/src/plugins/react-coding-style/rules/shared.mts +33 -0
- package/src/plugins/react-coding-style/rules/use-memo-hooks-style.mts +52 -0
- package/src/plugins/react-coding-style/rules/use-memo-hooks-style.test.mts +72 -0
- package/src/rules/eslint-react-coding-style-rules.mts +12 -0
- package/src/rules/eslint-rules.mts +0 -181
- package/src/rules/index.mts +1 -0
- package/src/types/define-known-rules.mts +2 -0
- package/src/types/rules/eslint-react-coding-style-rules.mts +166 -0
- package/src/types/rules/index.mts +1 -0
|
@@ -106,156 +106,6 @@ const restrictedSyntax = [
|
|
|
106
106
|
// "Don't use the identifier name `draft` except in immer produce function.",
|
|
107
107
|
// },
|
|
108
108
|
];
|
|
109
|
-
const restrictedSyntaxForReact = {
|
|
110
|
-
// [These rules recommends React component style like below]
|
|
111
|
-
//
|
|
112
|
-
// import * as React from "react";
|
|
113
|
-
//
|
|
114
|
-
// type Props = Readonly<{
|
|
115
|
-
// numList: readonly number[];
|
|
116
|
-
// }>;
|
|
117
|
-
//
|
|
118
|
-
// OK
|
|
119
|
-
// export const Ok = React.memo<Props>((props) => {
|
|
120
|
-
// const sum = React.useMemo(
|
|
121
|
-
// () => props.numList.reduce((a, b) => a + b, 0),
|
|
122
|
-
// [props.numList],
|
|
123
|
-
// );
|
|
124
|
-
//
|
|
125
|
-
// return <div>{sum}</div>;
|
|
126
|
-
// });
|
|
127
|
-
//
|
|
128
|
-
// export const NoReturnStatementWithSpread = React.memo<Props>(({ numList }) => <div>{numList.length}</div>); // OK
|
|
129
|
-
//
|
|
130
|
-
// export const NoReturnStatementWithoutSpread = React.memo<Props>((props) => <div>{props.numList.length}</div>); // OK
|
|
131
|
-
// https://typescript-eslint.io/play/#ts=5.9.3&showAST=es&fileType=.tsx&code=JYWwDg9gTgLgBAKjgQwM5wEoFNkGN4BmUEIcARFDvmQNwCwAUKJLIiugDYQAmaAFnCIlyXXqj61GjGAE8wWOAAViYdAF5MObhAB2HGQB4A3ozhwdAVxAAZYKhgAuOJWTa9M81YBGWKAG0AXXoGAF8APmDGAHoouAB5AGlGLAAPFnhcXXt4gGs4DWw8GAA6ECwQCANlCFUwgAo6sBVUAEp8sLgTBjNMnWzUK3zNIuKLVCwAWXKIOtMzODq2tQ6mmtRiyxs7EspuC1wsBuQAGjgvJY7kOABqM9OABhbjubM-VdUNq1t7AOfuuBakX%2BlBgFigOjgBm4wAAbmEjAMQCEDFFoXDgiFAVIGDF4kkGKl0nBetkAHIQbCg8EAZRgyBg5SwOhgAHVgDA%2BNSmlohoV8KVplVmvU6kZPFtspj2pC0fDNt8ShwmQBzDnI1GwsJYhjRWKJZJpaAZLLwcmUsE6Wn0xnMtkciAWGBclzcXlUEplCpCtYi96taVQzVGP2fCWKlVqlGy7W6uCkgDiBqJJPgAEEoMrUzodBA6QzXQV3QKvdVag0-U5S-7lp05im4Ii3SMxpNprN-mZFtKQ-LtsVdvtDnUTmcLigbnc4I8-vM4G9mqGFb85jHgVgqRDA3CEVZ1bKMavcQmk0biSa4OnM9nc9buKnUABJPTAHQKQsjT2VKu%2B5pOMW9%2BwnBdXR9HFHx-ACOApRrLoenPRt335FspgqdtZy7Gsey%2BPsBwOI5TnOaUrluLwHieF45ywsNl3%2BVczBBC0ZSDRE901A8gSPRMCUNVh60vLMczzLA70fZ9XztPgABU5CwbACF8JkDibflP29MtGl-YY3H0YxxQVICtBAjxNnAwIoK1aVYLPPp4AQ4YkPGFCZgojCVgXACdmEwd8NHIiJ1IqdyI7Sj3Own4ZwBIF6PXRit3hFiozYxhMQ42Jj245NzyciSHRgaT5EvKwmUceySicgBRFJc2AXAAGESEgV9mQMDS1krZoxz5EoAClqQADWKcqlTKZkOkQj021a1Qxys%2Bs7K60ZHLbFyxyohV%2By8vDhwIsdiMnacKPnNZF22GizDo5wYvBJjtwSjV0WSw80q4wlT3rJyBJvfN7yzDxxuLSpkB0GQfzWGa63gwZ-uQ5bgtcuA1pwzahxHQiaz2gKDuCo6Pg8s7IuxaKNxu%2BLd0Sh7QieuMXp440bLgD7ryEkSnw4F831KgHdI8gzXCMsDfDM8Jyw6yyIfp%2Baixh1CVu7UKww2vYttR3b-LIiLXkR8KVyiy7ibinckXJiJHtS6mT14rLpk%2B5n71Z9mJPy2SsHkygdCU-7VMKbTDH-MKSuA9wBYg8zQemsX-jmqHOel5y4dW%2BX1twlGdr8kj1cOrWYHxi6GOug27v3U3sU4i26eyS9nS0YTlImkthQaP2wyg8HI8h0hoaWmX4%2BlDzFe87bfPRtXAo1uc8Yi3Ors3WVDdYimUpL57GHrSSIHXjfN637eN%2BsXRlXq8BdGK0lkDKWuue-EWwYjuCJejhbY7Q%2BZ4az-vldT4f09HzPE9OyfdZ5xnsxMm90TaUyBEAA&eslintrc=N4KABGBEBOCuA2BTAzpAXGUEKQHYHsBaaFAF2gEsBjUxAE0OQE9dSBDAD3TAG1xsciaNHzRIAGn4CsA7JGSIkNUd0gBJALYAHUaQAiiKvDbQ2pCvlw9k%2BWNCqIAdADc28WIgC8AchJsa3gC61lqGFABmFELIjgAMjqRMoQCEPpo60KQAcmwaKFr%2BiADKoVQRUdBBElKykHnIyGwA5oiqAEqI-qRgyAAWtvB0YABGiGAU2rr0YGzIYAAGExndAFQzcx1dYOEiGmC%2BnQHzjpA1EAC%2BkrKYZ3IKSqQqGOp0iKzlQjy4uYip3psBYIFEisBJJLzedK6HL1AoOEphSJCII8YFvUiONGgxKhNKTTIGIwmMwWXAorEYimOGx2BwuNweHx%2BQHVa44eqNFqqAAqvTG31hhTAArGSymQx2%2BD2By63jAGlgyG6o32ANI3hOt0uIB11xk13kikMjzEz25RQAirA3B86DDEDwkOEMSKfGqUZQmr0XT8fAAxADCVSubLqKE5rWeAFUFGA1Y48hp8AAeAAKIi0yAAfAAKHNaDPIACUYE8WcwYEcVbA5xLFFwSs6dE1121etuOHuxqeUHNVptSLtP0diGdjld-0O6uCnu94993j9sFwNFJAalOlw6ODHagHOakagMbG8cTKfT%2BEzufzhZLZYrVccNbrDdobGbp1bkl1sn1tS7yimlAACyiAaKM0AAKIcAW4akjw%2BDDAAVsa855G6U7khmQiJGhEJnuSJjomCoQAILQE0sB5KwyCeMuryRFudCBKyob7lyzynmB%2BA9P0CBDL0bDOGMOJjMCPy0NACzeBembeMcn6yG2v67oaDw9pAoHgUI0GwQ08GIShNB4RhspAthmRMCZ3gEUCRHYuC5GUdRpDIKk9GjvW9B2SCGKiU5VHojEol-Oa3LgqmxJ5JJaivmw7wkpYO5snu4YHu0U4JtxvEDAJQkieCYDidFQjSbJyDyS2SkhtIqkASaqhaRBukkPplgIchqETu65mXjhVkTrZqL2X5jkUYFNHubgDFecxw2%2BSRiABS5wXgj4YURVFiAxXFCXmElPnEf540rZiUUxPEIXrUU4WhB04RCG8DjJWxaUcVAXFJjl-FgIJwlgKJRVbZJZWFpVikCMptUpWp3ZAZpYHNTBrXIAZnXGd1mG9aElnWUNVLHc5QVTTNTGHQ5ZEnUFi3XbdiCRaYJXQLFSrxeYiVkuTo2U0TNFnYzF0094G13aOj0roghELYTE2ufzuSC6J9p4X85UvQa7GHpAn08X0uW-flAOFcV22lfMMlgwpWrfrcf4CLDgE8jdjm4AQ7D7VYBNrZCrzvEilRc-zR3e%2BRIgAO5LiuHstXBB3zcRVJe7i3gBm48Ax21nPx6CicjY4VBp4gTiGV1C49dnlJ51SBfwEgTgFn1uODdx6u1JrGVaMYDgLDreYN5mGDlXe5bAJW1a1vMYBhxQpC9D3mVnmmhbXv3xaliPY9PhPVWQzb7Yw-VGlqL75j%2B18Px-KvUvB8nof4BHy6rpYGeo3HVKIMjse4Kk5AeIH1eF2LujH06FJxmQrkHUENc66YgsrhZuSZW723bmaPkMwqasGFD8MA%2BBwjoPDtsR%2BHsgYNGmI8OMC9sp6x%2BiqbwV8d7YChtgO2dwjSO2eAAeWAZFUgklPZ51Ej4O%2BD8o6khfqSa%2BoIP56Vft-Twv9ED-zztAoujgS4YzLljCBADa6qP7v1PGLcWI1Tbm9LWvIxKFhwXgtgYAqAbksOiOxlh2D1nrE0GYYASCkDsLgHo7swJOKImAeAEwZ5kJ4rY1wlA2DDCQFgvIQxzZXytl%2BHUts6psIas8Y%2B6IPjQHPuhAA9AAPUcMAAALAAJnEOcAAJEUwOgjvAADUTAUFiUgQkxhTAmkkRiNx3MISp1ruIt%2BedBn50AWo4B1ly5UkmSo%2BucCBoLlsqxDWZieRoPsZMLcmCRQhLeE0We31BgjDGEgBoANBJ%2BOqU%2BdcDYKCvCkiQMOlBaDrAWPY18YB1x7KcZ4ChXQspJiXpebMfdbzrwrLWAA3GAaRugKz-M3EEuYRQpSIFRY4zB5w4UQ0YXvFSB8skaSajpT%2BmcOpGRARCeZKzrKKkQOkIQJJhIAAl4p0CQEguQKCQL4H%2BvGZlRQAkAx4jPOY8UHBKlEM4gFmD6yNnfAwi4JiIAsM7GS%2BGIslqu3wO7eCudpbexGenKlsj%2BmQIxEsmZtK5laJNcRO1%2Bim4LmZVpfAfL2RbNQWMaJHS4kFVCGAbkZyhgqnim7Mw0xZjzxBZ67iyZuRZknvK%2BYPylRgGcBgcNQKRUKC9TmR8RZUlKRqIEfg5wQDnCAA&tsconfig=N4KABGBEDGD2C2AHAlgGwKYCcDyiAuysAdgM6QBcYoEEkJemy0eFYDArugDTg2RGwAqkWgALdNADW6ACYBJIjPQAPWQEFo0dCTKUO6XgF8QhoA&tokens=false
|
|
132
|
-
// TODO: Create a separate plugin for these rules
|
|
133
|
-
/* Restrict import style of React */
|
|
134
|
-
importStyle: [
|
|
135
|
-
{
|
|
136
|
-
selector: "ImportDeclaration[source.value='react'][specifiers.0.type!='ImportNamespaceSpecifier']",
|
|
137
|
-
message: "React should be imported as `import * as React from 'react'`.",
|
|
138
|
-
// NOTE: React の import 方法を `import * as React from 'react'` と namespace import のみに限定するルール。
|
|
139
|
-
// import を1回で済ませられて便利なのと、 React.* に対する以降のルールを書きやすくするため。
|
|
140
|
-
// tree-shaking に悪影響は無い。
|
|
141
|
-
},
|
|
142
|
-
{
|
|
143
|
-
selector: "Identifier[name!='React'][parent.type='ImportNamespaceSpecifier'][parent.parent.type='ImportDeclaration'][parent.parent.source.value='react']",
|
|
144
|
-
message: "The namespace name imported from 'react' must be 'React'.",
|
|
145
|
-
},
|
|
146
|
-
],
|
|
147
|
-
/* Restrict React component definition style */
|
|
148
|
-
componentVarTypeAnnotation: [
|
|
149
|
-
{
|
|
150
|
-
// Ban "React.FC"
|
|
151
|
-
selector: "TSQualifiedName[left.name='React'][right.name='FC']",
|
|
152
|
-
message: 'Use React.memo<Props>((props) => { ... }) instead.',
|
|
153
|
-
// NOTE: React.FC による型注釈があれば React.memo を使うように促すルール。
|
|
154
|
-
// React.FC で型注釈されていない React.memo 化されていないコンポーネントは別途検出する必要がある。
|
|
155
|
-
},
|
|
156
|
-
{
|
|
157
|
-
// Ban "React.FunctionComponent"
|
|
158
|
-
selector: "TSQualifiedName[left.name='React'][right.name='FunctionComponent']",
|
|
159
|
-
message: 'Use React.memo<Props>((props) => { ... }) instead.',
|
|
160
|
-
},
|
|
161
|
-
],
|
|
162
|
-
reactMemoTypeParam: [
|
|
163
|
-
// NOTE: React.memo の型引数を `Props` に限定する。
|
|
164
|
-
// これは 1ファイル1コンポーネントの強制も意味する。
|
|
165
|
-
// 前提: component が React.memo でラップされていること。
|
|
166
|
-
{
|
|
167
|
-
selector:
|
|
168
|
-
// Detects `React.memo(...)`
|
|
169
|
-
"MemberExpression[object.name='React'][property.name='memo'][parent.typeArguments=undefined]",
|
|
170
|
-
message: "React.memo should have type parameter `'Props'`.",
|
|
171
|
-
},
|
|
172
|
-
{
|
|
173
|
-
selector:
|
|
174
|
-
// Detects `React.memo<NotProps>(...)`
|
|
175
|
-
"MemberExpression[object.name='React'][property.name='memo'][parent.typeArguments!=undefined][parent.typeArguments.type!='TSTypeParameterInstantiation']",
|
|
176
|
-
message: "React.memo should have type parameter `'Props'`.",
|
|
177
|
-
},
|
|
178
|
-
{
|
|
179
|
-
selector:
|
|
180
|
-
// Detects `React.memo<{ prop1: number }>(...)`
|
|
181
|
-
"MemberExpression[object.name='React'][property.name='memo'][parent.typeArguments!=undefined][parent.typeArguments.type='TSTypeParameterInstantiation'][parent.typeArguments.params.0.type!='TSTypeReference']",
|
|
182
|
-
message: "React.memo should have type parameter `'Props'`.",
|
|
183
|
-
},
|
|
184
|
-
{
|
|
185
|
-
selector:
|
|
186
|
-
// Detects `React.memo<NotProps>(...)`, `React.memo<Readonly<{ prop1: number }>>(...)`
|
|
187
|
-
"MemberExpression[object.name='React'][property.name='memo'][parent.typeArguments!=undefined][parent.typeArguments.type='TSTypeParameterInstantiation'][parent.typeArguments.params.0.type='TSTypeReference'][parent.typeArguments.params.0.typeName.name!='Props']",
|
|
188
|
-
message: "React.memo should have type parameter `'Props'`.",
|
|
189
|
-
},
|
|
190
|
-
],
|
|
191
|
-
propsTypeAnnotationStyle: [
|
|
192
|
-
{
|
|
193
|
-
// Restrict Props type annotation style for React.memo
|
|
194
|
-
selector: "TSTypeAnnotation[parent.type='Identifier'][parent.parent.type='ArrowFunctionExpression'][parent.parent.parent.type='CallExpression'][parent.parent.parent.callee.object.name='React'][parent.parent.parent.callee.property.name='memo']",
|
|
195
|
-
message: 'Replace `React.memo((props: Props) => { ... })` with `React.memo<Props>((props) => { ... })`.',
|
|
196
|
-
// 前提: Arrow function の使用が強制されていること。
|
|
197
|
-
},
|
|
198
|
-
],
|
|
199
|
-
/* Restrict props argument name to be "props" */
|
|
200
|
-
reactMemoPropsArgumentName: [
|
|
201
|
-
{
|
|
202
|
-
// Restrict props argument name to be "props"
|
|
203
|
-
selector: "Identifier[name!='props'][parent.type='ArrowFunctionExpression'][parent.expression!=true][parent.parent.callee.object.name='React'][parent.parent.callee.property.name='memo']",
|
|
204
|
-
message: "The argument name of arrow function passed to React.memo should be 'props'.",
|
|
205
|
-
// NOTE: component props を "props" という名前に限定する。
|
|
206
|
-
// 前提: component が React.memo でラップされていること。Arrow function の使用が強制されていること。
|
|
207
|
-
},
|
|
208
|
-
{
|
|
209
|
-
// Restrict props argument to be "props" variable (object destructuring is not allowed)
|
|
210
|
-
selector:
|
|
211
|
-
// Detect `React.memo<Props>(({ prop1, prop2 }) => { ... })`
|
|
212
|
-
"ObjectPattern[parent.type='ArrowFunctionExpression'][parent.expression!=true][parent.parent.callee.object.name='React'][parent.parent.callee.property.name='memo']",
|
|
213
|
-
message: "The props of a component containing a return statement are limited to a variable named `'props'`.",
|
|
214
|
-
// NOTE: return 文を含む component の props を "props" という名前の変数に限定する。
|
|
215
|
-
// 前提: component が React.memo でラップされていること。Arrow function の使用が強制されていること。
|
|
216
|
-
},
|
|
217
|
-
],
|
|
218
|
-
componentName: {
|
|
219
|
-
maxLength: (maxLength = 42) => [
|
|
220
|
-
{
|
|
221
|
-
// Limit the length of component names ${maxLength} characters
|
|
222
|
-
selector: `Identifier[name=/^.{${maxLength},}$/][parent.type='VariableDeclarator'][parent.init.type='CallExpression'][parent.init.callee.object.name='React'][parent.init.callee.property.name='memo']`,
|
|
223
|
-
message: `The component name length should be less than ${maxLength}. Consider rewrite as \`const Component = React.memo<Props>((props) => { }); export { Component as SomeComponent };\`.`,
|
|
224
|
-
// NOTE:
|
|
225
|
-
// `const Name = React.memo<Props>((props) => {`
|
|
226
|
-
// が1行に収まるようにするためのルール。1行に収まらないとインデントが増えてコンポーネント実装の可読性が下がりやすくなるため。
|
|
227
|
-
// component props の型名や引数名の制約と併せて、 prettier のデフォルト print-width = 80 で export を省いた場合の最大長としてデフォルト値 42 を設定している。
|
|
228
|
-
// 抵触する場合、以下のように書き換える。
|
|
229
|
-
//
|
|
230
|
-
// const Component = React.memo<Props>((props) => {
|
|
231
|
-
// ...
|
|
232
|
-
// });
|
|
233
|
-
//
|
|
234
|
-
// export { Component as SomeComponent };
|
|
235
|
-
},
|
|
236
|
-
],
|
|
237
|
-
regexp: (pattern) => [
|
|
238
|
-
{
|
|
239
|
-
// Validate that component names match the provided pattern
|
|
240
|
-
selector: `Identifier[name=${pattern}][parent.type='VariableDeclarator'][parent.init.type='CallExpression'][parent.init.callee.object.name='React'][parent.init.callee.property.name='memo']`,
|
|
241
|
-
message: `The component name should match ${pattern}.`,
|
|
242
|
-
},
|
|
243
|
-
],
|
|
244
|
-
},
|
|
245
|
-
/* Restrict React hooks definition style */
|
|
246
|
-
reactHooksDefinitionStyle: [
|
|
247
|
-
{
|
|
248
|
-
// Ban "React.useImperativeHandle"
|
|
249
|
-
selector: "MemberExpression[object.name='React'][property.name='useImperativeHandle']",
|
|
250
|
-
message: 'Move logic to parent component instead of using React.useImperativeHandle.',
|
|
251
|
-
},
|
|
252
|
-
{
|
|
253
|
-
// Restrict type annotation style for React.useMemo
|
|
254
|
-
selector: "TSTypeAnnotation[parent.parent.type='CallExpression'][parent.parent.callee.object.name='React'][parent.parent.callee.property.name='useMemo']",
|
|
255
|
-
message: 'The variable type T should be annotated as `React.useMemo<T>` or `const v: T = React.useMemo(...)`.',
|
|
256
|
-
},
|
|
257
|
-
],
|
|
258
|
-
};
|
|
259
109
|
/** @link https://github.com/eslint/eslint/blob/main/conf/eslint-all.js */
|
|
260
110
|
const eslintRules = {
|
|
261
111
|
/**
|
|
@@ -631,5 +481,5 @@ const eslintRules = {
|
|
|
631
481
|
'multiline-comment-style': 0, // disabled
|
|
632
482
|
};
|
|
633
483
|
|
|
634
|
-
export { eslintRules, restrictedGlobals, restrictedGlobalsForBrowser, restrictedSyntax
|
|
484
|
+
export { eslintRules, restrictedGlobals, restrictedGlobalsForBrowser, restrictedSyntax };
|
|
635
485
|
//# sourceMappingURL=eslint-rules.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eslint-rules.mjs","sources":["../../src/rules/eslint-rules.mts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eslint-rules.mjs","sources":["../../src/rules/eslint-rules.mts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/dist/rules/index.d.mts
CHANGED
|
@@ -9,6 +9,7 @@ export * from './eslint-plugin-rules.mjs';
|
|
|
9
9
|
export * from './eslint-plugin-sort-destructure-keys-rules.mjs';
|
|
10
10
|
export * from './eslint-prefer-arrow-functions-rules.mjs';
|
|
11
11
|
export * from './eslint-promise-rules.mjs';
|
|
12
|
+
export * from './eslint-react-coding-style-rules.mjs';
|
|
12
13
|
export * from './eslint-react-hooks-rules.mjs';
|
|
13
14
|
export * from './eslint-react-perf-rules.mjs';
|
|
14
15
|
export * from './eslint-react-refresh-rules.mjs';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../src/rules/index.mts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iDAAiD,CAAC;AAChE,cAAc,2CAA2C,CAAC;AAC1D,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AACnD,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../src/rules/index.mts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iDAAiD,CAAC;AAChE,cAAc,2CAA2C,CAAC;AAC1D,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uCAAuC,CAAC;AACtD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AACnD,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC"}
|
package/dist/rules/index.mjs
CHANGED
|
@@ -9,11 +9,12 @@ export { eslintPluginRules } from './eslint-plugin-rules.mjs';
|
|
|
9
9
|
export { eslintPluginSortDestructureKeysRules } from './eslint-plugin-sort-destructure-keys-rules.mjs';
|
|
10
10
|
export { eslintPreferArrowFunctionRules } from './eslint-prefer-arrow-functions-rules.mjs';
|
|
11
11
|
export { eslintPromiseRules } from './eslint-promise-rules.mjs';
|
|
12
|
+
export { eslintReactCodingStyleRules } from './eslint-react-coding-style-rules.mjs';
|
|
12
13
|
export { eslintReactHooksRules } from './eslint-react-hooks-rules.mjs';
|
|
13
14
|
export { eslintReactPerfRules } from './eslint-react-perf-rules.mjs';
|
|
14
15
|
export { eslintReactRefreshRules } from './eslint-react-refresh-rules.mjs';
|
|
15
16
|
export { eslintReactRules } from './eslint-react-rules.mjs';
|
|
16
|
-
export { eslintRules, restrictedGlobals, restrictedGlobalsForBrowser, restrictedSyntax
|
|
17
|
+
export { eslintRules, restrictedGlobals, restrictedGlobalsForBrowser, restrictedSyntax } from './eslint-rules.mjs';
|
|
17
18
|
export { eslintSecurityRules } from './eslint-security-rules.mjs';
|
|
18
19
|
export { eslintTestingLibraryRules } from './eslint-testing-library-rules.mjs';
|
|
19
20
|
export { eslintTotalFunctionsRules } from './eslint-total-functions-rules.mjs';
|
package/dist/rules/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { type EslintArrayFuncRules, type EslintCustomRules, type EslintCypressRules, type EslintFunctionalRules, type EslintImportsRules, type EslintJestRules, type EslintJsxA11yRules, type EslintPlaywrightRules, type EslintPluginRules, type EslintPluginSortDestructureKeysRules, type EslintPreferArrowFunctionRules, type EslintPromiseRules, type EslintReactHooksRules, type EslintReactPerfRules, type EslintReactRefreshRules, type EslintReactRules, type EslintRules, type EslintSecurityRules, type EslintStrictDependenciesRules, type EslintTestingLibraryRules, type EslintTotalFunctionsRules, type EslintTreeShakableRules, type EslintUnicornRules, type EslintVitestRules, type TypeScriptEslintRules } from './rules/index.mjs';
|
|
2
|
-
type KnownRules = DeepReadonly<EslintArrayFuncRules & EslintCustomRules & EslintCypressRules & EslintFunctionalRules & EslintImportsRules & EslintJestRules & EslintJsxA11yRules & EslintPlaywrightRules & EslintPluginRules & EslintPluginSortDestructureKeysRules & EslintPreferArrowFunctionRules & EslintPromiseRules & EslintReactHooksRules & EslintReactPerfRules & EslintReactRefreshRules & EslintReactRules & EslintRules & EslintSecurityRules & EslintStrictDependenciesRules & EslintTestingLibraryRules & EslintTotalFunctionsRules & EslintTreeShakableRules & EslintUnicornRules & EslintVitestRules & TypeScriptEslintRules>;
|
|
1
|
+
import { type EslintArrayFuncRules, type EslintCustomRules, type EslintCypressRules, type EslintFunctionalRules, type EslintImportsRules, type EslintJestRules, type EslintJsxA11yRules, type EslintPlaywrightRules, type EslintPluginRules, type EslintPluginSortDestructureKeysRules, type EslintPreferArrowFunctionRules, type EslintPromiseRules, type EslintReactCodingStyleRules, type EslintReactHooksRules, type EslintReactPerfRules, type EslintReactRefreshRules, type EslintReactRules, type EslintRules, type EslintSecurityRules, type EslintStrictDependenciesRules, type EslintTestingLibraryRules, type EslintTotalFunctionsRules, type EslintTreeShakableRules, type EslintUnicornRules, type EslintVitestRules, type TypeScriptEslintRules } from './rules/index.mjs';
|
|
2
|
+
type KnownRules = DeepReadonly<EslintArrayFuncRules & EslintCustomRules & EslintCypressRules & EslintFunctionalRules & EslintImportsRules & EslintJestRules & EslintJsxA11yRules & EslintPlaywrightRules & EslintPluginRules & EslintPluginSortDestructureKeysRules & EslintPreferArrowFunctionRules & EslintPromiseRules & EslintReactHooksRules & EslintReactPerfRules & EslintReactRefreshRules & EslintReactRules & EslintRules & EslintSecurityRules & EslintStrictDependenciesRules & EslintTestingLibraryRules & EslintTotalFunctionsRules & EslintTreeShakableRules & EslintUnicornRules & EslintVitestRules & EslintReactCodingStyleRules & TypeScriptEslintRules>;
|
|
3
3
|
export declare const defineKnownRules: (rules: Partial<KnownRules>) => Partial<KnownRules>;
|
|
4
4
|
export {};
|
|
5
5
|
//# sourceMappingURL=define-known-rules.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define-known-rules.d.mts","sourceRoot":"","sources":["../../src/types/define-known-rules.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,oCAAoC,EACzC,KAAK,8BAA8B,EACnC,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,6BAA6B,EAClC,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,EAC9B,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC3B,MAAM,mBAAmB,CAAC;AAE3B,KAAK,UAAU,GAAG,YAAY,CAC5B,oBAAoB,GAClB,iBAAiB,GACjB,kBAAkB,GAClB,qBAAqB,GACrB,kBAAkB,GAClB,eAAe,GACf,kBAAkB,GAClB,qBAAqB,GACrB,iBAAiB,GACjB,oCAAoC,GACpC,8BAA8B,GAC9B,kBAAkB,GAClB,qBAAqB,GACrB,oBAAoB,GACpB,uBAAuB,GACvB,gBAAgB,GAChB,WAAW,GACX,mBAAmB,GACnB,6BAA6B,GAC7B,yBAAyB,GACzB,yBAAyB,GACzB,uBAAuB,GACvB,kBAAkB,GAClB,iBAAiB,GACjB,qBAAqB,CACxB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,OAAO,OAAO,CAAC,UAAU,CAAC,KACzB,OAAO,CAAC,UAAU,CAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"define-known-rules.d.mts","sourceRoot":"","sources":["../../src/types/define-known-rules.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,oCAAoC,EACzC,KAAK,8BAA8B,EACnC,KAAK,kBAAkB,EACvB,KAAK,2BAA2B,EAChC,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,6BAA6B,EAClC,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,EAC9B,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC3B,MAAM,mBAAmB,CAAC;AAE3B,KAAK,UAAU,GAAG,YAAY,CAC5B,oBAAoB,GAClB,iBAAiB,GACjB,kBAAkB,GAClB,qBAAqB,GACrB,kBAAkB,GAClB,eAAe,GACf,kBAAkB,GAClB,qBAAqB,GACrB,iBAAiB,GACjB,oCAAoC,GACpC,8BAA8B,GAC9B,kBAAkB,GAClB,qBAAqB,GACrB,oBAAoB,GACpB,uBAAuB,GACvB,gBAAgB,GAChB,WAAW,GACX,mBAAmB,GACnB,6BAA6B,GAC7B,yBAAyB,GACzB,yBAAyB,GACzB,uBAAuB,GACvB,kBAAkB,GAClB,iBAAiB,GACjB,2BAA2B,GAC3B,qBAAqB,CACxB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,OAAO,OAAO,CAAC,UAAU,CAAC,KACzB,OAAO,CAAC,UAAU,CAAU,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define-known-rules.mjs","sources":["../../src/types/define-known-rules.mts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"define-known-rules.mjs","sources":["../../src/types/define-known-rules.mts"],"sourcesContent":[null],"names":[],"mappings":"AA0DO,MAAM,gBAAgB,GAAG,CAC9B,KAA0B,KACF;;;;"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { type Linter } from 'eslint';
|
|
2
|
+
type SpreadOptionsIfIsArray<T extends readonly [Linter.StringSeverity, unknown]> = T[1] extends readonly unknown[] ? readonly [Linter.StringSeverity, ...T[1]] : T;
|
|
3
|
+
/**
|
|
4
|
+
* Enforces naming conventions for variables assigned to React.memo(...)
|
|
5
|
+
* components.
|
|
6
|
+
*
|
|
7
|
+
* ```md
|
|
8
|
+
* | key | value |
|
|
9
|
+
* | :--------- | :--------- |
|
|
10
|
+
* | type | suggestion |
|
|
11
|
+
* | deprecated | false |
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
declare namespace ComponentName {
|
|
15
|
+
/**
|
|
16
|
+
* ### schema
|
|
17
|
+
*
|
|
18
|
+
* ```json
|
|
19
|
+
* [
|
|
20
|
+
* {
|
|
21
|
+
* "type": "object",
|
|
22
|
+
* "properties": {
|
|
23
|
+
* "maxLength": {
|
|
24
|
+
* "type": "integer",
|
|
25
|
+
* "minimum": 1
|
|
26
|
+
* },
|
|
27
|
+
* "pattern": {
|
|
28
|
+
* "type": "object"
|
|
29
|
+
* }
|
|
30
|
+
* },
|
|
31
|
+
* "additionalProperties": false
|
|
32
|
+
* }
|
|
33
|
+
* ]
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
type Options = {
|
|
37
|
+
readonly maxLength?: number;
|
|
38
|
+
readonly pattern?: UnknownRecord;
|
|
39
|
+
};
|
|
40
|
+
type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Disallows using React.FC / React.FunctionComponent type annotations.
|
|
44
|
+
*
|
|
45
|
+
* ```md
|
|
46
|
+
* | key | value |
|
|
47
|
+
* | :--------- | :--------- |
|
|
48
|
+
* | type | suggestion |
|
|
49
|
+
* | deprecated | false |
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
declare namespace ComponentVarTypeAnnotation {
|
|
53
|
+
type RuleEntry = Linter.StringSeverity;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Enforces importing React with a single namespace import named 'React'.
|
|
57
|
+
*
|
|
58
|
+
* ```md
|
|
59
|
+
* | key | value |
|
|
60
|
+
* | :--------- | :--------- |
|
|
61
|
+
* | type | suggestion |
|
|
62
|
+
* | deprecated | false |
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
65
|
+
declare namespace ImportStyle {
|
|
66
|
+
type RuleEntry = Linter.StringSeverity;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Forbids annotating props directly in the arrow function passed to React.memo.
|
|
70
|
+
*
|
|
71
|
+
* ```md
|
|
72
|
+
* | key | value |
|
|
73
|
+
* | :--------- | :--------- |
|
|
74
|
+
* | type | suggestion |
|
|
75
|
+
* | deprecated | false |
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
78
|
+
declare namespace PropsTypeAnnotationStyle {
|
|
79
|
+
type RuleEntry = Linter.StringSeverity;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Enforces the arrow function passed to React.memo to use a single argument
|
|
83
|
+
* named 'props'.
|
|
84
|
+
*
|
|
85
|
+
* ```md
|
|
86
|
+
* | key | value |
|
|
87
|
+
* | :--------- | :--------- |
|
|
88
|
+
* | type | suggestion |
|
|
89
|
+
* | deprecated | false |
|
|
90
|
+
* ```
|
|
91
|
+
*/
|
|
92
|
+
declare namespace ReactMemoPropsArgumentName {
|
|
93
|
+
type RuleEntry = Linter.StringSeverity;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Requires React.memo calls to have the type parameter 'Props'.
|
|
97
|
+
*
|
|
98
|
+
* ```md
|
|
99
|
+
* | key | value |
|
|
100
|
+
* | :--------- | :--------- |
|
|
101
|
+
* | type | suggestion |
|
|
102
|
+
* | deprecated | false |
|
|
103
|
+
* ```
|
|
104
|
+
*/
|
|
105
|
+
declare namespace ReactMemoTypeParameter {
|
|
106
|
+
type RuleEntry = Linter.StringSeverity;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Restricts React.useMemo hook usage patterns for consistent styles.
|
|
110
|
+
*
|
|
111
|
+
* ```md
|
|
112
|
+
* | key | value |
|
|
113
|
+
* | :--------- | :--------- |
|
|
114
|
+
* | type | suggestion |
|
|
115
|
+
* | deprecated | false |
|
|
116
|
+
* ```
|
|
117
|
+
*/
|
|
118
|
+
declare namespace UseMemoHookStyle {
|
|
119
|
+
type RuleEntry = Linter.StringSeverity;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Restricts specific React hook usage patterns for consistent component styles.
|
|
123
|
+
*
|
|
124
|
+
* ```md
|
|
125
|
+
* | key | value |
|
|
126
|
+
* | :--------- | :--------- |
|
|
127
|
+
* | type | suggestion |
|
|
128
|
+
* | deprecated | false |
|
|
129
|
+
* ```
|
|
130
|
+
*/
|
|
131
|
+
declare namespace BanUseImperativeHandleHook {
|
|
132
|
+
type RuleEntry = Linter.StringSeverity;
|
|
133
|
+
}
|
|
134
|
+
export type EslintReactCodingStyleRules = {
|
|
135
|
+
readonly 'react-coding-style/component-name': ComponentName.RuleEntry;
|
|
136
|
+
readonly 'react-coding-style/component-var-type-annotation': ComponentVarTypeAnnotation.RuleEntry;
|
|
137
|
+
readonly 'react-coding-style/import-style': ImportStyle.RuleEntry;
|
|
138
|
+
readonly 'react-coding-style/props-type-annotation-style': PropsTypeAnnotationStyle.RuleEntry;
|
|
139
|
+
readonly 'react-coding-style/react-memo-props-argument-name': ReactMemoPropsArgumentName.RuleEntry;
|
|
140
|
+
readonly 'react-coding-style/react-memo-type-parameter': ReactMemoTypeParameter.RuleEntry;
|
|
141
|
+
readonly 'react-coding-style/use-memo-hook-style': UseMemoHookStyle.RuleEntry;
|
|
142
|
+
readonly 'react-coding-style/ban-use-imperative-handle-hook': BanUseImperativeHandleHook.RuleEntry;
|
|
143
|
+
};
|
|
144
|
+
export type EslintReactCodingStyleRulesOption = {
|
|
145
|
+
readonly 'react-coding-style/component-name': ComponentName.Options;
|
|
146
|
+
};
|
|
147
|
+
export {};
|
|
148
|
+
//# sourceMappingURL=eslint-react-coding-style-rules.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eslint-react-coding-style-rules.d.mts","sourceRoot":"","sources":["../../../src/types/rules/eslint-react-coding-style-rules.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,KAAK,sBAAsB,CACzB,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,IACjD,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,OAAO,EAAE,GAC/B,SAAS,CAAC,MAAM,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GACzC,CAAC,CAAC;AAEN;;;;;;;;;;GAUG;AACH,kBAAU,aAAa,CAAC;IACtB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,KAAY,OAAO,GAAG;QACpB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;KAClC,CAAC;IAEF,KAAY,SAAS,GACjB,MAAM,CAAC,QAAQ,GACf,sBAAsB,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,GACjE,KAAK,CAAC;CACX;AAED;;;;;;;;;GASG;AACH,kBAAU,0BAA0B,CAAC;IACnC,KAAY,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;CAC/C;AAED;;;;;;;;;GASG;AACH,kBAAU,WAAW,CAAC;IACpB,KAAY,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;CAC/C;AAED;;;;;;;;;GASG;AACH,kBAAU,wBAAwB,CAAC;IACjC,KAAY,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;CAC/C;AAED;;;;;;;;;;GAUG;AACH,kBAAU,0BAA0B,CAAC;IACnC,KAAY,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;CAC/C;AAED;;;;;;;;;GASG;AACH,kBAAU,sBAAsB,CAAC;IAC/B,KAAY,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;CAC/C;AAED;;;;;;;;;GASG;AACH,kBAAU,gBAAgB,CAAC;IACzB,KAAY,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;CAC/C;AAED;;;;;;;;;GASG;AACH,kBAAU,0BAA0B,CAAC;IACnC,KAAY,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;CAC/C;AAED,MAAM,MAAM,2BAA2B,GAAG;IACxC,QAAQ,CAAC,mCAAmC,EAAE,aAAa,CAAC,SAAS,CAAC;IACtE,QAAQ,CAAC,kDAAkD,EAAE,0BAA0B,CAAC,SAAS,CAAC;IAClG,QAAQ,CAAC,iCAAiC,EAAE,WAAW,CAAC,SAAS,CAAC;IAClE,QAAQ,CAAC,gDAAgD,EAAE,wBAAwB,CAAC,SAAS,CAAC;IAC9F,QAAQ,CAAC,mDAAmD,EAAE,0BAA0B,CAAC,SAAS,CAAC;IACnG,QAAQ,CAAC,8CAA8C,EAAE,sBAAsB,CAAC,SAAS,CAAC;IAC1F,QAAQ,CAAC,wCAAwC,EAAE,gBAAgB,CAAC,SAAS,CAAC;IAC9E,QAAQ,CAAC,mDAAmD,EAAE,0BAA0B,CAAC,SAAS,CAAC;CACpG,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG;IAC9C,QAAQ,CAAC,mCAAmC,EAAE,aAAa,CAAC,OAAO,CAAC;CACrE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eslint-react-coding-style-rules.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -10,6 +10,7 @@ export * from './eslint-plugin-rules.mjs';
|
|
|
10
10
|
export * from './eslint-plugin-sort-destructure-keys-rules.mjs';
|
|
11
11
|
export * from './eslint-prefer-arrow-functions-rules.mjs';
|
|
12
12
|
export * from './eslint-promise-rules.mjs';
|
|
13
|
+
export * from './eslint-react-coding-style-rules.mjs';
|
|
13
14
|
export * from './eslint-react-hooks-rules.mjs';
|
|
14
15
|
export * from './eslint-react-perf-rules.mjs';
|
|
15
16
|
export * from './eslint-react-refresh-rules.mjs';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../../src/types/rules/index.mts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iDAAiD,CAAC;AAChE,cAAc,2CAA2C,CAAC;AAC1D,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wCAAwC,CAAC;AACvD,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AACnD,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../../src/types/rules/index.mts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iDAAiD,CAAC;AAChE,cAAc,2CAA2C,CAAC;AAC1D,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uCAAuC,CAAC;AACtD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wCAAwC,CAAC;AACvD,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AACnD,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "eslint-config-typed",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"keywords": [
|
|
6
6
|
"typescript"
|
|
@@ -35,8 +35,6 @@
|
|
|
35
35
|
"check-all": "tsx ./scripts/cmd/check-all.mts",
|
|
36
36
|
"check:ext": "tsx ./scripts/cmd/check-ext.mts",
|
|
37
37
|
"cspell": "cspell \"**\" --gitignore --gitignore-root ./ --no-progress",
|
|
38
|
-
"doc": "tsx ./scripts/cmd/gen-docs.mts",
|
|
39
|
-
"doc:embed": "tsx ./scripts/cmd/embed-samples.mts",
|
|
40
38
|
"fmt": "format-uncommitted",
|
|
41
39
|
"fmt:diff": "format-diff-from origin/main",
|
|
42
40
|
"fmt:full": "prettier --write .",
|
|
@@ -147,8 +145,6 @@
|
|
|
147
145
|
"ts-type-forge": "^2.3.0",
|
|
148
146
|
"tslib": "^2.8.1",
|
|
149
147
|
"tsx": "^4.20.6",
|
|
150
|
-
"typedoc": "^0.28.14",
|
|
151
|
-
"typedoc-plugin-markdown": "^4.9.0",
|
|
152
148
|
"typescript": "^5.9.3",
|
|
153
149
|
"vitest": "^4.0.4"
|
|
154
150
|
},
|
package/src/configs/plugins.mts
CHANGED
|
@@ -48,6 +48,7 @@ import eslintPluginEslintPlugin from 'eslint-plugin-eslint-plugin';
|
|
|
48
48
|
// import eslintPluginTreeShakable from 'eslint-plugin-tree-shakable';
|
|
49
49
|
import {
|
|
50
50
|
eslintPluginCustom,
|
|
51
|
+
eslintPluginReactCodingStyle,
|
|
51
52
|
eslintPluginStrictDependencies,
|
|
52
53
|
eslintPluginTotalFunctions,
|
|
53
54
|
eslintPluginTreeShakable,
|
|
@@ -71,6 +72,7 @@ export const plugins: Record<
|
|
|
71
72
|
| 'react-hooks'
|
|
72
73
|
| 'react-refresh'
|
|
73
74
|
| 'react-perf'
|
|
75
|
+
| 'react-coding-style'
|
|
74
76
|
| 'security'
|
|
75
77
|
| 'strict-dependencies'
|
|
76
78
|
| 'testing-library'
|
|
@@ -104,6 +106,7 @@ export const plugins: Record<
|
|
|
104
106
|
'react-refresh': eslintPluginReactRefresh,
|
|
105
107
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
106
108
|
'react-perf': eslintPluginReactPerf,
|
|
109
|
+
'react-coding-style': eslintPluginReactCodingStyle,
|
|
107
110
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
108
111
|
security: eslintPluginSecurity,
|
|
109
112
|
'strict-dependencies': eslintPluginStrictDependencies,
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
eslintJsxA11yRules,
|
|
3
|
+
eslintReactCodingStyleRules,
|
|
3
4
|
eslintReactHooksRules,
|
|
4
5
|
eslintReactPerfRules,
|
|
5
6
|
eslintReactRefreshRules,
|
|
@@ -28,6 +29,7 @@ export const eslintConfigForReactBase = (
|
|
|
28
29
|
...eslintReactRefreshRules,
|
|
29
30
|
...eslintJsxA11yRules,
|
|
30
31
|
...eslintReactPerfRules,
|
|
32
|
+
...eslintReactCodingStyleRules,
|
|
31
33
|
}),
|
|
32
34
|
},
|
|
33
35
|
] as const;
|
package/src/entry-point.mts
CHANGED
|
@@ -42,10 +42,10 @@ export {
|
|
|
42
42
|
restrictedGlobals,
|
|
43
43
|
restrictedGlobalsForBrowser,
|
|
44
44
|
restrictedSyntax,
|
|
45
|
-
restrictedSyntaxForReact,
|
|
46
45
|
|
|
47
46
|
// Custom plugins
|
|
48
47
|
eslintPluginCustom,
|
|
48
|
+
eslintPluginReactCodingStyle,
|
|
49
49
|
eslintPluginTotalFunctions,
|
|
50
50
|
eslintPluginTreeShakable,
|
|
51
51
|
|
|
@@ -78,6 +78,7 @@ export {
|
|
|
78
78
|
type EslintImportsRulesOption,
|
|
79
79
|
type EslintStrictDependenciesRules,
|
|
80
80
|
type EslintStrictDependenciesRulesOption,
|
|
81
|
+
type EslintReactCodingStyleRules,
|
|
81
82
|
type EslintSecurityRules,
|
|
82
83
|
type EslintTreeShakableRules,
|
|
83
84
|
type EslintReactRules,
|
package/src/plugins/index.mts
CHANGED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# eslint-plugin-react-coding-style
|
|
2
|
+
|
|
3
|
+
Lint rules to recommends React component style like below:
|
|
4
|
+
|
|
5
|
+
```tsx
|
|
6
|
+
import * as React from 'react';
|
|
7
|
+
|
|
8
|
+
type Props = Readonly<{
|
|
9
|
+
numList: readonly number[];
|
|
10
|
+
}>;
|
|
11
|
+
|
|
12
|
+
OK;
|
|
13
|
+
export const Ok = React.memo<Props>((props) => {
|
|
14
|
+
const sum = React.useMemo(
|
|
15
|
+
() => props.numList.reduce((a, b) => a + b, 0),
|
|
16
|
+
[props.numList],
|
|
17
|
+
);
|
|
18
|
+
|
|
19
|
+
return <div>{sum}</div>;
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
// OK
|
|
23
|
+
export const NoReturnStatementWithDestructedProps = React.memo<Props>(
|
|
24
|
+
({ numList }) => <div>{numList.length}</div>,
|
|
25
|
+
);
|
|
26
|
+
|
|
27
|
+
// OK
|
|
28
|
+
export const NoReturnStatementWithoutDestructedProps = React.memo<Props>(
|
|
29
|
+
(props) => <div>{props.numList.length}</div>,
|
|
30
|
+
);
|
|
31
|
+
|
|
32
|
+
// OK
|
|
33
|
+
export const MemoWithoutProps = React.memo(() => <div>{1}</div>);
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
[typescript-eslint PlayGround](https://typescript-eslint.io/play/#ts=5.9.3&showAST=es&fileType=.tsx&code=JYWwDg9gTgLgBAKjgQwM5wEoFNkGN4BmUEIcARFDvmQNwCwAUKJLIiugDYQAmaAFnCIlyXXqj61GjGAE8wWOAAViYdAF5MObhAB2HGQB4A3ozhwdAVxAAZYKhgAuOJWTa9M81YBGWKAG0AXXoGAF8APmDGAHoouAB5AGlGLAAPFnhcXXt4gGs4DWw8GAA6ECwQCANlCFUwgAo6sBVUAEp8sLgTBjNMnWzUK3zNIuKLVCwAWXKIOtMzODq2tQ6mmtRiyxs7EspuC1wsBuQAGjgvJY7kOABqM9OABhbjubM-VdUNq1t7AOfuuBakX%2BlBgFigOjgBm4wAAbmEjAMQCEDFFoXDgiFAVIGDF4kkGKl0nBetkAHIQbCg8EAZRgyBg5SwOhgAHVgDA%2BNSmlohoV8KVplVmvU6kZPFtspj2pC0fDNt8ShwmQBzDnI1GwsJYhjRWKJZJpaAZLLwcmUsE6Wn0xnMtkciAWGBclzcXlUEplCpCtYi96taVQzVGP2fCWKlVqlGy7W6uCkgDiBqJJPgAEEoMrUzodBA6QzXQV3QKvdVag0-U5S-7lp05im4Ii3SMxpNprN-mZFtKQ-LtsVdvtDnUTmcLigbnc4I8-vM4G9mqGFb85jHgVgqRDA3CEVZ1bKMavcQmk0biSa4OnM9nc9buKnUABJPTAHQKQsjT2VKu%2B5pOMW9%2BwnBdXR9HFHx-ACOApRrLoenPRt335FspgqdtZy7Gsey%2BPsBwOI5TnOaUrluLwHieF45ywsNl3%2BVczBBC0ZSDRE901A8gSPRMCUNVh60vLMczzLA70fZ9XztPgABU5CwbACF8JkDibflP29MtGl-YY3H0YxxQVICtBAjxNnAwIoK1aVYLPPp4AQ4YkPGFCZgojCVgXACdmEwd8NHIiJ1IqdyI7Sj3Own4ZwBIF6PXRit3hFiozYxhMQ42Jj245NzyciSHRgaT5EvKwmUceySicgBRFJc2AXAAGESEgV9mQMDS1krZoxz5EoAClqQADWKcqlTKZkOkQj021a1Qxys%2Bs7K60ZHLbFyxyohV%2By8vDhwIsdiMnacKPnNZF22GizDo5wYvBJjtwSjV0WSw80q4wlT3rJyBJvfN7yzDxxuLSpkB0GQfzWGa63gwZ-uQ5bgtcuA1pwzahxHQiaz2gKDuCo6Pg8s7IuxaKNxu%2BLd0Sh7QieuMXp440bLgD7ryEkSnw4F831KgHdI8gzXCMsDfDM8Jyw6yyIfp%2Baixh1CVu7UKww2vYttR3b-LIiLXkR8KVyiy7ibinckXJiJHtS6mT14rLpk%2B5n71Z9mJPy2SsHkygdCU-7VMKbTDH-MKSuA9wBYg8zQemsX-jmqHOel5y4dW%2BX1twlGdr8kj1cOrWYHxi6GOug27v3U3sU4i26eyS9nS0YTlImkthQaP2wyg8HI8h0hoaWmX4%2BlDzFe87bfPRtXAo1uc8Yi3Ors3WVDdYimUpL57GHrSSIHXjfN637eN%2BsXRlXq8BdGK0lkDKWuue-EWwYjuCJejhbY7Q%2BZ4az-vldT4f09HzPE9OyfdZ5xnsxMm90TaUyBEAA&eslintrc=N4KABGBEBOCuA2BTAzpAXGUEKQHYHsBaaFAF2gEsBjUxAE0OQE9dSBDAD3TAG1xsciaNHzRIAGn4CsA7JGSIkNUd0gBJALYAHUaQAiiKvDbQ2pCvlw9k%2BWNCqIAdADc28WIgC8AchJsa3gC61lqGFABmFELIjgAMjqRMoQCEPpo60KQAcmwaKFr%2BiADKoVQRUdBBElKykHnIyGwA5oiqAEqI-qRgyAAWtvB0YABGiGAU2rr0YGzIYAAGExndAFQzcx1dYOEiGmC%2BnQHzjpA1EAC%2BkrKYZ3IKSqQqGOp0iKzlQjy4uYip3psBYIFEisBJJLzedK6HL1AoOEphSJCII8YFvUiONGgxKhNKTTIGIwmMwWXAorEYimOGx2BwuNweHx%2BQHVa44eqNFqqAAqvTG31hhTAArGSymQx2%2BD2By63jAGlgyG6o32ANI3hOt0uIB11xk13kikMjzEz25RQAirA3B86DDEDwkOEMSKfGqUZQmr0XT8fAAxADCVSubLqKE5rWeAFUFGA1Y48hp8AAeAAKIi0yAAfAAKHNaDPIACUYE8WcwYEcVbA5xLFFwSs6dE1121etuOHuxqeUHNVptSLtP0diGdjld-0O6uCnu94993j9sFwNFJAalOlw6ODHagHOakagMbG8cTKfT%2BEzufzhZLZYrVccNbrDdobGbp1bkl1sn1tS7yimlAACyiAaKM0AAKIcAW4akjw%2BDDAAVsa855G6U7khmQiJGhEJnuSJjomCoQAILQE0sB5KwyCeMuryRFudCBKyob7lyzynmB%2BA9P0CBDL0bDOGMOJjMCPy0NACzeBembeMcn6yG2v67oaDw9pAoHgUI0GwQ08GIShNB4RhspAthmRMCZ3gEUCRHYuC5GUdRpDIKk9GjvW9B2SCGKiU5VHojEol-Oa3LgqmxJ5JJaivmw7wkpYO5snu4YHu0U4JtxvEDAJQkieCYDidFQjSbJyDyS2SkhtIqkASaqhaRBukkPplgIchqETu65mXjhVkTrZqL2X5jkUYFNHubgDFecxw2%2BSRiABS5wXgj4YURVFiAxXFCXmElPnEf540rZiUUxPEIXrUU4WhB04RCG8DjJWxaUcVAXFJjl-FgIJwlgKJRVbZJZWFpVikCMptUpWp3ZAZpYHNTBrXIAZnXGd1mG9aElnWUNVLHc5QVTTNTGHQ5ZEnUFi3XbdiCRaYJXQLFSrxeYiVkuTo2U0TNFnYzF0094G13aOj0roghELYTE2ufzuSC6J9p4X85UvQa7GHpAn08X0uW-flAOFcV22lfMMlgwpWrfrcf4CLDgE8jdjm4AQ7D7VYBNrZCrzvEilRc-zR3e%2BRIgAO5LiuHstXBB3zcRVJe7i3gBm48Ax21nPx6CicjY4VBp4gTiGV1C49dnlJ51SBfwEgTgFn1uODdx6u1JrGVaMYDgLDreYN5mGDlXe5bAJW1a1vMYBhxQpC9D3mVnmmhbXv3xaliPY9PhPVWQzb7Yw-VGlqL75j%2B18Px-KvUvB8nof4BHy6rpYGeo3HVKIMjse4Kk5AeIH1eF2LujH06FJxmQrkHUENc66YgsrhZuSZW723bmaPkMwqasGFD8MA%2BBwjoPDtsR%2BHsgYNGmI8OMC9sp6x%2BiqbwV8d7YChtgO2dwjSO2eAAeWAZFUgklPZ51Ej4O%2BD8o6khfqSa%2BoIP56Vft-Twv9ED-zztAoujgS4YzLljCBADa6qP7v1PGLcWI1Tbm9LWvIxKFhwXgtgYAqAbksOiOxlh2D1nrE0GYYASCkDsLgHo7swJOKImAeAEwZ5kJ4rY1wlA2DDCQFgvIQxzZXytl%2BHUts6psIas8Y%2B6IPjQHPuhAA9AAPUcMAAALAAJnEOcAAJEUwOgjvAADUTAUFiUgQkxhTAmkkRiNx3MISp1ruIt%2BedBn50AWo4B1ly5UkmSo%2BucCBoLlsqxDWZieRoPsZMLcmCRQhLeE0We31BgjDGEgBoANBJ%2BOqU%2BdcDYKCvCkiQMOlBaDrAWPY18YB1x7KcZ4ChXQspJiXpebMfdbzrwrLWAA3GAaRugKz-M3EEuYRQpSIFRY4zB5w4UQ0YXvFSB8skaSajpT%2BmcOpGRARCeZKzrKKkQOkIQJJhIAAl4p0CQEguQKCQL4H%2BvGZlRQAkAx4jPOY8UHBKlEM4gFmD6yNnfAwi4JiIAsM7GS%2BGIslqu3wO7eCudpbexGenKlsj%2BmQIxEsmZtK5laJNcRO1%2Bim4LmZVpfAfL2RbNQWMaJHS4kFVCGAbkZyhgqnim7Mw0xZjzxBZ67iyZuRZknvK%2BYPylRgGcBgcNQKRUKC9TmR8RZUlKRqIEfg5wQDnCAA&tsconfig=N4KABGBEDGD2C2AHAlgGwKYCcDyiAuysAdgM6QBcYoEEkJemy0eFYDArugDTg2RGwAqkWgALdNADW6ACYBJIjPQAPWQEFo0dCTKUO6XgF8QhoA&tokens=false)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './plugin.mjs';
|