create-response-app error import type * как PrettyFormat из './types' в красивом формате
Это новая установка cra с шаблоном машинописного текста, запущенным на узле 13.11.0, он дает мне ошибку при попытке запустить npm start
TypeScript error in D:/Projects/personal-site/node_modules/@types/testing-library__react/node_modules/pretty-format/build/index.d.ts(7,13):
'=' expected. TS1005
5 | * LICENSE file in the root directory of this source tree.
6 | */
> 7 | import type * as PrettyFormat from './types';
| ^
8 | /**
9 | * Returns a presentation string of your `val` object
10 | * @param val any potential JavaScript object```
2 ответа
Обновить
Спасибо за сообщение Marcelo Waisman.
Обновление Typescript до> 3.8.0 решило эту проблему.
Если строго следовать документации...
yarn add typescript @types/node @types/react @types/react-dom @types/jest
... мы должны были установить TypeScript с последней версией, а не с локальной-глобальной версией, которая может быть ниже 3.8.0.
Я нашел несколько подсказок. Может стоит открыть выпуск.
Это связано с пакетом pretty-format
и его тип в create-react-app
. Мы можем найти источник здесь: pretty-format / src / index.ts
import style = require('ansi-styles');
import type * as PrettyFormat from './types';
Из истории коммитов мы видим, что есть связанный запрос на слияние двух дней назад, который изменил эту часть с...
import * as PrettyFormat from './types';
... чтобы...
import type * as PrettyFormat from './types';
Похоже, это причина ошибки.
Фактически этот "тип импорта" представляет собой новый синтаксис, представленный в Typescript 3.8https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-8.html
Решение на самом деле очень простое (если это вариант для вас), просто обновите свой машинописный текст до 3.8+