114 lines
2.7 KiB
JavaScript
114 lines
2.7 KiB
JavaScript
// @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,
|
|
// },
|
|
// },
|
|
// ],
|
|
// }
|
|
// }
|
|
// ];
|