Посылка js игнорирует правила tsconfig. json при сборке - PullRequest
0 голосов
/ 16 марта 2020

В настоящее время я работаю над проектом React, используя машинопись и пакет Parcel Js. Я использую файл tsconfig.json для настройки машинописи, но по какой-то причине, которую я не знаю, Parce js не учитывает его игнорирование всех ошибок при сборке.

Например, я написал этот код недопустим в машинописи:

const message: number = "Hello world!";

Мой eslint правильно вызывает эту ошибку:

Тип "Hello world!" не может быть назначен типу "number"

Но когда я собираю этот файл, используя parcel ./src/index.tsx, он компилируется без ошибок.

Согласно официальной документации и эта проблема Мне нужно объявить Валидатор в файле конфигурации посылки Js .parcelrc:

{
    "extends": "@parcel/config-default",
    "validators": {
        "*.{ts,tsx}": ["@parcel/validator-typescript"]
    }
}

Валидатор посылки необходимо установить в package.json:

    ...
    "dependencies": {
        "@parcel/validator-typescript": "2.0.0-nightly.112",
        ...

Итак, на конец моя структура проекта выглядит следующим образом:

├── .cache/
├── dist/
├── src/
│   ├── index.tsx
├── .parcelrc
├── package.json
├── tsconfig.json

Примечание:

  • Если я записываю неверные данные json в файл .parcelrc, Parcel Js все еще удается построить без каких-либо проблем, как если бы файл конфигурации был проигнорирован

У кого-нибудь есть Идея как заставить Parcel Js учесть настройки машинописи?

1 Ответ

1 голос
/ 16 марта 2020

Я думаю, что 2.0.0-nightly.112 был опубликован до того, как я сделал это исправление . Есть также эта проблема , которая укусила меня, когда я случайно установил более старую версию пакета. Можете ли вы попробовать установить последний ночной выпуск parcel и @parcel/validator-typescript, удалить папку .parcel-cache и повторить попытку? Если это не сработает, не могли бы вы поделиться репозиторием, в котором я мог бы попытаться воспроизвести проблему?

Еще одна попытка - убедиться, что в том же каталоге находится файл yarn.lock, содержащий tsconfig.json. Просматривая код, я знаю, что посылка иногда использует это для обнаружения root проекта (и файла tsconfig.json). Если посылка не может найти файл tsconfig.json, она не будет проверена из-за этой проблемы . (Если это причина root, возможно, это что-то, что мы должны исправить с помощью Parcel, но это было бы хорошо для тестирования).

Еще одна текущая проблема с @parcel/validator-typescript, над которой я работаю исправление # 4204 , но, исходя из того, что вы описали, я не думаю, что это причина того, что вы бьете.

...