Исключите файлы * .spec.ts при переносе, но по-прежнему сохраняйте их правильно - PullRequest
0 голосов
/ 15 сентября 2018

Как я могу исключить машинописные файлы из транспорта, но при этом убедиться, что они корректно работают с линтером в редакторе Atom?

Я получаю эту ошибку в моих *.spec.ts файлах:

Асинхронная функция или метод в ES5 / ES3 требует конструктора Promise.Убедитесь, что у вас есть объявление для конструктора Promise или вы включили ES2015 в свой параметр --lib.

Проблема возникает из-за того, что я явно исключаю каталог со всеми моими тестовыми файлами(см. файл tsconfig ниже), потому что я не хочу, чтобы эти файлы переносились в JavaScript при сборке проекта.Однако я хочу, чтобы эти файлы были правильно помечены плагином tslint во время просмотра их в редакторе Atom.

Мои настройки:

  • Atom.io 1.30 с плагинами:
    • atom-typcript 12.6.3
    • language-typcript 0.4.0
    • linter-tslint 1.9.1
  • tslint5.9.1
  • машинописный текст 3.0.1

Мой tsconfig.json файл:

{
  "compileOnSave": false,
  "compilerOptions": {
    "allowUnreachableCode": false,
    "allowUnusedLabels": false,
    "baseUrl": ".",
    "declaration": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "inlineSourceMap": true,
    "inlineSources": true,
    "lib": [
      "es2017",
      "dom"
    ],
    "moduleResolution": "node",
    "newLine": "lf",
    "noImplicitReturns": true,
    "noImplicitThis": true,
    "noUnusedLocals": true,
    "noUnusedParameters": true,
    "outDir": "./dist",
    "target": "es5",
    "typeRoots": [
      "node_modules/@types"
    ]
  },
  "exclude": [
    "./spec",
    "./dist"
  ]
}

1 Ответ

0 голосов
/ 15 сентября 2018

Вам нужно будет использовать два tsconfig.json файла, один для редактора (который включает в себя *.spec.ts файлы), а другой для компиляции (который исключает их).Вы можете использовать extends для совместного использования большинства параметров между двумя файлами.См. это обсуждение .

...