alex4answ
@alex4answ

Почему в CRA @types зависимости в dependencies, а не devDependencies?

Добрый день, создал приложение с помощью:
npx create-react-app app --template typescript

и в package.json dependencies:
"@testing-library/jest-dom": "^5.11.6",
    "@testing-library/react": "^11.2.2",
    "@testing-library/user-event": "^12.5.0",
    "@types/jest": "^26.0.18",
    "@types/node": "^12.19.8",
    "@types/react": "^16.14.2",
    "@types/react-dom": "^16.9.10"


Если перенести их в devDependencies

то tsconfig.json начинает ругаться на строку:
"jsx": "react-jsx"
Specify JSX code generation: 'preserve', 'react', 'react-jsx', 'react-jsxdev' or 'react-native'.
Requires TypeScript version 2.2 or later.

Argument for '--jsx' option must be: 'preserve', 'react-native', 'react'.


typescript: 4.1.2

Что происходит?
  • Вопрос задан
  • 514 просмотров
Решения вопроса 1
alex4answ
@alex4answ Автор вопроса
1. Потому что не важно где зависимости, react приложение все равно будет собрано webpack и поставляться бандлами
2. Ошибка возникает потому что TypeScript VSCode не использует новые функции Babel, а CRA использует.
Чтобы устранить нужны выбрать версию typescript из workspace
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы