Skip to content

refactor: modernise codebase to ES6+ and remove Closure Library dependency #2

@exhuma

Description

@exhuma

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 easingsExpo, 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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions