1 // eslint-disable-next-line n/no-unpublished-require
2 const { defineConfig } = require('eslint-define-config')
4 module.exports = defineConfig({
14 plugins: ['simple-import-sort', 'import'],
15 extends: ['eslint:recommended', 'plugin:import/recommended'],
19 project: './tsconfig.json'
24 'simple-import-sort/imports': 'error',
25 'simple-import-sort/exports': 'error'
30 // ignoreDeclarationSort: true,
31 // ignoreMemberSort: false,
32 // memberSyntaxSortOrder: ['none', 'all', 'multiple', 'single'],
33 // allowSeparatedGroups: true
40 // 'builtin', // Built-in imports (come from NodeJS native) go first
41 // 'external', // <- External imports
42 // 'internal', // <- Absolute imports
43 // ['sibling', 'parent'], // <- Relative imports, the sibling and parent types they can be mingled together
44 // 'index', // <- Index imports
45 // 'unknown' // <- Unknown
47 // 'newlines-between': 'always',
49 // /* Sort in ascending order. Options: ["ignore", "asc", "desc"] */
51 // /* Ignore case. Options: [true, false] */
52 // caseInsensitive: true
60 parser: '@typescript-eslint/parser',
62 project: './tsconfig.json'
64 plugins: ['@typescript-eslint', 'eslint-plugin-tsdoc'],
66 'plugin:@typescript-eslint/strict-type-checked',
67 'plugin:@typescript-eslint/stylistic-type-checked',
68 'plugin:import/typescript',
69 'standard-with-typescript'
72 'operator-linebreak': 'off',
73 'tsdoc/syntax': 'warn'
77 files: ['**/*.js', '**/*.cjs', '**/*.mjs'],
79 extends: ['plugin:n/recommended', 'plugin:jsdoc/recommended', 'standard'],