@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,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,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,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,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,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,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,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,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,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":[]}
|