Skip to content

Update libraries #196

@taylortom

Description

@taylortom

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 ⚠️ Update (Phase 6) 🟠
jQuery-UI 1.13.2 1.14.2 ⚠️ Update 🔴
Backbone.js 1.4.0 1.6.1 ⚠️ Update 🔴
Backbone Forms 0.14.0 0.14.0 ☑️ Keep (unmaintained) -
Handlebars 4.7.7 4.7.8 ⚠️ Update 🔴
RequireJS 2.3.6 2.3.7 ⚠️ Update 🔴
React 17.0.2 19.2.4 ⚠️ Update (defer to migration) 🟢
React-DOM 17.0.2 19.2.4 ⚠️ Update (defer to migration) 🟢
Selectize 0.12.x 0.15.2 ⚠️ Update 🔴
Spectrum 1.8.0 2.0.10 ⚠️ Update 🟠
CKEditor 5 CDN v42 v44+ ☑️ Keep (CDN hosted) 🟢
CKEditor 4 local legacy - ⛔ Remove (replaced by CKEditor 5) 🔴
SweetAlert2 11.1.7 11.x ⚠️ Update 🟠
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 ⚠️ Update (Backbone dependency) 🔴
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: ⚠️ Update | ⛔ Remove | ⛔🚀 Replace with native | ☑️ No action — 🔴 High | 🟠 Medium | 🟢 Low


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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew or additional functionalityhigh priorityShould be prioritised over all other issuesstale

    Type

    No type

    Projects

    Status

    Backlog

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions