Мокко Нью-Йорк и исходные карты - PullRequest
0 голосов
/ 13 июня 2019

Итак.Я пытаюсь понять, почему это не работает.

Я пишу исходный код и тестирую код TypeScript в файлах в каталогах src и tests.Это файлы *.ts и *.spec.ts.

Я использую npx tsc для переноса исходных и тестовых файлов в каталог build.Таким образом, этот каталог теперь содержит типы файлов *.js., *.spec.js, *.js.map и *.spec.js.map.

Как настроить mocha и nyc для работы с этим сейчас?

У меня есть следующий набор.

.nycrc.json

{
    "extends": "@istanbuljs/nyc-config-typescript",
    "all": true,
    "branches": 0,
    "lines": 0,
    "functions": 0,
    "statements": 0,
    "check-coverage": true,
    "exclude": [".ignore", "coverage"],
    "report-dir": "./coverage/",
    "cache": false,
    "source-map": true,
    "produce-source-map": true
}

tsconfig.json:

{
    "compilerOptions": {
        "allowJs": true,
        "noImplicitAny": false,
        "strictNullChecks": true,
        "noImplicitThis": true,
        "alwaysStrict": true,
        "module": "commonjs",
        "target": "es2016",
        "lib": ["es2016"],
        "moduleResolution": "node",
        "types": ["mocha", "node"],
        "typeRoots": ["node_modules/@types"],
        "sourceMap": true,
        "outDir": "./build/",
        "skipLibCheck": true,
        "removeComments": false
    },
    "include": ["./**/*.ts", "./**/*.js"]
}

Ошибка:

karl@karl-Dell-Precision-M3800:~/dev/escd$ NODE_ENV=test npx nyc --reporter=html --reporter=text mocha "./build/tests/**/*.js"
mappedCoverage.addStatement is not a function

Однако, если я установлю all в false в .nycrc.json файл, то не жалуется.Что случилось?

Я не хочу использовать ts-node или что-то подобное, я уже перенес файлы.

1 Ответ

0 голосов
/ 13 июня 2019

https://github.com/istanbuljs/nyc#source-map-support-for-pre-instrumented-codebases

Мне пришлось удалить "extends": "@istanbuljs/nyc-config-typescript", и добавить "exclude-after-remap": false,.

...