Motivation
This library was written around 2012 for Google's Closure Library (goog.provide, goog.require, goog.debug.Logger). The Closure Library is effectively abandoned and these patterns are obsolete. The easing math itself is solid and timeless — it just needs a modern wrapper.
Proposed changes
- Remove Closure Library dependency — drop
goog.provide / goog.require / goog.debug.Logger
- ES6 modules — convert to
export/import syntax (or a UMD/CJS fallback if broad compat is needed)
const/let — replace all var declarations
- Arrow functions — replace anonymous
function expressions where appropriate
- JSDoc cleanup — update or remove Closure-compiler-specific annotations
- Packaging — add
package.json so it can be published to npm; add an entry point
- Build tooling — replace
plovr + Makefile with a modern bundler (e.g. Rollup or esbuild) or drop the build step entirely for a pure-ESM library
- Implement commented-out easings —
Expo, Circ, Back, Bounce, Elastic are stubbed but never implemented; a modernisation pass is a good opportunity to add them
Out of scope
- Changing the easing math/algorithms
- Changing the public API shape (function names, signatures)