@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.
- package/LICENSE +21 -0
- package/README.md +11 -0
- package/dist/compose.d.ts +21 -0
- package/dist/compose.js +137 -0
- package/dist/compose.js.map +1 -0
- package/dist/extensions/a11y.d.ts +9 -0
- package/dist/extensions/a11y.js +25 -0
- package/dist/extensions/a11y.js.map +1 -0
- package/dist/extensions/best-practices.d.ts +16 -0
- package/dist/extensions/best-practices.js +27 -0
- package/dist/extensions/best-practices.js.map +1 -0
- package/dist/extensions/biome.d.ts +9 -0
- package/dist/extensions/biome.js +18 -0
- package/dist/extensions/biome.js.map +1 -0
- package/dist/extensions/boundaries.d.ts +12 -0
- package/dist/extensions/boundaries.js +40 -0
- package/dist/extensions/boundaries.js.map +1 -0
- package/dist/extensions/compat.d.ts +9 -0
- package/dist/extensions/compat.js +16 -0
- package/dist/extensions/compat.js.map +1 -0
- package/dist/extensions/de-morgan.d.ts +9 -0
- package/dist/extensions/de-morgan.js +16 -0
- package/dist/extensions/de-morgan.js.map +1 -0
- package/dist/extensions/depend.d.ts +10 -0
- package/dist/extensions/depend.js +16 -0
- package/dist/extensions/depend.js.map +1 -0
- package/dist/extensions/index.d.ts +16 -0
- package/dist/extensions/index.js +33 -0
- package/dist/extensions/index.js.map +1 -0
- package/dist/extensions/no-only-tests.d.ts +9 -0
- package/dist/extensions/no-only-tests.js +21 -0
- package/dist/extensions/no-only-tests.js.map +1 -0
- package/dist/extensions/node.d.ts +11 -0
- package/dist/extensions/node.js +25 -0
- package/dist/extensions/node.js.map +1 -0
- package/dist/extensions/oxlint.d.ts +10 -0
- package/dist/extensions/oxlint.js +14 -0
- package/dist/extensions/oxlint.js.map +1 -0
- package/dist/extensions/perfectionist.d.ts +9 -0
- package/dist/extensions/perfectionist.js +25 -0
- package/dist/extensions/perfectionist.js.map +1 -0
- package/dist/extensions/regexp.d.ts +10 -0
- package/dist/extensions/regexp.js +28 -0
- package/dist/extensions/regexp.js.map +1 -0
- package/dist/extensions/security.d.ts +9 -0
- package/dist/extensions/security.js +21 -0
- package/dist/extensions/security.js.map +1 -0
- package/dist/extensions/sonarjs.d.ts +5 -0
- package/dist/extensions/sonarjs.js +16 -0
- package/dist/extensions/sonarjs.js.map +1 -0
- package/dist/extensions/unicorn.d.ts +9 -0
- package/dist/extensions/unicorn.js +47 -0
- package/dist/extensions/unicorn.js.map +1 -0
- package/dist/formats/css.d.ts +9 -0
- package/dist/formats/css.js +21 -0
- package/dist/formats/css.js.map +1 -0
- package/dist/formats/graphql.d.ts +9 -0
- package/dist/formats/graphql.js +41 -0
- package/dist/formats/graphql.js.map +1 -0
- package/dist/formats/html.d.ts +9 -0
- package/dist/formats/html.js +29 -0
- package/dist/formats/html.js.map +1 -0
- package/dist/formats/index.d.ts +10 -0
- package/dist/formats/index.js +21 -0
- package/dist/formats/index.js.map +1 -0
- package/dist/formats/jsonc.d.ts +9 -0
- package/dist/formats/jsonc.js +73 -0
- package/dist/formats/jsonc.js.map +1 -0
- package/dist/formats/markdown.d.ts +9 -0
- package/dist/formats/markdown.js +73 -0
- package/dist/formats/markdown.js.map +1 -0
- package/dist/formats/mdx.d.ts +9 -0
- package/dist/formats/mdx.js +55 -0
- package/dist/formats/mdx.js.map +1 -0
- package/dist/formats/package-json.d.ts +9 -0
- package/dist/formats/package-json.js +16 -0
- package/dist/formats/package-json.js.map +1 -0
- package/dist/formats/toml.d.ts +9 -0
- package/dist/formats/toml.js +14 -0
- package/dist/formats/toml.js.map +1 -0
- package/dist/formats/yaml.d.ts +9 -0
- package/dist/formats/yaml.js +28 -0
- package/dist/formats/yaml.js.map +1 -0
- package/dist/index.d.ts +57 -0
- package/dist/index.js +114 -0
- package/dist/index.js.map +1 -0
- package/dist/lazy.d.ts +24 -0
- package/dist/lazy.js +46 -0
- package/dist/lazy.js.map +1 -0
- package/dist/libraries/ai.d.ts +8 -0
- package/dist/libraries/ai.js +29 -0
- package/dist/libraries/ai.js.map +1 -0
- package/dist/libraries/autogen.d.ts +8 -0
- package/dist/libraries/autogen.js +24 -0
- package/dist/libraries/autogen.js.map +1 -0
- package/dist/libraries/google-genai.d.ts +8 -0
- package/dist/libraries/google-genai.js +30 -0
- package/dist/libraries/google-genai.js.map +1 -0
- package/dist/libraries/i18next.d.ts +9 -0
- package/dist/libraries/i18next.js +29 -0
- package/dist/libraries/i18next.js.map +1 -0
- package/dist/libraries/index.d.ts +17 -0
- package/dist/libraries/index.js +38 -0
- package/dist/libraries/index.js.map +1 -0
- package/dist/libraries/langchain.d.ts +8 -0
- package/dist/libraries/langchain.js +30 -0
- package/dist/libraries/langchain.js.map +1 -0
- package/dist/libraries/llamaindex.d.ts +8 -0
- package/dist/libraries/llamaindex.js +30 -0
- package/dist/libraries/llamaindex.js.map +1 -0
- package/dist/libraries/mastra.d.ts +8 -0
- package/dist/libraries/mastra.js +30 -0
- package/dist/libraries/mastra.js.map +1 -0
- package/dist/libraries/mcp.d.ts +8 -0
- package/dist/libraries/mcp.js +33 -0
- package/dist/libraries/mcp.js.map +1 -0
- package/dist/libraries/openai-agents.d.ts +8 -0
- package/dist/libraries/openai-agents.js +32 -0
- package/dist/libraries/openai-agents.js.map +1 -0
- package/dist/libraries/orm.d.ts +31 -0
- package/dist/libraries/orm.js +104 -0
- package/dist/libraries/orm.js.map +1 -0
- package/dist/libraries/stencil.d.ts +9 -0
- package/dist/libraries/stencil.js +49 -0
- package/dist/libraries/stencil.js.map +1 -0
- package/dist/libraries/storybook.d.ts +9 -0
- package/dist/libraries/storybook.js +11 -0
- package/dist/libraries/storybook.js.map +1 -0
- package/dist/libraries/tailwind.d.ts +9 -0
- package/dist/libraries/tailwind.js +21 -0
- package/dist/libraries/tailwind.js.map +1 -0
- package/dist/libraries/tanstack.d.ts +12 -0
- package/dist/libraries/tanstack.js +37 -0
- package/dist/libraries/tanstack.js.map +1 -0
- package/dist/libraries/turbo.d.ts +9 -0
- package/dist/libraries/turbo.js +25 -0
- package/dist/libraries/turbo.js.map +1 -0
- package/dist/libraries/zod.d.ts +9 -0
- package/dist/libraries/zod.js +21 -0
- package/dist/libraries/zod.js.map +1 -0
- package/dist/testing/cypress.d.ts +9 -0
- package/dist/testing/cypress.js +26 -0
- package/dist/testing/cypress.js.map +1 -0
- package/dist/testing/index.d.ts +7 -0
- package/dist/testing/index.js +15 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/jest-dom.d.ts +9 -0
- package/dist/testing/jest-dom.js +21 -0
- package/dist/testing/jest-dom.js.map +1 -0
- package/dist/testing/jest.d.ts +9 -0
- package/dist/testing/jest.js +24 -0
- package/dist/testing/jest.js.map +1 -0
- package/dist/testing/playwright.d.ts +9 -0
- package/dist/testing/playwright.js +21 -0
- package/dist/testing/playwright.js.map +1 -0
- package/dist/testing/testing-library.d.ts +9 -0
- package/dist/testing/testing-library.js +34 -0
- package/dist/testing/testing-library.js.map +1 -0
- package/dist/testing/vitest.d.ts +9 -0
- package/dist/testing/vitest.js +57 -0
- package/dist/testing/vitest.js.map +1 -0
- package/dist/tools/command.d.ts +9 -0
- package/dist/tools/command.js +16 -0
- package/dist/tools/command.js.map +1 -0
- package/dist/tools/cspell.d.ts +9 -0
- package/dist/tools/cspell.js +26 -0
- package/dist/tools/cspell.js.map +1 -0
- package/dist/tools/docker.d.ts +10 -0
- package/dist/tools/docker.js +21 -0
- package/dist/tools/docker.js.map +1 -0
- package/dist/tools/github-actions.d.ts +10 -0
- package/dist/tools/github-actions.js +16 -0
- package/dist/tools/github-actions.js.map +1 -0
- package/dist/tools/index.d.ts +10 -0
- package/dist/tools/index.js +21 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/jsdoc.d.ts +9 -0
- package/dist/tools/jsdoc.js +36 -0
- package/dist/tools/jsdoc.js.map +1 -0
- package/dist/tools/nx.d.ts +9 -0
- package/dist/tools/nx.js +18 -0
- package/dist/tools/nx.js.map +1 -0
- package/dist/tools/pnpm.d.ts +10 -0
- package/dist/tools/pnpm.js +12 -0
- package/dist/tools/pnpm.js.map +1 -0
- package/dist/tools/prettier.d.ts +9 -0
- package/dist/tools/prettier.js +14 -0
- package/dist/tools/prettier.js.map +1 -0
- package/dist/tools/swagger.d.ts +9 -0
- package/dist/tools/swagger.js +22 -0
- package/dist/tools/swagger.js.map +1 -0
- 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,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,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,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,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,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,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,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 };
|