@touchspot/eslint-config 4.0.3 → 5.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 (64) hide show
  1. package/README.md +12 -12
  2. package/dist/lib/frameworks/next.d.ts +2 -0
  3. package/dist/lib/frameworks/next.d.ts.map +1 -0
  4. package/dist/lib/frameworks/next.js +2 -0
  5. package/dist/lib/frameworks/next.js.map +1 -0
  6. package/dist/lib/frameworks/react.d.ts +2 -0
  7. package/dist/lib/frameworks/react.d.ts.map +1 -0
  8. package/dist/lib/frameworks/react.js +2 -0
  9. package/dist/lib/frameworks/react.js.map +1 -0
  10. package/dist/lib/frameworks/tailwindcss.d.ts +2 -0
  11. package/dist/lib/frameworks/tailwindcss.d.ts.map +1 -0
  12. package/dist/lib/frameworks/tailwindcss.js +2 -0
  13. package/dist/lib/frameworks/tailwindcss.js.map +1 -0
  14. package/dist/src/config.d.ts +11 -5
  15. package/dist/src/config.d.ts.map +1 -1
  16. package/dist/src/config.js +3 -3
  17. package/dist/src/config.js.map +1 -1
  18. package/dist/src/frameworks/next.d.ts +2 -0
  19. package/dist/src/frameworks/next.d.ts.map +1 -0
  20. package/dist/src/{addons → frameworks}/next.js +2 -2
  21. package/dist/src/frameworks/next.js.map +1 -0
  22. package/dist/src/frameworks/react.d.ts +2 -0
  23. package/dist/src/frameworks/react.d.ts.map +1 -0
  24. package/dist/src/{addons → frameworks}/react.js +1 -1
  25. package/dist/src/frameworks/react.js.map +1 -0
  26. package/dist/src/frameworks/tailwindcss.d.ts +20 -0
  27. package/dist/src/frameworks/tailwindcss.d.ts.map +1 -0
  28. package/dist/src/frameworks/tailwindcss.js +4 -0
  29. package/dist/src/frameworks/tailwindcss.js.map +1 -0
  30. package/dist/src/rulesets/better-tailwindcss.d.ts +2 -19
  31. package/dist/src/rulesets/better-tailwindcss.d.ts.map +1 -1
  32. package/dist/src/rulesets/better-tailwindcss.js +2 -2
  33. package/dist/src/rulesets/better-tailwindcss.js.map +1 -1
  34. package/dist/src/rulesets/functional.d.ts +2 -0
  35. package/dist/src/rulesets/functional.d.ts.map +1 -1
  36. package/dist/src/rulesets/functional.js +17 -8
  37. package/dist/src/rulesets/functional.js.map +1 -1
  38. package/dist/src/rulesets/tseslint.d.ts +3 -6
  39. package/dist/src/rulesets/tseslint.d.ts.map +1 -1
  40. package/dist/src/rulesets/tseslint.js +25 -7
  41. package/dist/src/rulesets/tseslint.js.map +1 -1
  42. package/package.json +8 -9
  43. package/dist/lib/addons/next.d.ts +0 -2
  44. package/dist/lib/addons/next.d.ts.map +0 -1
  45. package/dist/lib/addons/next.js +0 -2
  46. package/dist/lib/addons/next.js.map +0 -1
  47. package/dist/lib/addons/react.d.ts +0 -2
  48. package/dist/lib/addons/react.d.ts.map +0 -1
  49. package/dist/lib/addons/react.js +0 -2
  50. package/dist/lib/addons/react.js.map +0 -1
  51. package/dist/lib/addons/tailwindcss.d.ts +0 -2
  52. package/dist/lib/addons/tailwindcss.d.ts.map +0 -1
  53. package/dist/lib/addons/tailwindcss.js +0 -2
  54. package/dist/lib/addons/tailwindcss.js.map +0 -1
  55. package/dist/src/addons/next.d.ts +0 -2
  56. package/dist/src/addons/next.d.ts.map +0 -1
  57. package/dist/src/addons/next.js.map +0 -1
  58. package/dist/src/addons/react.d.ts +0 -2
  59. package/dist/src/addons/react.d.ts.map +0 -1
  60. package/dist/src/addons/react.js.map +0 -1
  61. package/dist/src/addons/tailwindcss.d.ts +0 -5
  62. package/dist/src/addons/tailwindcss.d.ts.map +0 -1
  63. package/dist/src/addons/tailwindcss.js +0 -4
  64. package/dist/src/addons/tailwindcss.js.map +0 -1
package/README.md CHANGED
@@ -12,21 +12,21 @@ pnpm add -D @touchspot/eslint-config eslint typescript
12
12
  import config from "@touchspot/eslint-config";
13
13
 
14
14
  export default config({
15
- tsconfigRootDir: import.meta.dirname,
15
+ rootDir: import.meta.dirname,
16
16
  });
17
17
  ```
18
18
 
19
- ### Addons
19
+ ### Frameworks
20
20
 
21
21
  #### React
22
22
 
23
23
  ```js
24
24
  import config from "@touchspot/eslint-config";
25
- import react from "@touchspot/eslint-config/addons/react";
25
+ import react from "@touchspot/eslint-config/react";
26
26
 
27
27
  export default config(
28
28
  {
29
- tsconfigRootDir: import.meta.dirname,
29
+ rootDir: import.meta.dirname,
30
30
  },
31
31
  react(),
32
32
  );
@@ -36,11 +36,11 @@ export default config(
36
36
 
37
37
  ```js
38
38
  import config from "@touchspot/eslint-config";
39
- import next from "@touchspot/eslint-config/addons/next";
39
+ import next from "@touchspot/eslint-config/next";
40
40
 
41
41
  export default config(
42
42
  {
43
- tsconfigRootDir: import.meta.dirname,
43
+ rootDir: import.meta.dirname,
44
44
  },
45
45
  next(),
46
46
  );
@@ -50,11 +50,11 @@ export default config(
50
50
 
51
51
  ```js
52
52
  import config from "@touchspot/eslint-config";
53
- import tailwindcss from "@touchspot/eslint-config/addons/tailwindcss";
53
+ import tailwindcss from "@touchspot/eslint-config/tailwindcss";
54
54
 
55
55
  export default config(
56
56
  {
57
- tsconfigRootDir: import.meta.dirname,
57
+ rootDir: import.meta.dirname,
58
58
  },
59
59
  tailwindcss({
60
60
  entryPoint: "path/to/css",
@@ -66,11 +66,11 @@ export default config(
66
66
 
67
67
  ```js
68
68
  import config from "@touchspot/eslint-config";
69
- import tailwindcss from "@touchspot/eslint-config/addons/tailwindcss";
69
+ import tailwindcss from "@touchspot/eslint-config/tailwindcss";
70
70
 
71
71
  export default config(
72
72
  {
73
- tsconfigRootDir: import.meta.dirname,
73
+ rootDir: import.meta.dirname,
74
74
  },
75
75
  tailwindcss({
76
76
  version: 3,
@@ -79,14 +79,14 @@ export default config(
79
79
  );
80
80
  ```
81
81
 
82
- #### Environment helpers
82
+ ### Environment helpers
83
83
 
84
84
  ```js
85
85
  import config, { env } from "@touchspot/eslint-config";
86
86
 
87
87
  export default config(
88
88
  {
89
- tsconfigRootDir: import.meta.dirname,
89
+ rootDir: import.meta.dirname,
90
90
  },
91
91
  env.node(),
92
92
  env.browser(),
@@ -0,0 +1,2 @@
1
+ export { next as default } from "../../src/frameworks/next.js";
2
+ //# sourceMappingURL=next.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"next.d.ts","sourceRoot":"","sources":["../../../lib/frameworks/next.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,OAAO,EAAE,qCAAgC"}
@@ -0,0 +1,2 @@
1
+ export { next as default } from "../../src/frameworks/next.js";
2
+ //# sourceMappingURL=next.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"next.js","sourceRoot":"","sources":["../../../lib/frameworks/next.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,OAAO,EAAE,qCAAgC"}
@@ -0,0 +1,2 @@
1
+ export { react as default } from "../../src/frameworks/react.js";
2
+ //# sourceMappingURL=react.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../../lib/frameworks/react.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,sCAAiC"}
@@ -0,0 +1,2 @@
1
+ export { react as default } from "../../src/frameworks/react.js";
2
+ //# sourceMappingURL=react.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react.js","sourceRoot":"","sources":["../../../lib/frameworks/react.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,sCAAiC"}
@@ -0,0 +1,2 @@
1
+ export { tailwindcss as default } from "../../src/frameworks/tailwindcss.js";
2
+ //# sourceMappingURL=tailwindcss.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tailwindcss.d.ts","sourceRoot":"","sources":["../../../lib/frameworks/tailwindcss.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,OAAO,EAAE,4CAAuC"}
@@ -0,0 +1,2 @@
1
+ export { tailwindcss as default } from "../../src/frameworks/tailwindcss.js";
2
+ //# sourceMappingURL=tailwindcss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tailwindcss.js","sourceRoot":"","sources":["../../../lib/frameworks/tailwindcss.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,OAAO,EAAE,4CAAuC"}
@@ -1,6 +1,12 @@
1
- import { defineConfig } from "eslint/config";
2
- import { tseslintRuleset } from "./rulesets/tseslint.js";
3
- type Options = tseslintRuleset.Options;
4
- export declare const config: (options: Options, ...addons: Parameters<typeof defineConfig>) => import("eslint/config").Config[];
5
- export {};
1
+ import type { ConfigWithExtendsArray } from "@eslint/config-helpers";
2
+ export declare namespace config {
3
+ type Options = {
4
+ readonly rootDir: string;
5
+ readonly tsconfig?: string;
6
+ readonly enableTypeAwareRules?: {
7
+ readonly js?: "all" | "auto";
8
+ } | false;
9
+ };
10
+ }
11
+ export declare const config: (options: config.Options, ...addons: ConfigWithExtendsArray) => import("eslint/config").Config[];
6
12
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAiB,MAAM,eAAe,CAAC;AAQ5D,OAAO,EAAE,eAAe,EAAE,+BAAkC;AAI5D,KAAK,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC;AAEvC,eAAO,MAAM,MAAM,GAAI,SAAS,OAAO,EAAE,GAAG,QAAQ,UAAU,CAAC,OAAO,YAAY,CAAC,qCAyCjF,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAcrE,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC/B,KAAK,OAAO,GAAG;QACd,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,oBAAoB,CAAC,EAAE;YAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;SAAE,GAAG,KAAK,CAAC;KACzE,CAAC;CACF;AAED,eAAO,MAAM,MAAM,GAAI,SAAS,MAAM,CAAC,OAAO,EAAE,GAAG,QAAQ,sBAAsB,qCA2C/E,CAAC"}
@@ -2,11 +2,11 @@ import Prettier from "eslint-config-prettier";
2
2
  import { defineConfig, globalIgnores } from "eslint/config";
3
3
  import { checkFileRuleset } from "./rulesets/check-file.js";
4
4
  import { eslintRuleset } from "./rulesets/eslint.js";
5
- import { functionalRuleset } from "./rulesets/functional.js";
5
+ import { autoDisableTypeAwareFunctionalRules, functionalRuleset } from "./rulesets/functional.js";
6
6
  import { importXRuleset } from "./rulesets/import-x.js";
7
7
  import { noRelativeImportPathsRuleset } from "./rulesets/no-relative-import-paths.js";
8
8
  import { perfectionistRuleset } from "./rulesets/perfectionist.js";
9
- import { tseslintRuleset } from "./rulesets/tseslint.js";
9
+ import { autoDisableTypeAwareTseslintRules, tseslintRuleset } from "./rulesets/tseslint.js";
10
10
  import { unicornRuleset } from "./rulesets/unicorn.js";
11
11
  import { unusedImportsRuleset } from "./rulesets/unused-imports.js";
12
12
  export const config = (options, ...addons) => defineConfig(globalIgnores([".cache/", ".turbo/", "coverage/", "dist/"]), {
@@ -32,5 +32,5 @@ export const config = (options, ...addons) => defineConfig(globalIgnores([".cach
32
32
  languageOptions: {
33
33
  sourceType: "commonjs",
34
34
  },
35
- }, eslintRuleset(), tseslintRuleset(options), unicornRuleset(), importXRuleset(), unusedImportsRuleset(), noRelativeImportPathsRuleset(), functionalRuleset(), perfectionistRuleset(), checkFileRuleset(), addons, Prettier);
35
+ }, eslintRuleset(), tseslintRuleset(options), unicornRuleset(), importXRuleset(), unusedImportsRuleset(), noRelativeImportPathsRuleset(), functionalRuleset(), perfectionistRuleset(), checkFileRuleset(), addons, autoDisableTypeAwareTseslintRules(options), autoDisableTypeAwareFunctionalRules(options), Prettier);
36
36
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE5D,OAAO,EAAE,gBAAgB,EAAE,iCAAoC;AAC/D,OAAO,EAAE,aAAa,EAAE,6BAAgC;AACxD,OAAO,EAAE,iBAAiB,EAAE,iCAAoC;AAChE,OAAO,EAAE,cAAc,EAAE,+BAAkC;AAC3D,OAAO,EAAE,4BAA4B,EAAE,+CAAkD;AACzF,OAAO,EAAE,oBAAoB,EAAE,oCAAuC;AACtE,OAAO,EAAE,eAAe,EAAE,+BAAkC;AAC5D,OAAO,EAAE,cAAc,EAAE,8BAAiC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,qCAAwC;AAIvE,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,OAAgB,EAAE,GAAG,MAAuC,EAAE,EAAE,CACtF,YAAY,CACX,aAAa,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,EAC3D;IACC,IAAI,EAAE,iCAAiC;IACvC,aAAa,EAAE;QACd,6BAA6B,EAAE,OAAO;KACtC;CACD,EACD;IACC,IAAI,EAAE,mCAAmC;IACzC,KAAK,EAAE,CAAC,sCAAsC,CAAC;IAC/C,eAAe,EAAE;QAChB,WAAW,EAAE,QAAQ;KACrB;CACD,EACD;IACC,IAAI,EAAE,uCAAuC;IAC7C,KAAK,EAAE,CAAC,8BAA8B,CAAC;IACvC,eAAe,EAAE;QAChB,UAAU,EAAE,QAAQ;KACpB;CACD,EACD;IACC,IAAI,EAAE,uCAAuC;IAC7C,KAAK,EAAE,CAAC,gBAAgB,CAAC;IACzB,eAAe,EAAE;QAChB,UAAU,EAAE,UAAU;KACtB;CACD,EACD,aAAa,EAAE,EACf,eAAe,CAAC,OAAO,CAAC,EACxB,cAAc,EAAE,EAChB,cAAc,EAAE,EAChB,oBAAoB,EAAE,EACtB,4BAA4B,EAAE,EAC9B,iBAAiB,EAAE,EACnB,oBAAoB,EAAE,EACtB,gBAAgB,EAAE,EAClB,MAAM,EACN,QAAQ,CACR,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE5D,OAAO,EAAE,gBAAgB,EAAE,iCAAoC;AAC/D,OAAO,EAAE,aAAa,EAAE,6BAAgC;AACxD,OAAO,EAAE,mCAAmC,EAAE,iBAAiB,EAAE,iCAAoC;AACrG,OAAO,EAAE,cAAc,EAAE,+BAAkC;AAC3D,OAAO,EAAE,4BAA4B,EAAE,+CAAkD;AACzF,OAAO,EAAE,oBAAoB,EAAE,oCAAuC;AACtE,OAAO,EAAE,iCAAiC,EAAE,eAAe,EAAE,+BAAkC;AAC/F,OAAO,EAAE,cAAc,EAAE,8BAAiC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,qCAAwC;AAUvE,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,OAAuB,EAAE,GAAG,MAA8B,EAAE,EAAE,CACpF,YAAY,CACX,aAAa,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,EAC3D;IACC,IAAI,EAAE,iCAAiC;IACvC,aAAa,EAAE;QACd,6BAA6B,EAAE,OAAO;KACtC;CACD,EACD;IACC,IAAI,EAAE,mCAAmC;IACzC,KAAK,EAAE,CAAC,sCAAsC,CAAC;IAC/C,eAAe,EAAE;QAChB,WAAW,EAAE,QAAQ;KACrB;CACD,EACD;IACC,IAAI,EAAE,uCAAuC;IAC7C,KAAK,EAAE,CAAC,8BAA8B,CAAC;IACvC,eAAe,EAAE;QAChB,UAAU,EAAE,QAAQ;KACpB;CACD,EACD;IACC,IAAI,EAAE,uCAAuC;IAC7C,KAAK,EAAE,CAAC,gBAAgB,CAAC;IACzB,eAAe,EAAE;QAChB,UAAU,EAAE,UAAU;KACtB;CACD,EACD,aAAa,EAAE,EACf,eAAe,CAAC,OAAO,CAAC,EACxB,cAAc,EAAE,EAChB,cAAc,EAAE,EAChB,oBAAoB,EAAE,EACtB,4BAA4B,EAAE,EAC9B,iBAAiB,EAAE,EACnB,oBAAoB,EAAE,EACtB,gBAAgB,EAAE,EAClB,MAAM,EACN,iCAAiC,CAAC,OAAO,CAAC,EAC1C,mCAAmC,CAAC,OAAO,CAAC,EAC5C,QAAQ,CACR,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const next: () => import("eslint/config").Config[];
2
+ //# sourceMappingURL=next.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"next.d.ts","sourceRoot":"","sources":["../../../src/frameworks/next.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,IAAI,wCAC6F,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import { defineConfig } from "eslint/config";
2
- import { reactAddon } from "./react.js";
3
2
  import * as env from "../env.js";
3
+ import { react } from "./react.js";
4
4
  import { checkFileRulesetNext } from "../rulesets/check-file.js";
5
5
  import { importXRulesetNext } from "../rulesets/import-x.js";
6
6
  import { nextRuleset } from "../rulesets/next.js";
7
- export const nextAddon = () => defineConfig(env.browser(), env.node(), reactAddon(), nextRuleset(), checkFileRulesetNext(), importXRulesetNext());
7
+ export const next = () => defineConfig(env.browser(), env.node(), react(), nextRuleset(), checkFileRulesetNext(), importXRulesetNext());
8
8
  //# sourceMappingURL=next.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"next.js","sourceRoot":"","sources":["../../../src/frameworks/next.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,GAAG,kBAAoB;AACnC,OAAO,EAAE,KAAK,EAAE,mBAAiC;AACjD,OAAO,EAAE,oBAAoB,EAAE,kCAAoC;AACnE,OAAO,EAAE,kBAAkB,EAAE,gCAAkC;AAC/D,OAAO,EAAE,WAAW,EAAE,4BAA8B;AAEpD,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,EAAE,CACxB,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,EAAE,oBAAoB,EAAE,EAAE,kBAAkB,EAAE,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const react: () => import("eslint/config").Config[];
2
+ //# sourceMappingURL=react.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../../src/frameworks/react.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,KAAK,wCAAmG,CAAC"}
@@ -3,5 +3,5 @@ import * as env from "../env.js";
3
3
  import { functionalRulesetReact } from "../rulesets/functional.js";
4
4
  import { reactHooksRuleset } from "../rulesets/react-hooks.js";
5
5
  import { reactRuleset } from "../rulesets/react.js";
6
- export const reactAddon = () => defineConfig(env.browser(), reactRuleset(), reactHooksRuleset(), functionalRulesetReact());
6
+ export const react = () => defineConfig(env.browser(), reactRuleset(), reactHooksRuleset(), functionalRulesetReact());
7
7
  //# sourceMappingURL=react.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react.js","sourceRoot":"","sources":["../../../src/frameworks/react.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,GAAG,kBAAoB;AACnC,OAAO,EAAE,sBAAsB,EAAE,kCAAoC;AACrE,OAAO,EAAE,iBAAiB,EAAE,mCAAqC;AACjE,OAAO,EAAE,YAAY,EAAE,6BAA+B;AAEtD,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,EAAE,iBAAiB,EAAE,EAAE,sBAAsB,EAAE,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { Matcher } from "eslint-plugin-better-tailwindcss/api/types";
2
+ export declare namespace tailwindcss {
3
+ type CommonOptions = {
4
+ readonly attributes?: readonly Matcher[] | undefined;
5
+ readonly callees?: readonly Matcher[] | undefined;
6
+ readonly variables?: readonly Matcher[] | undefined;
7
+ readonly tags?: readonly Matcher[] | undefined;
8
+ };
9
+ type V4Options = {
10
+ readonly version?: 4;
11
+ readonly entry: string;
12
+ };
13
+ type V3Options = {
14
+ readonly version: 3;
15
+ readonly config?: string;
16
+ };
17
+ type Options = CommonOptions & (V3Options | V4Options);
18
+ }
19
+ export declare const tailwindcss: (options: tailwindcss.Options) => import("eslint/config").Config[];
20
+ //# sourceMappingURL=tailwindcss.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tailwindcss.d.ts","sourceRoot":"","sources":["../../../src/frameworks/tailwindcss.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4CAA4C,CAAC;AAK1E,MAAM,CAAC,OAAO,WAAW,WAAW,CAAC;IACpC,KAAK,aAAa,GAAG;QACpB,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,CAAC;QACrD,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,CAAC;QAClD,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,CAAC;QACpD,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,CAAC;KAC/C,CAAC;IAEF,KAAK,SAAS,GAAG;QAChB,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;KACvB,CAAC;IAEF,KAAK,SAAS,GAAG;QAChB,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;QACpB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;IAEF,KAAK,OAAO,GAAG,aAAa,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;CACvD;AAED,eAAO,MAAM,WAAW,GAAI,SAAS,WAAW,CAAC,OAAO,qCAAqD,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { defineConfig } from "eslint/config";
2
+ import { betterTailwindCSSRulesets } from "../rulesets/better-tailwindcss.js";
3
+ export const tailwindcss = (options) => defineConfig(betterTailwindCSSRulesets(options));
4
+ //# sourceMappingURL=tailwindcss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tailwindcss.js","sourceRoot":"","sources":["../../../src/frameworks/tailwindcss.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,EAAE,yBAAyB,EAAE,0CAA4C;AAuBhF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,OAA4B,EAAE,EAAE,CAAC,YAAY,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAAC"}
@@ -1,20 +1,3 @@
1
- import type { Matcher } from "eslint-plugin-better-tailwindcss/api/types";
2
- export declare namespace betterTailwindCSSRulesets {
3
- type CommonOptions = {
4
- readonly attributes?: readonly Matcher[] | undefined;
5
- readonly callees?: readonly Matcher[] | undefined;
6
- readonly variables?: readonly Matcher[] | undefined;
7
- readonly tags?: readonly Matcher[] | undefined;
8
- };
9
- type V4Options = {
10
- readonly version?: 4;
11
- readonly entryPoint: string;
12
- };
13
- type V3Options = {
14
- readonly version: 3;
15
- readonly tailwindConfig?: string;
16
- };
17
- type Options = CommonOptions & (V3Options | V4Options);
18
- }
19
- export declare const betterTailwindCSSRulesets: ({ attributes, callees, variables, tags, ...options }: betterTailwindCSSRulesets.Options) => import("eslint/config").Config[];
1
+ import type { tailwindcss } from "../frameworks/tailwindcss.js";
2
+ export declare const betterTailwindCSSRulesets: ({ attributes, callees, variables, tags, ...options }: tailwindcss.Options) => import("eslint/config").Config[];
20
3
  //# sourceMappingURL=better-tailwindcss.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"better-tailwindcss.d.ts","sourceRoot":"","sources":["../../../src/rulesets/better-tailwindcss.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4CAA4C,CAAC;AAG1E,MAAM,CAAC,OAAO,WAAW,yBAAyB,CAAC;IAClD,KAAK,aAAa,GAAG;QACpB,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,CAAC;QACrD,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,CAAC;QAClD,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,CAAC;QACpD,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,CAAC;KAC/C,CAAC;IAEF,KAAK,SAAS,GAAG;QAChB,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;KAC5B,CAAC;IAEF,KAAK,SAAS,GAAG;QAChB,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;QACpB,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;KACjC,CAAC;IAEF,KAAK,OAAO,GAAG,aAAa,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;CACvD;AAED,eAAO,MAAM,yBAAyB,GAAI,sDAMvC,yBAAyB,CAAC,OAAO,qCA4BjC,CAAC"}
1
+ {"version":3,"file":"better-tailwindcss.d.ts","sourceRoot":"","sources":["../../../src/rulesets/better-tailwindcss.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,qCAAuC;AAElE,eAAO,MAAM,yBAAyB,GAAI,sDAAsD,WAAW,CAAC,OAAO,qCA4BhH,CAAC"}
@@ -9,8 +9,8 @@ export const betterTailwindCSSRulesets = ({ attributes, callees, variables, tags
9
9
  settings: {
10
10
  "better-tailwindcss": {
11
11
  ...(options.version === 3
12
- ? { tailwindConfig: options.tailwindConfig ?? "tailwind.config.js" }
13
- : { entryPoint: options.entryPoint }),
12
+ ? { tailwindConfig: options.config ?? "tailwind.config.js" }
13
+ : { entryPoint: options.entry }),
14
14
  ...(attributes == null ? null : { attributes }),
15
15
  ...(callees == null ? null : { callees }),
16
16
  ...(variables == null ? null : { variables }),
@@ -1 +1 @@
1
- {"version":3,"file":"better-tailwindcss.js","sourceRoot":"","sources":["../../../src/rulesets/better-tailwindcss.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AAEjE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAuB7C,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,EACzC,UAAU,EACV,OAAO,EACP,SAAS,EACT,IAAI,EACJ,GAAG,OAAO,EACyB,EAAE,EAAE,CACvC,YAAY,CAAC;IACZ,IAAI,EAAE,sDAAsD;IAC5D,KAAK,EAAE,CAAC,sCAAsC,CAAC;IAC/C,OAAO,EAAE;QACR,oBAAoB,EAAE,iBAAiB;KACvC;IACD,QAAQ,EAAE;QACT,oBAAoB,EAAE;YACrB,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,CAAC;gBACxB,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,oBAAoB,EAAE;gBACpE,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;YACtC,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,0DAA0D,EAAE,OAAO;QACnE,uDAAuD,EAAE,OAAO;QAChE,8CAA8C,EAAE,OAAO;QACvD,2CAA2C,EAAE,OAAO;QACpD,0CAA0C,EAAE,OAAO;QACnD,yCAAyC,EAAE,OAAO;QAClD,8CAA8C,EAAE,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;QACpF,4CAA4C,EAAE,OAAO;KACrD;CACD,CAAC,CAAC"}
1
+ {"version":3,"file":"better-tailwindcss.js","sourceRoot":"","sources":["../../../src/rulesets/better-tailwindcss.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAI7C,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,EAAuB,EAAE,EAAE,CACtH,YAAY,CAAC;IACZ,IAAI,EAAE,sDAAsD;IAC5D,KAAK,EAAE,CAAC,sCAAsC,CAAC;IAC/C,OAAO,EAAE;QACR,oBAAoB,EAAE,iBAAiB;KACvC;IACD,QAAQ,EAAE;QACT,oBAAoB,EAAE;YACrB,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,CAAC;gBACxB,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,MAAM,IAAI,oBAAoB,EAAE;gBAC5D,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;YACjC,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,0DAA0D,EAAE,OAAO;QACnE,uDAAuD,EAAE,OAAO;QAChE,8CAA8C,EAAE,OAAO;QACvD,2CAA2C,EAAE,OAAO;QACpD,0CAA0C,EAAE,OAAO;QACnD,yCAAyC,EAAE,OAAO;QAClD,8CAA8C,EAAE,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;QACpF,4CAA4C,EAAE,OAAO;KACrD;CACD,CAAC,CAAC"}
@@ -1,3 +1,5 @@
1
+ import type { config } from "../config.js";
1
2
  export declare const functionalRuleset: () => import("eslint/config").Config[];
2
3
  export declare const functionalRulesetReact: () => import("eslint/config").Config[];
4
+ export declare const autoDisableTypeAwareFunctionalRules: (options: config.Options) => import("eslint/config").Config[];
3
5
  //# sourceMappingURL=functional.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"functional.d.ts","sourceRoot":"","sources":["../../../src/rulesets/functional.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,iBAAiB,wCA0B5B,CAAC;AAEH,eAAO,MAAM,sBAAsB,wCAsBjC,CAAC"}
1
+ {"version":3,"file":"functional.d.ts","sourceRoot":"","sources":["../../../src/rulesets/functional.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,qBAAuB;AAE7C,eAAO,MAAM,iBAAiB,wCAmB3B,CAAC;AAEJ,eAAO,MAAM,sBAAsB,wCAehC,CAAC;AAEJ,eAAO,MAAM,mCAAmC,GAAI,SAAS,MAAM,CAAC,OAAO,qCAgB1E,CAAC"}
@@ -18,10 +18,6 @@ export const functionalRuleset = () => defineConfig({
18
18
  "functional/prefer-property-signatures": "error",
19
19
  "functional/prefer-readonly-type": "error",
20
20
  },
21
- }, {
22
- name: "@touchspot/eslint-config/rulesets/functional/disable-type-checked",
23
- files: ["**/*.{js,jsx,mjs,cjs}"],
24
- extends: [Functional.configs.disableTypeChecked],
25
21
  });
26
22
  export const functionalRulesetReact = () => defineConfig({
27
23
  name: "@touchspot/eslint-config/rulesets/functional/react",
@@ -37,9 +33,22 @@ export const functionalRulesetReact = () => defineConfig({
37
33
  },
38
34
  ],
39
35
  },
40
- }, {
41
- name: "@touchspot/eslint-config/rulesets/functional/disable-type-checked",
42
- files: ["**/*.{js,jsx,mjs,cjs}"],
43
- extends: [Functional.configs.disableTypeChecked],
44
36
  });
37
+ export const autoDisableTypeAwareFunctionalRules = (options) => {
38
+ if (options.enableTypeAwareRules === false) {
39
+ return defineConfig({
40
+ name: "@touchspot/eslint-config/rulesets/functional/disable-type-aware/all",
41
+ files: ["**/*.{js,jsx,mjs,cjs,ts,tsx,mts,cts}"],
42
+ extends: [Functional.configs.disableTypeChecked],
43
+ });
44
+ }
45
+ if (options.enableTypeAwareRules?.js == null) {
46
+ return defineConfig({
47
+ name: "@touchspot/eslint-config/rulesets/functional/disable-type-aware/js",
48
+ files: ["**/*.{js,jsx,mjs,cjs}"],
49
+ extends: [Functional.configs.disableTypeChecked],
50
+ });
51
+ }
52
+ return [];
53
+ };
45
54
  //# sourceMappingURL=functional.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"functional.js","sourceRoot":"","sources":["../../../src/rulesets/functional.ts"],"names":[],"mappings":"AAEA,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE,CACrC,YAAY,CACX;IACC,IAAI,EAAE,8CAA8C;IACpD,KAAK,EAAE,CAAC,sCAAsC,CAAC;IAC/C,OAAO,EAAE,CAAC,UAAU,CAAC;IACrB,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;aAC5D;SACD;QACD,uCAAuC,EAAE,OAAO;QAChD,iCAAiC,EAAE,OAAO;KAC1C;CACD,EACD;IACC,IAAI,EAAE,mEAAmE;IACzE,KAAK,EAAE,CAAC,uBAAuB,CAAC;IAChC,OAAO,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,kBAAoC,CAAC;CAClE,CACD,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,EAAE,CAC1C,YAAY,CACX;IACC,IAAI,EAAE,oDAAoD;IAC1D,KAAK,EAAE,CAAC,sCAAsC,CAAC;IAC/C,OAAO,EAAE,CAAC,UAAU,CAAC;IACrB,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,mEAAmE;IACzE,KAAK,EAAE,CAAC,uBAAuB,CAAC;IAChC,OAAO,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,kBAAoC,CAAC;CAClE,CACD,CAAC"}
1
+ {"version":3,"file":"functional.js","sourceRoot":"","sources":["../../../src/rulesets/functional.ts"],"names":[],"mappings":"AAEA,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAI7C,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE,CACrC,YAAY,CAAC;IACZ,IAAI,EAAE,8CAA8C;IACpD,KAAK,EAAE,CAAC,sCAAsC,CAAC;IAC/C,OAAO,EAAE,CAAC,UAAU,CAAC;IACrB,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;aAC5D;SACD;QACD,uCAAuC,EAAE,OAAO;QAChD,iCAAiC,EAAE,OAAO;KAC1C;CACD,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,EAAE,CAC1C,YAAY,CAAC;IACZ,IAAI,EAAE,oDAAoD;IAC1D,KAAK,EAAE,CAAC,sCAAsC,CAAC;IAC/C,OAAO,EAAE,CAAC,UAAU,CAAC;IACrB,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,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,OAAuB,EAAE,EAAE;IAC9E,IAAI,OAAO,CAAC,oBAAoB,KAAK,KAAK,EAAE,CAAC;QAC5C,OAAO,YAAY,CAAC;YACnB,IAAI,EAAE,qEAAqE;YAC3E,KAAK,EAAE,CAAC,sCAAsC,CAAC;YAC/C,OAAO,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,kBAAoC,CAAC;SAClE,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC;QAC9C,OAAO,YAAY,CAAC;YACnB,IAAI,EAAE,oEAAoE;YAC1E,KAAK,EAAE,CAAC,uBAAuB,CAAC;YAChC,OAAO,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,kBAAoC,CAAC;SAClE,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,CAAC;AACX,CAAC,CAAC"}
@@ -1,7 +1,4 @@
1
- export declare namespace tseslintRuleset {
2
- type Options = {
3
- readonly tsconfigRootDir: string;
4
- };
5
- }
6
- export declare const tseslintRuleset: (options: tseslintRuleset.Options) => import("eslint/config").Config[];
1
+ import type { config } from "../config.js";
2
+ export declare const tseslintRuleset: (options: config.Options) => import("eslint/config").Config[];
3
+ export declare const autoDisableTypeAwareTseslintRules: (options: config.Options) => import("eslint/config").Config[];
7
4
  //# sourceMappingURL=tseslint.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tseslint.d.ts","sourceRoot":"","sources":["../../../src/rulesets/tseslint.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,WAAW,eAAe,CAAC;IACxC,KAAK,OAAO,GAAG;QACd,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;KACjC,CAAC;CACF;AAED,eAAO,MAAM,eAAe,GAAI,SAAS,eAAe,CAAC,OAAO,qCAkF9D,CAAC"}
1
+ {"version":3,"file":"tseslint.d.ts","sourceRoot":"","sources":["../../../src/rulesets/tseslint.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,qBAAuB;AAE7C,eAAO,MAAM,eAAe,GAAI,SAAS,MAAM,CAAC,OAAO,qCAmFrD,CAAC;AAEH,eAAO,MAAM,iCAAiC,GAAI,SAAS,MAAM,CAAC,OAAO,qCAgBxE,CAAC"}
@@ -3,11 +3,16 @@ import * as TSESLint from "typescript-eslint";
3
3
  export const tseslintRuleset = (options) => defineConfig({
4
4
  name: "@touchspot/eslint-config/rulesets/tseslint",
5
5
  files: ["**/*.{js,jsx,mjs,cjs,ts,tsx,mts,cts}"],
6
- extends: [TSESLint.configs.base],
6
+ extends: [TSESLint.configs.base, TSESLint.configs.eslintRecommended],
7
7
  languageOptions: {
8
8
  parserOptions: {
9
- tsconfigRootDir: options.tsconfigRootDir,
10
- projectService: true,
9
+ tsconfigRootDir: options.rootDir,
10
+ projectService: options.enableTypeAwareRules === false
11
+ ? false
12
+ : {
13
+ defaultProject: options.tsconfig ?? "tsconfig.json",
14
+ allowDefaultProject: options.enableTypeAwareRules?.js === "auto" ? ["*.{js,jsx,mjs,cjs}"] : [],
15
+ },
11
16
  },
12
17
  },
13
18
  }, {
@@ -73,9 +78,22 @@ export const tseslintRuleset = (options) => defineConfig({
73
78
  ],
74
79
  "@typescript-eslint/switch-exhaustiveness-check": "error",
75
80
  },
76
- }, {
77
- name: "@touchspot/eslint-config/rulesets/tseslint/disable-type-checked",
78
- files: ["**/*.{js,jsx,mjs,cjs}"],
79
- extends: [TSESLint.configs.disableTypeChecked],
80
81
  });
82
+ export const autoDisableTypeAwareTseslintRules = (options) => {
83
+ if (options.enableTypeAwareRules === false) {
84
+ return defineConfig({
85
+ name: "@touchspot/eslint-config/rulesets/tseslint/disable-type-aware/all",
86
+ files: ["**/*.{js,jsx,mjs,cjs,ts,tsx,mts,cts}"],
87
+ extends: [TSESLint.configs.disableTypeChecked],
88
+ });
89
+ }
90
+ if (options.enableTypeAwareRules?.js == null) {
91
+ return defineConfig({
92
+ name: "@touchspot/eslint-config/rulesets/tseslint/disable-type-aware/js",
93
+ files: ["**/*.{js,jsx,mjs,cjs}"],
94
+ extends: [TSESLint.configs.disableTypeChecked],
95
+ });
96
+ }
97
+ return [];
98
+ };
81
99
  //# sourceMappingURL=tseslint.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tseslint.js","sourceRoot":"","sources":["../../../src/rulesets/tseslint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tseslint.js","sourceRoot":"","sources":["../../../src/rulesets/tseslint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAC;AAI9C,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAuB,EAAE,EAAE,CAC1D,YAAY,CACX;IACC,IAAI,EAAE,4CAA4C;IAClD,KAAK,EAAE,CAAC,sCAAsC,CAAC;IAC/C,OAAO,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CAAC;IACpE,eAAe,EAAE;QAChB,aAAa,EAAE;YACd,eAAe,EAAE,OAAO,CAAC,OAAO;YAChC,cAAc,EACb,OAAO,CAAC,oBAAoB,KAAK,KAAK;gBACrC,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC;oBACA,cAAc,EAAE,OAAO,CAAC,QAAQ,IAAI,eAAe;oBACnD,mBAAmB,EAAE,OAAO,CAAC,oBAAoB,EAAE,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAAE;iBAC9F;SACJ;KACD;CACD,EACD;IACC,IAAI,EAAE,iDAAiD;IACvD,KAAK,EAAE,CAAC,sCAAsC,CAAC;IAC/C,OAAO,EAAE,CAAC,UAAU,CAAC;IACrB,OAAO,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAiB,EAAE,QAAQ,CAAC,OAAO,CAAC,oBAAoB,CAAC;IACpF,KAAK,EAAE;QACN,gDAAgD,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;QACnE,4CAA4C,EAAE,OAAO;QACrD,4CAA4C,EAAE,OAAO;QACrD,kDAAkD,EAAE,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC;QAC7F,sCAAsC,EAAE;YACvC,OAAO;YACP;gBACC,QAAQ,EAAE,SAAS;gBACnB,MAAM,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,YAAY,CAAC;gBACjD,iBAAiB,EAAE,QAAQ;gBAC3B,kBAAkB,EAAE,QAAQ;aAC5B;YACD;gBACC,QAAQ,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC;gBACnC,MAAM,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,YAAY,CAAC;gBACjD,iBAAiB,EAAE,OAAO;gBAC1B,kBAAkB,EAAE,QAAQ;aAC5B;YACD;gBACC,QAAQ,EAAE,UAAU;gBACpB,MAAM,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;gBACpC,iBAAiB,EAAE,QAAQ;gBAC3B,kBAAkB,EAAE,QAAQ;aAC5B;YACD;gBACC,QAAQ,EAAE,SAAS;gBACnB,SAAS,EAAE,CAAC,gBAAgB,CAAC;gBAC7B,MAAM,EAAE,IAAI;aACZ;YACD;gBACC,QAAQ,EAAE,UAAU;gBACpB,MAAM,EAAE;oBACP,KAAK,EAAE,qBAAqB;oBAC5B,KAAK,EAAE,IAAI;iBACX;gBACD,MAAM,EAAE,IAAI;aACZ;SACD;QACD,iCAAiC,EAAE,CAAC,OAAO,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;QACzE,gDAAgD,EAAE,OAAO;QACzD,WAAW,EAAE,KAAK;QAClB,8BAA8B,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3D,6CAA6C,EAAE,CAAC,OAAO,EAAE,EAAE,2BAA2B,EAAE,IAAI,EAAE,CAAC;QAC/F,6CAA6C,EAAE,OAAO;QACtD,mCAAmC,EAAE,KAAK;QAC1C,4CAA4C,EAAE,OAAO;QACrD,yCAAyC,EAAE,OAAO;QAClD,8CAA8C,EAAE,CAAC,OAAO,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;QACvF,oCAAoC,EAAE,OAAO;QAC7C,kDAAkD,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;QACpF,iCAAiC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;QACtD,+CAA+C,EAAE;YAChD,OAAO;YACP,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE;SACtE;QACD,gDAAgD,EAAE,OAAO;KACzD;CACD,CACD,CAAC;AAEH,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,OAAuB,EAAE,EAAE;IAC5E,IAAI,OAAO,CAAC,oBAAoB,KAAK,KAAK,EAAE,CAAC;QAC5C,OAAO,YAAY,CAAC;YACnB,IAAI,EAAE,mEAAmE;YACzE,KAAK,EAAE,CAAC,sCAAsC,CAAC;YAC/C,OAAO,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC;SAC9C,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC;QAC9C,OAAO,YAAY,CAAC;YACnB,IAAI,EAAE,kEAAkE;YACxE,KAAK,EAAE,CAAC,uBAAuB,CAAC;YAChC,OAAO,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC;SAC9C,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,CAAC;AACX,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@touchspot/eslint-config",
3
- "version": "4.0.3",
3
+ "version": "5.0.0",
4
4
  "description": "TOUCHSPOT ESLint config",
5
5
  "keywords": [
6
6
  "eslint",
@@ -20,16 +20,16 @@
20
20
  "type": "module",
21
21
  "exports": {
22
22
  ".": "./dist/lib/default.js",
23
- "./addons/*": "./dist/lib/addons/*.js",
24
- "./package.json": "./package.json"
23
+ "./package.json": "./package.json",
24
+ "./*": "./dist/lib/frameworks/*.js"
25
25
  },
26
26
  "files": [
27
27
  "dist",
28
28
  "package.json",
29
29
  "README.md",
30
- "!**/__snapshots__/",
31
30
  "!**/*.tsbuildinfo",
32
- "!**/*.test.*"
31
+ "!**/*.test.*",
32
+ "!**/__snapshots__/"
33
33
  ],
34
34
  "prettier": "@touchspot/prettier-config",
35
35
  "dependencies": {
@@ -44,21 +44,20 @@
44
44
  "eslint-plugin-no-relative-import-paths": "^1.6.1",
45
45
  "eslint-plugin-perfectionist": "^4.15.1",
46
46
  "eslint-plugin-react": "^7.37.5",
47
- "eslint-plugin-react-hooks": "7.0.1",
47
+ "eslint-plugin-react-hooks": "^7.0.1",
48
48
  "eslint-plugin-unicorn": "^62.0.0",
49
49
  "eslint-plugin-unused-imports": "^4.3.0",
50
50
  "globals": "^16.5.0",
51
51
  "typescript-eslint": "^8.46.3"
52
52
  },
53
53
  "devDependencies": {
54
- "@eslint/config-helpers": "0.4.2",
55
- "@eslint/config-inspector": "^1.3.0",
54
+ "@eslint/config-helpers": "^0.4.2",
56
55
  "@eslint/core": "^0.17.0",
57
56
  "eslint": "^9.39.1",
58
57
  "next": "^16.0.1",
59
58
  "react": "^19.2.0",
60
59
  "react-dom": "^19.2.0",
61
- "tailwindcss": "^4.1.16"
60
+ "tailwindcss": "^4.1.17"
62
61
  },
63
62
  "peerDependencies": {
64
63
  "eslint": "^9",
@@ -1,2 +0,0 @@
1
- export { nextAddon as default } from "../../src/addons/next.js";
2
- //# sourceMappingURL=next.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"next.d.ts","sourceRoot":"","sources":["../../../lib/addons/next.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,OAAO,EAAE,iCAA4B"}
@@ -1,2 +0,0 @@
1
- export { nextAddon as default } from "../../src/addons/next.js";
2
- //# sourceMappingURL=next.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"next.js","sourceRoot":"","sources":["../../../lib/addons/next.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,OAAO,EAAE,iCAA4B"}
@@ -1,2 +0,0 @@
1
- export { reactAddon as default } from "../../src/addons/react.js";
2
- //# sourceMappingURL=react.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../../lib/addons/react.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,OAAO,EAAE,kCAA6B"}
@@ -1,2 +0,0 @@
1
- export { reactAddon as default } from "../../src/addons/react.js";
2
- //# sourceMappingURL=react.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"react.js","sourceRoot":"","sources":["../../../lib/addons/react.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,OAAO,EAAE,kCAA6B"}
@@ -1,2 +0,0 @@
1
- export { tailwindcssAddon as default } from "../../src/addons/tailwindcss.js";
2
- //# sourceMappingURL=tailwindcss.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tailwindcss.d.ts","sourceRoot":"","sources":["../../../lib/addons/tailwindcss.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,IAAI,OAAO,EAAE,wCAAmC"}
@@ -1,2 +0,0 @@
1
- export { tailwindcssAddon as default } from "../../src/addons/tailwindcss.js";
2
- //# sourceMappingURL=tailwindcss.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tailwindcss.js","sourceRoot":"","sources":["../../../lib/addons/tailwindcss.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,IAAI,OAAO,EAAE,wCAAmC"}
@@ -1,2 +0,0 @@
1
- export declare const nextAddon: () => import("eslint/config").Config[];
2
- //# sourceMappingURL=next.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"next.d.ts","sourceRoot":"","sources":["../../../src/addons/next.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,SAAS,wCAC6F,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"next.js","sourceRoot":"","sources":["../../../src/addons/next.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,EAAE,UAAU,EAAE,mBAA6B;AAClD,OAAO,KAAK,GAAG,kBAAoB;AACnC,OAAO,EAAE,oBAAoB,EAAE,kCAAoC;AACnE,OAAO,EAAE,kBAAkB,EAAE,gCAAkC;AAC/D,OAAO,EAAE,WAAW,EAAE,4BAA8B;AAEpD,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE,CAC7B,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,WAAW,EAAE,EAAE,oBAAoB,EAAE,EAAE,kBAAkB,EAAE,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare const reactAddon: () => import("eslint/config").Config[];
2
- //# sourceMappingURL=react.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../../src/addons/react.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,UAAU,wCACoE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"react.js","sourceRoot":"","sources":["../../../src/addons/react.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,GAAG,kBAAoB;AACnC,OAAO,EAAE,sBAAsB,EAAE,kCAAoC;AACrE,OAAO,EAAE,iBAAiB,EAAE,mCAAqC;AACjE,OAAO,EAAE,YAAY,EAAE,6BAA+B;AAEtD,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,EAAE,CAC9B,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,EAAE,iBAAiB,EAAE,EAAE,sBAAsB,EAAE,CAAC,CAAC"}
@@ -1,5 +0,0 @@
1
- import { betterTailwindCSSRulesets } from "../rulesets/better-tailwindcss.js";
2
- type Options = betterTailwindCSSRulesets.Options;
3
- export declare const tailwindcssAddon: (options: Options) => import("eslint/config").Config[];
4
- export {};
5
- //# sourceMappingURL=tailwindcss.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tailwindcss.d.ts","sourceRoot":"","sources":["../../../src/addons/tailwindcss.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,0CAA4C;AAEhF,KAAK,OAAO,GAAG,yBAAyB,CAAC,OAAO,CAAC;AAEjD,eAAO,MAAM,gBAAgB,GAAI,SAAS,OAAO,qCAAqD,CAAC"}
@@ -1,4 +0,0 @@
1
- import { defineConfig } from "eslint/config";
2
- import { betterTailwindCSSRulesets } from "../rulesets/better-tailwindcss.js";
3
- export const tailwindcssAddon = (options) => defineConfig(betterTailwindCSSRulesets(options));
4
- //# sourceMappingURL=tailwindcss.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tailwindcss.js","sourceRoot":"","sources":["../../../src/addons/tailwindcss.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,EAAE,yBAAyB,EAAE,0CAA4C;AAIhF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAAgB,EAAE,EAAE,CAAC,YAAY,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAAC"}