@sabzidev/eslint-rules 1.6.1 → 1.7.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.
Files changed (3) hide show
  1. package/README.md +3 -0
  2. package/dist/index.js +28 -23
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -135,6 +135,9 @@ const pluginsRules = {
135
135
  e: false,
136
136
  res: false,
137
137
  err: false,
138
+ opt: false,
139
+ opts: false,
140
+ btn: false,
138
141
  },
139
142
  },
140
143
  ],
package/dist/index.js CHANGED
@@ -17,7 +17,7 @@ var e = {
17
17
  },
18
18
  license: "MIT",
19
19
  author: "Abolfazl Sabzmohammadi <SabziDev@gmail.com> (https://Sabzi.Dev)",
20
- version: "1.6.1",
20
+ version: "1.7.0",
21
21
  type: "module",
22
22
  main: "./dist/index.js",
23
23
  exports: "./dist/index.js",
@@ -376,39 +376,44 @@ var e = {
376
376
  messages: { wrongOrder: "Props should be ordered!" }
377
377
  },
378
378
  create(e) {
379
- let { sourceCode: t } = e, n = new Set(l), r = (e) => /^on[A-Z]/.test(e), i = (e) => {
379
+ let { sourceCode: t } = e, n = new Set(l), r = /* @__PURE__ */ new Map([
380
+ ["className", 0],
381
+ ["style", 1],
382
+ ["activeClassName", 2],
383
+ ["activeStyle", 3]
384
+ ]), i = (e) => /^on[A-Z]/.test(e), a = (e) => {
380
385
  let t = u.indexOf(e);
381
386
  return t === -1 ? 999 : t;
382
387
  };
383
- return { JSXOpeningElement(a) {
384
- let o = a.attributes, s = o.filter((e) => e.type === "JSXSpreadAttribute"), c = o.filter((e) => e.type === "JSXAttribute");
385
- if (c.length === 0 && s.length === 0) return;
386
- let u = l.flatMap((e) => c.filter((t) => t.name.name === e)), d = c.filter((e) => r(e.name.name)).sort((e, t) => {
387
- let n = i(e.name.name), r = i(t.name.name);
388
+ return { JSXOpeningElement(o) {
389
+ let s = o.attributes, c = s.filter((e) => e.type === "JSXSpreadAttribute"), u = s.filter((e) => e.type === "JSXAttribute");
390
+ if (u.length === 0 && c.length === 0) return;
391
+ let d = l.flatMap((e) => u.filter((t) => t.name.name === e)), f = u.filter((e) => i(e.name.name)).sort((e, t) => {
392
+ let n = a(e.name.name), r = a(t.name.name);
388
393
  return n === 999 && r === 999 ? 0 : n - r;
389
- }), f = c.filter((e) => ["className", "style"].includes(e.name.name)).sort((e, t) => e.name.name === "className" && t.name.name === "style" ? -1 : +(e.name.name === "style" && t.name.name === "className")), p = c.filter((e) => {
394
+ }), p = u.filter((e) => r.has(e.name.name)).sort((e, t) => r.get(e.name.name) - r.get(t.name.name)), m = u.filter((e) => {
390
395
  let { name: t } = e.name;
391
- return !n.has(t) && !r(t) && !["className", "style"].includes(t);
392
- }), m = [
393
- ...u,
394
- ...p,
396
+ return !n.has(t) && !i(t) && !r.has(e.name.name);
397
+ }), h = [
395
398
  ...d,
399
+ ...m,
396
400
  ...f,
397
- ...s
398
- ], h = !1, g = [];
399
- for (let e of o) (e.type === "JSXAttribute" || e.type === "JSXSpreadAttribute") && g.push(e);
400
- if (g.length === m.length) {
401
- for (let [e, t] of g.entries()) if (t !== m[e]) {
402
- h = !0;
401
+ ...p,
402
+ ...c
403
+ ], g = !1, _ = [];
404
+ for (let e of s) (e.type === "JSXAttribute" || e.type === "JSXSpreadAttribute") && _.push(e);
405
+ if (_.length === h.length) {
406
+ for (let [e, t] of _.entries()) if (t !== h[e]) {
407
+ g = !0;
403
408
  break;
404
409
  }
405
- } else h = !0;
406
- if (!h) return;
407
- let _ = `<${t.getText(a.name)} ${m.map((e) => t.getText(e)).join(" ")}${a.selfClosing ? " />" : ">"}`;
410
+ } else g = !0;
411
+ if (!g) return;
412
+ let v = `<${t.getText(o.name)} ${h.map((e) => t.getText(e)).join(" ")}${o.selfClosing ? " />" : ">"}`;
408
413
  e.report({
409
- node: a,
414
+ node: o,
410
415
  messageId: "wrongOrder",
411
- fix: (e) => e.replaceTextRange([a.range[0], a.range[1]], _)
416
+ fix: (e) => e.replaceTextRange([o.range[0], o.range[1]], v)
412
417
  });
413
418
  } };
414
419
  }
package/package.json CHANGED
@@ -17,7 +17,7 @@
17
17
  },
18
18
  "license": "MIT",
19
19
  "author": "Abolfazl Sabzmohammadi <SabziDev@gmail.com> (https://Sabzi.Dev)",
20
- "version": "1.6.1",
20
+ "version": "1.7.0",
21
21
  "type": "module",
22
22
  "main": "./dist/index.js",
23
23
  "exports": "./dist/index.js",