@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,25 @@
1
+ import { GLOB_JS_TS, GLOB_TS } from "@santi020k/eslint-config-core";
2
+ import { defineLazyConfig, loadDefault } from "../lazy.js";
3
+ const node = defineLazyConfig("node", async () => {
4
+ const pluginNode = await loadDefault("eslint-plugin-n");
5
+ return [
6
+ {
7
+ ...pluginNode.configs["flat/recommended"],
8
+ files: GLOB_JS_TS,
9
+ name: "integrations/node/recommended"
10
+ },
11
+ {
12
+ files: GLOB_TS,
13
+ name: "integrations/node/typescript-overrides",
14
+ rules: {
15
+ // TypeScript already validates module resolution
16
+ "n/no-missing-import": "off",
17
+ "n/no-missing-require": "off"
18
+ }
19
+ }
20
+ ];
21
+ });
22
+ export {
23
+ node
24
+ };
25
+ //# sourceMappingURL=node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/extensions/node.ts"],"sourcesContent":["import { GLOB_JS_TS, GLOB_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 * Node.js extension configuration\n * Applies `eslint-plugin-n` recommended rules for Node.js codebases.\n * Module-resolution rules are disabled for TypeScript files where the\n * TypeScript compiler already validates imports.\n */\nexport const node: () => Promise<TSESLint.FlatConfig.ConfigArray> = defineLazyConfig('node', async () => {\n const pluginNode = await loadDefault<PluginWithConfigs<'flat/recommended'>>('eslint-plugin-n')\n\n return [\n {\n ...pluginNode.configs['flat/recommended'],\n files: GLOB_JS_TS,\n name: 'integrations/node/recommended'\n },\n {\n files: GLOB_TS,\n name: 'integrations/node/typescript-overrides',\n rules: {\n // TypeScript already validates module resolution\n 'n/no-missing-import': 'off',\n 'n/no-missing-require': 'off'\n }\n }\n ]\n})\n"],"mappings":"AAAA,SAAS,YAAY,eAAe;AAIpC,SAAS,kBAAkB,mBAA2C;AAQ/D,MAAM,OAAuD,iBAAiB,QAAQ,YAAY;AACvG,QAAM,aAAa,MAAM,YAAmD,iBAAiB;AAE7F,SAAO;AAAA,IACL;AAAA,MACE,GAAG,WAAW,QAAQ,kBAAkB;AAAA,MACxC,OAAO;AAAA,MACP,MAAM;AAAA,IACR;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,MAAM;AAAA,MACN,OAAO;AAAA;AAAA,QAEL,uBAAuB;AAAA,QACvB,wBAAwB;AAAA,MAC1B;AAAA,IACF;AAAA,EACF;AACF,CAAC;","names":[]}
@@ -0,0 +1,10 @@
1
+ import { TSESLint } from '@typescript-eslint/utils';
2
+
3
+ /**
4
+ * Oxlint extension configuration
5
+ * Disables ESLint rules already covered by Oxlint so both linters can run
6
+ * side by side without duplicate reports (analogous to the Biome extension)
7
+ */
8
+ declare const oxlint: () => Promise<TSESLint.FlatConfig.ConfigArray>;
9
+
10
+ export { oxlint };
@@ -0,0 +1,14 @@
1
+ import { defineLazyConfig, loadDefault } from "../lazy.js";
2
+ const oxlint = defineLazyConfig("oxlint", async () => {
3
+ const pluginOxlint = await loadDefault("eslint-plugin-oxlint");
4
+ return [
5
+ ...pluginOxlint.configs["flat/recommended"].map((config) => ({
6
+ ...config,
7
+ name: `integrations/oxlint${config.name ? `/${config.name}` : ""}`
8
+ }))
9
+ ];
10
+ });
11
+ export {
12
+ oxlint
13
+ };
14
+ //# sourceMappingURL=oxlint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/extensions/oxlint.ts"],"sourcesContent":["import type { TSESLint } from '@typescript-eslint/utils'\n\nimport { defineLazyConfig, loadDefault } from '../lazy.js'\n\ninterface OxlintPlugin {\n configs: Record<string, TSESLint.FlatConfig.ConfigArray>\n}\n\n/**\n * Oxlint extension configuration\n * Disables ESLint rules already covered by Oxlint so both linters can run\n * side by side without duplicate reports (analogous to the Biome extension)\n */\nexport const oxlint: () => Promise<TSESLint.FlatConfig.ConfigArray> = defineLazyConfig('oxlint', async () => {\n const pluginOxlint = await loadDefault<OxlintPlugin>('eslint-plugin-oxlint')\n\n return [\n ...pluginOxlint.configs['flat/recommended'].map(config => ({\n ...config,\n name: `integrations/oxlint${config.name ? `/${config.name}` : ''}`\n }))\n ]\n})\n"],"mappings":"AAEA,SAAS,kBAAkB,mBAAmB;AAWvC,MAAM,SAAyD,iBAAiB,UAAU,YAAY;AAC3G,QAAM,eAAe,MAAM,YAA0B,sBAAsB;AAE3E,SAAO;AAAA,IACL,GAAG,aAAa,QAAQ,kBAAkB,EAAE,IAAI,aAAW;AAAA,MACzD,GAAG;AAAA,MACH,MAAM,sBAAsB,OAAO,OAAO,IAAI,OAAO,IAAI,KAAK,EAAE;AAAA,IAClE,EAAE;AAAA,EACJ;AACF,CAAC;","names":[]}
@@ -0,0 +1,9 @@
1
+ import { TSESLint } from '@typescript-eslint/utils';
2
+
3
+ /**
4
+ * Perfectionist ESLint configuration
5
+ * Provides rules for sorting and organizing code (imports, exports, object keys, etc.)
6
+ */
7
+ declare const perfectionist: () => Promise<TSESLint.FlatConfig.ConfigArray>;
8
+
9
+ export { perfectionist };
@@ -0,0 +1,25 @@
1
+ import { GLOB_JS_TS } from "@santi020k/eslint-config-core";
2
+ import { defineLazyConfig, loadDefault } from "../lazy.js";
3
+ const perfectionist = defineLazyConfig("perfectionist", async () => {
4
+ const pluginPerfectionist = await loadDefault("eslint-plugin-perfectionist");
5
+ return [
6
+ {
7
+ files: GLOB_JS_TS,
8
+ name: "eslint-config-integrations/perfectionist",
9
+ plugins: {
10
+ perfectionist: pluginPerfectionist
11
+ },
12
+ rules: {
13
+ ...pluginPerfectionist.configs["recommended-natural"].rules,
14
+ "perfectionist/sort-imports": "off",
15
+ "perfectionist/sort-named-imports": "off",
16
+ // Disable simple-import-sort/exports so that perfectionist can handle export sorting without conflicts
17
+ "simple-import-sort/exports": "off"
18
+ }
19
+ }
20
+ ];
21
+ });
22
+ export {
23
+ perfectionist
24
+ };
25
+ //# sourceMappingURL=perfectionist.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/extensions/perfectionist.ts"],"sourcesContent":["import { GLOB_JS_TS } from '@santi020k/eslint-config-core'\n\nimport type { TSESLint } from '@typescript-eslint/utils'\nimport type PluginPerfectionist from 'eslint-plugin-perfectionist'\n\nimport { defineLazyConfig, loadDefault } from '../lazy.js'\n\n/**\n * Perfectionist ESLint configuration\n * Provides rules for sorting and organizing code (imports, exports, object keys, etc.)\n */\nexport const perfectionist: () => Promise<TSESLint.FlatConfig.ConfigArray> = defineLazyConfig('perfectionist', async () => {\n const pluginPerfectionist = await loadDefault<typeof PluginPerfectionist>('eslint-plugin-perfectionist')\n\n return [\n {\n files: GLOB_JS_TS,\n name: 'eslint-config-integrations/perfectionist',\n plugins: {\n perfectionist: pluginPerfectionist\n },\n rules: {\n ...pluginPerfectionist.configs['recommended-natural'].rules,\n 'perfectionist/sort-imports': 'off',\n 'perfectionist/sort-named-imports': 'off',\n // Disable simple-import-sort/exports so that perfectionist can handle export sorting without conflicts\n 'simple-import-sort/exports': 'off'\n }\n }\n ]\n})\n"],"mappings":"AAAA,SAAS,kBAAkB;AAK3B,SAAS,kBAAkB,mBAAmB;AAMvC,MAAM,gBAAgE,iBAAiB,iBAAiB,YAAY;AACzH,QAAM,sBAAsB,MAAM,YAAwC,6BAA6B;AAEvG,SAAO;AAAA,IACL;AAAA,MACE,OAAO;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA,QACP,eAAe;AAAA,MACjB;AAAA,MACA,OAAO;AAAA,QACL,GAAG,oBAAoB,QAAQ,qBAAqB,EAAE;AAAA,QACtD,8BAA8B;AAAA,QAC9B,oCAAoC;AAAA;AAAA,QAEpC,8BAA8B;AAAA,MAChC;AAAA,IACF;AAAA,EACF;AACF,CAAC;","names":[]}
@@ -0,0 +1,10 @@
1
+ import { TSESLint } from '@typescript-eslint/utils';
2
+
3
+ /**
4
+ * RegExp ESLint configuration
5
+ * Catches common regex mistakes like exponential backtracking,
6
+ * unnecessary escapes, and optimizable character classes
7
+ */
8
+ declare const regexp: () => Promise<TSESLint.FlatConfig.ConfigArray>;
9
+
10
+ export { regexp };
@@ -0,0 +1,28 @@
1
+ import { GLOB_JS_TS } from "@santi020k/eslint-config-core";
2
+ import { defineLazyConfig, loadModule } from "../lazy.js";
3
+ const regexp = defineLazyConfig("regexp", async () => {
4
+ const pluginRegexp = await loadModule("eslint-plugin-regexp");
5
+ return [
6
+ {
7
+ files: GLOB_JS_TS,
8
+ name: "integrations/regexp",
9
+ plugins: {
10
+ regexp: pluginRegexp
11
+ },
12
+ rules: {
13
+ // Use recommended rules as base
14
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
15
+ ...pluginRegexp.configs?.["flat/recommended"]?.rules,
16
+ "regexp/no-super-linear-backtracking": "error",
17
+ // Downgrade some rules to warnings for a smoother adoption
18
+ "regexp/no-unused-capturing-group": "warn",
19
+ "regexp/no-useless-escape": "warn",
20
+ "regexp/prefer-character-class": "warn"
21
+ }
22
+ }
23
+ ];
24
+ });
25
+ export {
26
+ regexp
27
+ };
28
+ //# sourceMappingURL=regexp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/extensions/regexp.ts"],"sourcesContent":["import { GLOB_JS_TS } from '@santi020k/eslint-config-core'\n\nimport type { TSESLint } from '@typescript-eslint/utils'\nimport type PluginRegexp from 'eslint-plugin-regexp'\n\nimport { defineLazyConfig, loadModule } from '../lazy.js'\n\n/**\n * RegExp ESLint configuration\n * Catches common regex mistakes like exponential backtracking,\n * unnecessary escapes, and optimizable character classes\n */\nexport const regexp: () => Promise<TSESLint.FlatConfig.ConfigArray> = defineLazyConfig('regexp', async () => {\n const pluginRegexp = await loadModule<typeof PluginRegexp>('eslint-plugin-regexp')\n\n return [\n {\n files: GLOB_JS_TS,\n name: 'integrations/regexp',\n plugins: {\n regexp: pluginRegexp\n },\n rules: {\n // Use recommended rules as base\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n ...pluginRegexp.configs?.['flat/recommended']?.rules,\n\n 'regexp/no-super-linear-backtracking': 'error',\n // Downgrade some rules to warnings for a smoother adoption\n 'regexp/no-unused-capturing-group': 'warn',\n 'regexp/no-useless-escape': 'warn',\n 'regexp/prefer-character-class': 'warn'\n }\n }\n ]\n})\n"],"mappings":"AAAA,SAAS,kBAAkB;AAK3B,SAAS,kBAAkB,kBAAkB;AAOtC,MAAM,SAAyD,iBAAiB,UAAU,YAAY;AAC3G,QAAM,eAAe,MAAM,WAAgC,sBAAsB;AAEjF,SAAO;AAAA,IACL;AAAA,MACE,OAAO;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA,QACP,QAAQ;AAAA,MACV;AAAA,MACA,OAAO;AAAA;AAAA;AAAA,QAGL,GAAG,aAAa,UAAU,kBAAkB,GAAG;AAAA,QAE/C,uCAAuC;AAAA;AAAA,QAEvC,oCAAoC;AAAA,QACpC,4BAA4B;AAAA,QAC5B,iCAAiC;AAAA,MACnC;AAAA,IACF;AAAA,EACF;AACF,CAAC;","names":[]}
@@ -0,0 +1,9 @@
1
+ import { TSESLint } from '@typescript-eslint/utils';
2
+
3
+ /**
4
+ * Security ESLint configuration
5
+ * Provides rules for catching common security vulnerabilities.
6
+ */
7
+ declare const security: () => Promise<TSESLint.FlatConfig.ConfigArray>;
8
+
9
+ export { security };
@@ -0,0 +1,21 @@
1
+ import { GLOB_JS_TS } from "@santi020k/eslint-config-core";
2
+ import { defineLazyConfig, loadDefault } from "../lazy.js";
3
+ const security = defineLazyConfig("security", async () => {
4
+ const pluginSecurity = await loadDefault("eslint-plugin-security");
5
+ return [
6
+ {
7
+ files: GLOB_JS_TS,
8
+ name: "eslint-config-integrations/security",
9
+ plugins: {
10
+ security: pluginSecurity
11
+ },
12
+ rules: {
13
+ ...pluginSecurity.configs.recommended.rules
14
+ }
15
+ }
16
+ ];
17
+ });
18
+ export {
19
+ security
20
+ };
21
+ //# sourceMappingURL=security.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/extensions/security.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 * Security ESLint configuration\n * Provides rules for catching common security vulnerabilities.\n */\nexport const security: () => Promise<TSESLint.FlatConfig.ConfigArray> = defineLazyConfig('security', async () => {\n const pluginSecurity = await loadDefault<PluginWithConfigs<'recommended'>>('eslint-plugin-security')\n\n return [\n {\n files: GLOB_JS_TS,\n name: 'eslint-config-integrations/security',\n plugins: {\n security: pluginSecurity\n },\n rules: {\n ...pluginSecurity.configs.recommended.rules\n }\n }\n ]\n})\n"],"mappings":"AAAA,SAAS,kBAAkB;AAI3B,SAAS,kBAAkB,mBAA2C;AAM/D,MAAM,WAA2D,iBAAiB,YAAY,YAAY;AAC/G,QAAM,iBAAiB,MAAM,YAA8C,wBAAwB;AAEnG,SAAO;AAAA,IACL;AAAA,MACE,OAAO;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA,QACP,UAAU;AAAA,MACZ;AAAA,MACA,OAAO;AAAA,QACL,GAAG,eAAe,QAAQ,YAAY;AAAA,MACxC;AAAA,IACF;AAAA,EACF;AACF,CAAC;","names":[]}
@@ -0,0 +1,5 @@
1
+ import { TSESLint } from '@typescript-eslint/utils';
2
+
3
+ declare const sonarjs: () => Promise<TSESLint.FlatConfig.ConfigArray>;
4
+
5
+ export { sonarjs };
@@ -0,0 +1,16 @@
1
+ import { GLOB_JS_TS } from "@santi020k/eslint-config-core";
2
+ import { defineLazyConfig, loadDefault } from "../lazy.js";
3
+ const sonarjs = defineLazyConfig("sonarjs", async () => {
4
+ const sonarjsPlugin = await loadDefault("eslint-plugin-sonarjs");
5
+ return [
6
+ {
7
+ ...sonarjsPlugin.configs.recommended,
8
+ files: GLOB_JS_TS,
9
+ name: "eslint-config/sonarjs"
10
+ }
11
+ ];
12
+ });
13
+ export {
14
+ sonarjs
15
+ };
16
+ //# sourceMappingURL=sonarjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/extensions/sonarjs.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\nexport const sonarjs: () => Promise<TSESLint.FlatConfig.ConfigArray> = defineLazyConfig('sonarjs', async () => {\n const sonarjsPlugin = await loadDefault<PluginWithConfigs<'recommended'>>('eslint-plugin-sonarjs')\n\n return [\n {\n ...sonarjsPlugin.configs.recommended,\n files: GLOB_JS_TS,\n name: 'eslint-config/sonarjs'\n }\n ]\n})\n"],"mappings":"AAAA,SAAS,kBAAkB;AAI3B,SAAS,kBAAkB,mBAA2C;AAE/D,MAAM,UAA0D,iBAAiB,WAAW,YAAY;AAC7G,QAAM,gBAAgB,MAAM,YAA8C,uBAAuB;AAEjG,SAAO;AAAA,IACL;AAAA,MACE,GAAG,cAAc,QAAQ;AAAA,MACzB,OAAO;AAAA,MACP,MAAM;AAAA,IACR;AAAA,EACF;AACF,CAAC;","names":[]}
@@ -0,0 +1,9 @@
1
+ import { TSESLint } from '@typescript-eslint/utils';
2
+
3
+ /**
4
+ * Unicorn ESLint configuration
5
+ * Modern JavaScript best practices from eslint-plugin-unicorn
6
+ */
7
+ declare const unicorn: () => Promise<TSESLint.FlatConfig.ConfigArray>;
8
+
9
+ export { unicorn };
@@ -0,0 +1,47 @@
1
+ import { GLOB_JS_TS } from "@santi020k/eslint-config-core";
2
+ import { defineLazyConfig, loadDefault } from "../lazy.js";
3
+ const unicorn = defineLazyConfig("unicorn", async () => {
4
+ const pluginUnicorn = await loadDefault("eslint-plugin-unicorn");
5
+ return [
6
+ {
7
+ files: GLOB_JS_TS,
8
+ name: "eslint-config/unicorn",
9
+ plugins: {
10
+ unicorn: pluginUnicorn
11
+ },
12
+ rules: {
13
+ "unicorn/catch-error-name": "warn",
14
+ "unicorn/consistent-destructuring": "warn",
15
+ "unicorn/consistent-function-scoping": "warn",
16
+ "unicorn/no-abusive-eslint-disable": "warn",
17
+ "unicorn/no-array-for-each": "warn",
18
+ "unicorn/no-for-loop": "warn",
19
+ "unicorn/no-lonely-if": "warn",
20
+ "unicorn/no-negated-condition": "warn",
21
+ "unicorn/no-typeof-undefined": "warn",
22
+ "unicorn/no-useless-spread": "warn",
23
+ "unicorn/no-useless-undefined": "warn",
24
+ "unicorn/prefer-array-find": "warn",
25
+ "unicorn/prefer-array-flat": "warn",
26
+ "unicorn/prefer-array-flat-map": "warn",
27
+ "unicorn/prefer-array-some": "warn",
28
+ "unicorn/prefer-includes": "warn",
29
+ "unicorn/prefer-logical-operator-over-ternary": "warn",
30
+ "unicorn/prefer-number-properties": "warn",
31
+ "unicorn/prefer-optional-catch-binding": "warn",
32
+ "unicorn/prefer-spread": "warn",
33
+ "unicorn/prefer-string-replace-all": "warn",
34
+ "unicorn/prefer-string-slice": "warn",
35
+ "unicorn/prefer-string-starts-ends-with": "warn",
36
+ "unicorn/prefer-string-trim-start-end": "warn",
37
+ "unicorn/prefer-switch": "warn",
38
+ "unicorn/prefer-ternary": "warn",
39
+ "unicorn/throw-new-error": "warn"
40
+ }
41
+ }
42
+ ];
43
+ });
44
+ export {
45
+ unicorn
46
+ };
47
+ //# sourceMappingURL=unicorn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/extensions/unicorn.ts"],"sourcesContent":["import { GLOB_JS_TS } from '@santi020k/eslint-config-core'\n\nimport type { TSESLint } from '@typescript-eslint/utils'\nimport type PluginUnicorn from 'eslint-plugin-unicorn'\n\nimport { defineLazyConfig, loadDefault } from '../lazy.js'\n\n/**\n * Unicorn ESLint configuration\n * Modern JavaScript best practices from eslint-plugin-unicorn\n */\nexport const unicorn: () => Promise<TSESLint.FlatConfig.ConfigArray> = defineLazyConfig('unicorn', async () => {\n const pluginUnicorn = await loadDefault<typeof PluginUnicorn>('eslint-plugin-unicorn')\n\n return [\n {\n files: GLOB_JS_TS,\n name: 'eslint-config/unicorn',\n plugins: {\n unicorn: pluginUnicorn\n },\n rules: {\n 'unicorn/catch-error-name': 'warn',\n 'unicorn/consistent-destructuring': 'warn',\n 'unicorn/consistent-function-scoping': 'warn',\n 'unicorn/no-abusive-eslint-disable': 'warn',\n 'unicorn/no-array-for-each': 'warn',\n 'unicorn/no-for-loop': 'warn',\n 'unicorn/no-lonely-if': 'warn',\n 'unicorn/no-negated-condition': 'warn',\n 'unicorn/no-typeof-undefined': 'warn',\n 'unicorn/no-useless-spread': 'warn',\n 'unicorn/no-useless-undefined': 'warn',\n 'unicorn/prefer-array-find': 'warn',\n 'unicorn/prefer-array-flat': 'warn',\n 'unicorn/prefer-array-flat-map': 'warn',\n 'unicorn/prefer-array-some': 'warn',\n 'unicorn/prefer-includes': 'warn',\n 'unicorn/prefer-logical-operator-over-ternary': 'warn',\n 'unicorn/prefer-number-properties': 'warn',\n 'unicorn/prefer-optional-catch-binding': 'warn',\n 'unicorn/prefer-spread': 'warn',\n 'unicorn/prefer-string-replace-all': 'warn',\n 'unicorn/prefer-string-slice': 'warn',\n 'unicorn/prefer-string-starts-ends-with': 'warn',\n 'unicorn/prefer-string-trim-start-end': 'warn',\n 'unicorn/prefer-switch': 'warn',\n 'unicorn/prefer-ternary': 'warn',\n 'unicorn/throw-new-error': 'warn'\n }\n }\n ]\n})\n"],"mappings":"AAAA,SAAS,kBAAkB;AAK3B,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,MACX;AAAA,MACA,OAAO;AAAA,QACL,4BAA4B;AAAA,QAC5B,oCAAoC;AAAA,QACpC,uCAAuC;AAAA,QACvC,qCAAqC;AAAA,QACrC,6BAA6B;AAAA,QAC7B,uBAAuB;AAAA,QACvB,wBAAwB;AAAA,QACxB,gCAAgC;AAAA,QAChC,+BAA+B;AAAA,QAC/B,6BAA6B;AAAA,QAC7B,gCAAgC;AAAA,QAChC,6BAA6B;AAAA,QAC7B,6BAA6B;AAAA,QAC7B,iCAAiC;AAAA,QACjC,6BAA6B;AAAA,QAC7B,2BAA2B;AAAA,QAC3B,gDAAgD;AAAA,QAChD,oCAAoC;AAAA,QACpC,yCAAyC;AAAA,QACzC,yBAAyB;AAAA,QACzB,qCAAqC;AAAA,QACrC,+BAA+B;AAAA,QAC/B,0CAA0C;AAAA,QAC1C,wCAAwC;AAAA,QACxC,yBAAyB;AAAA,QACzB,0BAA0B;AAAA,QAC1B,2BAA2B;AAAA,MAC7B;AAAA,IACF;AAAA,EACF;AACF,CAAC;","names":[]}
@@ -0,0 +1,9 @@
1
+ import { TSESLint } from '@typescript-eslint/utils';
2
+
3
+ /**
4
+ * CSS ESLint configuration
5
+ * Lints plain CSS files using the official `@eslint/css` language plugin
6
+ */
7
+ declare const css: () => Promise<TSESLint.FlatConfig.ConfigArray>;
8
+
9
+ export { css };
@@ -0,0 +1,21 @@
1
+ import { defineLazyConfig, loadDefault } from "../lazy.js";
2
+ const css = defineLazyConfig("css", async () => {
3
+ const pluginCss = await loadDefault("@eslint/css");
4
+ return [
5
+ {
6
+ files: ["**/*.css"],
7
+ language: "css/css",
8
+ name: "integrations/css/recommended",
9
+ plugins: {
10
+ css: pluginCss
11
+ },
12
+ rules: {
13
+ ...pluginCss.configs.recommended.rules
14
+ }
15
+ }
16
+ ];
17
+ });
18
+ export {
19
+ css
20
+ };
21
+ //# sourceMappingURL=css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/formats/css.ts"],"sourcesContent":["import type { TSESLint } from '@typescript-eslint/utils'\n\nimport { defineLazyConfig, loadDefault, type PluginWithConfigs } from '../lazy.js'\n\n/**\n * CSS ESLint configuration\n * Lints plain CSS files using the official `@eslint/css` language plugin\n */\nexport const css: () => Promise<TSESLint.FlatConfig.ConfigArray> = defineLazyConfig('css', async () => {\n const pluginCss = await loadDefault<PluginWithConfigs<'recommended'>>('@eslint/css')\n\n return [\n {\n files: ['**/*.css'],\n language: 'css/css',\n name: 'integrations/css/recommended',\n plugins: {\n css: pluginCss\n },\n rules: {\n ...pluginCss.configs.recommended.rules\n }\n }\n ]\n})\n"],"mappings":"AAEA,SAAS,kBAAkB,mBAA2C;AAM/D,MAAM,MAAsD,iBAAiB,OAAO,YAAY;AACrG,QAAM,YAAY,MAAM,YAA8C,aAAa;AAEnF,SAAO;AAAA,IACL;AAAA,MACE,OAAO,CAAC,UAAU;AAAA,MAClB,UAAU;AAAA,MACV,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
+ * GraphQL ESLint configuration
5
+ * Provides linting rules for GraphQL schema and operations
6
+ */
7
+ declare const graphql: () => Promise<TSESLint.FlatConfig.ConfigArray>;
8
+
9
+ export { graphql };
@@ -0,0 +1,41 @@
1
+ import {
2
+ defineLazyConfig,
3
+ loadDefault
4
+ } from "../lazy.js";
5
+ const graphql = defineLazyConfig("graphql", async () => {
6
+ const graphqlPlugin = await loadDefault("@graphql-eslint/eslint-plugin");
7
+ return [
8
+ {
9
+ files: ["**/*.schema.graphql", "**/*.schema.gql", "**/schema.graphql", "**/schema.gql"],
10
+ languageOptions: {
11
+ parser: graphqlPlugin.parser
12
+ },
13
+ name: "integrations/graphql/schema",
14
+ plugins: {
15
+ "@graphql-eslint": graphqlPlugin
16
+ },
17
+ rules: {
18
+ ...graphqlPlugin.configs["flat/schema-recommended"].rules,
19
+ "@graphql-eslint/no-unreachable-types": "off"
20
+ }
21
+ },
22
+ {
23
+ files: ["**/*.graphql", "**/*.gql"],
24
+ ignores: ["**/*.schema.graphql", "**/*.schema.gql", "**/schema.graphql", "**/schema.gql"],
25
+ languageOptions: {
26
+ parser: graphqlPlugin.parser
27
+ },
28
+ name: "integrations/graphql/operations",
29
+ plugins: {
30
+ "@graphql-eslint": graphqlPlugin
31
+ },
32
+ rules: {
33
+ ...graphqlPlugin.configs["flat/operations-recommended"].rules
34
+ }
35
+ }
36
+ ];
37
+ });
38
+ export {
39
+ graphql
40
+ };
41
+ //# sourceMappingURL=graphql.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/formats/graphql.ts"],"sourcesContent":["import {\n defineLazyConfig,\n type FlatParser,\n loadDefault,\n type PluginWithConfigs\n} from '../lazy.js'\n\nimport type { TSESLint } from '@typescript-eslint/utils'\n\ntype GraphqlPlugin = PluginWithConfigs<\n 'flat/operations-recommended' | 'flat/schema-recommended'\n> & {\n parser: FlatParser\n}\n\n/**\n * GraphQL ESLint configuration\n * Provides linting rules for GraphQL schema and operations\n */\nexport const graphql: () => Promise<TSESLint.FlatConfig.ConfigArray> = defineLazyConfig('graphql', async () => {\n const graphqlPlugin = await loadDefault<GraphqlPlugin>('@graphql-eslint/eslint-plugin')\n\n return [\n {\n files: ['**/*.schema.graphql', '**/*.schema.gql', '**/schema.graphql', '**/schema.gql'],\n languageOptions: {\n parser: graphqlPlugin.parser\n },\n name: 'integrations/graphql/schema',\n plugins: {\n '@graphql-eslint': graphqlPlugin\n },\n rules: {\n ...graphqlPlugin.configs['flat/schema-recommended'].rules,\n '@graphql-eslint/no-unreachable-types': 'off'\n }\n },\n {\n files: ['**/*.graphql', '**/*.gql'],\n ignores: ['**/*.schema.graphql', '**/*.schema.gql', '**/schema.graphql', '**/schema.gql'],\n languageOptions: {\n parser: graphqlPlugin.parser\n },\n name: 'integrations/graphql/operations',\n plugins: {\n '@graphql-eslint': graphqlPlugin\n },\n rules: {\n ...graphqlPlugin.configs['flat/operations-recommended'].rules\n }\n }\n ]\n})\n"],"mappings":"AAAA;AAAA,EACE;AAAA,EAEA;AAAA,OAEK;AAcA,MAAM,UAA0D,iBAAiB,WAAW,YAAY;AAC7G,QAAM,gBAAgB,MAAM,YAA2B,+BAA+B;AAEtF,SAAO;AAAA,IACL;AAAA,MACE,OAAO,CAAC,uBAAuB,mBAAmB,qBAAqB,eAAe;AAAA,MACtF,iBAAiB;AAAA,QACf,QAAQ,cAAc;AAAA,MACxB;AAAA,MACA,MAAM;AAAA,MACN,SAAS;AAAA,QACP,mBAAmB;AAAA,MACrB;AAAA,MACA,OAAO;AAAA,QACL,GAAG,cAAc,QAAQ,yBAAyB,EAAE;AAAA,QACpD,wCAAwC;AAAA,MAC1C;AAAA,IACF;AAAA,IACA;AAAA,MACE,OAAO,CAAC,gBAAgB,UAAU;AAAA,MAClC,SAAS,CAAC,uBAAuB,mBAAmB,qBAAqB,eAAe;AAAA,MACxF,iBAAiB;AAAA,QACf,QAAQ,cAAc;AAAA,MACxB;AAAA,MACA,MAAM;AAAA,MACN,SAAS;AAAA,QACP,mBAAmB;AAAA,MACrB;AAAA,MACA,OAAO;AAAA,QACL,GAAG,cAAc,QAAQ,6BAA6B,EAAE;AAAA,MAC1D;AAAA,IACF;AAAA,EACF;AACF,CAAC;","names":[]}
@@ -0,0 +1,9 @@
1
+ import { TSESLint } from '@typescript-eslint/utils';
2
+
3
+ /**
4
+ * HTML ESLint configuration
5
+ * Lints plain HTML files using `@html-eslint/eslint-plugin` and its parser
6
+ */
7
+ declare const html: () => Promise<TSESLint.FlatConfig.ConfigArray>;
8
+
9
+ export { html };
@@ -0,0 +1,29 @@
1
+ import { defineLazyConfig, loadDefault, loadModule } from "../lazy.js";
2
+ const html = defineLazyConfig("html", async () => {
3
+ const pluginHtml = await loadDefault("@html-eslint/eslint-plugin");
4
+ const parserHtml = await loadModule("@html-eslint/parser");
5
+ const recommended = pluginHtml.configs["flat/recommended"];
6
+ return [
7
+ {
8
+ ...recommended,
9
+ files: ["**/*.html"],
10
+ languageOptions: {
11
+ ...recommended.languageOptions,
12
+ parser: parserHtml
13
+ },
14
+ name: "integrations/html/recommended"
15
+ },
16
+ {
17
+ files: ["**/*.html"],
18
+ name: "integrations/html/rules",
19
+ rules: {
20
+ "@html-eslint/no-inline-styles": "warn",
21
+ "@html-eslint/require-button-type": "warn"
22
+ }
23
+ }
24
+ ];
25
+ });
26
+ export {
27
+ html
28
+ };
29
+ //# sourceMappingURL=html.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/formats/html.ts"],"sourcesContent":["import type { TSESLint } from '@typescript-eslint/utils'\n\nimport { defineLazyConfig, loadDefault, loadModule } from '../lazy.js'\n\ninterface HtmlPlugin {\n configs: Record<'flat/recommended', TSESLint.FlatConfig.Config>\n}\n\n/**\n * HTML ESLint configuration\n * Lints plain HTML files using `@html-eslint/eslint-plugin` and its parser\n */\nexport const html: () => Promise<TSESLint.FlatConfig.ConfigArray> = defineLazyConfig('html', async () => {\n const pluginHtml = await loadDefault<HtmlPlugin>('@html-eslint/eslint-plugin')\n const parserHtml = await loadModule<TSESLint.FlatConfig.Parser>('@html-eslint/parser')\n const recommended = pluginHtml.configs['flat/recommended']\n\n return [\n {\n ...recommended,\n files: ['**/*.html'],\n languageOptions: {\n ...recommended.languageOptions,\n parser: parserHtml\n },\n name: 'integrations/html/recommended'\n },\n {\n files: ['**/*.html'],\n name: 'integrations/html/rules',\n rules: {\n '@html-eslint/no-inline-styles': 'warn',\n '@html-eslint/require-button-type': 'warn'\n }\n }\n ]\n})\n"],"mappings":"AAEA,SAAS,kBAAkB,aAAa,kBAAkB;AAUnD,MAAM,OAAuD,iBAAiB,QAAQ,YAAY;AACvG,QAAM,aAAa,MAAM,YAAwB,4BAA4B;AAC7E,QAAM,aAAa,MAAM,WAAuC,qBAAqB;AACrF,QAAM,cAAc,WAAW,QAAQ,kBAAkB;AAEzD,SAAO;AAAA,IACL;AAAA,MACE,GAAG;AAAA,MACH,OAAO,CAAC,WAAW;AAAA,MACnB,iBAAiB;AAAA,QACf,GAAG,YAAY;AAAA,QACf,QAAQ;AAAA,MACV;AAAA,MACA,MAAM;AAAA,IACR;AAAA,IACA;AAAA,MACE,OAAO,CAAC,WAAW;AAAA,MACnB,MAAM;AAAA,MACN,OAAO;AAAA,QACL,iCAAiC;AAAA,QACjC,oCAAoC;AAAA,MACtC;AAAA,IACF;AAAA,EACF;AACF,CAAC;","names":[]}
@@ -0,0 +1,10 @@
1
+ export { css } from './css.js';
2
+ export { graphql } from './graphql.js';
3
+ export { html } from './html.js';
4
+ export { jsonc } from './jsonc.js';
5
+ export { markdown } from './markdown.js';
6
+ export { mdx } from './mdx.js';
7
+ export { packageJson } from './package-json.js';
8
+ export { toml } from './toml.js';
9
+ export { yaml } from './yaml.js';
10
+ import '@typescript-eslint/utils';
@@ -0,0 +1,21 @@
1
+ import { css } from "./css.js";
2
+ import { graphql } from "./graphql.js";
3
+ import { html } from "./html.js";
4
+ import { jsonc } from "./jsonc.js";
5
+ import { markdown } from "./markdown.js";
6
+ import { mdx } from "./mdx.js";
7
+ import { packageJson } from "./package-json.js";
8
+ import { toml } from "./toml.js";
9
+ import { yaml } from "./yaml.js";
10
+ export {
11
+ css,
12
+ graphql,
13
+ html,
14
+ jsonc,
15
+ markdown,
16
+ mdx,
17
+ packageJson,
18
+ toml,
19
+ yaml
20
+ };
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/formats/index.ts"],"sourcesContent":["export { css } from './css.js'\nexport { graphql } from './graphql.js'\nexport { html } from './html.js'\nexport { jsonc } from './jsonc.js'\nexport { markdown } from './markdown.js'\nexport { mdx } from './mdx.js'\nexport { packageJson } from './package-json.js'\nexport { toml } from './toml.js'\nexport { yaml } from './yaml.js'\n"],"mappings":"AAAA,SAAS,WAAW;AACpB,SAAS,eAAe;AACxB,SAAS,YAAY;AACrB,SAAS,aAAa;AACtB,SAAS,gBAAgB;AACzB,SAAS,WAAW;AACpB,SAAS,mBAAmB;AAC5B,SAAS,YAAY;AACrB,SAAS,YAAY;","names":[]}
@@ -0,0 +1,9 @@
1
+ import { TSESLint } from '@typescript-eslint/utils';
2
+
3
+ /**
4
+ * JSON/JSONC ESLint configuration
5
+ * Provides rules for JSON file linting and package.json key sorting
6
+ */
7
+ declare const jsonc: () => Promise<TSESLint.FlatConfig.ConfigArray>;
8
+
9
+ export { jsonc };
@@ -0,0 +1,73 @@
1
+ import { defineLazyConfig, loadDefault } from "../lazy.js";
2
+ const jsonc = defineLazyConfig("jsonc", async () => {
3
+ const pluginJsonc = await loadDefault("eslint-plugin-jsonc");
4
+ const recommended = pluginJsonc.configs["flat/recommended-with-jsonc"].map((config) => {
5
+ if (config.rules && !config.files) {
6
+ return {
7
+ ...config,
8
+ files: [
9
+ "*.json",
10
+ "**/*.json",
11
+ "*.json5",
12
+ "**/*.json5",
13
+ "*.jsonc",
14
+ "**/*.jsonc"
15
+ ]
16
+ };
17
+ }
18
+ return config;
19
+ });
20
+ return [
21
+ ...recommended,
22
+ {
23
+ files: ["**/package.json"],
24
+ name: "integrations/jsonc/sorting",
25
+ rules: {
26
+ "jsonc/sort-keys": ["warn", {
27
+ order: [
28
+ "name",
29
+ "version",
30
+ "private",
31
+ "publishConfig",
32
+ "description",
33
+ "type",
34
+ "main",
35
+ "module",
36
+ "types",
37
+ "exports",
38
+ "files",
39
+ "bin",
40
+ "scripts",
41
+ "dependencies",
42
+ "devDependencies",
43
+ "peerDependencies",
44
+ "peerDependenciesMeta",
45
+ "engines",
46
+ "packageManager",
47
+ "repository",
48
+ "homepage",
49
+ "bugs",
50
+ "keywords",
51
+ "author",
52
+ "license"
53
+ ],
54
+ pathPattern: "^$"
55
+ }]
56
+ }
57
+ },
58
+ {
59
+ files: ["**/tsconfig.json", "**/tsconfig.*.json"],
60
+ name: "integrations/jsonc/tsconfig-sorting",
61
+ rules: {
62
+ "jsonc/sort-keys": ["warn", {
63
+ order: ["extends", "compilerOptions", "include", "exclude", "references"],
64
+ pathPattern: "^$"
65
+ }]
66
+ }
67
+ }
68
+ ];
69
+ });
70
+ export {
71
+ jsonc
72
+ };
73
+ //# sourceMappingURL=jsonc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/formats/jsonc.ts"],"sourcesContent":["import type { TSESLint } from '@typescript-eslint/utils'\nimport type PluginJsonc from 'eslint-plugin-jsonc'\n\nimport { defineLazyConfig, loadDefault } from '../lazy.js'\n\n/**\n * JSON/JSONC ESLint configuration\n * Provides rules for JSON file linting and package.json key sorting\n */\nexport const jsonc: () => Promise<TSESLint.FlatConfig.ConfigArray> = defineLazyConfig('jsonc', async () => {\n const pluginJsonc = await loadDefault<typeof PluginJsonc>('eslint-plugin-jsonc')\n\n const recommended = (pluginJsonc.configs['flat/recommended-with-jsonc'] as TSESLint.FlatConfig.ConfigArray).map((config) => {\n if (config.rules && !config.files) {\n return {\n ...config,\n files: [\n '*.json',\n '**/*.json',\n '*.json5',\n '**/*.json5',\n '*.jsonc',\n '**/*.jsonc'\n ]\n }\n }\n\n return config\n })\n\n return [\n ...recommended,\n {\n files: ['**/package.json'],\n name: 'integrations/jsonc/sorting',\n rules: {\n 'jsonc/sort-keys': ['warn', {\n order: [\n 'name',\n 'version',\n 'private',\n 'publishConfig',\n 'description',\n 'type',\n 'main',\n 'module',\n 'types',\n 'exports',\n 'files',\n 'bin',\n 'scripts',\n 'dependencies',\n 'devDependencies',\n 'peerDependencies',\n 'peerDependenciesMeta',\n 'engines',\n 'packageManager',\n 'repository',\n 'homepage',\n 'bugs',\n 'keywords',\n 'author',\n 'license'\n ],\n pathPattern: '^$'\n }]\n }\n },\n {\n files: ['**/tsconfig.json', '**/tsconfig.*.json'],\n name: 'integrations/jsonc/tsconfig-sorting',\n rules: {\n 'jsonc/sort-keys': ['warn', {\n order: ['extends', 'compilerOptions', 'include', 'exclude', 'references'],\n pathPattern: '^$'\n }]\n }\n }\n ]\n})\n"],"mappings":"AAGA,SAAS,kBAAkB,mBAAmB;AAMvC,MAAM,QAAwD,iBAAiB,SAAS,YAAY;AACzG,QAAM,cAAc,MAAM,YAAgC,qBAAqB;AAE/E,QAAM,cAAe,YAAY,QAAQ,6BAA6B,EAAsC,IAAI,CAAC,WAAW;AAC1H,QAAI,OAAO,SAAS,CAAC,OAAO,OAAO;AACjC,aAAO;AAAA,QACL,GAAG;AAAA,QACH,OAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAEA,WAAO;AAAA,EACT,CAAC;AAED,SAAO;AAAA,IACL,GAAG;AAAA,IACH;AAAA,MACE,OAAO,CAAC,iBAAiB;AAAA,MACzB,MAAM;AAAA,MACN,OAAO;AAAA,QACL,mBAAmB,CAAC,QAAQ;AAAA,UAC1B,OAAO;AAAA,YACL;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA,UACA,aAAa;AAAA,QACf,CAAC;AAAA,MACH;AAAA,IACF;AAAA,IACA;AAAA,MACE,OAAO,CAAC,oBAAoB,oBAAoB;AAAA,MAChD,MAAM;AAAA,MACN,OAAO;AAAA,QACL,mBAAmB,CAAC,QAAQ;AAAA,UAC1B,OAAO,CAAC,WAAW,mBAAmB,WAAW,WAAW,YAAY;AAAA,UACxE,aAAa;AAAA,QACf,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF;AACF,CAAC;","names":[]}
@@ -0,0 +1,9 @@
1
+ import { TSESLint } from '@typescript-eslint/utils';
2
+
3
+ /**
4
+ * Markdown ESLint configuration
5
+ * Lints markdown files for common issues
6
+ */
7
+ declare const markdown: () => Promise<TSESLint.FlatConfig.ConfigArray>;
8
+
9
+ export { markdown };