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