fork of hey-api/openapi-ts because I need some additional things
1import eslint from '@eslint/js';
2import pluginSimpleImportSort from 'eslint-plugin-simple-import-sort';
3import pluginSortDestructureKeys from 'eslint-plugin-sort-destructure-keys';
4import pluginSortKeysFix from 'eslint-plugin-sort-keys-fix';
5import pluginTypeScriptSortKeys from 'eslint-plugin-typescript-sort-keys';
6// import pluginVue from 'eslint-plugin-vue'
7import globals from 'globals';
8import tseslint from 'typescript-eslint';
9
10export default tseslint.config(
11 eslint.configs.recommended,
12 ...tseslint.configs.recommended,
13 {
14 languageOptions: {
15 ecmaVersion: 'latest',
16 globals: {
17 ...globals.node,
18 },
19 },
20 plugins: {
21 'simple-import-sort': pluginSimpleImportSort,
22 'sort-destructure-keys': pluginSortDestructureKeys,
23 'sort-keys-fix': pluginSortKeysFix,
24 'typescript-sort-keys': pluginTypeScriptSortKeys,
25 },
26 rules: {
27 '@typescript-eslint/ban-ts-comment': 'off',
28 '@typescript-eslint/ban-ts-ignore': 'off',
29 '@typescript-eslint/consistent-type-imports': 'warn',
30 '@typescript-eslint/explicit-function-return-type': 'off',
31 '@typescript-eslint/explicit-module-boundary-types': 'off',
32 '@typescript-eslint/no-explicit-any': 'off',
33 '@typescript-eslint/no-inferrable-types': 'off',
34 '@typescript-eslint/no-non-null-assertion': 'off',
35 '@typescript-eslint/no-var-requires': 'off',
36 'arrow-body-style': 'error',
37 'import/order': 'off',
38 'no-prototype-builtins': 'off',
39 'object-shorthand': 'error',
40 'simple-import-sort/exports': 'error',
41 'simple-import-sort/imports': 'error',
42 'sort-destructure-keys/sort-destructure-keys': 'warn',
43 'sort-imports': 'off',
44 'sort-keys-fix/sort-keys-fix': 'warn',
45 'typescript-sort-keys/interface': 'warn',
46 'typescript-sort-keys/string-enum': 'warn',
47 },
48 },
49 {
50 files: ['**/*.cjs'],
51 rules: {
52 '@typescript-eslint/no-require-imports': 'off',
53 },
54 },
55 {
56 ignores: [
57 '**/.tsdown/',
58 '**/dist/',
59 '**/node_modules/',
60 'temp/',
61 'dev/gen/',
62 'dev/playground.ts',
63 'examples/openapi-ts-nestjs/src/client/**/*.ts',
64 'examples/openapi-ts-openai/src/client/**/*.ts',
65 '**/test/generated/',
66 '**/__snapshots__/',
67 '**/.next/',
68 '**/.nuxt/',
69 '**/.output/',
70 '**/.svelte-kit/',
71 '**/.vitepress/cache',
72 '**/.vitepress/dist',
73 '**/.angular',
74 ],
75 },
76);