@shayanthenerd/eslint-config 0.2.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/README.md +1 -1
  2. package/dist/prettier.config.d.ts +6 -0
  3. package/dist/prettier.config.js +22 -26
  4. package/package.json +9 -12
  5. package/dist/_virtual/rolldown_runtime.cjs +0 -30
  6. package/dist/configs/base.cjs +0 -44
  7. package/dist/configs/commons.cjs +0 -27
  8. package/dist/configs/css.cjs +0 -29
  9. package/dist/configs/cypress.cjs +0 -23
  10. package/dist/configs/html.cjs +0 -23
  11. package/dist/configs/importX.cjs +0 -46
  12. package/dist/configs/nuxtMultiRootTemplate.cjs +0 -14
  13. package/dist/configs/oxlintOverrides.cjs +0 -51
  14. package/dist/configs/perfectionist.cjs +0 -24
  15. package/dist/configs/playwright.cjs +0 -23
  16. package/dist/configs/storybook.cjs +0 -24
  17. package/dist/configs/stylistic.cjs +0 -23
  18. package/dist/configs/tailwind.cjs +0 -43
  19. package/dist/configs/typescript.cjs +0 -31
  20. package/dist/configs/vitest.cjs +0 -23
  21. package/dist/configs/vue.cjs +0 -35
  22. package/dist/configs/vueComponentNames.cjs +0 -19
  23. package/dist/index.cjs +0 -55
  24. package/dist/index.d.cts +0 -16
  25. package/dist/rules/css.cjs +0 -65
  26. package/dist/rules/cypress.cjs +0 -16
  27. package/dist/rules/html.cjs +0 -53
  28. package/dist/rules/importX.cjs +0 -51
  29. package/dist/rules/javascript.cjs +0 -164
  30. package/dist/rules/perfectionist.cjs +0 -73
  31. package/dist/rules/playwright.cjs +0 -28
  32. package/dist/rules/storybook.cjs +0 -16
  33. package/dist/rules/stylistic.cjs +0 -160
  34. package/dist/rules/tailwind.cjs +0 -36
  35. package/dist/rules/typescript.cjs +0 -62
  36. package/dist/rules/vitest.cjs +0 -47
  37. package/dist/rules/vue.cjs +0 -171
  38. package/dist/rules/vueAccessibility.cjs +0 -23
  39. package/dist/types/configOptions/base.d.cts +0 -47
  40. package/dist/types/configOptions/css.d.cts +0 -27
  41. package/dist/types/configOptions/html.d.cts +0 -27
  42. package/dist/types/configOptions/importX.d.cts +0 -29
  43. package/dist/types/configOptions/nuxt.d.cts +0 -42
  44. package/dist/types/configOptions/perfectionist.d.cts +0 -16
  45. package/dist/types/configOptions/stylistic.d.cts +0 -145
  46. package/dist/types/configOptions/tailwind.d.cts +0 -46
  47. package/dist/types/configOptions/test.d.cts +0 -55
  48. package/dist/types/configOptions/typescript.d.cts +0 -36
  49. package/dist/types/configOptions/vue.d.cts +0 -211
  50. package/dist/types/configOptions/vueAccessibility.d.cts +0 -34
  51. package/dist/types/eslint-schema.d.cts +0 -13732
  52. package/dist/types/eslintRules.d.cts +0 -12
  53. package/dist/types/helpers.d.cts +0 -5
  54. package/dist/types/index.d.cts +0 -360
  55. package/dist/utils/globs.cjs +0 -32
  56. package/dist/utils/ignores/defaultIgnorePatterns.cjs +0 -58
  57. package/dist/utils/ignores/getIgnorePatterns.cjs +0 -16
  58. package/dist/utils/ignores/resolveGitignorePatterns.cjs +0 -27
  59. package/dist/utils/isEmptyString.cjs +0 -8
  60. package/dist/utils/isEnabled.cjs +0 -8
  61. package/dist/utils/isPackageDetected.cjs +0 -22
  62. package/dist/utils/options/defaultOptions.cjs +0 -169
  63. package/dist/utils/options/enableDetectedConfigs.cjs +0 -40
  64. package/dist/utils/options/mergeWithDefaults.cjs +0 -22
  65. package/dist/utils/vue/getRestrictedVueElements.cjs +0 -28
  66. package/dist/utils/vue/getRestrictedVueInputs.cjs +0 -24
package/README.md CHANGED
@@ -8,7 +8,7 @@ A modern, flexible ESLint configuration for enforcing best practices and maintai
8
8
  - **Automatic Formatting**: Fine-grained control over formatting with [ESLint Stylistic](https://eslint.style), eliminating the need for Prettier
9
9
  - **Smart Defaults**: Respects your _.gitignore_ file and provides reasonable, opinionated, yet [highly customizable](#customization) defaults
10
10
  - **Developer-friendly**: Easy to use and well-documented with JSDoc
11
- - **Modern**: Requires Node.js v20.12.0+ and ESLint v9.28.0+
11
+ - **Modern**: Requires Node.js v20.12.0+ and ESLint v9.28.0+ (ESM-only)
12
12
 
13
13
  > [!NOTE]
14
14
  > This configuration is designed with a flexible API for easy customization. However, it remains a **personal config**. While its primary goal is to enforce best practices and maintain code consistency, some rules—particularly stylistic ones—are rather opinionated. <br /> If the available customization and override options still don't meet your requirements, feel free to fork the project and tailor it to your needs.
@@ -0,0 +1,6 @@
1
+ import { Config } from "prettier";
2
+
3
+ //#region src/prettier.config.d.ts
4
+ declare const prettierConfig: Config;
5
+ //#endregion
6
+ export { prettierConfig as default };
@@ -1,5 +1,5 @@
1
- /** @type {import('prettier').Config} */
2
- export default {
1
+ //#region src/prettier.config.ts
2
+ const prettierConfig = {
3
3
  semi: true,
4
4
  useTabs: true,
5
5
  tabWidth: 2,
@@ -7,36 +7,32 @@ export default {
7
7
  printWidth: 120,
8
8
  singleQuote: true,
9
9
  jsxSingleQuote: false,
10
- quoteProps: 'consistent',
10
+ quoteProps: "consistent",
11
11
  insertPragma: false,
12
12
  requirePragma: false,
13
13
  bracketSpacing: true,
14
14
  bracketSameLine: false,
15
- endOfLine: 'lf',
16
- trailingComma: 'all',
17
- arrowParens: 'always',
18
- proseWrap: 'preserve',
19
- objectWrap: 'preserve',
15
+ endOfLine: "lf",
16
+ trailingComma: "all",
17
+ arrowParens: "always",
18
+ proseWrap: "preserve",
19
+ objectWrap: "preserve",
20
20
  singleAttributePerLine: false,
21
- htmlWhitespaceSensitivity: 'css',
22
- embeddedLanguageFormatting: 'auto',
21
+ htmlWhitespaceSensitivity: "css",
22
+ embeddedLanguageFormatting: "auto",
23
23
  rangeStart: 0,
24
24
  rangeEnd: Number.POSITIVE_INFINITY,
25
25
  experimentalTernaries: false,
26
- experimentalOperatorPosition: 'end',
27
-
28
- overrides: [
29
- {
30
- files: ['*.jsonc', 'bun.lock'],
31
- options: {
32
- parser: 'json',
33
- },
34
- },
35
- {
36
- files: '*.svg',
37
- options: {
38
- parser: 'html',
39
- },
40
- },
41
- ],
26
+ experimentalOperatorPosition: "end",
27
+ overrides: [{
28
+ files: ["*.jsonc", "bun.lock"],
29
+ options: { parser: "json" }
30
+ }, {
31
+ files: "*.svg",
32
+ options: { parser: "html" }
33
+ }]
42
34
  };
35
+ var prettier_config_default = prettierConfig;
36
+
37
+ //#endregion
38
+ export { prettier_config_default as default };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shayanthenerd/eslint-config",
3
- "version": "0.2.0",
3
+ "version": "0.4.1",
4
4
  "license": "MIT",
5
5
  "description": "A modern, flexible ESLint configuration for enforcing best practices and maintaining a consistent coding style",
6
6
  "keywords": [
@@ -32,14 +32,11 @@
32
32
  "files": [
33
33
  "./dist"
34
34
  ],
35
- "main": "./dist/index.cjs",
35
+ "main": "./dist/index.js",
36
36
  "module": "./dist/index.js",
37
- "types": "./dist/index.d.cts",
37
+ "types": "./dist/index.d.ts",
38
38
  "exports": {
39
- ".": {
40
- "import": "./dist/index.js",
41
- "require": "./dist/index.cjs"
42
- },
39
+ ".": "./dist/index.js",
43
40
  "./package.json": "./package.json",
44
41
  "./types/*": "./dist/types/*",
45
42
  "./oxlint": "./dist/oxlint.config.jsonc",
@@ -57,7 +54,7 @@
57
54
  "type": "module",
58
55
  "packageManager": "bun@1.2.19",
59
56
  "scripts": {
60
- "postinstall": "bun set:gitmessage && bunx simple-git-hooks && bun generate:types",
57
+ "prepare": "bun set:gitmessage && bunx simple-git-hooks && bun generate:types",
61
58
  "prepublishOnly": "bun ci:validate",
62
59
  "set:gitmessage": "git config --local commit.template \".gitmessage\"",
63
60
  "inspect": "bunx @eslint/config-inspector",
@@ -65,20 +62,20 @@
65
62
  "build:inspector": "bunx @eslint/config-inspector build --config=./scripts/defaultESLintConfigReference.ts",
66
63
  "preview:inspector": "bunx serve .eslint-config-inspector",
67
64
  "generate:types": "bun ./scripts/generateESLintTypes.ts",
68
- "format": "prettier --write . '!**/*.{js,ts}' --cache",
65
+ "format": "prettier --write '**/*.{json,jsonc,yaml,yml,lock}' --cache",
69
66
  "lint:oxlint": "oxlint --fix",
70
67
  "lint:eslint": "eslint --fix --cache --cache-location=./node_modules/.cache/.eslintcache",
71
68
  "lint": "bun lint:oxlint && bun lint:eslint",
72
69
  "check:types": "tsc",
73
- "check:exports": "bunx @arethetypeswrong/cli --pack --exclude-entrypoints ./prettier ./oxlint",
70
+ "check:exports": "bunx @arethetypeswrong/cli --pack --profile=esm-only --exclude-entrypoints=./oxlint",
74
71
  "check:spell": "bunx cspell . --gitignore --cache --cache-location=./node_modules/.cache/.cspellcache",
75
- "ci:validate": "bun generate:types && bun format && bun lint && bun check:types && bun --bun build:inspector && bun build:package && bun check:exports"
72
+ "ci:validate": "bun generate:types && bun format && bun lint && bun check:types && bun build:inspector && bun build:package && bun check:exports"
76
73
  },
77
74
  "simple-git-hooks": {
78
75
  "pre-commit": "./node_modules/.bin/nano-staged"
79
76
  },
80
77
  "nano-staged": {
81
- "**/*.{json,jsonc,yaml,yml,md,lock}": "prettier --write --ignore-unknown --cache",
78
+ "**/*.{json,jsonc,yaml,yml,lock}": "prettier --write --ignore-unknown --cache",
82
79
  "**/*.{js,ts}": [
83
80
  "oxlint --fix",
84
81
  "eslint --fix --cache --cache-location=./node_modules/.cache/.eslintcache"
@@ -1,30 +0,0 @@
1
- //#region rolldown:runtime
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __copyProps = (to, from, except, desc) => {
9
- if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
10
- key = keys[i];
11
- if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
12
- get: ((k) => from[k]).bind(null, key),
13
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
14
- });
15
- }
16
- return to;
17
- };
18
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
19
- value: mod,
20
- enumerable: true
21
- }) : target, mod));
22
-
23
- //#endregion
24
-
25
- Object.defineProperty(exports, '__toESM', {
26
- enumerable: true,
27
- get: function () {
28
- return __toESM;
29
- }
30
- });
@@ -1,44 +0,0 @@
1
- const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_globs = require('../utils/globs.cjs');
3
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_rules_javascript = require('../rules/javascript.cjs');
4
- const typescript_eslint = require_rolldown_runtime.__toESM(require("typescript-eslint"));
5
- const eslint_flat_config_utils = require_rolldown_runtime.__toESM(require("eslint-flat-config-utils"));
6
- const globals = require_rolldown_runtime.__toESM(require("globals"));
7
- const __eslint_js = require_rolldown_runtime.__toESM(require("@eslint/js"));
8
-
9
- //#region src/configs/base.ts
10
- function getBaseConfig(options) {
11
- const { configs: { vue, base: { overrides } }, global: { globals: { node, worker, browser, commonjs, webextension, serviceworker, custom: userGlobals } } } = options;
12
- const baseConfig = {
13
- name: "shayanthenerd/base",
14
- files: [require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_globs.globs.src, vue ? require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_globs.globs.vue : ""],
15
- extends: [__eslint_js.default.configs.recommended],
16
- languageOptions: {
17
- parser: typescript_eslint.default.parser,
18
- parserOptions: {
19
- ecmaVersion: "latest",
20
- ecmaFeatures: {
21
- jsx: true,
22
- impliedStrict: true
23
- }
24
- },
25
- globals: {
26
- ...globals.default.builtin,
27
- ...globals.default.es2026,
28
- ...commonjs ? globals.default.commonjs : {},
29
- ...node ? globals.default.node : {},
30
- ...node ? globals.default.nodeBuiltin : {},
31
- ...browser ? globals.default.browser : {},
32
- ...worker ? globals.default.worker : {},
33
- ...serviceworker ? globals.default.serviceworker : {},
34
- ...webextension ? globals.default.webextensions : {},
35
- ...userGlobals
36
- }
37
- },
38
- rules: require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_rules_javascript.getJavaScriptRules(options)
39
- };
40
- return (0, eslint_flat_config_utils.mergeConfigs)(baseConfig, overrides);
41
- }
42
-
43
- //#endregion
44
- exports.getBaseConfig = getBaseConfig;
@@ -1,27 +0,0 @@
1
- const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_globs = require('../utils/globs.cjs');
3
- const typescript_eslint = require_rolldown_runtime.__toESM(require("typescript-eslint"));
4
-
5
- //#region src/configs/commons.ts
6
- function getCommonsConfig(options) {
7
- const { typescript, base: { preferNamedExports } } = options.configs;
8
- const commonsConfig = {
9
- name: "shayanthenerd/commons",
10
- files: [require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_globs.globs.commons],
11
- ignores: [require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_globs.globs.commonsIgnore],
12
- plugins: { "@typescript-eslint": typescript_eslint.default.plugin },
13
- rules: {
14
- "@typescript-eslint/explicit-function-return-type": typescript ? "error" : "off",
15
- "no-restricted-exports": [preferNamedExports ? "error" : "off", { restrictDefaultExports: {
16
- named: true,
17
- direct: true,
18
- namedFrom: true,
19
- namespaceFrom: true
20
- } }]
21
- }
22
- };
23
- return commonsConfig;
24
- }
25
-
26
- //#endregion
27
- exports.getCommonsConfig = getCommonsConfig;
@@ -1,29 +0,0 @@
1
- const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_globs = require('../utils/globs.cjs');
3
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_isEnabled = require('../utils/isEnabled.cjs');
4
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_options_defaultOptions = require('../utils/options/defaultOptions.cjs');
5
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_rules_css = require('../rules/css.cjs');
6
- const __eslint_css = require_rolldown_runtime.__toESM(require("@eslint/css"));
7
- const tailwind_csstree = require_rolldown_runtime.__toESM(require("tailwind-csstree"));
8
- const eslint_flat_config_utils = require_rolldown_runtime.__toESM(require("eslint-flat-config-utils"));
9
-
10
- //#region src/configs/css.ts
11
- function getCSSConfig(options) {
12
- const { css } = options.configs;
13
- const { overrides } = require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_isEnabled.isEnabled(css) ? css : require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_options_defaultOptions.defaultOptions.configs.css;
14
- const cssConfig = {
15
- name: "shayanthenerd/css",
16
- files: [require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_globs.globs.css],
17
- extends: [__eslint_css.default.configs.recommended],
18
- language: "css/css",
19
- languageOptions: {
20
- tolerant: true,
21
- customSyntax: options.configs.tailwind ? tailwind_csstree.tailwind4 : void 0
22
- },
23
- rules: require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_rules_css.getCSSRules(options)
24
- };
25
- return (0, eslint_flat_config_utils.mergeConfigs)(cssConfig, overrides);
26
- }
27
-
28
- //#endregion
29
- exports.getCSSConfig = getCSSConfig;
@@ -1,23 +0,0 @@
1
- const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_globs = require('../utils/globs.cjs');
3
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_isEnabled = require('../utils/isEnabled.cjs');
4
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_options_defaultOptions = require('../utils/options/defaultOptions.cjs');
5
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_rules_cypress = require('../rules/cypress.cjs');
6
- const eslint_flat_config_utils = require_rolldown_runtime.__toESM(require("eslint-flat-config-utils"));
7
- const eslint_plugin_cypress = require_rolldown_runtime.__toESM(require("eslint-plugin-cypress"));
8
-
9
- //#region src/configs/cypress.ts
10
- function getCypressConfig(options) {
11
- const { cypress } = options.configs.test;
12
- const { overrides } = require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_isEnabled.isEnabled(cypress) ? cypress : require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_options_defaultOptions.defaultOptions.configs.test.cypress;
13
- const cypressConfig = {
14
- name: "shayanthenerd/cypress",
15
- files: [require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_globs.globs.test],
16
- extends: [eslint_plugin_cypress.default.configs.recommended],
17
- rules: require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_rules_cypress.getCypressRules()
18
- };
19
- return (0, eslint_flat_config_utils.mergeConfigs)(cypressConfig, overrides);
20
- }
21
-
22
- //#endregion
23
- exports.getCypressConfig = getCypressConfig;
@@ -1,23 +0,0 @@
1
- const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_globs = require('../utils/globs.cjs');
3
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_isEnabled = require('../utils/isEnabled.cjs');
4
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_options_defaultOptions = require('../utils/options/defaultOptions.cjs');
5
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_rules_html = require('../rules/html.cjs');
6
- const eslint_flat_config_utils = require_rolldown_runtime.__toESM(require("eslint-flat-config-utils"));
7
- const __html_eslint_eslint_plugin = require_rolldown_runtime.__toESM(require("@html-eslint/eslint-plugin"));
8
-
9
- //#region src/configs/html.ts
10
- function getHTMLConfig(options) {
11
- const { html } = options.configs;
12
- const { overrides } = require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_isEnabled.isEnabled(html) ? html : require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_options_defaultOptions.defaultOptions.configs.html;
13
- const htmlConfig = {
14
- name: "shayanthenerd/html",
15
- files: [require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_globs.globs.html],
16
- extends: [__html_eslint_eslint_plugin.default.configs["flat/recommended"]],
17
- rules: require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_rules_html.getHTMLRules(options)
18
- };
19
- return (0, eslint_flat_config_utils.mergeConfigs)(htmlConfig, overrides);
20
- }
21
-
22
- //#endregion
23
- exports.getHTMLConfig = getHTMLConfig;
@@ -1,46 +0,0 @@
1
- const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_globs = require('../utils/globs.cjs');
3
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_isEnabled = require('../utils/isEnabled.cjs');
4
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_options_defaultOptions = require('../utils/options/defaultOptions.cjs');
5
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_rules_importX = require('../rules/importX.cjs');
6
- const eslint_flat_config_utils = require_rolldown_runtime.__toESM(require("eslint-flat-config-utils"));
7
- const eslint_plugin_import = require_rolldown_runtime.__toESM(require("eslint-plugin-import"));
8
- const eslint_plugin_import_x = require_rolldown_runtime.__toESM(require("eslint-plugin-import-x"));
9
- const eslint_plugin_unused_imports = require_rolldown_runtime.__toESM(require("eslint-plugin-unused-imports"));
10
-
11
- //#region src/configs/importX.ts
12
- eslint_plugin_import.default.flatConfigs.recommended.rules = {};
13
- function getImportXConfig(options) {
14
- const { vue, importX, typescript } = options.configs;
15
- const { overrides } = require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_isEnabled.isEnabled(importX) ? importX : require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_options_defaultOptions.defaultOptions.configs.importX;
16
- const importXConfig = {
17
- name: "shayanthenerd/import-x",
18
- files: [require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_globs.globs.src, vue ? require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_globs.globs.vue : ""],
19
- extends: [
20
- eslint_plugin_import.default.flatConfigs.recommended,
21
- eslint_plugin_import_x.default.flatConfigs.recommended,
22
- typescript ? eslint_plugin_import.default.flatConfigs.typescript : {},
23
- typescript ? eslint_plugin_import_x.default.flatConfigs.typescript : {}
24
- ],
25
- plugins: { "unused-imports": eslint_plugin_unused_imports.default },
26
- settings: {
27
- "import/resolver": { typescript: true },
28
- "import/extensions": [
29
- ".js",
30
- ".cjs",
31
- ".mjs",
32
- ".jsx",
33
- ".ts",
34
- ".cts",
35
- ".mts",
36
- ".tsx",
37
- ".vue"
38
- ]
39
- },
40
- rules: require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_rules_importX.getImportXRules(options)
41
- };
42
- return (0, eslint_flat_config_utils.mergeConfigs)(importXConfig, overrides);
43
- }
44
-
45
- //#endregion
46
- exports.getImportXConfig = getImportXConfig;
@@ -1,14 +0,0 @@
1
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_globs = require('../utils/globs.cjs');
2
-
3
- //#region src/configs/nuxtMultiRootTemplate.ts
4
- function getNuxtMultiRootTemplateConfig() {
5
- const nuxtMultiRootTemplateConfig = {
6
- name: "shayanthenerd/nuxt/allow-multiple-template-root",
7
- files: [require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_globs.globs.vueMultiRootTemplate],
8
- rules: { "vue/no-multiple-template-root": "off" }
9
- };
10
- return nuxtMultiRootTemplateConfig;
11
- }
12
-
13
- //#endregion
14
- exports.getNuxtMultiRootTemplateConfig = getNuxtMultiRootTemplateConfig;
@@ -1,51 +0,0 @@
1
- const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_globs = require('../utils/globs.cjs');
3
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_isEnabled = require('../utils/isEnabled.cjs');
4
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_rules_javascript = require('../rules/javascript.cjs');
5
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_rules_vitest = require('../rules/vitest.cjs');
6
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_rules_importX = require('../rules/importX.cjs');
7
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_rules_playwright = require('../rules/playwright.cjs');
8
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_rules_typescript = require('../rules/typescript.cjs');
9
- const typescript_eslint = require_rolldown_runtime.__toESM(require("typescript-eslint"));
10
- const __vitest_eslint_plugin = require_rolldown_runtime.__toESM(require("@vitest/eslint-plugin"));
11
- const eslint_plugin_import_x = require_rolldown_runtime.__toESM(require("eslint-plugin-import-x"));
12
- const eslint_plugin_playwright = require_rolldown_runtime.__toESM(require("eslint-plugin-playwright"));
13
-
14
- //#region src/configs/oxlintOverrides.ts
15
- function getOXLintOverridesConfig(options) {
16
- const { vue, importX, typescript, test: { vitest, playwright } } = options.configs;
17
- const vitestRules = require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_rules_vitest.getVitestRules(options);
18
- const importXRules = require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_rules_importX.getImportXRules(options);
19
- const javascriptRules = require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_rules_javascript.getJavaScriptRules(options);
20
- const typescriptRules = require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_rules_typescript.getTypeScriptRules(options);
21
- const playwrightRules = require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_rules_playwright.getPlaywrightRules(options);
22
- const oxlintOverridesConfig = {
23
- name: "shayanthenerd/oxlint/overrides",
24
- files: [
25
- require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_globs.globs.src,
26
- require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_globs.globs.commons,
27
- vue ? require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_globs.globs.vue : "",
28
- vitest || playwright ? require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_globs.globs.test : ""
29
- ],
30
- plugins: {
31
- "vitest": __vitest_eslint_plugin.default,
32
- "import-x": eslint_plugin_import_x.default,
33
- "playwright": eslint_plugin_playwright.default,
34
- "@typescript-eslint": typescript_eslint.default.plugin
35
- },
36
- rules: {
37
- "max-depth": javascriptRules["max-depth"],
38
- "func-style": javascriptRules["func-style"],
39
- "max-nested-callbacks": javascriptRules["max-nested-callbacks"],
40
- "@typescript-eslint/consistent-type-definitions": require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_isEnabled.isEnabled(typescript) ? typescriptRules["@typescript-eslint/consistent-type-definitions"] : "off",
41
- "import-x/extensions": require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_isEnabled.isEnabled(importX) ? importXRules["import-x/extensions"] : "off",
42
- "playwright/max-nested-describe": require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_isEnabled.isEnabled(playwright) ? playwrightRules["playwright/max-nested-describe"] : "off",
43
- "vitest/consistent-test-it": require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_isEnabled.isEnabled(vitest) ? vitestRules["vitest/consistent-test-it"] : "off",
44
- "vitest/max-nested-describe": require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_isEnabled.isEnabled(vitest) ? vitestRules["vitest/max-nested-describe"] : "off"
45
- }
46
- };
47
- return oxlintOverridesConfig;
48
- }
49
-
50
- //#endregion
51
- exports.getOXLintOverridesConfig = getOXLintOverridesConfig;
@@ -1,24 +0,0 @@
1
- const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_globs = require('../utils/globs.cjs');
3
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_isEnabled = require('../utils/isEnabled.cjs');
4
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_options_defaultOptions = require('../utils/options/defaultOptions.cjs');
5
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_rules_perfectionist = require('../rules/perfectionist.cjs');
6
- const eslint_flat_config_utils = require_rolldown_runtime.__toESM(require("eslint-flat-config-utils"));
7
- const eslint_plugin_perfectionist = require_rolldown_runtime.__toESM(require("eslint-plugin-perfectionist"));
8
-
9
- //#region src/configs/perfectionist.ts
10
- function getPerfectionistConfig(options) {
11
- const { vue, perfectionist } = options.configs;
12
- const { sortType, overrides } = require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_isEnabled.isEnabled(perfectionist) ? perfectionist : require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_options_defaultOptions.defaultOptions.configs.perfectionist;
13
- const perfectionistConfig = {
14
- name: "shayanthenerd/perfectionist",
15
- files: [require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_globs.globs.src, vue ? require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_globs.globs.vue : ""],
16
- plugins: { perfectionist: eslint_plugin_perfectionist.default },
17
- settings: { perfectionist: { type: sortType } },
18
- rules: require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_rules_perfectionist.getPerfectionistRules(options)
19
- };
20
- return (0, eslint_flat_config_utils.mergeConfigs)(perfectionistConfig, overrides);
21
- }
22
-
23
- //#endregion
24
- exports.getPerfectionistConfig = getPerfectionistConfig;
@@ -1,23 +0,0 @@
1
- const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_globs = require('../utils/globs.cjs');
3
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_isEnabled = require('../utils/isEnabled.cjs');
4
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_options_defaultOptions = require('../utils/options/defaultOptions.cjs');
5
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_rules_playwright = require('../rules/playwright.cjs');
6
- const eslint_flat_config_utils = require_rolldown_runtime.__toESM(require("eslint-flat-config-utils"));
7
- const eslint_plugin_playwright = require_rolldown_runtime.__toESM(require("eslint-plugin-playwright"));
8
-
9
- //#region src/configs/playwright.ts
10
- function getPlaywrightConfig(options) {
11
- const { playwright } = options.configs.test;
12
- const { overrides } = require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_isEnabled.isEnabled(playwright) ? playwright : require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_options_defaultOptions.defaultOptions.configs.test.playwright;
13
- const playwrightConfig = {
14
- name: "shayanthenerd/playwright",
15
- files: [require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_globs.globs.test],
16
- extends: [eslint_plugin_playwright.default.configs["flat/recommended"]],
17
- rules: require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_rules_playwright.getPlaywrightRules(options)
18
- };
19
- return (0, eslint_flat_config_utils.mergeConfigs)(playwrightConfig, overrides);
20
- }
21
-
22
- //#endregion
23
- exports.getPlaywrightConfig = getPlaywrightConfig;
@@ -1,24 +0,0 @@
1
- const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_globs = require('../utils/globs.cjs');
3
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_isEnabled = require('../utils/isEnabled.cjs');
4
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_options_defaultOptions = require('../utils/options/defaultOptions.cjs');
5
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_rules_storybook = require('../rules/storybook.cjs');
6
- const eslint_flat_config_utils = require_rolldown_runtime.__toESM(require("eslint-flat-config-utils"));
7
- const eslint_plugin_storybook = require_rolldown_runtime.__toESM(require("eslint-plugin-storybook"));
8
-
9
- //#region src/configs/storybook.ts
10
- const eslintConfigStorybook = eslint_plugin_storybook.default.configs["flat/recommended"];
11
- function getStorybookConfig(options) {
12
- const { storybook } = options.configs.test;
13
- const { overrides } = require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_isEnabled.isEnabled(storybook) ? storybook : require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_options_defaultOptions.defaultOptions.configs.test.storybook;
14
- const storybookConfig = {
15
- name: "shayanthenerd/storybook",
16
- files: [require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_globs.globs.storybook],
17
- extends: [eslintConfigStorybook],
18
- rules: require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_rules_storybook.getStorybookRules(options)
19
- };
20
- return (0, eslint_flat_config_utils.mergeConfigs)(storybookConfig, overrides);
21
- }
22
-
23
- //#endregion
24
- exports.getStorybookConfig = getStorybookConfig;
@@ -1,23 +0,0 @@
1
- const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_globs = require('../utils/globs.cjs');
3
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_isEnabled = require('../utils/isEnabled.cjs');
4
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_options_defaultOptions = require('../utils/options/defaultOptions.cjs');
5
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_rules_stylistic = require('../rules/stylistic.cjs');
6
- const eslint_flat_config_utils = require_rolldown_runtime.__toESM(require("eslint-flat-config-utils"));
7
- const __stylistic_eslint_plugin = require_rolldown_runtime.__toESM(require("@stylistic/eslint-plugin"));
8
-
9
- //#region src/configs/stylistic.ts
10
- function getStylisticConfig(options) {
11
- const { stylistic } = options.configs;
12
- const { overrides } = require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_isEnabled.isEnabled(stylistic) ? stylistic : require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_options_defaultOptions.defaultOptions.configs.stylistic;
13
- const stylisticConfig = {
14
- name: "shayanthenerd/stylistic",
15
- files: [require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_globs.globs.src, options.configs.vue ? require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_globs.globs.vue : ""],
16
- extends: [__stylistic_eslint_plugin.default.configs.recommended],
17
- rules: require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_rules_stylistic.getStylisticRules(options)
18
- };
19
- return (0, eslint_flat_config_utils.mergeConfigs)(stylisticConfig, overrides);
20
- }
21
-
22
- //#endregion
23
- exports.getStylisticConfig = getStylisticConfig;
@@ -1,43 +0,0 @@
1
- const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_globs = require('../utils/globs.cjs');
3
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_isEnabled = require('../utils/isEnabled.cjs');
4
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_options_defaultOptions = require('../utils/options/defaultOptions.cjs');
5
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_rules_tailwind = require('../rules/tailwind.cjs');
6
- const node_path = require_rolldown_runtime.__toESM(require("node:path"));
7
- const eslint_flat_config_utils = require_rolldown_runtime.__toESM(require("eslint-flat-config-utils"));
8
- const eslint_plugin_vue = require_rolldown_runtime.__toESM(require("eslint-plugin-vue"));
9
- const __html_eslint_eslint_plugin = require_rolldown_runtime.__toESM(require("@html-eslint/eslint-plugin"));
10
- const eslint_plugin_better_tailwindcss = require_rolldown_runtime.__toESM(require("eslint-plugin-better-tailwindcss"));
11
-
12
- //#region src/configs/tailwind.ts
13
- const eslintParserHTML = __html_eslint_eslint_plugin.default.configs["flat/recommended"].languageOptions.parser;
14
- const eslintParserVue = eslint_plugin_vue.default.configs["flat/recommended"].find((config) => config.name === "vue/base/setup-for-vue")?.languageOptions?.parser;
15
- function getTailwindConfig(options) {
16
- const { tsConfig, configs: { vue, html, tailwind } } = options;
17
- const { config, entryPoint, overrides } = require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_isEnabled.isEnabled(tailwind) ? tailwind : require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_options_defaultOptions.defaultOptions.configs.tailwind;
18
- const tailwindConfig = {
19
- name: "shayanthenerd/tailwind",
20
- files: [
21
- require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_globs.globs.src,
22
- html ? require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_globs.globs.html : "",
23
- vue ? require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_globs.globs.vue : ""
24
- ],
25
- plugins: { "better-tailwindcss": eslint_plugin_better_tailwindcss.default },
26
- languageOptions: { parserOptions: { parser: html ? eslintParserHTML : eslintParserVue } },
27
- settings: { "better-tailwindcss": {
28
- entryPoint,
29
- tailwindConfig: config,
30
- tsconfig: tsConfig ? node_path.default.resolve(tsConfig.rootDir, tsConfig.filename) : void 0,
31
- attributes: [["^v-bind:ui$", [{ match: "objectValues" }]], ["^(?:v-bind:)?(class|activeClass|inactiveClass)$", [
32
- { match: "strings" },
33
- { match: "objectKeys" },
34
- { match: "objectValues" }
35
- ]]]
36
- } },
37
- rules: require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_rules_tailwind.getTailwindRules(options)
38
- };
39
- return (0, eslint_flat_config_utils.mergeConfigs)(tailwindConfig, overrides);
40
- }
41
-
42
- //#endregion
43
- exports.getTailwindConfig = getTailwindConfig;
@@ -1,31 +0,0 @@
1
- const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_globs = require('../utils/globs.cjs');
3
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_isEnabled = require('../utils/isEnabled.cjs');
4
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_options_defaultOptions = require('../utils/options/defaultOptions.cjs');
5
- const require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_rules_typescript = require('../rules/typescript.cjs');
6
- const typescript_eslint = require_rolldown_runtime.__toESM(require("typescript-eslint"));
7
- const eslint_flat_config_utils = require_rolldown_runtime.__toESM(require("eslint-flat-config-utils"));
8
-
9
- //#region src/configs/typescript.ts
10
- function getTypeScriptConfig(options) {
11
- const { tsConfig, configs: { vue, typescript } } = options;
12
- const { allowedDefaultProjects } = require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_isEnabled.isEnabled(typescript) ? typescript : require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_options_defaultOptions.defaultOptions.configs.typescript;
13
- const { overrides } = require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_isEnabled.isEnabled(typescript) ? typescript : require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_options_defaultOptions.defaultOptions.configs.typescript;
14
- const typescriptConfig = {
15
- name: "shayanthenerd/typescript",
16
- files: [require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_globs.globs.ts, vue ? require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_utils_globs.globs.vue : ""],
17
- extends: [typescript_eslint.default.configs.strictTypeChecked, typescript_eslint.default.configs.stylisticTypeChecked],
18
- languageOptions: { parserOptions: {
19
- tsconfigRootDir: tsConfig ? tsConfig.rootDir : void 0,
20
- projectService: {
21
- allowDefaultProject: allowedDefaultProjects,
22
- defaultProject: tsConfig ? tsConfig.filename : void 0
23
- }
24
- } },
25
- rules: require__Users_shayan_Desktop_Dev_GitHub_eslint_config_src_rules_typescript.getTypeScriptRules(options)
26
- };
27
- return (0, eslint_flat_config_utils.mergeConfigs)(typescriptConfig, overrides);
28
- }
29
-
30
- //#endregion
31
- exports.getTypeScriptConfig = getTypeScriptConfig;