/* * @Author: Kane * @Date: 2022-12-14 15:12:46 * @LastEditors: Kane * @LastEditTime: 2023-03-06 14:25:14 * @FilePath: /ts-practice/.eslintrc.cjs * @Description: * * Copyright (c) ${2022} by Kane, All Rights Reserved. */ module.exports = { root: true, env: { //需要在 env 中指定运行的环境,这些环境其实就是一组预定义的全局变量,让 ESLint 知道当前环境存在这些全局变量 node: true, browser: true, es2021: true, }, extends: [ "eslint:recommended", ], // parser: "@babel/eslint-parser", parserOptions: { ecmaVersion: 2021, sourceType: "module", parser: "@babel/eslint-parser", requireConfigFile: false, }, rules: { "no-console": process.env.NODE_ENV === "production" ? "warn" : "off", "no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off", "no-unused-vars": "warn", "semi": ["error", "always",], //控制行尾部分号 "quotes": ["error", "double",], "comma-dangle": ["error", { "arrays": "always", "objects": "always", "imports": "never", "exports": "never", "functions": "never", },], //数组和对象键值对最后一个逗号 "comma-style": ["error", "last",], //逗号在行位 "array-bracket-spacing": ["error", "never",], "no-undef-init": "error", "no-invalid-this": "error", "no-use-before-define": "error", "no-shadow-restricted-names": "error", //禁止对一些关键字或者保留字进行赋值操作,比如NaN、Infinity、undefined、eval、arguments等 "comma-spacing": ["error", { "before": false, "after": true, },], "brace-style": ["error", "allman", { "allowSingleLine": true, },], "prefer-const": "warn", }, overrides: [ { files: ["*.ts",], parser: "@typescript-eslint/parser", parserOptions: { project: "./tsconfig.json", }, plugins: ["@typescript-eslint",], extends: [ "standard-with-typescript", "eslint:recommended", "plugin:@typescript-eslint/eslint-recommended", "plugin:@typescript-eslint/recommended", ], rules: { "no-console": process.env.NODE_ENV === "production" ? "warn" : "off", "no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off", "@typescript-eslint/indent": ["error", 4,], "@typescript-eslint/no-extra-semi": "off", "@typescript-eslint/no-inferrable-types": "off", "@typescript-eslint/no-unused-vars": "warn", "@typescript-eslint/ban-ts-comment": "warn", "@typescript-eslint/member-delimiter-style": "off", "@typescript-eslint/semi": ["error", "always",], //控制行尾部分号 "@typescript-eslint/brace-style": ["error", "allman", { "allowSingleLine": true, },], "@typescript-eslint/comma-dangle": ["error", { "arrays": "always", "objects": "always", "imports": "never", "exports": "never", "functions": "never", },], //数组和对象键值对最后一个逗号 "@typescript-eslint/quotes": ["error", "double",], "@typescript-eslint/space-before-function-paren": "off", "@typescript-eslint/strict-boolean-expressions": ["error", { "allowString": false, },], "comma-style": ["error", "last",], //逗号在行位 "array-bracket-spacing": ["error", "never",], "no-undef-init": "error", "no-invalid-this": "error", "no-use-before-define": "error", "no-shadow-restricted-names": "error", //禁止对一些关键字或者保留字进行赋值操作,比如NaN、Infinity、undefined、eval、arguments等 "prefer-const": "warn", "spaced-comment": "error", "space-before-function-paren": "off", }, }, ], };