@touchspot/eslint-config 3.0.5 → 4.0.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 (115) hide show
  1. package/README.md +94 -0
  2. package/dist/lib/addons/next.d.ts +2 -0
  3. package/dist/lib/addons/next.d.ts.map +1 -0
  4. package/dist/lib/addons/next.js +2 -0
  5. package/dist/lib/addons/next.js.map +1 -0
  6. package/dist/lib/addons/react.d.ts +2 -0
  7. package/dist/lib/addons/react.d.ts.map +1 -0
  8. package/dist/lib/addons/react.js +2 -0
  9. package/dist/lib/addons/react.js.map +1 -0
  10. package/dist/lib/addons/tailwindcss.d.ts +2 -0
  11. package/dist/lib/addons/tailwindcss.d.ts.map +1 -0
  12. package/dist/lib/addons/tailwindcss.js +2 -0
  13. package/dist/lib/addons/tailwindcss.js.map +1 -0
  14. package/dist/lib/lib.d.ts +0 -4
  15. package/dist/lib/lib.d.ts.map +1 -1
  16. package/dist/lib/lib.js.map +1 -1
  17. package/dist/src/addons/next.d.ts +2 -0
  18. package/dist/src/addons/next.d.ts.map +1 -0
  19. package/dist/src/addons/next.js +8 -0
  20. package/dist/src/addons/next.js.map +1 -0
  21. package/dist/src/addons/react.d.ts +2 -0
  22. package/dist/src/addons/react.d.ts.map +1 -0
  23. package/dist/src/addons/react.js +7 -0
  24. package/dist/src/addons/react.js.map +1 -0
  25. package/dist/src/addons/tailwindcss.d.ts +5 -0
  26. package/dist/src/addons/tailwindcss.d.ts.map +1 -0
  27. package/dist/src/addons/tailwindcss.js +4 -0
  28. package/dist/src/addons/tailwindcss.js.map +1 -0
  29. package/dist/src/config.d.ts +5 -6
  30. package/dist/src/config.d.ts.map +1 -1
  31. package/dist/src/config.js +16 -19
  32. package/dist/src/config.js.map +1 -1
  33. package/dist/src/env.d.ts +2 -3
  34. package/dist/src/env.d.ts.map +1 -1
  35. package/dist/src/env.js.map +1 -1
  36. package/dist/src/rulesets/better-tailwindcss.d.ts +20 -0
  37. package/dist/src/rulesets/better-tailwindcss.d.ts.map +1 -0
  38. package/dist/src/{presets/tailwindcss.js → rulesets/better-tailwindcss.js} +10 -6
  39. package/dist/src/rulesets/better-tailwindcss.js.map +1 -0
  40. package/dist/src/rulesets/check-file.d.ts +3 -0
  41. package/dist/src/rulesets/check-file.d.ts.map +1 -0
  42. package/dist/src/rulesets/check-file.js +22 -0
  43. package/dist/src/rulesets/check-file.js.map +1 -0
  44. package/dist/src/rulesets/eslint.d.ts +2 -0
  45. package/dist/src/rulesets/eslint.d.ts.map +1 -0
  46. package/dist/src/rulesets/eslint.js +25 -0
  47. package/dist/src/rulesets/eslint.js.map +1 -0
  48. package/dist/src/rulesets/functional.d.ts +3 -0
  49. package/dist/src/rulesets/functional.d.ts.map +1 -0
  50. package/dist/src/rulesets/functional.js +37 -0
  51. package/dist/src/rulesets/functional.js.map +1 -0
  52. package/dist/src/rulesets/import-x.d.ts +3 -0
  53. package/dist/src/rulesets/import-x.d.ts.map +1 -0
  54. package/dist/src/rulesets/import-x.js +52 -0
  55. package/dist/src/rulesets/import-x.js.map +1 -0
  56. package/dist/src/rulesets/next.d.ts +2 -0
  57. package/dist/src/rulesets/next.d.ts.map +1 -0
  58. package/dist/src/rulesets/next.js +8 -0
  59. package/dist/src/rulesets/next.js.map +1 -0
  60. package/dist/src/rulesets/no-relative-import-paths.d.ts +2 -0
  61. package/dist/src/rulesets/no-relative-import-paths.d.ts.map +1 -0
  62. package/dist/src/rulesets/no-relative-import-paths.js +14 -0
  63. package/dist/src/rulesets/no-relative-import-paths.js.map +1 -0
  64. package/dist/src/rulesets/perfectionist.d.ts +2 -0
  65. package/dist/src/rulesets/perfectionist.d.ts.map +1 -0
  66. package/dist/src/rulesets/perfectionist.js +31 -0
  67. package/dist/src/rulesets/perfectionist.js.map +1 -0
  68. package/dist/src/rulesets/react-hooks.d.ts +2 -0
  69. package/dist/src/rulesets/react-hooks.d.ts.map +1 -0
  70. package/dist/src/rulesets/react-hooks.js +13 -0
  71. package/dist/src/rulesets/react-hooks.js.map +1 -0
  72. package/dist/src/rulesets/react.d.ts +2 -0
  73. package/dist/src/rulesets/react.d.ts.map +1 -0
  74. package/dist/src/rulesets/react.js +29 -0
  75. package/dist/src/rulesets/react.js.map +1 -0
  76. package/dist/src/rulesets/tseslint.d.ts +7 -0
  77. package/dist/src/rulesets/tseslint.d.ts.map +1 -0
  78. package/dist/src/rulesets/tseslint.js +81 -0
  79. package/dist/src/rulesets/tseslint.js.map +1 -0
  80. package/dist/src/rulesets/unicorn.d.ts +2 -0
  81. package/dist/src/rulesets/unicorn.d.ts.map +1 -0
  82. package/dist/src/rulesets/unicorn.js +17 -0
  83. package/dist/src/rulesets/unicorn.js.map +1 -0
  84. package/dist/src/rulesets/unused-imports.d.ts +2 -0
  85. package/dist/src/rulesets/unused-imports.d.ts.map +1 -0
  86. package/dist/src/rulesets/unused-imports.js +18 -0
  87. package/dist/src/rulesets/unused-imports.js.map +1 -0
  88. package/package.json +15 -15
  89. package/dist/lib/presets/next.d.ts +0 -2
  90. package/dist/lib/presets/next.d.ts.map +0 -1
  91. package/dist/lib/presets/next.js +0 -2
  92. package/dist/lib/presets/next.js.map +0 -1
  93. package/dist/lib/presets/react.d.ts +0 -2
  94. package/dist/lib/presets/react.d.ts.map +0 -1
  95. package/dist/lib/presets/react.js +0 -2
  96. package/dist/lib/presets/react.js.map +0 -1
  97. package/dist/lib/presets/tailwindcss.d.ts +0 -2
  98. package/dist/lib/presets/tailwindcss.d.ts.map +0 -1
  99. package/dist/lib/presets/tailwindcss.js +0 -2
  100. package/dist/lib/presets/tailwindcss.js.map +0 -1
  101. package/dist/src/languages.d.ts +0 -4
  102. package/dist/src/languages.d.ts.map +0 -1
  103. package/dist/src/languages.js +0 -239
  104. package/dist/src/languages.js.map +0 -1
  105. package/dist/src/presets/next.d.ts +0 -3
  106. package/dist/src/presets/next.d.ts.map +0 -1
  107. package/dist/src/presets/next.js +0 -35
  108. package/dist/src/presets/next.js.map +0 -1
  109. package/dist/src/presets/react.d.ts +0 -3
  110. package/dist/src/presets/react.d.ts.map +0 -1
  111. package/dist/src/presets/react.js +0 -59
  112. package/dist/src/presets/react.js.map +0 -1
  113. package/dist/src/presets/tailwindcss.d.ts +0 -13
  114. package/dist/src/presets/tailwindcss.d.ts.map +0 -1
  115. package/dist/src/presets/tailwindcss.js.map +0 -1
@@ -1,239 +0,0 @@
1
- import ESLint from "@eslint/js";
2
- import { createTypeScriptImportResolver } from "eslint-import-resolver-typescript";
3
- import CheckFile from "eslint-plugin-check-file";
4
- import Functional from "eslint-plugin-functional";
5
- import ImportX from "eslint-plugin-import-x";
6
- import NoRelativeImportPaths from "eslint-plugin-no-relative-import-paths";
7
- import Perfectionist from "eslint-plugin-perfectionist";
8
- import Unicorn from "eslint-plugin-unicorn";
9
- import UnusedImports from "eslint-plugin-unused-imports";
10
- import { defineConfig } from "eslint/config";
11
- import * as TSESLint from "typescript-eslint";
12
- export const javascript = () => defineConfig({
13
- name: "@touchspot/eslint-config/languages/javascript/eslint",
14
- files: ["**/*.{js,jsx,mjs,cjs,ts,tsx,mts,cts}"],
15
- extends: [ESLint.configs.recommended],
16
- rules: {
17
- "arrow-body-style": ["error"],
18
- eqeqeq: ["error", "always", { null: "never" }],
19
- "max-params": "error",
20
- "no-console": ["warn", { allow: ["warn", "error"] }],
21
- "no-lone-blocks": "error",
22
- "no-lonely-if": "error",
23
- "no-loop-func": "error",
24
- "no-param-reassign": "error",
25
- "no-restricted-imports": [
26
- "error",
27
- { patterns: [{ group: ["**/_*", "!./_*"], message: "Do not import directory-private module." }] },
28
- ],
29
- "no-useless-rename": "error",
30
- "object-shorthand": "error",
31
- "prefer-destructuring": "error",
32
- },
33
- }, {
34
- name: "@touchspot/eslint-config/languages/javascript/import-x",
35
- files: ["**/*.{js,jsx,mjs,cjs,ts,tsx,mts,cts}"],
36
- extends: [ImportX.flatConfigs.recommended],
37
- settings: {
38
- "import-x/internal-regex": "^#[^/]+/",
39
- },
40
- rules: {
41
- "import-x/export": "off",
42
- "import-x/first": "error",
43
- "import-x/namespace": "off",
44
- "import-x/newline-after-import": "error",
45
- "import-x/no-anonymous-default-export": ["error", { allowArray: true, allowObject: true }],
46
- "import-x/no-duplicates": "error",
47
- "import-x/no-named-as-default": "off",
48
- "import-x/no-named-as-default-member": "off",
49
- "import-x/no-unresolved": "off",
50
- "import-x/no-useless-path-segments": "error",
51
- },
52
- }, {
53
- name: "@touchspot/eslint-config/languages/javascript/import-x/cjs",
54
- files: ["**/*.{cjs,cts}"],
55
- rules: {
56
- "import-x/no-import-module-exports": "error",
57
- },
58
- }, {
59
- name: "@touchspot/eslint-config/languages/javascript/perfectionist",
60
- files: ["**/*.{js,jsx,mjs,cjs,ts,tsx,mts,cts}"],
61
- plugins: {
62
- perfectionist: Perfectionist,
63
- },
64
- rules: {
65
- "perfectionist/sort-exports": ["error", { type: "natural" }],
66
- "perfectionist/sort-imports": [
67
- "error",
68
- {
69
- type: "natural",
70
- internalPattern: ["^#.+"],
71
- groups: [
72
- "side-effect",
73
- "builtin",
74
- "external",
75
- "internal",
76
- ["parent", "sibling", "index"],
77
- "object",
78
- "unknown",
79
- ],
80
- },
81
- ],
82
- "perfectionist/sort-named-exports": ["error", { type: "natural" }],
83
- "perfectionist/sort-named-imports": ["error", { type: "natural" }],
84
- },
85
- }, {
86
- name: "@touchspot/eslint-config/languages/javascript/unicorn",
87
- files: ["**/*.{js,jsx,mjs,cjs,ts,tsx,mts,cts}"],
88
- extends: [Unicorn.configs.recommended],
89
- rules: {
90
- "unicorn/consistent-function-scoping": ["error", { checkArrowFunctions: false }],
91
- "unicorn/filename-case": "off",
92
- "unicorn/no-array-callback-reference": "off",
93
- "unicorn/no-array-reduce": "off",
94
- "unicorn/no-null": "off",
95
- "unicorn/prefer-object-from-entries": "off",
96
- "unicorn/prevent-abbreviations": "off",
97
- },
98
- }, {
99
- name: "@touchspot/eslint-config/languages/javascript/unicorn/cjs",
100
- files: ["**/*.{cjs,cts}"],
101
- rules: {
102
- "unicorn/prefer-module": "off",
103
- },
104
- }, {
105
- name: "@touchspot/eslint-config/languages/javascript/unused-imports",
106
- files: ["**/*.{js,jsx,mjs,cjs,ts,tsx,mts,cts}"],
107
- plugins: {
108
- "unused-imports": UnusedImports,
109
- },
110
- rules: {
111
- "no-unused-vars": "off",
112
- "unused-imports/no-unused-imports": "error",
113
- "unused-imports/no-unused-vars": [
114
- "error",
115
- { args: "after-used", argsIgnorePattern: "^_", vars: "all", varsIgnorePattern: "^_" },
116
- ],
117
- },
118
- }, {
119
- name: "@touchspot/eslint-config/languages/javascript/check-file",
120
- files: ["**/*.{js,jsx,mjs,cjs,ts,tsx,mts,cts}"],
121
- ignores: ["**/*.d.*"],
122
- plugins: {
123
- "check-file": CheckFile,
124
- },
125
- rules: {
126
- "check-file/folder-naming-convention": ["error", { "**": "KEBAB_CASE" }],
127
- "check-file/filename-naming-convention": ["error", { "**": "KEBAB_CASE" }, { ignoreMiddleExtensions: true }],
128
- },
129
- });
130
- export const typescript = () => defineConfig({
131
- name: "@touchspot/eslint-config/languages/typescript/typescript-eslint",
132
- files: ["**/*.{ts,tsx,mts,cts}"],
133
- ignores: ["**/*.d.*"],
134
- extends: [...TSESLint.configs.strictTypeChecked, ...TSESLint.configs.stylisticTypeChecked],
135
- settings: {
136
- "import-x/resolver-next": [createTypeScriptImportResolver()],
137
- },
138
- rules: {
139
- "@typescript-eslint/consistent-type-definitions": ["error", "type"],
140
- "@typescript-eslint/consistent-type-exports": "error",
141
- "@typescript-eslint/consistent-type-imports": "error",
142
- "@typescript-eslint/explicit-member-accessibility": ["error", { accessibility: "no-public" }],
143
- "@typescript-eslint/naming-convention": [
144
- "error",
145
- {
146
- selector: "default",
147
- format: ["camelCase", "PascalCase", "UPPER_CASE"],
148
- leadingUnderscore: "forbid",
149
- trailingUnderscore: "forbid",
150
- },
151
- {
152
- selector: ["parameter", "variable"],
153
- format: ["camelCase", "PascalCase", "UPPER_CASE"],
154
- leadingUnderscore: "allow",
155
- trailingUnderscore: "forbid",
156
- },
157
- {
158
- selector: "typeLike",
159
- format: ["PascalCase", "UPPER_CASE"],
160
- leadingUnderscore: "forbid",
161
- trailingUnderscore: "forbid",
162
- },
163
- {
164
- selector: "default",
165
- modifiers: ["requiresQuotes"],
166
- format: null,
167
- },
168
- {
169
- selector: "property",
170
- filter: {
171
- regex: "^(_tag|__typename)$",
172
- match: true,
173
- },
174
- format: null,
175
- },
176
- ],
177
- "@typescript-eslint/no-namespace": ["error", { allowDeclarations: true }],
178
- "@typescript-eslint/no-import-type-side-effects": "error",
179
- "no-shadow": "off",
180
- "@typescript-eslint/no-shadow": ["error", { allow: ["_"] }],
181
- "@typescript-eslint/no-unnecessary-condition": ["error", { allowConstantLoopConditions: true }],
182
- "@typescript-eslint/no-unnecessary-qualifier": "error",
183
- "@typescript-eslint/no-unused-vars": "off",
184
- "@typescript-eslint/no-useless-empty-export": "error",
185
- "@typescript-eslint/parameter-properties": "error",
186
- "@typescript-eslint/prefer-nullish-coalescing": ["error", { ignoreTernaryTests: true }],
187
- "@typescript-eslint/prefer-readonly": "error",
188
- "@typescript-eslint/restrict-template-expressions": ["error", { allowNumber: true }],
189
- "@typescript-eslint/return-await": ["error", "always"],
190
- "@typescript-eslint/strict-boolean-expressions": [
191
- "error",
192
- { allowString: false, allowNumber: false, allowNullableObject: false },
193
- ],
194
- "@typescript-eslint/switch-exhaustiveness-check": "error",
195
- },
196
- }, {
197
- name: "@touchspot/eslint-config/languages/typescript/functional",
198
- files: ["**/*.{ts,tsx,mts,cts}"],
199
- ignores: ["**/*.d.*"],
200
- plugins: {
201
- functional: Functional,
202
- },
203
- rules: {
204
- "functional/immutable-data": [
205
- "error",
206
- {
207
- ignoreImmediateMutation: true,
208
- ignoreNonConstDeclarations: { treatParametersAsConst: true },
209
- },
210
- ],
211
- "functional/prefer-property-signatures": "error",
212
- "functional/prefer-readonly-type": "error",
213
- },
214
- }, {
215
- name: "@touchspot/eslint-config/languages/typescript/import-x",
216
- files: ["**/*.{ts,tsx,mts,cts}"],
217
- extends: [ImportX.flatConfigs.typescript],
218
- rules: {
219
- "import-x/consistent-type-specifier-style": "error",
220
- "import-x/no-default-export": "error",
221
- },
222
- }, {
223
- name: "@touchspot/eslint-config/languages/typescript/import-x/overrides",
224
- files: ["*.config.ts", "*.config.*.ts", "**/*.d.*"],
225
- rules: {
226
- "import-x/no-default-export": "off",
227
- },
228
- }, {
229
- name: "@touchspot/eslint-config/languages/typescript/no-relative-import-paths",
230
- files: ["**/*.{ts,tsx,mts,cts}"],
231
- ignores: ["**/*.d.*"],
232
- plugins: {
233
- "no-relative-import-paths": NoRelativeImportPaths,
234
- },
235
- rules: {
236
- "no-relative-import-paths/no-relative-import-paths": ["error", { allowSameFolder: true }],
237
- },
238
- });
239
- //# sourceMappingURL=languages.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"languages.js","sourceRoot":"","sources":["../../src/languages.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { Config } from "eslint/config";
2
- export declare const next: () => readonly Config[];
3
- //# sourceMappingURL=next.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"next.d.ts","sourceRoot":"","sources":["../../../src/presets/next.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAM5C,eAAO,MAAM,IAAI,QAAO,SAAS,MAAM,EAqCrC,CAAC"}
@@ -1,35 +0,0 @@
1
- import Next from "@next/eslint-plugin-next";
2
- import CheckFile from "eslint-plugin-check-file";
3
- import { defineConfig } from "eslint/config";
4
- import * as env from "../env.js";
5
- import { react } from "./react.js";
6
- export const next = () => defineConfig(...env.browser(), ...env.node(), ...react(), {
7
- name: "@touchspot/eslint-config/presets/next/ignore",
8
- ignores: [".next/**"],
9
- }, {
10
- name: "@touchspot/eslint-config/presets/next/next",
11
- files: ["**/*.{js,jsx,mjs,cjs,ts,tsx,mts,cts}"],
12
- plugins: {
13
- "@next/next": Next,
14
- },
15
- rules: {
16
- ...Next.configs.recommended.rules,
17
- ...Next.configs["core-web-vitals"].rules,
18
- },
19
- }, {
20
- name: "@touchspot/eslint-config/presets/next/check-file",
21
- files: ["{src/,}app/**/*.{ts,tsx}"],
22
- plugins: {
23
- "check-file": CheckFile,
24
- },
25
- rules: {
26
- "check-file/folder-naming-convention": ["error", { "**": "NEXT_JS_APP_ROUTER_CASE" }],
27
- },
28
- }, {
29
- name: "@touchspot/eslint-config/presets/next/import-x",
30
- files: ["{src/,}app/**/*.{ts,tsx}"],
31
- rules: {
32
- "import-x/no-default-export": "off",
33
- },
34
- });
35
- //# sourceMappingURL=next.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"next.js","sourceRoot":"","sources":["../../../src/presets/next.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,0BAA0B,CAAC;AAC5C,OAAO,SAAS,MAAM,0BAA0B,CAAC;AAEjD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,GAAG,kBAAoB;AACnC,OAAO,EAAE,KAAK,EAAE,mBAA8B;AAE9C,MAAM,CAAC,MAAM,IAAI,GAAG,GAAsB,EAAE,CAC3C,YAAY,CACX,GAAG,GAAG,CAAC,OAAO,EAAE,EAChB,GAAG,GAAG,CAAC,IAAI,EAAE,EACb,GAAG,KAAK,EAAE,EACV;IACC,IAAI,EAAE,8CAA8C;IACpD,OAAO,EAAE,CAAC,UAAU,CAAC;CACrB,EACD;IACC,IAAI,EAAE,4CAA4C;IAClD,KAAK,EAAE,CAAC,sCAAsC,CAAC;IAC/C,OAAO,EAAE;QACR,YAAY,EAAE,IAAyB;KACvC;IACD,KAAK,EAAE;QACN,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK;QACjC,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,KAAK;KACxC;CACD,EACD;IACC,IAAI,EAAE,kDAAkD;IACxD,KAAK,EAAE,CAAC,0BAA0B,CAAC;IACnC,OAAO,EAAE;QACR,YAAY,EAAE,SAAS;KACvB;IACD,KAAK,EAAE;QACN,qCAAqC,EAAE,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,CAAC;KACrF;CACD,EACD;IACC,IAAI,EAAE,gDAAgD;IACtD,KAAK,EAAE,CAAC,0BAA0B,CAAC;IACnC,KAAK,EAAE;QACN,4BAA4B,EAAE,KAAK;KACnC;CACD,CACD,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { Config } from "eslint/config";
2
- export declare const react: () => readonly Config[];
3
- //# sourceMappingURL=react.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../../src/presets/react.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAG5C,eAAO,MAAM,KAAK,QAAO,SAAS,MAAM,EA2DtC,CAAC"}
@@ -1,59 +0,0 @@
1
- import Functional from "eslint-plugin-functional";
2
- import React from "eslint-plugin-react";
3
- import ReactHooks from "eslint-plugin-react-hooks";
4
- import { defineConfig } from "eslint/config";
5
- export const react = () => defineConfig({
6
- name: "@touchspot/eslint-config/presets/react/parser",
7
- files: ["**/*.{js,jsx,tsx}"],
8
- languageOptions: {
9
- parserOptions: {
10
- jsxPragma: null,
11
- },
12
- },
13
- }, {
14
- name: "@touchspot/eslint-config/presets/react/functional",
15
- files: ["**/*.{ts,tsx,mts,cts}"],
16
- plugins: {
17
- functional: Functional,
18
- },
19
- rules: {
20
- "functional/immutable-data": [
21
- "error",
22
- {
23
- ignoreImmediateMutation: true,
24
- ignoreNonConstDeclarations: { treatParametersAsConst: true },
25
- ignoreAccessorPattern: ["ref.current", "*Ref.current", "*Atom.*"],
26
- },
27
- ],
28
- },
29
- }, {
30
- name: "@touchspot/eslint-config/presets/react/react",
31
- files: ["**/*.{js,jsx,tsx}"],
32
- extends: [React.configs.flat["recommended"] ?? {}, React.configs.flat["jsx-runtime"] ?? {}],
33
- settings: {
34
- react: {
35
- version: "detect",
36
- },
37
- },
38
- rules: {
39
- "react/button-has-type": "error",
40
- "react/iframe-missing-sandbox": "error",
41
- "react/jsx-boolean-value": "error",
42
- "react/jsx-no-useless-fragment": ["error", { allowExpressions: true }],
43
- "react/jsx-sort-props": [
44
- "error",
45
- { callbacksLast: true, noSortAlphabetically: true, reservedFirst: ["key", "ref"] },
46
- ],
47
- "react/self-closing-comp": "error",
48
- },
49
- }, {
50
- name: "@touchspot/eslint-config/presets/react/react-hooks",
51
- files: ["**/*.{js,jsx,mjs,cjs,ts,tsx,mts,cts}"],
52
- extends: [ReactHooks.configs.flat["recommended-latest"]],
53
- rules: {
54
- "react-hooks/exhaustive-deps": "error",
55
- "react-hooks/incompatible-library": "error",
56
- "react-hooks/unsupported-syntax": "error",
57
- },
58
- });
59
- //# sourceMappingURL=react.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"react.js","sourceRoot":"","sources":["../../../src/presets/react.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAClD,OAAO,KAAK,MAAM,qBAAqB,CAAC;AACxC,OAAO,UAAU,MAAM,2BAA2B,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,CAAC,MAAM,KAAK,GAAG,GAAsB,EAAE,CAC5C,YAAY,CACX;IACC,IAAI,EAAE,+CAA+C;IACrD,KAAK,EAAE,CAAC,mBAAmB,CAAC;IAC5B,eAAe,EAAE;QAChB,aAAa,EAAE;YACd,SAAS,EAAE,IAAI;SACf;KACD;CACD,EACD;IACC,IAAI,EAAE,mDAAmD;IACzD,KAAK,EAAE,CAAC,uBAAuB,CAAC;IAChC,OAAO,EAAE;QACR,UAAU,EAAE,UAAoB;KAChC;IACD,KAAK,EAAE;QACN,2BAA2B,EAAE;YAC5B,OAAO;YACP;gBACC,uBAAuB,EAAE,IAAI;gBAC7B,0BAA0B,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE;gBAC5D,qBAAqB,EAAE,CAAC,aAAa,EAAE,cAAc,EAAE,SAAS,CAAC;aACjE;SACD;KACD;CACD,EACD;IACC,IAAI,EAAE,8CAA8C;IACpD,KAAK,EAAE,CAAC,mBAAmB,CAAC;IAC5B,OAAO,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;IAC3F,QAAQ,EAAE;QACT,KAAK,EAAE;YACN,OAAO,EAAE,QAAQ;SACjB;KACD;IACD,KAAK,EAAE;QACN,uBAAuB,EAAE,OAAO;QAChC,8BAA8B,EAAE,OAAO;QACvC,yBAAyB,EAAE,OAAO;QAClC,+BAA+B,EAAE,CAAC,OAAO,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;QACtE,sBAAsB,EAAE;YACvB,OAAO;YACP,EAAE,aAAa,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;SAClF;QACD,yBAAyB,EAAE,OAAO;KAClC;CACD,EACD;IACC,IAAI,EAAE,oDAAoD;IAC1D,KAAK,EAAE,CAAC,sCAAsC,CAAC;IAC/C,OAAO,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACxD,KAAK,EAAE;QACN,6BAA6B,EAAE,OAAO;QACtC,kCAAkC,EAAE,OAAO;QAC3C,gCAAgC,EAAE,OAAO;KACzC;CACD,CACD,CAAC"}
@@ -1,13 +0,0 @@
1
- import type { Matcher } from "eslint-plugin-better-tailwindcss/api/types";
2
- import type { Config } from "eslint/config";
3
- type Options = {
4
- readonly entryPoint?: string | undefined;
5
- readonly tailwindConfig?: string | undefined;
6
- readonly attributes?: readonly Matcher[] | undefined;
7
- readonly callees?: readonly Matcher[] | undefined;
8
- readonly variables?: readonly Matcher[] | undefined;
9
- readonly tags?: readonly Matcher[] | undefined;
10
- };
11
- export declare const tailwindcss: ({ entryPoint, tailwindConfig, attributes, callees, variables, tags, }?: Options) => readonly Config[];
12
- export {};
13
- //# sourceMappingURL=tailwindcss.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tailwindcss.d.ts","sourceRoot":"","sources":["../../../src/presets/tailwindcss.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4CAA4C,CAAC;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAG5C,KAAK,OAAO,GAAG;IACd,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,CAAC;IACrD,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,CAAC;IAClD,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,CAAC;IACpD,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,CAAC;CAC/C,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,wEAOzB,OAAY,KAAG,SAAS,MAAM,EA2B9B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tailwindcss.js","sourceRoot":"","sources":["../../../src/presets/tailwindcss.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AAGjE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAW7C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAC3B,UAAU,EACV,cAAc,EACd,UAAU,EACV,OAAO,EACP,SAAS,EACT,IAAI,MACQ,EAAE,EAAqB,EAAE,CACrC,YAAY,CAAC;IACZ,IAAI,EAAE,0DAA0D;IAChE,KAAK,EAAE,CAAC,sCAAsC,CAAC;IAC/C,OAAO,EAAE;QACR,oBAAoB,EAAE,iBAAiB;KACvC;IACD,QAAQ,EAAE;QACT,oBAAoB,EAAE;YACrB,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;YAC/C,GAAG,CAAC,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC;YACvD,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;YAC/C,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;YACzC,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;YAC7C,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;SACnC;KACD;IACD,KAAK,EAAE;QACN,GAAG,iBAAiB,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,KAAK;QACxD,mDAAmD,EAAE,KAAK;QAC1D,0DAA0D,EAAE,OAAO;QACnE,qDAAqD,EAAE,KAAK;QAC5D,uDAAuD,EAAE,OAAO;QAChE,8CAA8C,EAAE,OAAO;QACvD,0CAA0C,EAAE,OAAO;QACnD,8CAA8C,EAAE,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;KACpF;CACD,CAAC,CAAC"}