UNPKG

@truenine/eslint9-config

Version:

ESLint 9 configuration package for Compose Client projects with TypeScript, Vue, and modern JavaScript support

138 lines (136 loc) 6.92 kB
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } }); const require_configs_formatter = require('./configs/formatter.cjs'); const require_configs_javascript = require('./configs/javascript.cjs'); const require_configs_misc = require('./configs/misc.cjs'); const require_configs_stylistic = require('./configs/stylistic.cjs'); const require_configs_typescript = require('./configs/typescript.cjs'); const require_configs_vue = require('./configs/vue.cjs'); const require_rules_code_style_beside_comment = require('./rules/code-style/beside-comment.cjs'); const require_rules_code_style_brace_style = require('./rules/code-style/brace-style.cjs'); const require_rules_code_style_compact_try_catch = require('./rules/code-style/compact-try-catch.cjs'); const require_rules_code_style_concise_arrow = require('./rules/code-style/concise-arrow.cjs'); const require_rules_code_style_guard_clause = require('./rules/code-style/guard-clause.cjs'); const require_rules_code_style_no_document_requirements = require('./rules/code-style/no-document-requirements.cjs'); const require_rules_code_style_no_separator_comment = require('./rules/code-style/no-separator-comment.cjs'); const require_rules_code_style_no_task_comment = require('./rules/code-style/no-task-comment.cjs'); const require_rules_code_style_prefer_lookup_table = require('./rules/code-style/prefer-lookup-table.cjs'); const require_rules_code_style_prefer_separate_try_catch = require('./rules/code-style/prefer-separate-try-catch.cjs'); const require_rules_code_style_prefer_void_zero = require('./rules/code-style/prefer-void-zero.cjs'); const require_rules_code_style_index = require('./rules/code-style/index.cjs'); const require_rules_single_line_call = require('./rules/single-line/call.cjs'); const require_rules_single_line_control = require('./rules/single-line/control.cjs'); const require_rules_single_line_if = require('./rules/single-line/if.cjs'); const require_rules_single_line_index = require('./rules/single-line/index.cjs'); const require_rules_index = require('./rules/index.cjs'); const require_plugin = require('./plugin.cjs'); const require_presets_base_rules = require('./presets/base-rules.cjs'); const require_presets_dts_rules = require('./presets/dts-rules.cjs'); const require_presets_typescript_rules = require('./presets/typescript-rules.cjs'); const require_utils_merge = require('./utils/merge.cjs'); let _antfu_eslint_config = require("@antfu/eslint-config"); //#region src/index.ts const defaultIgnores = [ "**/dist/**", "**/node_modules/**", "**/.agent/**", "**/.claude/**", "**/.factory/**", "**/.qoder/**", "**/.trae/**", "**/.kiro/**", "AGENTS.md", "README.md", "GEMINI.md", "CLAUDE.md", "WARP.md" ]; /** * 创建 ESLint 配置 * * @param options - 配置选项 * @returns ESLint 配置数组 */ async function defineConfig(options = {}) { const { type = "lib", ignores = [], test = true, nextjs = false, react = false, unocss = false, vue = false, uniapp = false, jsx = false, pnpm = false, stylistic = true, javascript = require_configs_javascript.javascriptConfig, typescript = require_configs_typescript.typescriptConfig, formatters = false, ...restOptions } = options; const resolvedIgnores = typeof ignores === "function" ? (originals) => [...new Set([...defaultIgnores, ...ignores(originals)])] : [...new Set([...defaultIgnores, ...ignores])]; const _test = require_utils_merge.mergeWithDefaults(test, require_configs_misc.testConfig); const _unocss = require_utils_merge.mergeWithDefaults(unocss, require_configs_misc.unocssConfig); let _vue = require_utils_merge.mergeWithDefaults(vue, require_configs_vue.vueConfig); const _javascript = require_utils_merge.mergeWithDefaults(javascript, require_configs_javascript.javascriptConfig); const _stylistic = require_utils_merge.mergeWithDefaults(stylistic, require_configs_stylistic.stylisticConfig); const _formatters = require_utils_merge.mergeWithDefaults(formatters, require_configs_formatter.formatterConfig); if (uniapp) _vue = require_configs_vue.applyUniappVueConfig(_vue === false || _vue === true ? require_configs_vue.vueConfig : _vue); let _typescript = typescript; const _pnpm = type === "app" ? false : pnpm; if (isStrictTsConfig(_typescript)) { const merged = require_utils_merge.mergeWithDefaults(_typescript, require_configs_typescript.strictTypescriptConfig); if (typeof merged === "object" && "tsconfigPath" in merged) { const opts = merged; if (opts.parserOptions?.projectService === void 0) opts.parserOptions = { ...opts.parserOptions, projectService: true }; } _typescript = merged; } return (0, _antfu_eslint_config.antfu)({ ...restOptions, markdown: true, type, ignores: resolvedIgnores, pnpm: _pnpm, test: _test, unocss: _unocss, vue: _vue, nextjs, react, jsx, typescript: _typescript, javascript: _javascript, stylistic: _stylistic, formatters: _formatters }, { name: "@truenine/eslint-plugin", plugins: { "@truenine": require_plugin.default }, rules: require_presets_base_rules.baseRulesPreset }, { name: "@truenine/dts-rules", files: ["**/*.d.ts"], rules: require_presets_dts_rules.dtsRulesPreset }, { name: "@truenine/typescript-rules", files: [ "**/*.ts", "**/*.tsx", "**/*.mts", "**/*.cts" ], ignores: ["**/*.md/**"], rules: require_presets_typescript_rules.typescriptRulesPreset }); } function isStrictTsConfig(config) { return config !== null && typeof config === "object" && "strictTypescriptEslint" in config && config.strictTypescriptEslint; } //#endregion exports.besideComment = require_rules_code_style_beside_comment; exports.braceStyle = require_rules_code_style_brace_style; exports.codeStyleRules = require_rules_code_style_index.codeStyleRules; exports.compactTryCatch = require_rules_code_style_compact_try_catch; exports.default = defineConfig; exports.defineConfig = defineConfig; exports.noDocumentRequirements = require_rules_code_style_no_document_requirements; exports.noSeparatorComment = require_rules_code_style_no_separator_comment; exports.noTaskComment = require_rules_code_style_no_task_comment; exports.plugin = require_plugin; exports.preferConciseArrow = require_rules_code_style_concise_arrow; exports.preferGuardClause = require_rules_code_style_guard_clause; exports.preferLookupTable = require_rules_code_style_prefer_lookup_table; exports.preferSeparateTryCatch = require_rules_code_style_prefer_separate_try_catch; exports.preferSingleLineCall = require_rules_single_line_call; exports.preferSingleLineControl = require_rules_single_line_control; exports.preferSingleLineIf = require_rules_single_line_if; exports.preferVoidZero = require_rules_code_style_prefer_void_zero; exports.rules = require_rules_index.rules; exports.singleLineRules = require_rules_single_line_index.singleLineRules; //# sourceMappingURL=index.cjs.map