标签: tslint

tslint 更新错误“找不到模块 'tslint/lib/lint'”

我们最近将 Angular 2 项目升级到了@angular/cli1.0 版本。我们还tslint从升级2.x5.xtslint现在我们在设计时收到以下错误(在 VSCode 输出终端中)。

验证时找不到模块“tslint/lib/lint”。

我尝试遵循几个 github 线程建议,包括删除已弃用的规则和添加新规则、回滚tslint到以前的版本以及完全卸载并重新安装@angular/cli和关联的模块。

然而,这个错误继续出现,并且阻止了tslint我们的代码的评估。

之前的 SO 帖子引用了相同的错误消息,但显然出于不同的原因;接受的答案没有解决我的问题: 错误:尝试扩展 tslint-microsoft-contrib 时找不到模块“tslint/lib/lint”

tslint visual-studio-code angular

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

Tslint - 忽略包含字符串的文件:“spec”?

我需要忽略所有包含 spec int 名称的文件,例如 MyStuff.spec.ts

如何让 tslint 忽略此类文件?

typescript tslint typescript2.0

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

Visual Studio 中的 tslint 显示 node_modules 的 linting 错误

我正在使用 Visual studio 2017 (15.5.1) 并尝试让 tsLint 正常工作。由于某种原因,我从 node_modules 中的所有文件以及我的任何声明 (*.d.ts) 文件中收到 linting 错误(在 Visual Studio 错误列表 (Build+intellisense) 中)。我所做的一切似乎都无法解决这个问题。我想从我的错误中排除这些文件。似乎到处都认为这是可能的,但我发现的大多数例子都不是与视觉工作室打交道,我想知道是否还缺少其他一些额外的设置。以下是我的相关文件。

tslint.json

{
  "extends": [
    "tslint:latest",
    "tslint-config-prettier"
  ]
}
Run Code Online (Sandbox Code Playgroud)

tsconfig.json

{
  "compilerOptions": {
    "module": "es2015",
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "allowSyntheticDefaultImports": true,
    "noEmitHelpers": true,
    "noEmitOnError": true,
    "noImplicitAny": false,
    "allowUnusedLabels": true,
    "target": "es5",
    "sourceMap": true,
    "strictNullChecks": false,
    "removeComments": true,
    "declaration": false,
    "plugins": [ { "name": "tslint-language-service" } ],
    "lib": [
      "dom",
      "es6",
      "scripthost",
      "es5",
      "es2015",
      "es2015.promise"
    ],
    "types": [
      "angular-ui-bootstrap", …
Run Code Online (Sandbox Code Playgroud)

visual-studio typescript tsconfig tslint visual-studio-2017

5
推荐指数
0
解决办法
573
查看次数

TSLint 无法识别正确的按位运算符

遗憾的是,这个有效的代码被 TSLint 的默认设置认为是疏忽的:

export const NO_FLAG: number = 0x0000;
export const DESTROY_FLAG: number = 0x0001;
export const NULL_FLAG: number = 0x0100;
export const START_FLAG: number = 0x0200;
export const STOP_FLAG: number = 0x0400;

export function getPackedFlags(destroy: boolean,
                               nullThing: boolean,
                               start: boolean,
                               stop: boolean): number {
    const bitFlags: number = ((destroy) ? DESTROY_FLAG: NO_FLAG) |
                            ((nullThing) ? NULL_FLAG: NO_FLAG) |
                            ((start) ? START_FLAG: NO_FLAG) |
                            ((stop) ? STOP_FLAG: NO_FLAG);
    return bitFlags;
}
Run Code Online (Sandbox Code Playgroud)

执行上述操作会产生这种输出:

tslint --project ./tsconfig.json --format verbose --force

ERROR: (no-bitwise) …
Run Code Online (Sandbox Code Playgroud)

lint bitwise-or typescript tslint

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

组件“AppFooterComponent”的选择器应用作元素

我的应用程序的结构如下:

<body>
  <header>[...]</header>
  <main>[...]</main>
  <footer><app-footer></app-footer></footer>
</body>
Run Code Online (Sandbox Code Playgroud)

因为我不想要不必要的 DOM 元素,所以我更喜欢声明app-footer为属性,这样我就可以像这样声明页面:

<body>
  <header>[...]</header>
  <main>[...]</main>
  <footer app-footer></footer>
</body>
Run Code Online (Sandbox Code Playgroud)

但如果我这样做,执行时会收到以下错误消息ng lint

组件“AppFooterComponent”的选择器应用作元素(https://angular.io/styleguide#style-05-03

我认为本案是该规则的合理例外。你同意?如果是这样,我如何声明这个特定组件作为该规则的例外?

tslint angular

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

如何使用 prettier 在类中的方法声明前后添加新行?

需要配置哪些设置才能使用vs 代码编辑器中的prettier 插件在打字稿文件的类中的方法声明前后添加新行?

我们如何通过在.prettierrctslint.json文件中写入任何规则来实现?

目前的行为是

function one(){
// some code
}
function two(){
// some code
}
Run Code Online (Sandbox Code Playgroud)

预期结果

function one(){
// some code
}

function two(){
// some code
}
Run Code Online (Sandbox Code Playgroud)

我在tslint.json 中尝试过以下行

"lines-between-class-methods": "true"
Run Code Online (Sandbox Code Playgroud)

但没有用

tslint prettier eslintrc

5
推荐指数
2
解决办法
5763
查看次数

TypeScript 和 React-Redux 中的阴影名称

我正在使用 TypeScript 和 React-Redux 构建一个 React Native 应用程序。

我使用 connect 连接了我的组件:

import { addTodo } from "../../redux/actions";

export interface Props {
  addTodo: (todo: Todo) => void;
}

// ... component code
  handleAdd = (todo: Todo) => {
    const { addTodo, ... } = this.props; // ... = more destructuring
    // some code ... eventually:
    addTodo(todo);
  } 

export default connect(
  mapStateToProps,
  { addTodo }
)(MyComponent);
Run Code Online (Sandbox Code Playgroud)

现在的问题是,TSLint 抱怨阴影变量:

[tslint] Shadowed name: 'addTodo'
Run Code Online (Sandbox Code Playgroud)

这感觉像是 TypeScript 没有识别 React-Redux 功能的错误。我的意思是 Redux 文档中教导以这种方式将 dispatch 映射到 props。 …

typescript reactjs tslint redux react-redux

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

TSLint:禁止使用 Function.length 属性

我在一个使用knockout.js(使用TypeScript)的项目中,由于knockout observables 只是函数,人们经常会遇到length错误地访问observable 函数的length属性而不是访问他们自定义对象模型的属性的问题。

是否有一些 tslint 规则可以禁止使用某种类型的特定属性?我见过“禁止”规则,但这似乎只适用于禁止使用函数和方法,而不适用于属性。

typescript tslint

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

如何禁用规则:TSLint 中的一行

 clearFile()
 {
      (<HTMLInputElement>document.getElementById('uploadFile')).value = "";
 }
Run Code Online (Sandbox Code Playgroud)

[tslint] misplaced opening brace
Run Code Online (Sandbox Code Playgroud)

.

如果我在同一行函数中使用左大括号,它不会给我警告

clearFile(){
      (<HTMLInputElement>document.getElementById('uploadFile')).value = "";
 }
Run Code Online (Sandbox Code Playgroud)

这条规则称为“一行”规则以及如何在 TSLint 中配置它来处理第一种类型的大括号样式

提前致谢

tslint

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

ng test 要求我在运行任何单元测试之前修复所有 linting

我的输出ng test如下:

> ng test

24 12 2019 14:20:07.854:WARN [karma]: No captured browser, open http://localhost:9876/
24 12 2019 14:20:07.860:INFO [karma-server]: Karma v4.4.1 server started at http://0.0.0.0:9876/
24 12 2019 14:20:07.860:INFO [launcher]: Launching browsers ChromeNoSandbox with concurrency unlimited
24 12 2019 14:20:07.865:INFO [launcher]: Starting browser ChromeHeadless

app/shared/forms/templates/templates.component.ts:11:1 - error TS6133: 'MatDialog' is declared but its value is never read.

11 import { MatDialog } from '@angular/material';
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24 12 2019 14:20:11.633:INFO [HeadlessChrome 79.0.3945 (Mac OS X 10.15.2)]: Connected on …
Run Code Online (Sandbox Code Playgroud)

unit-testing typescript karma-jasmine tslint angular

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