{"version":3,"file":"index.mjs","names":[],"sources":["../src/configs/javascript/module.ts","../src/configs/stylistic/module.ts","../src/configs/imports/module.ts","../src/configs/unicorn/module.ts","../src/module.ts","../src/index.ts"],"sourcesContent":["/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { Linter } from 'eslint';\nimport js from '@eslint/js';\nimport globals from 'globals';\n\nexport function javascript(): Linter.Config[] {\n    return [\n        js.configs.recommended,\n        {\n            languageOptions: {\n                ecmaVersion: 'latest',\n                sourceType: 'module',\n                globals: {\n                    ...globals.node,\n                    ...globals.es2021,\n                },\n            },\n            rules: {\n                // ----------------------------------------\n                // Best practices\n                // ----------------------------------------\n                'array-callback-return': ['error', { allowImplicit: true }],\n                'arrow-body-style': ['error', 'as-needed'],\n                'consistent-return': 'error',\n                'curly': ['error', 'multi-line'],\n                'default-case': 'off',\n                'default-case-last': 'error',\n                'default-param-last': 'error',\n                'dot-notation': ['error', { allowKeywords: true }],\n                'eqeqeq': ['error', 'always', { null: 'ignore' }],\n                'grouped-accessor-pairs': 'error',\n                'guard-for-in': 'off',\n                'max-classes-per-file': ['error', 1],\n                'no-alert': 'warn',\n                'no-await-in-loop': 'off',\n                'no-bitwise': 'off',\n                'no-caller': 'error',\n                'no-console': 'warn',\n                'no-constructor-return': 'error',\n                'no-continue': 'off',\n                'no-else-return': ['error', { allowElseIf: false }],\n                'no-empty-function': ['error', { allow: ['arrowFunctions', 'functions', 'methods'] }],\n                'no-eval': 'error',\n                'no-extend-native': 'error',\n                'no-extra-bind': 'error',\n                'no-extra-label': 'error',\n                'no-implied-eval': 'error',\n                'no-iterator': 'error',\n                'no-labels': ['error', {\n                    allowLoop: false,\n                    allowSwitch: false, \n                }],\n                'no-lone-blocks': 'error',\n                'no-multi-str': 'error',\n                'no-new': 'error',\n                'no-new-func': 'error',\n                'no-new-wrappers': 'error',\n                'no-octal-escape': 'error',\n                'no-param-reassign': 'off',\n                'no-plusplus': 'off',\n                'no-promise-executor-return': 'error',\n                'no-proto': 'error',\n                'no-restricted-exports': ['error', { restrictedNamedExports: ['default', 'then'] }],\n                'no-restricted-globals': ['error', {\n                    name: 'isFinite',\n                    message: 'Use Number.isFinite instead.', \n                }, {\n                    name: 'isNaN',\n                    message: 'Use Number.isNaN instead.', \n                }],\n                'no-restricted-properties': ['error', {\n                    object: 'arguments',\n                    property: 'callee',\n                    message: 'arguments.callee is deprecated.', \n                }, {\n                    object: 'global',\n                    property: 'isFinite',\n                    message: 'Use Number.isFinite instead.', \n                }, {\n                    object: 'self',\n                    property: 'isFinite',\n                    message: 'Use Number.isFinite instead.', \n                }, {\n                    object: 'window',\n                    property: 'isFinite',\n                    message: 'Use Number.isFinite instead.', \n                }, {\n                    object: 'global',\n                    property: 'isNaN',\n                    message: 'Use Number.isNaN instead.', \n                }, {\n                    object: 'self',\n                    property: 'isNaN',\n                    message: 'Use Number.isNaN instead.', \n                }, {\n                    object: 'window',\n                    property: 'isNaN',\n                    message: 'Use Number.isNaN instead.', \n                }, {\n                    property: '__defineGetter__',\n                    message: 'Use Object.defineProperty instead.', \n                }, {\n                    property: '__defineSetter__',\n                    message: 'Use Object.defineProperty instead.', \n                }, {\n                    object: 'Math',\n                    property: 'pow',\n                    message: 'Use the ** operator instead.', \n                }],\n                'no-return-assign': ['error', 'always'],\n                'no-script-url': 'error',\n                'no-self-compare': 'error',\n                'no-sequences': 'error',\n                'no-throw-literal': 'error',\n                'no-unreachable-loop': 'error',\n                'no-unused-expressions': ['error', {\n                    allowShortCircuit: false,\n                    allowTernary: false,\n                    allowTaggedTemplates: false,\n                }],\n                'no-useless-concat': 'error',\n                'no-useless-return': 'error',\n                'prefer-destructuring': ['error', {\n                    VariableDeclarator: {\n                        array: false,\n                        object: true, \n                    },\n                    AssignmentExpression: {\n                        array: false,\n                        object: false, \n                    },\n                }],\n                'prefer-numeric-literals': 'error',\n                'prefer-promise-reject-errors': ['error', { allowEmptyReject: true }],\n                'radix': 'error',\n                'yoda': 'error',\n\n                // ----------------------------------------\n                // ES6+\n                // ----------------------------------------\n                'no-useless-computed-key': 'error',\n                'no-useless-constructor': 'error',\n                'no-useless-rename': 'error',\n                'no-var': 'error',\n                'object-shorthand': ['error', 'always'],\n                'prefer-arrow-callback': 'error',\n                'prefer-const': ['error', {\n                    destructuring: 'any',\n                    ignoreReadBeforeAssign: true, \n                }],\n                'prefer-object-spread': 'error',\n                'prefer-rest-params': 'error',\n                'prefer-spread': 'error',\n                'prefer-template': 'error',\n                'symbol-description': 'error',\n\n                // ----------------------------------------\n                // Variables\n                // ----------------------------------------\n                'no-shadow': 'off',\n                'no-use-before-define': 'off',\n\n                // ----------------------------------------\n                // Style (semantic)\n                // ----------------------------------------\n                'class-methods-use-this': 'off',\n                'new-cap': ['error', {\n                    newIsCap: true,\n                    capIsNew: false, \n                }],\n                'no-lonely-if': 'error',\n                'no-nested-ternary': 'error',\n                'no-underscore-dangle': 'off',\n                'no-unneeded-ternary': ['error', { defaultAssignment: false }],\n                'one-var': ['error', 'never'],\n                'operator-assignment': ['error', 'always'],\n            },\n        },\n    ];\n}\n","/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { Linter } from 'eslint';\nimport stylistic from '@stylistic/eslint-plugin';\n\nexport function stylisticConfig(): Linter.Config[] {\n    return [\n        {\n            plugins: { '@stylistic': stylistic },\n            rules: {\n                '@stylistic/indent': ['error', 4, {\n                    SwitchCase: 1,\n                    VariableDeclarator: 1,\n                    outerIIFEBody: 1,\n                    FunctionDeclaration: {\n                        parameters: 1,\n                        body: 1,\n                    },\n                    FunctionExpression: {\n                        parameters: 1,\n                        body: 1,\n                    },\n                    CallExpression: { arguments: 1 },\n                    ArrayExpression: 1,\n                    ObjectExpression: 1,\n                    ImportDeclaration: 1,\n                    flatTernaryExpressions: false,\n                    ignoreComments: false,\n                }],\n                '@stylistic/max-len': ['error', 150, 2, {\n                    ignoreUrls: true,\n                    ignoreComments: false,\n                    ignoreRegExpLiterals: true,\n                    ignoreStrings: true,\n                    ignoreTemplateLiterals: true,\n                }],\n                '@stylistic/semi': ['error', 'always'],\n                '@stylistic/comma-dangle': ['error', 'always-multiline'],\n                '@stylistic/arrow-parens': ['error', 'always'],\n                '@stylistic/keyword-spacing': ['error', { before: true, after: true }],\n                '@stylistic/space-before-blocks': ['error', 'always'],\n                '@stylistic/space-infix-ops': ['error'],\n                '@stylistic/semi-spacing': ['error', { before: false, after: true }],\n                '@stylistic/comma-style': ['error', 'last'],\n                '@stylistic/quotes': ['error', 'single', { avoidEscape: true }],\n                '@stylistic/operator-linebreak': ['error', 'after', { overrides: { '=': 'none' } }],\n                '@stylistic/comma-spacing': ['error', { before: false, after: true }],\n                '@stylistic/object-curly-spacing': ['error', 'always'],\n                '@stylistic/padded-blocks': ['error', 'never'],\n                '@stylistic/object-curly-newline': ['error', {\n                    ObjectExpression: {\n                        multiline: true,\n                        minProperties: 3,\n                    },\n                    ObjectPattern: {\n                        multiline: true,\n                        minProperties: 3,\n                    },\n                    TSTypeLiteral: {\n                        consistent: true,\n                        multiline: true,\n                        minProperties: 3,\n                    },\n                    TSInterfaceBody: {\n                        consistent: true,\n                        multiline: true,\n                        minProperties: 3,\n                    },\n                    TSEnumBody: {\n                        consistent: true,\n                        multiline: true,\n                        minProperties: 3,\n                    },\n                }],\n                '@stylistic/object-property-newline': ['error', { allowAllPropertiesOnSameLine: true }],\n                '@stylistic/exp-list-style': ['error', {\n                    overrides: {\n                        ExportNamedDeclaration: { singleLine: { maxItems: 3 } },\n                        ImportDeclaration: { singleLine: { maxItems: 3 } },\n                    },\n                }],\n                '@stylistic/spaced-comment': ['error', 'always', {\n                    line: {\n                        exceptions: ['-', '+'],\n                        markers: ['=', '!', '/'],\n                    },\n                    block: {\n                        exceptions: ['-', '+'],\n                        markers: ['=', '!', ':', '::'],\n                        balanced: true,\n                    },\n                }],\n            },\n        },\n    ];\n}\n","/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { Linter } from 'eslint';\nimport importLitePlugin from 'eslint-plugin-import-lite';\n\nexport function imports(): Linter.Config[] {\n    return [\n        {\n            plugins: { 'import': importLitePlugin },\n            rules: {\n                'import/first': 'error',\n                'import/newline-after-import': 'error',\n                'import/no-duplicates': 'error',\n                'import/no-mutable-exports': 'error',\n\n                'sort-imports': ['error', {\n                    ignoreCase: false,\n                    ignoreDeclarationSort: true,\n                    ignoreMemberSort: false,\n                    memberSyntaxSortOrder: ['none', 'all', 'multiple', 'single'],\n                }],\n                'sort-keys': 'off',\n            },\n        },\n    ];\n}\n","/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { Linter } from 'eslint';\nimport unicornPlugin from 'eslint-plugin-unicorn';\n\nexport function unicorn(): Linter.Config[] {\n    return [\n        {\n            plugins: { unicorn: unicornPlugin },\n            rules: {\n                'unicorn/prefer-node-protocol': 'error',\n                'unicorn/no-instanceof-array': 'error',\n                'unicorn/prefer-number-properties': 'error',\n                'unicorn/prefer-string-starts-ends-with': 'error',\n                'unicorn/prefer-string-trim-start-end': 'error',\n                'unicorn/prefer-array-flat': 'error',\n                'unicorn/prefer-array-flat-map': 'error',\n                'unicorn/prefer-includes': 'error',\n                'unicorn/no-for-loop': 'error',\n                'unicorn/prefer-optional-catch-binding': 'error',\n            },\n        },\n    ];\n}\n","/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { Linter } from 'eslint';\nimport { isObject } from 'smob';\nimport type {\n    FactoryOptions,\n    TypeScriptOptions,\n    UserConfig,\n    VueOptions,\n} from './types.ts';\nimport { javascript } from './configs/javascript/index.ts';\nimport { stylisticConfig } from './configs/stylistic/index.ts';\nimport { imports } from './configs/imports/index.ts';\nimport { unicorn } from './configs/unicorn/index.ts';\nimport { isPackageExists } from './utils.ts';\n\nexport async function eslintConfig(\n    options: FactoryOptions = {},\n    ...userConfigs: UserConfig[]\n): Promise<Linter.Config[]> {\n    const configs: Linter.Config[] = [\n        ...javascript(),\n        ...stylisticConfig(),\n        ...imports(),\n        ...unicorn(),\n    ];\n\n    const enableTypescript = resolveEnabled(options.typescript, 'typescript');\n    const enableVue = resolveEnabled(options.vue, 'vue');\n\n    if (enableTypescript) {\n        const tsOptions: TypeScriptOptions = isObject(options.typescript) ?\n            options.typescript :\n            {};\n\n        const { typescript } = await import('./configs/typescript/index.ts');\n        configs.push(...await typescript(tsOptions));\n    }\n\n    if (enableVue) {\n        const vueOptions: VueOptions = isObject(options.vue) ?\n            { ...options.vue } :\n            {};\n\n        if (enableTypescript && !vueOptions.typescript) {\n            vueOptions.typescript = true;\n        }\n\n        const { vue } = await import('./configs/vue/index.ts');\n        configs.push(...await vue(vueOptions));\n    }\n\n    configs.push(...userConfigs);\n\n    return configs;\n}\n\nfunction resolveEnabled(\n    option: boolean | object | undefined,\n    packageName: string,\n): boolean {\n    if (typeof option === 'boolean') {\n        return option;\n    }\n\n    if (isObject(option)) {\n        return true;\n    }\n\n    return isPackageExists(packageName);\n}\n","/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { eslintConfig } from './module.ts';\n\nexport type {\n    FactoryOptions,\n    TypeScriptOptions,\n    UserConfig,\n    VueOptions,\n} from './types.ts';\n\nexport default eslintConfig;\n"],"mappings":"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"}