import eslint from '@eslint/js'; import globals from 'globals'; import tseslint from 'typescript-eslint'; export default tseslint.config( { ignores: [ '**/dist/**', '**/node_modules/**', '**/miniprogram_npm/**', '**/generated/prisma/**', 'coverage/**', 'eslint.config.mjs', ], }, eslint.configs.recommended, ...tseslint.configs.recommendedTypeChecked, { files: ['**/*.ts'], languageOptions: { globals: { ...globals.node, }, parserOptions: { projectService: true, tsconfigRootDir: import.meta.dirname, }, }, rules: { '@typescript-eslint/consistent-type-imports': 'error', '@typescript-eslint/no-misused-promises': [ 'error', { checksVoidReturn: { arguments: false } }, ], }, }, { files: ['apps/miniprogram/**/*.ts'], languageOptions: { globals: { App: 'readonly', Page: 'readonly', wx: 'readonly', }, }, }, { files: ['**/*.config.ts'], rules: { '@typescript-eslint/no-unsafe-assignment': 'off', }, }, );