Popper.js v2
See original GitHub issueIf anyone wants to contribute to the Popper.js v2 rewrite please do so sending PRs against the next
branch.
It’s a completely new codebase, I think the current codebase is too messy to continue to work on it, it started as a little proof of concept and ended up being a full fledged library, I think it deserves a complete rewrite.
The idea is to copy the good code from the old version and write new one to make the new code more stable.
I’d like to make the library even more performant by better leveraging to an internal cache the modifiers can use to get most of the values they need that have been already read from the DOM.
The only decisions I made so far are:
- prettier to format the code
- Flow to type check it
- New system to order modifiers [WIP] (discussion)
To do:
- CI
- add a built step (Rollup + Babel)
- add a CI setup
- add unit tests (Jest)
- add functional/integration cross-browser tests (Karma?)
- Core
- rewrite the positioning engine to work on all the supported cases (and more?)
- rewrite the modifiers API
- Modifiers
- computeStyles
- applyStyles
- arrow
- preventOverflow
- flip
- offset/shift (merge them together)
- other modifiers will be added later, if anyone wants them please send a PR to implement them
- Miscellaneous
- Implement the changes labelled as
BREAKING CHANGE
- Implement the changes labelled as
If you’d like to contribute please write here so others know who’s working on what.
Issue Analytics
- State:
- Created 5 years ago
- Reactions:38
- Comments:111 (48 by maintainers)
Top GitHub Comments
It will be treeshakeable 👌
Just a heads up,
@popperjs/core@2.0.0-alpha.1
is now available on npm, it should be quite stable.Report any feedback here if you have a chance to try it.