简体   繁体   English

Eslint 无法在.ts 文件上找到错误

[英]Eslint unable to find errors on .ts files

I generated SvelteKit project using npm create svelte@latest and added some .ts files for some library but running eslint.我使用npm create svelte@latest生成了 SvelteKit 项目,并为一些库添加了一些.ts文件,但运行eslint. it cant find errors.它找不到错误。

I have this default eslint config generate from svelte.我有这个从 svelte 生成的默认 eslint 配置。

.eslintrc.cjs .eslintrc.cjs

module.exports = {
    root: true,
    parser: '@typescript-eslint/parser',
    extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended', 'prettier'],
    plugins: ['svelte3', '@typescript-eslint'],
    ignorePatterns: ['*.cjs'],
    overrides: [{ files: ['*.svelte'], processor: 'svelte3/svelte3' }],
    settings: {
        'svelte3/typescript': () => require('typescript')
    },
    parserOptions: {
        sourceType: 'module',
        ecmaVersion: 2020
    },
    env: {
        browser: true,
        es2017: true,
        node: true
    }
};

and tsconfig.json和 tsconfig.json

{
    "extends": "./.svelte-kit/tsconfig.json",
    "compilerOptions": {
        "allowJs": true,
        "allowSyntheticDefaultImports": true,
        "checkJs": true,
        "esModuleInterop": true,
        "forceConsistentCasingInFileNames": true,
        "resolveJsonModule": true,
        "skipLibCheck": true,
        "sourceMap": true,
        "strict": true
    }
}

I have this lint on package.json我在 package.json 上有这个棉绒

"lint": "prettier --check --plugin-search-dir=. . && eslint .",

Running npm run lint it cant find any errors even there is clearly an error to a .ts file.运行npm run lint ,即使.ts文件明显存在错误,它也找不到任何错误。

It only can detect errors from .svelte files.它只能检测.svelte文件中的错误。

Is there something wrong with my eslint or tsconfig or I miss something?我的 eslint 或 tsconfig 有问题还是我错过了什么?

My bad, it is linting the .ts files but some rules is missing from what i used to be and not showing errors so I add some rules instead of using the default one and now it showing errors.我的错,它正在对.ts文件进行 linting,但是我以前缺少一些规则并且没有显示错误,所以我添加了一些规则而不是使用默认规则,现在它显示错误。

Here is my new config这是我的新配置

module.exports = {
    root: true,
    parser: '@typescript-eslint/parser',
    extends: [
        'eslint:recommended',
        'plugin:node/recommended',
        'plugin:@typescript-eslint/recommended',
        'plugin:@typescript-eslint/recommended-requiring-type-checking',
        'prettier'
    ],
    plugins: ['node', 'prettier', 'svelte3', '@typescript-eslint'],
    ignorePatterns: ['*.cjs', 'svelte.config.js', 'vite.config.js'],
    overrides: [
        { files: ['*.svelte'], processor: 'svelte3/svelte3' },
        {
            files: ['*.ts', '*.js', '*.svelte'],
            parser: '@typescript-eslint/parser',
            extends: ['plugin:@typescript-eslint/recommended'],
            rules: {
                'node/no-missing-import': 'off',
                'node/no-unpublished-import': 'off'
            }
        }
    ],
    settings: {
        'svelte3/typescript': () => require('typescript')
    },
    parserOptions: {
        sourceType: 'module',
        ecmaVersion: 2020,
        project: ['./tsconfig.json']
    },
    env: {
        browser: true,
        es2017: true,
        node: true
    },
    rules: {
        'prettier/prettier': 'error',
        'block-scoped-var': 'error',
        eqeqeq: 'error',
        'no-var': 'error',
        'prefer-const': 'error',
        'eol-last': 'error',
        'prefer-arrow-callback': 'error',
        'no-trailing-spaces': 'error',
        quotes: ['warn', 'single', { avoidEscape: true }],
        'no-restricted-properties': [
            'error',
            {
                object: 'describe',
                property: 'only'
            },
            {
                object: 'it',
                property: 'only'
            }
        ]
    }
};

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM