@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,30 @@
1
+ import { GLOB_JS_TS_ALL } from "@santi020k/eslint-config-core";
2
+ const googleGenAi = () => [
3
+ {
4
+ files: GLOB_JS_TS_ALL,
5
+ name: "eslint-config-integrations/google-genai",
6
+ rules: {
7
+ "no-restricted-imports": ["error", {
8
+ paths: [
9
+ {
10
+ message: "Use the new @google/genai SDK instead of the legacy @google/generative-ai SDK.",
11
+ name: "@google/generative-ai"
12
+ }
13
+ ],
14
+ patterns: [
15
+ {
16
+ group: [
17
+ "@google/genai/dist/*",
18
+ "@google/genai/src/*"
19
+ ],
20
+ message: 'Import Google GenAI SDK APIs directly from "@google/genai" instead of internals.'
21
+ }
22
+ ]
23
+ }]
24
+ }
25
+ }
26
+ ];
27
+ export {
28
+ googleGenAi
29
+ };
30
+ //# sourceMappingURL=google-genai.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/libraries/google-genai.ts"],"sourcesContent":["import { GLOB_JS_TS_ALL } from '@santi020k/eslint-config-core'\n\nimport type { TSESLint } from '@typescript-eslint/utils'\n\n/**\n * Google GenAI SDK ESLint configuration.\n */\nexport const googleGenAi = (): TSESLint.FlatConfig.ConfigArray => [\n {\n files: GLOB_JS_TS_ALL,\n name: 'eslint-config-integrations/google-genai',\n rules: {\n 'no-restricted-imports': ['error', {\n paths: [\n {\n message: 'Use the new @google/genai SDK instead of the legacy @google/generative-ai SDK.',\n name: '@google/generative-ai'\n }\n ],\n patterns: [\n {\n group: [\n '@google/genai/dist/*',\n '@google/genai/src/*'\n ],\n message: 'Import Google GenAI SDK APIs directly from \"@google/genai\" instead of internals.'\n }\n ]\n }]\n }\n }\n]\n"],"mappings":"AAAA,SAAS,sBAAsB;AAOxB,MAAM,cAAc,MAAuC;AAAA,EAChE;AAAA,IACE,OAAO;AAAA,IACP,MAAM;AAAA,IACN,OAAO;AAAA,MACL,yBAAyB,CAAC,SAAS;AAAA,QACjC,OAAO;AAAA,UACL;AAAA,YACE,SAAS;AAAA,YACT,MAAM;AAAA,UACR;AAAA,QACF;AAAA,QACA,UAAU;AAAA,UACR;AAAA,YACE,OAAO;AAAA,cACL;AAAA,cACA;AAAA,YACF;AAAA,YACA,SAAS;AAAA,UACX;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACF;","names":[]}
@@ -0,0 +1,9 @@
1
+ import { TSESLint } from '@typescript-eslint/utils';
2
+
3
+ /**
4
+ * i18next ESLint configuration
5
+ * Enables i18next plugin for internationalization best practices
6
+ */
7
+ declare const i18next: () => Promise<TSESLint.FlatConfig.ConfigArray>;
8
+
9
+ export { i18next };
@@ -0,0 +1,29 @@
1
+ import { GLOB_JS_TS_ALL } from "@santi020k/eslint-config-core";
2
+ import { fixupPluginRules } from "@eslint/compat";
3
+ import { defineLazyConfig, loadDefault } from "../lazy.js";
4
+ const i18next = defineLazyConfig("i18next", async () => {
5
+ const pluginI18next = await loadDefault("eslint-plugin-i18next");
6
+ return [
7
+ {
8
+ files: GLOB_JS_TS_ALL,
9
+ name: "integrations/i18next",
10
+ plugins: {
11
+ i18next: fixupPluginRules(
12
+ pluginI18next
13
+ )
14
+ },
15
+ rules: {
16
+ "i18next/no-literal-string": ["warn", {
17
+ "jsx-attributes": {
18
+ include: ["label", "placeholder", "alt", "title", "aria-label"]
19
+ },
20
+ mode: "jsx-text-only"
21
+ }]
22
+ }
23
+ }
24
+ ];
25
+ });
26
+ export {
27
+ i18next
28
+ };
29
+ //# sourceMappingURL=i18next.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/libraries/i18next.ts"],"sourcesContent":["import { GLOB_JS_TS_ALL } from '@santi020k/eslint-config-core'\n\nimport { fixupPluginRules } from '@eslint/compat'\nimport type { TSESLint } from '@typescript-eslint/utils'\nimport type PluginI18next from 'eslint-plugin-i18next'\n\nimport { defineLazyConfig, loadDefault } from '../lazy.js'\n\n/**\n * i18next ESLint configuration\n * Enables i18next plugin for internationalization best practices\n */\nexport const i18next: () => Promise<TSESLint.FlatConfig.ConfigArray> = defineLazyConfig('i18next', async () => {\n const pluginI18next = await loadDefault<typeof PluginI18next>('eslint-plugin-i18next')\n\n return [\n {\n files: GLOB_JS_TS_ALL,\n name: 'integrations/i18next',\n plugins: {\n i18next: fixupPluginRules(\n pluginI18next\n )\n },\n rules: {\n 'i18next/no-literal-string': ['warn', {\n 'jsx-attributes': {\n include: ['label', 'placeholder', 'alt', 'title', 'aria-label']\n },\n mode: 'jsx-text-only'\n }]\n }\n }\n ]\n})\n"],"mappings":"AAAA,SAAS,sBAAsB;AAE/B,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,MACP,MAAM;AAAA,MACN,SAAS;AAAA,QACP,SAAS;AAAA,UACP;AAAA,QACF;AAAA,MACF;AAAA,MACA,OAAO;AAAA,QACL,6BAA6B,CAAC,QAAQ;AAAA,UACpC,kBAAkB;AAAA,YAChB,SAAS,CAAC,SAAS,eAAe,OAAO,SAAS,YAAY;AAAA,UAChE;AAAA,UACA,MAAM;AAAA,QACR,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF;AACF,CAAC;","names":[]}
@@ -0,0 +1,17 @@
1
+ export { aiSdk } from './ai.js';
2
+ export { autogen } from './autogen.js';
3
+ export { googleGenAi } from './google-genai.js';
4
+ export { i18next } from './i18next.js';
5
+ export { langchain } from './langchain.js';
6
+ export { llamaIndex } from './llamaindex.js';
7
+ export { mastra } from './mastra.js';
8
+ export { mcp } from './mcp.js';
9
+ export { openAiAgents } from './openai-agents.js';
10
+ export { drizzle, mikroOrm, prisma, sequelize, typeorm } from './orm.js';
11
+ export { stencil } from './stencil.js';
12
+ export { storybook } from './storybook.js';
13
+ export { tailwind } from './tailwind.js';
14
+ export { tanstackQuery, tanstackRouter } from './tanstack.js';
15
+ export { turbo } from './turbo.js';
16
+ export { zod } from './zod.js';
17
+ import '@typescript-eslint/utils';
@@ -0,0 +1,38 @@
1
+ import { aiSdk } from "./ai.js";
2
+ import { autogen } from "./autogen.js";
3
+ import { googleGenAi } from "./google-genai.js";
4
+ import { i18next } from "./i18next.js";
5
+ import { langchain } from "./langchain.js";
6
+ import { llamaIndex } from "./llamaindex.js";
7
+ import { mastra } from "./mastra.js";
8
+ import { mcp } from "./mcp.js";
9
+ import { openAiAgents } from "./openai-agents.js";
10
+ import { drizzle, mikroOrm, prisma, sequelize, typeorm } from "./orm.js";
11
+ import { stencil } from "./stencil.js";
12
+ import { storybook } from "./storybook.js";
13
+ import { tailwind } from "./tailwind.js";
14
+ import { tanstackQuery, tanstackRouter } from "./tanstack.js";
15
+ export * from "./turbo.js";
16
+ export * from "./zod.js";
17
+ export {
18
+ aiSdk,
19
+ autogen,
20
+ drizzle,
21
+ googleGenAi,
22
+ i18next,
23
+ langchain,
24
+ llamaIndex,
25
+ mastra,
26
+ mcp,
27
+ mikroOrm,
28
+ openAiAgents,
29
+ prisma,
30
+ sequelize,
31
+ stencil,
32
+ storybook,
33
+ tailwind,
34
+ tanstackQuery,
35
+ tanstackRouter,
36
+ typeorm
37
+ };
38
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/libraries/index.ts"],"sourcesContent":["export { aiSdk } from './ai.js'\nexport { autogen } from './autogen.js'\nexport { googleGenAi } from './google-genai.js'\nexport { i18next } from './i18next.js'\nexport { langchain } from './langchain.js'\nexport { llamaIndex } from './llamaindex.js'\nexport { mastra } from './mastra.js'\nexport { mcp } from './mcp.js'\nexport { openAiAgents } from './openai-agents.js'\nexport { drizzle, mikroOrm, prisma, sequelize, typeorm } from './orm.js'\nexport { stencil } from './stencil.js'\nexport { storybook } from './storybook.js'\nexport { tailwind } from './tailwind.js'\nexport { tanstackQuery, tanstackRouter } from './tanstack.js'\nexport * from './turbo.js'\nexport * from './zod.js'\n"],"mappings":"AAAA,SAAS,aAAa;AACtB,SAAS,eAAe;AACxB,SAAS,mBAAmB;AAC5B,SAAS,eAAe;AACxB,SAAS,iBAAiB;AAC1B,SAAS,kBAAkB;AAC3B,SAAS,cAAc;AACvB,SAAS,WAAW;AACpB,SAAS,oBAAoB;AAC7B,SAAS,SAAS,UAAU,QAAQ,WAAW,eAAe;AAC9D,SAAS,eAAe;AACxB,SAAS,iBAAiB;AAC1B,SAAS,gBAAgB;AACzB,SAAS,eAAe,sBAAsB;AAC9C,cAAc;AACd,cAAc;","names":[]}
@@ -0,0 +1,8 @@
1
+ import { TSESLint } from '@typescript-eslint/utils';
2
+
3
+ /**
4
+ * LangChain.js ESLint configuration.
5
+ */
6
+ declare const langchain: () => TSESLint.FlatConfig.ConfigArray;
7
+
8
+ export { langchain };
@@ -0,0 +1,30 @@
1
+ import { GLOB_JS_TS_ALL } from "@santi020k/eslint-config-core";
2
+ const langchain = () => [
3
+ {
4
+ files: GLOB_JS_TS_ALL,
5
+ name: "eslint-config-integrations/langchain",
6
+ rules: {
7
+ "no-restricted-imports": ["error", {
8
+ patterns: [
9
+ {
10
+ group: [
11
+ "langchain/dist/*",
12
+ "langchain/dist/**",
13
+ "langchain/src/*",
14
+ "langchain/src/**",
15
+ "@langchain/*/dist/*",
16
+ "@langchain/*/dist/**",
17
+ "@langchain/*/src/*",
18
+ "@langchain/*/src/**"
19
+ ],
20
+ message: 'Import LangChain APIs from documented package entry points (e.g. "@langchain/core/messages") instead of source or distribution internals.'
21
+ }
22
+ ]
23
+ }]
24
+ }
25
+ }
26
+ ];
27
+ export {
28
+ langchain
29
+ };
30
+ //# sourceMappingURL=langchain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/libraries/langchain.ts"],"sourcesContent":["import { GLOB_JS_TS_ALL } from '@santi020k/eslint-config-core'\n\nimport type { TSESLint } from '@typescript-eslint/utils'\n\n/**\n * LangChain.js ESLint configuration.\n */\nexport const langchain = (): TSESLint.FlatConfig.ConfigArray => [\n {\n files: GLOB_JS_TS_ALL,\n name: 'eslint-config-integrations/langchain',\n rules: {\n 'no-restricted-imports': ['error', {\n patterns: [\n {\n group: [\n 'langchain/dist/*',\n 'langchain/dist/**',\n 'langchain/src/*',\n 'langchain/src/**',\n '@langchain/*/dist/*',\n '@langchain/*/dist/**',\n '@langchain/*/src/*',\n '@langchain/*/src/**'\n ],\n message: 'Import LangChain APIs from documented package entry points (e.g. \"@langchain/core/messages\") instead of source or distribution internals.'\n }\n ]\n }]\n }\n }\n]\n"],"mappings":"AAAA,SAAS,sBAAsB;AAOxB,MAAM,YAAY,MAAuC;AAAA,EAC9D;AAAA,IACE,OAAO;AAAA,IACP,MAAM;AAAA,IACN,OAAO;AAAA,MACL,yBAAyB,CAAC,SAAS;AAAA,QACjC,UAAU;AAAA,UACR;AAAA,YACE,OAAO;AAAA,cACL;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,YACF;AAAA,YACA,SAAS;AAAA,UACX;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACF;","names":[]}
@@ -0,0 +1,8 @@
1
+ import { TSESLint } from '@typescript-eslint/utils';
2
+
3
+ /**
4
+ * LlamaIndex.TS ESLint configuration.
5
+ */
6
+ declare const llamaIndex: () => TSESLint.FlatConfig.ConfigArray;
7
+
8
+ export { llamaIndex };
@@ -0,0 +1,30 @@
1
+ import { GLOB_JS_TS_ALL } from "@santi020k/eslint-config-core";
2
+ const llamaIndex = () => [
3
+ {
4
+ files: GLOB_JS_TS_ALL,
5
+ name: "eslint-config-integrations/llamaindex",
6
+ rules: {
7
+ "no-restricted-imports": ["error", {
8
+ patterns: [
9
+ {
10
+ group: [
11
+ "llamaindex/dist/*",
12
+ "llamaindex/dist/**",
13
+ "llamaindex/src/*",
14
+ "llamaindex/src/**",
15
+ "@llamaindex/*/dist/*",
16
+ "@llamaindex/*/dist/**",
17
+ "@llamaindex/*/src/*",
18
+ "@llamaindex/*/src/**"
19
+ ],
20
+ message: 'Import LlamaIndex APIs from documented package entry points (e.g. "llamaindex" or "@llamaindex/core") instead of source or distribution internals.'
21
+ }
22
+ ]
23
+ }]
24
+ }
25
+ }
26
+ ];
27
+ export {
28
+ llamaIndex
29
+ };
30
+ //# sourceMappingURL=llamaindex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/libraries/llamaindex.ts"],"sourcesContent":["import { GLOB_JS_TS_ALL } from '@santi020k/eslint-config-core'\n\nimport type { TSESLint } from '@typescript-eslint/utils'\n\n/**\n * LlamaIndex.TS ESLint configuration.\n */\nexport const llamaIndex = (): TSESLint.FlatConfig.ConfigArray => [\n {\n files: GLOB_JS_TS_ALL,\n name: 'eslint-config-integrations/llamaindex',\n rules: {\n 'no-restricted-imports': ['error', {\n patterns: [\n {\n group: [\n 'llamaindex/dist/*',\n 'llamaindex/dist/**',\n 'llamaindex/src/*',\n 'llamaindex/src/**',\n '@llamaindex/*/dist/*',\n '@llamaindex/*/dist/**',\n '@llamaindex/*/src/*',\n '@llamaindex/*/src/**'\n ],\n message: 'Import LlamaIndex APIs from documented package entry points (e.g. \"llamaindex\" or \"@llamaindex/core\") instead of source or distribution internals.'\n }\n ]\n }]\n }\n }\n]\n"],"mappings":"AAAA,SAAS,sBAAsB;AAOxB,MAAM,aAAa,MAAuC;AAAA,EAC/D;AAAA,IACE,OAAO;AAAA,IACP,MAAM;AAAA,IACN,OAAO;AAAA,MACL,yBAAyB,CAAC,SAAS;AAAA,QACjC,UAAU;AAAA,UACR;AAAA,YACE,OAAO;AAAA,cACL;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,YACF;AAAA,YACA,SAAS;AAAA,UACX;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACF;","names":[]}
@@ -0,0 +1,8 @@
1
+ import { TSESLint } from '@typescript-eslint/utils';
2
+
3
+ /**
4
+ * Mastra agent framework ESLint configuration.
5
+ */
6
+ declare const mastra: () => TSESLint.FlatConfig.ConfigArray;
7
+
8
+ export { mastra };
@@ -0,0 +1,30 @@
1
+ import { GLOB_JS_TS_ALL } from "@santi020k/eslint-config-core";
2
+ const mastra = () => [
3
+ {
4
+ files: GLOB_JS_TS_ALL,
5
+ name: "eslint-config-integrations/mastra",
6
+ rules: {
7
+ "no-restricted-imports": ["error", {
8
+ patterns: [
9
+ {
10
+ group: [
11
+ "@mastra/*/dist/*",
12
+ "@mastra/*/dist/**",
13
+ "@mastra/*/src/*",
14
+ "@mastra/*/src/**",
15
+ "@mastra/core/dist/*",
16
+ "@mastra/core/dist/**",
17
+ "@mastra/core/src/*",
18
+ "@mastra/core/src/**"
19
+ ],
20
+ message: "Import Mastra APIs from documented package entry points instead of source or distribution internals."
21
+ }
22
+ ]
23
+ }]
24
+ }
25
+ }
26
+ ];
27
+ export {
28
+ mastra
29
+ };
30
+ //# sourceMappingURL=mastra.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/libraries/mastra.ts"],"sourcesContent":["import { GLOB_JS_TS_ALL } from '@santi020k/eslint-config-core'\n\nimport type { TSESLint } from '@typescript-eslint/utils'\n\n/**\n * Mastra agent framework ESLint configuration.\n */\nexport const mastra = (): TSESLint.FlatConfig.ConfigArray => [\n {\n files: GLOB_JS_TS_ALL,\n name: 'eslint-config-integrations/mastra',\n rules: {\n 'no-restricted-imports': ['error', {\n patterns: [\n {\n group: [\n '@mastra/*/dist/*',\n '@mastra/*/dist/**',\n '@mastra/*/src/*',\n '@mastra/*/src/**',\n '@mastra/core/dist/*',\n '@mastra/core/dist/**',\n '@mastra/core/src/*',\n '@mastra/core/src/**'\n ],\n message: 'Import Mastra APIs from documented package entry points instead of source or distribution internals.'\n }\n ]\n }]\n }\n }\n]\n"],"mappings":"AAAA,SAAS,sBAAsB;AAOxB,MAAM,SAAS,MAAuC;AAAA,EAC3D;AAAA,IACE,OAAO;AAAA,IACP,MAAM;AAAA,IACN,OAAO;AAAA,MACL,yBAAyB,CAAC,SAAS;AAAA,QACjC,UAAU;AAAA,UACR;AAAA,YACE,OAAO;AAAA,cACL;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,YACF;AAAA,YACA,SAAS;AAAA,UACX;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACF;","names":[]}
@@ -0,0 +1,8 @@
1
+ import { TSESLint } from '@typescript-eslint/utils';
2
+
3
+ /**
4
+ * Model Context Protocol SDK ESLint configuration.
5
+ */
6
+ declare const mcp: () => TSESLint.FlatConfig.ConfigArray;
7
+
8
+ export { mcp };
@@ -0,0 +1,33 @@
1
+ import { GLOB_JS_TS_ALL } from "@santi020k/eslint-config-core";
2
+ const mcp = () => [
3
+ {
4
+ files: GLOB_JS_TS_ALL,
5
+ name: "eslint-config-integrations/mcp",
6
+ rules: {
7
+ "no-restricted-imports": ["error", {
8
+ paths: [
9
+ {
10
+ importNames: ["McpServer"],
11
+ message: 'Import McpServer from "@modelcontextprotocol/sdk/server/mcp.js" so server code stays on the public SDK entry point.',
12
+ name: "@modelcontextprotocol/sdk"
13
+ }
14
+ ],
15
+ patterns: [
16
+ {
17
+ group: [
18
+ "@modelcontextprotocol/sdk/dist/*",
19
+ "@modelcontextprotocol/sdk/dist/**",
20
+ "@modelcontextprotocol/sdk/shared/*",
21
+ "@modelcontextprotocol/sdk/shared/**"
22
+ ],
23
+ message: "Import MCP SDK APIs from documented server, client, or types entry points instead of internal package modules."
24
+ }
25
+ ]
26
+ }]
27
+ }
28
+ }
29
+ ];
30
+ export {
31
+ mcp
32
+ };
33
+ //# sourceMappingURL=mcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/libraries/mcp.ts"],"sourcesContent":["import { GLOB_JS_TS_ALL } from '@santi020k/eslint-config-core'\n\nimport type { TSESLint } from '@typescript-eslint/utils'\n\n/**\n * Model Context Protocol SDK ESLint configuration.\n */\nexport const mcp = (): TSESLint.FlatConfig.ConfigArray => [\n {\n files: GLOB_JS_TS_ALL,\n name: 'eslint-config-integrations/mcp',\n rules: {\n 'no-restricted-imports': ['error', {\n paths: [\n {\n importNames: ['McpServer'],\n message: 'Import McpServer from \"@modelcontextprotocol/sdk/server/mcp.js\" so server code stays on the public SDK entry point.',\n name: '@modelcontextprotocol/sdk'\n }\n ],\n patterns: [\n {\n group: [\n '@modelcontextprotocol/sdk/dist/*',\n '@modelcontextprotocol/sdk/dist/**',\n '@modelcontextprotocol/sdk/shared/*',\n '@modelcontextprotocol/sdk/shared/**'\n ],\n message: 'Import MCP SDK APIs from documented server, client, or types entry points instead of internal package modules.'\n }\n ]\n }]\n }\n }\n]\n"],"mappings":"AAAA,SAAS,sBAAsB;AAOxB,MAAM,MAAM,MAAuC;AAAA,EACxD;AAAA,IACE,OAAO;AAAA,IACP,MAAM;AAAA,IACN,OAAO;AAAA,MACL,yBAAyB,CAAC,SAAS;AAAA,QACjC,OAAO;AAAA,UACL;AAAA,YACE,aAAa,CAAC,WAAW;AAAA,YACzB,SAAS;AAAA,YACT,MAAM;AAAA,UACR;AAAA,QACF;AAAA,QACA,UAAU;AAAA,UACR;AAAA,YACE,OAAO;AAAA,cACL;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,YACF;AAAA,YACA,SAAS;AAAA,UACX;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACF;","names":[]}
@@ -0,0 +1,8 @@
1
+ import { TSESLint } from '@typescript-eslint/utils';
2
+
3
+ /**
4
+ * OpenAI Agents SDK ESLint configuration.
5
+ */
6
+ declare const openAiAgents: () => TSESLint.FlatConfig.ConfigArray;
7
+
8
+ export { openAiAgents };
@@ -0,0 +1,32 @@
1
+ import { GLOB_JS_TS_ALL } from "@santi020k/eslint-config-core";
2
+ const openAiAgents = () => [
3
+ {
4
+ files: GLOB_JS_TS_ALL,
5
+ name: "eslint-config-integrations/openai-agents",
6
+ rules: {
7
+ "no-restricted-imports": ["error", {
8
+ paths: [
9
+ {
10
+ message: 'Use the dedicated "@openai/agents" SDK for agent workflows instead of importing agents from the base OpenAI client.',
11
+ name: "openai/agents"
12
+ }
13
+ ],
14
+ patterns: [
15
+ {
16
+ group: [
17
+ "@openai/agents/dist/*",
18
+ "@openai/agents/dist/**",
19
+ "@openai/agents/src/*",
20
+ "@openai/agents/src/**"
21
+ ],
22
+ message: 'Import OpenAI Agents SDK APIs from "@openai/agents" or documented subpath entry points instead of internals.'
23
+ }
24
+ ]
25
+ }]
26
+ }
27
+ }
28
+ ];
29
+ export {
30
+ openAiAgents
31
+ };
32
+ //# sourceMappingURL=openai-agents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/libraries/openai-agents.ts"],"sourcesContent":["import { GLOB_JS_TS_ALL } from '@santi020k/eslint-config-core'\n\nimport type { TSESLint } from '@typescript-eslint/utils'\n\n/**\n * OpenAI Agents SDK ESLint configuration.\n */\nexport const openAiAgents = (): TSESLint.FlatConfig.ConfigArray => [\n {\n files: GLOB_JS_TS_ALL,\n name: 'eslint-config-integrations/openai-agents',\n rules: {\n 'no-restricted-imports': ['error', {\n paths: [\n {\n message: 'Use the dedicated \"@openai/agents\" SDK for agent workflows instead of importing agents from the base OpenAI client.',\n name: 'openai/agents'\n }\n ],\n patterns: [\n {\n group: [\n '@openai/agents/dist/*',\n '@openai/agents/dist/**',\n '@openai/agents/src/*',\n '@openai/agents/src/**'\n ],\n message: 'Import OpenAI Agents SDK APIs from \"@openai/agents\" or documented subpath entry points instead of internals.'\n }\n ]\n }]\n }\n }\n]\n"],"mappings":"AAAA,SAAS,sBAAsB;AAOxB,MAAM,eAAe,MAAuC;AAAA,EACjE;AAAA,IACE,OAAO;AAAA,IACP,MAAM;AAAA,IACN,OAAO;AAAA,MACL,yBAAyB,CAAC,SAAS;AAAA,QACjC,OAAO;AAAA,UACL;AAAA,YACE,SAAS;AAAA,YACT,MAAM;AAAA,UACR;AAAA,QACF;AAAA,QACA,UAAU;AAAA,UACR;AAAA,YACE,OAAO;AAAA,cACL;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,YACF;AAAA,YACA,SAAS;AAAA,UACX;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACF;","names":[]}
@@ -0,0 +1,31 @@
1
+ import { TSESLint } from '@typescript-eslint/utils';
2
+
3
+ /**
4
+ * TypeORM ESLint configuration.
5
+ *
6
+ * TypeORM does not currently provide an ESLint 10-ready recommended flat
7
+ * config. This integration focuses on stable imports and avoids legacy global
8
+ * helpers that make migrations and tests harder to reason about.
9
+ */
10
+ declare const typeorm: () => TSESLint.FlatConfig.ConfigArray;
11
+ /**
12
+ * Prisma ESLint configuration.
13
+ *
14
+ * Keeps Prisma Client usage on public package entry points. This avoids runtime
15
+ * internals that frequently change between generated client versions.
16
+ */
17
+ declare const prisma: () => TSESLint.FlatConfig.ConfigArray;
18
+ /**
19
+ * Drizzle ORM ESLint configuration.
20
+ */
21
+ declare const drizzle: () => TSESLint.FlatConfig.ConfigArray;
22
+ /**
23
+ * MikroORM ESLint configuration.
24
+ */
25
+ declare const mikroOrm: () => TSESLint.FlatConfig.ConfigArray;
26
+ /**
27
+ * Sequelize ESLint configuration.
28
+ */
29
+ declare const sequelize: () => TSESLint.FlatConfig.ConfigArray;
30
+
31
+ export { drizzle, mikroOrm, prisma, sequelize, typeorm };
@@ -0,0 +1,104 @@
1
+ import { GLOB_JS_TS_ALL } from "@santi020k/eslint-config-core";
2
+ const createOrmConfig = (ormName, rules) => [
3
+ {
4
+ files: GLOB_JS_TS_ALL,
5
+ name: `eslint-config-integrations/${ormName}`,
6
+ rules
7
+ }
8
+ ];
9
+ const typeorm = () => createOrmConfig("typeorm", {
10
+ "no-restricted-imports": ["error", {
11
+ paths: [
12
+ {
13
+ importNames: [
14
+ "getConnection",
15
+ "getManager",
16
+ "getMongoManager",
17
+ "getMongoRepository",
18
+ "getRepository",
19
+ "getTreeRepository"
20
+ ],
21
+ message: "Prefer DataSource, EntityManager, or injected Repository instances over legacy TypeORM global helpers.",
22
+ name: "typeorm"
23
+ },
24
+ {
25
+ message: 'Import TypeORM APIs from "typeorm" instead of the browser build.',
26
+ name: "typeorm/browser"
27
+ }
28
+ ],
29
+ patterns: [
30
+ {
31
+ group: ["typeorm/*", "!typeorm/browser"],
32
+ message: 'Import public TypeORM APIs from "typeorm"; subpath imports can couple code to internal package layout.'
33
+ }
34
+ ]
35
+ }]
36
+ });
37
+ const prisma = () => createOrmConfig("prisma", {
38
+ "no-restricted-imports": ["error", {
39
+ patterns: [
40
+ {
41
+ group: [
42
+ "@prisma/client/runtime",
43
+ "@prisma/client/runtime/*",
44
+ ".prisma/client",
45
+ ".prisma/client/*"
46
+ ],
47
+ message: 'Import Prisma APIs from "@prisma/client"; generated runtime internals are not a stable application API.'
48
+ }
49
+ ]
50
+ }]
51
+ });
52
+ const drizzle = () => createOrmConfig("drizzle", {
53
+ "no-restricted-imports": ["error", {
54
+ patterns: [
55
+ {
56
+ group: [
57
+ "drizzle-orm/*/session",
58
+ "drizzle-orm/*/session.*",
59
+ "drizzle-orm/*/query-builders/*",
60
+ "drizzle-orm/*/migrator",
61
+ "drizzle-orm/*/migrator.*"
62
+ ],
63
+ message: "Use Drizzle public driver, schema, migration, and query APIs instead of internal session or builder modules."
64
+ }
65
+ ]
66
+ }]
67
+ });
68
+ const mikroOrm = () => createOrmConfig("mikro-orm", {
69
+ "no-restricted-imports": ["error", {
70
+ patterns: [
71
+ {
72
+ group: [
73
+ "@mikro-orm/core/entity/*",
74
+ "@mikro-orm/core/platforms/*",
75
+ "@mikro-orm/core/unit-of-work/*",
76
+ "@mikro-orm/core/utils/*"
77
+ ],
78
+ message: "Import MikroORM APIs from documented package entry points instead of core internals."
79
+ }
80
+ ]
81
+ }]
82
+ });
83
+ const sequelize = () => createOrmConfig("sequelize", {
84
+ "no-restricted-imports": ["error", {
85
+ patterns: [
86
+ {
87
+ group: [
88
+ "sequelize/types/*",
89
+ "sequelize/lib/*",
90
+ "@sequelize/core/_non-semver-use-at-your-own-risk_/*"
91
+ ],
92
+ message: "Use Sequelize public exports; internal type, lib, and non-semver modules are unstable."
93
+ }
94
+ ]
95
+ }]
96
+ });
97
+ export {
98
+ drizzle,
99
+ mikroOrm,
100
+ prisma,
101
+ sequelize,
102
+ typeorm
103
+ };
104
+ //# sourceMappingURL=orm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/libraries/orm.ts"],"sourcesContent":["import { GLOB_JS_TS_ALL } from '@santi020k/eslint-config-core'\n\nimport type { TSESLint } from '@typescript-eslint/utils'\n\nconst createOrmConfig = (\n ormName: string,\n rules: NonNullable<TSESLint.FlatConfig.Config['rules']>\n): TSESLint.FlatConfig.ConfigArray => [\n {\n files: GLOB_JS_TS_ALL,\n name: `eslint-config-integrations/${ormName}`,\n rules\n }\n]\n\n/**\n * TypeORM ESLint configuration.\n *\n * TypeORM does not currently provide an ESLint 10-ready recommended flat\n * config. This integration focuses on stable imports and avoids legacy global\n * helpers that make migrations and tests harder to reason about.\n */\nexport const typeorm = (): TSESLint.FlatConfig.ConfigArray => createOrmConfig('typeorm', {\n 'no-restricted-imports': ['error', {\n paths: [\n {\n importNames: [\n 'getConnection',\n 'getManager',\n 'getMongoManager',\n 'getMongoRepository',\n 'getRepository',\n 'getTreeRepository'\n ],\n message: 'Prefer DataSource, EntityManager, or injected Repository instances over legacy TypeORM global helpers.',\n name: 'typeorm'\n },\n {\n message: 'Import TypeORM APIs from \"typeorm\" instead of the browser build.',\n name: 'typeorm/browser'\n }\n ],\n patterns: [\n {\n group: ['typeorm/*', '!typeorm/browser'],\n message: 'Import public TypeORM APIs from \"typeorm\"; subpath imports can couple code to internal package layout.'\n }\n ]\n }]\n})\n\n/**\n * Prisma ESLint configuration.\n *\n * Keeps Prisma Client usage on public package entry points. This avoids runtime\n * internals that frequently change between generated client versions.\n */\nexport const prisma = (): TSESLint.FlatConfig.ConfigArray => createOrmConfig('prisma', {\n 'no-restricted-imports': ['error', {\n patterns: [\n {\n group: [\n '@prisma/client/runtime',\n '@prisma/client/runtime/*',\n '.prisma/client',\n '.prisma/client/*'\n ],\n message: 'Import Prisma APIs from \"@prisma/client\"; generated runtime internals are not a stable application API.'\n }\n ]\n }]\n})\n\n/**\n * Drizzle ORM ESLint configuration.\n */\nexport const drizzle = (): TSESLint.FlatConfig.ConfigArray => createOrmConfig('drizzle', {\n 'no-restricted-imports': ['error', {\n patterns: [\n {\n group: [\n 'drizzle-orm/*/session',\n 'drizzle-orm/*/session.*',\n 'drizzle-orm/*/query-builders/*',\n 'drizzle-orm/*/migrator',\n 'drizzle-orm/*/migrator.*'\n ],\n message: 'Use Drizzle public driver, schema, migration, and query APIs instead of internal session or builder modules.'\n }\n ]\n }]\n})\n\n/**\n * MikroORM ESLint configuration.\n */\nexport const mikroOrm = (): TSESLint.FlatConfig.ConfigArray => createOrmConfig('mikro-orm', {\n 'no-restricted-imports': ['error', {\n patterns: [\n {\n group: [\n '@mikro-orm/core/entity/*',\n '@mikro-orm/core/platforms/*',\n '@mikro-orm/core/unit-of-work/*',\n '@mikro-orm/core/utils/*'\n ],\n message: 'Import MikroORM APIs from documented package entry points instead of core internals.'\n }\n ]\n }]\n})\n\n/**\n * Sequelize ESLint configuration.\n */\nexport const sequelize = (): TSESLint.FlatConfig.ConfigArray => createOrmConfig('sequelize', {\n 'no-restricted-imports': ['error', {\n patterns: [\n {\n group: [\n 'sequelize/types/*',\n 'sequelize/lib/*',\n '@sequelize/core/_non-semver-use-at-your-own-risk_/*'\n ],\n message: 'Use Sequelize public exports; internal type, lib, and non-semver modules are unstable.'\n }\n ]\n }]\n})\n"],"mappings":"AAAA,SAAS,sBAAsB;AAI/B,MAAM,kBAAkB,CACtB,SACA,UACoC;AAAA,EACpC;AAAA,IACE,OAAO;AAAA,IACP,MAAM,8BAA8B,OAAO;AAAA,IAC3C;AAAA,EACF;AACF;AASO,MAAM,UAAU,MAAuC,gBAAgB,WAAW;AAAA,EACvF,yBAAyB,CAAC,SAAS;AAAA,IACjC,OAAO;AAAA,MACL;AAAA,QACE,aAAa;AAAA,UACX;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,SAAS;AAAA,QACT,MAAM;AAAA,MACR;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,MAAM;AAAA,MACR;AAAA,IACF;AAAA,IACA,UAAU;AAAA,MACR;AAAA,QACE,OAAO,CAAC,aAAa,kBAAkB;AAAA,QACvC,SAAS;AAAA,MACX;AAAA,IACF;AAAA,EACF,CAAC;AACH,CAAC;AAQM,MAAM,SAAS,MAAuC,gBAAgB,UAAU;AAAA,EACrF,yBAAyB,CAAC,SAAS;AAAA,IACjC,UAAU;AAAA,MACR;AAAA,QACE,OAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,SAAS;AAAA,MACX;AAAA,IACF;AAAA,EACF,CAAC;AACH,CAAC;AAKM,MAAM,UAAU,MAAuC,gBAAgB,WAAW;AAAA,EACvF,yBAAyB,CAAC,SAAS;AAAA,IACjC,UAAU;AAAA,MACR;AAAA,QACE,OAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,SAAS;AAAA,MACX;AAAA,IACF;AAAA,EACF,CAAC;AACH,CAAC;AAKM,MAAM,WAAW,MAAuC,gBAAgB,aAAa;AAAA,EAC1F,yBAAyB,CAAC,SAAS;AAAA,IACjC,UAAU;AAAA,MACR;AAAA,QACE,OAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,SAAS;AAAA,MACX;AAAA,IACF;AAAA,EACF,CAAC;AACH,CAAC;AAKM,MAAM,YAAY,MAAuC,gBAAgB,aAAa;AAAA,EAC3F,yBAAyB,CAAC,SAAS;AAAA,IACjC,UAAU;AAAA,MACR;AAAA,QACE,OAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,SAAS;AAAA,MACX;AAAA,IACF;AAAA,EACF,CAAC;AACH,CAAC;","names":[]}
@@ -0,0 +1,9 @@
1
+ import { TSESLint } from '@typescript-eslint/utils';
2
+
3
+ /**
4
+ * Stencil ESLint configuration
5
+ * Enforces best practices for Stencil.js components
6
+ */
7
+ declare const stencil: () => Promise<TSESLint.FlatConfig.ConfigArray>;
8
+
9
+ export { stencil };
@@ -0,0 +1,49 @@
1
+ import { fixupPluginRules } from "@eslint/compat";
2
+ import { defineLazyConfig, loadDefault } from "../lazy.js";
3
+ const stencil = defineLazyConfig("stencil", async () => {
4
+ const stencilPlugin = await loadDefault("@stencil-community/eslint-plugin");
5
+ return [
6
+ {
7
+ files: ["**/*.{tsx,ts}"],
8
+ name: "integrations/stencil",
9
+ plugins: {
10
+ "@stencil-community": fixupPluginRules(stencilPlugin)
11
+ },
12
+ rules: {
13
+ "@stencil-community/async-methods": "error",
14
+ "@stencil-community/ban-prefix": ["error", ["stencil", "stnl", "st"]],
15
+ "@stencil-community/decorators-context": "error",
16
+ "@stencil-community/decorators-style": [
17
+ "error",
18
+ {
19
+ element: "inline",
20
+ event: "inline",
21
+ listen: "multiline",
22
+ method: "multiline",
23
+ prop: "inline",
24
+ state: "inline",
25
+ watch: "multiline"
26
+ }
27
+ ],
28
+ "@stencil-community/element-type": "error",
29
+ "@stencil-community/host-data-deprecated": "error",
30
+ "@stencil-community/methods-must-be-public": "error",
31
+ "@stencil-community/no-unused-watch": "error",
32
+ "@stencil-community/own-methods-must-be-private": "error",
33
+ "@stencil-community/own-props-must-be-private": "error",
34
+ "@stencil-community/prefer-vdom-listener": "error",
35
+ "@stencil-community/props-must-be-public": "error",
36
+ "@stencil-community/props-must-be-readonly": "error",
37
+ "@stencil-community/render-returns-host": "error",
38
+ "@stencil-community/required-jsdoc": "error",
39
+ "@stencil-community/reserved-member-names": "error",
40
+ "@stencil-community/single-export": "error",
41
+ "@stencil-community/strict-mutable": "error"
42
+ }
43
+ }
44
+ ];
45
+ });
46
+ export {
47
+ stencil
48
+ };
49
+ //# sourceMappingURL=stencil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/libraries/stencil.ts"],"sourcesContent":["import { fixupPluginRules } from '@eslint/compat'\nimport type StencilPlugin from '@stencil-community/eslint-plugin'\nimport type { TSESLint } from '@typescript-eslint/utils'\n\nimport { defineLazyConfig, loadDefault } from '../lazy.js'\n\n/**\n * Stencil ESLint configuration\n * Enforces best practices for Stencil.js components\n */\nexport const stencil: () => Promise<TSESLint.FlatConfig.ConfigArray> = defineLazyConfig('stencil', async () => {\n const stencilPlugin = await loadDefault<typeof StencilPlugin>('@stencil-community/eslint-plugin')\n\n return [\n {\n files: ['**/*.{tsx,ts}'],\n name: 'integrations/stencil',\n plugins: {\n '@stencil-community': fixupPluginRules(stencilPlugin as unknown as Record<string, unknown>)\n },\n rules: {\n '@stencil-community/async-methods': 'error',\n '@stencil-community/ban-prefix': ['error', ['stencil', 'stnl', 'st']],\n '@stencil-community/decorators-context': 'error',\n '@stencil-community/decorators-style': [\n 'error', {\n element: 'inline',\n event: 'inline',\n listen: 'multiline',\n method: 'multiline',\n prop: 'inline',\n state: 'inline',\n watch: 'multiline'\n }],\n '@stencil-community/element-type': 'error',\n '@stencil-community/host-data-deprecated': 'error',\n '@stencil-community/methods-must-be-public': 'error',\n '@stencil-community/no-unused-watch': 'error',\n '@stencil-community/own-methods-must-be-private': 'error',\n '@stencil-community/own-props-must-be-private': 'error',\n '@stencil-community/prefer-vdom-listener': 'error',\n '@stencil-community/props-must-be-public': 'error',\n '@stencil-community/props-must-be-readonly': 'error',\n '@stencil-community/render-returns-host': 'error',\n '@stencil-community/required-jsdoc': 'error',\n '@stencil-community/reserved-member-names': 'error',\n '@stencil-community/single-export': 'error',\n '@stencil-community/strict-mutable': 'error'\n }\n }\n ]\n})\n"],"mappings":"AAAA,SAAS,wBAAwB;AAIjC,SAAS,kBAAkB,mBAAmB;AAMvC,MAAM,UAA0D,iBAAiB,WAAW,YAAY;AAC7G,QAAM,gBAAgB,MAAM,YAAkC,kCAAkC;AAEhG,SAAO;AAAA,IACL;AAAA,MACE,OAAO,CAAC,eAAe;AAAA,MACvB,MAAM;AAAA,MACN,SAAS;AAAA,QACP,sBAAsB,iBAAiB,aAAmD;AAAA,MAC5F;AAAA,MACA,OAAO;AAAA,QACL,oCAAoC;AAAA,QACpC,iCAAiC,CAAC,SAAS,CAAC,WAAW,QAAQ,IAAI,CAAC;AAAA,QACpE,yCAAyC;AAAA,QACzC,uCAAuC;AAAA,UACrC;AAAA,UAAS;AAAA,YACP,SAAS;AAAA,YACT,OAAO;AAAA,YACP,QAAQ;AAAA,YACR,QAAQ;AAAA,YACR,MAAM;AAAA,YACN,OAAO;AAAA,YACP,OAAO;AAAA,UACT;AAAA,QAAC;AAAA,QACH,mCAAmC;AAAA,QACnC,2CAA2C;AAAA,QAC3C,6CAA6C;AAAA,QAC7C,sCAAsC;AAAA,QACtC,kDAAkD;AAAA,QAClD,gDAAgD;AAAA,QAChD,2CAA2C;AAAA,QAC3C,2CAA2C;AAAA,QAC3C,6CAA6C;AAAA,QAC7C,0CAA0C;AAAA,QAC1C,qCAAqC;AAAA,QACrC,4CAA4C;AAAA,QAC5C,oCAAoC;AAAA,QACpC,qCAAqC;AAAA,MACvC;AAAA,IACF;AAAA,EACF;AACF,CAAC;","names":[]}
@@ -0,0 +1,9 @@
1
+ import { TSESLint } from '@typescript-eslint/utils';
2
+
3
+ /**
4
+ * Storybook ESLint configuration
5
+ * Provides rules for Storybook story best practices
6
+ */
7
+ declare const storybook: () => Promise<TSESLint.FlatConfig.ConfigArray>;
8
+
9
+ export { storybook };
@@ -0,0 +1,11 @@
1
+ import { defineLazyConfig, loadDefault } from "../lazy.js";
2
+ const storybook = defineLazyConfig("storybook", async () => {
3
+ const pluginStorybook = await loadDefault("eslint-plugin-storybook");
4
+ return [
5
+ ...pluginStorybook.configs["flat/recommended"]
6
+ ];
7
+ });
8
+ export {
9
+ storybook
10
+ };
11
+ //# sourceMappingURL=storybook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/libraries/storybook.ts"],"sourcesContent":["import type { TSESLint } from '@typescript-eslint/utils'\nimport type PluginStorybook from 'eslint-plugin-storybook'\n\nimport { defineLazyConfig, loadDefault } from '../lazy.js'\n\n/**\n * Storybook ESLint configuration\n * Provides rules for Storybook story best practices\n */\nexport const storybook: () => Promise<TSESLint.FlatConfig.ConfigArray> = defineLazyConfig('storybook', async () => {\n const pluginStorybook = await loadDefault<typeof PluginStorybook>('eslint-plugin-storybook')\n\n return [\n ...(pluginStorybook.configs['flat/recommended'])\n ]\n})\n"],"mappings":"AAGA,SAAS,kBAAkB,mBAAmB;AAMvC,MAAM,YAA4D,iBAAiB,aAAa,YAAY;AACjH,QAAM,kBAAkB,MAAM,YAAoC,yBAAyB;AAE3F,SAAO;AAAA,IACL,GAAI,gBAAgB,QAAQ,kBAAkB;AAAA,EAChD;AACF,CAAC;","names":[]}