eslint-plugin-better-tailwindcss 3.3.1 → 3.4.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 (56) hide show
  1. package/README.md +2 -2
  2. package/lib/cjs/configs/config.d.ts +8 -4
  3. package/lib/cjs/configs/config.d.ts.map +1 -1
  4. package/lib/cjs/configs/config.js +12 -8
  5. package/lib/cjs/configs/config.js.map +1 -1
  6. package/lib/cjs/rules/deprecated/multiline.d.ts +3 -0
  7. package/lib/cjs/rules/deprecated/multiline.d.ts.map +1 -0
  8. package/lib/cjs/rules/deprecated/multiline.js +27 -0
  9. package/lib/cjs/rules/deprecated/multiline.js.map +1 -0
  10. package/lib/cjs/rules/deprecated/sort-classes.d.ts +3 -0
  11. package/lib/cjs/rules/deprecated/sort-classes.d.ts.map +1 -0
  12. package/lib/cjs/rules/deprecated/sort-classes.js +26 -0
  13. package/lib/cjs/rules/deprecated/sort-classes.js.map +1 -0
  14. package/lib/cjs/rules/enforce-consistent-class-order.d.ts +19 -0
  15. package/lib/cjs/rules/enforce-consistent-class-order.d.ts.map +1 -0
  16. package/lib/cjs/rules/enforce-consistent-class-order.js +157 -0
  17. package/lib/cjs/rules/enforce-consistent-class-order.js.map +1 -0
  18. package/lib/cjs/rules/enforce-consistent-line-wrapping.d.ts +15 -0
  19. package/lib/cjs/rules/enforce-consistent-line-wrapping.d.ts.map +1 -0
  20. package/lib/cjs/rules/enforce-consistent-line-wrapping.js +566 -0
  21. package/lib/cjs/rules/enforce-consistent-line-wrapping.js.map +1 -0
  22. package/lib/cjs/rules/multiline.d.ts +1 -1
  23. package/lib/cjs/rules/no-restricted-classes.d.ts +6 -4
  24. package/lib/cjs/rules/no-restricted-classes.d.ts.map +1 -1
  25. package/lib/cjs/rules/no-restricted-classes.js +28 -3
  26. package/lib/cjs/rules/no-restricted-classes.js.map +1 -1
  27. package/lib/cjs/rules/no-unnecessary-whitespace.js +1 -1
  28. package/lib/cjs/rules/no-unnecessary-whitespace.js.map +1 -1
  29. package/lib/esm/configs/config.d.ts +8 -4
  30. package/lib/esm/configs/config.d.ts.map +1 -1
  31. package/lib/esm/configs/config.js +12 -8
  32. package/lib/esm/configs/config.js.map +1 -1
  33. package/lib/esm/rules/deprecated/multiline.d.ts +3 -0
  34. package/lib/esm/rules/deprecated/multiline.d.ts.map +1 -0
  35. package/lib/esm/rules/deprecated/multiline.js +24 -0
  36. package/lib/esm/rules/deprecated/multiline.js.map +1 -0
  37. package/lib/esm/rules/deprecated/sort-classes.d.ts +3 -0
  38. package/lib/esm/rules/deprecated/sort-classes.d.ts.map +1 -0
  39. package/lib/esm/rules/deprecated/sort-classes.js +23 -0
  40. package/lib/esm/rules/deprecated/sort-classes.js.map +1 -0
  41. package/lib/esm/rules/enforce-consistent-class-order.d.ts +19 -0
  42. package/lib/esm/rules/enforce-consistent-class-order.d.ts.map +1 -0
  43. package/lib/esm/rules/enforce-consistent-class-order.js +153 -0
  44. package/lib/esm/rules/enforce-consistent-class-order.js.map +1 -0
  45. package/lib/esm/rules/enforce-consistent-line-wrapping.d.ts +15 -0
  46. package/lib/esm/rules/enforce-consistent-line-wrapping.d.ts.map +1 -0
  47. package/lib/esm/rules/enforce-consistent-line-wrapping.js +563 -0
  48. package/lib/esm/rules/enforce-consistent-line-wrapping.js.map +1 -0
  49. package/lib/esm/rules/multiline.d.ts +1 -1
  50. package/lib/esm/rules/no-restricted-classes.d.ts +6 -4
  51. package/lib/esm/rules/no-restricted-classes.d.ts.map +1 -1
  52. package/lib/esm/rules/no-restricted-classes.js +29 -4
  53. package/lib/esm/rules/no-restricted-classes.js.map +1 -1
  54. package/lib/esm/rules/no-unnecessary-whitespace.js +1 -1
  55. package/lib/esm/rules/no-unnecessary-whitespace.js.map +1 -1
  56. package/package.json +5 -5
package/README.md CHANGED
@@ -147,9 +147,9 @@ The table below lists all available rules, the Tailwind CSS versions they suppor
147
147
 
148
148
  | Name | Description | `tw3` | `tw4` | `recommended` | autofix |
149
149
  | :--- | :--- | :---: | :---: | :---: | :---: |
150
- | [multiline](docs/rules/multiline.md) | Enforce consistent line wrapping for tailwind classes. | ✔ | ✔ | ✔ | ✔ |
150
+ | [enforce-consistent-line-wrapping](docs/rules/enforce-consistent-line-wrapping.md) | Enforce consistent line wrapping for tailwind classes. | ✔ | ✔ | ✔ | ✔ |
151
151
  | [no-unnecessary-whitespace](docs/rules/no-unnecessary-whitespace.md) | Disallow unnecessary whitespace in tailwind classes. | ✔ | ✔ | ✔ | ✔ |
152
- | [sort-classes](docs/rules/sort-classes.md) | Enforce a consistent order for tailwind classes. | ✔ | ✔ | ✔ | ✔ |
152
+ | [enforce-consistent-class-order](docs/rules/enforce-consistent-class-order.md) | Enforce a consistent order for tailwind classes. | ✔ | ✔ | ✔ | ✔ |
153
153
  | [no-duplicate-classes](docs/rules/no-duplicate-classes.md) | Remove duplicate classes. | ✔ | ✔ | ✔ | ✔ |
154
154
  | [enforce-consistent-variable-syntax](docs/rules/enforce-consistent-variable-syntax.md) | Enforce consistent variable syntax. | ✔ | ✔ | | ✔ |
155
155
 
@@ -1,11 +1,13 @@
1
+ import { multiline } from "../rules/deprecated/multiline.js";
2
+ import { sortClasses } from "../rules/deprecated/sort-classes.js";
3
+ import { enforceConsistentClassOrder } from "../rules/enforce-consistent-class-order.js";
4
+ import { enforceConsistentLineWrapping } from "../rules/enforce-consistent-line-wrapping.js";
1
5
  import { enforceConsistentVariableSyntax } from "../rules/enforce-consistent-variable-syntax.js";
2
- import { multiline } from "../rules/multiline.js";
3
6
  import { noConflictingClasses } from "../rules/no-conflicting-classes.js";
4
7
  import { noDuplicateClasses } from "../rules/no-duplicate-classes.js";
5
8
  import { noRestrictedClasses } from "../rules/no-restricted-classes.js";
6
9
  import { noUnnecessaryWhitespace } from "../rules/no-unnecessary-whitespace.js";
7
10
  import { noUnregisteredClasses } from "../rules/no-unregistered-classes.js";
8
- import { sortClasses } from "../rules/sort-classes.js";
9
11
  export declare const config: {
10
12
  configs: {
11
13
  [x: string]: {
@@ -19,14 +21,16 @@ export declare const config: {
19
21
  name: string;
20
22
  };
21
23
  rules: {
22
- [enforceConsistentVariableSyntax.name]: import("eslint").Rule.RuleModule;
23
24
  [multiline.name]: import("eslint").Rule.RuleModule;
25
+ [sortClasses.name]: import("eslint").Rule.RuleModule;
26
+ [enforceConsistentClassOrder.name]: import("eslint").Rule.RuleModule;
27
+ [enforceConsistentLineWrapping.name]: import("eslint").Rule.RuleModule;
28
+ [enforceConsistentVariableSyntax.name]: import("eslint").Rule.RuleModule;
24
29
  [noConflictingClasses.name]: import("eslint").Rule.RuleModule;
25
30
  [noDuplicateClasses.name]: import("eslint").Rule.RuleModule;
26
31
  [noRestrictedClasses.name]: import("eslint").Rule.RuleModule;
27
32
  [noUnnecessaryWhitespace.name]: import("eslint").Rule.RuleModule;
28
33
  [noUnregisteredClasses.name]: import("eslint").Rule.RuleModule;
29
- [sortClasses.name]: import("eslint").Rule.RuleModule;
30
34
  };
31
35
  };
32
36
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/configs/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,gEAAgE,CAAC;AACjH,OAAO,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oDAAoD,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAE,MAAM,kDAAkD,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAC;AACxF,OAAO,EAAE,uBAAuB,EAAE,MAAM,uDAAuD,CAAC;AAChG,OAAO,EAAE,qBAAqB,EAAE,MAAM,qDAAqD,CAAC;AAC5F,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AA+DvE,eAAO,MAAM,MAAM;;;;;;;;;;;;;QArDf,CAAC,+BAA+B,CAAC,IAAI,CAAC,mCAAsC;QAC5E,CAAC,SAAS,CAAC,IAAI,CAAC,mCAAgB;QAChC,CAAC,oBAAoB,CAAC,IAAI,CAAC,mCAA2B;QACtD,CAAC,kBAAkB,CAAC,IAAI,CAAC,mCAAyB;QAClD,CAAC,mBAAmB,CAAC,IAAI,CAAC,mCAA0B;QACpD,CAAC,uBAAuB,CAAC,IAAI,CAAC,mCAA8B;QAC5D,CAAC,qBAAqB,CAAC,IAAI,CAAC,mCAA4B;QACxD,CAAC,WAAW,CAAC,IAAI,CAAC,mCAAkB;;CAyDf,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/configs/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kDAAkD,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,qDAAqD,CAAC;AAClF,OAAO,EAAE,2BAA2B,EAAE,MAAM,4DAA4D,CAAC;AACzG,OAAO,EAAE,6BAA6B,EAAE,MAAM,8DAA8D,CAAC;AAC7G,OAAO,EAAE,+BAA+B,EAAE,MAAM,gEAAgE,CAAC;AACjH,OAAO,EAAE,oBAAoB,EAAE,MAAM,oDAAoD,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAE,MAAM,kDAAkD,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAC;AACxF,OAAO,EAAE,uBAAuB,EAAE,MAAM,uDAAuD,CAAC;AAChG,OAAO,EAAE,qBAAqB,EAAE,MAAM,qDAAqD,CAAC;AAkE5F,eAAO,MAAM,MAAM;;;;;;;;;;;;;QAxDf,CAAC,SAAS,CAAC,IAAI,CAAC,mCAAgB;QAChC,CAAC,WAAW,CAAC,IAAI,CAAC,mCAAkB;QAEpC,CAAC,2BAA2B,CAAC,IAAI,CAAC,mCAAkC;QACpE,CAAC,6BAA6B,CAAC,IAAI,CAAC,mCAAoC;QACxE,CAAC,+BAA+B,CAAC,IAAI,CAAC,mCAAsC;QAC5E,CAAC,oBAAoB,CAAC,IAAI,CAAC,mCAA2B;QACtD,CAAC,kBAAkB,CAAC,IAAI,CAAC,mCAAyB;QAClD,CAAC,mBAAmB,CAAC,IAAI,CAAC,mCAA0B;QACpD,CAAC,uBAAuB,CAAC,IAAI,CAAC,mCAA8B;QAC5D,CAAC,qBAAqB,CAAC,IAAI,CAAC,mCAA4B;;CAyDnC,CAAC"}
@@ -1,36 +1,40 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.config = void 0;
4
+ const multiline_js_1 = require("../rules/deprecated/multiline.js");
5
+ const sort_classes_js_1 = require("../rules/deprecated/sort-classes.js");
6
+ const enforce_consistent_class_order_js_1 = require("../rules/enforce-consistent-class-order.js");
7
+ const enforce_consistent_line_wrapping_js_1 = require("../rules/enforce-consistent-line-wrapping.js");
4
8
  const enforce_consistent_variable_syntax_js_1 = require("../rules/enforce-consistent-variable-syntax.js");
5
- const multiline_js_1 = require("../rules/multiline.js");
6
9
  const no_conflicting_classes_js_1 = require("../rules/no-conflicting-classes.js");
7
10
  const no_duplicate_classes_js_1 = require("../rules/no-duplicate-classes.js");
8
11
  const no_restricted_classes_js_1 = require("../rules/no-restricted-classes.js");
9
12
  const no_unnecessary_whitespace_js_1 = require("../rules/no-unnecessary-whitespace.js");
10
13
  const no_unregistered_classes_js_1 = require("../rules/no-unregistered-classes.js");
11
- const sort_classes_js_1 = require("../rules/sort-classes.js");
12
14
  const plugin = {
13
15
  meta: {
14
16
  name: "better-tailwindcss"
15
17
  },
16
18
  rules: {
17
- [enforce_consistent_variable_syntax_js_1.enforceConsistentVariableSyntax.name]: enforce_consistent_variable_syntax_js_1.enforceConsistentVariableSyntax.rule,
18
19
  [multiline_js_1.multiline.name]: multiline_js_1.multiline.rule,
20
+ [sort_classes_js_1.sortClasses.name]: sort_classes_js_1.sortClasses.rule,
21
+ [enforce_consistent_class_order_js_1.enforceConsistentClassOrder.name]: enforce_consistent_class_order_js_1.enforceConsistentClassOrder.rule,
22
+ [enforce_consistent_line_wrapping_js_1.enforceConsistentLineWrapping.name]: enforce_consistent_line_wrapping_js_1.enforceConsistentLineWrapping.rule,
23
+ [enforce_consistent_variable_syntax_js_1.enforceConsistentVariableSyntax.name]: enforce_consistent_variable_syntax_js_1.enforceConsistentVariableSyntax.rule,
19
24
  [no_conflicting_classes_js_1.noConflictingClasses.name]: no_conflicting_classes_js_1.noConflictingClasses.rule,
20
25
  [no_duplicate_classes_js_1.noDuplicateClasses.name]: no_duplicate_classes_js_1.noDuplicateClasses.rule,
21
26
  [no_restricted_classes_js_1.noRestrictedClasses.name]: no_restricted_classes_js_1.noRestrictedClasses.rule,
22
27
  [no_unnecessary_whitespace_js_1.noUnnecessaryWhitespace.name]: no_unnecessary_whitespace_js_1.noUnnecessaryWhitespace.rule,
23
- [no_unregistered_classes_js_1.noUnregisteredClasses.name]: no_unregistered_classes_js_1.noUnregisteredClasses.rule,
24
- [sort_classes_js_1.sortClasses.name]: sort_classes_js_1.sortClasses.rule
28
+ [no_unregistered_classes_js_1.noUnregisteredClasses.name]: no_unregistered_classes_js_1.noUnregisteredClasses.rule
25
29
  }
26
30
  };
27
31
  const plugins = [plugin.meta.name];
28
32
  const getStylisticRules = (severity = "warn") => {
29
33
  return {
30
- [`${plugin.meta.name}/${multiline_js_1.multiline.name}`]: severity,
34
+ [`${plugin.meta.name}/${enforce_consistent_class_order_js_1.enforceConsistentClassOrder.name}`]: severity,
35
+ [`${plugin.meta.name}/${enforce_consistent_line_wrapping_js_1.enforceConsistentLineWrapping.name}`]: severity,
31
36
  [`${plugin.meta.name}/${no_duplicate_classes_js_1.noDuplicateClasses.name}`]: severity,
32
- [`${plugin.meta.name}/${no_unnecessary_whitespace_js_1.noUnnecessaryWhitespace.name}`]: severity,
33
- [`${plugin.meta.name}/${sort_classes_js_1.sortClasses.name}`]: severity
37
+ [`${plugin.meta.name}/${no_unnecessary_whitespace_js_1.noUnnecessaryWhitespace.name}`]: severity
34
38
  };
35
39
  };
36
40
  const getCorrectnessRules = (severity = "error") => {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/configs/config.ts"],"names":[],"mappings":";;;AAAA,0HAAiH;AACjH,wEAAkE;AAClE,kGAA0F;AAC1F,8FAAsF;AACtF,gGAAwF;AACxF,wGAAgG;AAChG,oGAA4F;AAC5F,8EAAuE;AAKvE,MAAM,MAAM,GAAG;IACb,IAAI,EAAE;QACJ,IAAI,EAAE,oBAAoB;KAC3B;IACD,KAAK,EAAE;QACL,CAAC,uEAA+B,CAAC,IAAI,CAAC,EAAE,uEAA+B,CAAC,IAAI;QAC5E,CAAC,wBAAS,CAAC,IAAI,CAAC,EAAE,wBAAS,CAAC,IAAI;QAChC,CAAC,gDAAoB,CAAC,IAAI,CAAC,EAAE,gDAAoB,CAAC,IAAI;QACtD,CAAC,4CAAkB,CAAC,IAAI,CAAC,EAAE,4CAAkB,CAAC,IAAI;QAClD,CAAC,8CAAmB,CAAC,IAAI,CAAC,EAAE,8CAAmB,CAAC,IAAI;QACpD,CAAC,sDAAuB,CAAC,IAAI,CAAC,EAAE,sDAAuB,CAAC,IAAI;QAC5D,CAAC,kDAAqB,CAAC,IAAI,CAAC,EAAE,kDAAqB,CAAC,IAAI;QACxD,CAAC,6BAAW,CAAC,IAAI,CAAC,EAAE,6BAAW,CAAC,IAAI;KACrC;CACsB,CAAC;AAE1B,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAGnC,MAAM,iBAAiB,GAAG,CAAC,WAA6B,MAAM,EAAE,EAAE;IAChE,OAAO;QACL,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,wBAAS,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ;QACnD,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,4CAAkB,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ;QAC5D,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,sDAAuB,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ;QACjE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,6BAAW,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ;KACtD,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,WAA6B,OAAO,EAAE,EAAE;IACnE,OAAO;QACL,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,gDAAoB,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ;QAC9D,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,kDAAqB,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ;KAChE,CAAC;AACJ,CAAC,CAAC;AAGF,MAAM,YAAY,GAAG,CACnB,IAAY,EACZ,gBAEC,EACD,EAAE;IACF,OAAO;QACL,CAAC,GAAG,IAAI,QAAQ,CAAC,EAAE;YACjB,OAAO;YACP,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC;SACjC;QACD,CAAC,GAAG,IAAI,OAAO,CAAC,EAAE;YAChB,OAAO;YACP,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC;SAChC;QACD,CAAC,IAAI,CAAC,EAAE;YACN,OAAO;YACP,KAAK,EAAE,gBAAgB,EAAE;SAC1B;KACF,CAAC;AACJ,CAAC,CAAC;AAEW,QAAA,MAAM,GAAG;IACpB,GAAG,MAAM;IAET,OAAO,EAAE;QACP,GAAG,YAAY,CAAC,WAAW,EAAE,iBAAiB,CAAC;QAC/C,GAAG,YAAY,CAAC,aAAa,EAAE,mBAAmB,CAAC;QACnD,GAAG,YAAY,CAAC,aAAa,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC1C,GAAG,iBAAiB,CAAC,QAAQ,CAAC;YAC9B,GAAG,mBAAmB,CAAC,QAAQ,CAAC;SACjC,CAAC,CAAC;KACJ;CACsB,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/configs/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { ESLintRule } from "../../types/rule.js";
2
+ export declare const multiline: ESLintRule;
3
+ //# sourceMappingURL=multiline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multiline.d.ts","sourceRoot":"","sources":["../../../../src/rules/deprecated/multiline.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAGnE,eAAO,MAAM,SAAS,EAAE,UAqBvB,CAAC"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.multiline = void 0;
4
+ const enforce_consistent_line_wrapping_js_1 = require("../enforce-consistent-line-wrapping.js");
5
+ exports.multiline = {
6
+ ...enforce_consistent_line_wrapping_js_1.enforceConsistentLineWrapping,
7
+ name: "multiline",
8
+ rule: {
9
+ ...enforce_consistent_line_wrapping_js_1.enforceConsistentLineWrapping.rule,
10
+ meta: {
11
+ ...enforce_consistent_line_wrapping_js_1.enforceConsistentLineWrapping.rule.meta,
12
+ deprecated: {
13
+ availableUntil: "^4.0.0",
14
+ deprecatedSince: "^3.4.0",
15
+ replacedBy: [
16
+ {
17
+ message: "The rule name `multiline` is deprecated. Please use `enforce-consistent-line-wrapping` instead.",
18
+ rule: {
19
+ name: "enforce-consistent-line-wrapping"
20
+ }
21
+ }
22
+ ]
23
+ }
24
+ }
25
+ }
26
+ };
27
+ //# sourceMappingURL=multiline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multiline.js","sourceRoot":"","sources":["../../../../src/rules/deprecated/multiline.ts"],"names":[],"mappings":";;;AAAA,sHAA6G;AAKhG,QAAA,SAAS,GAAe;IACnC,GAAG,mEAA6B;IAChC,IAAI,EAAE,WAAoB;IAC1B,IAAI,EAAE;QACJ,GAAG,mEAA6B,CAAC,IAAI;QACrC,IAAI,EAAE;YACJ,GAAG,mEAA6B,CAAC,IAAI,CAAC,IAAI;YAC1C,UAAU,EAAE;gBACV,cAAc,EAAE,QAAQ;gBACxB,eAAe,EAAE,QAAQ;gBACzB,UAAU,EAAE;oBACV;wBACE,OAAO,EAAE,iGAAiG;wBAC1G,IAAI,EAAE;4BACJ,IAAI,EAAE,kCAAkC;yBACzC;qBACF;iBACF;aACF;SACF;KACF;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ESLintRule } from "../../types/rule.js";
2
+ export declare const sortClasses: ESLintRule;
3
+ //# sourceMappingURL=sort-classes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sort-classes.d.ts","sourceRoot":"","sources":["../../../../src/rules/deprecated/sort-classes.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAGnE,eAAO,MAAM,WAAW,EAAE,UAoBzB,CAAC"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sortClasses = void 0;
4
+ const enforce_consistent_class_order_js_1 = require("../enforce-consistent-class-order.js");
5
+ exports.sortClasses = {
6
+ name: "sort-classes",
7
+ rule: {
8
+ ...enforce_consistent_class_order_js_1.enforceConsistentClassOrder.rule,
9
+ meta: {
10
+ ...enforce_consistent_class_order_js_1.enforceConsistentClassOrder.rule.meta,
11
+ deprecated: {
12
+ availableUntil: "^4.0.0",
13
+ deprecatedSince: "^3.4.0",
14
+ replacedBy: [
15
+ {
16
+ message: "The rule name `sort-classes` is deprecated. Please use `enforce-consistent-class-order` instead.",
17
+ rule: {
18
+ name: "enforce-consistent-class-order"
19
+ }
20
+ }
21
+ ]
22
+ }
23
+ }
24
+ }
25
+ };
26
+ //# sourceMappingURL=sort-classes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sort-classes.js","sourceRoot":"","sources":["../../../../src/rules/deprecated/sort-classes.ts"],"names":[],"mappings":";;;AAAA,kHAAyG;AAK5F,QAAA,WAAW,GAAe;IACrC,IAAI,EAAE,cAAuB;IAC7B,IAAI,EAAE;QACJ,GAAG,+DAA2B,CAAC,IAAI;QACnC,IAAI,EAAE;YACJ,GAAG,+DAA2B,CAAC,IAAI,CAAC,IAAI;YACxC,UAAU,EAAE;gBACV,cAAc,EAAE,QAAQ;gBACxB,eAAe,EAAE,QAAQ;gBACzB,UAAU,EAAE;oBACV;wBACE,OAAO,EAAE,kGAAkG;wBAC3G,IAAI,EAAE;4BACJ,IAAI,EAAE,gCAAgC;yBACvC;qBACF;iBACF;aACF;SACF;KACF;CACF,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { Rule } from "eslint";
2
+ import type { AttributeOption, CalleeOption, ESLintRule, TagOption, VariableOption } from "../types/rule.js";
3
+ export type Options = [
4
+ Partial<AttributeOption & CalleeOption & TagOption & VariableOption & {
5
+ entryPoint?: string;
6
+ order?: "asc" | "desc" | "improved" | "official";
7
+ tailwindConfig?: string;
8
+ }>
9
+ ];
10
+ export declare const enforceConsistentClassOrder: ESLintRule<Options>;
11
+ export declare function getOptions(ctx: Rule.RuleContext): {
12
+ order: "asc" | "desc" | "improved" | "official";
13
+ attributes: any;
14
+ callees: any;
15
+ tags: any;
16
+ tailwindConfig: any;
17
+ variables: any;
18
+ };
19
+ //# sourceMappingURL=enforce-consistent-class-order.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enforce-consistent-class-order.d.ts","sourceRoot":"","sources":["../../../src/rules/enforce-consistent-class-order.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAGnC,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EACZ,UAAU,EACV,SAAS,EACT,cAAc,EACf,MAAM,kCAAkC,CAAC;AAI1C,MAAM,MAAM,OAAO,GAAG;IACpB,OAAO,CACL,eAAe,GACf,YAAY,GACZ,SAAS,GACT,cAAc,GACd;QACE,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,CAAC;QACjD,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CACF;CACF,CAAC;AAYF,eAAO,MAAM,2BAA2B,EAAE,UAAU,CAAC,OAAO,CAwC3D,CAAC;AAmHF,wBAAgB,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW;;;;;;;EAa/C"}
@@ -0,0 +1,157 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.enforceConsistentClassOrder = void 0;
4
+ exports.getOptions = getOptions;
5
+ const default_options_js_1 = require("../options/default-options.js");
6
+ const descriptions_js_1 = require("../options/descriptions.js");
7
+ const class_order_js_1 = require("../tailwindcss/class-order.js");
8
+ const options_js_1 = require("../utils/options.js");
9
+ const quotes_js_1 = require("../utils/quotes.js");
10
+ const rule_js_1 = require("../utils/rule.js");
11
+ const utils_js_1 = require("../utils/utils.js");
12
+ const defaultOptions = {
13
+ attributes: default_options_js_1.DEFAULT_ATTRIBUTE_NAMES,
14
+ callees: default_options_js_1.DEFAULT_CALLEE_NAMES,
15
+ order: "improved",
16
+ tags: default_options_js_1.DEFAULT_TAG_NAMES,
17
+ variables: default_options_js_1.DEFAULT_VARIABLE_NAMES
18
+ };
19
+ const DOCUMENTATION_URL = "https://github.com/schoero/eslint-plugin-better-tailwindcss/blob/main/docs/rules/enforce-consistent-class-order.md";
20
+ exports.enforceConsistentClassOrder = {
21
+ name: "enforce-consistent-class-order",
22
+ rule: {
23
+ create: ctx => (0, rule_js_1.createRuleListener)(ctx, getOptions(ctx), lintLiterals),
24
+ meta: {
25
+ docs: {
26
+ category: "Stylistic Issues",
27
+ description: "Enforce a consistent order for tailwind classes.",
28
+ recommended: true,
29
+ url: DOCUMENTATION_URL
30
+ },
31
+ fixable: "code",
32
+ schema: [
33
+ {
34
+ additionalProperties: false,
35
+ properties: {
36
+ ...descriptions_js_1.CALLEE_SCHEMA,
37
+ ...descriptions_js_1.ATTRIBUTE_SCHEMA,
38
+ ...descriptions_js_1.VARIABLE_SCHEMA,
39
+ ...descriptions_js_1.TAG_SCHEMA,
40
+ ...descriptions_js_1.ENTRYPOINT_SCHEMA,
41
+ ...descriptions_js_1.TAILWIND_CONFIG_SCHEMA,
42
+ order: {
43
+ default: defaultOptions.order,
44
+ description: "The algorithm to use when sorting classes.",
45
+ enum: [
46
+ "asc",
47
+ "desc",
48
+ "official",
49
+ "improved"
50
+ ],
51
+ type: "string"
52
+ }
53
+ },
54
+ type: "object"
55
+ }
56
+ ],
57
+ type: "layout"
58
+ }
59
+ }
60
+ };
61
+ function lintLiterals(ctx, literals) {
62
+ for (const literal of literals) {
63
+ const classChunks = (0, utils_js_1.splitClasses)(literal.content);
64
+ const whitespaceChunks = (0, utils_js_1.splitWhitespaces)(literal.content);
65
+ const unsortableClasses = ["", ""];
66
+ // remove sticky classes
67
+ if (literal.closingBraces && whitespaceChunks[0] === "") {
68
+ whitespaceChunks.shift();
69
+ unsortableClasses[0] = classChunks.shift() ?? "";
70
+ }
71
+ if (literal.openingBraces && whitespaceChunks[whitespaceChunks.length - 1] === "") {
72
+ whitespaceChunks.pop();
73
+ unsortableClasses[1] = classChunks.pop() ?? "";
74
+ }
75
+ const [sortedClassChunks, warnings] = sortClassNames(ctx, classChunks);
76
+ const classes = [];
77
+ for (let i = 0; i < Math.max(sortedClassChunks.length, whitespaceChunks.length); i++) {
78
+ whitespaceChunks[i] && classes.push(whitespaceChunks[i]);
79
+ sortedClassChunks[i] && classes.push(sortedClassChunks[i]);
80
+ }
81
+ const escapedClasses = (0, quotes_js_1.escapeNestedQuotes)([
82
+ unsortableClasses[0],
83
+ ...classes,
84
+ unsortableClasses[1]
85
+ ].join(""), literal.openingQuote ?? literal.closingQuote ?? "`");
86
+ const fixedClasses = [
87
+ literal.openingQuote ?? "",
88
+ literal.type === "TemplateLiteral" && literal.closingBraces ? literal.closingBraces : "",
89
+ escapedClasses,
90
+ literal.type === "TemplateLiteral" && literal.openingBraces ? literal.openingBraces : "",
91
+ literal.closingQuote ?? ""
92
+ ].join("");
93
+ if (literal.raw === fixedClasses) {
94
+ continue;
95
+ }
96
+ ctx.report({
97
+ data: {
98
+ notSorted: (0, utils_js_1.display)(literal.raw),
99
+ sorted: (0, utils_js_1.display)(fixedClasses)
100
+ },
101
+ fix(fixer) {
102
+ return fixer.replaceTextRange(literal.range, fixedClasses);
103
+ },
104
+ loc: literal.loc,
105
+ message: (0, utils_js_1.augmentMessageWithWarnings)("Incorrect class order. Expected\n\n{{ notSorted }}\n\nto be\n\n{{ sorted }}", DOCUMENTATION_URL, warnings)
106
+ });
107
+ }
108
+ }
109
+ function sortClassNames(ctx, classes) {
110
+ const { order, tailwindConfig } = getOptions(ctx);
111
+ if (order === "asc") {
112
+ return [classes.toSorted((a, b) => a.localeCompare(b))];
113
+ }
114
+ if (order === "desc") {
115
+ return [classes.toSorted((a, b) => b.localeCompare(a))];
116
+ }
117
+ const { classOrder, warnings } = (0, class_order_js_1.getClassOrder)({ classes, configPath: tailwindConfig, cwd: ctx.cwd });
118
+ const officiallySortedClasses = classOrder
119
+ .toSorted(([, a], [, z]) => {
120
+ if (a === z) {
121
+ return 0;
122
+ }
123
+ if (a === null) {
124
+ return -1;
125
+ }
126
+ if (z === null) {
127
+ return +1;
128
+ }
129
+ return +(a - z > 0n) - +(a - z < 0n);
130
+ })
131
+ .map(([className]) => className);
132
+ if (order === "official") {
133
+ return [officiallySortedClasses, warnings];
134
+ }
135
+ const groupedByVariant = new Map();
136
+ for (const className of officiallySortedClasses) {
137
+ const variant = className.match(/^.*?:/)?.[0] ?? "";
138
+ groupedByVariant.set(variant, [...groupedByVariant.get(variant) ?? [], className]);
139
+ }
140
+ return [
141
+ Array.from(groupedByVariant.entries())
142
+ .sort(([a], [b]) => a === "" ? -1 : b === "" ? 1 : 0)
143
+ .map(([, classes]) => classes)
144
+ .flat(),
145
+ warnings
146
+ ];
147
+ }
148
+ function getOptions(ctx) {
149
+ const options = ctx.options[0] ?? {};
150
+ const common = (0, options_js_1.getCommonOptions)(ctx);
151
+ const order = options.order ?? defaultOptions.order;
152
+ return {
153
+ ...common,
154
+ order
155
+ };
156
+ }
157
+ //# sourceMappingURL=enforce-consistent-class-order.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enforce-consistent-class-order.js","sourceRoot":"","sources":["../../../src/rules/enforce-consistent-class-order.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { AttributeOption, CalleeOption, ESLintRule, TagOption, VariableOption } from "../types/rule.js";
2
+ export type Options = [
3
+ Partial<AttributeOption & CalleeOption & TagOption & VariableOption & {
4
+ classesPerLine?: number;
5
+ entryPoint?: string;
6
+ group?: "emptyLine" | "never" | "newLine";
7
+ indent?: "tab" | number;
8
+ lineBreakStyle?: "unix" | "windows";
9
+ preferSingleLine?: boolean;
10
+ printWidth?: number;
11
+ tailwindConfig?: string;
12
+ }>
13
+ ];
14
+ export declare const enforceConsistentLineWrapping: ESLintRule<Options>;
15
+ //# sourceMappingURL=enforce-consistent-line-wrapping.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enforce-consistent-line-wrapping.d.ts","sourceRoot":"","sources":["../../../src/rules/enforce-consistent-line-wrapping.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EACZ,UAAU,EACV,SAAS,EACT,cAAc,EACf,MAAM,kCAAkC,CAAC;AAI1C,MAAM,MAAM,OAAO,GAAG;IACpB,OAAO,CACL,eAAe,GACf,YAAY,GACZ,SAAS,GACT,cAAc,GACd;QACE,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,WAAW,GAAG,OAAO,GAAG,SAAS,CAAC;QAC1C,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;QACxB,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACpC,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CACF;CACF,CAAC;AAqBF,eAAO,MAAM,6BAA6B,EAAE,UAAU,CAAC,OAAO,CAsE7D,CAAC"}