Drupal 9 has updated Popper.js to 2.0.6. Code currently depending on Drupal core Popper.js, should be upgraded to Popper.js 2.0.6 following the migration guide.
Drupal 8 and Drupal 9 run different versions of Popper.js
These are the errors that will occur if Popper.js implementation is for the incorrect version:
- If Popper 2.x is installed but code is written for Popper 1.x:
Uncaught TypeError: Popper is not a constructor
-
If Popper 1.x is installed but code is written for Popper 2.x:
Uncaught TypeError: Popper.createPopper is not a function
Modules and themes that want to use Popper.js without the need for separate 8.x and 9.x versions can do so by adding implementations for both Popper.js 1 and 2. It is possible to determine if Popper 1 or 2 is in use with a conditional checking if Popper.createPopper
exists. This condition is only true for Popper.js 2.