// @ts-check import eslint from '@eslint/js'; import globals from 'globals'; import tseslint from 'typescript-eslint'; import stylistic from '@stylistic/eslint-plugin' export default tseslint.config( { ignores: [ 'node_modules', 'dist' ], }, eslint.configs.recommended, ...tseslint.configs.recommendedTypeChecked, stylistic.configs.recommended, { languageOptions: { globals: { ...globals.node, ...globals.jest, }, sourceType: 'commonjs', parserOptions: { projectService: true, tsconfigRootDir: import.meta.dirname, }, }, plugins: { '@stylistic': stylistic, } }, { rules: { '@typescript-eslint/no-explicit-any': 'off', '@typescript-eslint/no-floating-promises': 'warn', '@typescript-eslint/no-unsafe-argument': 'warn' }, }, ); // import config from 'eslint-config-ksv741/ts-base' // // export default [ // ...config, // { // name: 'my-custom', // files: [ // '**/*.js', // '**/*.ts' // ], // rules: { // 'func-style': ["error", "declaration", { "allowArrowFunctions": true }], // 'import/order': [ // 'error', { // pathGroups: [ // { // pattern: '__spec__/**', // group: 'builtin', // position: 'before', // }, // { // pattern: 'apps/**', // group: 'internal', // position: 'after', // }, // { // pattern: 'pages/**', // group: 'internal', // position: 'after', // }, // { // pattern: 'widgets/**', // group: 'internal', // position: 'after', // }, // { // pattern: 'features/**', // group: 'internal', // position: 'after', // }, // { // pattern: 'entities/**', // group: 'internal', // position: 'after', // }, // { // pattern: 'shared/**', // group: 'internal', // position: 'after', // }, // ], // distinctGroup: true, // groups: [ // 'builtin', // 'external', // 'internal', // 'parent', // 'sibling', // 'object', // 'index', // 'type', // ], // 'newlines-between': 'always', // alphabetize: { // order: 'asc', // caseInsensitive: true, // }, // }, // ], // } // } // ];