我为我的项目配置了一个tslint . 而tslint在命令提示符下运行时运行良好 . 但是在通过npm脚本运行时失败 .

  • 在命令提示符下

ip-192-168-14-138:scripture-cite vinodlouis $ tslint -c tslint.json src / ** / * .ts

错误:src / App.ts [1,23]:'应该是'
错误:src / App.ts [2,1]:组内的导入源必须按字母顺序排列 .
错误:src / App.ts [2,26]:'应该是'
错误:src / App.ts [3,25]:'应该是'
错误:src / App.ts [4,1]:组中的导入源必须按字母顺序排列 .
错误:src / App.ts [4,29]:'应该是'
错误:src / App.ts [12,5]:注释必须以空格开头
错误:src / App.ts [21,29]:'应该是'
错误:src / App.ts [31,9]:标识符“路由器”永远不会被重新分配;使用'const'而不是'let' .
错误:src / App.ts [33,16]:'应该是'
错误:src / App.ts [35,18]:'应该是'
错误:src / App.ts [35,32]:缺少尾随逗号
错误:src / App.ts [38,22]:'应该是'
错误:src / App.ts [43,44]:文件应以换行符结尾
错误:src / index.ts [1,23]:'应该是'
错误:src / index.ts [2,1]:组内的导入源必须按字母顺序排列 .
错误:src / index.ts [2,24]:'应该是'
错误:src / index.ts [4,17]:'应该是'
错误:src / index.ts [6,7]:'应该是'
错误:src / index.ts [9,9]:'应该是'
错误:src / index.ts [13,11]:'应该是'
错误:src / index.ts [14,11]:'应该是'
错误:src / index.ts [17,7]:阴影名称:'port'
错误:src / index.ts [17,7]:标识符'port'永远不会被重新分配;使用'const'而不是'let' .
错误:src / index.ts [17,38]:'应该是'
错误:src / index.ts [18,3]:if语句必须被括起来
错误:src / index.ts [19,8]:if语句必须被括起来
错误:src / index.ts [20,3]:else语句必须被括起来
错误:src / index.ts [24,3]:if语句必须被括起来
错误:src / index.ts [24,25]:'应该是'
错误:src / index.ts [25,7]:标识符'bind'永远不会被重新分配;使用'const'而不是'let' .
错误:src / index.ts [25,31]:'应该是'
错误:src / index.ts [25,43]:'应该是'
错误:src / index.ts [25,60]:'应该是'
错误:src / index.ts [26,9]:缺少空格
错误:src / index.ts [27,10]:'应该是'
错误:src / index.ts [28,7]:不允许调用'console.error' .
错误:src / index.ts [31,10]:'应该是'
错误:src / index.ts [32,7]:不允许调用'console.error' .
错误:src / index.ts [41,7]:标识符'addr'永远不会被重新分配;使用'const'而不是'let' .
错误:src / index.ts [42,7]:标识符'bind'永远不会被重新分配;使用'const'而不是'let' .
错误:src / index.ts [42,31]:'应该是'
错误:src / index.ts [44,2]:文件应以换行符结尾

  • 通过npm脚本

ip-192-168-14-138:scripture-cite vinodlouis $ npm run lint

scripture-cite@1.0.0 lint / Users / vinodlouis / projects / rb / scripture-cite
tslint -c tslint.json src / ** / * .ts

'comment-format'规则在'src / App.ts'中引发错误:
TypeError:ts.forEachLeadingCommentRange不是函数
at /Users/vinodlouis/projects/rb/scripture-cite/node_modules/tsutils/util/util.js:403:16
在iterate(/Users/vinodlouis/projects/rb/scripture-cite/node_modules/tsutils/util/util.js:366:20)
在Array.forEach(<anonymous>)
在iterate(/Users/vinodlouis/projects/rb/scripture-cite/node_modules/tsutils/util/util.js:368:50)
在Array.forEach(<anonymous>)
在iterate(/Users/vinodlouis/projects/rb/scripture-cite/node_modules/tsutils/util/util.js:368:50)
在Array.forEach(<anonymous>)
在iterate(/Users/vinodlouis/projects/rb/scripture-cite/node_modules/tsutils/util/util.js:368:50)
在forEachToken(/Users/vinodlouis/projects/rb/scripture-cite/node_modules/tsutils/util/util.js:369:7)
at Object.forEachComment(/Users/vinodlouis/projects/rb/scripture-cite/node_modules/tsutils/util/util.js:399:12)
'jsdoc-format'规则在'src / App.ts'中引发错误:
TypeError:ts.forEachLeadingCommentRange不是函数
at /Users/vinodlouis/projects/rb/scripture-cite/node_modules/tsutils/util/util.js:403:16
在iterate(/Users/vinodlouis/projects/rb/scripture-cite/node_modules/tsutils/util/util.js:366:20)
在Array.forEach(<anonymous>)
在iterate(/Users/vinodlouis/projects/rb/scripture-cite/node_modules/tsutils/util/util.js:368:50)
在Array.forEach(<anonymous>)
在iterate(/Users/vinodlouis/projects/rb/scripture-cite/node_modules/tsutils/util/util.js:368:50)
在Array.forEach(<anonymous>)
在iterate(/Users/vinodlouis/projects/rb/scripture-cite/node_modules/tsutils/util/util.js:368:50)
在forEachToken(/Users/vinodlouis/projects/rb/scripture-cite/node_modules/tsutils/util/util.js:369:7)
at Object.forEachComment(/Users/vinodlouis/projects/rb/scripture-cite/node_modules/tsutils/util/util.js:399:12)
TypeError:ts.forEachLeadingCommentRange不是函数
at /Users/vinodlouis/projects/rb/scripture-cite/node_modules/tsutils/util/util.js:403:16
在iterate(/Users/vinodlouis/projects/rb/scripture-cite/node_modules/tsutils/util/util.js:366:20)
在Array.forEach(<anonymous>)
在迭代(/Users/vinodlouis/projects/rb/scripture-cite/node_modules/tsutils/util/util.js:368:50)
在Array.forEach(<anonymous>)
在iterate(/Users/vinodlouis/projects/rb/scripture-cite/node_modules/tsutils/util/util.js:368:50)
在Array.forEach(<anonymous>)
在iterate(/Users/vinodlouis/projects/rb/scripture-cite/node_modules/tsutils/util/util.js:368:50)
在forEachToken(/Users/vinodlouis/projects/rb/scripture-cite/node_modules/tsutils/util/util.js:369:7)
at Object.forEachComment(/Users/vinodlouis/projects/rb/scripture-cite/node_modules/tsutils/util/util.js:399:12)
错误的ERR!代码ELIFECYCLE
错误的ERR!错误1
错误的ERR! scripture-cite@1.0.0 lint:tslint -c tslint.json src / ** / * .ts
错误的ERR!退出状态1
错误的ERR!
错误的ERR!在scripture-cite@1.0.0 lint脚本失败 .
错误的ERR!这可能不是npm的问题 . 上面可能有额外的日志记录输出 .

错误的ERR!可以在以下位置找到此运行的完整日志:
错误的ERR! /Users/vinodlouis/.npm/_logs/2018-07-19T06_16_52_537Z-debug.log

配置文件如下:

的package.json

{
  "name": "scripture-cite",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "build": "gulp scripts",
    "start": "node dist/index.js",
    "test": "mocha --reporter spec --compilers ts:ts-node/register 'test/**/*.test.ts'",
    "lint": "tslint -c tslint.json src/**/*.ts"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "@types/body-parser": "0.0.33",
    "@types/chai": "^3.4.34",
    "@types/chai-http": "^0.0.29",
    "@types/debug": "0.0.29",
    "@types/express": "^4.0.37",
    "@types/express-serve-static-core": "4.0.49",
    "@types/mocha": "^2.2.32",
    "@types/morgan": "^1.7.32",
    "@types/node": "^6.0.46",
    "chai": "^3.5.0",
    "chai-http": "^3.0.0",
    "gulp": "^3.9.1",
    "gulp-tslint": "^8.1.3",
    "gulp-typescript": "^3.1.1",
    "lint": "^1.1.2",
    "mocha": "^3.1.2",
    "ts-node": "^7.0.0",
    "tslint": "^5.11.0",
    "typescript": "^2.0.6"
  },
  "dependencies": {
    "body-parser": "^1.15.2",
    "debug": "^2.2.0",
    "express": "^4.14.0",
    "morgan": "^1.7.0"
  }
}

tsconfig.json

{
    "compilerOptions": {
      "target": "es6",
      "module": "commonjs",
      "outDir": "dist"
    },
    "include": [
      "src/**/*.ts"
    ],
    "exclude": [
      "node_modules"
    ]
  }

tslint.json

{
    "defaultSeverity": "error",
    "extends": [
        "tslint:recommended"
    ],
    "linterOptions": {
        "exclude": [
            "node_modules"
        ]
    },
    "jsRules": {},
    "rules": {},
    "rulesDirectory": []
}