[FOLIO-1425] FOLIO Testing Platform Fails To Build - react-bootstrap 0.32.2 introduces babel-runtime 7.0.0-beta.44 Created: 18/Aug/18  Updated: 12/Nov/18  Resolved: 20/Aug/18

Status: Closed
Project: FOLIO
Components: None
Affects versions: None
Fix versions: None

Type: Bug Priority: P2
Reporter: Marc Johnson Assignee: Zak Burke
Resolution: Done Votes: 0
Labels: core, sprint45
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original estimate: Not Specified

Sprint:

 Description   

I tried building the `folio-testing-platform`, and `yarn build output` resulted in lots of similar looking errors:

ERROR in ./node_modules/react-bootstrap/es/DropdownMenu.js
Module not found: Error: Can't resolve '@babel/runtime/core-js/array/from' in '.../folio/folio-testing-platform/node_modules/react-bootstrap/es'

I haven’t checked all of them, but most seem to take this form, but with different parts that cannot be resolved. My ability to diagnose javascript dependency issues likely isn’t good enough to get much further.

Could this be related to the babel dependency definitions we have? Quite a few are resolving as `7.0.0-beta.44`

I don’t know if this is relevant but we have two different major versions of babel-loader resolving:

babel-loader@^7.1.4:
  version "7.1.5"
  resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-7.1.5.tgz#e3ee0cd7394aa557e013b02d3e492bfd07aa6d68"
  dependencies:
    find-cache-dir "^1.0.0"
    loader-utils "^1.0.2"
    mkdirp "^0.5.1"

babel-loader@^8.0.0-beta.2:
  version "8.0.0-beta.4"
  resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.0.0-beta.4.tgz#c3fab00696c385c70c04dbe486391f0eb996f345"
  dependencies:
    find-cache-dir "^1.0.0"
    loader-utils "^1.0.2"
    mkdirp "^0.5.1"
    util.promisify "^1.0.0"

Which appears to come from 2 versions of react-bootstrap:

react-bootstrap@^0.31.1:
  version "0.31.5"
  resolved "https://registry.yarnpkg.com/react-bootstrap/-/react-bootstrap-0.31.5.tgz#57040fa8b1274e1e074803c21a1b895fdabea05a"
  dependencies:
    babel-runtime "^6.11.6"
    classnames "^2.2.5"
    dom-helpers "^3.2.0"
    invariant "^2.2.1"
    keycode "^2.1.2"
    prop-types "^15.5.10"
    prop-types-extra "^1.0.1"
    react-overlays "^0.7.4"
    uncontrollable "^4.1.0"
    warning "^3.0.0"

react-bootstrap@^0.32.0:
  version "0.32.2"
  resolved "https://registry.yarnpkg.com/react-bootstrap/-/react-bootstrap-0.32.2.tgz#2420ab933c375968033d465e5f4523aa7bb7ceac"
  dependencies:
    "@babel/runtime" "^7.0.0-beta.42"
    babel-loader "^8.0.0-beta.2"
    classnames "^2.2.5"
    dom-helpers "^3.2.0"
    enzyme-adapter-react-15 "^1.0.1"
    invariant "^2.2.4"
    keycode "^2.2.0"
    prop-types "^15.6.1"
    prop-types-extra "^1.0.1"
    react-overlays "^0.8.0"
    react-prop-types "^0.4.0"
    react-transition-group "^2.0.0"
    uncontrollable "^5.0.0"
    warning "^3.0.0"

It looks like these two versions have been fine until the react-bootstrap 0.32.2 release last night (established by looking at the tags in github) introduced a dependency on `babel-runtime ^7.0.0-beta.42` which is significantly different.



 Comments   
Comment by Marc Johnson [ 18/Aug/18 ]

I’ve issued a bandaid pull request (https://github.com/folio-org/folio-testing-platform/pull/23) which resolves react-boostrap specifically to 0.31.1 until it can be decided what the correct proper resolution of this is.

I don’t know if this breaks any functionality.

Comment by Zak Burke [ 20/Aug/18 ]

Pinned react-bootstrap to "0.32.1" instead of "^0.32.0" or similar carat versions in all repositories that require it. UI repositories should not be using react-bootstrap directly since STRIPES-203 Closed . Alas.

Generated at Thu Feb 08 23:13:15 UTC 2024 using Jira 1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d.