Проблемы с переключением с babel6 на babel7: имя свойства ожидало тип строки, но получило значение null в Array.forEach () - PullRequest
0 голосов
/ 12 февраля 2020

Я только что обновил Babel6 до Babel7 со всеми необходимыми пакетами, но не могу решить, как заставить babel.config.js правильно получать ту или иную ошибку в зависимости от указанных плагинов Babel7. Вот как выглядит мой babel.config.js:

module.exports = {    
  "env": {
      "test": {
        "presets": [
          "@babel/preset-env",
          "@babel/preset-react"
        ],  
        "plugins": [
          "@babel/plugin-proposal-class-properties",
          "@babel/plugin-transform-modules-commonjs",
          "@babel/plugin-syntax-dynamic-import",
          "babel-plugin-dynamic-import-node",
          "@babel/plugin-proposal-export-default-from"
        ]   
      }   
    },  
    "plugins": [
      "@babel/plugin-transform-modules-commonjs",
      "@babel/plugin-proposal-export-default-from",
      "babel-plugin-dynamic-import-node",
      "@babel/plugin-transform-runtime",
      "@babel/plugin-transform-regenerator",
      "@babel/plugin-syntax-dynamic-import",
      [   
        "@babel/plugin-proposal-decorators",
        {   
          "legacy": true
        }   
      ],  
      "@babel/plugin-proposal-object-rest-spread",
      "@babel/plugin-proposal-class-properties",
      [   
        "babel-plugin-styled-components",
        {   
          "displayName": true
        }   
      ],  
      [   
        "babel-plugin-module-resolver",
        {   
          "root": [
            "./"
          ],  
          "extensions": [
            ".js",
            ".jsx",
            ".css"
          ],
          "alias": {
            "shared": "./shared/",
            "pages": "./pages/",
            "gtex-d3": "./node_modules/gtex-d3/"
          }
        }
      ]
    ],
    "presets": [
      "@babel/preset-react",
      [
        "@babel/preset-env",
        {
          "modules": false
        }
      ]
    ]
}

Итак, с такими конфигами я получаю ошибку:

TypeError: (0, _typeof2.default) нет функция

Здесь я нашел вероятное решение:

https://github.com/zeit/next.js/issues/6879

Удалить "@babel/preset-env". Итак, после его удаления я получаю сообщение об ошибке в одном из пакетов node_modules (что может означать, что @babel/preset-env необходимо, чтобы этого избежать ...):

. / Node_modules / igv /dist/igv.esm.js Сборка модуля завершилась неудачно: TypeError: /Users/vlasenkona/Desktop/gris-seqr2/ui/node_modules/igv/dist/igv.esm.js: имя свойства ожидаемый тип строки, но получает значение null в Array.forEach ()

Если вместо этого удалить "@babel/plugin-transform-modules-commonjs", я получу еще одну ошибку:

. / node_modules / semanti c -ui- response / dist / es / modules / Dropdown / Dropdown. js 1002: 14-23 «экспорт по умолчанию» (импортированный как «PropTypes») не найден в «prop-types»

Это происходит потому, что для этого нужно удалить @babel/plugin-transform-modules-commonjs. Итак, из этих 3 ошибок мне кажется, что второе должно быть исправлено и есть поток:

https://github.com/alanbsmith/babel-plugin-react-add-property/issues/3

И это не решается, поэтому я застрял. Любые предложения будут с благодарностью.

...