Неожиданный экспорт токена с проектом TypeScript - проблема с transformIgnorePattern - PullRequest
0 голосов
/ 21 декабря 2018

У меня есть проект TypeScript с Jest-тестированием, который работает просто отлично, используя ts-jest в качестве моего преобразователя.Однако, когда я пытаюсь использовать пакет, который, кажется, был написан на TypeScript, но был распространен как ES6, я сталкиваюсь с ужасающей ошибкой: «Неожиданный экспорт токена», когда мои тесты запускаются, когда он сталкивается с ключевым словом «export» наэтот новый пакет.

Я понимаю ПОЧЕМУ это происходит, но я не могу понять, как обойти это, даже после тщательного изучения проблемы и наблюдения, как другие исправили ее с помощью transformIgnorePatterns (как этот пост комментарий и многие другие), но пока я не продвинулся в этом.

Тесты работают нормально, пока я не импортирую и не ссылаюсь на одну из этих библиотек проблем.Просто добавив:

import { Environment, EnvironmentType } from '@microsoft/sp-core-library';
...
const x: EnvironmentType = Environment.type;

... и затем запустив мои тесты, я получу:

/Users/ac/_play/jest-transform-repro/node_modules/@microsoft/sp-core-library/lib/index.js:11
export { default as _BrowserDetection } from './BrowserDetection';
^^^^^^

SyntaxError: Unexpected token export

Я создал проект, чтобы легко повторить мою проблему здесь: https://github.com/andrewconnell/jest-transform-repro

  1. клон https://github.com/andrewconnell/jest-transform-repro
  2. npm install
  3. npm test

наблюдать, как все работает

  1. открыть файл. / Src / webparts / helloWorld / components / Sample / Sample.tsx и раскомментируйте две строки
  2. npm test

наблюдайте сбой

Я пытался обновить transformIgnorePatterns до <rootDir>/../node_modules/(?!(@microsoft/sp-core-library)) и другие варианты этого, но это не помогает.Я видел сообщения об изменении .bablerc => babel.config.js, но я не использую Babel в своем проекте, так как все это TypeScript.

Как только я получаю эту работу для этой библиотеки, язнаю, что мне нужно исключить больше ... много больше ... поэтому в идеале я хотел бы создать что-то, что обращается к пакетам "@ microsoft / *", а не только к тому, что перечислен выше, как вы можете видеть по умолчанию "npm install "в репозитории выше, есть еще много вопросов, которые могут вызвать у меня проблемы.

Идеи?Я в растерянности: (

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...