flackr / scroll-timeline

A polyfill of ScrollTimeline.
Apache License 2.0
970 stars 95 forks source link

Change build platforms for better configuration and multiple build targets #219

Open flackr opened 9 months ago

flackr commented 9 months ago

This repo needs a build system that can handle the growing requirements. In particular, I think we need the following:

  1. Multiple build targets. In particular, I would like to support:

    • a full build (i.e. roughly what's produced today),
    • a debug build (no mangling, easy to understand issues in dev tools debugging),
    • one or more reduced builds, e.g.
      • a JS animation only build without the CSS support #173)
      • a build with minimal performance overhead, e.g. skips observers for size changes.

    I suspect the easy way we get different subsets of features is with different top level targets and modular includes. E.g. an include could install hooks for conformance code which would be no-ops when not installed.

  2. Reserved name support. See #200 for a particular example where due to mangling we are failing tests.

  3. Typescript? Not strictly required but I think having strict typing will make it easier to ensure correctness and make working on the polyfill easier.

@johannesodland @bramus WDYT? Does this seem good, anything else we need?

bramus commented 9 months ago
  1. (Stretch?) Auto publish tagged releases to NPM
johannesodland commented 9 months ago
  1. Fast build and dev-server for development
  2. (Stretch?) Automatic versioning and changelog. (release-please, changesets or similar)