eslint-plugin-better-tailwindcss 3.0.0 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -44
- package/lib/cjs/configs/config.d.ts +2 -1
- package/lib/cjs/configs/config.d.ts.map +1 -1
- package/lib/cjs/configs/config.js +2 -3
- package/lib/cjs/configs/config.js.map +1 -1
- package/lib/cjs/options/default-options.d.ts.map +1 -1
- package/lib/cjs/options/default-options.js +11 -0
- package/lib/cjs/options/default-options.js.map +1 -1
- package/lib/cjs/parsers/jsx.d.ts.map +1 -1
- package/lib/cjs/parsers/jsx.js +14 -2
- package/lib/cjs/parsers/jsx.js.map +1 -1
- package/lib/cjs/rules/enforce-consistent-variable-syntax.d.ts +17 -0
- package/lib/cjs/rules/enforce-consistent-variable-syntax.d.ts.map +1 -0
- package/lib/cjs/rules/enforce-consistent-variable-syntax.js +199 -0
- package/lib/cjs/rules/enforce-consistent-variable-syntax.js.map +1 -0
- package/lib/cjs/rules/no-conflicting-classes.d.ts +0 -1
- package/lib/cjs/rules/no-conflicting-classes.d.ts.map +1 -1
- package/lib/cjs/rules/no-conflicting-classes.js +2 -6
- package/lib/cjs/rules/no-conflicting-classes.js.map +1 -1
- package/lib/cjs/rules/no-duplicate-classes.js +1 -1
- package/lib/cjs/rules/no-duplicate-classes.js.map +1 -1
- package/lib/cjs/utils/rule.d.ts.map +1 -1
- package/lib/cjs/utils/rule.js +0 -4
- package/lib/cjs/utils/rule.js.map +1 -1
- package/lib/cjs/utils/utils.d.ts +1 -1
- package/lib/cjs/utils/utils.d.ts.map +1 -1
- package/lib/cjs/utils/utils.js +4 -2
- package/lib/cjs/utils/utils.js.map +1 -1
- package/lib/esm/configs/config.d.ts +2 -1
- package/lib/esm/configs/config.d.ts.map +1 -1
- package/lib/esm/configs/config.js +2 -3
- package/lib/esm/configs/config.js.map +1 -1
- package/lib/esm/options/default-options.d.ts.map +1 -1
- package/lib/esm/options/default-options.js +11 -0
- package/lib/esm/options/default-options.js.map +1 -1
- package/lib/esm/parsers/jsx.d.ts.map +1 -1
- package/lib/esm/parsers/jsx.js +14 -2
- package/lib/esm/parsers/jsx.js.map +1 -1
- package/lib/esm/rules/enforce-consistent-variable-syntax.d.ts +17 -0
- package/lib/esm/rules/enforce-consistent-variable-syntax.d.ts.map +1 -0
- package/lib/esm/rules/enforce-consistent-variable-syntax.js +195 -0
- package/lib/esm/rules/enforce-consistent-variable-syntax.js.map +1 -0
- package/lib/esm/rules/no-conflicting-classes.d.ts +0 -1
- package/lib/esm/rules/no-conflicting-classes.d.ts.map +1 -1
- package/lib/esm/rules/no-conflicting-classes.js +2 -6
- package/lib/esm/rules/no-conflicting-classes.js.map +1 -1
- package/lib/esm/rules/no-duplicate-classes.js +1 -1
- package/lib/esm/rules/no-duplicate-classes.js.map +1 -1
- package/lib/esm/utils/rule.d.ts.map +1 -1
- package/lib/esm/utils/rule.js +0 -4
- package/lib/esm/utils/rule.js.map +1 -1
- package/lib/esm/utils/utils.d.ts +1 -1
- package/lib/esm/utils/utils.d.ts.map +1 -1
- package/lib/esm/utils/utils.js +4 -2
- package/lib/esm/utils/utils.js.map +1 -1
- package/package.json +13 -12
package/README.md
CHANGED
|
@@ -12,48 +12,12 @@
|
|
|
12
12
|
<br/>
|
|
13
13
|
|
|
14
14
|
<div align="center">
|
|
15
|
-
<a alt="GitHub license" href="https://github.com/schoero/eslint-plugin-better-tailwindcss/blob/main/LICENSE">
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
</a>
|
|
22
|
-
<a alt="npm version" href="https://www.npmjs.com/package/eslint-plugin-better-tailwindcss?activeTab=versions">
|
|
23
|
-
<picture>
|
|
24
|
-
<source media="(prefers-color-scheme: dark)" srcset="https://img.shields.io/npm/v/eslint-plugin-better-tailwindcss?style=flat-square&labelColor=32363B&color=ffffff">
|
|
25
|
-
<source media="(prefers-color-scheme: light)" srcset="https://img.shields.io/npm/v/eslint-plugin-better-tailwindcss?style=flat-square&labelColor=EBEEF2&color=000000">
|
|
26
|
-
<img alt="eslint-plugin-better-tailwindcss logo" src="https://img.shields.io/npm/v/eslint-plugin-better-tailwindcss?style=flat-square&labelColor=EBEEF2&color=000000">
|
|
27
|
-
</picture>
|
|
28
|
-
</a>
|
|
29
|
-
<a alt="GitHub issues" href="https://github.com/schoero/eslint-plugin-better-tailwindcss/issues">
|
|
30
|
-
<picture>
|
|
31
|
-
<source media="(prefers-color-scheme: dark)" srcset="https://img.shields.io/github/issues/schoero/eslint-plugin-better-tailwindcss?style=flat-square&labelColor=32363B&color=ffffff">
|
|
32
|
-
<source media="(prefers-color-scheme: light)" srcset="https://img.shields.io/github/issues/schoero/eslint-plugin-better-tailwindcss?style=flat-square&labelColor=EBEEF2&color=000000">
|
|
33
|
-
<img alt="eslint-plugin-better-tailwindcss logo" src="https://img.shields.io/github/issues/schoero/eslint-plugin-better-tailwindcss?style=flat-square&labelColor=EBEEF2&color=000000">
|
|
34
|
-
</picture>
|
|
35
|
-
</a>
|
|
36
|
-
<a alt="npm total downloads" href="https://www.npmjs.com/package/eslint-plugin-better-tailwindcss?activeTab=readme">
|
|
37
|
-
<picture>
|
|
38
|
-
<source media="(prefers-color-scheme: dark)" srcset="https://img.shields.io/npm/dt/eslint-plugin-better-tailwindcss?style=flat-square&labelColor=32363B&color=ffffff">
|
|
39
|
-
<source media="(prefers-color-scheme: light)" srcset="https://img.shields.io/npm/dt/eslint-plugin-better-tailwindcss?style=flat-square&labelColor=EBEEF2&color=000000">
|
|
40
|
-
<img alt="eslint-plugin-better-tailwindcss logo" src="https://img.shields.io/npm/dt/eslint-plugin-better-tailwindcss?style=flat-square&labelColor=EBEEF2&color=000000">
|
|
41
|
-
</picture>
|
|
42
|
-
</a>
|
|
43
|
-
<a alt="GitHub repo stars" href="https://github.com/schoero/eslint-plugin-better-tailwindcss/stargazers">
|
|
44
|
-
<picture>
|
|
45
|
-
<source media="(prefers-color-scheme: dark)" srcset="https://img.shields.io/github/stars/schoero/eslint-plugin-better-tailwindcss?style=flat-square&labelColor=32363B&color=ffffff">
|
|
46
|
-
<source media="(prefers-color-scheme: light)" srcset="https://img.shields.io/github/stars/schoero/eslint-plugin-better-tailwindcss?style=flat-square&labelColor=EBEEF2&color=000000">
|
|
47
|
-
<img alt="eslint-plugin-better-tailwindcss logo" src="https://img.shields.io/github/stars/schoero/eslint-plugin-better-tailwindcss?style=flat-square&labelColor=EBEEF2&color=000000">
|
|
48
|
-
</picture>
|
|
49
|
-
</a>
|
|
50
|
-
<a alt="GitHub workflow status" href="https://github.com/schoero/eslint-plugin-better-tailwindcss/actions?query=workflow%3ACI">
|
|
51
|
-
<picture>
|
|
52
|
-
<source media="(prefers-color-scheme: dark)" srcset="https://img.shields.io/github/actions/workflow/status/schoero/eslint-plugin-better-tailwindcss/ci.yml?event=push&style=flat-square&labelColor=32363B&color=ffffff">
|
|
53
|
-
<source media="(prefers-color-scheme: light)" srcset="https://img.shields.io/github/actions/workflow/status/schoero/eslint-plugin-better-tailwindcss/ci.yml?event=push&style=flat-square&labelColor=EBEEF2&color=000000">
|
|
54
|
-
<img alt="eslint-plugin-better-tailwindcss logo" src="https://img.shields.io/github/actions/workflow/status/schoero/eslint-plugin-better-tailwindcss/ci.yml?event=push&style=flat-square&labelColor=EBEEF2&color=000000">
|
|
55
|
-
</picture>
|
|
56
|
-
</a>
|
|
15
|
+
<a alt="GitHub license" href="https://github.com/schoero/eslint-plugin-better-tailwindcss/blob/main/LICENSE"><picture><source media="(prefers-color-scheme: dark)" srcset="https://img.shields.io/github/license/schoero/eslint-plugin-better-tailwindcss?style=flat-square&labelColor=32363B&color=ffffff" /><source media="(prefers-color-scheme: light)" srcset="https://img.shields.io/github/license/schoero/eslint-plugin-better-tailwindcss?style=flat-square&labelColor=EBEEF2&color=000000" /><img alt="eslint-plugin-better-tailwindcss logo" src="https://img.shields.io/github/license/schoero/eslint-plugin-better-tailwindcss?style=flat-square&labelColor=EBEEF2&color=000000" /></picture></a>
|
|
16
|
+
<a alt="npm version" href="https://www.npmjs.com/package/eslint-plugin-better-tailwindcss?activeTab=versions"><picture><source media="(prefers-color-scheme: dark)" srcset="https://img.shields.io/npm/v/eslint-plugin-better-tailwindcss?style=flat-square&labelColor=32363B&color=ffffff" /><source media="(prefers-color-scheme: light)" srcset="https://img.shields.io/npm/v/eslint-plugin-better-tailwindcss?style=flat-square&labelColor=EBEEF2&color=000000" /><img alt="eslint-plugin-better-tailwindcss logo" src="https://img.shields.io/npm/v/eslint-plugin-better-tailwindcss?style=flat-square&labelColor=EBEEF2&color=000000" /></picture></a>
|
|
17
|
+
<a alt="GitHub issues" href="https://github.com/schoero/eslint-plugin-better-tailwindcss/issues"><picture><source media="(prefers-color-scheme: dark)" srcset="https://img.shields.io/github/issues/schoero/eslint-plugin-better-tailwindcss?style=flat-square&labelColor=32363B&color=ffffff" /><source media="(prefers-color-scheme: light)" srcset="https://img.shields.io/github/issues/schoero/eslint-plugin-better-tailwindcss?style=flat-square&labelColor=EBEEF2&color=000000" /><img alt="eslint-plugin-better-tailwindcss logo" src="https://img.shields.io/github/issues/schoero/eslint-plugin-better-tailwindcss?style=flat-square&labelColor=EBEEF2&color=000000" /></picture></a>
|
|
18
|
+
<a alt="npm total downloads" href="https://www.npmjs.com/package/eslint-plugin-better-tailwindcss?activeTab=readme"><picture><source media="(prefers-color-scheme: dark)" srcset="https://img.shields.io/npm/dt/eslint-plugin-better-tailwindcss?style=flat-square&labelColor=32363B&color=ffffff" /><source media="(prefers-color-scheme: light)" srcset="https://img.shields.io/npm/dt/eslint-plugin-better-tailwindcss?style=flat-square&labelColor=EBEEF2&color=000000" /><img alt="eslint-plugin-better-tailwindcss logo" src="https://img.shields.io/npm/dt/eslint-plugin-better-tailwindcss?style=flat-square&labelColor=EBEEF2&color=000000" /></picture></a>
|
|
19
|
+
<a alt="GitHub repo stars" href="https://github.com/schoero/eslint-plugin-better-tailwindcss/stargazers"><picture><source media="(prefers-color-scheme: dark)" srcset="https://img.shields.io/github/stars/schoero/eslint-plugin-better-tailwindcss?style=flat-square&labelColor=32363B&color=ffffff" /><source media="(prefers-color-scheme: light)" srcset="https://img.shields.io/github/stars/schoero/eslint-plugin-better-tailwindcss?style=flat-square&labelColor=EBEEF2&color=000000" /><img alt="eslint-plugin-better-tailwindcss logo" src="https://img.shields.io/github/stars/schoero/eslint-plugin-better-tailwindcss?style=flat-square&labelColor=EBEEF2&color=000000"/></picture></a>
|
|
20
|
+
<a alt="GitHub workflow status" href="https://github.com/schoero/eslint-plugin-better-tailwindcss/actions?query=workflow%3ACI"><picture><source media="(prefers-color-scheme: dark)" srcset="https://img.shields.io/github/actions/workflow/status/schoero/eslint-plugin-better-tailwindcss/ci.yml?event=push&style=flat-square&labelColor=32363B&color=ffffff" /><source media="(prefers-color-scheme: light)" srcset="https://img.shields.io/github/actions/workflow/status/schoero/eslint-plugin-better-tailwindcss/ci.yml?event=push&style=flat-square&labelColor=EBEEF2&color=000000" /><img alt="eslint-plugin-better-tailwindcss logo" src="https://img.shields.io/github/actions/workflow/status/schoero/eslint-plugin-better-tailwindcss/ci.yml?event=push&style=flat-square&labelColor=EBEEF2&color=000000" /></picture></a>
|
|
57
21
|
</div>
|
|
58
22
|
|
|
59
23
|
<br/>
|
|
@@ -63,7 +27,7 @@ ESLint plugin with formatting and linting rules to help you write cleaner, more
|
|
|
63
27
|
|
|
64
28
|
The formatting rules focus on improving readability by automatically breaking up long Tailwind class strings into multiple lines and sorting/grouping them in a logical order. The linting rules enforce best practices and catch potential issues, ensuring that you're writing valid Tailwind CSS.
|
|
65
29
|
|
|
66
|
-
This plugin supports a wide range of projects, including React, Solid.js, Qwik, Svelte, Vue, Angular, HTML or plain JavaScript or TypeScript.
|
|
30
|
+
This plugin supports a wide range of projects, including React, Solid.js, Qwik, Svelte, Vue, Astro, Angular, HTML or plain JavaScript or TypeScript.
|
|
67
31
|
|
|
68
32
|
<br/>
|
|
69
33
|
<br/>
|
|
@@ -141,8 +105,9 @@ Depending on the flavor you are using, you may need to install and configure the
|
|
|
141
105
|
- [TSX (React, Solid.js, Qwik) with TypeScript support](docs/parsers/tsx.md)
|
|
142
106
|
- [Svelte](docs/parsers/svelte.md)
|
|
143
107
|
- [Vue](docs/parsers/vue.md)
|
|
144
|
-
- [
|
|
108
|
+
- [Astro](docs/parsers/astro.md)
|
|
145
109
|
- [Angular](docs/parsers/angular.md)
|
|
110
|
+
- [HTML](docs/parsers/html.md)
|
|
146
111
|
- [Plain JavaScript](docs/parsers/javascript.md)
|
|
147
112
|
- [Plain TypeScript](docs/parsers/typescript.md)
|
|
148
113
|
|
|
@@ -186,6 +151,7 @@ The table below lists all available rules, the Tailwind CSS versions they suppor
|
|
|
186
151
|
| [no-unnecessary-whitespace](docs/rules/no-unnecessary-whitespace.md) | Disallow unnecessary whitespace in tailwind classes. | ✔ | ✔ | ✔ | ✔ |
|
|
187
152
|
| [sort-classes](docs/rules/sort-classes.md) | Enforce a consistent order for tailwind classes. | ✔ | ✔ | ✔ | ✔ |
|
|
188
153
|
| [no-duplicate-classes](docs/rules/no-duplicate-classes.md) | Remove duplicate classes. | ✔ | ✔ | ✔ | ✔ |
|
|
154
|
+
| [enforce-consistent-variable-syntax](docs/rules/enforce-consistent-variable-syntax.md) | Enforce consistent variable syntax. | ✔ | ✔ | | ✔ |
|
|
189
155
|
|
|
190
156
|
#### Correctness rules
|
|
191
157
|
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { enforceConsistentVariableSyntax } from "../rules/enforce-consistent-variable-syntax.js";
|
|
1
2
|
import { multiline } from "../rules/multiline.js";
|
|
2
3
|
import { noConflictingClasses } from "../rules/no-conflicting-classes.js";
|
|
3
4
|
import { noDuplicateClasses } from "../rules/no-duplicate-classes.js";
|
|
@@ -8,7 +9,6 @@ import { sortClasses } from "../rules/sort-classes.js";
|
|
|
8
9
|
export declare const config: {
|
|
9
10
|
configs: {
|
|
10
11
|
[x: string]: {
|
|
11
|
-
name: string;
|
|
12
12
|
plugins: string[];
|
|
13
13
|
rules: {
|
|
14
14
|
[x: string]: "error" | "warn";
|
|
@@ -19,6 +19,7 @@ export declare const config: {
|
|
|
19
19
|
name: string;
|
|
20
20
|
};
|
|
21
21
|
rules: {
|
|
22
|
+
[enforceConsistentVariableSyntax.name]: import("eslint").Rule.RuleModule;
|
|
22
23
|
[multiline.name]: import("eslint").Rule.RuleModule;
|
|
23
24
|
[noConflictingClasses.name]: import("eslint").Rule.RuleModule;
|
|
24
25
|
[noDuplicateClasses.name]: import("eslint").Rule.RuleModule;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/configs/config.ts"],"names":[],"mappings":"AAAA,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;
|
|
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,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.config = void 0;
|
|
4
|
+
const better_tailwindcss_rules_enforce_consistent_variable_syntax_js_1 = require("../rules/enforce-consistent-variable-syntax.js");
|
|
4
5
|
const better_tailwindcss_rules_multiline_js_1 = require("../rules/multiline.js");
|
|
5
6
|
const better_tailwindcss_rules_no_conflicting_classes_js_1 = require("../rules/no-conflicting-classes.js");
|
|
6
7
|
const better_tailwindcss_rules_no_duplicate_classes_js_1 = require("../rules/no-duplicate-classes.js");
|
|
@@ -13,6 +14,7 @@ const plugin = {
|
|
|
13
14
|
name: "better-tailwindcss"
|
|
14
15
|
},
|
|
15
16
|
rules: {
|
|
17
|
+
[better_tailwindcss_rules_enforce_consistent_variable_syntax_js_1.enforceConsistentVariableSyntax.name]: better_tailwindcss_rules_enforce_consistent_variable_syntax_js_1.enforceConsistentVariableSyntax.rule,
|
|
16
18
|
[better_tailwindcss_rules_multiline_js_1.multiline.name]: better_tailwindcss_rules_multiline_js_1.multiline.rule,
|
|
17
19
|
[better_tailwindcss_rules_no_conflicting_classes_js_1.noConflictingClasses.name]: better_tailwindcss_rules_no_conflicting_classes_js_1.noConflictingClasses.rule,
|
|
18
20
|
[better_tailwindcss_rules_no_duplicate_classes_js_1.noDuplicateClasses.name]: better_tailwindcss_rules_no_duplicate_classes_js_1.noDuplicateClasses.rule,
|
|
@@ -40,17 +42,14 @@ const getCorrectnessRules = (severity = "error") => {
|
|
|
40
42
|
const createConfig = (name, getRulesFunction) => {
|
|
41
43
|
return {
|
|
42
44
|
[`${name}-error`]: {
|
|
43
|
-
name: `${plugin.meta.name}/${name}-error`,
|
|
44
45
|
plugins,
|
|
45
46
|
rules: getRulesFunction("error")
|
|
46
47
|
},
|
|
47
48
|
[`${name}-warn`]: {
|
|
48
|
-
name: `${plugin.meta.name}/${name}-warn`,
|
|
49
49
|
plugins,
|
|
50
50
|
rules: getRulesFunction("warn")
|
|
51
51
|
},
|
|
52
52
|
[name]: {
|
|
53
|
-
name: `${plugin.meta.name}/${name}`,
|
|
54
53
|
plugins,
|
|
55
54
|
rules: getRulesFunction()
|
|
56
55
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/configs/config.ts"],"names":[],"mappings":";;;AAAA,iGAAkE;AAClE,2HAA0F;AAC1F,uHAAsF;AACtF,yHAAwF;AACxF,iIAAgG;AAChG,6HAA4F;AAC5F,uGAAuE;AAKvE,MAAM,MAAM,GAAG;IACb,IAAI,EAAE;QACJ,IAAI,EAAE,oBAAoB;KAC3B;IACD,KAAK,EAAE;QACL,CAAC,iDAAS,CAAC,IAAI,CAAC,EAAE,iDAAS,CAAC,IAAI;QAChC,CAAC,yEAAoB,CAAC,IAAI,CAAC,EAAE,yEAAoB,CAAC,IAAI;QACtD,CAAC,qEAAkB,CAAC,IAAI,CAAC,EAAE,qEAAkB,CAAC,IAAI;QAClD,CAAC,uEAAmB,CAAC,IAAI,CAAC,EAAE,uEAAmB,CAAC,IAAI;QACpD,CAAC,+EAAuB,CAAC,IAAI,CAAC,EAAE,+EAAuB,CAAC,IAAI;QAC5D,CAAC,2EAAqB,CAAC,IAAI,CAAC,EAAE,2EAAqB,CAAC,IAAI;QACxD,CAAC,sDAAW,CAAC,IAAI,CAAC,EAAE,sDAAW,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,iDAAS,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ;QACnD,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,qEAAkB,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ;QAC5D,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,+EAAuB,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ;QACjE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,sDAAW,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,yEAAoB,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ;QAC9D,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,2EAAqB,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,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/configs/config.ts"],"names":[],"mappings":";;;AAAA,mJAAiH;AACjH,iGAAkE;AAClE,2HAA0F;AAC1F,uHAAsF;AACtF,yHAAwF;AACxF,iIAAgG;AAChG,6HAA4F;AAC5F,uGAAuE;AAKvE,MAAM,MAAM,GAAG;IACb,IAAI,EAAE;QACJ,IAAI,EAAE,oBAAoB;KAC3B;IACD,KAAK,EAAE;QACL,CAAC,gGAA+B,CAAC,IAAI,CAAC,EAAE,gGAA+B,CAAC,IAAI;QAC5E,CAAC,iDAAS,CAAC,IAAI,CAAC,EAAE,iDAAS,CAAC,IAAI;QAChC,CAAC,yEAAoB,CAAC,IAAI,CAAC,EAAE,yEAAoB,CAAC,IAAI;QACtD,CAAC,qEAAkB,CAAC,IAAI,CAAC,EAAE,qEAAkB,CAAC,IAAI;QAClD,CAAC,uEAAmB,CAAC,IAAI,CAAC,EAAE,uEAAmB,CAAC,IAAI;QACpD,CAAC,+EAAuB,CAAC,IAAI,CAAC,EAAE,+EAAuB,CAAC,IAAI;QAC5D,CAAC,2EAAqB,CAAC,IAAI,CAAC,EAAE,2EAAqB,CAAC,IAAI;QACxD,CAAC,sDAAW,CAAC,IAAI,CAAC,EAAE,sDAAW,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,iDAAS,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ;QACnD,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,qEAAkB,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ;QAC5D,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,+EAAuB,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ;QACjE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,sDAAW,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,yEAAoB,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ;QAC9D,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,2EAAqB,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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-options.d.ts","sourceRoot":"","sources":["../../../src/options/default-options.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAK/D,eAAO,MAAM,oBAAoB;;;;;;;OAcd,CAAC;AAEpB,eAAO,MAAM,uBAAuB;;;;
|
|
1
|
+
{"version":3,"file":"default-options.d.ts","sourceRoot":"","sources":["../../../src/options/default-options.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAK/D,eAAO,MAAM,oBAAoB;;;;;;;OAcd,CAAC;AAEpB,eAAO,MAAM,uBAAuB;;;;QA+Cd,CAAC;AAEvB,eAAO,MAAM,sBAAsB;;MAsBd,CAAC;AAEtB,eAAO,MAAM,iBAAiB,SAAoB,CAAC"}
|
|
@@ -62,6 +62,17 @@ exports.DEFAULT_ATTRIBUTE_NAMES = [
|
|
|
62
62
|
match: better_tailwindcss_types_rule_js_1.MatcherType.ObjectKey
|
|
63
63
|
}
|
|
64
64
|
]
|
|
65
|
+
],
|
|
66
|
+
// astro
|
|
67
|
+
[
|
|
68
|
+
"^class:list$", [
|
|
69
|
+
{
|
|
70
|
+
match: better_tailwindcss_types_rule_js_1.MatcherType.String
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
match: better_tailwindcss_types_rule_js_1.MatcherType.ObjectKey
|
|
74
|
+
}
|
|
75
|
+
]
|
|
65
76
|
]
|
|
66
77
|
];
|
|
67
78
|
exports.DEFAULT_VARIABLE_NAMES = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-options.js","sourceRoot":"","sources":["../../../src/options/default-options.ts"],"names":[],"mappings":";;;AAAA,oEAA8D;AAC9D,sEAAgE;AAChE,wEAAkE;AAClE,oEAA8D;AAC9D,sEAAgE;AAChE,sEAAgE;AAChE,sEAAgE;AAChE,oEAA8D;AAC9D,wEAAkE;AAClE,4EAAsE;AACtE,oEAA8D;AAC9D,4EAAuE;AACvE,8EAAyE;AACzE,uFAA+D;AAKlD,QAAA,oBAAoB,GAAG;IAClC,GAAG,UAAE;IACL,GAAG,YAAG;IACN,GAAG,cAAI;IACP,GAAG,UAAE;IACL,GAAG,YAAG;IACN,GAAG,YAAG;IACN,GAAG,YAAG;IACN,GAAG,UAAE;IACL,GAAG,cAAI;IACP,GAAG,kBAAM;IACT,GAAG,UAAE;IACL,GAAG,mBAAO;IACV,GAAG,qBAAQ;CACM,CAAC;AAEP,QAAA,uBAAuB,GAAG;IACrC,UAAU;IACV,kBAAkB;IAClB;QACE,kBAAkB,EAAE;YAClB;gBACE,KAAK,EAAE,8CAAW,CAAC,MAAM;aAC1B;SACF;KACF;IAED,UAAU;IACV,uCAAuC;IACvC;QACE,uCAAuC,EAAE;YACvC;gBACE,KAAK,EAAE,8CAAW,CAAC,MAAM;aAC1B;YACD;gBACE,KAAK,EAAE,8CAAW,CAAC,SAAS;aAC7B;SACF;KACF;IAED,MAAM;IACN;QACE,gBAAgB,EAAE;YAChB;gBACE,KAAK,EAAE,8CAAW,CAAC,MAAM;aAC1B;YACD;gBACE,KAAK,EAAE,8CAAW,CAAC,SAAS;aAC7B;SACF;KACF;CACmB,CAAC;AAEV,QAAA,sBAAsB,GAAG;IACpC;QACE,eAAe,EAAE;YACf;gBACE,KAAK,EAAE,8CAAW,CAAC,MAAM;aAC1B;SACF;KACF;IACD;QACE,WAAW,EAAE;YACX;gBACE,KAAK,EAAE,8CAAW,CAAC,MAAM;aAC1B;SACF;KACF;IACD;QACE,WAAW,EAAE;YACX;gBACE,KAAK,EAAE,8CAAW,CAAC,MAAM;aAC1B;SACF;KACF;CACkB,CAAC;AAET,QAAA,iBAAiB,GAAG,EAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"default-options.js","sourceRoot":"","sources":["../../../src/options/default-options.ts"],"names":[],"mappings":";;;AAAA,oEAA8D;AAC9D,sEAAgE;AAChE,wEAAkE;AAClE,oEAA8D;AAC9D,sEAAgE;AAChE,sEAAgE;AAChE,sEAAgE;AAChE,oEAA8D;AAC9D,wEAAkE;AAClE,4EAAsE;AACtE,oEAA8D;AAC9D,4EAAuE;AACvE,8EAAyE;AACzE,uFAA+D;AAKlD,QAAA,oBAAoB,GAAG;IAClC,GAAG,UAAE;IACL,GAAG,YAAG;IACN,GAAG,cAAI;IACP,GAAG,UAAE;IACL,GAAG,YAAG;IACN,GAAG,YAAG;IACN,GAAG,YAAG;IACN,GAAG,UAAE;IACL,GAAG,cAAI;IACP,GAAG,kBAAM;IACT,GAAG,UAAE;IACL,GAAG,mBAAO;IACV,GAAG,qBAAQ;CACM,CAAC;AAEP,QAAA,uBAAuB,GAAG;IACrC,UAAU;IACV,kBAAkB;IAClB;QACE,kBAAkB,EAAE;YAClB;gBACE,KAAK,EAAE,8CAAW,CAAC,MAAM;aAC1B;SACF;KACF;IAED,UAAU;IACV,uCAAuC;IACvC;QACE,uCAAuC,EAAE;YACvC;gBACE,KAAK,EAAE,8CAAW,CAAC,MAAM;aAC1B;YACD;gBACE,KAAK,EAAE,8CAAW,CAAC,SAAS;aAC7B;SACF;KACF;IAED,MAAM;IACN;QACE,gBAAgB,EAAE;YAChB;gBACE,KAAK,EAAE,8CAAW,CAAC,MAAM;aAC1B;YACD;gBACE,KAAK,EAAE,8CAAW,CAAC,SAAS;aAC7B;SACF;KACF;IAED,QAAQ;IACR;QACE,cAAc,EAAE;YACd;gBACE,KAAK,EAAE,8CAAW,CAAC,MAAM;aAC1B;YACD;gBACE,KAAK,EAAE,8CAAW,CAAC,SAAS;aAC7B;SACF;KACF;CACmB,CAAC;AAEV,QAAA,sBAAsB,GAAG;IACpC;QACE,eAAe,EAAE;YACf;gBACE,KAAK,EAAE,8CAAW,CAAC,MAAM;aAC1B;SACF;KACF;IACD;QACE,WAAW,EAAE;YACX;gBACE,KAAK,EAAE,8CAAW,CAAC,MAAM;aAC1B;SACF;KACF;IACD;QACE,WAAW,EAAE;YACX;gBACE,KAAK,EAAE,8CAAW,CAAC,MAAM;aAC1B;SACF;KACF;CACkB,CAAC;AAET,QAAA,iBAAiB,GAAG,EAAiB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsx.d.ts","sourceRoot":"","sources":["../../../src/parsers/jsx.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC,OAAO,KAAK,EAAE,YAAY,EAAmD,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGnH,OAAO,KAAK,EAAE,OAAO,EAAqC,MAAM,iCAAiC,CAAC;AAClG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAGnE,eAAO,MAAM,qCAAqC,UAIjD,CAAC;AAEF,eAAO,MAAM,oCAAoC,UAGhD,CAAC;AAGF,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"jsx.d.ts","sourceRoot":"","sources":["../../../src/parsers/jsx.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC,OAAO,KAAK,EAAE,YAAY,EAAmD,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGnH,OAAO,KAAK,EAAE,OAAO,EAAqC,MAAM,iCAAiC,CAAC;AAClG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAGnE,eAAO,MAAM,qCAAqC,UAIjD,CAAC;AAEF,eAAO,MAAM,oCAAoC,UAGhD,CAAC;AAGF,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,EAAE,CA2B3H;AAED,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,iBAAiB,GAAG,YAAY,EAAE,CAOxG"}
|
package/lib/cjs/parsers/jsx.js
CHANGED
|
@@ -21,8 +21,12 @@ function getLiteralsByJSXAttribute(ctx, attribute, attributes) {
|
|
|
21
21
|
if (!value) {
|
|
22
22
|
return literals;
|
|
23
23
|
}
|
|
24
|
+
const name = getAttributeName(attribute);
|
|
25
|
+
if (typeof name !== "string") {
|
|
26
|
+
return literals;
|
|
27
|
+
}
|
|
24
28
|
if ((0, better_tailwindcss_utils_matchers_js_1.isAttributesName)(attributes)) {
|
|
25
|
-
if (
|
|
29
|
+
if (!(0, better_tailwindcss_utils_utils_js_1.matchesName)(attributes.toLowerCase(), name.toLowerCase())) {
|
|
26
30
|
return literals;
|
|
27
31
|
}
|
|
28
32
|
literals.push(...getLiteralsByJSXAttributeValue(ctx, value));
|
|
@@ -31,7 +35,7 @@ function getLiteralsByJSXAttribute(ctx, attribute, attributes) {
|
|
|
31
35
|
literals.push(...(0, better_tailwindcss_parsers_es_js_1.getLiteralsByESNodeAndRegex)(ctx, attribute, attributes));
|
|
32
36
|
}
|
|
33
37
|
else if ((0, better_tailwindcss_utils_matchers_js_1.isAttributesMatchers)(attributes)) {
|
|
34
|
-
if (
|
|
38
|
+
if (!(0, better_tailwindcss_utils_utils_js_1.matchesName)(attributes[0].toLowerCase(), name.toLowerCase())) {
|
|
35
39
|
return literals;
|
|
36
40
|
}
|
|
37
41
|
literals.push(...(0, better_tailwindcss_parsers_es_js_1.getLiteralsByESMatchers)(ctx, value, attributes[1]));
|
|
@@ -48,6 +52,14 @@ function getAttributesByJSXElement(ctx, node) {
|
|
|
48
52
|
return acc;
|
|
49
53
|
}, []);
|
|
50
54
|
}
|
|
55
|
+
function getAttributeName(attribute) {
|
|
56
|
+
if (attribute.name.type === "JSXIdentifier") {
|
|
57
|
+
return attribute.name.name;
|
|
58
|
+
}
|
|
59
|
+
if (attribute.name.type === "JSXNamespacedName") {
|
|
60
|
+
return `${attribute.name.namespace.name}:${attribute.name.name.name}`;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
51
63
|
function getLiteralsByJSXAttributeValue(ctx, value) {
|
|
52
64
|
if (!value) {
|
|
53
65
|
return [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsx.js","sourceRoot":"","sources":["../../../src/parsers/jsx.ts"],"names":[],"mappings":";;;AAoCA,
|
|
1
|
+
{"version":3,"file":"jsx.js","sourceRoot":"","sources":["../../../src/parsers/jsx.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
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
|
+
syntax?: "arbitrary" | "parentheses";
|
|
6
|
+
}>
|
|
7
|
+
];
|
|
8
|
+
export declare const enforceConsistentVariableSyntax: ESLintRule<Options>;
|
|
9
|
+
export declare function getOptions(ctx: Rule.RuleContext): {
|
|
10
|
+
syntax: "arbitrary" | "parentheses";
|
|
11
|
+
attributes: any;
|
|
12
|
+
callees: any;
|
|
13
|
+
tags: any;
|
|
14
|
+
tailwindConfig: any;
|
|
15
|
+
variables: any;
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=enforce-consistent-variable-syntax.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enforce-consistent-variable-syntax.d.ts","sourceRoot":"","sources":["../../../src/rules/enforce-consistent-variable-syntax.ts"],"names":[],"mappings":"AAoBA,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;AAG1C,MAAM,MAAM,OAAO,GAAG;IACpB,OAAO,CACL,eAAe,GACf,YAAY,GACZ,SAAS,GACT,cAAc,GACd;QACE,MAAM,CAAC,EAAE,WAAW,GAAG,aAAa,CAAC;KACtC,CACF;CACF,CAAC;AAaF,eAAO,MAAM,+BAA+B,EAAE,UAAU,CAAC,OAAO,CAgC/D,CAAC;AAuMF,wBAAgB,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW;;;;;;;EAY/C"}
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.enforceConsistentVariableSyntax = void 0;
|
|
4
|
+
exports.getOptions = getOptions;
|
|
5
|
+
const better_tailwindcss_options_default_options_js_1 = require("../options/default-options.js");
|
|
6
|
+
const better_tailwindcss_options_descriptions_js_1 = require("../options/descriptions.js");
|
|
7
|
+
const better_tailwindcss_utils_rule_js_1 = require("../utils/rule.js");
|
|
8
|
+
const better_tailwindcss_utils_utils_js_1 = require("../utils/utils.js");
|
|
9
|
+
const defaultOptions = {
|
|
10
|
+
attributes: better_tailwindcss_options_default_options_js_1.DEFAULT_ATTRIBUTE_NAMES,
|
|
11
|
+
callees: better_tailwindcss_options_default_options_js_1.DEFAULT_CALLEE_NAMES,
|
|
12
|
+
syntax: "parentheses",
|
|
13
|
+
tags: better_tailwindcss_options_default_options_js_1.DEFAULT_TAG_NAMES,
|
|
14
|
+
variables: better_tailwindcss_options_default_options_js_1.DEFAULT_VARIABLE_NAMES
|
|
15
|
+
};
|
|
16
|
+
const DOCUMENTATION_URL = "https://github.com/schoero/eslint-plugin-better-tailwindcss/blob/main/docs/rules/enforce-consistent-variable-syntax.md";
|
|
17
|
+
exports.enforceConsistentVariableSyntax = {
|
|
18
|
+
name: "enforce-consistent-variable-syntax",
|
|
19
|
+
rule: {
|
|
20
|
+
create: ctx => (0, better_tailwindcss_utils_rule_js_1.createRuleListener)(ctx, getOptions(ctx), lintLiterals),
|
|
21
|
+
meta: {
|
|
22
|
+
docs: {
|
|
23
|
+
description: "Enforce consistent syntax for css variables.",
|
|
24
|
+
recommended: false,
|
|
25
|
+
url: DOCUMENTATION_URL
|
|
26
|
+
},
|
|
27
|
+
fixable: "code",
|
|
28
|
+
schema: [
|
|
29
|
+
{
|
|
30
|
+
additionalProperties: false,
|
|
31
|
+
properties: {
|
|
32
|
+
...better_tailwindcss_options_descriptions_js_1.CALLEE_SCHEMA,
|
|
33
|
+
...better_tailwindcss_options_descriptions_js_1.ATTRIBUTE_SCHEMA,
|
|
34
|
+
...better_tailwindcss_options_descriptions_js_1.VARIABLE_SCHEMA,
|
|
35
|
+
...better_tailwindcss_options_descriptions_js_1.TAG_SCHEMA,
|
|
36
|
+
syntax: {
|
|
37
|
+
default: "parentheses",
|
|
38
|
+
description: "Preferred syntax for CSS variables. 'arbitrary' uses [var(--foo)], 'parentheses' uses (--foo).",
|
|
39
|
+
enum: ["arbitrary", "parentheses"],
|
|
40
|
+
type: "string"
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
type: "object"
|
|
44
|
+
}
|
|
45
|
+
],
|
|
46
|
+
type: "problem"
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
function lintLiterals(ctx, literals) {
|
|
51
|
+
for (const literal of literals) {
|
|
52
|
+
const { syntax } = getOptions(ctx);
|
|
53
|
+
const classChunks = (0, better_tailwindcss_utils_utils_js_1.splitClasses)(literal.content);
|
|
54
|
+
const whitespaceChunks = (0, better_tailwindcss_utils_utils_js_1.splitWhitespaces)(literal.content);
|
|
55
|
+
const startsWithWhitespace = whitespaceChunks.length > 0 && whitespaceChunks[0] !== "";
|
|
56
|
+
for (let classIndex = 0, literalIndex = 0; classIndex < classChunks.length; classIndex++) {
|
|
57
|
+
const className = classChunks[classIndex];
|
|
58
|
+
if (startsWithWhitespace) {
|
|
59
|
+
literalIndex += whitespaceChunks[classIndex].length;
|
|
60
|
+
}
|
|
61
|
+
const classStart = literalIndex;
|
|
62
|
+
literalIndex += className.length;
|
|
63
|
+
if (!startsWithWhitespace) {
|
|
64
|
+
literalIndex += whitespaceChunks[classIndex + 1].length;
|
|
65
|
+
}
|
|
66
|
+
for (let i = 0, isInsideVar = false, isInsideBrackets = false, characters = []; i < className.length; i++) {
|
|
67
|
+
characters.push(className[i]);
|
|
68
|
+
if (syntax === "arbitrary") {
|
|
69
|
+
if (isInsideVar) {
|
|
70
|
+
continue;
|
|
71
|
+
}
|
|
72
|
+
// text-red-500 bg-(--brand)
|
|
73
|
+
if (isBeginningOfParenthesizedVariable(characters)) {
|
|
74
|
+
isInsideVar = true;
|
|
75
|
+
const start = i + 1 - 3;
|
|
76
|
+
const [balancedContent] = extractBalanced(className.slice(start), "(", ")");
|
|
77
|
+
if (!balancedContent) {
|
|
78
|
+
continue;
|
|
79
|
+
}
|
|
80
|
+
const end = start + balancedContent.length + 2;
|
|
81
|
+
const fixedVariable = `[var(${balancedContent})]`;
|
|
82
|
+
const [literalStart] = literal.range;
|
|
83
|
+
ctx.report({
|
|
84
|
+
data: {
|
|
85
|
+
incorrectSyntax: balancedContent
|
|
86
|
+
},
|
|
87
|
+
fix(fixer) {
|
|
88
|
+
return fixer.replaceTextRange([
|
|
89
|
+
literalStart + classStart + start + 1,
|
|
90
|
+
literalStart + classStart + end + 1
|
|
91
|
+
], fixedVariable);
|
|
92
|
+
},
|
|
93
|
+
loc: (0, better_tailwindcss_utils_utils_js_1.getExactClassLocation)(literal, balancedContent),
|
|
94
|
+
message: "Incorrect variable syntax: \"{{ incorrectSyntax }}\"."
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
if (syntax === "parentheses") {
|
|
99
|
+
if (isBeginningOfArbitraryVariable(characters)) {
|
|
100
|
+
if (isInsideBrackets) {
|
|
101
|
+
continue;
|
|
102
|
+
}
|
|
103
|
+
const start = i + 1 - (findOpeningBracketOffset(characters) ?? 0);
|
|
104
|
+
const [balancedArbitraryContent] = extractBalanced(className.slice(start), "[", "]");
|
|
105
|
+
const [balancedVariableContent] = extractBalanced(className.slice(start));
|
|
106
|
+
if (!balancedArbitraryContent || !balancedVariableContent) {
|
|
107
|
+
continue;
|
|
108
|
+
}
|
|
109
|
+
const end = start + balancedArbitraryContent.length + 2;
|
|
110
|
+
const fixedVariable = `(${balancedVariableContent})`;
|
|
111
|
+
const incorrectSyntax = `[${balancedArbitraryContent}]`;
|
|
112
|
+
const [literalStart] = literal.range;
|
|
113
|
+
ctx.report({
|
|
114
|
+
data: {
|
|
115
|
+
incorrectSyntax
|
|
116
|
+
},
|
|
117
|
+
fix(fixer) {
|
|
118
|
+
return fixer.replaceTextRange([
|
|
119
|
+
literalStart + classStart + start + 1,
|
|
120
|
+
literalStart + classStart + end + 1
|
|
121
|
+
], fixedVariable);
|
|
122
|
+
},
|
|
123
|
+
loc: (0, better_tailwindcss_utils_utils_js_1.getExactClassLocation)(literal, incorrectSyntax, true),
|
|
124
|
+
message: "Incorrect variable syntax: \"{{ incorrectSyntax }}\"."
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
function isBeginningOfParenthesizedVariable(characters) {
|
|
133
|
+
return characters.slice(-6).join("") !== "var(--" && characters.slice(-3).join("") === "(--";
|
|
134
|
+
}
|
|
135
|
+
function isBeginningOfArbitraryVariable(characters) {
|
|
136
|
+
const toBe = "[var(--".split("");
|
|
137
|
+
for (let i = characters.length - 1; i >= 0; i--) {
|
|
138
|
+
if (toBe.length === 0) {
|
|
139
|
+
return true;
|
|
140
|
+
}
|
|
141
|
+
const expectedChar = toBe[toBe.length - 1];
|
|
142
|
+
const character = characters[i];
|
|
143
|
+
if (i < 0) {
|
|
144
|
+
return false;
|
|
145
|
+
}
|
|
146
|
+
if (character !== expectedChar) {
|
|
147
|
+
if (expectedChar === "[" && character === "_") {
|
|
148
|
+
continue;
|
|
149
|
+
}
|
|
150
|
+
return false;
|
|
151
|
+
}
|
|
152
|
+
toBe.pop();
|
|
153
|
+
}
|
|
154
|
+
return false;
|
|
155
|
+
}
|
|
156
|
+
function findOpeningBracketOffset(characters) {
|
|
157
|
+
for (let i = characters.length - 1; i >= 0; i--) {
|
|
158
|
+
if (characters[i] === "[") {
|
|
159
|
+
return characters.length - i;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
function extractBalanced(className, start = "(", end = ")") {
|
|
164
|
+
const results = [];
|
|
165
|
+
const characters = [];
|
|
166
|
+
for (let i = 0, parenthesesCount = 0, hasStarted = false; i < className.length; i++) {
|
|
167
|
+
if (className[i] === start) {
|
|
168
|
+
parenthesesCount++;
|
|
169
|
+
if (!hasStarted) {
|
|
170
|
+
hasStarted = true;
|
|
171
|
+
continue;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
if (!hasStarted) {
|
|
175
|
+
continue;
|
|
176
|
+
}
|
|
177
|
+
if (className[i] === end) {
|
|
178
|
+
parenthesesCount--;
|
|
179
|
+
if (parenthesesCount === 0) {
|
|
180
|
+
results.push(characters.join(""));
|
|
181
|
+
characters.length = 0;
|
|
182
|
+
hasStarted = false;
|
|
183
|
+
continue;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
characters.push(className[i]);
|
|
187
|
+
}
|
|
188
|
+
return results;
|
|
189
|
+
}
|
|
190
|
+
function getOptions(ctx) {
|
|
191
|
+
const options = ctx.options[0] ?? {};
|
|
192
|
+
const common = (0, better_tailwindcss_utils_utils_js_1.getCommonOptions)(ctx);
|
|
193
|
+
const syntax = options.syntax ?? defaultOptions.syntax;
|
|
194
|
+
return {
|
|
195
|
+
...common,
|
|
196
|
+
syntax
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
//# sourceMappingURL=enforce-consistent-variable-syntax.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enforce-consistent-variable-syntax.js","sourceRoot":"","sources":["../../../src/rules/enforce-consistent-variable-syntax.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-conflicting-classes.d.ts","sourceRoot":"","sources":["../../../src/rules/no-conflicting-classes.ts"],"names":[],"mappings":"AAwBA,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;AAG1C,MAAM,MAAM,OAAO,GAAG;IACpB,OAAO,CACL,eAAe,GACf,YAAY,GACZ,SAAS,GACT,cAAc,GACd;QACE,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,
|
|
1
|
+
{"version":3,"file":"no-conflicting-classes.d.ts","sourceRoot":"","sources":["../../../src/rules/no-conflicting-classes.ts"],"names":[],"mappings":"AAwBA,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;AAG1C,MAAM,MAAM,OAAO,GAAG;IACpB,OAAO,CACL,eAAe,GACf,YAAY,GACZ,SAAS,GACT,cAAc,GACd;QACE,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CACF;CACF,CAAC;AAYF,eAAO,MAAM,oBAAoB,EAAE,UAAU,CAAC,OAAO,CA4BpD,CAAC;AAgDF,wBAAgB,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW;;;;;;EAE/C"}
|
|
@@ -20,7 +20,7 @@ exports.noConflictingClasses = {
|
|
|
20
20
|
create: ctx => (0, better_tailwindcss_utils_rule_js_1.createRuleListener)(ctx, getOptions(ctx), lintLiterals),
|
|
21
21
|
meta: {
|
|
22
22
|
docs: {
|
|
23
|
-
description: "Disallow
|
|
23
|
+
description: "Disallow classes that produce conflicting styles.",
|
|
24
24
|
recommended: false,
|
|
25
25
|
url: DOCUMENTATION_URL
|
|
26
26
|
},
|
|
@@ -78,10 +78,6 @@ function lintLiterals(ctx, literals) {
|
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
80
|
function getOptions(ctx) {
|
|
81
|
-
|
|
82
|
-
const common = (0, better_tailwindcss_utils_utils_js_1.getCommonOptions)(ctx);
|
|
83
|
-
return {
|
|
84
|
-
...common
|
|
85
|
-
};
|
|
81
|
+
return (0, better_tailwindcss_utils_utils_js_1.getCommonOptions)(ctx);
|
|
86
82
|
}
|
|
87
83
|
//# sourceMappingURL=no-conflicting-classes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-conflicting-classes.js","sourceRoot":"","sources":["../../../src/rules/no-conflicting-classes.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"no-conflicting-classes.js","sourceRoot":"","sources":["../../../src/rules/no-conflicting-classes.ts"],"names":[],"mappings":"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"}
|
|
@@ -94,7 +94,7 @@ function lintLiterals(ctx, literals) {
|
|
|
94
94
|
fix(fixer) {
|
|
95
95
|
return fixer.replaceTextRange(literal.range, fixedClasses);
|
|
96
96
|
},
|
|
97
|
-
loc: (0, better_tailwindcss_utils_utils_js_1.getExactClassLocation)(literal, className, true),
|
|
97
|
+
loc: (0, better_tailwindcss_utils_utils_js_1.getExactClassLocation)(literal, className, false, true),
|
|
98
98
|
message: "Duplicate classname: \"{{ duplicateClassname }}\"."
|
|
99
99
|
});
|
|
100
100
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-duplicate-classes.js","sourceRoot":"","sources":["../../../src/rules/no-duplicate-classes.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"no-duplicate-classes.js","sourceRoot":"","sources":["../../../src/rules/no-duplicate-classes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../../src/utils/rule.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAMnC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAGjH,MAAM,MAAM,OAAO,GACjB,eAAe,GACf,YAAY,GACZ,SAAS,GACT,cAAc,CAAC;AAEjB,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,IAAI,CAAC,YAAY,
|
|
1
|
+
{"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../../src/utils/rule.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAMnC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAGjH,MAAM,MAAM,OAAO,GACjB,eAAe,GACf,YAAY,GACZ,SAAS,GACT,cAAc,CAAC;AAEjB,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,IAAI,CAAC,YAAY,CA6HjK"}
|
package/lib/cjs/utils/rule.js
CHANGED
|
@@ -36,13 +36,9 @@ function createRuleListener(ctx, options, lintLiterals) {
|
|
|
36
36
|
const jsxAttributes = (0, better_tailwindcss_parsers_jsx_js_1.getAttributesByJSXElement)(ctx, jsxNode);
|
|
37
37
|
for (const jsxAttribute of jsxAttributes) {
|
|
38
38
|
const attributeValue = jsxAttribute.value;
|
|
39
|
-
const attributeName = jsxAttribute.name.name;
|
|
40
39
|
if (!attributeValue) {
|
|
41
40
|
continue;
|
|
42
41
|
}
|
|
43
|
-
if (typeof attributeName !== "string") {
|
|
44
|
-
continue;
|
|
45
|
-
}
|
|
46
42
|
const literals = (0, better_tailwindcss_parsers_jsx_js_1.getLiteralsByJSXAttribute)(ctx, jsxAttribute, attributes);
|
|
47
43
|
lintLiterals(ctx, literals);
|
|
48
44
|
}
|