Для библиотеки, написанной в ES6 / 7, я хочу скомпилировать (в ES5) библиотеку в папку dist /.Я также хочу запустить тесты (написанные в ES6 / 7) для этой библиотеки.
Мои зависимости dev выглядят так (package.json):
"devDependencies": {
"@babel/cli": "^7.4.4",
"@babel/core": "^7.4.5",
"@babel/preset-env": "^7.4.5",
"@babel/register": "^7.4.4",
"chai": "^4.2.0",
"mocha": "^6.1.4",
"sinon": "^7.3.2"
},
Мои сценарии сборки и тестированиявыглядит так (package.json):
"scripts": {
"test": "mocha --require @babel/register",
"build": "babel src -d dist --presets=@babel/preset-env"
},
Запуск npm run build
работает хорошо.Папка dist / заполняется перенесенными файлами.
Запуск npm run test
, похоже, не работает - это моя проблема.
> mocha --require @babel/register
/Users/dro/Repos/lib/node_modules/yargs/yargs.js:1163
else throw err
^
ReferenceError: regeneratorRuntime is not defined
Сначала я получил ошибку импорта,которая была решена путем добавления файла .babelrc.
Ниже приведено содержимое моего файла .babelrc.
{
"presets": ["@babel/preset-env"]
}
Я читал о regeneratorRuntime
, и я получил эта ссылка о babel-polyfill , где они объясняют, что мне не нужен этот polyfill.
Это будет эмулировать полноценную среду ES2015 + (без предложений
Что необходимо для правильной настройки?
Я не использую веб-пакет.