@santi020k/eslint-config-integrations 2.0.0-beta.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 (192) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +11 -0
  3. package/dist/compose.d.ts +21 -0
  4. package/dist/compose.js +137 -0
  5. package/dist/compose.js.map +1 -0
  6. package/dist/extensions/a11y.d.ts +9 -0
  7. package/dist/extensions/a11y.js +25 -0
  8. package/dist/extensions/a11y.js.map +1 -0
  9. package/dist/extensions/best-practices.d.ts +16 -0
  10. package/dist/extensions/best-practices.js +27 -0
  11. package/dist/extensions/best-practices.js.map +1 -0
  12. package/dist/extensions/biome.d.ts +9 -0
  13. package/dist/extensions/biome.js +18 -0
  14. package/dist/extensions/biome.js.map +1 -0
  15. package/dist/extensions/boundaries.d.ts +12 -0
  16. package/dist/extensions/boundaries.js +40 -0
  17. package/dist/extensions/boundaries.js.map +1 -0
  18. package/dist/extensions/compat.d.ts +9 -0
  19. package/dist/extensions/compat.js +16 -0
  20. package/dist/extensions/compat.js.map +1 -0
  21. package/dist/extensions/de-morgan.d.ts +9 -0
  22. package/dist/extensions/de-morgan.js +16 -0
  23. package/dist/extensions/de-morgan.js.map +1 -0
  24. package/dist/extensions/depend.d.ts +10 -0
  25. package/dist/extensions/depend.js +16 -0
  26. package/dist/extensions/depend.js.map +1 -0
  27. package/dist/extensions/index.d.ts +16 -0
  28. package/dist/extensions/index.js +33 -0
  29. package/dist/extensions/index.js.map +1 -0
  30. package/dist/extensions/no-only-tests.d.ts +9 -0
  31. package/dist/extensions/no-only-tests.js +21 -0
  32. package/dist/extensions/no-only-tests.js.map +1 -0
  33. package/dist/extensions/node.d.ts +11 -0
  34. package/dist/extensions/node.js +25 -0
  35. package/dist/extensions/node.js.map +1 -0
  36. package/dist/extensions/oxlint.d.ts +10 -0
  37. package/dist/extensions/oxlint.js +14 -0
  38. package/dist/extensions/oxlint.js.map +1 -0
  39. package/dist/extensions/perfectionist.d.ts +9 -0
  40. package/dist/extensions/perfectionist.js +25 -0
  41. package/dist/extensions/perfectionist.js.map +1 -0
  42. package/dist/extensions/regexp.d.ts +10 -0
  43. package/dist/extensions/regexp.js +28 -0
  44. package/dist/extensions/regexp.js.map +1 -0
  45. package/dist/extensions/security.d.ts +9 -0
  46. package/dist/extensions/security.js +21 -0
  47. package/dist/extensions/security.js.map +1 -0
  48. package/dist/extensions/sonarjs.d.ts +5 -0
  49. package/dist/extensions/sonarjs.js +16 -0
  50. package/dist/extensions/sonarjs.js.map +1 -0
  51. package/dist/extensions/unicorn.d.ts +9 -0
  52. package/dist/extensions/unicorn.js +47 -0
  53. package/dist/extensions/unicorn.js.map +1 -0
  54. package/dist/formats/css.d.ts +9 -0
  55. package/dist/formats/css.js +21 -0
  56. package/dist/formats/css.js.map +1 -0
  57. package/dist/formats/graphql.d.ts +9 -0
  58. package/dist/formats/graphql.js +41 -0
  59. package/dist/formats/graphql.js.map +1 -0
  60. package/dist/formats/html.d.ts +9 -0
  61. package/dist/formats/html.js +29 -0
  62. package/dist/formats/html.js.map +1 -0
  63. package/dist/formats/index.d.ts +10 -0
  64. package/dist/formats/index.js +21 -0
  65. package/dist/formats/index.js.map +1 -0
  66. package/dist/formats/jsonc.d.ts +9 -0
  67. package/dist/formats/jsonc.js +73 -0
  68. package/dist/formats/jsonc.js.map +1 -0
  69. package/dist/formats/markdown.d.ts +9 -0
  70. package/dist/formats/markdown.js +73 -0
  71. package/dist/formats/markdown.js.map +1 -0
  72. package/dist/formats/mdx.d.ts +9 -0
  73. package/dist/formats/mdx.js +55 -0
  74. package/dist/formats/mdx.js.map +1 -0
  75. package/dist/formats/package-json.d.ts +9 -0
  76. package/dist/formats/package-json.js +16 -0
  77. package/dist/formats/package-json.js.map +1 -0
  78. package/dist/formats/toml.d.ts +9 -0
  79. package/dist/formats/toml.js +14 -0
  80. package/dist/formats/toml.js.map +1 -0
  81. package/dist/formats/yaml.d.ts +9 -0
  82. package/dist/formats/yaml.js +28 -0
  83. package/dist/formats/yaml.js.map +1 -0
  84. package/dist/index.d.ts +57 -0
  85. package/dist/index.js +114 -0
  86. package/dist/index.js.map +1 -0
  87. package/dist/lazy.d.ts +24 -0
  88. package/dist/lazy.js +46 -0
  89. package/dist/lazy.js.map +1 -0
  90. package/dist/libraries/ai.d.ts +8 -0
  91. package/dist/libraries/ai.js +29 -0
  92. package/dist/libraries/ai.js.map +1 -0
  93. package/dist/libraries/autogen.d.ts +8 -0
  94. package/dist/libraries/autogen.js +24 -0
  95. package/dist/libraries/autogen.js.map +1 -0
  96. package/dist/libraries/google-genai.d.ts +8 -0
  97. package/dist/libraries/google-genai.js +30 -0
  98. package/dist/libraries/google-genai.js.map +1 -0
  99. package/dist/libraries/i18next.d.ts +9 -0
  100. package/dist/libraries/i18next.js +29 -0
  101. package/dist/libraries/i18next.js.map +1 -0
  102. package/dist/libraries/index.d.ts +17 -0
  103. package/dist/libraries/index.js +38 -0
  104. package/dist/libraries/index.js.map +1 -0
  105. package/dist/libraries/langchain.d.ts +8 -0
  106. package/dist/libraries/langchain.js +30 -0
  107. package/dist/libraries/langchain.js.map +1 -0
  108. package/dist/libraries/llamaindex.d.ts +8 -0
  109. package/dist/libraries/llamaindex.js +30 -0
  110. package/dist/libraries/llamaindex.js.map +1 -0
  111. package/dist/libraries/mastra.d.ts +8 -0
  112. package/dist/libraries/mastra.js +30 -0
  113. package/dist/libraries/mastra.js.map +1 -0
  114. package/dist/libraries/mcp.d.ts +8 -0
  115. package/dist/libraries/mcp.js +33 -0
  116. package/dist/libraries/mcp.js.map +1 -0
  117. package/dist/libraries/openai-agents.d.ts +8 -0
  118. package/dist/libraries/openai-agents.js +32 -0
  119. package/dist/libraries/openai-agents.js.map +1 -0
  120. package/dist/libraries/orm.d.ts +31 -0
  121. package/dist/libraries/orm.js +104 -0
  122. package/dist/libraries/orm.js.map +1 -0
  123. package/dist/libraries/stencil.d.ts +9 -0
  124. package/dist/libraries/stencil.js +49 -0
  125. package/dist/libraries/stencil.js.map +1 -0
  126. package/dist/libraries/storybook.d.ts +9 -0
  127. package/dist/libraries/storybook.js +11 -0
  128. package/dist/libraries/storybook.js.map +1 -0
  129. package/dist/libraries/tailwind.d.ts +9 -0
  130. package/dist/libraries/tailwind.js +21 -0
  131. package/dist/libraries/tailwind.js.map +1 -0
  132. package/dist/libraries/tanstack.d.ts +12 -0
  133. package/dist/libraries/tanstack.js +37 -0
  134. package/dist/libraries/tanstack.js.map +1 -0
  135. package/dist/libraries/turbo.d.ts +9 -0
  136. package/dist/libraries/turbo.js +25 -0
  137. package/dist/libraries/turbo.js.map +1 -0
  138. package/dist/libraries/zod.d.ts +9 -0
  139. package/dist/libraries/zod.js +21 -0
  140. package/dist/libraries/zod.js.map +1 -0
  141. package/dist/testing/cypress.d.ts +9 -0
  142. package/dist/testing/cypress.js +26 -0
  143. package/dist/testing/cypress.js.map +1 -0
  144. package/dist/testing/index.d.ts +7 -0
  145. package/dist/testing/index.js +15 -0
  146. package/dist/testing/index.js.map +1 -0
  147. package/dist/testing/jest-dom.d.ts +9 -0
  148. package/dist/testing/jest-dom.js +21 -0
  149. package/dist/testing/jest-dom.js.map +1 -0
  150. package/dist/testing/jest.d.ts +9 -0
  151. package/dist/testing/jest.js +24 -0
  152. package/dist/testing/jest.js.map +1 -0
  153. package/dist/testing/playwright.d.ts +9 -0
  154. package/dist/testing/playwright.js +21 -0
  155. package/dist/testing/playwright.js.map +1 -0
  156. package/dist/testing/testing-library.d.ts +9 -0
  157. package/dist/testing/testing-library.js +34 -0
  158. package/dist/testing/testing-library.js.map +1 -0
  159. package/dist/testing/vitest.d.ts +9 -0
  160. package/dist/testing/vitest.js +57 -0
  161. package/dist/testing/vitest.js.map +1 -0
  162. package/dist/tools/command.d.ts +9 -0
  163. package/dist/tools/command.js +16 -0
  164. package/dist/tools/command.js.map +1 -0
  165. package/dist/tools/cspell.d.ts +9 -0
  166. package/dist/tools/cspell.js +26 -0
  167. package/dist/tools/cspell.js.map +1 -0
  168. package/dist/tools/docker.d.ts +10 -0
  169. package/dist/tools/docker.js +21 -0
  170. package/dist/tools/docker.js.map +1 -0
  171. package/dist/tools/github-actions.d.ts +10 -0
  172. package/dist/tools/github-actions.js +16 -0
  173. package/dist/tools/github-actions.js.map +1 -0
  174. package/dist/tools/index.d.ts +10 -0
  175. package/dist/tools/index.js +21 -0
  176. package/dist/tools/index.js.map +1 -0
  177. package/dist/tools/jsdoc.d.ts +9 -0
  178. package/dist/tools/jsdoc.js +36 -0
  179. package/dist/tools/jsdoc.js.map +1 -0
  180. package/dist/tools/nx.d.ts +9 -0
  181. package/dist/tools/nx.js +18 -0
  182. package/dist/tools/nx.js.map +1 -0
  183. package/dist/tools/pnpm.d.ts +10 -0
  184. package/dist/tools/pnpm.js +12 -0
  185. package/dist/tools/pnpm.js.map +1 -0
  186. package/dist/tools/prettier.d.ts +9 -0
  187. package/dist/tools/prettier.js +14 -0
  188. package/dist/tools/prettier.js.map +1 -0
  189. package/dist/tools/swagger.d.ts +9 -0
  190. package/dist/tools/swagger.js +22 -0
  191. package/dist/tools/swagger.js.map +1 -0
  192. package/package.json +136 -0
@@ -0,0 +1,9 @@
1
+ import { TSESLint } from '@typescript-eslint/utils';
2
+
3
+ /**
4
+ * Tailwind CSS ESLint configuration
5
+ * Enforces Tailwind CSS best practices using eslint-plugin-better-tailwindcss
6
+ */
7
+ declare const tailwind: () => Promise<TSESLint.FlatConfig.ConfigArray>;
8
+
9
+ export { tailwind };
@@ -0,0 +1,21 @@
1
+ import { GLOB_JS_TS_ALL } from "@santi020k/eslint-config-core";
2
+ import { defineLazyConfig, loadDefault } from "../lazy.js";
3
+ const tailwind = defineLazyConfig("tailwind", async () => {
4
+ const pluginTailwind = await loadDefault("eslint-plugin-better-tailwindcss");
5
+ return [
6
+ {
7
+ ...pluginTailwind.configs.recommended,
8
+ files: GLOB_JS_TS_ALL,
9
+ name: "santi020k/tailwind/recommended",
10
+ settings: {
11
+ "better-tailwindcss": {
12
+ // Enable faster resolution in monorepos
13
+ }
14
+ }
15
+ }
16
+ ];
17
+ });
18
+ export {
19
+ tailwind
20
+ };
21
+ //# sourceMappingURL=tailwind.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/libraries/tailwind.ts"],"sourcesContent":["import { GLOB_JS_TS_ALL } from '@santi020k/eslint-config-core'\n\nimport type { TSESLint } from '@typescript-eslint/utils'\n\nimport { defineLazyConfig, loadDefault, type PluginWithConfigs } from '../lazy.js'\n\n/**\n * Tailwind CSS ESLint configuration\n * Enforces Tailwind CSS best practices using eslint-plugin-better-tailwindcss\n */\nexport const tailwind: () => Promise<TSESLint.FlatConfig.ConfigArray> = defineLazyConfig('tailwind', async () => {\n const pluginTailwind = await loadDefault<PluginWithConfigs<'recommended'>>('eslint-plugin-better-tailwindcss')\n\n return [\n {\n ...pluginTailwind.configs.recommended,\n files: GLOB_JS_TS_ALL,\n name: 'santi020k/tailwind/recommended',\n settings: {\n 'better-tailwindcss': {\n // Enable faster resolution in monorepos\n }\n }\n }\n ]\n})\n"],"mappings":"AAAA,SAAS,sBAAsB;AAI/B,SAAS,kBAAkB,mBAA2C;AAM/D,MAAM,WAA2D,iBAAiB,YAAY,YAAY;AAC/G,QAAM,iBAAiB,MAAM,YAA8C,kCAAkC;AAE7G,SAAO;AAAA,IACL;AAAA,MACE,GAAG,eAAe,QAAQ;AAAA,MAC1B,OAAO;AAAA,MACP,MAAM;AAAA,MACN,UAAU;AAAA,QACR,sBAAsB;AAAA;AAAA,QAEtB;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF,CAAC;","names":[]}
@@ -0,0 +1,12 @@
1
+ import { TSESLint } from '@typescript-eslint/utils';
2
+
3
+ /**
4
+ * TanStack Query ESLint configuration
5
+ */
6
+ declare const tanstackQuery: () => Promise<TSESLint.FlatConfig.ConfigArray>;
7
+ /**
8
+ * TanStack Router ESLint configuration
9
+ */
10
+ declare const tanstackRouter: () => Promise<TSESLint.FlatConfig.ConfigArray>;
11
+
12
+ export { tanstackQuery, tanstackRouter };
@@ -0,0 +1,37 @@
1
+ import { GLOB_JS_TS_ALL } from "@santi020k/eslint-config-core";
2
+ import { defineLazyConfig, loadDefault } from "../lazy.js";
3
+ const tanstackQuery = defineLazyConfig("tanstack-query", async () => {
4
+ const pluginQuery = await loadDefault("@tanstack/eslint-plugin-query");
5
+ return [
6
+ {
7
+ files: GLOB_JS_TS_ALL,
8
+ name: "eslint-config-integrations/tanstack-query",
9
+ plugins: {
10
+ "@tanstack/query": pluginQuery
11
+ },
12
+ rules: {
13
+ ...pluginQuery.configs.recommended.rules
14
+ }
15
+ }
16
+ ];
17
+ });
18
+ const tanstackRouter = defineLazyConfig("tanstack-router", async () => {
19
+ const pluginRouter = await loadDefault("@tanstack/eslint-plugin-router");
20
+ return [
21
+ {
22
+ files: GLOB_JS_TS_ALL,
23
+ name: "eslint-config-integrations/tanstack-router",
24
+ plugins: {
25
+ "@tanstack/router": pluginRouter
26
+ },
27
+ rules: {
28
+ ...pluginRouter.configs.recommended.rules
29
+ }
30
+ }
31
+ ];
32
+ });
33
+ export {
34
+ tanstackQuery,
35
+ tanstackRouter
36
+ };
37
+ //# sourceMappingURL=tanstack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/libraries/tanstack.ts"],"sourcesContent":["import { GLOB_JS_TS_ALL } from '@santi020k/eslint-config-core'\n\nimport type { TSESLint } from '@typescript-eslint/utils'\n\nimport { defineLazyConfig, loadDefault, type PluginWithConfigs } from '../lazy.js'\n\n/**\n * TanStack Query ESLint configuration\n */\nexport const tanstackQuery: () => Promise<TSESLint.FlatConfig.ConfigArray> = defineLazyConfig('tanstack-query', async () => {\n const pluginQuery = await loadDefault<PluginWithConfigs<'recommended'>>('@tanstack/eslint-plugin-query')\n\n return [\n {\n files: GLOB_JS_TS_ALL,\n name: 'eslint-config-integrations/tanstack-query',\n plugins: {\n '@tanstack/query': pluginQuery\n },\n rules: {\n ...pluginQuery.configs.recommended.rules\n }\n }\n ]\n})\n\n/**\n * TanStack Router ESLint configuration\n */\nexport const tanstackRouter: () => Promise<TSESLint.FlatConfig.ConfigArray> = defineLazyConfig('tanstack-router', async () => {\n const pluginRouter = await loadDefault<PluginWithConfigs<'recommended'>>('@tanstack/eslint-plugin-router')\n\n return [\n {\n files: GLOB_JS_TS_ALL,\n name: 'eslint-config-integrations/tanstack-router',\n plugins: {\n '@tanstack/router': pluginRouter\n },\n rules: {\n ...pluginRouter.configs.recommended.rules\n }\n }\n ]\n})\n"],"mappings":"AAAA,SAAS,sBAAsB;AAI/B,SAAS,kBAAkB,mBAA2C;AAK/D,MAAM,gBAAgE,iBAAiB,kBAAkB,YAAY;AAC1H,QAAM,cAAc,MAAM,YAA8C,+BAA+B;AAEvG,SAAO;AAAA,IACL;AAAA,MACE,OAAO;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA,QACP,mBAAmB;AAAA,MACrB;AAAA,MACA,OAAO;AAAA,QACL,GAAG,YAAY,QAAQ,YAAY;AAAA,MACrC;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAKM,MAAM,iBAAiE,iBAAiB,mBAAmB,YAAY;AAC5H,QAAM,eAAe,MAAM,YAA8C,gCAAgC;AAEzG,SAAO;AAAA,IACL;AAAA,MACE,OAAO;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA,QACP,oBAAoB;AAAA,MACtB;AAAA,MACA,OAAO;AAAA,QACL,GAAG,aAAa,QAAQ,YAAY;AAAA,MACtC;AAAA,IACF;AAAA,EACF;AACF,CAAC;","names":[]}
@@ -0,0 +1,9 @@
1
+ import { TSESLint } from '@typescript-eslint/utils';
2
+
3
+ /**
4
+ * Turborepo ESLint configuration
5
+ * Validates process.env usage against turbo.json
6
+ */
7
+ declare const turbo: () => Promise<TSESLint.FlatConfig.ConfigArray>;
8
+
9
+ export { turbo };
@@ -0,0 +1,25 @@
1
+ import { GLOB_JS_TS, GLOB_JS_TS_ALL } from "@santi020k/eslint-config-core";
2
+ import { defineLazyConfig, loadDefault } from "../lazy.js";
3
+ const turbo = defineLazyConfig("turbo", async () => {
4
+ const pluginTurbo = await loadDefault("eslint-plugin-turbo");
5
+ return [
6
+ {
7
+ files: GLOB_JS_TS_ALL,
8
+ name: "eslint-config-turbo/plugins",
9
+ plugins: {
10
+ turbo: pluginTurbo
11
+ }
12
+ },
13
+ {
14
+ files: GLOB_JS_TS,
15
+ name: "eslint-config-turbo/rules",
16
+ rules: {
17
+ "turbo/no-undeclared-env-vars": "error"
18
+ }
19
+ }
20
+ ];
21
+ });
22
+ export {
23
+ turbo
24
+ };
25
+ //# sourceMappingURL=turbo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/libraries/turbo.ts"],"sourcesContent":["import { GLOB_JS_TS, GLOB_JS_TS_ALL } from '@santi020k/eslint-config-core'\n\nimport type { TSESLint } from '@typescript-eslint/utils'\nimport type PluginTurbo from 'eslint-plugin-turbo'\n\nimport { defineLazyConfig, loadDefault } from '../lazy.js'\n\n/**\n * Turborepo ESLint configuration\n * Validates process.env usage against turbo.json\n */\nexport const turbo: () => Promise<TSESLint.FlatConfig.ConfigArray> = defineLazyConfig('turbo', async () => {\n const pluginTurbo = await loadDefault<typeof PluginTurbo>('eslint-plugin-turbo')\n\n return [\n {\n files: GLOB_JS_TS_ALL,\n name: 'eslint-config-turbo/plugins',\n plugins: {\n turbo: pluginTurbo\n }\n },\n {\n files: GLOB_JS_TS,\n name: 'eslint-config-turbo/rules',\n rules: {\n 'turbo/no-undeclared-env-vars': 'error'\n }\n }\n ]\n})\n"],"mappings":"AAAA,SAAS,YAAY,sBAAsB;AAK3C,SAAS,kBAAkB,mBAAmB;AAMvC,MAAM,QAAwD,iBAAiB,SAAS,YAAY;AACzG,QAAM,cAAc,MAAM,YAAgC,qBAAqB;AAE/E,SAAO;AAAA,IACL;AAAA,MACE,OAAO;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA,QACP,OAAO;AAAA,MACT;AAAA,IACF;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,MAAM;AAAA,MACN,OAAO;AAAA,QACL,gCAAgC;AAAA,MAClC;AAAA,IACF;AAAA,EACF;AACF,CAAC;","names":[]}
@@ -0,0 +1,9 @@
1
+ import { TSESLint } from '@typescript-eslint/utils';
2
+
3
+ /**
4
+ * Zod ESLint configuration
5
+ * Provides validation rules for Zod schemas
6
+ */
7
+ declare const zod: () => Promise<TSESLint.FlatConfig.ConfigArray>;
8
+
9
+ export { zod };
@@ -0,0 +1,21 @@
1
+ import { GLOB_JS_TS } from "@santi020k/eslint-config-core";
2
+ import { defineLazyConfig, loadDefault } from "../lazy.js";
3
+ const zod = defineLazyConfig("zod", async () => {
4
+ const pluginZod = await loadDefault("eslint-plugin-zod");
5
+ return [
6
+ {
7
+ files: GLOB_JS_TS,
8
+ name: "eslint-config-integrations/zod",
9
+ plugins: {
10
+ zod: pluginZod
11
+ },
12
+ rules: {
13
+ ...pluginZod.configs.recommended.rules
14
+ }
15
+ }
16
+ ];
17
+ });
18
+ export {
19
+ zod
20
+ };
21
+ //# sourceMappingURL=zod.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/libraries/zod.ts"],"sourcesContent":["import { GLOB_JS_TS } from '@santi020k/eslint-config-core'\n\nimport type { TSESLint } from '@typescript-eslint/utils'\n\nimport { defineLazyConfig, loadDefault, type PluginWithConfigs } from '../lazy.js'\n\n/**\n * Zod ESLint configuration\n * Provides validation rules for Zod schemas\n */\nexport const zod: () => Promise<TSESLint.FlatConfig.ConfigArray> = defineLazyConfig('zod', async () => {\n const pluginZod = await loadDefault<PluginWithConfigs<'recommended'>>('eslint-plugin-zod')\n\n return [\n {\n files: GLOB_JS_TS,\n name: 'eslint-config-integrations/zod',\n plugins: {\n zod: pluginZod\n },\n rules: {\n ...pluginZod.configs.recommended.rules\n }\n }\n ]\n})\n"],"mappings":"AAAA,SAAS,kBAAkB;AAI3B,SAAS,kBAAkB,mBAA2C;AAM/D,MAAM,MAAsD,iBAAiB,OAAO,YAAY;AACrG,QAAM,YAAY,MAAM,YAA8C,mBAAmB;AAEzF,SAAO;AAAA,IACL;AAAA,MACE,OAAO;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA,QACP,KAAK;AAAA,MACP;AAAA,MACA,OAAO;AAAA,QACL,GAAG,UAAU,QAAQ,YAAY;AAAA,MACnC;AAAA,IACF;AAAA,EACF;AACF,CAAC;","names":[]}
@@ -0,0 +1,9 @@
1
+ import { TSESLint } from '@typescript-eslint/utils';
2
+
3
+ /**
4
+ * Cypress ESLint configuration
5
+ * Provides linting rules for Cypress end-to-end test files
6
+ */
7
+ declare const cypress: () => Promise<TSESLint.FlatConfig.ConfigArray>;
8
+
9
+ export { cypress };
@@ -0,0 +1,26 @@
1
+ import { fixupPluginRules } from "@eslint/compat";
2
+ import { defineLazyConfig, loadDefault } from "../lazy.js";
3
+ const cypress = defineLazyConfig("cypress", async () => {
4
+ const pluginCypress = await loadDefault("eslint-plugin-cypress");
5
+ return [
6
+ {
7
+ files: [
8
+ "**/cypress/**/*.{js,ts,jsx,tsx}",
9
+ "**/*.cy.{js,ts,jsx,tsx}"
10
+ ],
11
+ name: "integrations/cypress",
12
+ plugins: {
13
+ cypress: fixupPluginRules(
14
+ pluginCypress
15
+ )
16
+ },
17
+ rules: {
18
+ ...pluginCypress.configs.recommended.rules
19
+ }
20
+ }
21
+ ];
22
+ });
23
+ export {
24
+ cypress
25
+ };
26
+ //# sourceMappingURL=cypress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/testing/cypress.ts"],"sourcesContent":["import { fixupPluginRules } from '@eslint/compat'\nimport type { TSESLint } from '@typescript-eslint/utils'\nimport type PluginCypress from 'eslint-plugin-cypress'\n\nimport { defineLazyConfig, loadDefault } from '../lazy.js'\n\n/**\n * Cypress ESLint configuration\n * Provides linting rules for Cypress end-to-end test files\n */\nexport const cypress: () => Promise<TSESLint.FlatConfig.ConfigArray> = defineLazyConfig('cypress', async () => {\n const pluginCypress = await loadDefault<typeof PluginCypress>('eslint-plugin-cypress')\n\n return [\n {\n files: [\n '**/cypress/**/*.{js,ts,jsx,tsx}',\n '**/*.cy.{js,ts,jsx,tsx}'\n ],\n name: 'integrations/cypress',\n plugins: {\n cypress: fixupPluginRules(\n pluginCypress\n )\n },\n rules: {\n ...pluginCypress.configs.recommended.rules\n }\n }\n ]\n})\n"],"mappings":"AAAA,SAAS,wBAAwB;AAIjC,SAAS,kBAAkB,mBAAmB;AAMvC,MAAM,UAA0D,iBAAiB,WAAW,YAAY;AAC7G,QAAM,gBAAgB,MAAM,YAAkC,uBAAuB;AAErF,SAAO;AAAA,IACL;AAAA,MACE,OAAO;AAAA,QACL;AAAA,QACA;AAAA,MACF;AAAA,MACA,MAAM;AAAA,MACN,SAAS;AAAA,QACP,SAAS;AAAA,UACP;AAAA,QACF;AAAA,MACF;AAAA,MACA,OAAO;AAAA,QACL,GAAG,cAAc,QAAQ,YAAY;AAAA,MACvC;AAAA,IACF;AAAA,EACF;AACF,CAAC;","names":[]}
@@ -0,0 +1,7 @@
1
+ export { cypress } from './cypress.js';
2
+ export { jestDom } from './jest-dom.js';
3
+ export { jest } from './jest.js';
4
+ export { playwright } from './playwright.js';
5
+ export { testingLibrary } from './testing-library.js';
6
+ export { vitest } from './vitest.js';
7
+ import '@typescript-eslint/utils';
@@ -0,0 +1,15 @@
1
+ import { cypress } from "./cypress.js";
2
+ import { jestDom } from "./jest-dom.js";
3
+ import { jest } from "./jest.js";
4
+ import { playwright } from "./playwright.js";
5
+ import { testingLibrary } from "./testing-library.js";
6
+ import { vitest } from "./vitest.js";
7
+ export {
8
+ cypress,
9
+ jest,
10
+ jestDom,
11
+ playwright,
12
+ testingLibrary,
13
+ vitest
14
+ };
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/testing/index.ts"],"sourcesContent":["export { cypress } from './cypress.js'\nexport { jestDom } from './jest-dom.js'\nexport { jest } from './jest.js'\nexport { playwright } from './playwright.js'\nexport { testingLibrary } from './testing-library.js'\nexport { vitest } from './vitest.js'\n"],"mappings":"AAAA,SAAS,eAAe;AACxB,SAAS,eAAe;AACxB,SAAS,YAAY;AACrB,SAAS,kBAAkB;AAC3B,SAAS,sBAAsB;AAC/B,SAAS,cAAc;","names":[]}
@@ -0,0 +1,9 @@
1
+ import { TSESLint } from '@typescript-eslint/utils';
2
+
3
+ /**
4
+ * Jest DOM ESLint configuration
5
+ * Provides rules for \@testing-library/jest-dom
6
+ */
7
+ declare const jestDom: () => Promise<TSESLint.FlatConfig.ConfigArray>;
8
+
9
+ export { jestDom };
@@ -0,0 +1,21 @@
1
+ import { GLOB_JS_TS } from "@santi020k/eslint-config-core";
2
+ import { defineLazyConfig, loadDefault } from "../lazy.js";
3
+ const jestDom = defineLazyConfig("jestDom", async () => {
4
+ const pluginJestDom = await loadDefault("eslint-plugin-jest-dom");
5
+ return [
6
+ {
7
+ files: GLOB_JS_TS,
8
+ name: "eslint-config-integrations/jest-dom",
9
+ plugins: {
10
+ "jest-dom": pluginJestDom
11
+ },
12
+ rules: {
13
+ ...pluginJestDom.configs.recommended.rules
14
+ }
15
+ }
16
+ ];
17
+ });
18
+ export {
19
+ jestDom
20
+ };
21
+ //# sourceMappingURL=jest-dom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/testing/jest-dom.ts"],"sourcesContent":["import { GLOB_JS_TS } from '@santi020k/eslint-config-core'\n\nimport type { TSESLint } from '@typescript-eslint/utils'\nimport type PluginJestDom from 'eslint-plugin-jest-dom'\n\nimport { defineLazyConfig, loadDefault } from '../lazy.js'\n\n/**\n * Jest DOM ESLint configuration\n * Provides rules for \\@testing-library/jest-dom\n */\nexport const jestDom: () => Promise<TSESLint.FlatConfig.ConfigArray> = defineLazyConfig('jestDom', async () => {\n const pluginJestDom = await loadDefault<typeof PluginJestDom>('eslint-plugin-jest-dom')\n\n return [\n {\n files: GLOB_JS_TS,\n name: 'eslint-config-integrations/jest-dom',\n plugins: {\n 'jest-dom': pluginJestDom\n },\n rules: {\n ...pluginJestDom.configs.recommended.rules\n }\n }\n ]\n})\n"],"mappings":"AAAA,SAAS,kBAAkB;AAK3B,SAAS,kBAAkB,mBAAmB;AAMvC,MAAM,UAA0D,iBAAiB,WAAW,YAAY;AAC7G,QAAM,gBAAgB,MAAM,YAAkC,wBAAwB;AAEtF,SAAO;AAAA,IACL;AAAA,MACE,OAAO;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA,QACP,YAAY;AAAA,MACd;AAAA,MACA,OAAO;AAAA,QACL,GAAG,cAAc,QAAQ,YAAY;AAAA,MACvC;AAAA,IACF;AAAA,EACF;AACF,CAAC;","names":[]}
@@ -0,0 +1,9 @@
1
+ import { TSESLint } from '@typescript-eslint/utils';
2
+
3
+ /**
4
+ * Jest ESLint configuration
5
+ * Provides linting rules for Jest test files
6
+ */
7
+ declare const jest: () => Promise<TSESLint.FlatConfig.ConfigArray>;
8
+
9
+ export { jest };
@@ -0,0 +1,24 @@
1
+ import { defineLazyConfig, loadDefault } from "../lazy.js";
2
+ const jest = defineLazyConfig("jest", async () => {
3
+ const pluginJest = await loadDefault("eslint-plugin-jest");
4
+ return [
5
+ {
6
+ files: [
7
+ "**/*.test.{js,ts,jsx,tsx}",
8
+ "**/*.spec.{js,ts,jsx,tsx}",
9
+ "**/__tests__/**/*.{js,ts,jsx,tsx}"
10
+ ],
11
+ name: "integrations/jest",
12
+ plugins: {
13
+ jest: pluginJest
14
+ },
15
+ rules: {
16
+ ...pluginJest.configs["flat/recommended"].rules
17
+ }
18
+ }
19
+ ];
20
+ });
21
+ export {
22
+ jest
23
+ };
24
+ //# sourceMappingURL=jest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/testing/jest.ts"],"sourcesContent":["import type { TSESLint } from '@typescript-eslint/utils'\nimport type PluginJest from 'eslint-plugin-jest'\n\nimport { defineLazyConfig, loadDefault } from '../lazy.js'\n\n/**\n * Jest ESLint configuration\n * Provides linting rules for Jest test files\n */\nexport const jest: () => Promise<TSESLint.FlatConfig.ConfigArray> = defineLazyConfig('jest', async () => {\n const pluginJest = await loadDefault<typeof PluginJest>('eslint-plugin-jest')\n\n return [\n {\n files: [\n '**/*.test.{js,ts,jsx,tsx}',\n '**/*.spec.{js,ts,jsx,tsx}',\n '**/__tests__/**/*.{js,ts,jsx,tsx}'\n ],\n name: 'integrations/jest',\n plugins: {\n jest: pluginJest\n },\n rules: {\n ...pluginJest.configs['flat/recommended'].rules\n }\n }\n ]\n})\n"],"mappings":"AAGA,SAAS,kBAAkB,mBAAmB;AAMvC,MAAM,OAAuD,iBAAiB,QAAQ,YAAY;AACvG,QAAM,aAAa,MAAM,YAA+B,oBAAoB;AAE5E,SAAO;AAAA,IACL;AAAA,MACE,OAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,MAAM;AAAA,MACN,SAAS;AAAA,QACP,MAAM;AAAA,MACR;AAAA,MACA,OAAO;AAAA,QACL,GAAG,WAAW,QAAQ,kBAAkB,EAAE;AAAA,MAC5C;AAAA,IACF;AAAA,EACF;AACF,CAAC;","names":[]}
@@ -0,0 +1,9 @@
1
+ import { TSESLint } from '@typescript-eslint/utils';
2
+
3
+ /**
4
+ * Playwright ESLint configuration
5
+ * Provides linting rules for Playwright end-to-end test files
6
+ */
7
+ declare const playwright: () => Promise<TSESLint.FlatConfig.ConfigArray>;
8
+
9
+ export { playwright };
@@ -0,0 +1,21 @@
1
+ import { defineLazyConfig, loadDefault } from "../lazy.js";
2
+ const playwright = defineLazyConfig("playwright", async () => {
3
+ const pluginPlaywright = await loadDefault("eslint-plugin-playwright");
4
+ return [
5
+ {
6
+ files: [
7
+ "**/e2e/**/*.{js,ts,jsx,tsx}",
8
+ "**/tests/e2e/**/*.{js,ts,jsx,tsx}",
9
+ "**/*.e2e.{js,ts,jsx,tsx}",
10
+ "**/*.e2e.spec.{js,ts,jsx,tsx}",
11
+ "**/playwright/**/*.{js,ts,jsx,tsx}"
12
+ ],
13
+ name: "integrations/playwright",
14
+ ...pluginPlaywright.configs["flat/recommended"]
15
+ }
16
+ ];
17
+ });
18
+ export {
19
+ playwright
20
+ };
21
+ //# sourceMappingURL=playwright.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/testing/playwright.ts"],"sourcesContent":["import type { TSESLint } from '@typescript-eslint/utils'\n\nimport { defineLazyConfig, loadDefault, type PluginWithConfigs } from '../lazy.js'\n\n/**\n * Playwright ESLint configuration\n * Provides linting rules for Playwright end-to-end test files\n */\nexport const playwright: () => Promise<TSESLint.FlatConfig.ConfigArray> = defineLazyConfig('playwright', async () => {\n const pluginPlaywright = await loadDefault<PluginWithConfigs<'flat/recommended'>>('eslint-plugin-playwright')\n\n return [\n {\n files: [\n '**/e2e/**/*.{js,ts,jsx,tsx}',\n '**/tests/e2e/**/*.{js,ts,jsx,tsx}',\n '**/*.e2e.{js,ts,jsx,tsx}',\n '**/*.e2e.spec.{js,ts,jsx,tsx}',\n '**/playwright/**/*.{js,ts,jsx,tsx}'\n ],\n name: 'integrations/playwright',\n ...pluginPlaywright.configs['flat/recommended']\n }\n ]\n})\n"],"mappings":"AAEA,SAAS,kBAAkB,mBAA2C;AAM/D,MAAM,aAA6D,iBAAiB,cAAc,YAAY;AACnH,QAAM,mBAAmB,MAAM,YAAmD,0BAA0B;AAE5G,SAAO;AAAA,IACL;AAAA,MACE,OAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,MAAM;AAAA,MACN,GAAG,iBAAiB,QAAQ,kBAAkB;AAAA,IAChD;AAAA,EACF;AACF,CAAC;","names":[]}
@@ -0,0 +1,9 @@
1
+ import { TSESLint } from '@typescript-eslint/utils';
2
+
3
+ /**
4
+ * Testing Library ESLint configuration
5
+ * Provides linting rules for Testing Library usage in tests
6
+ */
7
+ declare const testingLibrary: () => Promise<TSESLint.FlatConfig.ConfigArray>;
8
+
9
+ export { testingLibrary };
@@ -0,0 +1,34 @@
1
+ import { fixupPluginRules } from "@eslint/compat";
2
+ import { defineLazyConfig, loadDefault } from "../lazy.js";
3
+ const testingLibrary = defineLazyConfig("testing-library", async () => {
4
+ const pluginTestingLibrary = await loadDefault("eslint-plugin-testing-library");
5
+ return [
6
+ {
7
+ files: [
8
+ "**/*.test.{js,ts,jsx,tsx}",
9
+ "**/*.spec.{js,ts,jsx,tsx}",
10
+ "**/__tests__/**/*.{js,ts,jsx,tsx}"
11
+ ],
12
+ name: "integrations/testing-library",
13
+ plugins: {
14
+ "testing-library": fixupPluginRules(
15
+ pluginTestingLibrary
16
+ )
17
+ },
18
+ rules: {
19
+ // Testing Library recommended rules
20
+ "testing-library/await-async-queries": "error",
21
+ "testing-library/no-await-sync-queries": "error",
22
+ "testing-library/no-debugging-utils": "warn",
23
+ "testing-library/no-dom-import": "error",
24
+ "testing-library/no-unnecessary-act": "warn",
25
+ "testing-library/prefer-find-by": "warn",
26
+ "testing-library/prefer-screen-queries": "error"
27
+ }
28
+ }
29
+ ];
30
+ });
31
+ export {
32
+ testingLibrary
33
+ };
34
+ //# sourceMappingURL=testing-library.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/testing/testing-library.ts"],"sourcesContent":["import { fixupPluginRules } from '@eslint/compat'\nimport type { TSESLint } from '@typescript-eslint/utils'\nimport type PluginTestingLibrary from 'eslint-plugin-testing-library'\n\nimport { defineLazyConfig, loadDefault } from '../lazy.js'\n\n/**\n * Testing Library ESLint configuration\n * Provides linting rules for Testing Library usage in tests\n */\nexport const testingLibrary: () => Promise<TSESLint.FlatConfig.ConfigArray> = defineLazyConfig('testing-library', async () => {\n const pluginTestingLibrary = await loadDefault<typeof PluginTestingLibrary>('eslint-plugin-testing-library')\n\n return [\n {\n files: [\n '**/*.test.{js,ts,jsx,tsx}',\n '**/*.spec.{js,ts,jsx,tsx}',\n '**/__tests__/**/*.{js,ts,jsx,tsx}'\n ],\n name: 'integrations/testing-library',\n plugins: {\n 'testing-library': fixupPluginRules(\n pluginTestingLibrary\n )\n },\n rules: {\n // Testing Library recommended rules\n 'testing-library/await-async-queries': 'error',\n 'testing-library/no-await-sync-queries': 'error',\n 'testing-library/no-debugging-utils': 'warn',\n 'testing-library/no-dom-import': 'error',\n 'testing-library/no-unnecessary-act': 'warn',\n 'testing-library/prefer-find-by': 'warn',\n 'testing-library/prefer-screen-queries': 'error'\n }\n }\n ]\n})\n"],"mappings":"AAAA,SAAS,wBAAwB;AAIjC,SAAS,kBAAkB,mBAAmB;AAMvC,MAAM,iBAAiE,iBAAiB,mBAAmB,YAAY;AAC5H,QAAM,uBAAuB,MAAM,YAAyC,+BAA+B;AAE3G,SAAO;AAAA,IACL;AAAA,MACE,OAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,MAAM;AAAA,MACN,SAAS;AAAA,QACP,mBAAmB;AAAA,UACjB;AAAA,QACF;AAAA,MACF;AAAA,MACA,OAAO;AAAA;AAAA,QAEL,uCAAuC;AAAA,QACvC,yCAAyC;AAAA,QACzC,sCAAsC;AAAA,QACtC,iCAAiC;AAAA,QACjC,sCAAsC;AAAA,QACtC,kCAAkC;AAAA,QAClC,yCAAyC;AAAA,MAC3C;AAAA,IACF;AAAA,EACF;AACF,CAAC;","names":[]}
@@ -0,0 +1,9 @@
1
+ import { TSESLint } from '@typescript-eslint/utils';
2
+
3
+ /**
4
+ * Vitest ESLint configuration
5
+ * Provides linting rules for Vitest test files with best practices
6
+ */
7
+ declare const vitest: () => Promise<TSESLint.FlatConfig.ConfigArray>;
8
+
9
+ export { vitest };
@@ -0,0 +1,57 @@
1
+ import { defineLazyConfig, loadDefault } from "../lazy.js";
2
+ const vitest = defineLazyConfig("vitest", async () => {
3
+ const globals = await loadDefault("globals");
4
+ const pluginVitest = await loadDefault("@vitest/eslint-plugin");
5
+ return [
6
+ {
7
+ files: [
8
+ "tests/**/*.{js,ts,jsx,tsx}",
9
+ "**/__tests__/**/*.{js,ts,jsx,tsx}",
10
+ "**/__mocks__/**/*.{js,ts,jsx,tsx}",
11
+ "**/test/**/*.{js,ts,jsx,tsx}",
12
+ "**/spec/**/*.{js,ts,jsx,tsx}",
13
+ "**/__spec__/**/*.{js,ts,jsx,tsx}",
14
+ "**/*.test.{js,ts,jsx,tsx}",
15
+ "**/*.spec.{js,ts,jsx,tsx}",
16
+ "vitest.config.{js,ts}",
17
+ "vitest.setup.{js,ts}",
18
+ "vitest.workspace.{js,ts}"
19
+ ],
20
+ languageOptions: {
21
+ globals: {
22
+ ...globals.node
23
+ }
24
+ },
25
+ name: "integrations/vitest",
26
+ plugins: {
27
+ vitest: pluginVitest
28
+ },
29
+ rules: {
30
+ // Vitest recommended rules
31
+ ...pluginVitest.configs.recommended.rules,
32
+ "@stylistic/padding-line-between-statements": "off",
33
+ // Disable some rules that conflict with test patterns
34
+ "@typescript-eslint/no-explicit-any": "off",
35
+ "vitest/consistent-test-it": ["warn", { fn: "test" }],
36
+ "vitest/expect-expect": [
37
+ "error",
38
+ {
39
+ assertFunctionNames: ["expect", "assert", "should"]
40
+ }
41
+ ],
42
+ // Best practice rules for testing
43
+ "vitest/max-nested-describe": ["error", { max: 3 }],
44
+ "vitest/no-disabled-tests": "warn",
45
+ "vitest/no-focused-tests": "error",
46
+ "vitest/no-identical-title": "error",
47
+ "vitest/prefer-to-be": "warn",
48
+ "vitest/prefer-to-have-length": "warn",
49
+ "vitest/valid-expect": "error"
50
+ }
51
+ }
52
+ ];
53
+ });
54
+ export {
55
+ vitest
56
+ };
57
+ //# sourceMappingURL=vitest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/testing/vitest.ts"],"sourcesContent":["import type { TSESLint } from '@typescript-eslint/utils'\nimport type Globals from 'globals'\n\nimport { defineLazyConfig, loadDefault, type PluginWithConfigs } from '../lazy.js'\n\n/**\n * Vitest ESLint configuration\n * Provides linting rules for Vitest test files with best practices\n */\nexport const vitest: () => Promise<TSESLint.FlatConfig.ConfigArray> = defineLazyConfig('vitest', async () => {\n const globals = await loadDefault<typeof Globals>('globals')\n const pluginVitest = await loadDefault<PluginWithConfigs<'recommended'>>('@vitest/eslint-plugin')\n\n return [\n {\n files: [\n 'tests/**/*.{js,ts,jsx,tsx}',\n '**/__tests__/**/*.{js,ts,jsx,tsx}',\n '**/__mocks__/**/*.{js,ts,jsx,tsx}',\n '**/test/**/*.{js,ts,jsx,tsx}',\n '**/spec/**/*.{js,ts,jsx,tsx}',\n '**/__spec__/**/*.{js,ts,jsx,tsx}',\n '**/*.test.{js,ts,jsx,tsx}',\n '**/*.spec.{js,ts,jsx,tsx}',\n 'vitest.config.{js,ts}',\n 'vitest.setup.{js,ts}',\n 'vitest.workspace.{js,ts}'\n ],\n languageOptions: {\n globals: {\n ...globals.node\n }\n },\n name: 'integrations/vitest',\n plugins: {\n vitest: pluginVitest\n },\n rules: {\n // Vitest recommended rules\n ...pluginVitest.configs.recommended.rules,\n\n '@stylistic/padding-line-between-statements': 'off',\n // Disable some rules that conflict with test patterns\n '@typescript-eslint/no-explicit-any': 'off',\n 'vitest/consistent-test-it': ['warn', { fn: 'test' }],\n 'vitest/expect-expect': [\n 'error',\n {\n assertFunctionNames: ['expect', 'assert', 'should']\n }\n ],\n // Best practice rules for testing\n 'vitest/max-nested-describe': ['error', { max: 3 }],\n 'vitest/no-disabled-tests': 'warn',\n 'vitest/no-focused-tests': 'error',\n 'vitest/no-identical-title': 'error',\n 'vitest/prefer-to-be': 'warn',\n 'vitest/prefer-to-have-length': 'warn',\n 'vitest/valid-expect': 'error'\n }\n }\n ]\n})\n"],"mappings":"AAGA,SAAS,kBAAkB,mBAA2C;AAM/D,MAAM,SAAyD,iBAAiB,UAAU,YAAY;AAC3G,QAAM,UAAU,MAAM,YAA4B,SAAS;AAC3D,QAAM,eAAe,MAAM,YAA8C,uBAAuB;AAEhG,SAAO;AAAA,IACL;AAAA,MACE,OAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,iBAAiB;AAAA,QACf,SAAS;AAAA,UACP,GAAG,QAAQ;AAAA,QACb;AAAA,MACF;AAAA,MACA,MAAM;AAAA,MACN,SAAS;AAAA,QACP,QAAQ;AAAA,MACV;AAAA,MACA,OAAO;AAAA;AAAA,QAEL,GAAG,aAAa,QAAQ,YAAY;AAAA,QAEpC,8CAA8C;AAAA;AAAA,QAE9C,sCAAsC;AAAA,QACtC,6BAA6B,CAAC,QAAQ,EAAE,IAAI,OAAO,CAAC;AAAA,QACpD,wBAAwB;AAAA,UACtB;AAAA,UACA;AAAA,YACE,qBAAqB,CAAC,UAAU,UAAU,QAAQ;AAAA,UACpD;AAAA,QACF;AAAA;AAAA,QAEA,8BAA8B,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC;AAAA,QAClD,4BAA4B;AAAA,QAC5B,2BAA2B;AAAA,QAC3B,6BAA6B;AAAA,QAC7B,uBAAuB;AAAA,QACvB,gCAAgC;AAAA,QAChC,uBAAuB;AAAA,MACzB;AAAA,IACF;AAAA,EACF;AACF,CAAC;","names":[]}
@@ -0,0 +1,9 @@
1
+ import { TSESLint } from '@typescript-eslint/utils';
2
+
3
+ /**
4
+ * Command ESLint configuration
5
+ * Provides in-editor micro-fixes via magic comments (e.g., /// \@keep)
6
+ */
7
+ declare const command: () => Promise<TSESLint.FlatConfig.ConfigArray>;
8
+
9
+ export { command };
@@ -0,0 +1,16 @@
1
+ import { GLOB_JS_TS_ALL } from "@santi020k/eslint-config-core";
2
+ import { defineLazyConfig, loadDefault } from "../lazy.js";
3
+ const command = defineLazyConfig("command", async () => {
4
+ const pluginCommandConfig = await loadDefault("eslint-plugin-command/config");
5
+ return [
6
+ {
7
+ files: GLOB_JS_TS_ALL,
8
+ name: "eslint-config-integrations/command",
9
+ ...pluginCommandConfig()
10
+ }
11
+ ];
12
+ });
13
+ export {
14
+ command
15
+ };
16
+ //# sourceMappingURL=command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/tools/command.ts"],"sourcesContent":["import { GLOB_JS_TS_ALL } from '@santi020k/eslint-config-core'\n\nimport type { TSESLint } from '@typescript-eslint/utils'\nimport type PluginCommand from 'eslint-plugin-command/config'\n\nimport { defineLazyConfig, loadDefault } from '../lazy.js'\n\n/**\n * Command ESLint configuration\n * Provides in-editor micro-fixes via magic comments (e.g., /// \\@keep)\n */\nexport const command: () => Promise<TSESLint.FlatConfig.ConfigArray> = defineLazyConfig('command', async () => {\n const pluginCommandConfig = await loadDefault<typeof PluginCommand>('eslint-plugin-command/config')\n\n return [\n {\n files: GLOB_JS_TS_ALL,\n name: 'eslint-config-integrations/command',\n ...pluginCommandConfig()\n }\n ]\n})\n"],"mappings":"AAAA,SAAS,sBAAsB;AAK/B,SAAS,kBAAkB,mBAAmB;AAMvC,MAAM,UAA0D,iBAAiB,WAAW,YAAY;AAC7G,QAAM,sBAAsB,MAAM,YAAkC,8BAA8B;AAElG,SAAO;AAAA,IACL;AAAA,MACE,OAAO;AAAA,MACP,MAAM;AAAA,MACN,GAAG,oBAAoB;AAAA,IACzB;AAAA,EACF;AACF,CAAC;","names":[]}
@@ -0,0 +1,9 @@
1
+ import { TSESLint } from '@typescript-eslint/utils';
2
+
3
+ /**
4
+ * CSpell ESLint configuration
5
+ * Enables spell checking in your codebase
6
+ */
7
+ declare const cspell: () => Promise<TSESLint.FlatConfig.ConfigArray>;
8
+
9
+ export { cspell };
@@ -0,0 +1,26 @@
1
+ import { GLOB_JS_TS_ALL } from "@santi020k/eslint-config-core";
2
+ import { defineLazyConfig, loadDefault } from "../lazy.js";
3
+ const cspell = defineLazyConfig("cspell", async () => {
4
+ const pluginCspell = await loadDefault("@cspell/eslint-plugin");
5
+ return [
6
+ {
7
+ files: GLOB_JS_TS_ALL,
8
+ name: "integrations/cspell",
9
+ plugins: { "@cspell": pluginCspell },
10
+ rules: {
11
+ "@cspell/spellchecker": ["warn", {
12
+ autoFix: false,
13
+ checkComments: true,
14
+ checkIdentifiers: true,
15
+ checkStrings: true,
16
+ checkStringTemplates: true,
17
+ numSuggestions: 3
18
+ }]
19
+ }
20
+ }
21
+ ];
22
+ });
23
+ export {
24
+ cspell
25
+ };
26
+ //# sourceMappingURL=cspell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/tools/cspell.ts"],"sourcesContent":["import { GLOB_JS_TS_ALL } from '@santi020k/eslint-config-core'\n\nimport type PluginCspell from '@cspell/eslint-plugin'\nimport type { TSESLint } from '@typescript-eslint/utils'\n\nimport { defineLazyConfig, loadDefault } from '../lazy.js'\n\n/**\n * CSpell ESLint configuration\n * Enables spell checking in your codebase\n */\nexport const cspell: () => Promise<TSESLint.FlatConfig.ConfigArray> = defineLazyConfig('cspell', async () => {\n const pluginCspell = await loadDefault<typeof PluginCspell>('@cspell/eslint-plugin')\n\n return [\n {\n files: GLOB_JS_TS_ALL,\n name: 'integrations/cspell',\n plugins: { '@cspell': pluginCspell },\n rules: {\n '@cspell/spellchecker': ['warn', {\n autoFix: false,\n checkComments: true,\n checkIdentifiers: true,\n checkStrings: true,\n checkStringTemplates: true,\n numSuggestions: 3\n }]\n }\n }\n ]\n})\n"],"mappings":"AAAA,SAAS,sBAAsB;AAK/B,SAAS,kBAAkB,mBAAmB;AAMvC,MAAM,SAAyD,iBAAiB,UAAU,YAAY;AAC3G,QAAM,eAAe,MAAM,YAAiC,uBAAuB;AAEnF,SAAO;AAAA,IACL;AAAA,MACE,OAAO;AAAA,MACP,MAAM;AAAA,MACN,SAAS,EAAE,WAAW,aAAa;AAAA,MACnC,OAAO;AAAA,QACL,wBAAwB,CAAC,QAAQ;AAAA,UAC/B,SAAS;AAAA,UACT,eAAe;AAAA,UACf,kBAAkB;AAAA,UAClB,cAAc;AAAA,UACd,sBAAsB;AAAA,UACtB,gBAAgB;AAAA,QAClB,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF;AACF,CAAC;","names":[]}
@@ -0,0 +1,10 @@
1
+ import { TSESLint } from '@typescript-eslint/utils';
2
+
3
+ /**
4
+ * Docker tooling ESLint configuration
5
+ * Covers Docker Compose YAML files. Dockerfile linting is intentionally left to
6
+ * dedicated Dockerfile linters until a stable ESLint parser/plugin is added.
7
+ */
8
+ declare const docker: () => Promise<TSESLint.FlatConfig.ConfigArray>;
9
+
10
+ export { docker };
@@ -0,0 +1,21 @@
1
+ import { yaml } from "../formats/yaml.js";
2
+ const docker = async () => [
3
+ ...await yaml(),
4
+ {
5
+ files: [
6
+ "**/compose.{yml,yaml}",
7
+ "**/compose.*.{yml,yaml}",
8
+ "**/docker-compose.{yml,yaml}",
9
+ "**/docker-compose.*.{yml,yaml}"
10
+ ],
11
+ name: "eslint-config-integrations/docker",
12
+ rules: {
13
+ "yml/no-empty-mapping-value": "error",
14
+ "yml/no-empty-sequence-entry": "error"
15
+ }
16
+ }
17
+ ];
18
+ export {
19
+ docker
20
+ };
21
+ //# sourceMappingURL=docker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/tools/docker.ts"],"sourcesContent":["import type { TSESLint } from '@typescript-eslint/utils'\n\nimport { yaml } from '../formats/yaml.js'\n\n/**\n * Docker tooling ESLint configuration\n * Covers Docker Compose YAML files. Dockerfile linting is intentionally left to\n * dedicated Dockerfile linters until a stable ESLint parser/plugin is added.\n */\nexport const docker = async (): Promise<TSESLint.FlatConfig.ConfigArray> => [\n ...await yaml(),\n {\n files: [\n '**/compose.{yml,yaml}',\n '**/compose.*.{yml,yaml}',\n '**/docker-compose.{yml,yaml}',\n '**/docker-compose.*.{yml,yaml}'\n ],\n name: 'eslint-config-integrations/docker',\n rules: {\n 'yml/no-empty-mapping-value': 'error',\n 'yml/no-empty-sequence-entry': 'error'\n }\n }\n]\n"],"mappings":"AAEA,SAAS,YAAY;AAOd,MAAM,SAAS,YAAsD;AAAA,EAC1E,GAAG,MAAM,KAAK;AAAA,EACd;AAAA,IACE,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,MAAM;AAAA,IACN,OAAO;AAAA,MACL,8BAA8B;AAAA,MAC9B,+BAA+B;AAAA,IACjC;AAAA,EACF;AACF;","names":[]}
@@ -0,0 +1,10 @@
1
+ import { TSESLint } from '@typescript-eslint/utils';
2
+
3
+ /**
4
+ * GitHub Actions ESLint configuration
5
+ * Lints workflow YAML files with the shared YAML rules and workflow-specific
6
+ * guardrails.
7
+ */
8
+ declare const githubActions: () => Promise<TSESLint.FlatConfig.ConfigArray>;
9
+
10
+ export { githubActions };