problemMatcher для Typescript в режиме просмотра Webpack - PullRequest
0 голосов
/ 02 мая 2018

Я использую fork-ts-checker-webpack-plugin и хочу написать средство сопоставления проблем, которое будет отображать набор проблем, возвращаемых компилятором в режиме реального времени при перекомпиляции Webpack в фоновом режиме. Я пробовал это средство сопоставления проблем в моей задаче сборки:

{
    "type": "shell",
    "command": "webpack -w --config webpack.dev.js",
    "label": "Webpack (Dev, Continuous)",
    "group": "build",
    "promptOnClose": true,
    "isBackground": true,
    "problemMatcher": {
        "owner": "webpack",
        "severity": "error",
        "fileLocation": "absolute",
        "source": "webpack typescript",
        "background": {
            "activeOnStart": true
        },
        "pattern": [
            {
                "regexp": "ERROR in (.*?)\\((\\d+),(\\d+)\\)",
                "file": 1,
                "line": 2,
                "column": 3
            },
            {
                "regexp": "[A-Za-z0-9-]+:(.*)",
                "message": 2,
                "code": 1
            }
        ]
    }
}

Но это не работает.

Предполагается, что мой сопоставитель проблем должен соответствовать следующим строкам:

ERROR in I:/component/page/admin/reports/checkouts.vue(44,9):
no-floating-promises: Promises must be handled appropriately
ERROR in I:/component/page/admin/reports/fines.vue(66,9):
no-floating-promises: Promises must be handled appropriately
ERROR in I:/component/page/admin/users/user.vue(220,9):
no-floating-promises: Promises must be handled appropriately
ERROR in I:/component/page/admin/users/user.vue(232,9):
no-floating-promises: Promises must be handled appropriately
ERROR in I:/component/page/admin/users/user.vue(240,9):
no-floating-promises: Promises must be handled appropriately
ERROR in I:/component/page/admin/users/users.vue(40,9):
no-floating-promises: Promises must be handled appropriately

Почему это не работает?

1 Ответ

0 голосов
/ 02 мая 2018

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

Версия, которая работает:

{
    "type": "shell",
    "command": "webpack -w --config webpack.dev.js",
    "label": "Webpack (Dev, Continuous)",
    "group": "build",
    "promptOnClose": true,
    "isBackground": true,
    "problemMatcher": {
        "owner": "Webpack (Dev, Continuous)",
        "severity": "error",
        "fileLocation": "absolute",
        "source": "webpack-typescript",
        "background": {
            "activeOnStart": true,
            "beginsPattern": "Type checking and linting in progress...",
            "endsPattern": "Time: (\\d+)ms"
        },
        "pattern": [
            {
                "regexp": "ERROR in ([^\\(]*)\\((\\d+),(\\d+)\\):",
                "file": 1,
                "line": 2,
                "column": 3
            },
            {
                "regexp": "([A-Za-z0-9-]+):(.*)",
                "message": 2,
                "code": 1
            }
        ]
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...