@ls-stack/extended-lint 0.67.0 → 0.67.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/extended-lint.js +1 -1
- package/dist/extended-lint.mjs +1 -1
- package/package.json +1 -1
package/dist/extended-lint.js
CHANGED
|
@@ -43,4 +43,4 @@ ${E}`),b.push(w)}yield u.insertTextBeforeRange([T,T],`${b.join(`
|
|
|
43
43
|
|
|
44
44
|
`)}
|
|
45
45
|
|
|
46
|
-
`)}}}return{Program(s){o.push(...s.body)},TSTypeAliasDeclaration(s){if(o.some(y=>y.type===ce.AST_NODE_TYPES.ExportNamedDeclaration&&y.declaration===s?!0:y===s)){let y=a(s);y&&t.set(s.id.name,{node:s,name:s.id.name,statement:y})}},TSInterfaceDeclaration(s){if(o.some(y=>y.type===ce.AST_NODE_TYPES.ExportNamedDeclaration&&y.declaration===s?!0:y===s)){let y=a(s);y&&t.set(s.id.name,{node:s,name:s.id.name,statement:y})}},TSTypeReference(s){if(s.typeName.type===ce.AST_NODE_TYPES.Identifier){let u=i(s),y=p(s),g=l(s);c.push({typeName:s.typeName.name,node:s,inFunctionArgs:u,inFCProps:y,inGenericArgAtFunctionCall:g,usagePosition:s.range[0]})}},"Program:exit"(){let s=new Map,u=c.filter(g=>{if(!n.checkOnly||n.checkOnly.length===0)return!0;for(let S of n.checkOnly)if(S==="function-args"&&g.inFunctionArgs||S==="FC"&&g.inFCProps||S==="generic-args-at-fn-calls"&&g.inGenericArgAtFunctionCall)return!0;return!1});for(let g of u){let{typeName:S,node:f}=g;if(t.has(S)){let T=a(f),b=t.get(S);if(T&&b&&T!==b.statement){s.has(S)||s.set(S,[]);let h=s.get(S);if(!h)return;h.includes(T)||h.push(T)}}}let y=[];for(let[g,S]of s)if(S.length>0){let f=S[0];if(!f)continue;let T=Number.MAX_SAFE_INTEGER,b=!1;for(let h of S)h.range[0]<f.range[0]&&(f=h);for(let h of u)h.typeName===g&&a(h.node)===f&&h.usagePosition<T&&(T=h.usagePosition,b=h.inFunctionArgs);y.push({typeName:g,firstUsage:f,firstUsagePosition:T,firstUsageInFunctionArgs:b})}y.length>0&&m(y)}}}});var En=require("@typescript-eslint/utils"),Xe=Se(require("zod/v4"));var Ko=["tsx"],Qo=Xe.object({extensions:Xe.array(Xe.string()).optional()}),bn=W({name:"react-single-export",meta:{type:"problem",docs:{description:"Enforces only one export per React component file to support fast refresh"},messages:{multipleExports:"React component files should have only one export to support fast refresh."},schema:[j(Qo)]},defaultOptions:[{}],create(e,[n]){let r=e.filename,t=e.sourceCode,o=n.extensions||Ko;function a(){if(!o.some(c=>r.endsWith(`.${c}`)))return!1;let l=t.text;return l.includes("jsx")||l.includes("<")||l.includes("React")||l.includes("from 'react'")||l.includes('from "react"')}if(!a())return{};let i=[];return{ExportDefaultDeclaration(p){i.push(p),i.length>1&&e.report({node:p,messageId:"multipleExports"})},ExportNamedDeclaration(p){p.exportKind!=="type"&&(p.specifiers.length>0&&!p.specifiers.some(c=>c.exportKind!=="type")||p.declaration&&(p.declaration.type===En.AST_NODE_TYPES.TSTypeAliasDeclaration||p.declaration.type===En.AST_NODE_TYPES.TSInterfaceDeclaration)||(i.push(p),i.length>1&&e.report({node:p,messageId:"multipleExports"})))}}}});var Ur={[qt.name]:qt.rule,[kt.name]:kt.rule,[vt.name]:vt.rule,"rules-of-hooks":$r,"exhaustive-deps":Nn,"require-description":Fr.rule,[Ft.name]:Ft.rule,[Ot.name]:Ot.rule,[Gt.name]:Gt.rule,[St.name]:St.rule,[wt.name]:wt.rule,[Dt.name]:Dt.rule,[Ye.name]:Ye.rule,[en.name]:en.rule,[Nt.name]:Nt.rule,[Pt.name]:Pt.rule,[jt.name]:jt.rule,[ht.name]:ht.rule,[an.name]:an.rule,[on.name]:on.rule,[un.name]:un.rule,[Rt.name]:Rt.rule,[Ut.name]:Ut.rule,[Wt.name]:Wt.rule,[zt.name]:zt.rule,[Ht.name]:Ht.rule,[Bt.name]:Bt.rule,[Jt.name]:Jt.rule,[Xt.name]:Xt.rule,[Qt.name]:Qt.rule,[$t.name]:$t.rule,[Mt.name]:Mt.rule,[Tn.name]:Tn.rule,[Zt.name]:Zt.rule,[fn.name]:fn.rule,[gn.name]:gn.rule,[hn.name]:hn.rule,[bn.name]:bn.rule,[Ye.name]:Ye.rule};var ea={rules:Ur};0&&(module.exports={extendedLintPlugin});
|
|
46
|
+
`)}}}return{Program(s){o.push(...s.body)},TSTypeAliasDeclaration(s){if(o.some(y=>y.type===ce.AST_NODE_TYPES.ExportNamedDeclaration&&y.declaration===s?!0:y===s)){let y=a(s);y&&t.set(s.id.name,{node:s,name:s.id.name,statement:y})}},TSInterfaceDeclaration(s){if(o.some(y=>y.type===ce.AST_NODE_TYPES.ExportNamedDeclaration&&y.declaration===s?!0:y===s)){let y=a(s);y&&t.set(s.id.name,{node:s,name:s.id.name,statement:y})}},TSTypeReference(s){if(s.typeName.type===ce.AST_NODE_TYPES.Identifier){let u=i(s),y=p(s),g=l(s);c.push({typeName:s.typeName.name,node:s,inFunctionArgs:u,inFCProps:y,inGenericArgAtFunctionCall:g,usagePosition:s.range[0]})}},"Program:exit"(){let s=new Map,u=c.filter(g=>{if(!n.checkOnly||n.checkOnly.length===0)return!0;for(let S of n.checkOnly)if(S==="function-args"&&g.inFunctionArgs||S==="FC"&&g.inFCProps||S==="generic-args-at-fn-calls"&&g.inGenericArgAtFunctionCall)return!0;return!1});for(let g of u){let{typeName:S,node:f}=g;if(t.has(S)){let T=a(f),b=t.get(S);if(T&&b&&T!==b.statement){s.has(S)||s.set(S,[]);let h=s.get(S);if(!h)return;h.includes(T)||h.push(T)}}}let y=[];for(let[g,S]of s)if(S.length>0){let f=S[0];if(!f)continue;let T=Number.MAX_SAFE_INTEGER,b=!1;for(let h of S)h.range[0]<f.range[0]&&(f=h);for(let h of u)h.typeName===g&&a(h.node)===f&&h.usagePosition<T&&(T=h.usagePosition,b=h.inFunctionArgs);y.push({typeName:g,firstUsage:f,firstUsagePosition:T,firstUsageInFunctionArgs:b})}y.length>0&&m(y)}}}});var En=require("@typescript-eslint/utils"),Xe=Se(require("zod/v4"));var Ko=["tsx"],Qo=Xe.object({extensions:Xe.array(Xe.string()).optional()}),bn=W({name:"react-single-export",meta:{type:"problem",docs:{description:"Enforces only one export per React component file to support fast refresh"},messages:{multipleExports:"React component files should have only one export to support fast refresh. Type-only exports are allowed."},schema:[j(Qo)]},defaultOptions:[{}],create(e,[n]){let r=e.filename,t=e.sourceCode,o=n.extensions||Ko;function a(){if(!o.some(c=>r.endsWith(`.${c}`)))return!1;let l=t.text;return l.includes("jsx")||l.includes("<")||l.includes("React")||l.includes("from 'react'")||l.includes('from "react"')}if(!a())return{};let i=[];return{ExportDefaultDeclaration(p){i.push(p),i.length>1&&e.report({node:p,messageId:"multipleExports"})},ExportNamedDeclaration(p){p.exportKind!=="type"&&(p.specifiers.length>0&&!p.specifiers.some(c=>c.exportKind!=="type")||p.declaration&&(p.declaration.type===En.AST_NODE_TYPES.TSTypeAliasDeclaration||p.declaration.type===En.AST_NODE_TYPES.TSInterfaceDeclaration)||(i.push(p),i.length>1&&e.report({node:p,messageId:"multipleExports"})))}}}});var Ur={[qt.name]:qt.rule,[kt.name]:kt.rule,[vt.name]:vt.rule,"rules-of-hooks":$r,"exhaustive-deps":Nn,"require-description":Fr.rule,[Ft.name]:Ft.rule,[Ot.name]:Ot.rule,[Gt.name]:Gt.rule,[St.name]:St.rule,[wt.name]:wt.rule,[Dt.name]:Dt.rule,[Ye.name]:Ye.rule,[en.name]:en.rule,[Nt.name]:Nt.rule,[Pt.name]:Pt.rule,[jt.name]:jt.rule,[ht.name]:ht.rule,[an.name]:an.rule,[on.name]:on.rule,[un.name]:un.rule,[Rt.name]:Rt.rule,[Ut.name]:Ut.rule,[Wt.name]:Wt.rule,[zt.name]:zt.rule,[Ht.name]:Ht.rule,[Bt.name]:Bt.rule,[Jt.name]:Jt.rule,[Xt.name]:Xt.rule,[Qt.name]:Qt.rule,[$t.name]:$t.rule,[Mt.name]:Mt.rule,[Tn.name]:Tn.rule,[Zt.name]:Zt.rule,[fn.name]:fn.rule,[gn.name]:gn.rule,[hn.name]:hn.rule,[bn.name]:bn.rule,[Ye.name]:Ye.rule};var ea={rules:Ur};0&&(module.exports={extendedLintPlugin});
|
package/dist/extended-lint.mjs
CHANGED
|
@@ -43,4 +43,4 @@ ${E}`),b.push(w)}yield u.insertTextBeforeRange([T,T],`${b.join(`
|
|
|
43
43
|
|
|
44
44
|
`)}
|
|
45
45
|
|
|
46
|
-
`)}}}return{Program(s){o.push(...s.body)},TSTypeAliasDeclaration(s){if(o.some(y=>y.type===pe.ExportNamedDeclaration&&y.declaration===s?!0:y===s)){let y=a(s);y&&t.set(s.id.name,{node:s,name:s.id.name,statement:y})}},TSInterfaceDeclaration(s){if(o.some(y=>y.type===pe.ExportNamedDeclaration&&y.declaration===s?!0:y===s)){let y=a(s);y&&t.set(s.id.name,{node:s,name:s.id.name,statement:y})}},TSTypeReference(s){if(s.typeName.type===pe.Identifier){let u=r(s),y=p(s),g=l(s);c.push({typeName:s.typeName.name,node:s,inFunctionArgs:u,inFCProps:y,inGenericArgAtFunctionCall:g,usagePosition:s.range[0]})}},"Program:exit"(){let s=new Map,u=c.filter(g=>{if(!n.checkOnly||n.checkOnly.length===0)return!0;for(let S of n.checkOnly)if(S==="function-args"&&g.inFunctionArgs||S==="FC"&&g.inFCProps||S==="generic-args-at-fn-calls"&&g.inGenericArgAtFunctionCall)return!0;return!1});for(let g of u){let{typeName:S,node:f}=g;if(t.has(S)){let T=a(f),b=t.get(S);if(T&&b&&T!==b.statement){s.has(S)||s.set(S,[]);let h=s.get(S);if(!h)return;h.includes(T)||h.push(T)}}}let y=[];for(let[g,S]of s)if(S.length>0){let f=S[0];if(!f)continue;let T=Number.MAX_SAFE_INTEGER,b=!1;for(let h of S)h.range[0]<f.range[0]&&(f=h);for(let h of u)h.typeName===g&&a(h.node)===f&&h.usagePosition<T&&(T=h.usagePosition,b=h.inFunctionArgs);y.push({typeName:g,firstUsage:f,firstUsagePosition:T,firstUsageInFunctionArgs:b})}y.length>0&&m(y)}}}});import{AST_NODE_TYPES as Or}from"@typescript-eslint/utils";import*as $e from"zod/v4";var oa=["tsx"],aa=$e.object({extensions:$e.array($e.string()).optional()}),pn=W({name:"react-single-export",meta:{type:"problem",docs:{description:"Enforces only one export per React component file to support fast refresh"},messages:{multipleExports:"React component files should have only one export to support fast refresh."},schema:[j(aa)]},defaultOptions:[{}],create(e,[n]){let i=e.filename,t=e.sourceCode,o=n.extensions||oa;function a(){if(!o.some(c=>i.endsWith(`.${c}`)))return!1;let l=t.text;return l.includes("jsx")||l.includes("<")||l.includes("React")||l.includes("from 'react'")||l.includes('from "react"')}if(!a())return{};let r=[];return{ExportDefaultDeclaration(p){r.push(p),r.length>1&&e.report({node:p,messageId:"multipleExports"})},ExportNamedDeclaration(p){p.exportKind!=="type"&&(p.specifiers.length>0&&!p.specifiers.some(c=>c.exportKind!=="type")||p.declaration&&(p.declaration.type===Or.TSTypeAliasDeclaration||p.declaration.type===Or.TSInterfaceDeclaration)||(r.push(p),r.length>1&&e.report({node:p,messageId:"multipleExports"})))}}}});var Nr={[_t.name]:_t.rule,[Et.name]:Et.rule,[ht.name]:ht.rule,"rules-of-hooks":kr,"exhaustive-deps":En,"require-description":br.rule,[bt.name]:bt.rule,[Ct.name]:Ct.rule,[zt.name]:zt.rule,[lt.name]:lt.rule,[Tt.name]:Tt.rule,[Rt.name]:Rt.rule,[We.name]:We.rule,[Ht.name]:Ht.rule,[At.name]:At.rule,[xt.name]:xt.rule,[wt.name]:wt.rule,[ct.name]:ct.rule,[Gt.name]:Gt.rule,[Zt.name]:Zt.rule,[en.name]:en.rule,[gt.name]:gt.rule,[Pt.name]:Pt.rule,[Ot.name]:Ot.rule,[Nt.name]:Nt.rule,[jt.name]:jt.rule,[Mt.name]:Mt.rule,[Dt.name]:Dt.rule,[Lt.name]:Lt.rule,[Vt.name]:Vt.rule,[kt.name]:kt.rule,[vt.name]:vt.rule,[an.name]:an.rule,[Ut.name]:Ut.rule,[tn.name]:tn.rule,[on.name]:on.rule,[ln.name]:ln.rule,[pn.name]:pn.rule,[We.name]:We.rule};var su={rules:Nr};export{su as extendedLintPlugin};
|
|
46
|
+
`)}}}return{Program(s){o.push(...s.body)},TSTypeAliasDeclaration(s){if(o.some(y=>y.type===pe.ExportNamedDeclaration&&y.declaration===s?!0:y===s)){let y=a(s);y&&t.set(s.id.name,{node:s,name:s.id.name,statement:y})}},TSInterfaceDeclaration(s){if(o.some(y=>y.type===pe.ExportNamedDeclaration&&y.declaration===s?!0:y===s)){let y=a(s);y&&t.set(s.id.name,{node:s,name:s.id.name,statement:y})}},TSTypeReference(s){if(s.typeName.type===pe.Identifier){let u=r(s),y=p(s),g=l(s);c.push({typeName:s.typeName.name,node:s,inFunctionArgs:u,inFCProps:y,inGenericArgAtFunctionCall:g,usagePosition:s.range[0]})}},"Program:exit"(){let s=new Map,u=c.filter(g=>{if(!n.checkOnly||n.checkOnly.length===0)return!0;for(let S of n.checkOnly)if(S==="function-args"&&g.inFunctionArgs||S==="FC"&&g.inFCProps||S==="generic-args-at-fn-calls"&&g.inGenericArgAtFunctionCall)return!0;return!1});for(let g of u){let{typeName:S,node:f}=g;if(t.has(S)){let T=a(f),b=t.get(S);if(T&&b&&T!==b.statement){s.has(S)||s.set(S,[]);let h=s.get(S);if(!h)return;h.includes(T)||h.push(T)}}}let y=[];for(let[g,S]of s)if(S.length>0){let f=S[0];if(!f)continue;let T=Number.MAX_SAFE_INTEGER,b=!1;for(let h of S)h.range[0]<f.range[0]&&(f=h);for(let h of u)h.typeName===g&&a(h.node)===f&&h.usagePosition<T&&(T=h.usagePosition,b=h.inFunctionArgs);y.push({typeName:g,firstUsage:f,firstUsagePosition:T,firstUsageInFunctionArgs:b})}y.length>0&&m(y)}}}});import{AST_NODE_TYPES as Or}from"@typescript-eslint/utils";import*as $e from"zod/v4";var oa=["tsx"],aa=$e.object({extensions:$e.array($e.string()).optional()}),pn=W({name:"react-single-export",meta:{type:"problem",docs:{description:"Enforces only one export per React component file to support fast refresh"},messages:{multipleExports:"React component files should have only one export to support fast refresh. Type-only exports are allowed."},schema:[j(aa)]},defaultOptions:[{}],create(e,[n]){let i=e.filename,t=e.sourceCode,o=n.extensions||oa;function a(){if(!o.some(c=>i.endsWith(`.${c}`)))return!1;let l=t.text;return l.includes("jsx")||l.includes("<")||l.includes("React")||l.includes("from 'react'")||l.includes('from "react"')}if(!a())return{};let r=[];return{ExportDefaultDeclaration(p){r.push(p),r.length>1&&e.report({node:p,messageId:"multipleExports"})},ExportNamedDeclaration(p){p.exportKind!=="type"&&(p.specifiers.length>0&&!p.specifiers.some(c=>c.exportKind!=="type")||p.declaration&&(p.declaration.type===Or.TSTypeAliasDeclaration||p.declaration.type===Or.TSInterfaceDeclaration)||(r.push(p),r.length>1&&e.report({node:p,messageId:"multipleExports"})))}}}});var Nr={[_t.name]:_t.rule,[Et.name]:Et.rule,[ht.name]:ht.rule,"rules-of-hooks":kr,"exhaustive-deps":En,"require-description":br.rule,[bt.name]:bt.rule,[Ct.name]:Ct.rule,[zt.name]:zt.rule,[lt.name]:lt.rule,[Tt.name]:Tt.rule,[Rt.name]:Rt.rule,[We.name]:We.rule,[Ht.name]:Ht.rule,[At.name]:At.rule,[xt.name]:xt.rule,[wt.name]:wt.rule,[ct.name]:ct.rule,[Gt.name]:Gt.rule,[Zt.name]:Zt.rule,[en.name]:en.rule,[gt.name]:gt.rule,[Pt.name]:Pt.rule,[Ot.name]:Ot.rule,[Nt.name]:Nt.rule,[jt.name]:jt.rule,[Mt.name]:Mt.rule,[Dt.name]:Dt.rule,[Lt.name]:Lt.rule,[Vt.name]:Vt.rule,[kt.name]:kt.rule,[vt.name]:vt.rule,[an.name]:an.rule,[Ut.name]:Ut.rule,[tn.name]:tn.rule,[on.name]:on.rule,[ln.name]:ln.rule,[pn.name]:pn.rule,[We.name]:We.rule};var su={rules:Nr};export{su as extendedLintPlugin};
|