@master/eslint-plugin-css 2.0.0-beta.201 → 2.0.0-beta.202

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.
Files changed (57) hide show
  1. package/dist/rules/class-collision.js +1 -1
  2. package/dist/rules/class-collision.mjs +1 -1
  3. package/dist/rules/class-order.js +1 -1
  4. package/dist/rules/class-order.mjs +1 -1
  5. package/dist/rules/class-validation.js +1 -1
  6. package/dist/rules/class-validation.mjs +1 -1
  7. package/dist/utils/extract-classnames-from-value.d.ts +6 -0
  8. package/dist/utils/extract-classnames-from-value.js +1 -0
  9. package/dist/utils/extract-classnames-from-value.mjs +1 -0
  10. package/dist/utils/extract-range-from-node.d.ts +1 -0
  11. package/dist/utils/extract-range-from-node.js +1 -0
  12. package/dist/utils/extract-range-from-node.mjs +1 -0
  13. package/dist/utils/extract-value-from-node.d.ts +1 -0
  14. package/dist/utils/extract-value-from-node.js +1 -0
  15. package/dist/utils/extract-value-from-node.mjs +1 -0
  16. package/dist/utils/find-loc.d.ts +7 -0
  17. package/dist/utils/find-loc.js +1 -0
  18. package/dist/utils/find-loc.mjs +1 -0
  19. package/dist/utils/get-mastercss.d.ts +2 -0
  20. package/dist/utils/get-mastercss.js +1 -0
  21. package/dist/utils/get-mastercss.mjs +1 -0
  22. package/dist/utils/get-template-element-body.d.ts +1 -0
  23. package/dist/utils/get-template-element-body.js +1 -0
  24. package/dist/utils/get-template-element-body.mjs +1 -0
  25. package/dist/utils/get-template-element-prefix.d.ts +1 -0
  26. package/dist/utils/get-template-element-prefix.js +1 -0
  27. package/dist/utils/get-template-element-prefix.mjs +1 -0
  28. package/dist/utils/get-template-element-suffix.d.ts +1 -0
  29. package/dist/utils/get-template-element-suffix.js +1 -0
  30. package/dist/utils/get-template-element-suffix.mjs +1 -0
  31. package/dist/utils/{ast.d.ts → parse-node-recursive.d.ts} +0 -18
  32. package/dist/utils/parse-node-recursive.js +1 -0
  33. package/dist/utils/parse-node-recursive.mjs +1 -0
  34. package/dist/utils/reorder-valid-classes-action.d.ts +3 -0
  35. package/dist/utils/reorder-valid-classes-action.js +1 -0
  36. package/dist/utils/reorder-valid-classes-action.mjs +1 -0
  37. package/dist/utils/resolve-context.d.ts +0 -1
  38. package/dist/utils/resolve-context.js +1 -1
  39. package/dist/utils/resolve-context.mjs +1 -1
  40. package/dist/utils/valid-rules-action.d.ts +3 -0
  41. package/dist/utils/valid-rules-action.js +1 -0
  42. package/dist/utils/valid-rules-action.mjs +1 -0
  43. package/dist/utils/validate-action.d.ts +3 -0
  44. package/dist/utils/validate-action.js +1 -0
  45. package/dist/utils/validate-action.mjs +1 -0
  46. package/dist/utils/workers/reorder-valid-classes.d.ts +2 -0
  47. package/dist/utils/workers/reorder-valid-classes.js +1 -0
  48. package/dist/utils/workers/reorder-valid-classes.mjs +1 -0
  49. package/dist/utils/workers/valid-rules.d.ts +2 -0
  50. package/dist/utils/workers/valid-rules.js +1 -0
  51. package/dist/utils/workers/valid-rules.mjs +1 -0
  52. package/dist/utils/workers/validate.d.ts +5 -0
  53. package/dist/utils/workers/validate.js +1 -0
  54. package/dist/utils/workers/validate.mjs +1 -0
  55. package/package.json +1 -1
  56. package/dist/utils/ast.js +0 -1
  57. package/dist/utils/ast.mjs +0 -1
@@ -1 +1 @@
1
- var k=Object.create;var p=Object.defineProperty;var q=Object.getOwnPropertyDescriptor;var w=Object.getOwnPropertyNames;var K=Object.getPrototypeOf,V=Object.prototype.hasOwnProperty;var A=(e,s)=>{for(var o in s)p(e,o,{get:s[o],enumerable:!0})},y=(e,s,o,l)=>{if(s&&typeof s=="object"||typeof s=="function")for(let n of w(s))!V.call(e,n)&&n!==o&&p(e,n,{get:()=>s[n],enumerable:!(l=q(s,n))||l.enumerable});return e};var f=(e,s,o)=>(o=e!=null?k(K(e)):{},y(s||!e||!e.__esModule?p(o,"default",{value:e,enumerable:!0}):o,e)),D=e=>y(p({},"__esModule",{value:!0}),e);var U={};A(U,{default:()=>O});module.exports=D(U);var R=f(require("../utils/ast")),S=f(require("../utils/are-declarations-equal")),$=f(require("../utils/define-visitors")),v=f(require("../utils/resolve-context")),L=require("@master/css-validator"),O={meta:{docs:{description:"Avoid applying classes with the same CSS declaration",category:"Stylistic Issues",recommended:!1,url:"https://beta.css.master.co/docs/code-linting#class-collision-detection"},messages:{collisionClass:"{{message}}"},fixable:"code",schema:[{type:"object",properties:{calleeMatching:{type:"string"},classMatching:{type:"string"},ignoredKeys:{type:"array",items:{type:"string",minLength:0},uniqueItems:!0},config:{type:["string","object"]}}}]},create(e){const{options:s,settings:o,config:l}=(0,v.default)(e);return(0,$.default)({context:e,settings:o},(b,j=null)=>{R.parseNodeRecursive(b,j,(c,C,x,E,M)=>{const I=e.sourceCode.lines,N=C.loc.start.line,T=C.loc.end.line,m={};c.forEach(i=>{m[i]=(0,L.createValidRules)(i,{config:l})[0]});for(let i=0;i<c.length;i++){const g=c[i],u=m[g],d=[];if(u)for(let r=0;r<c.length;r++){const a=c[r],t=m[a];i!==r&&t&&(0,S.default)(u.declarations,t.declarations)&&u.stateToken===t.stateToken&&d.push(a)}if(d.length>0){const r=d.map(t=>`"${t}"`).join(" and ");let a=x;for(const t of d){const h=t.replace(/(\\|\.|\(|\)|\[|\]|\{|\}|\+|\*|\?|\^|\$|\||\/)/g,"\\$1");a=a.replace(new RegExp(`\\s+${h}|${h}\\s+`),"")}e.report({loc:R.findLoc(g,I,N,T),messageId:"collisionClass",data:{message:`"${g}" applies the same CSS declarations as ${r}.`},fix:function(t){return t.replaceTextRange([E,M],a)}})}}},!1,!1,o.ignoredKeys,e)})}};
1
+ var k=Object.create;var p=Object.defineProperty;var q=Object.getOwnPropertyDescriptor;var w=Object.getOwnPropertyNames;var A=Object.getPrototypeOf,K=Object.prototype.hasOwnProperty;var D=(e,s)=>{for(var o in s)p(e,o,{get:s[o],enumerable:!0})},y=(e,s,o,m)=>{if(s&&typeof s=="object"||typeof s=="function")for(let i of w(s))!K.call(e,i)&&i!==o&&p(e,i,{get:()=>s[i],enumerable:!(m=q(s,i))||m.enumerable});return e};var c=(e,s,o)=>(o=e!=null?k(A(e)):{},y(s||!e||!e.__esModule?p(o,"default",{value:e,enumerable:!0}):o,e)),O=e=>y(p({},"__esModule",{value:!0}),e);var z={};D(z,{default:()=>V});module.exports=O(z);var R=c(require("../utils/are-declarations-equal")),S=c(require("../utils/define-visitors")),$=c(require("../utils/resolve-context")),v=c(require("../utils/find-loc")),L=require("../utils/parse-node-recursive"),b=c(require("../utils/valid-rules-action")),V={meta:{docs:{description:"Avoid applying classes with the same CSS declaration",category:"Stylistic Issues",recommended:!1,url:"https://beta.css.master.co/docs/code-linting#class-collision-detection"},messages:{collisionClass:"{{message}}"},fixable:"code",schema:[{type:"object",properties:{calleeMatching:{type:"string"},classMatching:{type:"string"},ignoredKeys:{type:"array",items:{type:"string",minLength:0},uniqueItems:!0},config:{type:["string","object"]}}}]},create(e){const{options:s,settings:o}=(0,$.default)(e);return(0,S.default)({context:e,settings:o},(i,j=null)=>{(0,L.parseNodeRecursive)(i,j,(a,u,x,M,N)=>{const E=e.sourceCode.lines,I=u.loc.start.line,T=u.loc.end.line,C=(0,b.default)(a,o.config);for(let l=0;l<a.length;l++){const f=a[l],g=C[f],d=[];if(g)for(let n=0;n<a.length;n++){const r=a[n],t=C[r];l!==n&&t&&(0,R.default)(g.declarations,t.declarations)&&g.stateToken===t.stateToken&&d.push(r)}if(d.length>0){const n=d.map(t=>`"${t}"`).join(" and ");let r=x;for(const t of d){const h=t.replace(/(\\|\.|\(|\)|\[|\]|\{|\}|\+|\*|\?|\^|\$|\||\/)/g,"\\$1");r=r.replace(new RegExp(`\\s+${h}|${h}\\s+`),"")}e.report({loc:(0,v.default)(f,E,I,T),messageId:"collisionClass",data:{message:`"${f}" applies the same CSS declarations as ${n}.`},fix:function(t){return t.replaceTextRange([M,N],r)}})}}},!1,!1,o.ignoredKeys,e)})}};
@@ -1 +1 @@
1
- import*as m from"../utils/ast";import L from"../utils/are-declarations-equal";import b from"../utils/define-visitors";import j from"../utils/resolve-context";import{createValidRules as x}from"@master/css-validator";var V={meta:{docs:{description:"Avoid applying classes with the same CSS declaration",category:"Stylistic Issues",recommended:!1,url:"https://beta.css.master.co/docs/code-linting#class-collision-detection"},messages:{collisionClass:"{{message}}"},fixable:"code",schema:[{type:"object",properties:{calleeMatching:{type:"string"},classMatching:{type:"string"},ignoredKeys:{type:"array",items:{type:"string",minLength:0},uniqueItems:!0},config:{type:["string","object"]}}}]},create(i){const{options:E,settings:d,config:g}=j(i);return b({context:i,settings:d},(u,C=null)=>{m.parseNodeRecursive(u,C,(n,p,h,y,R)=>{const S=i.sourceCode.lines,$=p.loc.start.line,v=p.loc.end.line,a={};n.forEach(s=>{a[s]=x(s,{config:g})[0]});for(let s=0;s<n.length;s++){const c=n[s],l=a[c],r=[];if(l)for(let o=0;o<n.length;o++){const t=n[o],e=a[t];s!==o&&e&&L(l.declarations,e.declarations)&&l.stateToken===e.stateToken&&r.push(t)}if(r.length>0){const o=r.map(e=>`"${e}"`).join(" and ");let t=h;for(const e of r){const f=e.replace(/(\\|\.|\(|\)|\[|\]|\{|\}|\+|\*|\?|\^|\$|\||\/)/g,"\\$1");t=t.replace(new RegExp(`\\s+${f}|${f}\\s+`),"")}i.report({loc:m.findLoc(c,S,$,v),messageId:"collisionClass",data:{message:`"${c}" applies the same CSS declarations as ${o}.`},fix:function(e){return e.replaceTextRange([y,R],t)}})}}},!1,!1,d.ignoredKeys,i)})}};export{V as default};
1
+ import $ from"../utils/are-declarations-equal";import v from"../utils/define-visitors";import L from"../utils/resolve-context";import b from"../utils/find-loc";import{parseNodeRecursive as j}from"../utils/parse-node-recursive";import x from"../utils/valid-rules-action";var O={meta:{docs:{description:"Avoid applying classes with the same CSS declaration",category:"Stylistic Issues",recommended:!1,url:"https://beta.css.master.co/docs/code-linting#class-collision-detection"},messages:{collisionClass:"{{message}}"},fixable:"code",schema:[{type:"object",properties:{calleeMatching:{type:"string"},classMatching:{type:"string"},ignoredKeys:{type:"array",items:{type:"string",minLength:0},uniqueItems:!0},config:{type:["string","object"]}}}]},create(t){const{options:M,settings:a}=L(t);return v({context:t,settings:a},(f,g=null)=>{j(f,g,(i,d,u,C,h)=>{const y=t.sourceCode.lines,R=d.loc.start.line,S=d.loc.end.line,p=x(i,a.config);for(let n=0;n<i.length;n++){const c=i[n],l=p[c],r=[];if(l)for(let s=0;s<i.length;s++){const o=i[s],e=p[o];n!==s&&e&&$(l.declarations,e.declarations)&&l.stateToken===e.stateToken&&r.push(o)}if(r.length>0){const s=r.map(e=>`"${e}"`).join(" and ");let o=u;for(const e of r){const m=e.replace(/(\\|\.|\(|\)|\[|\]|\{|\}|\+|\*|\?|\^|\$|\||\/)/g,"\\$1");o=o.replace(new RegExp(`\\s+${m}|${m}\\s+`),"")}t.report({loc:b(c,y,R,S),messageId:"collisionClass",data:{message:`"${c}" applies the same CSS declarations as ${s}.`},fix:function(e){return e.replaceTextRange([C,h],o)}})}}},!1,!1,a.ignoredKeys,t)})}};export{O as default};
@@ -1 +1 @@
1
- var V=Object.create;var N=Object.defineProperty;var M=Object.getOwnPropertyDescriptor;var O=Object.getOwnPropertyNames;var P=Object.getPrototypeOf,w=Object.prototype.hasOwnProperty;var U=(l,a)=>{for(var n in a)N(l,n,{get:a[n],enumerable:!0})},k=(l,a,n,E)=>{if(a&&typeof a=="object"||typeof a=="function")for(let u of O(a))!w.call(l,u)&&u!==n&&N(l,u,{get:()=>a[u],enumerable:!(E=M(a,u))||E.enumerable});return l};var T=(l,a,n)=>(n=l!=null?V(P(l)):{},k(a||!l||!l.__esModule?N(n,"default",{value:l,enumerable:!0}):n,l)),F=l=>k(N({},"__esModule",{value:!0}),l);var G={};U(G,{default:()=>j});module.exports=F(G);var g=T(require("../utils/ast")),L=T(require("../utils/define-visitors")),_=T(require("../utils/resolve-context")),$=require("@master/css"),j={meta:{docs:{description:"Enforce a consistent and logical order of classes",category:"Stylistic Issues",recommended:!1,url:"https://beta.css.master.co/docs/code-linting#consistent-class-order"},messages:{invalidClassOrder:"No consistent class order followed."},fixable:"code",schema:[{type:"object",properties:{calleeMatching:{type:"string"},classMatching:{type:"string"},ignoredKeys:{type:"array",items:{type:"string",minLength:0},uniqueItems:!0},config:{type:["string","object"]}}}]},create:function(l){const{options:a,settings:n,config:E}=(0,_.default)(l),u=l.sourceCode,p=(r,t=null)=>{let s=null,f=null,m=null,S="",C="",y=[];if(t===null){s=g.extractValueFromNode(r);const e=g.extractRangeFromNode(r);r.type==="TextAttribute"?(f=e[0],m=e[1]):(f=e[0]+1,m=e[1]-1)}else switch(t.type){case"Identifier":return;case"TemplateLiteral":t.expressions.forEach(i=>{p(r,i)}),s=u.getText(t),s=s.substring(1,s.length-1),y=s.match(/\$\{(?:(?<!\\\\)(['"`]).*?(?<!\\\\)\1|[^}])*?\}/g)??[];for(let i=0;i<y.length;i++)s=s.replace(y[i],`EXPRESSION_STRING_NUM_${i}`);f=t.range[0]+1,m=t.range[1]-1;break;case"ConditionalExpression":p(r,t.consequent),p(r,t.alternate);return;case"LogicalExpression":p(r,t.right);return;case"ArrayExpression":t.elements.forEach(i=>{p(r,i)});return;case"ObjectExpression":const e=r.callee&&r.callee.name==="classnames",h=r.key&&r.key.type==="VDirectiveKey";t.properties.forEach(i=>{const R=e||h?i.key:i.value;p(r,R)});return;case"Property":p(r,t.key);break;case"Literal":s=t.value,f=t.range[0]+1,m=t.range[1]-1;break;case"SvelteLiteral":if(s=t.value,s==="")return;f=t.range[0],m=t.range[1];break;case"TemplateElement":if(s=t.value.raw,s==="")return;f=t.range[0],m=t.range[1];const o=l.sourceCode.getText(t);S=g.getTemplateElementPrefix(o,s),C=g.getTemplateElementSuffix(o,s),s=g.getTemplateElementBody(o,S,C);break}const{classNames:x,whitespaces:b,headSpace:v,tailSpace:I}=g.extractClassnamesFromValue(s);if(x.length<=1)return;let d=(0,$.reorderForReadableClasses)(x,E).filter(e=>x.includes(e));d=x.filter(e=>!d.includes(e)).concat(d).filter(e=>e.trim()!=="");let c="";for(let e=0;e<d.length;e++){const h=b[e]??"",o=d[e];c+=v?`${h}${o}`:`${o}${h}`,o&&(!I&&e===d.length-1&&(c=c.replace(/\s+$/,"")),v&&I&&e===d.length-1&&(c+=b[b.length-1]??""))}for(let e=0;e<y.length;e++)s=s.replace(`EXPRESSION_STRING_NUM_${e}`,y[e]),c=c.replace(`EXPRESSION_STRING_NUM_${e}`,y[e]);if(s!==c){c=S+c+C;const e=u.lines,h=r.loc.start.line,o=r.loc.end.line,i={loc:g.findLoc(s,e,h,o),messageId:"invalidClassOrder",fix:function(R){return R.replaceTextRange([f,m],c)}};l.report(i)}};return(0,L.default)({context:l,settings:n},p)}};
1
+ var U=Object.create;var E=Object.defineProperty;var j=Object.getOwnPropertyDescriptor;var A=Object.getOwnPropertyNames;var F=Object.getPrototypeOf,G=Object.prototype.hasOwnProperty;var X=(r,a)=>{for(var o in a)E(r,o,{get:a[o],enumerable:!0})},R=(r,a,o,h)=>{if(a&&typeof a=="object"||typeof a=="function")for(let i of A(a))!G.call(r,i)&&i!==o&&E(r,i,{get:()=>a[i],enumerable:!(h=j(a,i))||h.enumerable});return r};var m=(r,a,o)=>(o=r!=null?U(F(r)):{},R(a||!r||!r.__esModule?E(o,"default",{value:r,enumerable:!0}):o,r)),q=r=>R(E({},"__esModule",{value:!0}),r);var K={};X(K,{default:()=>B});module.exports=q(K);var I=m(require("../utils/define-visitors")),k=m(require("../utils/resolve-context")),L=m(require("../utils/get-template-element-body")),V=m(require("../utils/get-template-element-suffix")),_=m(require("../utils/get-template-element-prefix")),$=m(require("../utils/extract-value-from-node")),M=m(require("../utils/extract-range-from-node")),O=m(require("../utils/extract-classnames-from-value")),P=m(require("../utils/find-loc")),w=m(require("../utils/reorder-valid-classes-action")),B={meta:{docs:{description:"Enforce a consistent and logical order of classes",category:"Stylistic Issues",recommended:!1,url:"https://beta.css.master.co/docs/code-linting#consistent-class-order"},messages:{invalidClassOrder:"No consistent class order followed."},fixable:"code",schema:[{type:"object",properties:{calleeMatching:{type:"string"},classMatching:{type:"string"},ignoredKeys:{type:"array",items:{type:"string",minLength:0},uniqueItems:!0},config:{type:["string","object"]}}}]},create:function(r){const{options:a,settings:o}=(0,k.default)(r),h=r.sourceCode,i=(l,t=null)=>{let s=null,f=null,u=null,x="",N="",g=[];if(t===null){s=(0,$.default)(l);const e=(0,M.default)(l);l.type==="TextAttribute"?(f=e[0],u=e[1]):(f=e[0]+1,u=e[1]-1)}else switch(t.type){case"Identifier":return;case"TemplateLiteral":t.expressions.forEach(n=>{i(l,n)}),s=h.getText(t),s=s.substring(1,s.length-1),g=s.match(/\$\{(?:(?<!\\\\)(['"`]).*?(?<!\\\\)\1|[^}])*?\}/g)??[];for(let n=0;n<g.length;n++)s=s.replace(g[n],`EXPRESSION_STRING_NUM_${n}`);f=t.range[0]+1,u=t.range[1]-1;break;case"ConditionalExpression":i(l,t.consequent),i(l,t.alternate);return;case"LogicalExpression":i(l,t.right);return;case"ArrayExpression":t.elements.forEach(n=>{i(l,n)});return;case"ObjectExpression":const e=l.callee&&l.callee.name==="classnames",y=l.key&&l.key.type==="VDirectiveKey";t.properties.forEach(n=>{const b=e||y?n.key:n.value;i(l,b)});return;case"Property":i(l,t.key);break;case"Literal":s=t.value,f=t.range[0]+1,u=t.range[1]-1;break;case"SvelteLiteral":if(s=t.value,s==="")return;f=t.range[0],u=t.range[1];break;case"TemplateElement":if(s=t.value.raw,s==="")return;f=t.range[0],u=t.range[1];const p=r.sourceCode.getText(t);x=(0,_.default)(p,s),N=(0,V.default)(p,s),s=(0,L.default)(p,x,N);break}const{classNames:S,whitespaces:C,headSpace:T,tailSpace:v}=(0,O.default)(s);if(S.length<=1)return;let d=(0,w.default)(S,o.config);d=S.filter(e=>!d.includes(e)).concat(d).filter(e=>e.trim()!=="");let c="";for(let e=0;e<d.length;e++){const y=C[e]??"",p=d[e];c+=T?`${y}${p}`:`${p}${y}`,p&&(!v&&e===d.length-1&&(c=c.replace(/\s+$/,"")),T&&v&&e===d.length-1&&(c+=C[C.length-1]??""))}for(let e=0;e<g.length;e++)s=s.replace(`EXPRESSION_STRING_NUM_${e}`,g[e]),c=c.replace(`EXPRESSION_STRING_NUM_${e}`,g[e]);if(s!==c){c=x+c+N;const e=h.lines,y=l.loc.start.line,p=l.loc.end.line,n={loc:(0,P.default)(s,e,y,p),messageId:"invalidClassOrder",fix:function(b){return b.replaceTextRange([f,u],c)}};r.report(n)}};return(0,I.default)({context:r,settings:o},i)}};
@@ -1 +1 @@
1
- import*as p from"../utils/ast";import T from"../utils/define-visitors";import v from"../utils/resolve-context";import{reorderForReadableClasses as I}from"@master/css";var O={meta:{docs:{description:"Enforce a consistent and logical order of classes",category:"Stylistic Issues",recommended:!1,url:"https://beta.css.master.co/docs/code-linting#consistent-class-order"},messages:{invalidClassOrder:"No consistent class order followed."},fixable:"code",schema:[{type:"object",properties:{calleeMatching:{type:"string"},classMatching:{type:"string"},ignoredKeys:{type:"array",items:{type:"string",minLength:0},uniqueItems:!0},config:{type:["string","object"]}}}]},create:function(d){const{options:k,settings:b,config:R}=v(d),N=d.sourceCode,n=(l,t=null)=>{let s=null,c=null,o=null,y="",h="",f=[];if(t===null){s=p.extractValueFromNode(l);const e=p.extractRangeFromNode(l);l.type==="TextAttribute"?(c=e[0],o=e[1]):(c=e[0]+1,o=e[1]-1)}else switch(t.type){case"Identifier":return;case"TemplateLiteral":t.expressions.forEach(r=>{n(l,r)}),s=N.getText(t),s=s.substring(1,s.length-1),f=s.match(/\$\{(?:(?<!\\\\)(['"`]).*?(?<!\\\\)\1|[^}])*?\}/g)??[];for(let r=0;r<f.length;r++)s=s.replace(f[r],`EXPRESSION_STRING_NUM_${r}`);c=t.range[0]+1,o=t.range[1]-1;break;case"ConditionalExpression":n(l,t.consequent),n(l,t.alternate);return;case"LogicalExpression":n(l,t.right);return;case"ArrayExpression":t.elements.forEach(r=>{n(l,r)});return;case"ObjectExpression":const e=l.callee&&l.callee.name==="classnames",m=l.key&&l.key.type==="VDirectiveKey";t.properties.forEach(r=>{const x=e||m?r.key:r.value;n(l,x)});return;case"Property":n(l,t.key);break;case"Literal":s=t.value,c=t.range[0]+1,o=t.range[1]-1;break;case"SvelteLiteral":if(s=t.value,s==="")return;c=t.range[0],o=t.range[1];break;case"TemplateElement":if(s=t.value.raw,s==="")return;c=t.range[0],o=t.range[1];const a=d.sourceCode.getText(t);y=p.getTemplateElementPrefix(a,s),h=p.getTemplateElementSuffix(a,s),s=p.getTemplateElementBody(a,y,h);break}const{classNames:g,whitespaces:E,headSpace:S,tailSpace:C}=p.extractClassnamesFromValue(s);if(g.length<=1)return;let u=I(g,R).filter(e=>g.includes(e));u=g.filter(e=>!u.includes(e)).concat(u).filter(e=>e.trim()!=="");let i="";for(let e=0;e<u.length;e++){const m=E[e]??"",a=u[e];i+=S?`${m}${a}`:`${a}${m}`,a&&(!C&&e===u.length-1&&(i=i.replace(/\s+$/,"")),S&&C&&e===u.length-1&&(i+=E[E.length-1]??""))}for(let e=0;e<f.length;e++)s=s.replace(`EXPRESSION_STRING_NUM_${e}`,f[e]),i=i.replace(`EXPRESSION_STRING_NUM_${e}`,f[e]);if(s!==i){i=y+i+h;const e=N.lines,m=l.loc.start.line,a=l.loc.end.line,r={loc:p.findLoc(s,e,m,a),messageId:"invalidClassOrder",fix:function(x){return x.replaceTextRange([c,o],i)}};d.report(r)}};return T({context:d,settings:b},n)}};export{O as default};
1
+ import b from"../utils/define-visitors";import T from"../utils/resolve-context";import v from"../utils/get-template-element-body";import R from"../utils/get-template-element-suffix";import I from"../utils/get-template-element-prefix";import k from"../utils/extract-value-from-node";import L from"../utils/extract-range-from-node";import V from"../utils/extract-classnames-from-value";import _ from"../utils/find-loc";import $ from"../utils/reorder-valid-classes-action";var D={meta:{docs:{description:"Enforce a consistent and logical order of classes",category:"Stylistic Issues",recommended:!1,url:"https://beta.css.master.co/docs/code-linting#consistent-class-order"},messages:{invalidClassOrder:"No consistent class order followed."},fixable:"code",schema:[{type:"object",properties:{calleeMatching:{type:"string"},classMatching:{type:"string"},ignoredKeys:{type:"array",items:{type:"string",minLength:0},uniqueItems:!0},config:{type:["string","object"]}}}]},create:function(u){const{options:M,settings:x}=T(u),N=u.sourceCode,a=(r,t=null)=>{let s=null,o=null,c=null,d="",g="",p=[];if(t===null){s=k(r);const e=L(r);r.type==="TextAttribute"?(o=e[0],c=e[1]):(o=e[0]+1,c=e[1]-1)}else switch(t.type){case"Identifier":return;case"TemplateLiteral":t.expressions.forEach(l=>{a(r,l)}),s=N.getText(t),s=s.substring(1,s.length-1),p=s.match(/\$\{(?:(?<!\\\\)(['"`]).*?(?<!\\\\)\1|[^}])*?\}/g)??[];for(let l=0;l<p.length;l++)s=s.replace(p[l],`EXPRESSION_STRING_NUM_${l}`);o=t.range[0]+1,c=t.range[1]-1;break;case"ConditionalExpression":a(r,t.consequent),a(r,t.alternate);return;case"LogicalExpression":a(r,t.right);return;case"ArrayExpression":t.elements.forEach(l=>{a(r,l)});return;case"ObjectExpression":const e=r.callee&&r.callee.name==="classnames",f=r.key&&r.key.type==="VDirectiveKey";t.properties.forEach(l=>{const E=e||f?l.key:l.value;a(r,E)});return;case"Property":a(r,t.key);break;case"Literal":s=t.value,o=t.range[0]+1,c=t.range[1]-1;break;case"SvelteLiteral":if(s=t.value,s==="")return;o=t.range[0],c=t.range[1];break;case"TemplateElement":if(s=t.value.raw,s==="")return;o=t.range[0],c=t.range[1];const n=u.sourceCode.getText(t);d=I(n,s),g=R(n,s),s=v(n,d,g);break}const{classNames:y,whitespaces:h,headSpace:S,tailSpace:C}=V(s);if(y.length<=1)return;let m=$(y,x.config);m=y.filter(e=>!m.includes(e)).concat(m).filter(e=>e.trim()!=="");let i="";for(let e=0;e<m.length;e++){const f=h[e]??"",n=m[e];i+=S?`${f}${n}`:`${n}${f}`,n&&(!C&&e===m.length-1&&(i=i.replace(/\s+$/,"")),S&&C&&e===m.length-1&&(i+=h[h.length-1]??""))}for(let e=0;e<p.length;e++)s=s.replace(`EXPRESSION_STRING_NUM_${e}`,p[e]),i=i.replace(`EXPRESSION_STRING_NUM_${e}`,p[e]);if(s!==i){i=d+i+g;const e=N.lines,f=r.loc.start.line,n=r.loc.end.line,l={loc:_(s,e,f,n),messageId:"invalidClassOrder",fix:function(E){return E.replaceTextRange([o,c],i)}};u.report(l)}};return b({context:u,settings:x},a)}};export{D as default};
@@ -1 +1 @@
1
- var b=Object.create;var n=Object.defineProperty;var I=Object.getOwnPropertyDescriptor;var M=Object.getOwnPropertyNames;var N=Object.getPrototypeOf,R=Object.prototype.hasOwnProperty;var S=(e,s)=>{for(var o in s)n(e,o,{get:s[o],enumerable:!0})},p=(e,s,o,i)=>{if(s&&typeof s=="object"||typeof s=="function")for(let t of M(s))!R.call(e,t)&&t!==o&&n(e,t,{get:()=>s[t],enumerable:!(i=I(s,t))||i.enumerable});return e};var a=(e,s,o)=>(o=e!=null?b(N(e)):{},p(s||!e||!e.__esModule?n(o,"default",{value:e,enumerable:!0}):o,e)),U=e=>p(n({},"__esModule",{value:!0}),e);var K={};S(K,{default:()=>j});module.exports=U(K);var l=a(require("../utils/ast")),u=a(require("../utils/define-visitors")),y=a(require("../utils/resolve-context")),C=require("@master/css-validator"),j={meta:{docs:{description:"Detect syntax errors early when writing classes",category:"Stylistic Issues",recommended:!1,url:"https://beta.css.master.co/docs/code-linting#syntax-error-checks"},messages:{invalidClass:"{{message}}",disallowUnknownClass:"{{message}}"},fixable:null,schema:[{type:"object",properties:{calleeMatching:{type:"string"},classMatching:{type:"string"},ignoredKeys:{type:"array",items:{type:"string",minLength:0},uniqueItems:!0},config:{type:["string","object"]}}}]},create:function(e){const{options:s,settings:o,config:i}=(0,y.default)(e);return(0,u.default)({context:e,settings:o},(w,h=null)=>{l.parseNodeRecursive(w,h,(v,c)=>{const d=e.sourceCode.lines,m=c.loc.start.line,g=c.loc.end.line;for(const r of v){const{isMasterCSS:L,errors:f}=(0,C.validate)(r,{config:i});if(f.length>0)for(const k of f)L?e.report({loc:l.findLoc(r,d,m,g),messageId:"invalidClass",data:{message:k.message+"."}}):s.disallowUnknownClass&&e.report({loc:l.findLoc(r,d,m,g),messageId:"disallowUnknownClass",data:{message:`"${r}" is not a valid or known class.`}})}},!1,!1,o.ignoredKeys,e)})}};
1
+ var b=Object.create;var i=Object.defineProperty;var I=Object.getOwnPropertyDescriptor;var M=Object.getOwnPropertyNames;var N=Object.getPrototypeOf,R=Object.prototype.hasOwnProperty;var S=(e,s)=>{for(var o in s)i(e,o,{get:s[o],enumerable:!0})},p=(e,s,o,a)=>{if(s&&typeof s=="object"||typeof s=="function")for(let t of M(s))!R.call(e,t)&&t!==o&&i(e,t,{get:()=>s[t],enumerable:!(a=I(s,t))||a.enumerable});return e};var n=(e,s,o)=>(o=e!=null?b(N(e)):{},p(s||!e||!e.__esModule?i(o,"default",{value:e,enumerable:!0}):o,e)),U=e=>p(i({},"__esModule",{value:!0}),e);var K={};S(K,{default:()=>j});module.exports=U(K);var u=n(require("../utils/define-visitors")),y=n(require("../utils/resolve-context")),l=n(require("../utils/find-loc")),C=require("../utils/parse-node-recursive"),w=n(require("../utils/validate-action")),j={meta:{docs:{description:"Detect syntax errors early when writing classes",category:"Stylistic Issues",recommended:!1,url:"https://beta.css.master.co/docs/code-linting#syntax-error-checks"},messages:{invalidClass:"{{message}}",disallowUnknownClass:"{{message}}"},fixable:null,schema:[{type:"object",properties:{calleeMatching:{type:"string"},classMatching:{type:"string"},ignoredKeys:{type:"array",items:{type:"string",minLength:0},uniqueItems:!0},config:{type:["string","object"]}}}]},create:function(e){const{options:s,settings:o}=(0,y.default)(e);return(0,u.default)({context:e,settings:o},(t,h=null)=>{(0,C.parseNodeRecursive)(t,h,(v,c)=>{const d=e.sourceCode.lines,m=c.loc.start.line,g=c.loc.end.line;for(const r of v){const{isMasterCSS:k,errors:f}=(0,w.default)(r,o.config);if(f.length>0)for(const L of f)k?e.report({loc:(0,l.default)(r,d,m,g),messageId:"invalidClass",data:{message:L.message+"."}}):s.disallowUnknownClass&&e.report({loc:(0,l.default)(r,d,m,g),messageId:"disallowUnknownClass",data:{message:`"${r}" is not a valid or known class.`}})}},!1,!1,o.ignoredKeys,e)})}};
@@ -1 +1 @@
1
- import*as o from"../utils/ast";import y from"../utils/define-visitors";import C from"../utils/resolve-context";import{validate as w}from"@master/css-validator";var N={meta:{docs:{description:"Detect syntax errors early when writing classes",category:"Stylistic Issues",recommended:!1,url:"https://beta.css.master.co/docs/code-linting#syntax-error-checks"},messages:{invalidClass:"{{message}}",disallowUnknownClass:"{{message}}"},fixable:null,schema:[{type:"object",properties:{calleeMatching:{type:"string"},classMatching:{type:"string"},ignoredKeys:{type:"array",items:{type:"string",minLength:0},uniqueItems:!0},config:{type:["string","object"]}}}]},create:function(e){const{options:c,settings:t,config:d}=C(e);return y({context:e,settings:t},(m,g=null)=>{o.parseNodeRecursive(m,g,(f,i)=>{const r=e.sourceCode.lines,n=i.loc.start.line,a=i.loc.end.line;for(const s of f){const{isMasterCSS:p,errors:l}=w(s,{config:d});if(l.length>0)for(const u of l)p?e.report({loc:o.findLoc(s,r,n,a),messageId:"invalidClass",data:{message:u.message+"."}}):c.disallowUnknownClass&&e.report({loc:o.findLoc(s,r,n,a),messageId:"disallowUnknownClass",data:{message:`"${s}" is not a valid or known class.`}})}},!1,!1,t.ignoredKeys,e)})}};export{N as default};
1
+ import u from"../utils/define-visitors";import y from"../utils/resolve-context";import l from"../utils/find-loc";import{parseNodeRecursive as C}from"../utils/parse-node-recursive";import w from"../utils/validate-action";var S={meta:{docs:{description:"Detect syntax errors early when writing classes",category:"Stylistic Issues",recommended:!1,url:"https://beta.css.master.co/docs/code-linting#syntax-error-checks"},messages:{invalidClass:"{{message}}",disallowUnknownClass:"{{message}}"},fixable:null,schema:[{type:"object",properties:{calleeMatching:{type:"string"},classMatching:{type:"string"},ignoredKeys:{type:"array",items:{type:"string",minLength:0},uniqueItems:!0},config:{type:["string","object"]}}}]},create:function(e){const{options:c,settings:o}=y(e);return u({context:e,settings:o},(d,m=null)=>{C(d,m,(g,t)=>{const r=e.sourceCode.lines,i=t.loc.start.line,n=t.loc.end.line;for(const s of g){const{isMasterCSS:f,errors:a}=w(s,o.config);if(a.length>0)for(const p of a)f?e.report({loc:l(s,r,i,n),messageId:"invalidClass",data:{message:p.message+"."}}):c.disallowUnknownClass&&e.report({loc:l(s,r,i,n),messageId:"disallowUnknownClass",data:{message:`"${s}" is not a valid or known class.`}})}},!1,!1,o.ignoredKeys,e)})}};export{S as default};
@@ -0,0 +1,6 @@
1
+ export default function extractClassnamesFromValue(classStr: any): {
2
+ classNames: string[];
3
+ whitespaces: string[];
4
+ headSpace: boolean;
5
+ tailSpace: boolean;
6
+ };
@@ -0,0 +1 @@
1
+ var n=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var S=Object.prototype.hasOwnProperty;var d=(e,s)=>{for(var t in s)n(e,t,{get:s[t],enumerable:!0})},g=(e,s,t,l)=>{if(s&&typeof s=="object"||typeof s=="function")for(let a of u(s))!S.call(e,a)&&a!==t&&n(e,a,{get:()=>s[a],enumerable:!(l=m(s,a))||l.enumerable});return e};var N=e=>g(n({},"__esModule",{value:!0}),e);var w={};d(w,{default:()=>i});module.exports=N(w);const p=/([\t\n\f\r ]+)/;function i(e){if(typeof e!="string")return{classNames:[],whitespaces:[],headSpace:!1,tailSpace:!1};const s=e.split(p);s[0]===""&&s.shift(),s[s.length-1]===""&&s.pop();const t=p.test(s[0]),l=p.test(s[s.length-1]),a=(h,c)=>t?c%2!==0:c%2===0,o=(h,c)=>t?c%2===0:c%2!==0,r=s.filter(a),f=s.filter(o);return{classNames:r,whitespaces:f,headSpace:t,tailSpace:l}}
@@ -0,0 +1 @@
1
+ const a=/([\t\n\f\r ]+)/;function f(c){if(typeof c!="string")return{classNames:[],whitespaces:[],headSpace:!1,tailSpace:!1};const s=c.split(a);s[0]===""&&s.shift(),s[s.length-1]===""&&s.pop();const t=a.test(s[0]),l=a.test(s[s.length-1]),n=(r,e)=>t?e%2!==0:e%2===0,p=(r,e)=>t?e%2===0:e%2!==0,i=s.filter(n),o=s.filter(p);return{classNames:i,whitespaces:o,headSpace:t,tailSpace:l}}export{f as default};
@@ -0,0 +1 @@
1
+ export default function extractRangeFromNode(node: any): any;
@@ -0,0 +1 @@
1
+ var u=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var i=Object.prototype.hasOwnProperty;var p=(e,t)=>{for(var r in t)u(e,r,{get:t[r],enumerable:!0})},c=(e,t,r,l)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of f(t))!i.call(e,a)&&a!==r&&u(e,a,{get:()=>t[a],enumerable:!(l=s(t,a))||l.enumerable});return e};var v=e=>c(u({},"__esModule",{value:!0}),e);var x={};p(x,{default:()=>n});module.exports=v(x);function n(e){if(e.type==="TextAttribute"&&e.name==="class")return[e.valueSpan.fullStart.offset,e.valueSpan.end.offset];switch(e.value.type){case"JSXExpressionContainer":return e.value.expression.range;default:return e.value.range}}
@@ -0,0 +1 @@
1
+ function t(e){if(e.type==="TextAttribute"&&e.name==="class")return[e.valueSpan.fullStart.offset,e.valueSpan.end.offset];switch(e.value.type){case"JSXExpressionContainer":return e.value.expression.range;default:return e.value.range}}export{t as default};
@@ -0,0 +1 @@
1
+ export default function extractValueFromNode(node: any): any;
@@ -0,0 +1 @@
1
+ var a=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var n=Object.prototype.hasOwnProperty;var x=(e,r)=>{for(var t in r)a(e,t,{get:r[t],enumerable:!0})},v=(e,r,t,u)=>{if(r&&typeof r=="object"||typeof r=="function")for(let s of p(r))!n.call(e,s)&&s!==t&&a(e,s,{get:()=>r[s],enumerable:!(u=l(r,s))||u.enumerable});return e};var c=e=>v(a({},"__esModule",{value:!0}),e);var o={};x(o,{default:()=>i});module.exports=c(o);function i(e){if(e.type==="TextAttribute"&&e.name==="class")return e.value;switch(e.value.type){case"JSXExpressionContainer":return e.value.expression.value;case"VExpressionContainer":switch(e.value.expression.type){case"ArrayExpression":return e.value.expression.elements;case"ObjectExpression":return e.value.expression.properties}return e.value.expression.value;default:return e.value.value}}
@@ -0,0 +1 @@
1
+ function r(e){if(e.type==="TextAttribute"&&e.name==="class")return e.value;switch(e.value.type){case"JSXExpressionContainer":return e.value.expression.value;case"VExpressionContainer":switch(e.value.expression.type){case"ArrayExpression":return e.value.expression.elements;case"ObjectExpression":return e.value.expression.properties}return e.value.expression.value;default:return e.value.value}}export{r as default};
@@ -0,0 +1,7 @@
1
+ export default function findLoc(text: any, lines: any, startLine: any, endLine: any): {
2
+ start: any;
3
+ end: {
4
+ line: any;
5
+ column: any;
6
+ };
7
+ };
@@ -0,0 +1 @@
1
+ var s=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var h=Object.prototype.hasOwnProperty;var L=(n,e)=>{for(var t in e)s(n,t,{get:e[t],enumerable:!0})},m=(n,e,t,c)=>{if(e&&typeof e=="object"||typeof e=="function")for(let l of g(e))!h.call(n,l)&&l!==t&&s(n,l,{get:()=>e[l],enumerable:!(c=d(e,l))||c.enumerable});return n};var k=n=>m(s({},"__esModule",{value:!0}),n);var p={};L(p,{default:()=>a});module.exports=k(p);function a(n,e,t,c){const l=n.match(/.+(?:\r\n|\n)?/g);let i=0,o=null,u=!1;for(let r=t;r<=c;r++){const f=e[r-1].indexOf(l[i].replace(/\r\n|\n/,""));if(f!==-1){if(i===0&&(o={line:r,column:f}),i===l.length-1)return{start:o,end:{line:r,column:f+n.length}};u=!0,i++}else u&&(u=!1,i=0,o=null)}return null}
@@ -0,0 +1 @@
1
+ function s(r,o,u,f){const c=r.match(/.+(?:\r\n|\n)?/g);let e=0,l=null,t=!1;for(let n=u;n<=f;n++){const i=o[n-1].indexOf(c[e].replace(/\r\n|\n/,""));if(i!==-1){if(e===0&&(l={line:n,column:i}),e===c.length-1)return{start:l,end:{line:n,column:i+r.length}};t=!0,e++}else t&&(t=!1,e=0,l=null)}return null}export{s as default};
@@ -0,0 +1,2 @@
1
+ import MasterCSS, { Config } from '@master/css';
2
+ export default function getMasterCSS(config: string | Config): MasterCSS;
@@ -0,0 +1 @@
1
+ var a=Object.create;var n=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var M=Object.getPrototypeOf,x=Object.prototype.hasOwnProperty;var b=(t,r)=>{for(var e in r)n(t,e,{get:r[e],enumerable:!0})},i=(t,r,e,f)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of m(r))!x.call(t,o)&&o!==e&&n(t,o,{get:()=>r[o],enumerable:!(f=l(r,o))||f.enumerable});return t};var S=(t,r,e)=>(e=t!=null?a(M(t)):{},i(r||!t||!t.__esModule?n(e,"default",{value:t,enumerable:!0}):e,t)),c=t=>i(n({},"__esModule",{value:!0}),t);var d={};b(d,{default:()=>u});module.exports=c(d);var p=S(require("@master/css")),s=S(require("explore-config"));let C,g;function u(t){return(!C||g!==t)&&(C=new p.default(typeof t=="object"?t:(0,s.default)(t||"")),g=t),C}
@@ -0,0 +1 @@
1
+ import o from"@master/css";import n from"explore-config";let r,e;function C(t){return(!r||e!==t)&&(r=new o(typeof t=="object"?t:n(t||"")),e=t),r}export{C as default};
@@ -0,0 +1 @@
1
+ export default function getTemplateElementBody(text: any, prefix: any, suffix: any): any;
@@ -0,0 +1 @@
1
+ var p=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var r=Object.getOwnPropertyNames;var a=Object.prototype.hasOwnProperty;var s=(o,t)=>{for(var n in t)p(o,n,{get:t[n],enumerable:!0})},y=(o,t,n,e)=>{if(t&&typeof t=="object"||typeof t=="function")for(let l of r(t))!a.call(o,l)&&l!==n&&p(o,l,{get:()=>t[l],enumerable:!(e=i(t,l))||e.enumerable});return o};var b=o=>y(p({},"__esModule",{value:!0}),o);var c={};s(c,{default:()=>d});module.exports=b(c);function d(o,t,n){let e=o.split(t);return e.shift(),e=e.join(t).split(n),e.pop(),e.join(n)}
@@ -0,0 +1 @@
1
+ function l(n,o,e){let t=n.split(o);return t.shift(),t=t.join(o).split(e),t.pop(),t.join(e)}export{l as default};
@@ -0,0 +1 @@
1
+ export default function getTemplateElementPrefix(text: any, raw: any): any;
@@ -0,0 +1 @@
1
+ var f=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var x=Object.prototype.hasOwnProperty;var o=(t,e)=>{for(var i in e)f(t,i,{get:e[i],enumerable:!0})},p=(t,e,i,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of u(e))!x.call(t,n)&&n!==i&&f(t,n,{get:()=>e[n],enumerable:!(r=l(e,n))||r.enumerable});return t};var s=t=>p(f({},"__esModule",{value:!0}),t);var c={};o(c,{default:()=>d});module.exports=s(c);function d(t,e){return t.indexOf(e)===0?"":t.split(e).shift()}
@@ -0,0 +1 @@
1
+ function i(e,t){return e.indexOf(t)===0?"":e.split(t).shift()}export{i as default};
@@ -0,0 +1 @@
1
+ export default function getTemplateElementSuffix(text: any, raw: any): any;
@@ -0,0 +1 @@
1
+ var i=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var r=Object.getOwnPropertyNames;var o=Object.prototype.hasOwnProperty;var d=(t,e)=>{for(var n in e)i(t,n,{get:e[n],enumerable:!0})},m=(t,e,n,p)=>{if(e&&typeof e=="object"||typeof e=="function")for(let f of r(e))!o.call(t,f)&&f!==n&&i(t,f,{get:()=>e[f],enumerable:!(p=l(e,f))||p.enumerable});return t};var x=t=>m(i({},"__esModule",{value:!0}),t);var a={};d(a,{default:()=>u});module.exports=x(a);function u(t,e){return t.indexOf(e)===-1?"":t.split(e).pop()}
@@ -0,0 +1 @@
1
+ function f(e,t){return e.indexOf(t)===-1?"":e.split(t).pop()}export{f as default};
@@ -1,12 +1,4 @@
1
1
  import { Rule } from 'eslint';
2
- export declare function extractRangeFromNode(node: any): any;
3
- export declare function extractValueFromNode(node: any): any;
4
- export declare function extractClassnamesFromValue(classStr: any): {
5
- classNames: string[];
6
- whitespaces: string[];
7
- headSpace: boolean;
8
- tailSpace: boolean;
9
- };
10
2
  /**
11
3
  * Inspect and parse an abstract syntax node and run a callback function
12
4
  *
@@ -19,13 +11,3 @@ export declare function extractClassnamesFromValue(classStr: any): {
19
11
  * @returns {void}
20
12
  */
21
13
  export declare function parseNodeRecursive(rootNode: any, childNode: any, cb: any, skipConditional?: boolean, isolate?: boolean, ignoredKeys?: any[], context?: Rule.RuleContext): void;
22
- export declare function getTemplateElementPrefix(text: any, raw: any): any;
23
- export declare function getTemplateElementSuffix(text: any, raw: any): any;
24
- export declare function getTemplateElementBody(text: any, prefix: any, suffix: any): any;
25
- export declare function findLoc(text: any, lines: any, startLine: any, endLine: any): {
26
- start: any;
27
- end: {
28
- line: any;
29
- column: any;
30
- };
31
- };
@@ -0,0 +1 @@
1
+ var I=Object.create;var v=Object.defineProperty;var j=Object.getOwnPropertyDescriptor;var B=Object.getOwnPropertyNames;var O=Object.getPrototypeOf,U=Object.prototype.hasOwnProperty;var z=(t,e)=>{for(var a in e)v(t,a,{get:e[a],enumerable:!0})},w=(t,e,a,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let m of B(e))!U.call(t,m)&&m!==a&&v(t,m,{get:()=>e[m],enumerable:!(r=j(e,m))||r.enumerable});return t};var p=(t,e,a)=>(a=t!=null?I(O(t)):{},w(e||!t||!t.__esModule?v(a,"default",{value:t,enumerable:!0}):a,t)),D=t=>w(v({},"__esModule",{value:!0}),t);var G={};z(G,{parseNodeRecursive:()=>x});module.exports=D(G);var L=p(require("./get-template-element-prefix")),y=p(require("./get-template-element-suffix")),F=p(require("./extract-value-from-node")),R=p(require("./extract-classnames-from-value")),P=p(require("./extract-range-from-node"));function x(t,e,a,r=!1,m=!1,f=[],V=null){let u,l,E=null,g=null,T="",c="";if(e===null){if(u=(0,F.default)(t),{classNames:l}=(0,R.default)(u),l=[...new Set(l)],l.length===0)return;const s=(0,P.default)(t);t.type==="TextAttribute"?(E=s[0],g=s[1]):(E=s[0]+1,g=s[1]-1),a(l,t,u,E,g,T,c)}else{if(e===void 0)return;{const s=r?!0:m;let q=!1;switch(e.type){case"TemplateLiteral":e.expressions.forEach(n=>{x(t,n,a,r,s,f)}),e.quasis.forEach(n=>{x(t,n,a,r,m,f)});return;case"ConditionalExpression":x(t,e.consequent,a,r,s,f),x(t,e.alternate,a,r,s,f);return;case"LogicalExpression":x(t,e.right,a,r,s,f);return;case"ArrayExpression":e.elements.forEach(n=>{x(t,n,a,r,s,f)});return;case"ObjectExpression":e.properties.forEach(n=>{const A=t.callee&&t.callee.name==="classnames";n.type!=="SpreadElement"&&(n.key.type==="Identifier"&&f.includes(n.key.name)||x(t,A?n.key:n.value,a,r,s,f))});return;case"Property":x(t,e.key,a,r,s,f);return;case"Literal":q=!0,u=e.value,E=e.range[0]+1,g=e.range[1]-1;break;case"SvelteLiteral":u=e.value,E=e.range[0],g=e.range[1];break;case"TemplateElement":u=e.value.raw,E=e.range[0],g=e.range[1];const S=V?.sourceCode.getText(e)??"";T=(0,L.default)(S,u),c=(0,y.default)(S,u);break}if({classNames:l}=(0,R.default)(u),l=[...new Set(l)],l.length===0)return;a(l,m?null:t,u,E,g,T,c)}}}
@@ -0,0 +1 @@
1
+ import L from"./get-template-element-prefix";import y from"./get-template-element-suffix";import F from"./extract-value-from-node";import c from"./extract-classnames-from-value";import P from"./extract-range-from-node";function f(t,e,s,l=!1,g=!1,m=[],R=null){let n,u,x=null,E=null,p="",v="";if(e===null){if(n=F(t),{classNames:u}=c(n),u=[...new Set(u)],u.length===0)return;const a=P(t);t.type==="TextAttribute"?(x=a[0],E=a[1]):(x=a[0]+1,E=a[1]-1),s(u,t,n,x,E,p,v)}else{if(e===void 0)return;{const a=l?!0:g;let S=!1;switch(e.type){case"TemplateLiteral":e.expressions.forEach(r=>{f(t,r,s,l,a,m)}),e.quasis.forEach(r=>{f(t,r,s,l,g,m)});return;case"ConditionalExpression":f(t,e.consequent,s,l,a,m),f(t,e.alternate,s,l,a,m);return;case"LogicalExpression":f(t,e.right,s,l,a,m);return;case"ArrayExpression":e.elements.forEach(r=>{f(t,r,s,l,a,m)});return;case"ObjectExpression":e.properties.forEach(r=>{const w=t.callee&&t.callee.name==="classnames";r.type!=="SpreadElement"&&(r.key.type==="Identifier"&&m.includes(r.key.name)||f(t,w?r.key:r.value,s,l,a,m))});return;case"Property":f(t,e.key,s,l,a,m);return;case"Literal":S=!0,n=e.value,x=e.range[0]+1,E=e.range[1]-1;break;case"SvelteLiteral":n=e.value,x=e.range[0],E=e.range[1];break;case"TemplateElement":n=e.value.raw,x=e.range[0],E=e.range[1];const T=R?.sourceCode.getText(e)??"";p=L(T,n),v=y(T,n);break}if({classNames:u}=c(n),u=[...new Set(u)],u.length===0)return;s(u,g?null:t,n,x,E,p,v)}}}export{f as parseNodeRecursive};
@@ -0,0 +1,3 @@
1
+ import type { runReorderValidClasses } from './workers/reorder-valid-classes';
2
+ declare const reorderValidClassesAction: typeof runReorderValidClasses;
3
+ export default reorderValidClassesAction;
@@ -0,0 +1 @@
1
+ var i=Object.create;var a=Object.defineProperty;var n=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var p=Object.getPrototypeOf,u=Object.prototype.hasOwnProperty;var f=(e,r)=>{for(var s in r)a(e,s,{get:r[s],enumerable:!0})},t=(e,r,s,l)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of c(r))!u.call(e,o)&&o!==s&&a(e,o,{get:()=>r[o],enumerable:!(l=n(r,o))||l.enumerable});return e};var m=(e,r,s)=>(s=e!=null?i(p(e)):{},t(r||!e||!e.__esModule?a(s,"default",{value:e,enumerable:!0}):s,e)),y=e=>t(a({},"__esModule",{value:!0}),e);var V={};f(V,{default:()=>R});module.exports=y(V);var d=require("synckit");const C=(0,d.createSyncFn)(require.resolve("./workers/reorder-valid-classes"),{tsRunner:"swc"});var R=C;
@@ -0,0 +1 @@
1
+ import{createSyncFn as e}from"synckit";const r=e(require.resolve("./workers/reorder-valid-classes"),{tsRunner:"swc"});var o=r;export{o as default};
@@ -1,5 +1,4 @@
1
1
  export default function resolveContext(context: any): {
2
2
  settings: any;
3
3
  options: any;
4
- config: any;
5
4
  };
@@ -1 +1 @@
1
- var m=Object.create;var n=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var u=Object.getPrototypeOf,b=Object.prototype.hasOwnProperty;var d=(o,t)=>{for(var s in t)n(o,s,{get:t[s],enumerable:!0})},r=(o,t,s,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let e of a(t))!b.call(o,e)&&e!==s&&n(o,e,{get:()=>t[e],enumerable:!(i=l(t,e))||i.enumerable});return o};var f=(o,t,s)=>(s=o!=null?m(u(o)):{},r(t||!o||!o.__esModule?n(s,"default",{value:o,enumerable:!0}):s,o)),j=o=>r(n({},"__esModule",{value:!0}),o);var v={};d(v,{default:()=>p});module.exports=j(v);var g=f(require("../settings")),c=f(require("explore-config"));function p(o){const t=Object.assign(g.default,o.settings?.["@master/css"]),s=t?.config;return{settings:t,options:o.options[0]||{},config:typeof s=="object"?s:(0,c.default)(t?.config||"")}}
1
+ var p=Object.create;var o=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var d=Object.getPrototypeOf,f=Object.prototype.hasOwnProperty;var m=(t,s)=>{for(var e in s)o(t,e,{get:s[e],enumerable:!0})},r=(t,s,e,i)=>{if(s&&typeof s=="object"||typeof s=="function")for(let n of c(s))!f.call(t,n)&&n!==e&&o(t,n,{get:()=>s[n],enumerable:!(i=a(s,n))||i.enumerable});return t};var u=(t,s,e)=>(e=t!=null?p(d(t)):{},r(s||!t||!t.__esModule?o(e,"default",{value:t,enumerable:!0}):e,t)),v=t=>r(o({},"__esModule",{value:!0}),t);var S={};m(S,{default:()=>l});module.exports=v(S);var g=u(require("../settings"));function l(t){return{settings:Object.assign(g.default,t.settings?.["@master/css"]),options:t.options[0]||{}}}
@@ -1 +1 @@
1
- import e from"../settings";import n from"explore-config";function i(t){const o=Object.assign(e,t.settings?.["@master/css"]),s=o?.config;return{settings:o,options:t.options[0]||{},config:typeof s=="object"?s:n(o?.config||"")}}export{i as default};
1
+ import s from"../settings";function e(t){return{settings:Object.assign(s,t.settings?.["@master/css"]),options:t.options[0]||{}}}export{e as default};
@@ -0,0 +1,3 @@
1
+ import type { runValidRules } from './workers/valid-rules';
2
+ declare const validRulesAction: typeof runValidRules;
3
+ export default validRulesAction;
@@ -0,0 +1 @@
1
+ var n=Object.create;var s=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var d=Object.getPrototypeOf,p=Object.prototype.hasOwnProperty;var f=(e,r)=>{for(var l in r)s(e,l,{get:r[l],enumerable:!0})},u=(e,r,l,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of c(r))!p.call(e,o)&&o!==l&&s(e,o,{get:()=>r[o],enumerable:!(t=a(r,o))||t.enumerable});return e};var m=(e,r,l)=>(l=e!=null?n(d(e)):{},u(r||!e||!e.__esModule?s(l,"default",{value:e,enumerable:!0}):l,e)),R=e=>u(s({},"__esModule",{value:!0}),e);var w={};f(w,{default:()=>y});module.exports=R(w);var i=require("synckit");const v=(0,i.createSyncFn)(require.resolve("./workers/valid-rules"),{tsRunner:"swc"});var y=v;
@@ -0,0 +1 @@
1
+ import{createSyncFn as e}from"synckit";const r=e(require.resolve("./workers/valid-rules"),{tsRunner:"swc"});var o=r;export{o as default};
@@ -0,0 +1,3 @@
1
+ import type { runValidate } from './workers/validate';
2
+ declare const validateAction: typeof runValidate;
3
+ export default validateAction;
@@ -0,0 +1 @@
1
+ var s=Object.create;var o=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var p=Object.getPrototypeOf,u=Object.prototype.hasOwnProperty;var f=(e,r)=>{for(var t in r)o(e,t,{get:r[t],enumerable:!0})},n=(e,r,t,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let a of d(r))!u.call(e,a)&&a!==t&&o(e,a,{get:()=>r[a],enumerable:!(i=c(r,a))||i.enumerable});return e};var m=(e,r,t)=>(t=e!=null?s(p(e)):{},n(r||!e||!e.__esModule?o(t,"default",{value:e,enumerable:!0}):t,e)),v=e=>n(o({},"__esModule",{value:!0}),e);var V={};f(V,{default:()=>w});module.exports=v(V);var l=require("synckit");const y=(0,l.createSyncFn)(require.resolve("./workers/validate"),{tsRunner:"swc"});var w=y;
@@ -0,0 +1 @@
1
+ import{createSyncFn as e}from"synckit";const r=e(require.resolve("./workers/validate"),{tsRunner:"swc"});var a=r;export{a as default};
@@ -0,0 +1,2 @@
1
+ import { Config } from '@master/css';
2
+ export declare function runReorderValidClasses(classNames: string[], config: string | Config): string[];
@@ -0,0 +1 @@
1
+ var C=Object.create;var s=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var m=Object.getPrototypeOf,c=Object.prototype.hasOwnProperty;var p=(r,e)=>{for(var n in e)s(r,n,{get:e[n],enumerable:!0})},i=(r,e,n,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of l(e))!c.call(r,o)&&o!==n&&s(r,o,{get:()=>e[o],enumerable:!(t=d(e,o))||t.enumerable});return r};var S=(r,e,n)=>(n=r!=null?C(m(r)):{},i(e||!r||!r.__esModule?s(n,"default",{value:r,enumerable:!0}):n,r)),R=r=>i(s({},"__esModule",{value:!0}),r);var b={};p(b,{runReorderValidClasses:()=>u});module.exports=R(b);var f=require("@master/css"),g=require("synckit"),a=S(require("../get-mastercss"));function u(r,e){const n=(0,a.default)(e);return(0,f.reorderForReadableClasses)(r,{css:n}).filter(t=>r.includes(t))}(0,g.runAsWorker)(u);
@@ -0,0 +1 @@
1
+ import{reorderForReadableClasses as t}from"@master/css";import{runAsWorker as s}from"synckit";import i from"../get-mastercss";function f(r,e){const n=i(e);return t(r,{css:n}).filter(o=>r.includes(o))}s(f);export{f as runReorderValidClasses};
@@ -0,0 +1,2 @@
1
+ import { Config, Rule } from '@master/css';
2
+ export declare function runValidRules(classNames: string[], config: string | Config): Rule;
@@ -0,0 +1 @@
1
+ var m=Object.create;var s=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var p=Object.getPrototypeOf,R=Object.prototype.hasOwnProperty;var C=(r,t)=>{for(var o in t)s(r,o,{get:t[o],enumerable:!0})},a=(r,t,o,e)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of g(t))!R.call(r,n)&&n!==o&&s(r,n,{get:()=>t[n],enumerable:!(e=d(t,n))||e.enumerable});return r};var S=(r,t,o)=>(o=r!=null?m(p(r)):{},a(t||!r||!r.__esModule?s(o,"default",{value:r,enumerable:!0}):o,r)),k=r=>a(s({},"__esModule",{value:!0}),r);var y={};C(y,{runValidRules:()=>c});module.exports=k(y);var l=require("synckit"),u=S(require("../get-mastercss")),f=require("@master/css-validator");function c(r,t){const o=(0,u.default)(t),e={};return r.forEach(n=>{const i=(0,f.createValidRules)(n,{css:o})[0];i&&(e[n]={declarations:i?.declarations,stateToken:i?.stateToken})}),e}(0,l.runAsWorker)(c);
@@ -0,0 +1 @@
1
+ import{runAsWorker as i}from"synckit";import a from"../get-mastercss";import{createValidRules as l}from"@master/css-validator";function u(n,e){const s=a(e),t={};return n.forEach(o=>{const r=l(o,{css:s})[0];r&&(t[o]={declarations:r?.declarations,stateToken:r?.stateToken})}),t}i(u);export{u as runValidRules};
@@ -0,0 +1,5 @@
1
+ import { Config } from '@master/css';
2
+ export declare function runValidate(className: string, config: string | Config): {
3
+ isMasterCSS: boolean;
4
+ errors: SyntaxError[];
5
+ };
@@ -0,0 +1 @@
1
+ var g=Object.create;var a=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var C=Object.getPrototypeOf,c=Object.prototype.hasOwnProperty;var l=(r,o)=>{for(var t in o)a(r,t,{get:o[t],enumerable:!0})},s=(r,o,t,i)=>{if(o&&typeof o=="object"||typeof o=="function")for(let n of u(o))!c.call(r,n)&&n!==t&&a(r,n,{get:()=>o[n],enumerable:!(i=p(o,n))||i.enumerable});return r};var y=(r,o,t)=>(t=r!=null?g(C(r)):{},s(o||!r||!r.__esModule?a(t,"default",{value:r,enumerable:!0}):t,r)),d=r=>s(a({},"__esModule",{value:!0}),r);var x={};l(x,{runValidate:()=>S});module.exports=d(x);var e=require("synckit"),m=y(require("../get-mastercss")),f=require("@master/css-validator");function S(r,o){const t=(0,m.default)(o);return(0,f.validate)(r,{css:t})}(0,e.runAsWorker)(S);
@@ -0,0 +1 @@
1
+ import{runAsWorker as n}from"synckit";import a from"../get-mastercss";import{validate as i}from"@master/css-validator";function s(r,o){const t=a(o);return i(r,{css:t})}n(s);export{s as runValidate};
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name":"@master/eslint-plugin-css","scripts":{"build":"techor pack 'src/**/*.ts'","dev":"pnpm run build --watch --no-declare","test":"jest","type-check":"tsc --noEmit","lint":"eslint src"},"keywords":["mastercss","eslint","eslintplugin"],"license":"MIT","description":"Master CSS ESLint Plugin","author":"Aoyue Design LLC.","funding":"https://css.master.co/docs/donate","homepage":"https://css.master.co","bugs":{"url":"https://github.com/master-co/css/issues"},"repository":{"type":"git","url":"https://github.com/master-co/css.git","directory":"packages/eslint-plugin"},"sideEffects":false,"main":"./dist/index.js","types":"./dist/index.d.ts","exports":"./dist/index.js","module":"./dist/index.mjs","jsnext:main":"./dist/index.mjs","esnext":"./dist/index.mjs","files":["dist"],"publishConfig":{"access":"public"},"dependencies":{"@master/css":"^2.0.0-beta.201","@master/css-validator":"^2.0.0-beta.201","explore-config":"^2.5.19"},"devDependencies":{"@angular-eslint/template-parser":"^16.2.0","@types/node":"^20.6.0","@typescript-eslint/parser":"^5.50.0","@typescript-eslint/utils":"^6.9.0","eslint":"^8.52.0","eslint-plugin-markdown":"^3.0.1","eslint-plugin-mdx":"^2.2.0","svelte-eslint-parser":"^0.33.1","vue-eslint-parser":"^9.3.1"},"version":"2.0.0-beta.201"}
1
+ {"name":"@master/eslint-plugin-css","scripts":{"build":"techor pack 'src/**/*.ts'","dev":"pnpm run build --watch --no-declare","test":"jest","type-check":"tsc --noEmit","lint":"eslint src"},"keywords":["mastercss","eslint","eslintplugin"],"license":"MIT","description":"Master CSS ESLint Plugin","author":"Aoyue Design LLC.","funding":"https://css.master.co/docs/donate","homepage":"https://css.master.co","bugs":{"url":"https://github.com/master-co/css/issues"},"repository":{"type":"git","url":"https://github.com/master-co/css.git","directory":"packages/eslint-plugin"},"sideEffects":false,"main":"./dist/index.js","types":"./dist/index.d.ts","exports":"./dist/index.js","module":"./dist/index.mjs","jsnext:main":"./dist/index.mjs","esnext":"./dist/index.mjs","files":["dist"],"publishConfig":{"access":"public"},"dependencies":{"@master/css":"^2.0.0-beta.202","@master/css-validator":"^2.0.0-beta.202","explore-config":"^2.5.19","synckit":"^0.8.5"},"devDependencies":{"@angular-eslint/template-parser":"^16.2.0","@swc-node/register":"^1.6.8","@types/node":"^20.6.0","@typescript-eslint/parser":"^6.10.0","@typescript-eslint/utils":"^6.10.0","eslint":"^8.52.0","eslint-plugin-markdown":"^3.0.1","eslint-plugin-mdx":"^2.2.0","svelte-eslint-parser":"^0.33.1","ts-node":"^10.9.1","vue-eslint-parser":"^9.3.1"},"version":"2.0.0-beta.202"}
package/dist/utils/ast.js DELETED
@@ -1 +0,0 @@
1
- var E=Object.defineProperty;var O=Object.getOwnPropertyDescriptor;var j=Object.getOwnPropertyNames;var V=Object.prototype.hasOwnProperty;var F=(e,t)=>{for(var r in t)E(e,r,{get:t[r],enumerable:!0})},P=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let u of j(t))!V.call(e,u)&&u!==r&&E(e,u,{get:()=>t[u],enumerable:!(s=O(t,u))||s.enumerable});return e};var q=e=>P(E({},"__esModule",{value:!0}),e);var J={};F(J,{extractClassnamesFromValue:()=>y,extractRangeFromNode:()=>L,extractValueFromNode:()=>w,findLoc:()=>I,getTemplateElementBody:()=>B,getTemplateElementPrefix:()=>h,getTemplateElementSuffix:()=>R,parseNodeRecursive:()=>x});module.exports=q(J);const S=/([\t\n\f\r ]+)/;function L(e){if(e.type==="TextAttribute"&&e.name==="class")return[e.valueSpan.fullStart.offset,e.valueSpan.end.offset];switch(e.value.type){case"JSXExpressionContainer":return e.value.expression.range;default:return e.value.range}}function w(e){if(e.type==="TextAttribute"&&e.name==="class")return e.value;switch(e.value.type){case"JSXExpressionContainer":return e.value.expression.value;case"VExpressionContainer":switch(e.value.expression.type){case"ArrayExpression":return e.value.expression.elements;case"ObjectExpression":return e.value.expression.properties}return e.value.expression.value;default:return e.value.value}}function y(e){if(typeof e!="string")return{classNames:[],whitespaces:[],headSpace:!1,tailSpace:!1};const t=e.split(S);t[0]===""&&t.shift(),t[t.length-1]===""&&t.pop();const r=S.test(t[0]),s=S.test(t[t.length-1]),u=(a,f)=>r?f%2!==0:f%2===0,n=(a,f)=>r?f%2===0:f%2!==0,m=t.filter(u),l=t.filter(n);return{classNames:m,whitespaces:l,headSpace:r,tailSpace:s}}function x(e,t,r,s=!1,u=!1,n=[],m=null){let l,a,f=null,i=null,g="",v="";if(t===null){if(l=w(e),{classNames:a}=y(l),a=[...new Set(a)],a.length===0)return;const c=L(e);e.type==="TextAttribute"?(f=c[0],i=c[1]):(f=c[0]+1,i=c[1]-1),r(a,e,l,f,i,g,v)}else{if(t===void 0)return;{const c=s?!0:u;let A=!1;switch(t.type){case"TemplateLiteral":t.expressions.forEach(p=>{x(e,p,r,s,c,n)}),t.quasis.forEach(p=>{x(e,p,r,s,u,n)});return;case"ConditionalExpression":x(e,t.consequent,r,s,c,n),x(e,t.alternate,r,s,c,n);return;case"LogicalExpression":x(e,t.right,r,s,c,n);return;case"ArrayExpression":t.elements.forEach(p=>{x(e,p,r,s,c,n)});return;case"ObjectExpression":t.properties.forEach(p=>{const C=e.callee&&e.callee.name==="classnames";p.type!=="SpreadElement"&&(p.key.type==="Identifier"&&n.includes(p.key.name)||x(e,C?p.key:p.value,r,s,c,n))});return;case"Property":x(e,t.key,r,s,c,n);return;case"Literal":A=!0,l=t.value,f=t.range[0]+1,i=t.range[1]-1;break;case"SvelteLiteral":l=t.value,f=t.range[0],i=t.range[1];break;case"TemplateElement":l=t.value.raw,f=t.range[0],i=t.range[1];const T=m?.sourceCode.getText(t)??"";g=h(T,l),v=R(T,l);break}if({classNames:a}=y(l),a=[...new Set(a)],a.length===0)return;r(a,u?null:e,l,f,i,g,v)}}}function h(e,t){return e.indexOf(t)===0?"":e.split(t).shift()}function R(e,t){return e.indexOf(t)===-1?"":e.split(t).pop()}function B(e,t,r){let s=e.split(t);return s.shift(),s=s.join(t).split(r),s.pop(),s.join(r)}function I(e,t,r,s){const u=e.match(/.+(?:\r\n|\n)?/g);let n=0,m=null,l=!1;for(let a=r;a<=s;a++){const i=t[a-1].indexOf(u[n].replace(/\r\n|\n/,""));if(i!==-1){if(n===0&&(m={line:a,column:i}),n===u.length-1)return{start:m,end:{line:a,column:i+e.length}};l=!0,n++}else l&&(l=!1,n=0,m=null)}return null}
@@ -1 +0,0 @@
1
- const E=/([\t\n\f\r ]+)/;function w(e){if(e.type==="TextAttribute"&&e.name==="class")return[e.valueSpan.fullStart.offset,e.valueSpan.end.offset];switch(e.value.type){case"JSXExpressionContainer":return e.value.expression.range;default:return e.value.range}}function h(e){if(e.type==="TextAttribute"&&e.name==="class")return e.value;switch(e.value.type){case"JSXExpressionContainer":return e.value.expression.value;case"VExpressionContainer":switch(e.value.expression.type){case"ArrayExpression":return e.value.expression.elements;case"ObjectExpression":return e.value.expression.properties}return e.value.expression.value;default:return e.value.value}}function y(e){if(typeof e!="string")return{classNames:[],whitespaces:[],headSpace:!1,tailSpace:!1};const t=e.split(E);t[0]===""&&t.shift(),t[t.length-1]===""&&t.pop();const r=E.test(t[0]),s=E.test(t[t.length-1]),p=(a,u)=>r?u%2!==0:u%2===0,n=(a,u)=>r?u%2===0:u%2!==0,m=t.filter(p),l=t.filter(n);return{classNames:m,whitespaces:l,headSpace:r,tailSpace:s}}function x(e,t,r,s=!1,p=!1,n=[],m=null){let l,a,u=null,c=null,g="",v="";if(t===null){if(l=h(e),{classNames:a}=y(l),a=[...new Set(a)],a.length===0)return;const f=w(e);e.type==="TextAttribute"?(u=f[0],c=f[1]):(u=f[0]+1,c=f[1]-1),r(a,e,l,u,c,g,v)}else{if(t===void 0)return;{const f=s?!0:p;let T=!1;switch(t.type){case"TemplateLiteral":t.expressions.forEach(i=>{x(e,i,r,s,f,n)}),t.quasis.forEach(i=>{x(e,i,r,s,p,n)});return;case"ConditionalExpression":x(e,t.consequent,r,s,f,n),x(e,t.alternate,r,s,f,n);return;case"LogicalExpression":x(e,t.right,r,s,f,n);return;case"ArrayExpression":t.elements.forEach(i=>{x(e,i,r,s,f,n)});return;case"ObjectExpression":t.properties.forEach(i=>{const L=e.callee&&e.callee.name==="classnames";i.type!=="SpreadElement"&&(i.key.type==="Identifier"&&n.includes(i.key.name)||x(e,L?i.key:i.value,r,s,f,n))});return;case"Property":x(e,t.key,r,s,f,n);return;case"Literal":T=!0,l=t.value,u=t.range[0]+1,c=t.range[1]-1;break;case"SvelteLiteral":l=t.value,u=t.range[0],c=t.range[1];break;case"TemplateElement":l=t.value.raw,u=t.range[0],c=t.range[1];const S=m?.sourceCode.getText(t)??"";g=R(S,l),v=A(S,l);break}if({classNames:a}=y(l),a=[...new Set(a)],a.length===0)return;r(a,p?null:e,l,u,c,g,v)}}}function R(e,t){return e.indexOf(t)===0?"":e.split(t).shift()}function A(e,t){return e.indexOf(t)===-1?"":e.split(t).pop()}function V(e,t,r){let s=e.split(t);return s.shift(),s=s.join(t).split(r),s.pop(),s.join(r)}function F(e,t,r,s){const p=e.match(/.+(?:\r\n|\n)?/g);let n=0,m=null,l=!1;for(let a=r;a<=s;a++){const c=t[a-1].indexOf(p[n].replace(/\r\n|\n/,""));if(c!==-1){if(n===0&&(m={line:a,column:c}),n===p.length-1)return{start:m,end:{line:a,column:c+e.length}};l=!0,n++}else l&&(l=!1,n=0,m=null)}return null}export{y as extractClassnamesFromValue,w as extractRangeFromNode,h as extractValueFromNode,F as findLoc,V as getTemplateElementBody,R as getTemplateElementPrefix,A as getTemplateElementSuffix,x as parseNodeRecursive};