-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Labels
enhancementNew or additional functionalityNew or additional functionalityhigh priorityShould be prioritised over all other issuesShould be prioritised over all other issuesstale
Milestone
Description
Target Browser Support
Minimum supported versions (based on ES6+, IntersectionObserver, CSS Grid support):
- Chrome 64+ (January 2018)
- Firefox 63+ (October 2018)
- Safari 12+ (September 2018)
- Edge 79+ (January 2020, Chromium-based)
This allows removal of ES6 polyfills (core-js, regenerator-runtime) and use of modern APIs.
Version Audit
| Library | Current | Latest | Action | Priority |
|---|---|---|---|---|
| jQuery | 3.6.0 | 4.0.0 | 🟠 | |
| jQuery-UI | 1.13.2 | 1.14.2 | 🔴 | |
| Backbone.js | 1.4.0 | 1.6.1 | 🔴 | |
| Backbone Forms | 0.14.0 | 0.14.0 | ☑️ Keep (unmaintained) | - |
| Handlebars | 4.7.7 | 4.7.8 | 🔴 | |
| RequireJS | 2.3.6 | 2.3.7 | 🔴 | |
| React | 17.0.2 | 19.2.4 | 🟢 | |
| React-DOM | 17.0.2 | 19.2.4 | 🟢 | |
| Selectize | 0.12.x | 0.15.2 | 🔴 | |
| Spectrum | 1.8.0 | 2.0.10 | 🟠 | |
| CKEditor 5 | CDN v42 | v44+ | ☑️ Keep (CDN hosted) | 🟢 |
| CKEditor 4 | local legacy | - | ⛔ Remove (replaced by CKEditor 5) | 🔴 |
| SweetAlert2 | 11.1.7 | 11.x | 🟠 | |
| Ace Editor | 1.9.5 (CDN) | 1.36+ | ☑️ Keep (CDN hosted) | 🟢 |
| core-js | - | - | ⛔ Remove | 🔴 |
| regenerator-runtime | - | - | ⛔ Remove | 🔴 |
| jquery.tagsinput | - | - | ⛔ Migrate to Selectize, remove | 🔴 |
| Modernizr | custom | - | ⛔🚀 Replace: native touch detection | 🟠 |
| Bowser | 2.10.0 | 2.11.0 | ⛔🚀 Replace: feature detection | 🟢 |
| imageReady | - | - | ⛔🚀 Replace: img.onload/img.decode() |
🟢 |
| inview | - | - | ⛔🚀 Replace: IntersectionObserver |
🟢 |
| scrollTo | - | - | ⛔🚀 Replace: scrollIntoView() |
🟠 |
| Underscore.js | 1.13.1 | 1.13.7 | 🔴 | |
| Moment.js | 2.11.1 | 2.30.1 | ⛔🚀 Replace: Intl.DateTimeFormat |
🟢 |
| Polyglot.js | 2.4.2 | 2.5.0 | ⛔🚀 Replace: custom i18n | 🟢 |
| Velocity.js | 1.5.0 | 2.0.6 | ⛔🚀 Replace: CSS animations | 🟠 |
Legend:
Library Inventory (30 files in app/libraries/)
Category A: KEEP - Architectural Foundation
| Library | Current | Latest | Action |
|---|---|---|---|
| jQuery | 3.6.0 | 4.0.0 | Update - Major version with breaking changes, review needed |
| Backbone.js | 1.4.0 | 1.6.1 | Update - Minor updates, should be compatible |
| Underscore.js | 1.13.1 | 1.13.7 | Update - Required by Backbone.js |
| Backbone Forms | 0.14.0 | 0.14.0 | Current (unmaintained) |
| Handlebars | 4.7.7 | 4.7.8 | Update - Patch release |
| RequireJS | 2.3.6 | 2.3.7 | Update - Patch release |
Category B: KEEP - Future React Migration
| Library | Current | Latest | Notes |
|---|---|---|---|
| React | 17.0.2 | 19.2.4 | Update recommended when migration begins |
| React-DOM | 17.0.2 | 19.2.4 | Update recommended when migration begins |
Category C: DUPLICATE FUNCTIONALITY - Migrate Then Remove
| Library | Files | Usage | Action |
|---|---|---|---|
| jquery.tagsinput | jquery.tagsinput.min.js |
Used in frameworkImportView.js for tags autocomplete |
Migrate to Selectize, then remove |
Category D: POLYFILLS - Remove for Modern Browsers
| Library | Files | Purpose | Action |
|---|---|---|---|
| core-js | core-js.min.js |
ES6+ polyfills | Remove |
| regenerator-runtime | regenerator-runtime.min.js |
async/await polyfill | Remove |
Category E: FEATURE DETECTION - Replace with Native
| Library | Current | Latest | Native Replacement |
|---|---|---|---|
| Modernizr | custom | - | 'ontouchstart' in window or @media (pointer: coarse) |
| Bowser | 2.10.0 | 2.11.0 | navigator.userAgent or feature detection |
| imageReady | ? | - | img.onload/img.complete or img.decode() |
| inview | ? | - | IntersectionObserver API |
Category F: UTILITIES - Audit and Replace
| Library | Current | Latest | Native ES6+ Replacement |
|---|---|---|---|
| Moment.js | 2.11.1 | 2.30.1 | Intl.DateTimeFormat, Date methods |
| Polyglot.js | 2.4.2 | 2.5.0 | Custom i18n class (20 lines) |
| scrollTo | ? | - | element.scrollIntoView({ behavior: 'smooth' }) |
Category G: ANIMATION - Replace with CSS/Web Animations
| Library | Current | Latest | Native Replacement |
|---|---|---|---|
| Velocity.js | 1.5.0 | 2.0.6 | CSS transitions, @keyframes, Web Animations API |
Category H: UI WIDGETS - Version Updates Available
| Library | Current | Latest | Recommendation |
|---|---|---|---|
| jQuery-UI | 1.13.2 | 1.14.2 | Update - Better jQuery 4 compatibility |
| Selectize | 0.12.x | 0.15.2 | Update to @selectize/selectize or consider Tom Select |
| Spectrum | 1.8.0 | 2.0.10 | Update to spectrum-colorpicker2, native functionality not suitable:- No alpha/transparency support (critical for theming) - No color palette with localStorage persistence - No empty/null value support - No show/hide event callbacks |
| CKEditor 5 | CDN v42 | v44+ | Keep - CDN hosted, check for updates |
| SweetAlert2 | 11.1.7 | 11.x | Update - Check latest version |
Category I: CODE EDITORS - CDN Hosted
| Library | Current | Latest | Recommendation |
|---|---|---|---|
| Ace Editor | 1.9.5 (CDN) | 1.36+ | Keep - CDN hosted in index.hbs, check for updates |
Category J: LEGACY - Remove
| Library | Location | Recommendation |
|---|---|---|
| CKEditor 4 | Local app/libraries/ |
Remove - Legacy, replaced by CKEditor 5 CDN |
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew or additional functionalityNew or additional functionalityhigh priorityShould be prioritised over all other issuesShould be prioritised over all other issuesstale
Type
Projects
Status
Backlog