@zayne-labs/eslint-config 0.7.3 → 0.7.4

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/dist/index.d.ts CHANGED
@@ -15425,7 +15425,7 @@ type Yoda = []|[("always" | "never")]|[("always" | "never"), {
15425
15425
  }]
15426
15426
 
15427
15427
  // Names of all the configs
15428
- type ConfigNames = "zayne/js-eslint/setup" | "zayne/js-eslint/recommended > ExtendedConfig[0]" | "zayne/js-eslint/rules" | "zayne/unicorn/recommended" | "zayne/unicorn/rules" | "zayne/ts-eslint/setup" | "zayne/ts-eslint/strict" | "zayne/ts-eslint/strict" | "zayne/ts-eslint/strict" | "zayne/ts-eslint/strict" | "zayne/ts-eslint/strict" | "zayne/ts-eslint/strict" | "zayne/ts-eslint/rules" | "zayne/tailwindcss/setup" | "zayne/tailwindcss/recommended" | "zayne/tailwindcss/rules" | "zayne/perfectionist/rules" | "zayne/stylistic/rules" | "zayne/import/setup" | "zayne/import/recommended" | "zayne/import/rules" | "zayne/jsdoc/rules" | "zayne/jsonc/setup" | "zayne/jsonc/rules" | "zayne/react/setup" | "zayne/react/recommended" | "zayne/react/rules" | "zayne/react/refresh" | "zayne/react/nextjs" | "zayne/node/setup" | "zayne/node/recommended" | "zayne/node/rules" | "zayne/tanstack-query/recommended" | "zayne/eslint-comments/rules" | "zayne/toml/setup" | "zayne/toml/rules" | "zayne/yaml/setup" | "zayne/yaml/rules" | "zayne/vue/setup" | "zayne/vue/recommended" | "zayne/vue/rules" | "zayne/solid/setup" | "zayne/solid/recommended" | "zayne/solid/rules"
15428
+ type ConfigNames = "zayne/js-eslint/setup" | "zayne/js-eslint/recommended > ExtendedConfig[0]" | "zayne/js-eslint/rules" | "zayne/unicorn/recommended" | "zayne/unicorn/rules" | "zayne/ts-eslint/setup" | "zayne/ts-eslint/strict" | "zayne/ts-eslint/strict" | "zayne/ts-eslint/strict" | "zayne/ts-eslint/strict" | "zayne/ts-eslint/strict" | "zayne/ts-eslint/strict" | "zayne/ts-eslint/rules" | "zayne/tailwindcss/setup" | "zayne/tailwindcss/recommended" | "zayne/tailwindcss/rules" | "zayne/perfectionist/rules" | "zayne/stylistic/rules" | "zayne/import/setup" | "zayne/import/recommended" | "zayne/import/rules" | "zayne/jsdoc/rules" | "zayne/jsonc/setup" | "zayne/jsonc/rules" | "zayne/react/setup" | "zayne/react/recommended" | "zayne/react/rules" | "zayne/react/refresh" | "zayne/react/nextjs" | "zayne/node/setup" | "zayne/node/recommended" | "zayne/node/rules" | "zayne/tanstack-query/recommended" | "zayne/eslint-comments/rules" | "zayne/toml/setup" | "zayne/toml/rules" | "zayne/yaml/setup" | "zayne/yaml/rules" | "zayne/vue/setup" | "zayne/vue/setup/file-processor" | "zayne/vue/recommended" | "zayne/vue/rules" | "zayne/solid/setup" | "zayne/solid/recommended" | "zayne/solid/rules"
15429
15429
 
15430
15430
  type LiteralUnion<TUnion extends TBase, TBase = string> = TUnion | (TBase & { _ignore?: never });
15431
15431
 
package/dist/index.js CHANGED
@@ -1627,11 +1627,11 @@ async function vue(options = {}) {
1627
1627
  ]);
1628
1628
  return [
1629
1629
  {
1630
+ /**
1631
+ * This allows Vue plugin to work with auto imports
1632
+ * @ see https://github.com/vuejs/eslint-plugin-vue/pull/2422
1633
+ */
1630
1634
  languageOptions: {
1631
- /**
1632
- * This allows Vue plugin to work with auto imports
1633
- * @see https://github.com/vuejs/eslint-plugin-vue/pull/2422
1634
- */
1635
1635
  globals: {
1636
1636
  computed: "readonly",
1637
1637
  defineEmits: "readonly",
@@ -1647,7 +1647,16 @@ async function vue(options = {}) {
1647
1647
  toRefs: "readonly",
1648
1648
  watch: "readonly",
1649
1649
  watchEffect: "readonly"
1650
- },
1650
+ }
1651
+ },
1652
+ name: "zayne/vue/setup",
1653
+ plugins: {
1654
+ vue: pluginVue
1655
+ }
1656
+ },
1657
+ {
1658
+ files,
1659
+ languageOptions: {
1651
1660
  parser: parserVue,
1652
1661
  parserOptions: {
1653
1662
  ecmaFeatures: {
@@ -1658,10 +1667,7 @@ async function vue(options = {}) {
1658
1667
  ...typescript2 && { parser: await interopDefault(import('@typescript-eslint/parser')) }
1659
1668
  }
1660
1669
  },
1661
- name: "zayne/vue/setup",
1662
- plugins: {
1663
- vue: pluginVue
1664
- },
1670
+ name: "zayne/vue/setup/file-processor",
1665
1671
  processor: sfcBlocks === false ? pluginVue.processors[".vue"] : mergeProcessors([
1666
1672
  pluginVue.processors[".vue"],
1667
1673
  processorVueBlocks?.({
@@ -1687,10 +1693,6 @@ async function vue(options = {}) {
1687
1693
  files,
1688
1694
  name: "zayne/vue/rules",
1689
1695
  rules: {
1690
- ...pluginVue.configs.base.rules,
1691
- ...pluginVue.configs[`flat/${vueVersion === 2 ? "vue2-" : ""}essential`].at(-1)?.rules,
1692
- ...pluginVue.configs[`flat/${vueVersion === 2 ? "vue2-" : ""}strongly-recommended`].at(-1)?.rules,
1693
- ...pluginVue.configs[`flat/${vueVersion === 2 ? "vue2-" : ""}recommended`].at(-1)?.rules,
1694
1696
  "node/prefer-global/process": "off",
1695
1697
  "vue/block-order": [
1696
1698
  "error",
@@ -1898,6 +1900,13 @@ var zayne = (options = {}, ...userConfigs) => {
1898
1900
  if (enableUnicorn) {
1899
1901
  configs.push(unicorn({ type, ...resolveOptions(enableUnicorn) }));
1900
1902
  }
1903
+ if (enableJsonc) {
1904
+ configs.push(
1905
+ jsonc({ stylistic: isStylistic, ...resolveOptions(enableJsonc) }),
1906
+ sortPackageJson(),
1907
+ sortTsconfig()
1908
+ );
1909
+ }
1901
1910
  if (enableJsdoc) {
1902
1911
  configs.push(jsdoc({ stylistic: isStylistic, ...resolveOptions(enableJsdoc) }));
1903
1912
  }
@@ -1947,13 +1956,6 @@ var zayne = (options = {}, ...userConfigs) => {
1947
1956
  if (restOfOptions.solid) {
1948
1957
  configs.push(solid({ typescript: isTypeAware, ...resolveOptions(restOfOptions.solid) }));
1949
1958
  }
1950
- if (enableJsonc) {
1951
- configs.push(
1952
- jsonc({ stylistic: isStylistic, ...resolveOptions(enableJsonc) }),
1953
- sortPackageJson(),
1954
- sortTsconfig()
1955
- );
1956
- }
1957
1959
  assert(
1958
1960
  !("files" in restOfOptions),
1959
1961
  `[@zayne-labs/eslint-config] The first argument should not contain the "files" property as the options are supposed to be global. Place it in the second config array instead.`
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/utils.ts","../src/globs.ts","../src/configs/ignores.ts","../src/configs/javascript.ts","../src/configs/tailwindcss.ts","../src/configs/typescript.ts","../src/configs/unicorn.ts","../src/configs/imports.ts","../src/configs/perfectionist.ts","../src/configs/stylistic.ts","../src/configs/jsonc.ts","../src/configs/jsdoc.ts","../src/constants.ts","../src/configs/react.ts","../src/configs/tanstack.ts","../src/configs/sort.ts","../src/configs/node.ts","../src/configs/comments.ts","../src/configs/toml.ts","../src/configs/yaml.ts","../src/configs/vue.ts","../src/configs/solid.ts","../src/configs/jsx.ts","../src/factory.ts"],"names":["defineEnum","stylistic","ignores","defineConfig","typescript","jsx","isPackageExists"],"mappings":"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","file":"index.js","sourcesContent":["import { fileURLToPath } from \"node:url\";\nimport { defineEnum } from \"@zayne-labs/toolkit-type-helpers\";\nimport type { ESLint, Linter } from \"eslint\";\nimport { isPackageExists } from \"local-pkg\";\nimport type { Awaitable, Rules, TypedFlatConfigItem } from \"./types\";\n\nexport const isObject = <TObject extends Record<string, unknown>>(value: unknown): value is TObject => {\n\treturn typeof value === \"object\" && value !== null && !Array.isArray(value);\n};\n\n/**\n * @description - Combine array and non-array configs into a single array.\n */\nexport const combine = async (\n\t...configs: Array<Awaitable<TypedFlatConfigItem | TypedFlatConfigItem[]>>\n): Promise<TypedFlatConfigItem[]> => {\n\tconst resolved = await Promise.all(configs);\n\n\treturn resolved.flat();\n};\n\nexport const interopDefault = async <TModule>(\n\tmodule: Awaitable<TModule>\n): Promise<TModule extends { default: infer TDefaultExport } ? TDefaultExport : TModule> => {\n\tconst resolved = await module;\n\n\t// eslint-disable-next-line ts-eslint/no-unnecessary-condition -- casting is necessary to prevent assignability ts issues at call-site\n\treturn (resolved as { default: never }).default ?? resolved;\n};\n\n/**\n * @description - Rename plugin prefixes in a rule object.\n * Accepts a map of prefixes to rename.\n *\n * @example\n * ```ts\n * import { renameRules } from '@zayne-labs/eslint-config'\n *\n * export default [{\n * rules: renameRules(\n * {\n * '@typescript-eslint/indent': 'error'\n * },\n * { '@typescript-eslint': 'ts' }\n * )\n * }]\n * ```\n */\nexport const renameRules = (\n\trules: Record<string, unknown> | undefined,\n\trenameMap: Record<string, string>\n): (Partial<Linter.RulesRecord> & Rules) | undefined => {\n\tif (!rules) return;\n\n\tconst renamedRulesEntries = Object.entries(rules).map(([ruleKey, ruleValue]) => {\n\t\tfor (const [oldRuleName, newRuleName] of Object.entries(renameMap)) {\n\t\t\tif (ruleKey.startsWith(`${oldRuleName}/`)) {\n\t\t\t\treturn [`${newRuleName}${ruleKey.slice(oldRuleName.length)}`, ruleValue];\n\t\t\t}\n\t\t}\n\n\t\treturn [ruleKey, ruleValue];\n\t});\n\n\treturn Object.fromEntries(renamedRulesEntries) as TypedFlatConfigItem[\"rules\"];\n};\n\nexport const renamePlugins = (\n\tplugins: Record<string, unknown> | undefined,\n\trenameMap: Record<string, string>\n): Record<string, ESLint.Plugin> | undefined => {\n\tif (!plugins) return;\n\n\tconst renamedPluginEntries = Object.entries(plugins).map(([pluginKey, pluginValue]) => {\n\t\tif (pluginKey in renameMap) {\n\t\t\treturn [renameMap[pluginKey], pluginValue];\n\t\t}\n\n\t\treturn [pluginKey, pluginValue];\n\t});\n\n\treturn Object.fromEntries(renamedPluginEntries) as Record<string, ESLint.Plugin>;\n};\n\n/**\n * @description - Rename plugin names a flat configs array\n *\n * @example\n * ```ts\n * import { renamePluginInConfigs } from '@zayne-labs/eslint-config'\n * import someConfigs from './some-configs'\n *\n * export default renamePluginInConfigs(someConfigs, {\n * '@typescript-eslint': 'ts',\n * 'import-x': 'import',\n * })\n * ```\n */\nexport const renamePluginInConfigs = (options: {\n\tconfigs: TypedFlatConfigItem[];\n\toverrides?: TypedFlatConfigItem;\n\trenameMap: Record<string, string>;\n}): TypedFlatConfigItem[] => {\n\tconst { configs, overrides, renameMap } = options;\n\n\tconst renamedConfigs = configs.map((config) => ({\n\t\t...config,\n\t\t...overrides,\n\n\t\t...(isObject(config.plugins) && {\n\t\t\tplugins: renamePlugins(config.plugins, renameMap),\n\t\t}),\n\t\t...(isObject(config.rules) && {\n\t\t\trules: renameRules(config.rules, renameMap),\n\t\t}),\n\t}));\n\n\treturn renamedConfigs;\n};\n\nconst scopeUrl = fileURLToPath(new URL(\".\", import.meta.url));\nconst isCwdInScope = isPackageExists(\"@zayne-labs/eslint-config\");\n\nexport const isPackageInScope = (name: string): boolean => isPackageExists(name, { paths: [scopeUrl] });\n\n/**\n * @description\n * - Ensures that packages are installed in the current scope.\n * - If they are not installed, and the user is in a TTY, and the user is not in a CI environment,\n * and the user is in the same scope as this package, then prompt the user to\n * install the packages.\n *\n * @param packages - The packages to ensure are installed.\n */\nexport const ensurePackages = async (packages: Array<string | undefined>): Promise<void> => {\n\tif (process.env.CI || !process.stdout.isTTY || !isCwdInScope) return;\n\n\tconst nonExistingPackages = packages.filter((pkg) => pkg && !isPackageInScope(pkg));\n\n\tif (nonExistingPackages.length === 0) return;\n\n\tconst clackPrompt = await import(\"@clack/prompts\");\n\n\tconst result = await clackPrompt.confirm({\n\t\tmessage: `${nonExistingPackages.length === 1 ? \"Package is\" : \"Packages are\"} required for this config: ${nonExistingPackages.join(\", \")}. Do you want to install them?`,\n\t});\n\n\tif (result) {\n\t\tconst antfuPkg = await import(\"@antfu/install-pkg\");\n\n\t\tawait antfuPkg.installPackage(nonExistingPackages as string[], { dev: true });\n\t}\n};\n\nexport const resolveOptions = <TObject>(option: boolean | TObject | undefined) =>\n\tisObject(option) ? option : ({} as TObject);\n\ntype OverrideOptions<TConfigName extends string> = {\n\tconfigName: TConfigName;\n\tfiles?: string[];\n\toverrides: TypedFlatConfigItem[\"rules\"];\n};\n\nexport const createOverrideRules = <TConfigName extends string>(options: OverrideOptions<TConfigName>) => {\n\tconst { configName, files, overrides } = options;\n\n\tif (!isObject(overrides)) {\n\t\treturn {} as never;\n\t}\n\n\treturn defineEnum({\n\t\t...(files && { files }),\n\t\tname: `zayne/${configName}/rules/overrides`,\n\t\trules: overrides,\n\t}) satisfies TypedFlatConfigItem;\n};\n","import { defineEnum } from \"@zayne-labs/toolkit-type-helpers\";\n\nexport const GLOB_SRC_EXT = \"?([cm])[jt]s?(x)\";\nexport const GLOB_SRC = \"**/*.?([cm])[jt]s?(x)\";\n\nexport const GLOB_JS = \"**/*.?([cm])js\";\nexport const GLOB_JSX = \"**/*.?([cm])jsx\";\n\nexport const GLOB_TS = \"**/*.?([cm])ts\";\nexport const GLOB_TSX = \"**/*.?([cm])tsx\";\n\nexport const GLOB_STYLES = \"**/*.{c,le,sc}ss\";\nexport const GLOB_CSS = \"**/*.css\";\nexport const GLOB_POSTCSS = \"**/*.{p,post}css\";\nexport const GLOB_LESS = \"**/*.less\";\nexport const GLOB_SCSS = \"**/*.scss\";\n\nexport const GLOB_JSON = \"**/*.json\";\nexport const GLOB_JSON5 = \"**/*.json5\";\nexport const GLOB_JSONC = \"**/*.jsonc\";\n\nexport const GLOB_MARKDOWN = \"**/*.md\";\nexport const GLOB_MARKDOWN_IN_MARKDOWN = \"**/*.md/*.md\";\nexport const GLOB_SVELTE = \"**/*.svelte\";\nexport const GLOB_VUE = \"**/*.vue\";\nexport const GLOB_YAML = \"**/*.y?(a)ml\";\nexport const GLOB_TOML = \"**/*.toml\";\nexport const GLOB_XML = \"**/*.xml\";\nexport const GLOB_SVG = \"**/*.svg\";\nexport const GLOB_HTML = \"**/*.htm?(l)\";\nexport const GLOB_ASTRO = \"**/*.astro\";\nexport const GLOB_ASTRO_TS = \"**/*.astro/*.ts\";\nexport const GLOB_GRAPHQL = \"**/*.{g,graph}ql\";\n\nexport const GLOB_MARKDOWN_CODE = `${GLOB_MARKDOWN}/${GLOB_SRC}`;\n\nexport const GLOB_TESTS = defineEnum([\n\t`**/__tests__/**/*.${GLOB_SRC_EXT}`,\n\t`**/*.spec.${GLOB_SRC_EXT}`,\n\t`**/*.test.${GLOB_SRC_EXT}`,\n\t`**/*.bench.${GLOB_SRC_EXT}`,\n\t`**/*.benchmark.${GLOB_SRC_EXT}`,\n]);\n\nexport const GLOB_ALL_SRC = [\n\tGLOB_SRC,\n\tGLOB_STYLES,\n\tGLOB_JSON,\n\tGLOB_JSON5,\n\tGLOB_MARKDOWN,\n\tGLOB_SVELTE,\n\tGLOB_VUE,\n\tGLOB_YAML,\n\tGLOB_XML,\n\tGLOB_HTML,\n];\n\nexport const GLOB_EXCLUDE = defineEnum([\n\t\"**/node_modules\",\n\t\"**/dist\",\n\t\"**/package-lock.json\",\n\t\"**/yarn.lock\",\n\t\"**/pnpm-lock.yaml\",\n\t\"**/bun.lockb\",\n\n\t\"**/output\",\n\t\"**/coverage\",\n\t\"**/temp\",\n\t\"**/.temp\",\n\t\"**/tmp\",\n\t\"**/.tmp\",\n\t\"**/.history\",\n\t\"**/.vitepress/cache\",\n\t\"**/.nuxt\",\n\t\"**/.next\",\n\t\"**/.svelte-kit\",\n\t\"**/.vercel\",\n\t\"**/.changeset\",\n\t\"**/.idea\",\n\t\"**/.cache\",\n\t\"**/.output\",\n\t\"**/.vite-inspect\",\n\t\"**/.yarn\",\n\t\"**/vite.config.*.timestamp-*\",\n\n\t\"**/CHANGELOG*.md\",\n\t\"**/*.min.*\",\n\t\"**/LICENSE*\",\n\t\"**/__snapshots__\",\n\t\"**/auto-import?(s).d.ts\",\n\t\"**/components.d.ts\",\n]);\n","import { interopDefault } from \"@/utils\";\nimport type { FlatGitignoreOptions } from \"eslint-config-flat-gitignore\";\nimport { globalIgnores } from \"eslint/config\";\nimport { GLOB_EXCLUDE } from \"../globs\";\nimport type { TypedFlatConfigItem } from \"../types\";\n\nexport const ignores = (userIgnores: string[] = []): TypedFlatConfigItem[] => {\n\treturn [globalIgnores([...GLOB_EXCLUDE, ...userIgnores], \"zayne/defaults/ignores\")];\n};\n\nexport const gitIgnores = async (options?: FlatGitignoreOptions): Promise<TypedFlatConfigItem[]> => {\n\tconst antfuGitIgnore = await interopDefault(import(\"eslint-config-flat-gitignore\"));\n\n\tconst config = antfuGitIgnore({\n\t\tname: \"zayne/gitignore\",\n\t\tstrict: false,\n\t\t...options,\n\t});\n\n\treturn [config];\n};\n","import type { OptionsOverrides, TypedFlatConfigItem } from \"@/types\";\nimport { createOverrideRules, interopDefault } from \"@/utils\";\nimport { defineConfig } from \"eslint/config\";\nimport globals from \"globals\";\n\nconst javascript = async (options: OptionsOverrides = {}): Promise<TypedFlatConfigItem[]> => {\n\tconst { overrides } = options;\n\n\tconst eslintJs = await interopDefault(import(\"@eslint/js\"));\n\n\treturn defineConfig([\n\t\t{\n\t\t\tlanguageOptions: {\n\t\t\t\tecmaVersion: \"latest\",\n\n\t\t\t\tglobals: {\n\t\t\t\t\t...globals.browser,\n\t\t\t\t\t...globals.node,\n\t\t\t\t\tdocument: \"readonly\",\n\t\t\t\t\tnavigator: \"readonly\",\n\t\t\t\t\twindow: \"readonly\",\n\t\t\t\t},\n\n\t\t\t\tparserOptions: {\n\t\t\t\t\tecmaVersion: \"latest\",\n\t\t\t\t\tsourceType: \"module\",\n\t\t\t\t},\n\n\t\t\t\tsourceType: \"module\",\n\t\t\t},\n\n\t\t\tlinterOptions: {\n\t\t\t\treportUnusedDisableDirectives: true,\n\t\t\t},\n\n\t\t\tname: \"zayne/js-eslint/setup\",\n\t\t},\n\t\t{\n\t\t\textends: [eslintJs.configs.recommended],\n\n\t\t\tname: \"zayne/js-eslint/recommended\",\n\t\t},\n\t\t{\n\t\t\tname: \"zayne/js-eslint/rules\",\n\n\t\t\trules: {\n\t\t\t\t\"accessor-pairs\": [\"error\", { enforceForClassMembers: true, setWithoutGet: true }],\n\t\t\t\t\"array-callback-return\": [\"error\", { allowImplicit: true }],\n\t\t\t\t\"block-scoped-var\": \"error\",\n\t\t\t\t\"class-methods-use-this\": \"error\",\n\t\t\t\tcomplexity: [\"warn\", 50],\n\t\t\t\t\"constructor-super\": \"error\",\n\t\t\t\tcurly: [\"error\", \"multi-line\"],\n\t\t\t\t\"default-case\": [\"error\", { commentPattern: \"^no default$\" }],\n\t\t\t\t\"default-case-last\": \"error\",\n\t\t\t\t\"default-param-last\": \"error\",\n\t\t\t\t\"dot-notation\": [\"error\", { allowKeywords: true }],\n\t\t\t\teqeqeq: [\"error\", \"always\", { null: \"ignore\" }],\n\t\t\t\t\"grouped-accessor-pairs\": \"error\",\n\t\t\t\t\"logical-assignment-operators\": \"warn\",\n\t\t\t\t\"max-depth\": [\"error\", 2],\n\t\t\t\t\"new-cap\": [\"error\", { capIsNew: false, newIsCap: true, properties: true }],\n\t\t\t\t\"no-alert\": \"warn\",\n\t\t\t\t\"no-array-constructor\": \"error\",\n\t\t\t\t\"no-async-promise-executor\": \"error\",\n\t\t\t\t\"no-await-in-loop\": \"error\",\n\t\t\t\t\"no-caller\": \"error\",\n\t\t\t\t\"no-case-declarations\": \"error\",\n\t\t\t\t\"no-class-assign\": \"error\",\n\t\t\t\t\"no-compare-neg-zero\": \"error\",\n\t\t\t\t\"no-cond-assign\": [\"error\", \"always\"],\n\t\t\t\t\"no-console\": [\"error\", { allow: [\"warn\", \"error\", \"info\", \"trace\"] }],\n\t\t\t\t\"no-const-assign\": \"error\",\n\t\t\t\t\"no-constant-condition\": \"warn\",\n\t\t\t\t\"no-constructor-return\": \"error\",\n\t\t\t\t\"no-control-regex\": \"error\",\n\t\t\t\t\"no-debugger\": \"error\",\n\t\t\t\t\"no-delete-var\": \"error\",\n\t\t\t\t\"no-dupe-args\": \"error\",\n\t\t\t\t\"no-dupe-class-members\": \"error\",\n\t\t\t\t\"no-dupe-keys\": \"error\",\n\t\t\t\t\"no-duplicate-case\": \"error\",\n\t\t\t\t\"no-else-return\": [\"error\", { allowElseIf: false }],\n\t\t\t\t\"no-empty\": [\"error\", { allowEmptyCatch: true }],\n\t\t\t\t\"no-empty-character-class\": \"error\",\n\t\t\t\t\"no-empty-pattern\": \"error\",\n\t\t\t\t\"no-eval\": [\"error\", { allowIndirect: true }],\n\t\t\t\t\"no-ex-assign\": \"error\",\n\t\t\t\t\"no-extend-native\": \"error\",\n\t\t\t\t\"no-extra-bind\": \"error\",\n\t\t\t\t\"no-extra-boolean-cast\": \"error\",\n\t\t\t\t\"no-fallthrough\": \"error\",\n\t\t\t\t\"no-func-assign\": \"error\",\n\t\t\t\t\"no-global-assign\": \"error\",\n\t\t\t\t\"no-implicit-coercion\": \"warn\",\n\t\t\t\t\"no-implied-eval\": \"error\",\n\t\t\t\t\"no-import-assign\": \"error\",\n\t\t\t\t\"no-invalid-regexp\": \"error\",\n\t\t\t\t\"no-irregular-whitespace\": \"error\",\n\t\t\t\t\"no-iterator\": \"error\",\n\t\t\t\t\"no-labels\": [\"error\", { allowLoop: false, allowSwitch: false }],\n\t\t\t\t\"no-lone-blocks\": \"error\",\n\t\t\t\t\"no-loop-func\": \"error\",\n\t\t\t\t\"no-loss-of-precision\": \"error\",\n\t\t\t\t\"no-misleading-character-class\": \"error\",\n\t\t\t\t\"no-multi-str\": \"error\",\n\t\t\t\t\"no-new\": \"error\",\n\t\t\t\t\"no-new-func\": \"error\",\n\t\t\t\t\"no-new-native-nonconstructor\": \"error\",\n\t\t\t\t\"no-new-wrappers\": \"error\",\n\t\t\t\t\"no-obj-calls\": \"error\",\n\t\t\t\t\"no-octal\": \"error\",\n\t\t\t\t\"no-octal-escape\": \"error\",\n\t\t\t\t\"no-param-reassign\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t{\n\t\t\t\t\t\tignorePropertyModificationsFor: [\n\t\t\t\t\t\t\t\"acc\", // for reduce accumulators\n\t\t\t\t\t\t\t\"accumulator\", // for reduce accumulators\n\t\t\t\t\t\t\t\"e\", // for e.returnvalue\n\t\t\t\t\t\t\t\"ctx\", // for Koa routing\n\t\t\t\t\t\t\t\"context\", // for Koa routing\n\t\t\t\t\t\t\t\"req\", // for Express requests\n\t\t\t\t\t\t\t\"request\", // for Express requests\n\t\t\t\t\t\t\t\"res\", // for Express responses\n\t\t\t\t\t\t\t\"response\", // for Express responses\n\t\t\t\t\t\t\t\"$scope\", // for Angular 1 scopes\n\t\t\t\t\t\t\t\"staticContext\", // for ReactRouter context\n\t\t\t\t\t\t],\n\t\t\t\t\t\tprops: true,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t\"no-proto\": \"error\",\n\t\t\t\t\"no-prototype-builtins\": \"error\",\n\t\t\t\t\"no-redeclare\": [\"error\", { builtinGlobals: false }],\n\t\t\t\t\"no-regex-spaces\": \"error\",\n\t\t\t\t\"no-restricted-exports\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t{\n\t\t\t\t\t\trestrictedNamedExports: [\n\t\t\t\t\t\t\t\"default\", // use `export default` to provide a default export\n\t\t\t\t\t\t\t\"then\", // this will cause tons of confusion when your module is dynamically `import()`ed, and will break in most node ESM versions\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t\"no-restricted-globals\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t{\n\t\t\t\t\t\tmessage:\n\t\t\t\t\t\t\t\"Use Number.isFinite instead https://github.com/airbnb/javascript#standard-library--isfinite\",\n\t\t\t\t\t\tname: \"isFinite\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tmessage:\n\t\t\t\t\t\t\t\"Use Number.isNaN instead https://github.com/airbnb/javascript#standard-library--isnan\",\n\t\t\t\t\t\tname: \"isNaN\",\n\t\t\t\t\t},\n\t\t\t\t\t{ message: \"Use `globalThis` instead.\", name: \"global\" },\n\t\t\t\t\t{ message: \"Use `globalThis` instead.\", name: \"self\" },\n\t\t\t\t],\n\t\t\t\t\"no-restricted-imports\": [\"off\", { paths: [], patterns: [] }],\n\t\t\t\t\"no-restricted-properties\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t{\n\t\t\t\t\t\tmessage: \"arguments.callee is deprecated\",\n\t\t\t\t\t\tobject: \"arguments\",\n\t\t\t\t\t\tproperty: \"callee\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tmessage: \"Please use Number.isFinite instead\",\n\t\t\t\t\t\tobject: \"global\",\n\t\t\t\t\t\tproperty: \"isFinite\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tmessage: \"Please use Number.isFinite instead\",\n\t\t\t\t\t\tobject: \"self\",\n\t\t\t\t\t\tproperty: \"isFinite\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tmessage: \"Please use Number.isFinite instead\",\n\t\t\t\t\t\tobject: \"window\",\n\t\t\t\t\t\tproperty: \"isFinite\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tmessage: \"Please use Number.isNaN instead\",\n\t\t\t\t\t\tobject: \"global\",\n\t\t\t\t\t\tproperty: \"isNaN\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tmessage: \"Please use Number.isNaN instead\",\n\t\t\t\t\t\tobject: \"self\",\n\t\t\t\t\t\tproperty: \"isNaN\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tmessage: \"Please use Number.isNaN instead\",\n\t\t\t\t\t\tobject: \"window\",\n\t\t\t\t\t\tproperty: \"isNaN\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tmessage: \"Use the exponentiation operator (**) instead.\",\n\t\t\t\t\t\tobject: \"Math\",\n\t\t\t\t\t\tproperty: \"pow\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tmessage: \"Use `Object.getPrototypeOf` or `Object.setPrototypeOf` instead.\",\n\t\t\t\t\t\tproperty: \"__proto__\",\n\t\t\t\t\t},\n\t\t\t\t\t{ message: \"Use `Object.defineProperty` instead.\", property: \"__defineGetter__\" },\n\t\t\t\t\t{ message: \"Use `Object.defineProperty` instead.\", property: \"__defineSetter__\" },\n\t\t\t\t\t{ message: \"Use `Object.getOwnPropertyDescriptor` instead.\", property: \"__lookupGetter__\" },\n\t\t\t\t\t{ message: \"Use `Object.getOwnPropertyDescriptor` instead.\", property: \"__lookupSetter__\" },\n\t\t\t\t],\n\t\t\t\t\"no-restricted-syntax\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t\"ForInStatement\",\n\t\t\t\t\t\"LabeledStatement\",\n\t\t\t\t\t\"WithStatement\",\n\t\t\t\t\t\"TSEnumDeclaration[const=true]\",\n\t\t\t\t\t\"TSExportAssignment\",\n\t\t\t\t],\n\t\t\t\t\"no-return-assign\": [\"error\", \"except-parens\"],\n\t\t\t\t\"no-script-url\": \"error\",\n\t\t\t\t\"no-self-assign\": [\"error\", { props: true }],\n\t\t\t\t\"no-self-compare\": \"error\",\n\t\t\t\t\"no-sequences\": \"error\",\n\t\t\t\t\"no-shadow-restricted-names\": \"error\",\n\t\t\t\t\"no-sparse-arrays\": \"error\",\n\t\t\t\t\"no-template-curly-in-string\": \"error\",\n\t\t\t\t\"no-this-before-super\": \"error\",\n\t\t\t\t\"no-throw-literal\": \"error\",\n\t\t\t\t\"no-undef\": \"error\",\n\t\t\t\t\"no-undef-init\": \"error\",\n\t\t\t\t\"no-unexpected-multiline\": \"error\",\n\t\t\t\t\"no-unmodified-loop-condition\": \"error\",\n\t\t\t\t\"no-unneeded-ternary\": [\"warn\", { defaultAssignment: false }],\n\t\t\t\t\"no-unreachable\": \"error\",\n\t\t\t\t\"no-unreachable-loop\": \"error\",\n\t\t\t\t\"no-unsafe-finally\": \"error\",\n\t\t\t\t\"no-unsafe-negation\": \"error\",\n\t\t\t\t\"no-unused-expressions\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t{\n\t\t\t\t\t\tallowShortCircuit: true,\n\t\t\t\t\t\tallowTaggedTemplates: true,\n\t\t\t\t\t\tallowTernary: true,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t\"no-unused-vars\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\targs: \"none\",\n\t\t\t\t\t\tcaughtErrors: \"none\",\n\t\t\t\t\t\tignoreRestSiblings: true,\n\t\t\t\t\t\tvars: \"all\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t\"no-useless-backreference\": \"error\",\n\t\t\t\t\"no-useless-call\": \"error\",\n\t\t\t\t\"no-useless-catch\": \"error\",\n\t\t\t\t\"no-useless-computed-key\": \"error\",\n\t\t\t\t\"no-useless-concat\": \"error\",\n\t\t\t\t\"no-useless-constructor\": \"error\",\n\t\t\t\t\"no-useless-rename\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t{ ignoreDestructuring: false, ignoreExport: false, ignoreImport: false },\n\t\t\t\t],\n\t\t\t\t\"no-useless-return\": \"error\",\n\t\t\t\t\"no-var\": \"error\",\n\t\t\t\t\"no-with\": \"error\",\n\t\t\t\t\"object-shorthand\": [\"error\", \"always\", { avoidQuotes: true, ignoreConstructors: false }],\n\t\t\t\t\"one-var\": [\"error\", { initialized: \"never\" }],\n\t\t\t\t\"operator-assignment\": \"warn\",\n\t\t\t\t\"prefer-arrow-callback\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t{\n\t\t\t\t\t\tallowNamedFunctions: false,\n\t\t\t\t\t\tallowUnboundThis: true,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t\"prefer-const\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t{\n\t\t\t\t\t\tdestructuring: \"all\",\n\t\t\t\t\t\tignoreReadBeforeAssign: true,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t\"prefer-exponentiation-operator\": \"error\",\n\t\t\t\t\"prefer-object-has-own\": \"error\",\n\t\t\t\t\"prefer-object-spread\": \"warn\",\n\t\t\t\t\"prefer-promise-reject-errors\": \"error\",\n\t\t\t\t\"prefer-regex-literals\": [\"error\", { disallowRedundantWrapping: true }],\n\t\t\t\t\"prefer-rest-params\": \"error\",\n\t\t\t\t\"prefer-spread\": \"error\",\n\t\t\t\t\"prefer-template\": \"error\",\n\t\t\t\tradix: \"error\",\n\t\t\t\t\"symbol-description\": \"error\",\n\t\t\t\t\"unicode-bom\": [\"error\", \"never\"],\n\t\t\t\t\"use-isnan\": [\"error\", { enforceForIndexOf: true, enforceForSwitchCase: true }],\n\t\t\t\t\"valid-typeof\": [\"error\", { requireStringLiterals: true }],\n\t\t\t\t\"vars-on-top\": \"error\",\n\t\t\t\tyoda: [\"error\", \"never\"],\n\t\t\t},\n\t\t},\n\n\t\tcreateOverrideRules({ configName: \"js-eslint\", overrides }),\n\t]);\n};\n\nexport { javascript };\n","import type { OptionsOverrides, OptionsTailwindCSS, TypedFlatConfigItem } from \"@/types\";\nimport { createOverrideRules, ensurePackages, interopDefault } from \"@/utils\";\n\nconst tailwindcss = async (\n\toptions: OptionsOverrides & OptionsTailwindCSS = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { overrides, settings: tailwindCssSettings } = options;\n\n\tawait ensurePackages([\"eslint-plugin-tailwindcss\"]);\n\n\tconst eslintPluginTailwindCss = await interopDefault(import(\"eslint-plugin-tailwindcss\"));\n\n\treturn [\n\t\t{\n\t\t\tname: \"zayne/tailwindcss/setup\",\n\t\t\tplugins: {\n\t\t\t\ttailwindcss: eslintPluginTailwindCss,\n\t\t\t},\n\t\t\tsettings: {\n\t\t\t\ttailwindcss: {\n\t\t\t\t\tcallees: [\"tv\", \"cnMerge\", \"cn\", \"cnJoin\", \"twMerge\", \"twJoin\"],\n\t\t\t\t\tclassRegex: \"^class(Name|Names)?$\",\n\t\t\t\t\tcssFiles: [],\n\t\t\t\t\tremoveDuplicates: false, // Turned off cuz prettier already handles this via plugin\n\t\t\t\t\t...tailwindCssSettings,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\tname: \"zayne/tailwindcss/recommended\",\n\n\t\t\trules: eslintPluginTailwindCss.configs[\"flat/recommended\"][1]?.rules,\n\t\t},\n\n\t\t{\n\t\t\tname: \"zayne/tailwindcss/rules\",\n\n\t\t\trules: {\n\t\t\t\t\"tailwindcss/no-contradicting-classname\": \"off\", // Turned off cuz tw intellisense already handles this\n\t\t\t\t\"tailwindcss/no-custom-classname\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{ ignoredKeys: [\"compoundVariants\", \"defaultVariants\", \"responsiveVariants\"] },\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\n\t\tcreateOverrideRules({\n\t\t\tconfigName: \"tailwindcss\",\n\t\t\toverrides,\n\t\t}),\n\t];\n};\n\nexport { tailwindcss };\n","import { createOverrideRules, interopDefault, renamePluginInConfigs } from \"@/utils\";\nimport { defineConfig } from \"eslint/config\";\nimport { GLOB_ASTRO_TS, GLOB_MARKDOWN, GLOB_TS, GLOB_TSX } from \"../globs\";\nimport type {\n\tExtractOptions,\n\tOptionsConfig,\n\tOptionsTypeScriptParserOptions,\n\tOptionsTypeScriptWithTypes,\n\tTypedFlatConfigItem,\n} from \"../types\";\n\ntype OptionsTypescript = ExtractOptions<OptionsConfig[\"typescript\"]>;\n\nexport const typescript = async (\n\toptions: OptionsTypescript & OptionsTypeScriptParserOptions & OptionsTypeScriptWithTypes = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst {\n\t\tallowDefaultProjects,\n\t\tcomponentExts = [],\n\t\tfiles = [GLOB_TS, GLOB_TSX, ...componentExts.map((ext) => `**/*.${ext}`)],\n\t\tfilesTypeAware = [GLOB_TS, GLOB_TSX, ...componentExts.map((ext) => `**/*.${ext}`)],\n\t\tignoresTypeAware = [`${GLOB_MARKDOWN}/**`, GLOB_ASTRO_TS],\n\t\toverrides,\n\t\tparserOptions,\n\t\tstylistic = true,\n\t\ttsconfigPath,\n\t} = options;\n\n\tconst isTypeAware = Boolean(tsconfigPath);\n\n\tconst tsEslint = await interopDefault(import(\"typescript-eslint\"));\n\n\tconst projectServiceObject =\n\t\tisTypeAware\n\t\t&& (allowDefaultProjects\n\t\t\t? {\n\t\t\t\t\tprojectService: {\n\t\t\t\t\t\tallowDefaultProject: allowDefaultProjects,\n\t\t\t\t\t\tdefaultProject: tsconfigPath,\n\t\t\t\t\t},\n\t\t\t\t\ttsconfigRootDir: process.cwd(),\n\t\t\t\t}\n\t\t\t: {\n\t\t\t\t\tproject: tsconfigPath,\n\t\t\t\t\ttsconfigRootDir: process.cwd(),\n\t\t\t\t});\n\n\tconst makeParser = (parsedFiles: string[], ignores?: string[]): TypedFlatConfigItem => ({\n\t\tfiles: parsedFiles,\n\n\t\t...(ignores && { ignores }),\n\n\t\tlanguageOptions: {\n\t\t\tparser: tsEslint.parser,\n\n\t\t\tparserOptions: {\n\t\t\t\tecmaFeatures: { globalReturn: true },\n\n\t\t\t\textraFileExtensions: componentExts.map((ext) => `.${ext}`),\n\n\t\t\t\tsourceType: \"module\",\n\n\t\t\t\t...projectServiceObject,\n\n\t\t\t\t...parserOptions,\n\t\t\t},\n\t\t},\n\t});\n\n\tconst typeAwareRules: TypedFlatConfigItem[\"rules\"] = {\n\t\t\"ts-eslint/no-unnecessary-type-parameters\": \"off\",\n\t\t\"ts-eslint/non-nullable-type-assertion-style\": \"off\",\n\t\t\"ts-eslint/prefer-nullish-coalescing\": [\"error\", { ignoreConditionalTests: true }],\n\t\t\"ts-eslint/restrict-template-expressions\": [\n\t\t\t\"error\",\n\t\t\t{ allowBoolean: true, allowNullish: true, allowNumber: true },\n\t\t],\n\t\t\"ts-eslint/return-await\": [\"error\", \"in-try-catch\"],\n\t};\n\n\tconst selectedBaseRuleSet = isTypeAware ? \"strictTypeChecked\" : \"strict\";\n\tconst selectedStylisticRuleSet = isTypeAware ? \"strictTypeChecked\" : \"strict\";\n\n\treturn defineConfig([\n\t\t{\n\t\t\tname: `zayne/ts-eslint/${isTypeAware ? \"type-aware-setup\" : \"setup\"}`,\n\n\t\t\t...makeParser(files),\n\t\t\t...(isTypeAware && makeParser(filesTypeAware, ignoresTypeAware)),\n\t\t},\n\n\t\trenamePluginInConfigs({\n\t\t\tconfigs: tsEslint.configs[selectedBaseRuleSet],\n\t\t\toverrides: { files, name: `zayne/ts-eslint/${selectedBaseRuleSet}` },\n\t\t\trenameMap: { \"@typescript-eslint\": \"ts-eslint\" },\n\t\t}),\n\n\t\tstylistic\n\t\t\t? renamePluginInConfigs({\n\t\t\t\t\tconfigs: tsEslint.configs[selectedStylisticRuleSet],\n\t\t\t\t\toverrides: { files, name: `zayne/ts-eslint/${selectedStylisticRuleSet}` },\n\t\t\t\t\trenameMap: { \"@typescript-eslint\": \"ts-eslint\" },\n\t\t\t\t})\n\t\t\t: {},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tname: \"zayne/ts-eslint/rules\",\n\n\t\t\trules: {\n\t\t\t\t\"ts-eslint/array-type\": [\"error\", { default: \"array-simple\" }],\n\t\t\t\t\"ts-eslint/consistent-type-definitions\": [\"error\", \"type\"],\n\t\t\t\t\"ts-eslint/default-param-last\": \"error\",\n\t\t\t\t\"ts-eslint/member-ordering\": \"error\",\n\t\t\t\t\"ts-eslint/method-signature-style\": [\"error\", \"property\"],\n\t\t\t\t\"ts-eslint/no-confusing-void-expression\": \"off\",\n\t\t\t\t\"ts-eslint/no-empty-function\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t{ allow: [\"arrowFunctions\", \"functions\", \"methods\"] },\n\t\t\t\t],\n\t\t\t\t\"ts-eslint/no-import-type-side-effects\": \"error\",\n\t\t\t\t\"ts-eslint/no-shadow\": \"error\",\n\t\t\t\t\"ts-eslint/no-unused-expressions\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t{\n\t\t\t\t\t\tallowShortCircuit: true,\n\t\t\t\t\t\tallowTernary: true,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t\"ts-eslint/no-unused-vars\": [\"warn\", { argsIgnorePattern: \"^_\" }],\n\t\t\t\t\"ts-eslint/no-use-before-define\": \"off\",\n\t\t\t\t\"ts-eslint/no-useless-constructor\": \"error\",\n\n\t\t\t\t...(isTypeAware && typeAwareRules),\n\t\t\t},\n\t\t},\n\n\t\tcreateOverrideRules({ configName: \"ts-eslint\", files, overrides }),\n\t]);\n};\n","import { createOverrideRules, interopDefault } from \"@/utils\";\nimport type { OptionsAppType, OptionsOverrides, TypedFlatConfigItem } from \"../types\";\n\nexport const unicorn = async (\n\toptions: OptionsAppType & OptionsOverrides = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { overrides, type = \"app\" } = options;\n\n\tconst eslintPluginUnicorn = await interopDefault(import(\"eslint-plugin-unicorn\"));\n\n\treturn [\n\t\t{\n\t\t\t...eslintPluginUnicorn.configs[\"flat/recommended\"],\n\t\t\tname: \"zayne/unicorn/recommended\",\n\t\t},\n\n\t\t{\n\t\t\tname: \"zayne/unicorn/rules\",\n\n\t\t\trules: {\n\t\t\t\t\"unicorn/filename-case\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\tcases: {\n\t\t\t\t\t\t\tcamelCase: true,\n\t\t\t\t\t\t\tkebabCase: true,\n\t\t\t\t\t\t\tpascalCase: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t],\n\n\t\t\t\t...(type === \"app\"\n\t\t\t\t\t? {\n\t\t\t\t\t\t\t\"unicorn/prefer-global-this\": \"off\",\n\t\t\t\t\t\t}\n\t\t\t\t\t: {\n\t\t\t\t\t\t\t\"unicorn/prefer-global-this\": \"warn\",\n\t\t\t\t\t\t}),\n\n\t\t\t\t\"unicorn/new-for-builtins\": \"off\",\n\t\t\t\t\"unicorn/no-array-for-each\": \"off\",\n\t\t\t\t\"unicorn/no-array-reduce\": \"off\",\n\t\t\t\t\"unicorn/no-negated-condition\": \"off\",\n\t\t\t\t\"unicorn/no-null\": \"off\",\n\t\t\t\t\"unicorn/no-useless-undefined\": [\"error\", { checkArguments: true }],\n\t\t\t\t\"unicorn/numeric-separators-style\": \"off\",\n\t\t\t\t\"unicorn/prevent-abbreviations\": \"off\",\n\t\t\t},\n\t\t},\n\n\t\tcreateOverrideRules({\n\t\t\tconfigName: \"unicorn\",\n\t\t\toverrides,\n\t\t}),\n\t];\n};\n","import type {\n\tOptionsHasTypeScript,\n\tOptionsOverrides,\n\tOptionsStylistic,\n\tTypedFlatConfigItem,\n} from \"@/types\";\nimport { createOverrideRules, interopDefault } from \"@/utils\";\n\nconst imports = async (\n\toptions: OptionsHasTypeScript & OptionsOverrides & OptionsStylistic = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { overrides, stylistic = true, typescript = true } = options;\n\n\tconst eslintPluginImportX = await interopDefault(import(\"eslint-plugin-import-x\"));\n\n\treturn [\n\t\t{\n\t\t\tname: \"zayne/import/setup\",\n\n\t\t\tplugins: {\n\t\t\t\timport: eslintPluginImportX,\n\t\t\t},\n\n\t\t\t...(typescript && {\n\t\t\t\tsettings: eslintPluginImportX.flatConfigs.typescript.settings,\n\t\t\t}),\n\t\t},\n\n\t\t{\n\t\t\tname: \"zayne/import/recommended\",\n\n\t\t\trules: {\n\t\t\t\t...eslintPluginImportX.flatConfigs.recommended.rules,\n\t\t\t\t...(typescript && eslintPluginImportX.flatConfigs.typescript.rules),\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\tname: \"zayne/import/rules\",\n\n\t\t\trules: {\n\t\t\t\t\"import/extensions\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t\"never\",\n\t\t\t\t\t{ ignorePackages: true, pattern: { png: \"always\", svg: \"always\" } },\n\t\t\t\t],\n\t\t\t\t\"import/first\": \"error\",\n\t\t\t\t\"import/no-absolute-path\": \"error\",\n\t\t\t\t\"import/no-cycle\": [\"error\", { ignoreExternal: true, maxDepth: 3 }],\n\t\t\t\t\"import/no-duplicates\": \"error\",\n\t\t\t\t\"import/no-extraneous-dependencies\": [\"error\", { devDependencies: true }],\n\t\t\t\t\"import/no-mutable-exports\": \"error\",\n\t\t\t\t\"import/no-named-default\": \"error\",\n\t\t\t\t\"import/no-relative-packages\": \"error\",\n\t\t\t\t\"import/no-self-import\": \"error\",\n\t\t\t\t\"import/no-unresolved\": \"off\",\n\t\t\t\t\"import/no-useless-path-segments\": [\"error\", { commonjs: true }],\n\t\t\t\t\"import/no-webpack-loader-syntax\": \"error\",\n\n\t\t\t\t...(stylistic && { \"import/newline-after-import\": \"error\" }),\n\t\t\t},\n\t\t},\n\n\t\tcreateOverrideRules({\n\t\t\tconfigName: \"import\",\n\t\t\toverrides,\n\t\t}),\n\t];\n};\n\nexport { imports };\n","import type { OptionsOverrides, TypedFlatConfigItem } from \"@/types\";\nimport { createOverrideRules, interopDefault } from \"@/utils\";\n\nconst perfectionist = async (options: OptionsOverrides = {}): Promise<TypedFlatConfigItem[]> => {\n\tconst { overrides } = options;\n\n\tconst eslintPluginPerfectionist = await interopDefault(import(\"eslint-plugin-perfectionist\"));\n\n\treturn [\n\t\t{\n\t\t\tname: \"zayne/perfectionist/rules\",\n\n\t\t\tplugins: {\n\t\t\t\tperfectionist: eslintPluginPerfectionist,\n\t\t\t},\n\n\t\t\trules: {\n\t\t\t\t\"perfectionist/sort-array-includes\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\torder: \"asc\",\n\t\t\t\t\t\ttype: \"alphabetical\",\n\t\t\t\t\t},\n\t\t\t\t],\n\n\t\t\t\t\"perfectionist/sort-classes\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\torder: \"asc\",\n\t\t\t\t\t\ttype: \"alphabetical\",\n\t\t\t\t\t},\n\t\t\t\t],\n\n\t\t\t\t\"perfectionist/sort-interfaces\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\torder: \"asc\",\n\t\t\t\t\t\ttype: \"alphabetical\",\n\t\t\t\t\t},\n\t\t\t\t],\n\n\t\t\t\t\"perfectionist/sort-intersection-types\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\tgroups: [\n\t\t\t\t\t\t\t\"conditional\",\n\t\t\t\t\t\t\t\"literal\",\n\t\t\t\t\t\t\t\"import\",\n\t\t\t\t\t\t\t\"intersection\",\n\t\t\t\t\t\t\t\"keyword\",\n\t\t\t\t\t\t\t\"tuple\",\n\t\t\t\t\t\t\t\"named\",\n\t\t\t\t\t\t\t\"object\",\n\t\t\t\t\t\t\t\"function\",\n\t\t\t\t\t\t\t\"operator\",\n\t\t\t\t\t\t\t\"union\",\n\t\t\t\t\t\t\t\"nullish\",\n\t\t\t\t\t\t],\n\t\t\t\t\t\torder: \"asc\",\n\t\t\t\t\t\ttype: \"alphabetical\",\n\t\t\t\t\t},\n\t\t\t\t],\n\n\t\t\t\t\"perfectionist/sort-maps\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\torder: \"asc\",\n\t\t\t\t\t\ttype: \"alphabetical\",\n\t\t\t\t\t},\n\t\t\t\t],\n\n\t\t\t\t\"perfectionist/sort-object-types\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\torder: \"asc\",\n\t\t\t\t\t\ttype: \"alphabetical\",\n\t\t\t\t\t},\n\t\t\t\t],\n\n\t\t\t\t\"perfectionist/sort-objects\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\torder: \"asc\",\n\t\t\t\t\t\ttype: \"alphabetical\",\n\t\t\t\t\t},\n\t\t\t\t],\n\n\t\t\t\t\"perfectionist/sort-switch-case\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\torder: \"asc\",\n\t\t\t\t\t\ttype: \"alphabetical\",\n\t\t\t\t\t},\n\t\t\t\t],\n\n\t\t\t\t\"perfectionist/sort-union-types\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\tgroups: [\n\t\t\t\t\t\t\t\"conditional\",\n\t\t\t\t\t\t\t\"literal\",\n\t\t\t\t\t\t\t\"import\",\n\t\t\t\t\t\t\t\"intersection\",\n\t\t\t\t\t\t\t\"keyword\",\n\t\t\t\t\t\t\t\"tuple\",\n\t\t\t\t\t\t\t\"named\",\n\t\t\t\t\t\t\t\"object\",\n\t\t\t\t\t\t\t\"function\",\n\t\t\t\t\t\t\t\"operator\",\n\t\t\t\t\t\t\t\"union\",\n\t\t\t\t\t\t\t\"nullish\",\n\t\t\t\t\t\t],\n\t\t\t\t\t\torder: \"asc\",\n\t\t\t\t\t\ttype: \"alphabetical\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t\"perfectionist/sort-variable-declarations\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\torder: \"asc\",\n\t\t\t\t\t\ttype: \"alphabetical\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t// \"perfectionist/sort-svelte-attributes\": [\n\t\t\t\t// \t\"warn\",\n\t\t\t\t// \t{\n\t\t\t\t// \t\torder: \"asc\",\n\t\t\t\t// \t\ttype: \"alphabetical\",\n\t\t\t\t// \t},\n\t\t\t\t// ],\n\t\t\t\t// \"perfectionist/sort-astro-attributes\": [\n\t\t\t\t// \t\"warn\",\n\t\t\t\t// \t{\n\t\t\t\t// \t\torder: \"asc\",\n\t\t\t\t// \t\ttype: \"alphabetical\",\n\t\t\t\t// \t},\n\t\t\t\t// ],\n\t\t\t\t// \"perfectionist/sort-vue-attributes\": [\n\t\t\t\t// \t\"warn\",\n\t\t\t\t// \t{\n\t\t\t\t// \t\torder: \"asc\",\n\t\t\t\t// \t\ttype: \"alphabetical\",\n\t\t\t\t// \t},\n\t\t\t\t// ],\n\t\t\t\t// \"perfectionist/sort-jsx-props\": [\n\t\t\t\t// \t\"warn\",\n\t\t\t\t// \t{\n\t\t\t\t// \t\t// ignorePattern: [\"src\"],\n\t\t\t\t// \t\torder: \"asc\",\n\t\t\t\t// \t\ttype: \"alphabetical\",\n\t\t\t\t// \t},\n\t\t\t\t// ],\n\t\t\t},\n\t\t},\n\n\t\tcreateOverrideRules({\n\t\t\tconfigName: \"perfectionist\",\n\t\t\toverrides,\n\t\t}),\n\t];\n};\n\nexport { perfectionist };\n","import type { OptionsHasJsx, OptionsOverrides, TypedFlatConfigItem } from \"@/types\";\nimport { createOverrideRules, interopDefault } from \"@/utils\";\n\nconst stylistic = async (\n\toptions: OptionsHasJsx & OptionsOverrides = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { jsx = true, overrides } = options;\n\tconst eslintPluginStylistic = await interopDefault(import(\"@stylistic/eslint-plugin\"));\n\n\treturn [\n\t\t// == Stylistic Rules (Optional)\n\t\t{\n\t\t\tname: \"zayne/stylistic/rules\",\n\n\t\t\tplugins: {\n\t\t\t\tstylistic: eslintPluginStylistic,\n\t\t\t},\n\n\t\t\trules: {\n\t\t\t\t\"stylistic/no-floating-decimal\": \"error\",\n\t\t\t\t\"stylistic/spaced-comment\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t\"always\",\n\t\t\t\t\t{\n\t\t\t\t\t\tblock: {\n\t\t\t\t\t\t\tbalanced: true,\n\t\t\t\t\t\t\texceptions: [\"*\"],\n\t\t\t\t\t\t\tmarkers: [\"!\"],\n\t\t\t\t\t\t},\n\t\t\t\t\t\tline: {\n\t\t\t\t\t\t\texceptions: [\"/\", \"#\"],\n\t\t\t\t\t\t\tmarkers: [\"/\"],\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t],\n\n\t\t\t\t...(jsx && {\n\t\t\t\t\t\"stylistic/jsx-self-closing-comp\": \"warn\",\n\t\t\t\t}),\n\t\t\t},\n\t\t},\n\n\t\tcreateOverrideRules({\n\t\t\tconfigName: \"stylistic\",\n\t\t\toverrides,\n\t\t}),\n\t];\n};\n\nexport { stylistic };\n","import { GLOB_JSON, GLOB_JSON5, GLOB_JSONC } from \"@/globs\";\nimport type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"@/types\";\nimport { createOverrideRules, interopDefault } from \"@/utils\";\n\nconst jsonc = async (\n\toptions: ExtractOptions<OptionsConfig[\"jsonc\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { files = [GLOB_JSON, GLOB_JSON5, GLOB_JSONC], overrides, stylistic = true } = options;\n\n\tconst [eslintPluginJsonc, jsoncParser] = await Promise.all([\n\t\tinteropDefault(import(\"eslint-plugin-jsonc\")),\n\t\tinteropDefault(import(\"jsonc-eslint-parser\")),\n\t] as const);\n\n\treturn [\n\t\t{\n\t\t\tname: \"zayne/jsonc/setup\",\n\n\t\t\tplugins: {\n\t\t\t\tjsonc: eslintPluginJsonc,\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tlanguageOptions: {\n\t\t\t\tparser: jsoncParser,\n\t\t\t},\n\n\t\t\tname: \"zayne/jsonc/rules\",\n\n\t\t\trules: {\n\t\t\t\t\"jsonc/no-bigint-literals\": \"error\",\n\t\t\t\t\"jsonc/no-binary-expression\": \"error\",\n\t\t\t\t\"jsonc/no-binary-numeric-literals\": \"error\",\n\t\t\t\t\"jsonc/no-dupe-keys\": \"error\",\n\t\t\t\t\"jsonc/no-escape-sequence-in-identifier\": \"error\",\n\t\t\t\t\"jsonc/no-floating-decimal\": \"error\",\n\t\t\t\t\"jsonc/no-hexadecimal-numeric-literals\": \"error\",\n\t\t\t\t\"jsonc/no-infinity\": \"error\",\n\t\t\t\t\"jsonc/no-multi-str\": \"error\",\n\t\t\t\t\"jsonc/no-nan\": \"error\",\n\t\t\t\t\"jsonc/no-number-props\": \"error\",\n\t\t\t\t\"jsonc/no-numeric-separators\": \"error\",\n\t\t\t\t\"jsonc/no-octal\": \"error\",\n\t\t\t\t\"jsonc/no-octal-escape\": \"error\",\n\t\t\t\t\"jsonc/no-octal-numeric-literals\": \"error\",\n\t\t\t\t\"jsonc/no-parenthesized\": \"error\",\n\t\t\t\t\"jsonc/no-plus-sign\": \"error\",\n\t\t\t\t\"jsonc/no-regexp-literals\": \"error\",\n\t\t\t\t\"jsonc/no-sparse-arrays\": \"error\",\n\t\t\t\t\"jsonc/no-template-literals\": \"error\",\n\t\t\t\t\"jsonc/no-undefined-value\": \"error\",\n\t\t\t\t\"jsonc/no-unicode-codepoint-escapes\": \"error\",\n\t\t\t\t\"jsonc/no-useless-escape\": \"error\",\n\t\t\t\t\"jsonc/space-unary-ops\": \"error\",\n\t\t\t\t\"jsonc/valid-json-number\": \"error\",\n\t\t\t\t\"jsonc/vue-custom-block/no-parsing-error\": \"error\",\n\n\t\t\t\t...(stylistic && {\n\t\t\t\t\t\"jsonc/array-bracket-spacing\": [\"error\", \"never\"],\n\t\t\t\t\t\"jsonc/comma-dangle\": [\"error\", \"never\"],\n\t\t\t\t\t\"jsonc/comma-style\": [\"error\", \"last\"],\n\t\t\t\t\t\"jsonc/key-spacing\": [\"error\", { afterColon: true, beforeColon: false }],\n\t\t\t\t\t\"jsonc/object-curly-newline\": [\"error\", { consistent: true, multiline: true }],\n\t\t\t\t\t\"jsonc/object-curly-spacing\": [\"error\", \"always\"],\n\t\t\t\t\t\"jsonc/object-property-newline\": [\"error\", { allowMultiplePropertiesPerLine: true }],\n\t\t\t\t\t\"jsonc/quote-props\": \"error\",\n\t\t\t\t\t\"jsonc/quotes\": \"error\",\n\t\t\t\t}),\n\t\t\t},\n\t\t},\n\n\t\tcreateOverrideRules({\n\t\t\tconfigName: \"jsonc\",\n\t\t\tfiles,\n\t\t\toverrides,\n\t\t}),\n\t];\n};\n\nexport { jsonc };\n","import type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"@/types\";\nimport { createOverrideRules, interopDefault } from \"@/utils\";\n\nconst jsdoc = async (\n\toptions: ExtractOptions<OptionsConfig[\"jsdoc\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { overrides, stylistic = true } = options;\n\n\tconst eslintPluginJsdoc = await interopDefault(import(\"eslint-plugin-jsdoc\"));\n\n\treturn [\n\t\t{\n\t\t\tname: \"zayne/jsdoc/rules\",\n\n\t\t\tplugins: {\n\t\t\t\tjsdoc: eslintPluginJsdoc,\n\t\t\t},\n\n\t\t\trules: {\n\t\t\t\t\"jsdoc/check-access\": \"warn\",\n\t\t\t\t\"jsdoc/check-param-names\": \"warn\",\n\t\t\t\t\"jsdoc/check-property-names\": \"warn\",\n\t\t\t\t\"jsdoc/check-types\": \"warn\",\n\t\t\t\t\"jsdoc/empty-tags\": \"warn\",\n\t\t\t\t\"jsdoc/implements-on-classes\": \"warn\",\n\t\t\t\t\"jsdoc/no-defaults\": \"warn\",\n\t\t\t\t\"jsdoc/no-multi-asterisks\": \"warn\",\n\t\t\t\t\"jsdoc/require-description\": [\"warn\", { descriptionStyle: \"any\" }],\n\t\t\t\t\"jsdoc/require-param-name\": \"warn\",\n\t\t\t\t\"jsdoc/require-property\": \"warn\",\n\t\t\t\t\"jsdoc/require-property-description\": \"warn\",\n\t\t\t\t\"jsdoc/require-property-name\": \"warn\",\n\t\t\t\t\"jsdoc/require-returns-check\": \"warn\",\n\t\t\t\t\"jsdoc/require-returns-description\": \"warn\",\n\t\t\t\t\"jsdoc/require-yields-check\": \"warn\",\n\n\t\t\t\t...(stylistic && {\n\t\t\t\t\t\"jsdoc/check-alignment\": \"warn\",\n\t\t\t\t\t\"jsdoc/multiline-blocks\": \"warn\",\n\t\t\t\t\t\"jsdoc/require-description\": [\"warn\", { descriptionStyle: \"tag\" }],\n\t\t\t\t}),\n\t\t\t},\n\t\t},\n\n\t\tcreateOverrideRules({\n\t\t\tconfigName: \"jsdoc\",\n\t\t\toverrides,\n\t\t}),\n\t];\n};\n\nexport { jsdoc };\n","import { defineEnum } from \"@zayne-labs/toolkit-type-helpers\";\n\nexport const defaultPluginRenameMap = defineEnum({\n\t\"@eslint-react/debug\": \"react-debug\",\n\t\"@eslint-react/dom\": \"react-dom\",\n\t\"@eslint-react/hooks-extra\": \"react-hooks-extra\",\n\t\"@eslint-react/naming-convention\": \"react-naming-convention\",\n\t\"@eslint-react/web-api\": \"react-web-api\",\n\t/* eslint-disable perfectionist/sort-objects -- @eslint-react has to be below the rest to avoid plugin rename issues */\n\t\"@eslint-react\": \"react\",\n\t/* eslint-enable perfectionist/sort-objects -- @eslint-react has to be below the rest to avoid plugin rename issues */\n\n\t\"@next/next\": \"nextjs-next\",\n\n\t\"@stylistic\": \"stylistic\",\n\n\t\"@tanstack/query\": \"tanstack-query\",\n\n\t\"@typescript-eslint\": \"ts-eslint\",\n\n\t\"import-x\": \"import\",\n\n\tn: \"node\",\n});\n","import { defaultPluginRenameMap } from \"@/constants\";\nimport { GLOB_SRC } from \"@/globs\";\nimport type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"@/types\";\nimport { createOverrideRules, ensurePackages, interopDefault, renamePlugins, renameRules } from \"@/utils\";\nimport { fixupPluginRules } from \"@eslint/compat\";\nimport { defineConfig } from \"eslint/config\";\nimport { isPackageExists } from \"local-pkg\";\n\n// react refresh\nconst ReactRefreshAllowConstantExportPackages = [\"vite\"];\nconst RemixPackages = [\"@remix-run/node\", \"@remix-run/react\", \"@remix-run/serve\", \"@remix-run/dev\"];\nconst NextJsPackages = [\"next\"];\n\nconst isAllowConstantExport = ReactRefreshAllowConstantExportPackages.some((i) => isPackageExists(i));\nconst isUsingRemix = RemixPackages.some((i) => isPackageExists(i));\nconst isUsingNext = NextJsPackages.some((i) => isPackageExists(i));\n\nconst react = async (\n\toptions: ExtractOptions<OptionsConfig[\"react\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst {\n\t\tcompiler = false,\n\t\tfiles = [GLOB_SRC],\n\t\tnextjs = isUsingNext,\n\t\toverrides,\n\t\trefresh = true,\n\t\ttypescript = true,\n\t} = options;\n\n\tawait ensurePackages([\n\t\t\"@eslint-react/eslint-plugin\",\n\t\t\"eslint-plugin-react-hooks\",\n\t\t...(refresh ? [\"eslint-plugin-react-refresh\"] : []),\n\t\t...(compiler ? [\"eslint-plugin-react-compiler\"] : []),\n\t\t...(nextjs ? [\"@next/eslint-plugin-next\"] : []),\n\t]);\n\n\tconst [eslintPluginReact, eslintReactHooks, eslintPluginReactRefresh] = await Promise.all([\n\t\tinteropDefault(import(\"@eslint-react/eslint-plugin\")),\n\t\tinteropDefault(import(\"eslint-plugin-react-hooks\")),\n\t\t...(refresh ? [interopDefault(import(\"eslint-plugin-react-refresh\"))] : []),\n\t]);\n\n\tconst eslintPluginReactCompiler =\n\t\tcompiler && (await interopDefault(import(\"eslint-plugin-react-compiler\")));\n\n\tconst eslintPluginNextjs = nextjs && (await interopDefault(import(\"@next/eslint-plugin-next\")));\n\n\t// prettier-ignore\n\tconst recommendedReactConfig = eslintPluginReact.configs[typescript ? \"recommended-type-checked\" : \"recommended\"];\n\n\tconst config: TypedFlatConfigItem[] = [\n\t\t{\n\t\t\tlanguageOptions: {\n\t\t\t\tparserOptions: {\n\t\t\t\t\tecmaFeatures: {\n\t\t\t\t\t\tjsx: true,\n\t\t\t\t\t},\n\t\t\t\t\tsourceType: \"module\",\n\n\t\t\t\t\t...(typescript && { parser: await interopDefault(import(\"@typescript-eslint/parser\")) }),\n\t\t\t\t},\n\t\t\t},\n\n\t\t\tname: \"zayne/react/setup\",\n\n\t\t\tplugins: {\n\t\t\t\t...renamePlugins(recommendedReactConfig.plugins, defaultPluginRenameMap),\n\t\t\t\t\"react-hooks\": eslintReactHooks,\n\t\t\t},\n\n\t\t\tsettings: recommendedReactConfig.settings,\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tname: \"zayne/react/recommended\",\n\n\t\t\trules: renameRules(recommendedReactConfig.rules, defaultPluginRenameMap),\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tname: \"zayne/react/rules\",\n\n\t\t\trules: {\n\t\t\t\t// Hook Extra rules\n\t\t\t\t\"react-hooks-extra/ensure-custom-hooks-using-other-hooks\": \"error\",\n\t\t\t\t\"react-hooks-extra/no-unnecessary-use-callback\": \"warn\",\n\t\t\t\t\"react-hooks-extra/no-unnecessary-use-memo\": \"warn\",\n\t\t\t\t\"react-hooks-extra/prefer-use-state-lazy-initialization\": \"error\",\n\n\t\t\t\t// Hook rules\n\t\t\t\t\"react-hooks/exhaustive-deps\": \"warn\",\n\t\t\t\t\"react-hooks/rules-of-hooks\": \"error\",\n\n\t\t\t\t// Naming convention rules\n\t\t\t\t\"react-naming-convention/component-name\": \"warn\",\n\t\t\t\t\"react-naming-convention/use-state\": \"off\",\n\n\t\t\t\t// Regular React rules\n\t\t\t\t\"react/avoid-shorthand-boolean\": \"error\",\n\t\t\t\t\"react/function-component-definition\": \"off\",\n\t\t\t\t\"react/no-array-index-key\": \"error\",\n\t\t\t\t\"react/no-children-count\": \"off\",\n\t\t\t\t\"react/no-children-only\": \"off\",\n\t\t\t\t\"react/no-children-prop\": \"error\",\n\t\t\t\t\"react/no-clone-element\": \"off\",\n\t\t\t\t\"react/no-complex-conditional-rendering\": \"warn\",\n\t\t\t\t\"react/no-missing-component-display-name\": \"error\",\n\t\t\t\t\"react/no-useless-fragment\": \"error\",\n\t\t\t\t\"react/prefer-destructuring-assignment\": \"error\",\n\t\t\t\t\"react/prefer-read-only-props\": \"off\",\n\t\t\t\t\"react/prefer-shorthand-fragment\": \"error\",\n\t\t\t},\n\t\t},\n\t];\n\n\tif (refresh && eslintPluginReactRefresh) {\n\t\tconfig.push({\n\t\t\tfiles,\n\n\t\t\tname: \"zayne/react/refresh\",\n\n\t\t\tplugins: {\n\t\t\t\t\"react-refresh\": eslintPluginReactRefresh,\n\t\t\t},\n\n\t\t\trules: {\n\t\t\t\t\"react-refresh/only-export-components\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\tallowConstantExport: isAllowConstantExport,\n\t\t\t\t\t\tallowExportNames: [\n\t\t\t\t\t\t\t...(isUsingNext\n\t\t\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t\t\t\"dynamic\",\n\t\t\t\t\t\t\t\t\t\t\"dynamicParams\",\n\t\t\t\t\t\t\t\t\t\t\"revalidate\",\n\t\t\t\t\t\t\t\t\t\t\"fetchCache\",\n\t\t\t\t\t\t\t\t\t\t\"runtime\",\n\t\t\t\t\t\t\t\t\t\t\"preferredRegion\",\n\t\t\t\t\t\t\t\t\t\t\"maxDuration\",\n\t\t\t\t\t\t\t\t\t\t\"config\",\n\t\t\t\t\t\t\t\t\t\t\"generateStaticParams\",\n\t\t\t\t\t\t\t\t\t\t\"metadata\",\n\t\t\t\t\t\t\t\t\t\t\"generateMetadata\",\n\t\t\t\t\t\t\t\t\t\t\"viewport\",\n\t\t\t\t\t\t\t\t\t\t\"generateViewport\",\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t: []),\n\t\t\t\t\t\t\t...(isUsingRemix ? [\"meta\", \"links\", \"headers\", \"loader\", \"action\"] : []),\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t});\n\t}\n\n\tif (compiler && eslintPluginReactCompiler) {\n\t\tconfig.push({\n\t\t\tfiles,\n\n\t\t\tname: \"zayne/react/compiler\",\n\n\t\t\tplugins: {\n\t\t\t\t\"react-compiler\": eslintPluginReactCompiler,\n\t\t\t},\n\n\t\t\trules: {\n\t\t\t\t\"react-compiler/react-compiler\": \"error\",\n\t\t\t},\n\t\t});\n\t}\n\n\tif (nextjs && eslintPluginNextjs) {\n\t\tconfig.push({\n\t\t\tfiles,\n\n\t\t\tname: \"zayne/react/nextjs\",\n\n\t\t\tplugins: {\n\t\t\t\t\"nextjs-next\": fixupPluginRules(eslintPluginNextjs),\n\t\t\t},\n\n\t\t\trules: renameRules(\n\t\t\t\t// eslint-disable-next-line ts-eslint/no-unsafe-argument -- missing types\n\t\t\t\t{\n\t\t\t\t\t// @ts-expect-error -- missing types\n\t\t\t\t\t// eslint-disable-next-line ts-eslint/no-unsafe-member-access -- missing types\n\t\t\t\t\t...eslintPluginNextjs.configs?.recommended?.rules,\n\n\t\t\t\t\t// @ts-expect-error -- missing types\n\t\t\t\t\t// eslint-disable-next-line ts-eslint/no-unsafe-member-access -- missing types\n\t\t\t\t\t...eslintPluginNextjs.configs?.[\"core-web-vitals\"]?.rules,\n\t\t\t\t},\n\t\t\t\tdefaultPluginRenameMap\n\t\t\t),\n\t\t});\n\t}\n\n\treturn defineConfig([config, createOverrideRules({ configName: \"react\", files, overrides })]);\n};\n\nexport { react };\n","import type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"@/types\";\nimport { createOverrideRules, ensurePackages, interopDefault, renameRules } from \"@/utils\";\nimport { defineConfig } from \"eslint/config\";\nimport { defaultPluginRenameMap } from \"../constants\";\n\nconst tanstack = async (\n\toptions: ExtractOptions<OptionsConfig[\"tanstack\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { overrides, query = true } = options;\n\n\tconst config: TypedFlatConfigItem[] = [];\n\n\tawait ensurePackages([...(query ? [\"@tanstack/eslint-plugin-query\"] : [])]);\n\n\tconst [eslintPluginTanstackQuery] = await Promise.all(\n\t\tquery ? [interopDefault(import(\"@tanstack/eslint-plugin-query\"))] : []\n\t);\n\n\tif (query && eslintPluginTanstackQuery) {\n\t\tconfig.push({\n\t\t\tname: \"zayne/tanstack-query/recommended\",\n\n\t\t\tplugins: {\n\t\t\t\t\"tanstack-query\": eslintPluginTanstackQuery,\n\t\t\t},\n\n\t\t\trules: renameRules(\n\t\t\t\teslintPluginTanstackQuery.configs[\"flat/recommended\"][0]?.rules,\n\t\t\t\tdefaultPluginRenameMap\n\t\t\t),\n\t\t});\n\t}\n\n\treturn defineConfig([\n\t\tconfig,\n\n\t\tcreateOverrideRules({\n\t\t\tconfigName: \"tanstack\",\n\t\t\toverrides,\n\t\t}),\n\t]);\n};\n\nexport { tanstack };\n","import type { TypedFlatConfigItem } from \"@/types\";\n\n/**\n * @description - Sort package.json\n *\n * Requires `jsonc` config\n */\nexport const sortPackageJson = (): TypedFlatConfigItem[] => [\n\t{\n\t\tfiles: [\"**/package.json\"],\n\n\t\tname: \"zayne/sort/package.json\",\n\n\t\trules: {\n\t\t\t\"jsonc/sort-array-values\": [\n\t\t\t\t\"error\",\n\t\t\t\t{\n\t\t\t\t\torder: { type: \"asc\" },\n\t\t\t\t\tpathPattern: \"^files$\",\n\t\t\t\t},\n\t\t\t],\n\t\t\t\"jsonc/sort-keys\": [\n\t\t\t\t\"error\",\n\t\t\t\t{\n\t\t\t\t\torder: [\n\t\t\t\t\t\t\"publisher\",\n\t\t\t\t\t\t\"name\",\n\t\t\t\t\t\t\"displayName\",\n\t\t\t\t\t\t\"type\",\n\t\t\t\t\t\t\"version\",\n\t\t\t\t\t\t\"private\",\n\t\t\t\t\t\t\"packageManager\",\n\t\t\t\t\t\t\"description\",\n\t\t\t\t\t\t\"author\",\n\t\t\t\t\t\t\"contributors\",\n\t\t\t\t\t\t\"license\",\n\t\t\t\t\t\t\"funding\",\n\t\t\t\t\t\t\"homepage\",\n\t\t\t\t\t\t\"repository\",\n\t\t\t\t\t\t\"bugs\",\n\t\t\t\t\t\t\"keywords\",\n\t\t\t\t\t\t\"categories\",\n\t\t\t\t\t\t\"sideEffects\",\n\t\t\t\t\t\t\"exports\",\n\t\t\t\t\t\t\"main\",\n\t\t\t\t\t\t\"module\",\n\t\t\t\t\t\t\"unpkg\",\n\t\t\t\t\t\t\"jsdelivr\",\n\t\t\t\t\t\t\"types\",\n\t\t\t\t\t\t\"typesVersions\",\n\t\t\t\t\t\t\"bin\",\n\t\t\t\t\t\t\"icon\",\n\t\t\t\t\t\t\"files\",\n\t\t\t\t\t\t\"engines\",\n\t\t\t\t\t\t\"activationEvents\",\n\t\t\t\t\t\t\"contributes\",\n\t\t\t\t\t\t\"scripts\",\n\t\t\t\t\t\t\"peerDependencies\",\n\t\t\t\t\t\t\"peerDependenciesMeta\",\n\t\t\t\t\t\t\"dependencies\",\n\t\t\t\t\t\t\"optionalDependencies\",\n\t\t\t\t\t\t\"devDependencies\",\n\t\t\t\t\t\t\"pnpm\",\n\t\t\t\t\t\t\"overrides\",\n\t\t\t\t\t\t\"resolutions\",\n\t\t\t\t\t\t\"husky\",\n\t\t\t\t\t\t\"simple-git-hooks\",\n\t\t\t\t\t\t\"lint-staged\",\n\t\t\t\t\t\t\"eslintConfig\",\n\t\t\t\t\t],\n\t\t\t\t\tpathPattern: \"^$\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\torder: { type: \"asc\" },\n\t\t\t\t\tpathPattern: \"^(?:dev|peer|optional|bundled)?[Dd]ependencies(Meta)?$\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\torder: { type: \"asc\" },\n\t\t\t\t\tpathPattern: \"scripts\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\torder: { type: \"asc\" },\n\t\t\t\t\tpathPattern: \"^(?:resolutions|overrides|pnpm.overrides)$\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\torder: [\"types\", \"import\", \"require\", \"default\"],\n\t\t\t\t\tpathPattern: \"^exports.*$\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\torder: [\n\t\t\t\t\t\t// client hooks only\n\t\t\t\t\t\t\"pre-commit\",\n\t\t\t\t\t\t\"prepare-commit-msg\",\n\t\t\t\t\t\t\"commit-msg\",\n\t\t\t\t\t\t\"post-commit\",\n\t\t\t\t\t\t\"pre-rebase\",\n\t\t\t\t\t\t\"post-rewrite\",\n\t\t\t\t\t\t\"post-checkout\",\n\t\t\t\t\t\t\"post-merge\",\n\t\t\t\t\t\t\"pre-push\",\n\t\t\t\t\t\t\"pre-auto-gc\",\n\t\t\t\t\t],\n\t\t\t\t\tpathPattern: \"^(?:gitHooks|husky|simple-git-hooks)$\",\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t},\n];\n\n/**\n * Sort tsconfig.json\n *\n * Requires `jsonc` config\n */\n\nexport const sortTsconfig = (): TypedFlatConfigItem[] => [\n\t{\n\t\tfiles: [\"**/tsconfig.json\", \"**/tsconfig.*.json\"],\n\n\t\tname: \"zayne/sort/tsconfig.json\",\n\n\t\trules: {\n\t\t\t\"jsonc/sort-keys\": [\n\t\t\t\t\"error\",\n\t\t\t\t{\n\t\t\t\t\torder: [\"extends\", \"compilerOptions\", \"references\", \"files\", \"include\", \"exclude\"],\n\t\t\t\t\tpathPattern: \"^$\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\torder: [\n\t\t\t\t\t\t/* Projects */\n\t\t\t\t\t\t\"incremental\",\n\t\t\t\t\t\t\"composite\",\n\t\t\t\t\t\t\"tsBuildInfoFile\",\n\t\t\t\t\t\t\"disableSourceOfProjectReferenceRedirect\",\n\t\t\t\t\t\t\"disableSolutionSearching\",\n\t\t\t\t\t\t\"disableReferencedProjectLoad\",\n\t\t\t\t\t\t/* Language and Environment */\n\t\t\t\t\t\t\"target\",\n\t\t\t\t\t\t\"jsx\",\n\t\t\t\t\t\t\"jsxFactory\",\n\t\t\t\t\t\t\"jsxFragmentFactory\",\n\t\t\t\t\t\t\"jsxImportSource\",\n\t\t\t\t\t\t\"lib\",\n\t\t\t\t\t\t\"moduleDetection\",\n\t\t\t\t\t\t\"noLib\",\n\t\t\t\t\t\t\"reactNamespace\",\n\t\t\t\t\t\t\"useDefineForClassFields\",\n\t\t\t\t\t\t\"emitDecoratorMetadata\",\n\t\t\t\t\t\t\"experimentalDecorators\",\n\t\t\t\t\t\t/* Modules */\n\t\t\t\t\t\t\"baseUrl\",\n\t\t\t\t\t\t\"rootDir\",\n\t\t\t\t\t\t\"rootDirs\",\n\t\t\t\t\t\t\"customConditions\",\n\t\t\t\t\t\t\"module\",\n\t\t\t\t\t\t\"moduleResolution\",\n\t\t\t\t\t\t\"moduleSuffixes\",\n\t\t\t\t\t\t\"noResolve\",\n\t\t\t\t\t\t\"paths\",\n\t\t\t\t\t\t\"resolveJsonModule\",\n\t\t\t\t\t\t\"resolvePackageJsonExports\",\n\t\t\t\t\t\t\"resolvePackageJsonImports\",\n\t\t\t\t\t\t\"typeRoots\",\n\t\t\t\t\t\t\"types\",\n\t\t\t\t\t\t\"allowArbitraryExtensions\",\n\t\t\t\t\t\t\"allowImportingTsExtensions\",\n\t\t\t\t\t\t\"allowUmdGlobalAccess\",\n\t\t\t\t\t\t/* JavaScript Support */\n\t\t\t\t\t\t\"allowJs\",\n\t\t\t\t\t\t\"checkJs\",\n\t\t\t\t\t\t\"maxNodeModuleJsDepth\",\n\t\t\t\t\t\t/* Type Checking */\n\t\t\t\t\t\t\"strict\",\n\t\t\t\t\t\t\"strictBindCallApply\",\n\t\t\t\t\t\t\"strictFunctionTypes\",\n\t\t\t\t\t\t\"strictNullChecks\",\n\t\t\t\t\t\t\"strictPropertyInitialization\",\n\t\t\t\t\t\t\"allowUnreachableCode\",\n\t\t\t\t\t\t\"allowUnusedLabels\",\n\t\t\t\t\t\t\"alwaysStrict\",\n\t\t\t\t\t\t\"exactOptionalPropertyTypes\",\n\t\t\t\t\t\t\"noFallthroughCasesInSwitch\",\n\t\t\t\t\t\t\"noImplicitAny\",\n\t\t\t\t\t\t\"noImplicitOverride\",\n\t\t\t\t\t\t\"noImplicitReturns\",\n\t\t\t\t\t\t\"noImplicitThis\",\n\t\t\t\t\t\t\"noPropertyAccessFromIndexSignature\",\n\t\t\t\t\t\t\"noUncheckedIndexedAccess\",\n\t\t\t\t\t\t\"noUnusedLocals\",\n\t\t\t\t\t\t\"noUnusedParameters\",\n\t\t\t\t\t\t\"useUnknownInCatchVariables\",\n\t\t\t\t\t\t/* Emit */\n\t\t\t\t\t\t\"declaration\",\n\t\t\t\t\t\t\"declarationDir\",\n\t\t\t\t\t\t\"declarationMap\",\n\t\t\t\t\t\t\"downlevelIteration\",\n\t\t\t\t\t\t\"emitBOM\",\n\t\t\t\t\t\t\"emitDeclarationOnly\",\n\t\t\t\t\t\t\"importHelpers\",\n\t\t\t\t\t\t\"importsNotUsedAsValues\",\n\t\t\t\t\t\t\"inlineSourceMap\",\n\t\t\t\t\t\t\"inlineSources\",\n\t\t\t\t\t\t\"mapRoot\",\n\t\t\t\t\t\t\"newLine\",\n\t\t\t\t\t\t\"noEmit\",\n\t\t\t\t\t\t\"noEmitHelpers\",\n\t\t\t\t\t\t\"noEmitOnError\",\n\t\t\t\t\t\t\"outDir\",\n\t\t\t\t\t\t\"outFile\",\n\t\t\t\t\t\t\"preserveConstEnums\",\n\t\t\t\t\t\t\"preserveValueImports\",\n\t\t\t\t\t\t\"removeComments\",\n\t\t\t\t\t\t\"sourceMap\",\n\t\t\t\t\t\t\"sourceRoot\",\n\t\t\t\t\t\t\"stripInternal\",\n\t\t\t\t\t\t/* Interop Constraints */\n\t\t\t\t\t\t\"allowSyntheticDefaultImports\",\n\t\t\t\t\t\t\"esModuleInterop\",\n\t\t\t\t\t\t\"forceConsistentCasingInFileNames\",\n\t\t\t\t\t\t\"isolatedDeclarations\",\n\t\t\t\t\t\t\"isolatedModules\",\n\t\t\t\t\t\t\"preserveSymlinks\",\n\t\t\t\t\t\t\"verbatimModuleSyntax\",\n\t\t\t\t\t\t/* Completeness */\n\t\t\t\t\t\t\"skipDefaultLibCheck\",\n\t\t\t\t\t\t\"skipLibCheck\",\n\t\t\t\t\t],\n\t\t\t\t\tpathPattern: \"^compilerOptions$\",\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t},\n];\n","import type { OptionsAppType, OptionsNode, OptionsOverrides, TypedFlatConfigItem } from \"@/types\";\nimport { createOverrideRules, interopDefault, renameRules } from \"@/utils\";\n\nexport const node = async (\n\toptions: OptionsAppType & OptionsNode & OptionsOverrides = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { overrides, security = false, type = \"app\" } = options;\n\n\tconst eslintPluginNode = await interopDefault(import(\"eslint-plugin-n\"));\n\tconst eslintPluginSecurity = await interopDefault(import(\"eslint-plugin-security\"));\n\n\treturn [\n\t\t{\n\t\t\tname: \"zayne/node/setup\",\n\t\t\tplugins: {\n\t\t\t\tnode: eslintPluginNode,\n\t\t\t\t...(security && { security: eslintPluginSecurity }),\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\tname: \"zayne/node/recommended\",\n\t\t\trules: {\n\t\t\t\t...renameRules(eslintPluginNode.configs[\"flat/recommended-module\"].rules, { n: \"node\" }),\n\t\t\t\t...(security && eslintPluginSecurity.configs.recommended.rules),\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\tname: \"zayne/node/rules\",\n\n\t\t\trules: {\n\t\t\t\t\"node/no-deprecated-api\": \"error\",\n\t\t\t\t\"node/no-exports-assign\": \"error\",\n\t\t\t\t\"node/no-extraneous-import\": \"off\", // eslint-plugin-import-x handles this\n\t\t\t\t\"node/no-missing-import\": \"off\",\n\t\t\t\t\"node/no-path-concat\": \"error\",\n\t\t\t\t\"node/no-unpublished-import\": \"off\",\n\t\t\t\t\"node/process-exit-as-throw\": \"error\",\n\n\t\t\t\t...(type === \"lib-strict\"\n\t\t\t\t\t? {\n\t\t\t\t\t\t\t\"node/no-unsupported-features/es-syntax\": \"error\",\n\t\t\t\t\t\t\t\"node/no-unsupported-features/node-builtins\": \"error\",\n\t\t\t\t\t\t}\n\t\t\t\t\t: {\n\t\t\t\t\t\t\t\"node/no-unsupported-features/es-syntax\": \"off\",\n\t\t\t\t\t\t\t\"node/no-unsupported-features/node-builtins\": \"off\",\n\t\t\t\t\t\t}),\n\t\t\t},\n\t\t},\n\n\t\tcreateOverrideRules({\n\t\t\tconfigName: \"node\",\n\t\t\toverrides,\n\t\t}),\n\t];\n};\n","import { createOverrideRules, interopDefault } from \"@/utils\";\nimport type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\n\nexport const comments = async (\n\toptions: ExtractOptions<OptionsConfig[\"comments\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { overrides, type = \"app\" } = options;\n\n\tconst eslintPluginComments = await interopDefault(\n\t\timport(\"@eslint-community/eslint-plugin-eslint-comments\")\n\t);\n\n\treturn [\n\t\t{\n\t\t\tname: \"zayne/eslint-comments/rules\",\n\t\t\tplugins: {\n\t\t\t\t\"eslint-comments\": eslintPluginComments,\n\t\t\t},\n\n\t\t\trules: {\n\t\t\t\t\"eslint-comments/disable-enable-pair\": [\"error\", { allowWholeFile: true }],\n\t\t\t\t\"eslint-comments/no-aggregating-enable\": \"error\",\n\t\t\t\t\"eslint-comments/no-duplicate-disable\": \"error\",\n\t\t\t\t\"eslint-comments/no-unlimited-disable\": \"error\",\n\t\t\t\t\"eslint-comments/no-unused-enable\": \"error\",\n\n\t\t\t\t...(type !== \"app\" && {\n\t\t\t\t\t\"eslint-comments/require-description\": \"warn\",\n\t\t\t\t}),\n\t\t\t},\n\t\t},\n\n\t\tcreateOverrideRules({ configName: \"comments\", overrides }),\n\t];\n};\n","import { GLOB_TOML } from \"../globs\";\nimport type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\nimport { createOverrideRules, interopDefault } from \"../utils\";\n\nexport const toml = async (\n\toptions: ExtractOptions<OptionsConfig[\"toml\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { files = [GLOB_TOML], overrides, stylistic = true } = options;\n\n\tconst [pluginToml, parserToml] = await Promise.all([\n\t\tinteropDefault(import(\"eslint-plugin-toml\")),\n\t\tinteropDefault(import(\"toml-eslint-parser\")),\n\t]);\n\n\treturn [\n\t\t{\n\t\t\tname: \"zayne/toml/setup\",\n\n\t\t\tplugins: {\n\t\t\t\ttoml: pluginToml,\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tlanguageOptions: {\n\t\t\t\tparser: parserToml,\n\t\t\t},\n\n\t\t\tname: \"zayne/toml/rules\",\n\n\t\t\trules: {\n\t\t\t\t\"style/spaced-comment\": \"off\",\n\n\t\t\t\t\"toml/comma-style\": \"error\",\n\t\t\t\t\"toml/keys-order\": \"error\",\n\t\t\t\t\"toml/no-space-dots\": \"error\",\n\t\t\t\t\"toml/no-unreadable-number-separator\": \"error\",\n\t\t\t\t\"toml/precision-of-fractional-seconds\": \"error\",\n\t\t\t\t\"toml/precision-of-integer\": \"error\",\n\t\t\t\t\"toml/tables-order\": \"error\",\n\n\t\t\t\t\"toml/vue-custom-block/no-parsing-error\": \"error\",\n\n\t\t\t\t...(stylistic && {\n\t\t\t\t\t\"toml/array-bracket-newline\": \"error\",\n\t\t\t\t\t\"toml/array-bracket-spacing\": \"error\",\n\t\t\t\t\t\"toml/array-element-newline\": \"error\",\n\t\t\t\t\t// \"toml/indent\": [\"error\", indent],\n\t\t\t\t\t\"toml/inline-table-curly-spacing\": \"error\",\n\t\t\t\t\t\"toml/key-spacing\": \"error\",\n\t\t\t\t\t\"toml/padding-line-between-pairs\": \"error\",\n\t\t\t\t\t\"toml/padding-line-between-tables\": \"error\",\n\t\t\t\t\t\"toml/quoted-keys\": \"error\",\n\t\t\t\t\t\"toml/spaced-comment\": \"error\",\n\t\t\t\t\t\"toml/table-bracket-spacing\": \"error\",\n\t\t\t\t}),\n\t\t\t},\n\t\t},\n\n\t\tcreateOverrideRules({\n\t\t\tconfigName: \"toml\",\n\t\t\tfiles,\n\t\t\toverrides,\n\t\t}),\n\t];\n};\n","import { GLOB_YAML } from \"../globs\";\nimport type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\nimport { createOverrideRules, interopDefault } from \"../utils\";\n\nexport const yaml = async (\n\toptions: ExtractOptions<OptionsConfig[\"yaml\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { files = [GLOB_YAML], overrides, stylistic = true } = options;\n\n\tconst [pluginYaml, parserYaml] = await Promise.all([\n\t\tinteropDefault(import(\"eslint-plugin-yml\")),\n\t\tinteropDefault(import(\"yaml-eslint-parser\")),\n\t]);\n\n\treturn [\n\t\t{\n\t\t\tname: \"zayne/yaml/setup\",\n\t\t\tplugins: {\n\t\t\t\tyaml: pluginYaml,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tfiles,\n\n\t\t\tlanguageOptions: {\n\t\t\t\tparser: parserYaml,\n\t\t\t},\n\n\t\t\tname: \"zayne/yaml/rules\",\n\n\t\t\trules: {\n\t\t\t\t\"yaml/block-mapping\": \"error\",\n\t\t\t\t\"yaml/block-sequence\": \"error\",\n\t\t\t\t\"yaml/no-empty-key\": \"error\",\n\t\t\t\t\"yaml/no-empty-sequence-entry\": \"error\",\n\t\t\t\t\"yaml/no-irregular-whitespace\": \"error\",\n\t\t\t\t\"yaml/plain-scalar\": \"error\",\n\n\t\t\t\t\"yaml/vue-custom-block/no-parsing-error\": \"error\",\n\n\t\t\t\t...(stylistic && {\n\t\t\t\t\t\"yaml/block-mapping-question-indicator-newline\": \"error\",\n\t\t\t\t\t\"yaml/block-sequence-hyphen-indicator-newline\": \"error\",\n\t\t\t\t\t\"yaml/flow-mapping-curly-newline\": \"error\",\n\t\t\t\t\t\"yaml/flow-mapping-curly-spacing\": \"error\",\n\t\t\t\t\t\"yaml/flow-sequence-bracket-newline\": \"error\",\n\t\t\t\t\t\"yaml/flow-sequence-bracket-spacing\": \"error\",\n\t\t\t\t\t// \"yaml/indent\": [\"error\", indent],\n\t\t\t\t\t\"yaml/key-spacing\": \"error\",\n\t\t\t\t\t\"yaml/no-tab-indent\": \"error\",\n\t\t\t\t\t// \"yaml/quotes\": [\n\t\t\t\t\t// \t\"error\",\n\t\t\t\t\t// \t{ avoidEscape: true, prefer: quotes === \"backtick\" ? \"double\" : quotes },\n\t\t\t\t\t// ],\n\t\t\t\t\t\"yaml/spaced-comment\": \"error\",\n\t\t\t\t}),\n\n\t\t\t\t\"stylistic/spaced-comment\": \"off\",\n\t\t\t},\n\t\t},\n\n\t\tcreateOverrideRules({ configName: \"yaml\", files, overrides }),\n\t];\n};\n","import type { Linter } from \"eslint\";\nimport { mergeProcessors } from \"eslint-merge-processors\";\nimport { GLOB_VUE } from \"../globs\";\nimport type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\nimport { createOverrideRules, ensurePackages, interopDefault, resolveOptions } from \"../utils\";\n\nexport async function vue(\n\toptions: ExtractOptions<OptionsConfig[\"vue\"]> = {}\n): Promise<TypedFlatConfigItem[]> {\n\tconst {\n\t\tfiles = [GLOB_VUE],\n\t\toverrides,\n\t\tsfcBlocks = true,\n\t\tstylistic = true,\n\t\ttypescript = true,\n\t\tvueVersion = 3,\n\t} = options;\n\n\tawait ensurePackages([\n\t\t\"eslint-plugin-vue\",\n\t\t\"vue-eslint-parser\",\n\t\t...(sfcBlocks ? [\"eslint-processor-vue-blocks\"] : []),\n\t]);\n\n\tconst [pluginVue, parserVue, processorVueBlocks] = await Promise.all([\n\t\tinteropDefault(import(\"eslint-plugin-vue\")),\n\t\tinteropDefault(import(\"vue-eslint-parser\")),\n\t\t...(sfcBlocks ? [interopDefault(import(\"eslint-processor-vue-blocks\"))] : []),\n\t]);\n\n\treturn [\n\t\t{\n\t\t\tlanguageOptions: {\n\t\t\t\t/**\n\t\t\t\t * This allows Vue plugin to work with auto imports\n\t\t\t\t * @see https://github.com/vuejs/eslint-plugin-vue/pull/2422\n\t\t\t\t */\n\t\t\t\tglobals: {\n\t\t\t\t\tcomputed: \"readonly\",\n\t\t\t\t\tdefineEmits: \"readonly\",\n\t\t\t\t\tdefineExpose: \"readonly\",\n\t\t\t\t\tdefineProps: \"readonly\",\n\t\t\t\t\tonMounted: \"readonly\",\n\t\t\t\t\tonUnmounted: \"readonly\",\n\t\t\t\t\treactive: \"readonly\",\n\t\t\t\t\tref: \"readonly\",\n\t\t\t\t\tshallowReactive: \"readonly\",\n\t\t\t\t\tshallowRef: \"readonly\",\n\t\t\t\t\ttoRef: \"readonly\",\n\t\t\t\t\ttoRefs: \"readonly\",\n\t\t\t\t\twatch: \"readonly\",\n\t\t\t\t\twatchEffect: \"readonly\",\n\t\t\t\t},\n\n\t\t\t\tparser: parserVue,\n\n\t\t\t\tparserOptions: {\n\t\t\t\t\tecmaFeatures: {\n\t\t\t\t\t\tjsx: true,\n\t\t\t\t\t},\n\t\t\t\t\textraFileExtensions: [\".vue\"],\n\t\t\t\t\tsourceType: \"module\",\n\n\t\t\t\t\t...(typescript && { parser: await interopDefault(import(\"@typescript-eslint/parser\")) }),\n\t\t\t\t},\n\t\t\t},\n\n\t\t\tname: \"zayne/vue/setup\",\n\n\t\t\tplugins: {\n\t\t\t\tvue: pluginVue,\n\t\t\t},\n\n\t\t\tprocessor:\n\t\t\t\tsfcBlocks === false\n\t\t\t\t\t? (pluginVue.processors[\".vue\"] as Linter.Processor)\n\t\t\t\t\t: mergeProcessors([\n\t\t\t\t\t\t\tpluginVue.processors[\".vue\"] as Linter.Processor,\n\t\t\t\t\t\t\tprocessorVueBlocks?.({\n\t\t\t\t\t\t\t\t...resolveOptions(sfcBlocks),\n\t\t\t\t\t\t\t\tblocks: {\n\t\t\t\t\t\t\t\t\tstyles: true,\n\t\t\t\t\t\t\t\t\t...resolveOptions(sfcBlocks).blocks,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}) ?? (pluginVue.processors[\".vue\"] as Linter.Processor),\n\t\t\t\t\t\t]),\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tname: \"zayne/vue/recommended\",\n\n\t\t\trules: {\n\t\t\t\t...pluginVue.configs.base.rules,\n\n\t\t\t\t...pluginVue.configs[`flat/${vueVersion === 2 ? \"vue2-\" : \"\"}essential`].at(-1)?.rules,\n\t\t\t\t...pluginVue.configs[`flat/${vueVersion === 2 ? \"vue2-\" : \"\"}strongly-recommended`].at(-1)\n\t\t\t\t\t?.rules,\n\t\t\t\t...pluginVue.configs[`flat/${vueVersion === 2 ? \"vue2-\" : \"\"}recommended`].at(-1)?.rules,\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tname: \"zayne/vue/rules\",\n\n\t\t\trules: {\n\t\t\t\t...pluginVue.configs.base.rules,\n\n\t\t\t\t...pluginVue.configs[`flat/${vueVersion === 2 ? \"vue2-\" : \"\"}essential`].at(-1)?.rules,\n\t\t\t\t...pluginVue.configs[`flat/${vueVersion === 2 ? \"vue2-\" : \"\"}strongly-recommended`].at(-1)\n\t\t\t\t\t?.rules,\n\t\t\t\t...pluginVue.configs[`flat/${vueVersion === 2 ? \"vue2-\" : \"\"}recommended`].at(-1)?.rules,\n\n\t\t\t\t\"node/prefer-global/process\": \"off\",\n\n\t\t\t\t\"vue/block-order\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t{\n\t\t\t\t\t\torder: [\"script\", \"template\", \"style\"],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t\"vue/component-name-in-template-casing\": [\"error\", \"PascalCase\"],\n\n\t\t\t\t\"vue/component-options-name-casing\": [\"error\", \"PascalCase\"],\n\n\t\t\t\t// == this is deprecated\n\t\t\t\t\"vue/component-tags-order\": \"off\",\n\n\t\t\t\t\"vue/custom-event-name-casing\": [\"error\", \"camelCase\"],\n\t\t\t\t\"vue/define-macros-order\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t{\n\t\t\t\t\t\torder: [\"defineOptions\", \"defineProps\", \"defineEmits\", \"defineSlots\"],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t\"vue/dot-location\": [\"error\", \"property\"],\n\t\t\t\t\"vue/dot-notation\": [\"error\", { allowKeywords: true }],\n\t\t\t\t\"vue/eqeqeq\": [\"error\", \"smart\"],\n\t\t\t\t\"vue/html-indent\": \"off\",\n\t\t\t\t\"vue/html-quotes\": [\"error\", \"double\"],\n\t\t\t\t\"vue/max-attributes-per-line\": \"off\",\n\t\t\t\t\"vue/multi-word-component-names\": \"off\",\n\t\t\t\t\"vue/no-dupe-keys\": \"off\",\n\t\t\t\t\"vue/no-empty-pattern\": \"error\",\n\t\t\t\t\"vue/no-irregular-whitespace\": \"error\",\n\t\t\t\t\"vue/no-loss-of-precision\": \"error\",\n\t\t\t\t\"vue/no-restricted-syntax\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t\"DebuggerStatement\",\n\t\t\t\t\t\"LabeledStatement\",\n\t\t\t\t\t\"WithStatement\",\n\t\t\t\t],\n\t\t\t\t\"vue/no-restricted-v-bind\": [\"error\", \"/^v-/\"],\n\t\t\t\t\"vue/no-setup-props-reactivity-loss\": \"off\",\n\t\t\t\t\"vue/no-sparse-arrays\": \"error\",\n\t\t\t\t\"vue/no-unused-refs\": \"error\",\n\t\t\t\t\"vue/no-useless-v-bind\": \"error\",\n\t\t\t\t\"vue/no-v-html\": \"off\",\n\t\t\t\t\"vue/object-shorthand\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t\"always\",\n\t\t\t\t\t{\n\t\t\t\t\t\tavoidQuotes: true,\n\t\t\t\t\t\tignoreConstructors: false,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t\"vue/prefer-separate-static-class\": \"error\",\n\t\t\t\t\"vue/prefer-template\": \"error\",\n\t\t\t\t\"vue/prop-name-casing\": [\"error\", \"camelCase\"],\n\t\t\t\t\"vue/require-default-prop\": \"off\",\n\t\t\t\t\"vue/require-prop-types\": \"off\",\n\t\t\t\t\"vue/singleline-html-element-content-newline\": \"off\",\n\t\t\t\t\"vue/space-infix-ops\": \"error\",\n\t\t\t\t\"vue/space-unary-ops\": [\"error\", { nonwords: false, words: true }],\n\n\t\t\t\t...(stylistic && {\n\t\t\t\t\t\"vue/array-bracket-spacing\": [\"error\", \"never\"],\n\t\t\t\t\t\"vue/arrow-spacing\": [\"error\", { after: true, before: true }],\n\t\t\t\t\t\"vue/block-spacing\": [\"error\", \"always\"],\n\t\t\t\t\t\"vue/block-tag-newline\": [\n\t\t\t\t\t\t\"error\",\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tmultiline: \"always\",\n\t\t\t\t\t\t\tsingleline: \"always\",\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t\t\"vue/brace-style\": [\"error\", \"stroustrup\", { allowSingleLine: true }],\n\t\t\t\t\t\"vue/comma-dangle\": [\"error\", \"always-multiline\"],\n\t\t\t\t\t\"vue/comma-spacing\": [\"error\", { after: true, before: false }],\n\t\t\t\t\t\"vue/comma-style\": [\"error\", \"last\"],\n\t\t\t\t\t\"vue/html-comment-content-spacing\": [\n\t\t\t\t\t\t\"error\",\n\t\t\t\t\t\t\"always\",\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\texceptions: [\"-\"],\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t\t\"vue/key-spacing\": [\"error\", { afterColon: true, beforeColon: false }],\n\t\t\t\t\t\"vue/keyword-spacing\": [\"error\", { after: true, before: true }],\n\t\t\t\t\t\"vue/object-curly-newline\": \"off\",\n\t\t\t\t\t\"vue/object-curly-spacing\": [\"error\", \"always\"],\n\t\t\t\t\t\"vue/object-property-newline\": [\"error\", { allowMultiplePropertiesPerLine: true }],\n\t\t\t\t\t\"vue/operator-linebreak\": [\"error\", \"before\"],\n\t\t\t\t\t\"vue/padding-line-between-blocks\": [\"error\", \"always\"],\n\t\t\t\t\t\"vue/quote-props\": [\"error\", \"consistent-as-needed\"],\n\t\t\t\t\t\"vue/space-in-parens\": [\"error\", \"never\"],\n\t\t\t\t\t\"vue/template-curly-spacing\": \"error\",\n\t\t\t\t}),\n\n\t\t\t\t\"ts-eslint/no-unused-vars\": \"off\",\n\t\t\t},\n\t\t},\n\n\t\tcreateOverrideRules({\n\t\t\tconfigName: \"vue\",\n\t\t\tfiles,\n\t\t\toverrides,\n\t\t}),\n\t];\n}\n","import { GLOB_SRC } from \"../globs\";\nimport type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\nimport { createOverrideRules, ensurePackages, interopDefault } from \"../utils\";\n\nconst solid = async (\n\toptions: ExtractOptions<OptionsConfig[\"solid\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { files = [GLOB_SRC], overrides, typescript = true } = options;\n\n\tawait ensurePackages([\"eslint-plugin-solid\"]);\n\n\tconst eslintPluginSolid = await interopDefault(import(\"eslint-plugin-solid\"));\n\n\tconst recommendedSolidConfig =\n\t\teslintPluginSolid.configs[typescript ? \"flat/typescript\" : \"flat/recommended\"];\n\n\treturn [\n\t\t{\n\t\t\tname: \"zayne/solid/setup\",\n\n\t\t\tplugins: {\n\t\t\t\tsolid: eslintPluginSolid,\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tname: \"zayne/solid/recommended\",\n\n\t\t\trules: recommendedSolidConfig.rules,\n\t\t},\n\n\t\t{\n\t\t\tname: \"zayne/solid/rules\",\n\n\t\t\trules: {\n\t\t\t\t\"solid/no-innerhtml\": [\"error\", { allowStatic: true }],\n\t\t\t\t\"solid/style-prop\": [\"error\", { styleProps: [\"style\", \"css\"] }],\n\t\t\t},\n\t\t},\n\n\t\tcreateOverrideRules({\n\t\t\tconfigName: \"solid\",\n\t\t\tfiles,\n\t\t\toverrides,\n\t\t}),\n\t];\n};\n\nexport { solid };\n","import { GLOB_JSX, GLOB_TSX } from \"@/globs\";\nimport type { TypedFlatConfigItem } from \"@/types\";\n\nconst jsx = (): TypedFlatConfigItem[] => {\n\treturn [\n\t\t{\n\t\t\tfiles: [GLOB_JSX, GLOB_TSX],\n\n\t\t\tlanguageOptions: {\n\t\t\t\tparserOptions: {\n\t\t\t\t\tecmaFeatures: {\n\t\t\t\t\t\tjsx: true,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\n\t\t\tname: \"zayne/jsx/setup\",\n\t\t},\n\t];\n};\n\nexport { jsx };\n","import { isObject, resolveOptions } from \"@/utils\";\nimport { assert } from \"@zayne-labs/toolkit-type-helpers\";\nimport type { Linter } from \"eslint\";\nimport { FlatConfigComposer } from \"eslint-flat-config-utils\";\nimport { isPackageExists } from \"local-pkg\";\nimport {\n\tcomments,\n\tgitIgnores,\n\tignores,\n\timports,\n\tjavascript,\n\tjsdoc,\n\tjsonc,\n\tnode,\n\tperfectionist,\n\treact,\n\tsolid,\n\tsortPackageJson,\n\tsortTsconfig,\n\tstylistic,\n\ttailwindcss,\n\ttanstack,\n\ttoml,\n\ttypescript,\n\tunicorn,\n\tvue,\n\tyaml,\n} from \"./configs\";\nimport { jsx } from \"./configs/jsx\";\nimport { defaultPluginRenameMap } from \"./constants\";\nimport type { Awaitable, ConfigNames, OptionsConfig, Prettify, TypedFlatConfigItem } from \"./types\";\n\nconst ReactPackages = [\"react\", \"react-dom\"];\n\n/**\n * @description Construct an array of ESLint flat config items.\n * @param options\n * The options for generating the ESLint configurations.\n * @param userConfigs\n * The extra user configurations to be merged with the generated configurations.\n * @returns\n * The merged ESLint configurations.\n */\nexport const zayne = (\n\toptions: OptionsConfig & Prettify<Pick<TypedFlatConfigItem, \"ignores\">> = {},\n\t...userConfigs: Array<\n\t\tAwaitable<FlatConfigComposer | Linter.Config[] | TypedFlatConfigItem | TypedFlatConfigItem[]>\n\t>\n): FlatConfigComposer<TypedFlatConfigItem, ConfigNames> => {\n\tconst {\n\t\tautoRenamePlugins = true,\n\t\tcomponentExts = [],\n\t\tcomponentExtsTypeAware = [],\n\t\ttype = \"app\",\n\t\twithDefaults = true,\n\t\t...restOfOptions\n\t} = options;\n\n\t// == These configs are too needful to be turned off with a single switch, plus won't harm things much\n\tconst enableGitignore = restOfOptions.gitignore ?? true;\n\tconst enableJsx = restOfOptions.jsx ?? true;\n\n\t// == These ones won't matter if they are all turned off at once\n\tconst enableComments = restOfOptions.comments ?? withDefaults;\n\tconst enableImports = restOfOptions.imports ?? withDefaults;\n\tconst enableJsdoc = restOfOptions.jsdoc ?? withDefaults;\n\tconst enableJsonc = restOfOptions.jsonc ?? withDefaults;\n\tconst enableNode = restOfOptions.node ?? withDefaults;\n\tconst enablePerfectionist = restOfOptions.perfectionist ?? withDefaults;\n\tconst enableReact =\n\t\trestOfOptions.react ?? (withDefaults && ReactPackages.some((pkg) => isPackageExists(pkg)));\n\tconst enableStylistic = restOfOptions.stylistic ?? withDefaults;\n\tconst enableToml = restOfOptions.toml ?? withDefaults;\n\tconst enableTypeScript = restOfOptions.typescript ?? (withDefaults && isPackageExists(\"typescript\"));\n\tconst enableUnicorn = restOfOptions.unicorn ?? withDefaults;\n\tconst enableYaml = restOfOptions.yaml ?? withDefaults;\n\n\tconst isStylistic = Boolean(enableStylistic);\n\n\tconst tsconfigPath =\n\t\tisObject(enableTypeScript) && \"tsconfigPath\" in enableTypeScript\n\t\t\t? enableTypeScript.tsconfigPath\n\t\t\t: null;\n\n\tconst isTypeAware = Boolean(tsconfigPath);\n\n\tconst configs: Array<Awaitable<TypedFlatConfigItem[]>> = [];\n\n\t// == Base configs\n\tconfigs.push(ignores(restOfOptions.ignores), javascript(restOfOptions.javascript));\n\n\tif (enableJsx) {\n\t\tconfigs.push(jsx());\n\t}\n\n\tif (enableStylistic) {\n\t\tconfigs.push(stylistic({ jsx: enableJsx, ...resolveOptions(enableStylistic) }));\n\t}\n\n\tif (enableComments) {\n\t\tconfigs.push(comments({ type, ...resolveOptions(enableComments) }));\n\t}\n\n\tif (enableGitignore) {\n\t\tconfigs.push(gitIgnores(resolveOptions(enableGitignore)));\n\t}\n\n\tif (enableImports) {\n\t\tconfigs.push(\n\t\t\timports({ stylistic: isStylistic, typescript: isTypeAware, ...resolveOptions(enableImports) })\n\t\t);\n\t}\n\n\tif (enableNode) {\n\t\tconfigs.push(node({ type, ...resolveOptions(enableNode) }));\n\t}\n\n\tif (enablePerfectionist) {\n\t\tconfigs.push(perfectionist(resolveOptions(enablePerfectionist)));\n\t}\n\n\tif (enableUnicorn) {\n\t\tconfigs.push(unicorn({ type, ...resolveOptions(enableUnicorn) }));\n\t}\n\n\tif (enableJsdoc) {\n\t\tconfigs.push(jsdoc({ stylistic: isStylistic, ...resolveOptions(enableJsdoc) }));\n\t}\n\n\tif (restOfOptions.vue) {\n\t\tcomponentExts.push(\"vue\");\n\t\tcomponentExtsTypeAware.push(\"vue\");\n\t}\n\n\tif (enableTypeScript) {\n\t\tconfigs.push(\n\t\t\ttypescript({\n\t\t\t\tcomponentExts,\n\t\t\t\tcomponentExtsTypeAware,\n\t\t\t\tstylistic: isStylistic,\n\t\t\t\t...resolveOptions(enableTypeScript),\n\t\t\t})\n\t\t);\n\t}\n\n\tif (restOfOptions.tailwindcss) {\n\t\tconfigs.push(tailwindcss(resolveOptions(restOfOptions.tailwindcss)));\n\t}\n\n\tif (restOfOptions.tanstack) {\n\t\tconfigs.push(tanstack(resolveOptions(restOfOptions.tanstack)));\n\t}\n\n\tif (enableToml) {\n\t\tconfigs.push(\n\t\t\ttoml({\n\t\t\t\tstylistic: isStylistic,\n\t\t\t\t...resolveOptions(enableToml),\n\t\t\t})\n\t\t);\n\t}\n\n\tif (enableYaml) {\n\t\tconfigs.push(\n\t\t\tyaml({\n\t\t\t\tstylistic: isStylistic,\n\t\t\t\t...resolveOptions(enableYaml),\n\t\t\t})\n\t\t);\n\t}\n\n\tif (enableReact) {\n\t\tconfigs.push(react({ typescript: isTypeAware, ...resolveOptions(enableReact) }));\n\t}\n\n\tif (restOfOptions.vue) {\n\t\tconfigs.push(\n\t\t\tvue({ stylistic: isStylistic, typescript: isTypeAware, ...resolveOptions(restOfOptions.vue) })\n\t\t);\n\t}\n\n\tif (restOfOptions.solid) {\n\t\tconfigs.push(solid({ typescript: isTypeAware, ...resolveOptions(restOfOptions.solid) }));\n\t}\n\n\tif (enableJsonc) {\n\t\tconfigs.push(\n\t\t\tjsonc({ stylistic: isStylistic, ...resolveOptions(enableJsonc) }),\n\t\t\tsortPackageJson(),\n\t\t\tsortTsconfig()\n\t\t);\n\t}\n\n\tassert(\n\t\t!(\"files\" in restOfOptions),\n\t\t`[@zayne-labs/eslint-config] The first argument should not contain the \"files\" property as the options are supposed to be global. Place it in the second config array instead.`\n\t);\n\n\tlet composer = new FlatConfigComposer<TypedFlatConfigItem, ConfigNames>();\n\n\tcomposer = composer.append(...configs, ...(userConfigs as never[]));\n\n\tif (autoRenamePlugins) {\n\t\tcomposer = composer.renamePlugins(defaultPluginRenameMap);\n\t}\n\n\treturn composer;\n};\n"]}
1
+ {"version":3,"sources":["../src/utils.ts","../src/globs.ts","../src/configs/ignores.ts","../src/configs/javascript.ts","../src/configs/tailwindcss.ts","../src/configs/typescript.ts","../src/configs/unicorn.ts","../src/configs/imports.ts","../src/configs/perfectionist.ts","../src/configs/stylistic.ts","../src/configs/jsonc.ts","../src/configs/jsdoc.ts","../src/constants.ts","../src/configs/react.ts","../src/configs/tanstack.ts","../src/configs/sort.ts","../src/configs/node.ts","../src/configs/comments.ts","../src/configs/toml.ts","../src/configs/yaml.ts","../src/configs/vue.ts","../src/configs/solid.ts","../src/configs/jsx.ts","../src/factory.ts"],"names":["defineEnum","stylistic","ignores","defineConfig","typescript","jsx","isPackageExists"],"mappings":"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","file":"index.js","sourcesContent":["import { fileURLToPath } from \"node:url\";\nimport { defineEnum } from \"@zayne-labs/toolkit-type-helpers\";\nimport type { ESLint, Linter } from \"eslint\";\nimport { isPackageExists } from \"local-pkg\";\nimport type { Awaitable, Rules, TypedFlatConfigItem } from \"./types\";\n\nexport const isObject = <TObject extends Record<string, unknown>>(value: unknown): value is TObject => {\n\treturn typeof value === \"object\" && value !== null && !Array.isArray(value);\n};\n\n/**\n * @description - Combine array and non-array configs into a single array.\n */\nexport const combine = async (\n\t...configs: Array<Awaitable<TypedFlatConfigItem | TypedFlatConfigItem[]>>\n): Promise<TypedFlatConfigItem[]> => {\n\tconst resolved = await Promise.all(configs);\n\n\treturn resolved.flat();\n};\n\nexport const interopDefault = async <TModule>(\n\tmodule: Awaitable<TModule>\n): Promise<TModule extends { default: infer TDefaultExport } ? TDefaultExport : TModule> => {\n\tconst resolved = await module;\n\n\t// eslint-disable-next-line ts-eslint/no-unnecessary-condition -- casting is necessary to prevent assignability ts issues at call-site\n\treturn (resolved as { default: never }).default ?? resolved;\n};\n\n/**\n * @description - Rename plugin prefixes in a rule object.\n * Accepts a map of prefixes to rename.\n *\n * @example\n * ```ts\n * import { renameRules } from '@zayne-labs/eslint-config'\n *\n * export default [{\n * rules: renameRules(\n * {\n * '@typescript-eslint/indent': 'error'\n * },\n * { '@typescript-eslint': 'ts' }\n * )\n * }]\n * ```\n */\nexport const renameRules = (\n\trules: Record<string, unknown> | undefined,\n\trenameMap: Record<string, string>\n): (Partial<Linter.RulesRecord> & Rules) | undefined => {\n\tif (!rules) return;\n\n\tconst renamedRulesEntries = Object.entries(rules).map(([ruleKey, ruleValue]) => {\n\t\tfor (const [oldRuleName, newRuleName] of Object.entries(renameMap)) {\n\t\t\tif (ruleKey.startsWith(`${oldRuleName}/`)) {\n\t\t\t\treturn [`${newRuleName}${ruleKey.slice(oldRuleName.length)}`, ruleValue];\n\t\t\t}\n\t\t}\n\n\t\treturn [ruleKey, ruleValue];\n\t});\n\n\treturn Object.fromEntries(renamedRulesEntries) as TypedFlatConfigItem[\"rules\"];\n};\n\nexport const renamePlugins = (\n\tplugins: Record<string, unknown> | undefined,\n\trenameMap: Record<string, string>\n): Record<string, ESLint.Plugin> | undefined => {\n\tif (!plugins) return;\n\n\tconst renamedPluginEntries = Object.entries(plugins).map(([pluginKey, pluginValue]) => {\n\t\tif (pluginKey in renameMap) {\n\t\t\treturn [renameMap[pluginKey], pluginValue];\n\t\t}\n\n\t\treturn [pluginKey, pluginValue];\n\t});\n\n\treturn Object.fromEntries(renamedPluginEntries) as Record<string, ESLint.Plugin>;\n};\n\n/**\n * @description - Rename plugin names a flat configs array\n *\n * @example\n * ```ts\n * import { renamePluginInConfigs } from '@zayne-labs/eslint-config'\n * import someConfigs from './some-configs'\n *\n * export default renamePluginInConfigs(someConfigs, {\n * '@typescript-eslint': 'ts',\n * 'import-x': 'import',\n * })\n * ```\n */\nexport const renamePluginInConfigs = (options: {\n\tconfigs: TypedFlatConfigItem[];\n\toverrides?: TypedFlatConfigItem;\n\trenameMap: Record<string, string>;\n}): TypedFlatConfigItem[] => {\n\tconst { configs, overrides, renameMap } = options;\n\n\tconst renamedConfigs = configs.map((config) => ({\n\t\t...config,\n\t\t...overrides,\n\n\t\t...(isObject(config.plugins) && {\n\t\t\tplugins: renamePlugins(config.plugins, renameMap),\n\t\t}),\n\t\t...(isObject(config.rules) && {\n\t\t\trules: renameRules(config.rules, renameMap),\n\t\t}),\n\t}));\n\n\treturn renamedConfigs;\n};\n\nconst scopeUrl = fileURLToPath(new URL(\".\", import.meta.url));\nconst isCwdInScope = isPackageExists(\"@zayne-labs/eslint-config\");\n\nexport const isPackageInScope = (name: string): boolean => isPackageExists(name, { paths: [scopeUrl] });\n\n/**\n * @description\n * - Ensures that packages are installed in the current scope.\n * - If they are not installed, and the user is in a TTY, and the user is not in a CI environment,\n * and the user is in the same scope as this package, then prompt the user to\n * install the packages.\n *\n * @param packages - The packages to ensure are installed.\n */\nexport const ensurePackages = async (packages: Array<string | undefined>): Promise<void> => {\n\tif (process.env.CI || !process.stdout.isTTY || !isCwdInScope) return;\n\n\tconst nonExistingPackages = packages.filter((pkg) => pkg && !isPackageInScope(pkg));\n\n\tif (nonExistingPackages.length === 0) return;\n\n\tconst clackPrompt = await import(\"@clack/prompts\");\n\n\tconst result = await clackPrompt.confirm({\n\t\tmessage: `${nonExistingPackages.length === 1 ? \"Package is\" : \"Packages are\"} required for this config: ${nonExistingPackages.join(\", \")}. Do you want to install them?`,\n\t});\n\n\tif (result) {\n\t\tconst antfuPkg = await import(\"@antfu/install-pkg\");\n\n\t\tawait antfuPkg.installPackage(nonExistingPackages as string[], { dev: true });\n\t}\n};\n\nexport const resolveOptions = <TObject>(option: boolean | TObject | undefined) =>\n\tisObject(option) ? option : ({} as TObject);\n\ntype OverrideOptions<TConfigName extends string> = {\n\tconfigName: TConfigName;\n\tfiles?: string[];\n\toverrides: TypedFlatConfigItem[\"rules\"];\n};\n\nexport const createOverrideRules = <TConfigName extends string>(options: OverrideOptions<TConfigName>) => {\n\tconst { configName, files, overrides } = options;\n\n\tif (!isObject(overrides)) {\n\t\treturn {} as never;\n\t}\n\n\treturn defineEnum({\n\t\t...(files && { files }),\n\t\tname: `zayne/${configName}/rules/overrides`,\n\t\trules: overrides,\n\t}) satisfies TypedFlatConfigItem;\n};\n","import { defineEnum } from \"@zayne-labs/toolkit-type-helpers\";\n\nexport const GLOB_SRC_EXT = \"?([cm])[jt]s?(x)\";\nexport const GLOB_SRC = \"**/*.?([cm])[jt]s?(x)\";\n\nexport const GLOB_JS = \"**/*.?([cm])js\";\nexport const GLOB_JSX = \"**/*.?([cm])jsx\";\n\nexport const GLOB_TS = \"**/*.?([cm])ts\";\nexport const GLOB_TSX = \"**/*.?([cm])tsx\";\n\nexport const GLOB_STYLES = \"**/*.{c,le,sc}ss\";\nexport const GLOB_CSS = \"**/*.css\";\nexport const GLOB_POSTCSS = \"**/*.{p,post}css\";\nexport const GLOB_LESS = \"**/*.less\";\nexport const GLOB_SCSS = \"**/*.scss\";\n\nexport const GLOB_JSON = \"**/*.json\";\nexport const GLOB_JSON5 = \"**/*.json5\";\nexport const GLOB_JSONC = \"**/*.jsonc\";\n\nexport const GLOB_MARKDOWN = \"**/*.md\";\nexport const GLOB_MARKDOWN_IN_MARKDOWN = \"**/*.md/*.md\";\nexport const GLOB_SVELTE = \"**/*.svelte\";\nexport const GLOB_VUE = \"**/*.vue\";\nexport const GLOB_YAML = \"**/*.y?(a)ml\";\nexport const GLOB_TOML = \"**/*.toml\";\nexport const GLOB_XML = \"**/*.xml\";\nexport const GLOB_SVG = \"**/*.svg\";\nexport const GLOB_HTML = \"**/*.htm?(l)\";\nexport const GLOB_ASTRO = \"**/*.astro\";\nexport const GLOB_ASTRO_TS = \"**/*.astro/*.ts\";\nexport const GLOB_GRAPHQL = \"**/*.{g,graph}ql\";\n\nexport const GLOB_MARKDOWN_CODE = `${GLOB_MARKDOWN}/${GLOB_SRC}`;\n\nexport const GLOB_TESTS = defineEnum([\n\t`**/__tests__/**/*.${GLOB_SRC_EXT}`,\n\t`**/*.spec.${GLOB_SRC_EXT}`,\n\t`**/*.test.${GLOB_SRC_EXT}`,\n\t`**/*.bench.${GLOB_SRC_EXT}`,\n\t`**/*.benchmark.${GLOB_SRC_EXT}`,\n]);\n\nexport const GLOB_ALL_SRC = [\n\tGLOB_SRC,\n\tGLOB_STYLES,\n\tGLOB_JSON,\n\tGLOB_JSON5,\n\tGLOB_MARKDOWN,\n\tGLOB_SVELTE,\n\tGLOB_VUE,\n\tGLOB_YAML,\n\tGLOB_XML,\n\tGLOB_HTML,\n];\n\nexport const GLOB_EXCLUDE = defineEnum([\n\t\"**/node_modules\",\n\t\"**/dist\",\n\t\"**/package-lock.json\",\n\t\"**/yarn.lock\",\n\t\"**/pnpm-lock.yaml\",\n\t\"**/bun.lockb\",\n\n\t\"**/output\",\n\t\"**/coverage\",\n\t\"**/temp\",\n\t\"**/.temp\",\n\t\"**/tmp\",\n\t\"**/.tmp\",\n\t\"**/.history\",\n\t\"**/.vitepress/cache\",\n\t\"**/.nuxt\",\n\t\"**/.next\",\n\t\"**/.svelte-kit\",\n\t\"**/.vercel\",\n\t\"**/.changeset\",\n\t\"**/.idea\",\n\t\"**/.cache\",\n\t\"**/.output\",\n\t\"**/.vite-inspect\",\n\t\"**/.yarn\",\n\t\"**/vite.config.*.timestamp-*\",\n\n\t\"**/CHANGELOG*.md\",\n\t\"**/*.min.*\",\n\t\"**/LICENSE*\",\n\t\"**/__snapshots__\",\n\t\"**/auto-import?(s).d.ts\",\n\t\"**/components.d.ts\",\n]);\n","import { interopDefault } from \"@/utils\";\nimport type { FlatGitignoreOptions } from \"eslint-config-flat-gitignore\";\nimport { globalIgnores } from \"eslint/config\";\nimport { GLOB_EXCLUDE } from \"../globs\";\nimport type { TypedFlatConfigItem } from \"../types\";\n\nexport const ignores = (userIgnores: string[] = []): TypedFlatConfigItem[] => {\n\treturn [globalIgnores([...GLOB_EXCLUDE, ...userIgnores], \"zayne/defaults/ignores\")];\n};\n\nexport const gitIgnores = async (options?: FlatGitignoreOptions): Promise<TypedFlatConfigItem[]> => {\n\tconst antfuGitIgnore = await interopDefault(import(\"eslint-config-flat-gitignore\"));\n\n\tconst config = antfuGitIgnore({\n\t\tname: \"zayne/gitignore\",\n\t\tstrict: false,\n\t\t...options,\n\t});\n\n\treturn [config];\n};\n","import type { OptionsOverrides, TypedFlatConfigItem } from \"@/types\";\nimport { createOverrideRules, interopDefault } from \"@/utils\";\nimport { defineConfig } from \"eslint/config\";\nimport globals from \"globals\";\n\nconst javascript = async (options: OptionsOverrides = {}): Promise<TypedFlatConfigItem[]> => {\n\tconst { overrides } = options;\n\n\tconst eslintJs = await interopDefault(import(\"@eslint/js\"));\n\n\treturn defineConfig([\n\t\t{\n\t\t\tlanguageOptions: {\n\t\t\t\tecmaVersion: \"latest\",\n\n\t\t\t\tglobals: {\n\t\t\t\t\t...globals.browser,\n\t\t\t\t\t...globals.node,\n\t\t\t\t\tdocument: \"readonly\",\n\t\t\t\t\tnavigator: \"readonly\",\n\t\t\t\t\twindow: \"readonly\",\n\t\t\t\t},\n\n\t\t\t\tparserOptions: {\n\t\t\t\t\tecmaVersion: \"latest\",\n\t\t\t\t\tsourceType: \"module\",\n\t\t\t\t},\n\n\t\t\t\tsourceType: \"module\",\n\t\t\t},\n\n\t\t\tlinterOptions: {\n\t\t\t\treportUnusedDisableDirectives: true,\n\t\t\t},\n\n\t\t\tname: \"zayne/js-eslint/setup\",\n\t\t},\n\t\t{\n\t\t\textends: [eslintJs.configs.recommended],\n\n\t\t\tname: \"zayne/js-eslint/recommended\",\n\t\t},\n\t\t{\n\t\t\tname: \"zayne/js-eslint/rules\",\n\n\t\t\trules: {\n\t\t\t\t\"accessor-pairs\": [\"error\", { enforceForClassMembers: true, setWithoutGet: true }],\n\t\t\t\t\"array-callback-return\": [\"error\", { allowImplicit: true }],\n\t\t\t\t\"block-scoped-var\": \"error\",\n\t\t\t\t\"class-methods-use-this\": \"error\",\n\t\t\t\tcomplexity: [\"warn\", 50],\n\t\t\t\t\"constructor-super\": \"error\",\n\t\t\t\tcurly: [\"error\", \"multi-line\"],\n\t\t\t\t\"default-case\": [\"error\", { commentPattern: \"^no default$\" }],\n\t\t\t\t\"default-case-last\": \"error\",\n\t\t\t\t\"default-param-last\": \"error\",\n\t\t\t\t\"dot-notation\": [\"error\", { allowKeywords: true }],\n\t\t\t\teqeqeq: [\"error\", \"always\", { null: \"ignore\" }],\n\t\t\t\t\"grouped-accessor-pairs\": \"error\",\n\t\t\t\t\"logical-assignment-operators\": \"warn\",\n\t\t\t\t\"max-depth\": [\"error\", 2],\n\t\t\t\t\"new-cap\": [\"error\", { capIsNew: false, newIsCap: true, properties: true }],\n\t\t\t\t\"no-alert\": \"warn\",\n\t\t\t\t\"no-array-constructor\": \"error\",\n\t\t\t\t\"no-async-promise-executor\": \"error\",\n\t\t\t\t\"no-await-in-loop\": \"error\",\n\t\t\t\t\"no-caller\": \"error\",\n\t\t\t\t\"no-case-declarations\": \"error\",\n\t\t\t\t\"no-class-assign\": \"error\",\n\t\t\t\t\"no-compare-neg-zero\": \"error\",\n\t\t\t\t\"no-cond-assign\": [\"error\", \"always\"],\n\t\t\t\t\"no-console\": [\"error\", { allow: [\"warn\", \"error\", \"info\", \"trace\"] }],\n\t\t\t\t\"no-const-assign\": \"error\",\n\t\t\t\t\"no-constant-condition\": \"warn\",\n\t\t\t\t\"no-constructor-return\": \"error\",\n\t\t\t\t\"no-control-regex\": \"error\",\n\t\t\t\t\"no-debugger\": \"error\",\n\t\t\t\t\"no-delete-var\": \"error\",\n\t\t\t\t\"no-dupe-args\": \"error\",\n\t\t\t\t\"no-dupe-class-members\": \"error\",\n\t\t\t\t\"no-dupe-keys\": \"error\",\n\t\t\t\t\"no-duplicate-case\": \"error\",\n\t\t\t\t\"no-else-return\": [\"error\", { allowElseIf: false }],\n\t\t\t\t\"no-empty\": [\"error\", { allowEmptyCatch: true }],\n\t\t\t\t\"no-empty-character-class\": \"error\",\n\t\t\t\t\"no-empty-pattern\": \"error\",\n\t\t\t\t\"no-eval\": [\"error\", { allowIndirect: true }],\n\t\t\t\t\"no-ex-assign\": \"error\",\n\t\t\t\t\"no-extend-native\": \"error\",\n\t\t\t\t\"no-extra-bind\": \"error\",\n\t\t\t\t\"no-extra-boolean-cast\": \"error\",\n\t\t\t\t\"no-fallthrough\": \"error\",\n\t\t\t\t\"no-func-assign\": \"error\",\n\t\t\t\t\"no-global-assign\": \"error\",\n\t\t\t\t\"no-implicit-coercion\": \"warn\",\n\t\t\t\t\"no-implied-eval\": \"error\",\n\t\t\t\t\"no-import-assign\": \"error\",\n\t\t\t\t\"no-invalid-regexp\": \"error\",\n\t\t\t\t\"no-irregular-whitespace\": \"error\",\n\t\t\t\t\"no-iterator\": \"error\",\n\t\t\t\t\"no-labels\": [\"error\", { allowLoop: false, allowSwitch: false }],\n\t\t\t\t\"no-lone-blocks\": \"error\",\n\t\t\t\t\"no-loop-func\": \"error\",\n\t\t\t\t\"no-loss-of-precision\": \"error\",\n\t\t\t\t\"no-misleading-character-class\": \"error\",\n\t\t\t\t\"no-multi-str\": \"error\",\n\t\t\t\t\"no-new\": \"error\",\n\t\t\t\t\"no-new-func\": \"error\",\n\t\t\t\t\"no-new-native-nonconstructor\": \"error\",\n\t\t\t\t\"no-new-wrappers\": \"error\",\n\t\t\t\t\"no-obj-calls\": \"error\",\n\t\t\t\t\"no-octal\": \"error\",\n\t\t\t\t\"no-octal-escape\": \"error\",\n\t\t\t\t\"no-param-reassign\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t{\n\t\t\t\t\t\tignorePropertyModificationsFor: [\n\t\t\t\t\t\t\t\"acc\", // for reduce accumulators\n\t\t\t\t\t\t\t\"accumulator\", // for reduce accumulators\n\t\t\t\t\t\t\t\"e\", // for e.returnvalue\n\t\t\t\t\t\t\t\"ctx\", // for Koa routing\n\t\t\t\t\t\t\t\"context\", // for Koa routing\n\t\t\t\t\t\t\t\"req\", // for Express requests\n\t\t\t\t\t\t\t\"request\", // for Express requests\n\t\t\t\t\t\t\t\"res\", // for Express responses\n\t\t\t\t\t\t\t\"response\", // for Express responses\n\t\t\t\t\t\t\t\"$scope\", // for Angular 1 scopes\n\t\t\t\t\t\t\t\"staticContext\", // for ReactRouter context\n\t\t\t\t\t\t],\n\t\t\t\t\t\tprops: true,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t\"no-proto\": \"error\",\n\t\t\t\t\"no-prototype-builtins\": \"error\",\n\t\t\t\t\"no-redeclare\": [\"error\", { builtinGlobals: false }],\n\t\t\t\t\"no-regex-spaces\": \"error\",\n\t\t\t\t\"no-restricted-exports\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t{\n\t\t\t\t\t\trestrictedNamedExports: [\n\t\t\t\t\t\t\t\"default\", // use `export default` to provide a default export\n\t\t\t\t\t\t\t\"then\", // this will cause tons of confusion when your module is dynamically `import()`ed, and will break in most node ESM versions\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t\"no-restricted-globals\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t{\n\t\t\t\t\t\tmessage:\n\t\t\t\t\t\t\t\"Use Number.isFinite instead https://github.com/airbnb/javascript#standard-library--isfinite\",\n\t\t\t\t\t\tname: \"isFinite\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tmessage:\n\t\t\t\t\t\t\t\"Use Number.isNaN instead https://github.com/airbnb/javascript#standard-library--isnan\",\n\t\t\t\t\t\tname: \"isNaN\",\n\t\t\t\t\t},\n\t\t\t\t\t{ message: \"Use `globalThis` instead.\", name: \"global\" },\n\t\t\t\t\t{ message: \"Use `globalThis` instead.\", name: \"self\" },\n\t\t\t\t],\n\t\t\t\t\"no-restricted-imports\": [\"off\", { paths: [], patterns: [] }],\n\t\t\t\t\"no-restricted-properties\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t{\n\t\t\t\t\t\tmessage: \"arguments.callee is deprecated\",\n\t\t\t\t\t\tobject: \"arguments\",\n\t\t\t\t\t\tproperty: \"callee\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tmessage: \"Please use Number.isFinite instead\",\n\t\t\t\t\t\tobject: \"global\",\n\t\t\t\t\t\tproperty: \"isFinite\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tmessage: \"Please use Number.isFinite instead\",\n\t\t\t\t\t\tobject: \"self\",\n\t\t\t\t\t\tproperty: \"isFinite\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tmessage: \"Please use Number.isFinite instead\",\n\t\t\t\t\t\tobject: \"window\",\n\t\t\t\t\t\tproperty: \"isFinite\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tmessage: \"Please use Number.isNaN instead\",\n\t\t\t\t\t\tobject: \"global\",\n\t\t\t\t\t\tproperty: \"isNaN\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tmessage: \"Please use Number.isNaN instead\",\n\t\t\t\t\t\tobject: \"self\",\n\t\t\t\t\t\tproperty: \"isNaN\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tmessage: \"Please use Number.isNaN instead\",\n\t\t\t\t\t\tobject: \"window\",\n\t\t\t\t\t\tproperty: \"isNaN\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tmessage: \"Use the exponentiation operator (**) instead.\",\n\t\t\t\t\t\tobject: \"Math\",\n\t\t\t\t\t\tproperty: \"pow\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tmessage: \"Use `Object.getPrototypeOf` or `Object.setPrototypeOf` instead.\",\n\t\t\t\t\t\tproperty: \"__proto__\",\n\t\t\t\t\t},\n\t\t\t\t\t{ message: \"Use `Object.defineProperty` instead.\", property: \"__defineGetter__\" },\n\t\t\t\t\t{ message: \"Use `Object.defineProperty` instead.\", property: \"__defineSetter__\" },\n\t\t\t\t\t{ message: \"Use `Object.getOwnPropertyDescriptor` instead.\", property: \"__lookupGetter__\" },\n\t\t\t\t\t{ message: \"Use `Object.getOwnPropertyDescriptor` instead.\", property: \"__lookupSetter__\" },\n\t\t\t\t],\n\t\t\t\t\"no-restricted-syntax\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t\"ForInStatement\",\n\t\t\t\t\t\"LabeledStatement\",\n\t\t\t\t\t\"WithStatement\",\n\t\t\t\t\t\"TSEnumDeclaration[const=true]\",\n\t\t\t\t\t\"TSExportAssignment\",\n\t\t\t\t],\n\t\t\t\t\"no-return-assign\": [\"error\", \"except-parens\"],\n\t\t\t\t\"no-script-url\": \"error\",\n\t\t\t\t\"no-self-assign\": [\"error\", { props: true }],\n\t\t\t\t\"no-self-compare\": \"error\",\n\t\t\t\t\"no-sequences\": \"error\",\n\t\t\t\t\"no-shadow-restricted-names\": \"error\",\n\t\t\t\t\"no-sparse-arrays\": \"error\",\n\t\t\t\t\"no-template-curly-in-string\": \"error\",\n\t\t\t\t\"no-this-before-super\": \"error\",\n\t\t\t\t\"no-throw-literal\": \"error\",\n\t\t\t\t\"no-undef\": \"error\",\n\t\t\t\t\"no-undef-init\": \"error\",\n\t\t\t\t\"no-unexpected-multiline\": \"error\",\n\t\t\t\t\"no-unmodified-loop-condition\": \"error\",\n\t\t\t\t\"no-unneeded-ternary\": [\"warn\", { defaultAssignment: false }],\n\t\t\t\t\"no-unreachable\": \"error\",\n\t\t\t\t\"no-unreachable-loop\": \"error\",\n\t\t\t\t\"no-unsafe-finally\": \"error\",\n\t\t\t\t\"no-unsafe-negation\": \"error\",\n\t\t\t\t\"no-unused-expressions\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t{\n\t\t\t\t\t\tallowShortCircuit: true,\n\t\t\t\t\t\tallowTaggedTemplates: true,\n\t\t\t\t\t\tallowTernary: true,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t\"no-unused-vars\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\targs: \"none\",\n\t\t\t\t\t\tcaughtErrors: \"none\",\n\t\t\t\t\t\tignoreRestSiblings: true,\n\t\t\t\t\t\tvars: \"all\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t\"no-useless-backreference\": \"error\",\n\t\t\t\t\"no-useless-call\": \"error\",\n\t\t\t\t\"no-useless-catch\": \"error\",\n\t\t\t\t\"no-useless-computed-key\": \"error\",\n\t\t\t\t\"no-useless-concat\": \"error\",\n\t\t\t\t\"no-useless-constructor\": \"error\",\n\t\t\t\t\"no-useless-rename\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t{ ignoreDestructuring: false, ignoreExport: false, ignoreImport: false },\n\t\t\t\t],\n\t\t\t\t\"no-useless-return\": \"error\",\n\t\t\t\t\"no-var\": \"error\",\n\t\t\t\t\"no-with\": \"error\",\n\t\t\t\t\"object-shorthand\": [\"error\", \"always\", { avoidQuotes: true, ignoreConstructors: false }],\n\t\t\t\t\"one-var\": [\"error\", { initialized: \"never\" }],\n\t\t\t\t\"operator-assignment\": \"warn\",\n\t\t\t\t\"prefer-arrow-callback\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t{\n\t\t\t\t\t\tallowNamedFunctions: false,\n\t\t\t\t\t\tallowUnboundThis: true,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t\"prefer-const\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t{\n\t\t\t\t\t\tdestructuring: \"all\",\n\t\t\t\t\t\tignoreReadBeforeAssign: true,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t\"prefer-exponentiation-operator\": \"error\",\n\t\t\t\t\"prefer-object-has-own\": \"error\",\n\t\t\t\t\"prefer-object-spread\": \"warn\",\n\t\t\t\t\"prefer-promise-reject-errors\": \"error\",\n\t\t\t\t\"prefer-regex-literals\": [\"error\", { disallowRedundantWrapping: true }],\n\t\t\t\t\"prefer-rest-params\": \"error\",\n\t\t\t\t\"prefer-spread\": \"error\",\n\t\t\t\t\"prefer-template\": \"error\",\n\t\t\t\tradix: \"error\",\n\t\t\t\t\"symbol-description\": \"error\",\n\t\t\t\t\"unicode-bom\": [\"error\", \"never\"],\n\t\t\t\t\"use-isnan\": [\"error\", { enforceForIndexOf: true, enforceForSwitchCase: true }],\n\t\t\t\t\"valid-typeof\": [\"error\", { requireStringLiterals: true }],\n\t\t\t\t\"vars-on-top\": \"error\",\n\t\t\t\tyoda: [\"error\", \"never\"],\n\t\t\t},\n\t\t},\n\n\t\tcreateOverrideRules({ configName: \"js-eslint\", overrides }),\n\t]);\n};\n\nexport { javascript };\n","import type { OptionsOverrides, OptionsTailwindCSS, TypedFlatConfigItem } from \"@/types\";\nimport { createOverrideRules, ensurePackages, interopDefault } from \"@/utils\";\n\nconst tailwindcss = async (\n\toptions: OptionsOverrides & OptionsTailwindCSS = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { overrides, settings: tailwindCssSettings } = options;\n\n\tawait ensurePackages([\"eslint-plugin-tailwindcss\"]);\n\n\tconst eslintPluginTailwindCss = await interopDefault(import(\"eslint-plugin-tailwindcss\"));\n\n\treturn [\n\t\t{\n\t\t\tname: \"zayne/tailwindcss/setup\",\n\t\t\tplugins: {\n\t\t\t\ttailwindcss: eslintPluginTailwindCss,\n\t\t\t},\n\t\t\tsettings: {\n\t\t\t\ttailwindcss: {\n\t\t\t\t\tcallees: [\"tv\", \"cnMerge\", \"cn\", \"cnJoin\", \"twMerge\", \"twJoin\"],\n\t\t\t\t\tclassRegex: \"^class(Name|Names)?$\",\n\t\t\t\t\tcssFiles: [],\n\t\t\t\t\tremoveDuplicates: false, // Turned off cuz prettier already handles this via plugin\n\t\t\t\t\t...tailwindCssSettings,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\tname: \"zayne/tailwindcss/recommended\",\n\n\t\t\trules: eslintPluginTailwindCss.configs[\"flat/recommended\"][1]?.rules,\n\t\t},\n\n\t\t{\n\t\t\tname: \"zayne/tailwindcss/rules\",\n\n\t\t\trules: {\n\t\t\t\t\"tailwindcss/no-contradicting-classname\": \"off\", // Turned off cuz tw intellisense already handles this\n\t\t\t\t\"tailwindcss/no-custom-classname\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{ ignoredKeys: [\"compoundVariants\", \"defaultVariants\", \"responsiveVariants\"] },\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\n\t\tcreateOverrideRules({\n\t\t\tconfigName: \"tailwindcss\",\n\t\t\toverrides,\n\t\t}),\n\t];\n};\n\nexport { tailwindcss };\n","import { createOverrideRules, interopDefault, renamePluginInConfigs } from \"@/utils\";\nimport { defineConfig } from \"eslint/config\";\nimport { GLOB_ASTRO_TS, GLOB_MARKDOWN, GLOB_TS, GLOB_TSX } from \"../globs\";\nimport type {\n\tExtractOptions,\n\tOptionsConfig,\n\tOptionsTypeScriptParserOptions,\n\tOptionsTypeScriptWithTypes,\n\tTypedFlatConfigItem,\n} from \"../types\";\n\ntype OptionsTypescript = ExtractOptions<OptionsConfig[\"typescript\"]>;\n\nexport const typescript = async (\n\toptions: OptionsTypescript & OptionsTypeScriptParserOptions & OptionsTypeScriptWithTypes = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst {\n\t\tallowDefaultProjects,\n\t\tcomponentExts = [],\n\t\tfiles = [GLOB_TS, GLOB_TSX, ...componentExts.map((ext) => `**/*.${ext}`)],\n\t\tfilesTypeAware = [GLOB_TS, GLOB_TSX, ...componentExts.map((ext) => `**/*.${ext}`)],\n\t\tignoresTypeAware = [`${GLOB_MARKDOWN}/**`, GLOB_ASTRO_TS],\n\t\toverrides,\n\t\tparserOptions,\n\t\tstylistic = true,\n\t\ttsconfigPath,\n\t} = options;\n\n\tconst isTypeAware = Boolean(tsconfigPath);\n\n\tconst tsEslint = await interopDefault(import(\"typescript-eslint\"));\n\n\tconst projectServiceObject =\n\t\tisTypeAware\n\t\t&& (allowDefaultProjects\n\t\t\t? {\n\t\t\t\t\tprojectService: {\n\t\t\t\t\t\tallowDefaultProject: allowDefaultProjects,\n\t\t\t\t\t\tdefaultProject: tsconfigPath,\n\t\t\t\t\t},\n\t\t\t\t\ttsconfigRootDir: process.cwd(),\n\t\t\t\t}\n\t\t\t: {\n\t\t\t\t\tproject: tsconfigPath,\n\t\t\t\t\ttsconfigRootDir: process.cwd(),\n\t\t\t\t});\n\n\tconst makeParser = (parsedFiles: string[], ignores?: string[]): TypedFlatConfigItem => ({\n\t\tfiles: parsedFiles,\n\n\t\t...(ignores && { ignores }),\n\n\t\tlanguageOptions: {\n\t\t\tparser: tsEslint.parser,\n\n\t\t\tparserOptions: {\n\t\t\t\tecmaFeatures: { globalReturn: true },\n\n\t\t\t\textraFileExtensions: componentExts.map((ext) => `.${ext}`),\n\n\t\t\t\tsourceType: \"module\",\n\n\t\t\t\t...projectServiceObject,\n\n\t\t\t\t...parserOptions,\n\t\t\t},\n\t\t},\n\t});\n\n\tconst typeAwareRules: TypedFlatConfigItem[\"rules\"] = {\n\t\t\"ts-eslint/no-unnecessary-type-parameters\": \"off\",\n\t\t\"ts-eslint/non-nullable-type-assertion-style\": \"off\",\n\t\t\"ts-eslint/prefer-nullish-coalescing\": [\"error\", { ignoreConditionalTests: true }],\n\t\t\"ts-eslint/restrict-template-expressions\": [\n\t\t\t\"error\",\n\t\t\t{ allowBoolean: true, allowNullish: true, allowNumber: true },\n\t\t],\n\t\t\"ts-eslint/return-await\": [\"error\", \"in-try-catch\"],\n\t};\n\n\tconst selectedBaseRuleSet = isTypeAware ? \"strictTypeChecked\" : \"strict\";\n\tconst selectedStylisticRuleSet = isTypeAware ? \"strictTypeChecked\" : \"strict\";\n\n\treturn defineConfig([\n\t\t{\n\t\t\tname: `zayne/ts-eslint/${isTypeAware ? \"type-aware-setup\" : \"setup\"}`,\n\n\t\t\t...makeParser(files),\n\t\t\t...(isTypeAware && makeParser(filesTypeAware, ignoresTypeAware)),\n\t\t},\n\n\t\trenamePluginInConfigs({\n\t\t\tconfigs: tsEslint.configs[selectedBaseRuleSet],\n\t\t\toverrides: { files, name: `zayne/ts-eslint/${selectedBaseRuleSet}` },\n\t\t\trenameMap: { \"@typescript-eslint\": \"ts-eslint\" },\n\t\t}),\n\n\t\tstylistic\n\t\t\t? renamePluginInConfigs({\n\t\t\t\t\tconfigs: tsEslint.configs[selectedStylisticRuleSet],\n\t\t\t\t\toverrides: { files, name: `zayne/ts-eslint/${selectedStylisticRuleSet}` },\n\t\t\t\t\trenameMap: { \"@typescript-eslint\": \"ts-eslint\" },\n\t\t\t\t})\n\t\t\t: {},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tname: \"zayne/ts-eslint/rules\",\n\n\t\t\trules: {\n\t\t\t\t\"ts-eslint/array-type\": [\"error\", { default: \"array-simple\" }],\n\t\t\t\t\"ts-eslint/consistent-type-definitions\": [\"error\", \"type\"],\n\t\t\t\t\"ts-eslint/default-param-last\": \"error\",\n\t\t\t\t\"ts-eslint/member-ordering\": \"error\",\n\t\t\t\t\"ts-eslint/method-signature-style\": [\"error\", \"property\"],\n\t\t\t\t\"ts-eslint/no-confusing-void-expression\": \"off\",\n\t\t\t\t\"ts-eslint/no-empty-function\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t{ allow: [\"arrowFunctions\", \"functions\", \"methods\"] },\n\t\t\t\t],\n\t\t\t\t\"ts-eslint/no-import-type-side-effects\": \"error\",\n\t\t\t\t\"ts-eslint/no-shadow\": \"error\",\n\t\t\t\t\"ts-eslint/no-unused-expressions\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t{\n\t\t\t\t\t\tallowShortCircuit: true,\n\t\t\t\t\t\tallowTernary: true,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t\"ts-eslint/no-unused-vars\": [\"warn\", { argsIgnorePattern: \"^_\" }],\n\t\t\t\t\"ts-eslint/no-use-before-define\": \"off\",\n\t\t\t\t\"ts-eslint/no-useless-constructor\": \"error\",\n\n\t\t\t\t...(isTypeAware && typeAwareRules),\n\t\t\t},\n\t\t},\n\n\t\tcreateOverrideRules({ configName: \"ts-eslint\", files, overrides }),\n\t]);\n};\n","import { createOverrideRules, interopDefault } from \"@/utils\";\nimport type { OptionsAppType, OptionsOverrides, TypedFlatConfigItem } from \"../types\";\n\nexport const unicorn = async (\n\toptions: OptionsAppType & OptionsOverrides = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { overrides, type = \"app\" } = options;\n\n\tconst eslintPluginUnicorn = await interopDefault(import(\"eslint-plugin-unicorn\"));\n\n\treturn [\n\t\t{\n\t\t\t...eslintPluginUnicorn.configs[\"flat/recommended\"],\n\t\t\tname: \"zayne/unicorn/recommended\",\n\t\t},\n\n\t\t{\n\t\t\tname: \"zayne/unicorn/rules\",\n\n\t\t\trules: {\n\t\t\t\t\"unicorn/filename-case\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\tcases: {\n\t\t\t\t\t\t\tcamelCase: true,\n\t\t\t\t\t\t\tkebabCase: true,\n\t\t\t\t\t\t\tpascalCase: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t],\n\n\t\t\t\t...(type === \"app\"\n\t\t\t\t\t? {\n\t\t\t\t\t\t\t\"unicorn/prefer-global-this\": \"off\",\n\t\t\t\t\t\t}\n\t\t\t\t\t: {\n\t\t\t\t\t\t\t\"unicorn/prefer-global-this\": \"warn\",\n\t\t\t\t\t\t}),\n\n\t\t\t\t\"unicorn/new-for-builtins\": \"off\",\n\t\t\t\t\"unicorn/no-array-for-each\": \"off\",\n\t\t\t\t\"unicorn/no-array-reduce\": \"off\",\n\t\t\t\t\"unicorn/no-negated-condition\": \"off\",\n\t\t\t\t\"unicorn/no-null\": \"off\",\n\t\t\t\t\"unicorn/no-useless-undefined\": [\"error\", { checkArguments: true }],\n\t\t\t\t\"unicorn/numeric-separators-style\": \"off\",\n\t\t\t\t\"unicorn/prevent-abbreviations\": \"off\",\n\t\t\t},\n\t\t},\n\n\t\tcreateOverrideRules({\n\t\t\tconfigName: \"unicorn\",\n\t\t\toverrides,\n\t\t}),\n\t];\n};\n","import type {\n\tOptionsHasTypeScript,\n\tOptionsOverrides,\n\tOptionsStylistic,\n\tTypedFlatConfigItem,\n} from \"@/types\";\nimport { createOverrideRules, interopDefault } from \"@/utils\";\n\nconst imports = async (\n\toptions: OptionsHasTypeScript & OptionsOverrides & OptionsStylistic = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { overrides, stylistic = true, typescript = true } = options;\n\n\tconst eslintPluginImportX = await interopDefault(import(\"eslint-plugin-import-x\"));\n\n\treturn [\n\t\t{\n\t\t\tname: \"zayne/import/setup\",\n\n\t\t\tplugins: {\n\t\t\t\timport: eslintPluginImportX,\n\t\t\t},\n\n\t\t\t...(typescript && {\n\t\t\t\tsettings: eslintPluginImportX.flatConfigs.typescript.settings,\n\t\t\t}),\n\t\t},\n\n\t\t{\n\t\t\tname: \"zayne/import/recommended\",\n\n\t\t\trules: {\n\t\t\t\t...eslintPluginImportX.flatConfigs.recommended.rules,\n\t\t\t\t...(typescript && eslintPluginImportX.flatConfigs.typescript.rules),\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\tname: \"zayne/import/rules\",\n\n\t\t\trules: {\n\t\t\t\t\"import/extensions\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t\"never\",\n\t\t\t\t\t{ ignorePackages: true, pattern: { png: \"always\", svg: \"always\" } },\n\t\t\t\t],\n\t\t\t\t\"import/first\": \"error\",\n\t\t\t\t\"import/no-absolute-path\": \"error\",\n\t\t\t\t\"import/no-cycle\": [\"error\", { ignoreExternal: true, maxDepth: 3 }],\n\t\t\t\t\"import/no-duplicates\": \"error\",\n\t\t\t\t\"import/no-extraneous-dependencies\": [\"error\", { devDependencies: true }],\n\t\t\t\t\"import/no-mutable-exports\": \"error\",\n\t\t\t\t\"import/no-named-default\": \"error\",\n\t\t\t\t\"import/no-relative-packages\": \"error\",\n\t\t\t\t\"import/no-self-import\": \"error\",\n\t\t\t\t\"import/no-unresolved\": \"off\",\n\t\t\t\t\"import/no-useless-path-segments\": [\"error\", { commonjs: true }],\n\t\t\t\t\"import/no-webpack-loader-syntax\": \"error\",\n\n\t\t\t\t...(stylistic && { \"import/newline-after-import\": \"error\" }),\n\t\t\t},\n\t\t},\n\n\t\tcreateOverrideRules({\n\t\t\tconfigName: \"import\",\n\t\t\toverrides,\n\t\t}),\n\t];\n};\n\nexport { imports };\n","import type { OptionsOverrides, TypedFlatConfigItem } from \"@/types\";\nimport { createOverrideRules, interopDefault } from \"@/utils\";\n\nconst perfectionist = async (options: OptionsOverrides = {}): Promise<TypedFlatConfigItem[]> => {\n\tconst { overrides } = options;\n\n\tconst eslintPluginPerfectionist = await interopDefault(import(\"eslint-plugin-perfectionist\"));\n\n\treturn [\n\t\t{\n\t\t\tname: \"zayne/perfectionist/rules\",\n\n\t\t\tplugins: {\n\t\t\t\tperfectionist: eslintPluginPerfectionist,\n\t\t\t},\n\n\t\t\trules: {\n\t\t\t\t\"perfectionist/sort-array-includes\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\torder: \"asc\",\n\t\t\t\t\t\ttype: \"alphabetical\",\n\t\t\t\t\t},\n\t\t\t\t],\n\n\t\t\t\t\"perfectionist/sort-classes\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\torder: \"asc\",\n\t\t\t\t\t\ttype: \"alphabetical\",\n\t\t\t\t\t},\n\t\t\t\t],\n\n\t\t\t\t\"perfectionist/sort-interfaces\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\torder: \"asc\",\n\t\t\t\t\t\ttype: \"alphabetical\",\n\t\t\t\t\t},\n\t\t\t\t],\n\n\t\t\t\t\"perfectionist/sort-intersection-types\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\tgroups: [\n\t\t\t\t\t\t\t\"conditional\",\n\t\t\t\t\t\t\t\"literal\",\n\t\t\t\t\t\t\t\"import\",\n\t\t\t\t\t\t\t\"intersection\",\n\t\t\t\t\t\t\t\"keyword\",\n\t\t\t\t\t\t\t\"tuple\",\n\t\t\t\t\t\t\t\"named\",\n\t\t\t\t\t\t\t\"object\",\n\t\t\t\t\t\t\t\"function\",\n\t\t\t\t\t\t\t\"operator\",\n\t\t\t\t\t\t\t\"union\",\n\t\t\t\t\t\t\t\"nullish\",\n\t\t\t\t\t\t],\n\t\t\t\t\t\torder: \"asc\",\n\t\t\t\t\t\ttype: \"alphabetical\",\n\t\t\t\t\t},\n\t\t\t\t],\n\n\t\t\t\t\"perfectionist/sort-maps\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\torder: \"asc\",\n\t\t\t\t\t\ttype: \"alphabetical\",\n\t\t\t\t\t},\n\t\t\t\t],\n\n\t\t\t\t\"perfectionist/sort-object-types\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\torder: \"asc\",\n\t\t\t\t\t\ttype: \"alphabetical\",\n\t\t\t\t\t},\n\t\t\t\t],\n\n\t\t\t\t\"perfectionist/sort-objects\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\torder: \"asc\",\n\t\t\t\t\t\ttype: \"alphabetical\",\n\t\t\t\t\t},\n\t\t\t\t],\n\n\t\t\t\t\"perfectionist/sort-switch-case\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\torder: \"asc\",\n\t\t\t\t\t\ttype: \"alphabetical\",\n\t\t\t\t\t},\n\t\t\t\t],\n\n\t\t\t\t\"perfectionist/sort-union-types\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\tgroups: [\n\t\t\t\t\t\t\t\"conditional\",\n\t\t\t\t\t\t\t\"literal\",\n\t\t\t\t\t\t\t\"import\",\n\t\t\t\t\t\t\t\"intersection\",\n\t\t\t\t\t\t\t\"keyword\",\n\t\t\t\t\t\t\t\"tuple\",\n\t\t\t\t\t\t\t\"named\",\n\t\t\t\t\t\t\t\"object\",\n\t\t\t\t\t\t\t\"function\",\n\t\t\t\t\t\t\t\"operator\",\n\t\t\t\t\t\t\t\"union\",\n\t\t\t\t\t\t\t\"nullish\",\n\t\t\t\t\t\t],\n\t\t\t\t\t\torder: \"asc\",\n\t\t\t\t\t\ttype: \"alphabetical\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t\"perfectionist/sort-variable-declarations\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\torder: \"asc\",\n\t\t\t\t\t\ttype: \"alphabetical\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t// \"perfectionist/sort-svelte-attributes\": [\n\t\t\t\t// \t\"warn\",\n\t\t\t\t// \t{\n\t\t\t\t// \t\torder: \"asc\",\n\t\t\t\t// \t\ttype: \"alphabetical\",\n\t\t\t\t// \t},\n\t\t\t\t// ],\n\t\t\t\t// \"perfectionist/sort-astro-attributes\": [\n\t\t\t\t// \t\"warn\",\n\t\t\t\t// \t{\n\t\t\t\t// \t\torder: \"asc\",\n\t\t\t\t// \t\ttype: \"alphabetical\",\n\t\t\t\t// \t},\n\t\t\t\t// ],\n\t\t\t\t// \"perfectionist/sort-vue-attributes\": [\n\t\t\t\t// \t\"warn\",\n\t\t\t\t// \t{\n\t\t\t\t// \t\torder: \"asc\",\n\t\t\t\t// \t\ttype: \"alphabetical\",\n\t\t\t\t// \t},\n\t\t\t\t// ],\n\t\t\t\t// \"perfectionist/sort-jsx-props\": [\n\t\t\t\t// \t\"warn\",\n\t\t\t\t// \t{\n\t\t\t\t// \t\t// ignorePattern: [\"src\"],\n\t\t\t\t// \t\torder: \"asc\",\n\t\t\t\t// \t\ttype: \"alphabetical\",\n\t\t\t\t// \t},\n\t\t\t\t// ],\n\t\t\t},\n\t\t},\n\n\t\tcreateOverrideRules({\n\t\t\tconfigName: \"perfectionist\",\n\t\t\toverrides,\n\t\t}),\n\t];\n};\n\nexport { perfectionist };\n","import type { OptionsHasJsx, OptionsOverrides, TypedFlatConfigItem } from \"@/types\";\nimport { createOverrideRules, interopDefault } from \"@/utils\";\n\nconst stylistic = async (\n\toptions: OptionsHasJsx & OptionsOverrides = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { jsx = true, overrides } = options;\n\tconst eslintPluginStylistic = await interopDefault(import(\"@stylistic/eslint-plugin\"));\n\n\treturn [\n\t\t// == Stylistic Rules (Optional)\n\t\t{\n\t\t\tname: \"zayne/stylistic/rules\",\n\n\t\t\tplugins: {\n\t\t\t\tstylistic: eslintPluginStylistic,\n\t\t\t},\n\n\t\t\trules: {\n\t\t\t\t\"stylistic/no-floating-decimal\": \"error\",\n\t\t\t\t\"stylistic/spaced-comment\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t\"always\",\n\t\t\t\t\t{\n\t\t\t\t\t\tblock: {\n\t\t\t\t\t\t\tbalanced: true,\n\t\t\t\t\t\t\texceptions: [\"*\"],\n\t\t\t\t\t\t\tmarkers: [\"!\"],\n\t\t\t\t\t\t},\n\t\t\t\t\t\tline: {\n\t\t\t\t\t\t\texceptions: [\"/\", \"#\"],\n\t\t\t\t\t\t\tmarkers: [\"/\"],\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t],\n\n\t\t\t\t...(jsx && {\n\t\t\t\t\t\"stylistic/jsx-self-closing-comp\": \"warn\",\n\t\t\t\t}),\n\t\t\t},\n\t\t},\n\n\t\tcreateOverrideRules({\n\t\t\tconfigName: \"stylistic\",\n\t\t\toverrides,\n\t\t}),\n\t];\n};\n\nexport { stylistic };\n","import { GLOB_JSON, GLOB_JSON5, GLOB_JSONC } from \"@/globs\";\nimport type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"@/types\";\nimport { createOverrideRules, interopDefault } from \"@/utils\";\n\nconst jsonc = async (\n\toptions: ExtractOptions<OptionsConfig[\"jsonc\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { files = [GLOB_JSON, GLOB_JSON5, GLOB_JSONC], overrides, stylistic = true } = options;\n\n\tconst [eslintPluginJsonc, jsoncParser] = await Promise.all([\n\t\tinteropDefault(import(\"eslint-plugin-jsonc\")),\n\t\tinteropDefault(import(\"jsonc-eslint-parser\")),\n\t] as const);\n\n\treturn [\n\t\t{\n\t\t\tname: \"zayne/jsonc/setup\",\n\n\t\t\tplugins: {\n\t\t\t\tjsonc: eslintPluginJsonc,\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tlanguageOptions: {\n\t\t\t\tparser: jsoncParser,\n\t\t\t},\n\n\t\t\tname: \"zayne/jsonc/rules\",\n\n\t\t\trules: {\n\t\t\t\t\"jsonc/no-bigint-literals\": \"error\",\n\t\t\t\t\"jsonc/no-binary-expression\": \"error\",\n\t\t\t\t\"jsonc/no-binary-numeric-literals\": \"error\",\n\t\t\t\t\"jsonc/no-dupe-keys\": \"error\",\n\t\t\t\t\"jsonc/no-escape-sequence-in-identifier\": \"error\",\n\t\t\t\t\"jsonc/no-floating-decimal\": \"error\",\n\t\t\t\t\"jsonc/no-hexadecimal-numeric-literals\": \"error\",\n\t\t\t\t\"jsonc/no-infinity\": \"error\",\n\t\t\t\t\"jsonc/no-multi-str\": \"error\",\n\t\t\t\t\"jsonc/no-nan\": \"error\",\n\t\t\t\t\"jsonc/no-number-props\": \"error\",\n\t\t\t\t\"jsonc/no-numeric-separators\": \"error\",\n\t\t\t\t\"jsonc/no-octal\": \"error\",\n\t\t\t\t\"jsonc/no-octal-escape\": \"error\",\n\t\t\t\t\"jsonc/no-octal-numeric-literals\": \"error\",\n\t\t\t\t\"jsonc/no-parenthesized\": \"error\",\n\t\t\t\t\"jsonc/no-plus-sign\": \"error\",\n\t\t\t\t\"jsonc/no-regexp-literals\": \"error\",\n\t\t\t\t\"jsonc/no-sparse-arrays\": \"error\",\n\t\t\t\t\"jsonc/no-template-literals\": \"error\",\n\t\t\t\t\"jsonc/no-undefined-value\": \"error\",\n\t\t\t\t\"jsonc/no-unicode-codepoint-escapes\": \"error\",\n\t\t\t\t\"jsonc/no-useless-escape\": \"error\",\n\t\t\t\t\"jsonc/space-unary-ops\": \"error\",\n\t\t\t\t\"jsonc/valid-json-number\": \"error\",\n\t\t\t\t\"jsonc/vue-custom-block/no-parsing-error\": \"error\",\n\n\t\t\t\t...(stylistic && {\n\t\t\t\t\t\"jsonc/array-bracket-spacing\": [\"error\", \"never\"],\n\t\t\t\t\t\"jsonc/comma-dangle\": [\"error\", \"never\"],\n\t\t\t\t\t\"jsonc/comma-style\": [\"error\", \"last\"],\n\t\t\t\t\t\"jsonc/key-spacing\": [\"error\", { afterColon: true, beforeColon: false }],\n\t\t\t\t\t\"jsonc/object-curly-newline\": [\"error\", { consistent: true, multiline: true }],\n\t\t\t\t\t\"jsonc/object-curly-spacing\": [\"error\", \"always\"],\n\t\t\t\t\t\"jsonc/object-property-newline\": [\"error\", { allowMultiplePropertiesPerLine: true }],\n\t\t\t\t\t\"jsonc/quote-props\": \"error\",\n\t\t\t\t\t\"jsonc/quotes\": \"error\",\n\t\t\t\t}),\n\t\t\t},\n\t\t},\n\n\t\tcreateOverrideRules({\n\t\t\tconfigName: \"jsonc\",\n\t\t\tfiles,\n\t\t\toverrides,\n\t\t}),\n\t];\n};\n\nexport { jsonc };\n","import type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"@/types\";\nimport { createOverrideRules, interopDefault } from \"@/utils\";\n\nconst jsdoc = async (\n\toptions: ExtractOptions<OptionsConfig[\"jsdoc\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { overrides, stylistic = true } = options;\n\n\tconst eslintPluginJsdoc = await interopDefault(import(\"eslint-plugin-jsdoc\"));\n\n\treturn [\n\t\t{\n\t\t\tname: \"zayne/jsdoc/rules\",\n\n\t\t\tplugins: {\n\t\t\t\tjsdoc: eslintPluginJsdoc,\n\t\t\t},\n\n\t\t\trules: {\n\t\t\t\t\"jsdoc/check-access\": \"warn\",\n\t\t\t\t\"jsdoc/check-param-names\": \"warn\",\n\t\t\t\t\"jsdoc/check-property-names\": \"warn\",\n\t\t\t\t\"jsdoc/check-types\": \"warn\",\n\t\t\t\t\"jsdoc/empty-tags\": \"warn\",\n\t\t\t\t\"jsdoc/implements-on-classes\": \"warn\",\n\t\t\t\t\"jsdoc/no-defaults\": \"warn\",\n\t\t\t\t\"jsdoc/no-multi-asterisks\": \"warn\",\n\t\t\t\t\"jsdoc/require-description\": [\"warn\", { descriptionStyle: \"any\" }],\n\t\t\t\t\"jsdoc/require-param-name\": \"warn\",\n\t\t\t\t\"jsdoc/require-property\": \"warn\",\n\t\t\t\t\"jsdoc/require-property-description\": \"warn\",\n\t\t\t\t\"jsdoc/require-property-name\": \"warn\",\n\t\t\t\t\"jsdoc/require-returns-check\": \"warn\",\n\t\t\t\t\"jsdoc/require-returns-description\": \"warn\",\n\t\t\t\t\"jsdoc/require-yields-check\": \"warn\",\n\n\t\t\t\t...(stylistic && {\n\t\t\t\t\t\"jsdoc/check-alignment\": \"warn\",\n\t\t\t\t\t\"jsdoc/multiline-blocks\": \"warn\",\n\t\t\t\t\t\"jsdoc/require-description\": [\"warn\", { descriptionStyle: \"tag\" }],\n\t\t\t\t}),\n\t\t\t},\n\t\t},\n\n\t\tcreateOverrideRules({\n\t\t\tconfigName: \"jsdoc\",\n\t\t\toverrides,\n\t\t}),\n\t];\n};\n\nexport { jsdoc };\n","import { defineEnum } from \"@zayne-labs/toolkit-type-helpers\";\n\nexport const defaultPluginRenameMap = defineEnum({\n\t\"@eslint-react/debug\": \"react-debug\",\n\t\"@eslint-react/dom\": \"react-dom\",\n\t\"@eslint-react/hooks-extra\": \"react-hooks-extra\",\n\t\"@eslint-react/naming-convention\": \"react-naming-convention\",\n\t\"@eslint-react/web-api\": \"react-web-api\",\n\t/* eslint-disable perfectionist/sort-objects -- @eslint-react has to be below the rest to avoid plugin rename issues */\n\t\"@eslint-react\": \"react\",\n\t/* eslint-enable perfectionist/sort-objects -- @eslint-react has to be below the rest to avoid plugin rename issues */\n\n\t\"@next/next\": \"nextjs-next\",\n\n\t\"@stylistic\": \"stylistic\",\n\n\t\"@tanstack/query\": \"tanstack-query\",\n\n\t\"@typescript-eslint\": \"ts-eslint\",\n\n\t\"import-x\": \"import\",\n\n\tn: \"node\",\n});\n","import { defaultPluginRenameMap } from \"@/constants\";\nimport { GLOB_SRC } from \"@/globs\";\nimport type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"@/types\";\nimport { createOverrideRules, ensurePackages, interopDefault, renamePlugins, renameRules } from \"@/utils\";\nimport { fixupPluginRules } from \"@eslint/compat\";\nimport { defineConfig } from \"eslint/config\";\nimport { isPackageExists } from \"local-pkg\";\n\n// react refresh\nconst ReactRefreshAllowConstantExportPackages = [\"vite\"];\nconst RemixPackages = [\"@remix-run/node\", \"@remix-run/react\", \"@remix-run/serve\", \"@remix-run/dev\"];\nconst NextJsPackages = [\"next\"];\n\nconst isAllowConstantExport = ReactRefreshAllowConstantExportPackages.some((i) => isPackageExists(i));\nconst isUsingRemix = RemixPackages.some((i) => isPackageExists(i));\nconst isUsingNext = NextJsPackages.some((i) => isPackageExists(i));\n\nconst react = async (\n\toptions: ExtractOptions<OptionsConfig[\"react\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst {\n\t\tcompiler = false,\n\t\tfiles = [GLOB_SRC],\n\t\tnextjs = isUsingNext,\n\t\toverrides,\n\t\trefresh = true,\n\t\ttypescript = true,\n\t} = options;\n\n\tawait ensurePackages([\n\t\t\"@eslint-react/eslint-plugin\",\n\t\t\"eslint-plugin-react-hooks\",\n\t\t...(refresh ? [\"eslint-plugin-react-refresh\"] : []),\n\t\t...(compiler ? [\"eslint-plugin-react-compiler\"] : []),\n\t\t...(nextjs ? [\"@next/eslint-plugin-next\"] : []),\n\t]);\n\n\tconst [eslintPluginReact, eslintReactHooks, eslintPluginReactRefresh] = await Promise.all([\n\t\tinteropDefault(import(\"@eslint-react/eslint-plugin\")),\n\t\tinteropDefault(import(\"eslint-plugin-react-hooks\")),\n\t\t...(refresh ? [interopDefault(import(\"eslint-plugin-react-refresh\"))] : []),\n\t]);\n\n\tconst eslintPluginReactCompiler =\n\t\tcompiler && (await interopDefault(import(\"eslint-plugin-react-compiler\")));\n\n\tconst eslintPluginNextjs = nextjs && (await interopDefault(import(\"@next/eslint-plugin-next\")));\n\n\t// prettier-ignore\n\tconst recommendedReactConfig = eslintPluginReact.configs[typescript ? \"recommended-type-checked\" : \"recommended\"];\n\n\tconst config: TypedFlatConfigItem[] = [\n\t\t{\n\t\t\tlanguageOptions: {\n\t\t\t\tparserOptions: {\n\t\t\t\t\tecmaFeatures: {\n\t\t\t\t\t\tjsx: true,\n\t\t\t\t\t},\n\t\t\t\t\tsourceType: \"module\",\n\n\t\t\t\t\t...(typescript && { parser: await interopDefault(import(\"@typescript-eslint/parser\")) }),\n\t\t\t\t},\n\t\t\t},\n\n\t\t\tname: \"zayne/react/setup\",\n\n\t\t\tplugins: {\n\t\t\t\t...renamePlugins(recommendedReactConfig.plugins, defaultPluginRenameMap),\n\t\t\t\t\"react-hooks\": eslintReactHooks,\n\t\t\t},\n\n\t\t\tsettings: recommendedReactConfig.settings,\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tname: \"zayne/react/recommended\",\n\n\t\t\trules: renameRules(recommendedReactConfig.rules, defaultPluginRenameMap),\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tname: \"zayne/react/rules\",\n\n\t\t\trules: {\n\t\t\t\t// Hook Extra rules\n\t\t\t\t\"react-hooks-extra/ensure-custom-hooks-using-other-hooks\": \"error\",\n\t\t\t\t\"react-hooks-extra/no-unnecessary-use-callback\": \"warn\",\n\t\t\t\t\"react-hooks-extra/no-unnecessary-use-memo\": \"warn\",\n\t\t\t\t\"react-hooks-extra/prefer-use-state-lazy-initialization\": \"error\",\n\n\t\t\t\t// Hook rules\n\t\t\t\t\"react-hooks/exhaustive-deps\": \"warn\",\n\t\t\t\t\"react-hooks/rules-of-hooks\": \"error\",\n\n\t\t\t\t// Naming convention rules\n\t\t\t\t\"react-naming-convention/component-name\": \"warn\",\n\t\t\t\t\"react-naming-convention/use-state\": \"off\",\n\n\t\t\t\t// Regular React rules\n\t\t\t\t\"react/avoid-shorthand-boolean\": \"error\",\n\t\t\t\t\"react/function-component-definition\": \"off\",\n\t\t\t\t\"react/no-array-index-key\": \"error\",\n\t\t\t\t\"react/no-children-count\": \"off\",\n\t\t\t\t\"react/no-children-only\": \"off\",\n\t\t\t\t\"react/no-children-prop\": \"error\",\n\t\t\t\t\"react/no-clone-element\": \"off\",\n\t\t\t\t\"react/no-complex-conditional-rendering\": \"warn\",\n\t\t\t\t\"react/no-missing-component-display-name\": \"error\",\n\t\t\t\t\"react/no-useless-fragment\": \"error\",\n\t\t\t\t\"react/prefer-destructuring-assignment\": \"error\",\n\t\t\t\t\"react/prefer-read-only-props\": \"off\",\n\t\t\t\t\"react/prefer-shorthand-fragment\": \"error\",\n\t\t\t},\n\t\t},\n\t];\n\n\tif (refresh && eslintPluginReactRefresh) {\n\t\tconfig.push({\n\t\t\tfiles,\n\n\t\t\tname: \"zayne/react/refresh\",\n\n\t\t\tplugins: {\n\t\t\t\t\"react-refresh\": eslintPluginReactRefresh,\n\t\t\t},\n\n\t\t\trules: {\n\t\t\t\t\"react-refresh/only-export-components\": [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t{\n\t\t\t\t\t\tallowConstantExport: isAllowConstantExport,\n\t\t\t\t\t\tallowExportNames: [\n\t\t\t\t\t\t\t...(isUsingNext\n\t\t\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t\t\t\"dynamic\",\n\t\t\t\t\t\t\t\t\t\t\"dynamicParams\",\n\t\t\t\t\t\t\t\t\t\t\"revalidate\",\n\t\t\t\t\t\t\t\t\t\t\"fetchCache\",\n\t\t\t\t\t\t\t\t\t\t\"runtime\",\n\t\t\t\t\t\t\t\t\t\t\"preferredRegion\",\n\t\t\t\t\t\t\t\t\t\t\"maxDuration\",\n\t\t\t\t\t\t\t\t\t\t\"config\",\n\t\t\t\t\t\t\t\t\t\t\"generateStaticParams\",\n\t\t\t\t\t\t\t\t\t\t\"metadata\",\n\t\t\t\t\t\t\t\t\t\t\"generateMetadata\",\n\t\t\t\t\t\t\t\t\t\t\"viewport\",\n\t\t\t\t\t\t\t\t\t\t\"generateViewport\",\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t: []),\n\t\t\t\t\t\t\t...(isUsingRemix ? [\"meta\", \"links\", \"headers\", \"loader\", \"action\"] : []),\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t});\n\t}\n\n\tif (compiler && eslintPluginReactCompiler) {\n\t\tconfig.push({\n\t\t\tfiles,\n\n\t\t\tname: \"zayne/react/compiler\",\n\n\t\t\tplugins: {\n\t\t\t\t\"react-compiler\": eslintPluginReactCompiler,\n\t\t\t},\n\n\t\t\trules: {\n\t\t\t\t\"react-compiler/react-compiler\": \"error\",\n\t\t\t},\n\t\t});\n\t}\n\n\tif (nextjs && eslintPluginNextjs) {\n\t\tconfig.push({\n\t\t\tfiles,\n\n\t\t\tname: \"zayne/react/nextjs\",\n\n\t\t\tplugins: {\n\t\t\t\t\"nextjs-next\": fixupPluginRules(eslintPluginNextjs),\n\t\t\t},\n\n\t\t\trules: renameRules(\n\t\t\t\t// eslint-disable-next-line ts-eslint/no-unsafe-argument -- missing types\n\t\t\t\t{\n\t\t\t\t\t// @ts-expect-error -- missing types\n\t\t\t\t\t// eslint-disable-next-line ts-eslint/no-unsafe-member-access -- missing types\n\t\t\t\t\t...eslintPluginNextjs.configs?.recommended?.rules,\n\n\t\t\t\t\t// @ts-expect-error -- missing types\n\t\t\t\t\t// eslint-disable-next-line ts-eslint/no-unsafe-member-access -- missing types\n\t\t\t\t\t...eslintPluginNextjs.configs?.[\"core-web-vitals\"]?.rules,\n\t\t\t\t},\n\t\t\t\tdefaultPluginRenameMap\n\t\t\t),\n\t\t});\n\t}\n\n\treturn defineConfig([config, createOverrideRules({ configName: \"react\", files, overrides })]);\n};\n\nexport { react };\n","import type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"@/types\";\nimport { createOverrideRules, ensurePackages, interopDefault, renameRules } from \"@/utils\";\nimport { defineConfig } from \"eslint/config\";\nimport { defaultPluginRenameMap } from \"../constants\";\n\nconst tanstack = async (\n\toptions: ExtractOptions<OptionsConfig[\"tanstack\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { overrides, query = true } = options;\n\n\tconst config: TypedFlatConfigItem[] = [];\n\n\tawait ensurePackages([...(query ? [\"@tanstack/eslint-plugin-query\"] : [])]);\n\n\tconst [eslintPluginTanstackQuery] = await Promise.all(\n\t\tquery ? [interopDefault(import(\"@tanstack/eslint-plugin-query\"))] : []\n\t);\n\n\tif (query && eslintPluginTanstackQuery) {\n\t\tconfig.push({\n\t\t\tname: \"zayne/tanstack-query/recommended\",\n\n\t\t\tplugins: {\n\t\t\t\t\"tanstack-query\": eslintPluginTanstackQuery,\n\t\t\t},\n\n\t\t\trules: renameRules(\n\t\t\t\teslintPluginTanstackQuery.configs[\"flat/recommended\"][0]?.rules,\n\t\t\t\tdefaultPluginRenameMap\n\t\t\t),\n\t\t});\n\t}\n\n\treturn defineConfig([\n\t\tconfig,\n\n\t\tcreateOverrideRules({\n\t\t\tconfigName: \"tanstack\",\n\t\t\toverrides,\n\t\t}),\n\t]);\n};\n\nexport { tanstack };\n","import type { TypedFlatConfigItem } from \"@/types\";\n\n/**\n * @description - Sort package.json\n *\n * Requires `jsonc` config\n */\nexport const sortPackageJson = (): TypedFlatConfigItem[] => [\n\t{\n\t\tfiles: [\"**/package.json\"],\n\n\t\tname: \"zayne/sort/package.json\",\n\n\t\trules: {\n\t\t\t\"jsonc/sort-array-values\": [\n\t\t\t\t\"error\",\n\t\t\t\t{\n\t\t\t\t\torder: { type: \"asc\" },\n\t\t\t\t\tpathPattern: \"^files$\",\n\t\t\t\t},\n\t\t\t],\n\t\t\t\"jsonc/sort-keys\": [\n\t\t\t\t\"error\",\n\t\t\t\t{\n\t\t\t\t\torder: [\n\t\t\t\t\t\t\"publisher\",\n\t\t\t\t\t\t\"name\",\n\t\t\t\t\t\t\"displayName\",\n\t\t\t\t\t\t\"type\",\n\t\t\t\t\t\t\"version\",\n\t\t\t\t\t\t\"private\",\n\t\t\t\t\t\t\"packageManager\",\n\t\t\t\t\t\t\"description\",\n\t\t\t\t\t\t\"author\",\n\t\t\t\t\t\t\"contributors\",\n\t\t\t\t\t\t\"license\",\n\t\t\t\t\t\t\"funding\",\n\t\t\t\t\t\t\"homepage\",\n\t\t\t\t\t\t\"repository\",\n\t\t\t\t\t\t\"bugs\",\n\t\t\t\t\t\t\"keywords\",\n\t\t\t\t\t\t\"categories\",\n\t\t\t\t\t\t\"sideEffects\",\n\t\t\t\t\t\t\"exports\",\n\t\t\t\t\t\t\"main\",\n\t\t\t\t\t\t\"module\",\n\t\t\t\t\t\t\"unpkg\",\n\t\t\t\t\t\t\"jsdelivr\",\n\t\t\t\t\t\t\"types\",\n\t\t\t\t\t\t\"typesVersions\",\n\t\t\t\t\t\t\"bin\",\n\t\t\t\t\t\t\"icon\",\n\t\t\t\t\t\t\"files\",\n\t\t\t\t\t\t\"engines\",\n\t\t\t\t\t\t\"activationEvents\",\n\t\t\t\t\t\t\"contributes\",\n\t\t\t\t\t\t\"scripts\",\n\t\t\t\t\t\t\"peerDependencies\",\n\t\t\t\t\t\t\"peerDependenciesMeta\",\n\t\t\t\t\t\t\"dependencies\",\n\t\t\t\t\t\t\"optionalDependencies\",\n\t\t\t\t\t\t\"devDependencies\",\n\t\t\t\t\t\t\"pnpm\",\n\t\t\t\t\t\t\"overrides\",\n\t\t\t\t\t\t\"resolutions\",\n\t\t\t\t\t\t\"husky\",\n\t\t\t\t\t\t\"simple-git-hooks\",\n\t\t\t\t\t\t\"lint-staged\",\n\t\t\t\t\t\t\"eslintConfig\",\n\t\t\t\t\t],\n\t\t\t\t\tpathPattern: \"^$\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\torder: { type: \"asc\" },\n\t\t\t\t\tpathPattern: \"^(?:dev|peer|optional|bundled)?[Dd]ependencies(Meta)?$\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\torder: { type: \"asc\" },\n\t\t\t\t\tpathPattern: \"scripts\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\torder: { type: \"asc\" },\n\t\t\t\t\tpathPattern: \"^(?:resolutions|overrides|pnpm.overrides)$\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\torder: [\"types\", \"import\", \"require\", \"default\"],\n\t\t\t\t\tpathPattern: \"^exports.*$\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\torder: [\n\t\t\t\t\t\t// client hooks only\n\t\t\t\t\t\t\"pre-commit\",\n\t\t\t\t\t\t\"prepare-commit-msg\",\n\t\t\t\t\t\t\"commit-msg\",\n\t\t\t\t\t\t\"post-commit\",\n\t\t\t\t\t\t\"pre-rebase\",\n\t\t\t\t\t\t\"post-rewrite\",\n\t\t\t\t\t\t\"post-checkout\",\n\t\t\t\t\t\t\"post-merge\",\n\t\t\t\t\t\t\"pre-push\",\n\t\t\t\t\t\t\"pre-auto-gc\",\n\t\t\t\t\t],\n\t\t\t\t\tpathPattern: \"^(?:gitHooks|husky|simple-git-hooks)$\",\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t},\n];\n\n/**\n * Sort tsconfig.json\n *\n * Requires `jsonc` config\n */\n\nexport const sortTsconfig = (): TypedFlatConfigItem[] => [\n\t{\n\t\tfiles: [\"**/tsconfig.json\", \"**/tsconfig.*.json\"],\n\n\t\tname: \"zayne/sort/tsconfig.json\",\n\n\t\trules: {\n\t\t\t\"jsonc/sort-keys\": [\n\t\t\t\t\"error\",\n\t\t\t\t{\n\t\t\t\t\torder: [\"extends\", \"compilerOptions\", \"references\", \"files\", \"include\", \"exclude\"],\n\t\t\t\t\tpathPattern: \"^$\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\torder: [\n\t\t\t\t\t\t/* Projects */\n\t\t\t\t\t\t\"incremental\",\n\t\t\t\t\t\t\"composite\",\n\t\t\t\t\t\t\"tsBuildInfoFile\",\n\t\t\t\t\t\t\"disableSourceOfProjectReferenceRedirect\",\n\t\t\t\t\t\t\"disableSolutionSearching\",\n\t\t\t\t\t\t\"disableReferencedProjectLoad\",\n\t\t\t\t\t\t/* Language and Environment */\n\t\t\t\t\t\t\"target\",\n\t\t\t\t\t\t\"jsx\",\n\t\t\t\t\t\t\"jsxFactory\",\n\t\t\t\t\t\t\"jsxFragmentFactory\",\n\t\t\t\t\t\t\"jsxImportSource\",\n\t\t\t\t\t\t\"lib\",\n\t\t\t\t\t\t\"moduleDetection\",\n\t\t\t\t\t\t\"noLib\",\n\t\t\t\t\t\t\"reactNamespace\",\n\t\t\t\t\t\t\"useDefineForClassFields\",\n\t\t\t\t\t\t\"emitDecoratorMetadata\",\n\t\t\t\t\t\t\"experimentalDecorators\",\n\t\t\t\t\t\t/* Modules */\n\t\t\t\t\t\t\"baseUrl\",\n\t\t\t\t\t\t\"rootDir\",\n\t\t\t\t\t\t\"rootDirs\",\n\t\t\t\t\t\t\"customConditions\",\n\t\t\t\t\t\t\"module\",\n\t\t\t\t\t\t\"moduleResolution\",\n\t\t\t\t\t\t\"moduleSuffixes\",\n\t\t\t\t\t\t\"noResolve\",\n\t\t\t\t\t\t\"paths\",\n\t\t\t\t\t\t\"resolveJsonModule\",\n\t\t\t\t\t\t\"resolvePackageJsonExports\",\n\t\t\t\t\t\t\"resolvePackageJsonImports\",\n\t\t\t\t\t\t\"typeRoots\",\n\t\t\t\t\t\t\"types\",\n\t\t\t\t\t\t\"allowArbitraryExtensions\",\n\t\t\t\t\t\t\"allowImportingTsExtensions\",\n\t\t\t\t\t\t\"allowUmdGlobalAccess\",\n\t\t\t\t\t\t/* JavaScript Support */\n\t\t\t\t\t\t\"allowJs\",\n\t\t\t\t\t\t\"checkJs\",\n\t\t\t\t\t\t\"maxNodeModuleJsDepth\",\n\t\t\t\t\t\t/* Type Checking */\n\t\t\t\t\t\t\"strict\",\n\t\t\t\t\t\t\"strictBindCallApply\",\n\t\t\t\t\t\t\"strictFunctionTypes\",\n\t\t\t\t\t\t\"strictNullChecks\",\n\t\t\t\t\t\t\"strictPropertyInitialization\",\n\t\t\t\t\t\t\"allowUnreachableCode\",\n\t\t\t\t\t\t\"allowUnusedLabels\",\n\t\t\t\t\t\t\"alwaysStrict\",\n\t\t\t\t\t\t\"exactOptionalPropertyTypes\",\n\t\t\t\t\t\t\"noFallthroughCasesInSwitch\",\n\t\t\t\t\t\t\"noImplicitAny\",\n\t\t\t\t\t\t\"noImplicitOverride\",\n\t\t\t\t\t\t\"noImplicitReturns\",\n\t\t\t\t\t\t\"noImplicitThis\",\n\t\t\t\t\t\t\"noPropertyAccessFromIndexSignature\",\n\t\t\t\t\t\t\"noUncheckedIndexedAccess\",\n\t\t\t\t\t\t\"noUnusedLocals\",\n\t\t\t\t\t\t\"noUnusedParameters\",\n\t\t\t\t\t\t\"useUnknownInCatchVariables\",\n\t\t\t\t\t\t/* Emit */\n\t\t\t\t\t\t\"declaration\",\n\t\t\t\t\t\t\"declarationDir\",\n\t\t\t\t\t\t\"declarationMap\",\n\t\t\t\t\t\t\"downlevelIteration\",\n\t\t\t\t\t\t\"emitBOM\",\n\t\t\t\t\t\t\"emitDeclarationOnly\",\n\t\t\t\t\t\t\"importHelpers\",\n\t\t\t\t\t\t\"importsNotUsedAsValues\",\n\t\t\t\t\t\t\"inlineSourceMap\",\n\t\t\t\t\t\t\"inlineSources\",\n\t\t\t\t\t\t\"mapRoot\",\n\t\t\t\t\t\t\"newLine\",\n\t\t\t\t\t\t\"noEmit\",\n\t\t\t\t\t\t\"noEmitHelpers\",\n\t\t\t\t\t\t\"noEmitOnError\",\n\t\t\t\t\t\t\"outDir\",\n\t\t\t\t\t\t\"outFile\",\n\t\t\t\t\t\t\"preserveConstEnums\",\n\t\t\t\t\t\t\"preserveValueImports\",\n\t\t\t\t\t\t\"removeComments\",\n\t\t\t\t\t\t\"sourceMap\",\n\t\t\t\t\t\t\"sourceRoot\",\n\t\t\t\t\t\t\"stripInternal\",\n\t\t\t\t\t\t/* Interop Constraints */\n\t\t\t\t\t\t\"allowSyntheticDefaultImports\",\n\t\t\t\t\t\t\"esModuleInterop\",\n\t\t\t\t\t\t\"forceConsistentCasingInFileNames\",\n\t\t\t\t\t\t\"isolatedDeclarations\",\n\t\t\t\t\t\t\"isolatedModules\",\n\t\t\t\t\t\t\"preserveSymlinks\",\n\t\t\t\t\t\t\"verbatimModuleSyntax\",\n\t\t\t\t\t\t/* Completeness */\n\t\t\t\t\t\t\"skipDefaultLibCheck\",\n\t\t\t\t\t\t\"skipLibCheck\",\n\t\t\t\t\t],\n\t\t\t\t\tpathPattern: \"^compilerOptions$\",\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t},\n];\n","import type { OptionsAppType, OptionsNode, OptionsOverrides, TypedFlatConfigItem } from \"@/types\";\nimport { createOverrideRules, interopDefault, renameRules } from \"@/utils\";\n\nexport const node = async (\n\toptions: OptionsAppType & OptionsNode & OptionsOverrides = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { overrides, security = false, type = \"app\" } = options;\n\n\tconst eslintPluginNode = await interopDefault(import(\"eslint-plugin-n\"));\n\tconst eslintPluginSecurity = await interopDefault(import(\"eslint-plugin-security\"));\n\n\treturn [\n\t\t{\n\t\t\tname: \"zayne/node/setup\",\n\t\t\tplugins: {\n\t\t\t\tnode: eslintPluginNode,\n\t\t\t\t...(security && { security: eslintPluginSecurity }),\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\tname: \"zayne/node/recommended\",\n\t\t\trules: {\n\t\t\t\t...renameRules(eslintPluginNode.configs[\"flat/recommended-module\"].rules, { n: \"node\" }),\n\t\t\t\t...(security && eslintPluginSecurity.configs.recommended.rules),\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\tname: \"zayne/node/rules\",\n\n\t\t\trules: {\n\t\t\t\t\"node/no-deprecated-api\": \"error\",\n\t\t\t\t\"node/no-exports-assign\": \"error\",\n\t\t\t\t\"node/no-extraneous-import\": \"off\", // eslint-plugin-import-x handles this\n\t\t\t\t\"node/no-missing-import\": \"off\",\n\t\t\t\t\"node/no-path-concat\": \"error\",\n\t\t\t\t\"node/no-unpublished-import\": \"off\",\n\t\t\t\t\"node/process-exit-as-throw\": \"error\",\n\n\t\t\t\t...(type === \"lib-strict\"\n\t\t\t\t\t? {\n\t\t\t\t\t\t\t\"node/no-unsupported-features/es-syntax\": \"error\",\n\t\t\t\t\t\t\t\"node/no-unsupported-features/node-builtins\": \"error\",\n\t\t\t\t\t\t}\n\t\t\t\t\t: {\n\t\t\t\t\t\t\t\"node/no-unsupported-features/es-syntax\": \"off\",\n\t\t\t\t\t\t\t\"node/no-unsupported-features/node-builtins\": \"off\",\n\t\t\t\t\t\t}),\n\t\t\t},\n\t\t},\n\n\t\tcreateOverrideRules({\n\t\t\tconfigName: \"node\",\n\t\t\toverrides,\n\t\t}),\n\t];\n};\n","import { createOverrideRules, interopDefault } from \"@/utils\";\nimport type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\n\nexport const comments = async (\n\toptions: ExtractOptions<OptionsConfig[\"comments\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { overrides, type = \"app\" } = options;\n\n\tconst eslintPluginComments = await interopDefault(\n\t\timport(\"@eslint-community/eslint-plugin-eslint-comments\")\n\t);\n\n\treturn [\n\t\t{\n\t\t\tname: \"zayne/eslint-comments/rules\",\n\t\t\tplugins: {\n\t\t\t\t\"eslint-comments\": eslintPluginComments,\n\t\t\t},\n\n\t\t\trules: {\n\t\t\t\t\"eslint-comments/disable-enable-pair\": [\"error\", { allowWholeFile: true }],\n\t\t\t\t\"eslint-comments/no-aggregating-enable\": \"error\",\n\t\t\t\t\"eslint-comments/no-duplicate-disable\": \"error\",\n\t\t\t\t\"eslint-comments/no-unlimited-disable\": \"error\",\n\t\t\t\t\"eslint-comments/no-unused-enable\": \"error\",\n\n\t\t\t\t...(type !== \"app\" && {\n\t\t\t\t\t\"eslint-comments/require-description\": \"warn\",\n\t\t\t\t}),\n\t\t\t},\n\t\t},\n\n\t\tcreateOverrideRules({ configName: \"comments\", overrides }),\n\t];\n};\n","import { GLOB_TOML } from \"../globs\";\nimport type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\nimport { createOverrideRules, interopDefault } from \"../utils\";\n\nexport const toml = async (\n\toptions: ExtractOptions<OptionsConfig[\"toml\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { files = [GLOB_TOML], overrides, stylistic = true } = options;\n\n\tconst [pluginToml, parserToml] = await Promise.all([\n\t\tinteropDefault(import(\"eslint-plugin-toml\")),\n\t\tinteropDefault(import(\"toml-eslint-parser\")),\n\t]);\n\n\treturn [\n\t\t{\n\t\t\tname: \"zayne/toml/setup\",\n\n\t\t\tplugins: {\n\t\t\t\ttoml: pluginToml,\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tlanguageOptions: {\n\t\t\t\tparser: parserToml,\n\t\t\t},\n\n\t\t\tname: \"zayne/toml/rules\",\n\n\t\t\trules: {\n\t\t\t\t\"style/spaced-comment\": \"off\",\n\n\t\t\t\t\"toml/comma-style\": \"error\",\n\t\t\t\t\"toml/keys-order\": \"error\",\n\t\t\t\t\"toml/no-space-dots\": \"error\",\n\t\t\t\t\"toml/no-unreadable-number-separator\": \"error\",\n\t\t\t\t\"toml/precision-of-fractional-seconds\": \"error\",\n\t\t\t\t\"toml/precision-of-integer\": \"error\",\n\t\t\t\t\"toml/tables-order\": \"error\",\n\n\t\t\t\t\"toml/vue-custom-block/no-parsing-error\": \"error\",\n\n\t\t\t\t...(stylistic && {\n\t\t\t\t\t\"toml/array-bracket-newline\": \"error\",\n\t\t\t\t\t\"toml/array-bracket-spacing\": \"error\",\n\t\t\t\t\t\"toml/array-element-newline\": \"error\",\n\t\t\t\t\t// \"toml/indent\": [\"error\", indent],\n\t\t\t\t\t\"toml/inline-table-curly-spacing\": \"error\",\n\t\t\t\t\t\"toml/key-spacing\": \"error\",\n\t\t\t\t\t\"toml/padding-line-between-pairs\": \"error\",\n\t\t\t\t\t\"toml/padding-line-between-tables\": \"error\",\n\t\t\t\t\t\"toml/quoted-keys\": \"error\",\n\t\t\t\t\t\"toml/spaced-comment\": \"error\",\n\t\t\t\t\t\"toml/table-bracket-spacing\": \"error\",\n\t\t\t\t}),\n\t\t\t},\n\t\t},\n\n\t\tcreateOverrideRules({\n\t\t\tconfigName: \"toml\",\n\t\t\tfiles,\n\t\t\toverrides,\n\t\t}),\n\t];\n};\n","import { GLOB_YAML } from \"../globs\";\nimport type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\nimport { createOverrideRules, interopDefault } from \"../utils\";\n\nexport const yaml = async (\n\toptions: ExtractOptions<OptionsConfig[\"yaml\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { files = [GLOB_YAML], overrides, stylistic = true } = options;\n\n\tconst [pluginYaml, parserYaml] = await Promise.all([\n\t\tinteropDefault(import(\"eslint-plugin-yml\")),\n\t\tinteropDefault(import(\"yaml-eslint-parser\")),\n\t]);\n\n\treturn [\n\t\t{\n\t\t\tname: \"zayne/yaml/setup\",\n\t\t\tplugins: {\n\t\t\t\tyaml: pluginYaml,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tfiles,\n\n\t\t\tlanguageOptions: {\n\t\t\t\tparser: parserYaml,\n\t\t\t},\n\n\t\t\tname: \"zayne/yaml/rules\",\n\n\t\t\trules: {\n\t\t\t\t\"yaml/block-mapping\": \"error\",\n\t\t\t\t\"yaml/block-sequence\": \"error\",\n\t\t\t\t\"yaml/no-empty-key\": \"error\",\n\t\t\t\t\"yaml/no-empty-sequence-entry\": \"error\",\n\t\t\t\t\"yaml/no-irregular-whitespace\": \"error\",\n\t\t\t\t\"yaml/plain-scalar\": \"error\",\n\n\t\t\t\t\"yaml/vue-custom-block/no-parsing-error\": \"error\",\n\n\t\t\t\t...(stylistic && {\n\t\t\t\t\t\"yaml/block-mapping-question-indicator-newline\": \"error\",\n\t\t\t\t\t\"yaml/block-sequence-hyphen-indicator-newline\": \"error\",\n\t\t\t\t\t\"yaml/flow-mapping-curly-newline\": \"error\",\n\t\t\t\t\t\"yaml/flow-mapping-curly-spacing\": \"error\",\n\t\t\t\t\t\"yaml/flow-sequence-bracket-newline\": \"error\",\n\t\t\t\t\t\"yaml/flow-sequence-bracket-spacing\": \"error\",\n\t\t\t\t\t// \"yaml/indent\": [\"error\", indent],\n\t\t\t\t\t\"yaml/key-spacing\": \"error\",\n\t\t\t\t\t\"yaml/no-tab-indent\": \"error\",\n\t\t\t\t\t// \"yaml/quotes\": [\n\t\t\t\t\t// \t\"error\",\n\t\t\t\t\t// \t{ avoidEscape: true, prefer: quotes === \"backtick\" ? \"double\" : quotes },\n\t\t\t\t\t// ],\n\t\t\t\t\t\"yaml/spaced-comment\": \"error\",\n\t\t\t\t}),\n\n\t\t\t\t\"stylistic/spaced-comment\": \"off\",\n\t\t\t},\n\t\t},\n\n\t\tcreateOverrideRules({ configName: \"yaml\", files, overrides }),\n\t];\n};\n","import type { Linter } from \"eslint\";\nimport { mergeProcessors } from \"eslint-merge-processors\";\nimport { GLOB_VUE } from \"../globs\";\nimport type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\nimport { createOverrideRules, ensurePackages, interopDefault, resolveOptions } from \"../utils\";\n\nexport async function vue(\n\toptions: ExtractOptions<OptionsConfig[\"vue\"]> = {}\n): Promise<TypedFlatConfigItem[]> {\n\tconst {\n\t\tfiles = [GLOB_VUE],\n\t\toverrides,\n\t\tsfcBlocks = true,\n\t\tstylistic = true,\n\t\ttypescript = true,\n\t\tvueVersion = 3,\n\t} = options;\n\n\tawait ensurePackages([\n\t\t\"eslint-plugin-vue\",\n\t\t\"vue-eslint-parser\",\n\t\t...(sfcBlocks ? [\"eslint-processor-vue-blocks\"] : []),\n\t]);\n\n\tconst [pluginVue, parserVue, processorVueBlocks] = await Promise.all([\n\t\tinteropDefault(import(\"eslint-plugin-vue\")),\n\t\tinteropDefault(import(\"vue-eslint-parser\")),\n\t\t...(sfcBlocks ? [interopDefault(import(\"eslint-processor-vue-blocks\"))] : []),\n\t]);\n\n\treturn [\n\t\t{\n\t\t\t/**\n\t\t\t * This allows Vue plugin to work with auto imports\n\t\t\t * @ see https://github.com/vuejs/eslint-plugin-vue/pull/2422\n\t\t\t */\n\t\t\tlanguageOptions: {\n\t\t\t\tglobals: {\n\t\t\t\t\tcomputed: \"readonly\",\n\t\t\t\t\tdefineEmits: \"readonly\",\n\t\t\t\t\tdefineExpose: \"readonly\",\n\t\t\t\t\tdefineProps: \"readonly\",\n\t\t\t\t\tonMounted: \"readonly\",\n\t\t\t\t\tonUnmounted: \"readonly\",\n\t\t\t\t\treactive: \"readonly\",\n\t\t\t\t\tref: \"readonly\",\n\t\t\t\t\tshallowReactive: \"readonly\",\n\t\t\t\t\tshallowRef: \"readonly\",\n\t\t\t\t\ttoRef: \"readonly\",\n\t\t\t\t\ttoRefs: \"readonly\",\n\t\t\t\t\twatch: \"readonly\",\n\t\t\t\t\twatchEffect: \"readonly\",\n\t\t\t\t},\n\t\t\t},\n\n\t\t\tname: \"zayne/vue/setup\",\n\n\t\t\tplugins: {\n\t\t\t\tvue: pluginVue,\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tlanguageOptions: {\n\t\t\t\tparser: parserVue,\n\t\t\t\tparserOptions: {\n\t\t\t\t\tecmaFeatures: {\n\t\t\t\t\t\tjsx: true,\n\t\t\t\t\t},\n\t\t\t\t\textraFileExtensions: [\".vue\"],\n\t\t\t\t\tsourceType: \"module\",\n\n\t\t\t\t\t...(typescript && { parser: await interopDefault(import(\"@typescript-eslint/parser\")) }),\n\t\t\t\t},\n\t\t\t},\n\n\t\t\tname: \"zayne/vue/setup/file-processor\",\n\n\t\t\tprocessor:\n\t\t\t\tsfcBlocks === false\n\t\t\t\t\t? (pluginVue.processors[\".vue\"] as Linter.Processor)\n\t\t\t\t\t: mergeProcessors([\n\t\t\t\t\t\t\tpluginVue.processors[\".vue\"] as Linter.Processor,\n\t\t\t\t\t\t\tprocessorVueBlocks?.({\n\t\t\t\t\t\t\t\t...resolveOptions(sfcBlocks),\n\t\t\t\t\t\t\t\tblocks: {\n\t\t\t\t\t\t\t\t\tstyles: true,\n\t\t\t\t\t\t\t\t\t...resolveOptions(sfcBlocks).blocks,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}) ?? (pluginVue.processors[\".vue\"] as Linter.Processor),\n\t\t\t\t\t\t]),\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tname: \"zayne/vue/recommended\",\n\n\t\t\trules: {\n\t\t\t\t...pluginVue.configs.base.rules,\n\n\t\t\t\t...pluginVue.configs[`flat/${vueVersion === 2 ? \"vue2-\" : \"\"}essential`].at(-1)?.rules,\n\t\t\t\t...pluginVue.configs[`flat/${vueVersion === 2 ? \"vue2-\" : \"\"}strongly-recommended`].at(-1)\n\t\t\t\t\t?.rules,\n\t\t\t\t...pluginVue.configs[`flat/${vueVersion === 2 ? \"vue2-\" : \"\"}recommended`].at(-1)?.rules,\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tname: \"zayne/vue/rules\",\n\n\t\t\trules: {\n\t\t\t\t\"node/prefer-global/process\": \"off\",\n\n\t\t\t\t\"vue/block-order\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t{\n\t\t\t\t\t\torder: [\"script\", \"template\", \"style\"],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t\"vue/component-name-in-template-casing\": [\"error\", \"PascalCase\"],\n\n\t\t\t\t\"vue/component-options-name-casing\": [\"error\", \"PascalCase\"],\n\n\t\t\t\t// == this is deprecated\n\t\t\t\t\"vue/component-tags-order\": \"off\",\n\n\t\t\t\t\"vue/custom-event-name-casing\": [\"error\", \"camelCase\"],\n\t\t\t\t\"vue/define-macros-order\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t{\n\t\t\t\t\t\torder: [\"defineOptions\", \"defineProps\", \"defineEmits\", \"defineSlots\"],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t\"vue/dot-location\": [\"error\", \"property\"],\n\t\t\t\t\"vue/dot-notation\": [\"error\", { allowKeywords: true }],\n\t\t\t\t\"vue/eqeqeq\": [\"error\", \"smart\"],\n\t\t\t\t\"vue/html-indent\": \"off\",\n\t\t\t\t\"vue/html-quotes\": [\"error\", \"double\"],\n\t\t\t\t\"vue/max-attributes-per-line\": \"off\",\n\t\t\t\t\"vue/multi-word-component-names\": \"off\",\n\t\t\t\t\"vue/no-dupe-keys\": \"off\",\n\t\t\t\t\"vue/no-empty-pattern\": \"error\",\n\t\t\t\t\"vue/no-irregular-whitespace\": \"error\",\n\t\t\t\t\"vue/no-loss-of-precision\": \"error\",\n\t\t\t\t\"vue/no-restricted-syntax\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t\"DebuggerStatement\",\n\t\t\t\t\t\"LabeledStatement\",\n\t\t\t\t\t\"WithStatement\",\n\t\t\t\t],\n\t\t\t\t\"vue/no-restricted-v-bind\": [\"error\", \"/^v-/\"],\n\t\t\t\t\"vue/no-setup-props-reactivity-loss\": \"off\",\n\t\t\t\t\"vue/no-sparse-arrays\": \"error\",\n\t\t\t\t\"vue/no-unused-refs\": \"error\",\n\t\t\t\t\"vue/no-useless-v-bind\": \"error\",\n\t\t\t\t\"vue/no-v-html\": \"off\",\n\t\t\t\t\"vue/object-shorthand\": [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t\"always\",\n\t\t\t\t\t{\n\t\t\t\t\t\tavoidQuotes: true,\n\t\t\t\t\t\tignoreConstructors: false,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t\"vue/prefer-separate-static-class\": \"error\",\n\t\t\t\t\"vue/prefer-template\": \"error\",\n\t\t\t\t\"vue/prop-name-casing\": [\"error\", \"camelCase\"],\n\t\t\t\t\"vue/require-default-prop\": \"off\",\n\t\t\t\t\"vue/require-prop-types\": \"off\",\n\t\t\t\t\"vue/singleline-html-element-content-newline\": \"off\",\n\t\t\t\t\"vue/space-infix-ops\": \"error\",\n\t\t\t\t\"vue/space-unary-ops\": [\"error\", { nonwords: false, words: true }],\n\n\t\t\t\t...(stylistic && {\n\t\t\t\t\t\"vue/array-bracket-spacing\": [\"error\", \"never\"],\n\t\t\t\t\t\"vue/arrow-spacing\": [\"error\", { after: true, before: true }],\n\t\t\t\t\t\"vue/block-spacing\": [\"error\", \"always\"],\n\t\t\t\t\t\"vue/block-tag-newline\": [\n\t\t\t\t\t\t\"error\",\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tmultiline: \"always\",\n\t\t\t\t\t\t\tsingleline: \"always\",\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t\t\"vue/brace-style\": [\"error\", \"stroustrup\", { allowSingleLine: true }],\n\t\t\t\t\t\"vue/comma-dangle\": [\"error\", \"always-multiline\"],\n\t\t\t\t\t\"vue/comma-spacing\": [\"error\", { after: true, before: false }],\n\t\t\t\t\t\"vue/comma-style\": [\"error\", \"last\"],\n\t\t\t\t\t\"vue/html-comment-content-spacing\": [\n\t\t\t\t\t\t\"error\",\n\t\t\t\t\t\t\"always\",\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\texceptions: [\"-\"],\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t\t\"vue/key-spacing\": [\"error\", { afterColon: true, beforeColon: false }],\n\t\t\t\t\t\"vue/keyword-spacing\": [\"error\", { after: true, before: true }],\n\t\t\t\t\t\"vue/object-curly-newline\": \"off\",\n\t\t\t\t\t\"vue/object-curly-spacing\": [\"error\", \"always\"],\n\t\t\t\t\t\"vue/object-property-newline\": [\"error\", { allowMultiplePropertiesPerLine: true }],\n\t\t\t\t\t\"vue/operator-linebreak\": [\"error\", \"before\"],\n\t\t\t\t\t\"vue/padding-line-between-blocks\": [\"error\", \"always\"],\n\t\t\t\t\t\"vue/quote-props\": [\"error\", \"consistent-as-needed\"],\n\t\t\t\t\t\"vue/space-in-parens\": [\"error\", \"never\"],\n\t\t\t\t\t\"vue/template-curly-spacing\": \"error\",\n\t\t\t\t}),\n\n\t\t\t\t\"ts-eslint/no-unused-vars\": \"off\",\n\t\t\t},\n\t\t},\n\n\t\tcreateOverrideRules({\n\t\t\tconfigName: \"vue\",\n\t\t\tfiles,\n\t\t\toverrides,\n\t\t}),\n\t];\n}\n","import { GLOB_SRC } from \"../globs\";\nimport type { ExtractOptions, OptionsConfig, TypedFlatConfigItem } from \"../types\";\nimport { createOverrideRules, ensurePackages, interopDefault } from \"../utils\";\n\nconst solid = async (\n\toptions: ExtractOptions<OptionsConfig[\"solid\"]> = {}\n): Promise<TypedFlatConfigItem[]> => {\n\tconst { files = [GLOB_SRC], overrides, typescript = true } = options;\n\n\tawait ensurePackages([\"eslint-plugin-solid\"]);\n\n\tconst eslintPluginSolid = await interopDefault(import(\"eslint-plugin-solid\"));\n\n\tconst recommendedSolidConfig =\n\t\teslintPluginSolid.configs[typescript ? \"flat/typescript\" : \"flat/recommended\"];\n\n\treturn [\n\t\t{\n\t\t\tname: \"zayne/solid/setup\",\n\n\t\t\tplugins: {\n\t\t\t\tsolid: eslintPluginSolid,\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\tfiles,\n\n\t\t\tname: \"zayne/solid/recommended\",\n\n\t\t\trules: recommendedSolidConfig.rules,\n\t\t},\n\n\t\t{\n\t\t\tname: \"zayne/solid/rules\",\n\n\t\t\trules: {\n\t\t\t\t\"solid/no-innerhtml\": [\"error\", { allowStatic: true }],\n\t\t\t\t\"solid/style-prop\": [\"error\", { styleProps: [\"style\", \"css\"] }],\n\t\t\t},\n\t\t},\n\n\t\tcreateOverrideRules({\n\t\t\tconfigName: \"solid\",\n\t\t\tfiles,\n\t\t\toverrides,\n\t\t}),\n\t];\n};\n\nexport { solid };\n","import { GLOB_JSX, GLOB_TSX } from \"@/globs\";\nimport type { TypedFlatConfigItem } from \"@/types\";\n\nconst jsx = (): TypedFlatConfigItem[] => {\n\treturn [\n\t\t{\n\t\t\tfiles: [GLOB_JSX, GLOB_TSX],\n\n\t\t\tlanguageOptions: {\n\t\t\t\tparserOptions: {\n\t\t\t\t\tecmaFeatures: {\n\t\t\t\t\t\tjsx: true,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\n\t\t\tname: \"zayne/jsx/setup\",\n\t\t},\n\t];\n};\n\nexport { jsx };\n","import { isObject, resolveOptions } from \"@/utils\";\nimport { assert } from \"@zayne-labs/toolkit-type-helpers\";\nimport type { Linter } from \"eslint\";\nimport { FlatConfigComposer } from \"eslint-flat-config-utils\";\nimport { isPackageExists } from \"local-pkg\";\nimport {\n\tcomments,\n\tgitIgnores,\n\tignores,\n\timports,\n\tjavascript,\n\tjsdoc,\n\tjsonc,\n\tnode,\n\tperfectionist,\n\treact,\n\tsolid,\n\tsortPackageJson,\n\tsortTsconfig,\n\tstylistic,\n\ttailwindcss,\n\ttanstack,\n\ttoml,\n\ttypescript,\n\tunicorn,\n\tvue,\n\tyaml,\n} from \"./configs\";\nimport { jsx } from \"./configs/jsx\";\nimport { defaultPluginRenameMap } from \"./constants\";\nimport type { Awaitable, ConfigNames, OptionsConfig, Prettify, TypedFlatConfigItem } from \"./types\";\n\nconst ReactPackages = [\"react\", \"react-dom\"];\n\n/**\n * @description Construct an array of ESLint flat config items.\n * @param options\n * The options for generating the ESLint configurations.\n * @param userConfigs\n * The extra user configurations to be merged with the generated configurations.\n * @returns\n * The merged ESLint configurations.\n */\nexport const zayne = (\n\toptions: OptionsConfig & Prettify<Pick<TypedFlatConfigItem, \"ignores\">> = {},\n\t...userConfigs: Array<\n\t\tAwaitable<FlatConfigComposer | Linter.Config[] | TypedFlatConfigItem | TypedFlatConfigItem[]>\n\t>\n): FlatConfigComposer<TypedFlatConfigItem, ConfigNames> => {\n\tconst {\n\t\tautoRenamePlugins = true,\n\t\tcomponentExts = [],\n\t\tcomponentExtsTypeAware = [],\n\t\ttype = \"app\",\n\t\twithDefaults = true,\n\t\t...restOfOptions\n\t} = options;\n\n\t// == These configs are too needful to be turned off with a single switch, plus won't harm things much\n\tconst enableGitignore = restOfOptions.gitignore ?? true;\n\tconst enableJsx = restOfOptions.jsx ?? true;\n\n\t// == These ones won't matter if they are all turned off at once\n\tconst enableComments = restOfOptions.comments ?? withDefaults;\n\tconst enableImports = restOfOptions.imports ?? withDefaults;\n\tconst enableJsdoc = restOfOptions.jsdoc ?? withDefaults;\n\tconst enableJsonc = restOfOptions.jsonc ?? withDefaults;\n\tconst enableNode = restOfOptions.node ?? withDefaults;\n\tconst enablePerfectionist = restOfOptions.perfectionist ?? withDefaults;\n\tconst enableReact =\n\t\trestOfOptions.react ?? (withDefaults && ReactPackages.some((pkg) => isPackageExists(pkg)));\n\tconst enableStylistic = restOfOptions.stylistic ?? withDefaults;\n\tconst enableToml = restOfOptions.toml ?? withDefaults;\n\tconst enableTypeScript = restOfOptions.typescript ?? (withDefaults && isPackageExists(\"typescript\"));\n\tconst enableUnicorn = restOfOptions.unicorn ?? withDefaults;\n\tconst enableYaml = restOfOptions.yaml ?? withDefaults;\n\n\tconst isStylistic = Boolean(enableStylistic);\n\n\tconst tsconfigPath =\n\t\tisObject(enableTypeScript) && \"tsconfigPath\" in enableTypeScript\n\t\t\t? enableTypeScript.tsconfigPath\n\t\t\t: null;\n\n\tconst isTypeAware = Boolean(tsconfigPath);\n\n\tconst configs: Array<Awaitable<TypedFlatConfigItem[]>> = [];\n\n\t// == Base configs\n\tconfigs.push(ignores(restOfOptions.ignores), javascript(restOfOptions.javascript));\n\n\tif (enableJsx) {\n\t\tconfigs.push(jsx());\n\t}\n\n\tif (enableStylistic) {\n\t\tconfigs.push(stylistic({ jsx: enableJsx, ...resolveOptions(enableStylistic) }));\n\t}\n\n\tif (enableComments) {\n\t\tconfigs.push(comments({ type, ...resolveOptions(enableComments) }));\n\t}\n\n\tif (enableGitignore) {\n\t\tconfigs.push(gitIgnores(resolveOptions(enableGitignore)));\n\t}\n\n\tif (enableImports) {\n\t\tconfigs.push(\n\t\t\timports({ stylistic: isStylistic, typescript: isTypeAware, ...resolveOptions(enableImports) })\n\t\t);\n\t}\n\n\tif (enableNode) {\n\t\tconfigs.push(node({ type, ...resolveOptions(enableNode) }));\n\t}\n\n\tif (enablePerfectionist) {\n\t\tconfigs.push(perfectionist(resolveOptions(enablePerfectionist)));\n\t}\n\n\tif (enableUnicorn) {\n\t\tconfigs.push(unicorn({ type, ...resolveOptions(enableUnicorn) }));\n\t}\n\n\tif (enableJsonc) {\n\t\tconfigs.push(\n\t\t\tjsonc({ stylistic: isStylistic, ...resolveOptions(enableJsonc) }),\n\t\t\tsortPackageJson(),\n\t\t\tsortTsconfig()\n\t\t);\n\t}\n\n\tif (enableJsdoc) {\n\t\tconfigs.push(jsdoc({ stylistic: isStylistic, ...resolveOptions(enableJsdoc) }));\n\t}\n\n\tif (restOfOptions.vue) {\n\t\tcomponentExts.push(\"vue\");\n\t\tcomponentExtsTypeAware.push(\"vue\");\n\t}\n\n\tif (enableTypeScript) {\n\t\tconfigs.push(\n\t\t\ttypescript({\n\t\t\t\tcomponentExts,\n\t\t\t\tcomponentExtsTypeAware,\n\t\t\t\tstylistic: isStylistic,\n\t\t\t\t...resolveOptions(enableTypeScript),\n\t\t\t})\n\t\t);\n\t}\n\n\tif (restOfOptions.tailwindcss) {\n\t\tconfigs.push(tailwindcss(resolveOptions(restOfOptions.tailwindcss)));\n\t}\n\n\tif (restOfOptions.tanstack) {\n\t\tconfigs.push(tanstack(resolveOptions(restOfOptions.tanstack)));\n\t}\n\n\tif (enableToml) {\n\t\tconfigs.push(\n\t\t\ttoml({\n\t\t\t\tstylistic: isStylistic,\n\t\t\t\t...resolveOptions(enableToml),\n\t\t\t})\n\t\t);\n\t}\n\n\tif (enableYaml) {\n\t\tconfigs.push(\n\t\t\tyaml({\n\t\t\t\tstylistic: isStylistic,\n\t\t\t\t...resolveOptions(enableYaml),\n\t\t\t})\n\t\t);\n\t}\n\n\tif (enableReact) {\n\t\tconfigs.push(react({ typescript: isTypeAware, ...resolveOptions(enableReact) }));\n\t}\n\n\tif (restOfOptions.vue) {\n\t\tconfigs.push(\n\t\t\tvue({ stylistic: isStylistic, typescript: isTypeAware, ...resolveOptions(restOfOptions.vue) })\n\t\t);\n\t}\n\n\tif (restOfOptions.solid) {\n\t\tconfigs.push(solid({ typescript: isTypeAware, ...resolveOptions(restOfOptions.solid) }));\n\t}\n\n\tassert(\n\t\t!(\"files\" in restOfOptions),\n\t\t`[@zayne-labs/eslint-config] The first argument should not contain the \"files\" property as the options are supposed to be global. Place it in the second config array instead.`\n\t);\n\n\tlet composer = new FlatConfigComposer<TypedFlatConfigItem, ConfigNames>();\n\n\tcomposer = composer.append(...configs, ...(userConfigs as never[]));\n\n\tif (autoRenamePlugins) {\n\t\tcomposer = composer.renamePlugins(defaultPluginRenameMap);\n\t}\n\n\treturn composer;\n};\n"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@zayne-labs/eslint-config",
3
3
  "type": "module",
4
- "version": "0.7.3",
4
+ "version": "0.7.4",
5
5
  "description": "Zayne Labs' ESLint config preset",
6
6
  "author": "Ryan Zayne",
7
7
  "license": "MIT",
@@ -153,7 +153,7 @@
153
153
  "typescript": "5.8.2",
154
154
  "vue": "^3.5.13",
155
155
  "vue-eslint-parser": "10.1.1",
156
- "@zayne-labs/tsconfig": "0.7.3"
156
+ "@zayne-labs/tsconfig": "0.7.4"
157
157
  },
158
158
  "publishConfig": {
159
159
  "access": "public",