Почему токен implements неожиданный, и кто его не ожидал?

Пытаюсь повторить этот урок: https://github.com/romanovichim/TonFunClessons_ru/...

Он в частности имеет вторую часть с тестированием контракта фреймворком jest: https://github.com/romanovichim/TonFunClessons_ru/...

В том числе и для целей тестирования в нем создаются обертка для контракта которая в частности содержит:
export class MainContract implements Contract {

При запуске тестов получаю следующую ошибку:
SyntaxError: /var/www/web/bots/test/wrappers/MainContract.ts: Unexpected token, expected "{" (15:26)


Почему? Как исправить?

Бонусные вопросы:
В чем вообще происходит эта ошибка? Т.е. что является средой исполнения для этого кода? Разве не node? Но тогда почему она выполняет Ts? Разве он не должен быть преобразован сначала в Js? (первый раз пытаюсь что-то написать на TypeScrypt)

Как и почему это все работало у автора урока? Я в частности ранее столкнулся с ошибкой
SyntaxError: Cannot use import statement outside a module

Мне пришлось установить babel-jest и дополнить package.json:
"jest": {
    "transform": {
      "^.+\\.[t|j]sx?$": "babel-jest"
    }
  }

Как же все это работало у автора без babel?
  • Вопрос задан
  • 114 просмотров
Пригласить эксперта
Ответы на вопрос 1
bingo347
@bingo347 Куратор тега Node.js
Crazy on performance...
Нужно все транспайлеры подключать в jest, для ts лучше использовать ts-jest
https://jestjs.io/docs/next/getting-started#via-ts-jest

И кстати, вторая часть начинается именно с этого, нужно только внимательно читать
https://github.com/romanovichim/TonFunClessons_ru/...
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы