Problem/Motivation

PopperJS is only used for Quickedit, which is going away in 10.0, deprecate the library so we can remove it from D10.

Steps to reproduce

Proposed resolution

Remaining tasks

User interface changes

API changes

Data model changes

Release notes snippet

The core/popperjs library has been deprecated as it is only used by Quickedit, which is also deprecated.

Issue fork drupal-3307471

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

nod_ created an issue. See original summary.

nod_’s picture

Status: Active » Needs review

replaced popperjs in the tests with loadjs.

There are some places in tour where we reference popperjs, those are valid use cases and will need to be updated only when shepherd replaces popperjs with floating-ui. We'll only need to update the name as the specific configuration values are the same between popperjs and floating-ui for the "placement" option.

nod_’s picture

test will fail because we still have quickedit around, so maybe we skip the deprecation?

spokje’s picture

Status: Needs review » Needs work
Issue tags: +Needs change record

Left some (annoying) nitpicks in the MR.

test will fail because we still have quickedit around, so maybe we skip the deprecation?

I don't see any other way to get passing tests without the silencing of the deprecation (I'm surprised there's only one test failing).

Did a quick search and the only remaining relevant popper-references are all in the tour module as explained by @nod_ in #3.

Besides the above and a CR I think we're very close here.

nod_’s picture

Status: Needs work » Needs review

we're using loadjs in the comments of ajax.es6.js already so I wouldn't change it here either.

spokje’s picture

Failing to see what changing popper to LoadJS in comments in core/modules/system/tests/modules/common_test/common_test.module has to do with ajax.es6.js, but that's probably me. :)

nod_’s picture

oh my bad, sorry. Thought this was only about the case: "LoadJS" vs. "loadjs". Fixing.

nod_’s picture

Issue tags: -Needs change record

Change record created

bnjmnm’s picture

Issue summary: View changes
Status: Needs review » Reviewed & tested by the community

It felt like Popper had more presence in core than Quickedit, but nice to be able to remove a dependency!

The MR looks good + I updated the CR with some recommendations regarding Floating UI.

  • catch committed c82136d on 9.5.x
    Issue #3307471 by nod_, Spokje, bnjmnm: Deprecate popperjs
    
catch’s picture

Status: Reviewed & tested by the community » Fixed

Unexpected that we can remove it, but it makes sense. If we need it for something later on, can always bring it back again.

Committed/pushed to 9.5.x, thanks!

quietone’s picture

Published the CR.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.

dqd’s picture

Oops, missed that one (ô.0)

@catch: same feelings here. feels kind of "wait, do I miss sth"? so we do not have any popup library on core now no more? Is this correct? To see how it belongs, let me show where I came from:

https://www.drupal.org/project/popper_js (deprecated)

2020 Update: popper_js library is now in Drupal 8.8 core, and replaced 'jQuery UI Position', and so this module has become superfluous. See the change record for more information.

Does it make sense that I start a new project in contrib for those who require it? Seems there are some deps. out there like Radix theme, etc.

ndf’s picture

@diqidoq Hi I just created https://www.drupal.org/project/popperjs . It is a drop-in replacement for library core/popperjs
To use it install the module and in *.libraries.yml replace core/popperjs with popperjs/popperjs

matthieuscarset’s picture

Floating UI - the newer version of popperjs - is apparently being introduced back into core thanks to the new Navigation module (still experimental).