Holder 3
- Dominant language
- JavaScript
- Stars
- 5.8k
- Forks
- 585
- PR merge metrics
- No merged PRs in 30d
Description
Holder is now 5 years old and has been through several refactors. Some assumptions from its initial development (Android 2 support is necessary, non-Webkit Opera is still used, IE6-IE9 are dominant) are no longer true and only make the code base more complicated. Other assumptions, like mutation observers being unavailable, are also no longer true. Looking forward, Holder should focus on being small, interoperable, and cutting-edge.
## Main goals for Holder 3
- Drop rendering support for legacy browsers (IE10 and below, Opera, Android 2)
- Drop polyfills for ES5 features
- Rewrite library to use ES6
- Add React integration
- Diff engine implementations: legacy (timer), MutationObserver
## Secondary goals for Holder 3
- Add plugin support so new features can be added as necessary by end users
- Unify placeholder options with theme options
- Render more than text, e.g. UI placeholders, identicons
Contributor guide
No contributing guide indexed for this repository
Research direction
The issue defines broad Holder 3 goals but names no files, tests, or entry points. Start by reviewing the repository structure and current Holder implementation, then determine which goal can be scoped independently. Done would require implementing an agreed subset of the listed modernization, integration, or rendering changes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, react
- Domain
- frontend, web-dev
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100