标签: tslint

Visual Studio 代码禁用对象解构的代码格式

我正在使用 Koa 和 Typescript 编写网络应用程序。在 vscode 中,我遇到了不需要的代码格式:当我使用对象解析方法声明变量时,vscode 在多行中自动格式化它:

deleteUser: async (ctx: Context) => {
  const {
    body: { userId }
  } = ctx;

  await userService.deleteUser(userId);
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我希望它保留在一行中:

deleteUser: async (ctx: Context) => {
  const { body: { userId } } = ctx;

  await userService.deleteUser(userId);
}
Run Code Online (Sandbox Code Playgroud)

我喜欢 vscode 处理我的代码格式的方式,所以我不想禁用它。但我想找到一种解决方法,如果行长度小于 80 个字符,则禁用对象解构格式。

我应该使用什么规则来解决这个问题?我应该更改 vscode 规则还是 tslint 规则?

这是我的 .tslint 文件:

{
  "rules": {
    "class-name": true,
    "comment-format": [true, "check-space"],
    "indent": ["tabs"],
    "one-line": [true, "check-open-brace", "check-whitespace"],
    "no-var-keyword": true,
    "quotemark": [true, "double", "avoid-escape"],
    "semicolon": [true, …
Run Code Online (Sandbox Code Playgroud)

formatting object-destruction typescript tslint visual-studio-code

1
推荐指数
1
解决办法
493
查看次数

如何在合并/推送/提交 git 命令之前强制执行 tslint 规则

我有一个在 Azure DevOps 中运行的 Web 应用程序,并希望在合并之前确保代码符合标准;例如“开发/测试/主”。我制作了一个 tslint 规则文件,并希望强制执行此规则。以一种方式强制执行它,无论何时他们向分支发出拉取请求。当获得批准或在获得批准之前使构建失败。或者更好的是,在他的代码匹配 tslint 规则之前,不要让开发人员发出拉取请求。

是否有任何工具可以集成到 azure 管道中以检查代码并将其与 tslint 规则进行比较,以便在不匹配时使合并或构建失败。

git tslint azure-devops angular azure-repos

1
推荐指数
1
解决办法
1569
查看次数

TSLint - 如何避免我的所有代码都用红色下划线?

我在 ItelliJ 中加载了一个 angular 项目,所有文件都有一些用红色下划线标出的代码。右边的滚动条上也有同样的红色。代码似乎充满了错误,但它们只是缺少空格或类似的东西;该项目已正确构建。甚至在 // 之后没有空格的注释也会用红色下划线表示。

负责人是 TSLint。

这让我分心;我想为“真正的”问题加下划线的代码,并且可能在左侧(而不是滚动条中)为注释或导入中缺少空格的黄色建议。

我发现了这个(这里https://github.com/Microsoft/vscode-tslint/issues/199

tslint.alwaysShowRuleFailuresAsWarnings

但它在visualStudio中,我不知道在intelliJ中的哪里添加这个选项。

你知道如何禁用这个红色下划线吗?

还有一个问题,如果我要禁用 TSLint,除了格式之外,我会丢​​失任何东西吗?我喜欢有一个格式良好的代码,但是在 IntelliJ 环境中,我希望主要是语法错误而不是格式错误,至少不是实时的(也许我可以在需要时运行以检查代码格式,因为我直到现在)。

这是第一个答案要求的屏幕截图。设置被忽略了,可能是我电脑有问题...(顺便说一下TLSint是5.0.0)

设置 - 我选择不突出显示 前两行是红色的,因为尾随空格。 我不喜欢这样的空格,但红色太多了

intellij-idea tslint

1
推荐指数
1
解决办法
1470
查看次数

firebase 错误 TS7006:参数“快照”隐式具有“任何”类型

我收到以下 lint 错误:

error TS7006: Parameter 'snapshot' implicitly has an 'any' type.
Run Code Online (Sandbox Code Playgroud)

在以下 Firebase 云功能上:

exports.createTeamMember = functions.firestore
  .document(`teamProfile/{teamId}/teamMemberList/{newUserId}`)
  .onCreate(async (snapshot, context) => {
    const id: string = snapshot.data().id;
    const email: string = snapshot.data().email;
    const teamId: string = snapshot.data().teamId;
  });
Run Code Online (Sandbox Code Playgroud)

javascript firebase tslint google-cloud-functions

1
推荐指数
1
解决办法
908
查看次数

在 .eslintrc.json 中设置规则选项

我想在将ignoreParameters 选项设置为false 的情况下使用此规则。我的 eslint 配置了一个.eslintrc.json文件,但我无法找到如何设置该文件中规则的选项。我查看了文档并用谷歌搜索,我查看了这个问题,但我找不到如何使用 eslint 和.eslintrc.json文件设置规则选项的示例。

这是我.eslintrc.json尝试添加此规则之前的文件(该规则已应用,但使用默认选项而不是我想要的选项):

{
  "parser": "@typescript-eslint/parser",
  "extends": [
    "react-app",
    "eslint:recommended",
    "plugin:@typescript-eslint/recommended",
    "prettier/@typescript-eslint",
    "plugin:prettier/recommended"
  ],
  "rules": {
    "@typescript-eslint/explicit-function-return-type": 0,
    "@typescript-eslint/no-explicit-any": 0,
    "no-return-await": 2,
    "curly": 2
  }
}
Run Code Online (Sandbox Code Playgroud)

这是我尝试过的,总是导致规则不再被应用(有错误 Definition for rule '@typescript-eslint/no-inferable-types' was not found @typescript-eslint/no-inferable-types):

{
  "parser": "@typescript-eslint/parser",
  "extends": [
    "react-app",
    "eslint:recommended",
    "plugin:@typescript-eslint/recommended",
    "prettier/@typescript-eslint",
    "plugin:prettier/recommended"
  ],
  "rules": {
    "@typescript-eslint/explicit-function-return-type": 0,
    "@typescript-eslint/no-explicit-any": 0,
    "no-return-await": 2,
    "curly": 2,
    "@typescript-eslint/no-inferable-types": [
      "error",
      {
        "ignoreParameters": true
      }
    ] …
Run Code Online (Sandbox Code Playgroud)

typescript tslint

1
推荐指数
1
解决办法
5456
查看次数

“找不到模块‘./style’或其相应的类型声明”错误,typescript linter

我正在使用css-modules和构建一个 Gatsby 项目gatsby-config.js,我在其中解决了一个.scss扩展。

它构建并且工作得很好,但是我的 linter 不同意这一点,当我尝试导入这样的样式时,会引发错误“无法找到模块'./style'或其相应的类型声明.ts(2307) ”:

ts-错误

如果我从 js/ts/jsx/tsx 文件导入,则不会出现错误,但是当我尝试导入模块之类的样式(或图像)时,如果没有正确的扩展名,则会引发此错误。

我已经尝试在项目根目录的“typings”文件夹内将扩展声明为模块,例如“声明模块“*.scss””,但不起作用。

我的gatsby-config.js

const path = require('path');

const isDev = process.env.NODE_ENV === 'development';

module.exports = {
  siteMetadata: {
    title: 'Title from siteMetadata',
  },
  plugins: [
    {
      resolve: `gatsby-plugin-sass`,
      options: {
        cssLoaderOptions: {
          sourceMap: isDev,
          modules: {
            mode: 'local',
            localIdentName: '[local]--[hash:base64:5]',
          },
        },
      },
    },
    {
      resolve: 'gatsby-plugin-alias-imports',
      options: {
        alias: {
          '@containers': path.resolve(__dirname, 'src/containers'),
          '@components': path.resolve(__dirname, 'src/components'),
          '@pages': path.resolve(__dirname, 'src/pages'),
        },
        extensions: ['.js', …
Run Code Online (Sandbox Code Playgroud)

typescript reactjs webpack tslint css-modules

1
推荐指数
1
解决办法
4189
查看次数

如何在tslint中添加git prehook?

我正在尝试添加prehook,如果代码无法提交任何棉绒问题。什么是实现它的正确方法。

tslint.sh

#!/bin/sh
sh ./npm-install.sh
if [ $? -ne 0 ]; then
  echo "npm-install error, exiting.."
  exit 1
fi
echo "Running ts lint"
npm run lint
if [ $? -ne 0 ]; then
  echo "Unit tests error, exiting.."
  exit 1
fi
Run Code Online (Sandbox Code Playgroud)

git node.js tslint

0
推荐指数
1
解决办法
3769
查看次数

如何映射到数组并使用tslint返回对象。(句法糖)

这是一个纯粹的句法糖问题。

如何在map不使用TSLint的情况下使用遍历数组并返回新对象:

可以通过省略花括号和关键字“ return”,并将对象文字括在括号中来简化此箭头函数的主体。

例如,对象用户:

class User {
    constructor(
        public id: number, 
        public first_name: string, 
        public last_name: string, 
        public gender: Date, 
        public location: number, 
    )
}
Run Code Online (Sandbox Code Playgroud)

当我这样做时:

const simple_users = users.map(u => { return { name: u.name, id: u.id} });
Run Code Online (Sandbox Code Playgroud)

然后发生这种情况:

[tslint]通过省略花括号和
关键字“ return”,并将对象文字括在括号中。(箭头返回简写)

而且我要遵守tslint规则arrow-return-shorthand

typescript tslint angular

0
推荐指数
1
解决办法
1112
查看次数

为什么 Typescript 中的数组是 const

我正在使用TSLint处理VS Code,在某些时候 TSLint 建议我重新定义一个数组变量,而不是constlet

let pages = [];
Run Code Online (Sandbox Code Playgroud)

“标识符“pages”永远不会重新分配;使用“const”而不是“let”。(首选 const)”

但由于数组是可变变量,为什么const应该优先使用 a 而不是let

typescript tslint

0
推荐指数
1
解决办法
2833
查看次数

如何修复 tsr-detect-possible-timing-attacks 潜在的定时攻击

我有这样的代码:

if (!confirmPassword) {
  errors.confirmPassword = DefaultValidateErrors.confirmPassword;
} else if (password && password !== confirmPassword) {
  errors.confirmPassword = DefaultValidateErrors.confirmPasswordMatch;
}
Run Code Online (Sandbox Code Playgroud)

tslint 已将此标记为 tsr-detect-possible-timing-attacks,这听起来是正确的,但我该如何解决。

javascript typescript tslint

0
推荐指数
2
解决办法
2065
查看次数

TSLint会员订购

我的tslint.json中有以下规则:

    "member-ordering": [
        true,
        {
            "order": [
                "public-before-private",
                "static-before-instance",
                "variables-before-functions"
            ]
        }
    ],
Run Code Online (Sandbox Code Playgroud)

但是我仍然收到此警告:

Warning: member-ordering - Bad member kind: public-before-private
Run Code Online (Sandbox Code Playgroud)

Typescrypt版本是3.1.1

节点版本为10.10.0

typescript tslint

0
推荐指数
1
解决办法
2717
查看次数

为 @Output() 和 @Input() 分配别名显示 TSLint 错误

我试图为 @Output 分配一个别名,但出现 TSLint 错误,

export class CockpitComponent implements OnInit {
  @Output('bpCreated') blueprintCreated = new EventEmitter<{ serverName: string, serverContent: string }>();
  @Output('srvCreated') serverCreated = new EventEmitter<{ serverName: string, serverContent: string }>();
Run Code Online (Sandbox Code Playgroud)

TSLint:在“CockpitComponent”类中,不应重命名指令输出属性“serverCreated”。请考虑以下使用“@Output() serverCreated = new EventEmitter();” (无输出重命名)

那么什么时候应该在 Angular 中为@Output()@Input()分配别名呢?

Tslint 错误片段

typescript tslint angular

0
推荐指数
1
解决办法
2948
查看次数