Skip to content

V2 Todos #140

@WebReflection

Description

@WebReflection

This issue helps me track changes needed to roll out hyperHTML V2.

Breaking Changes

  • remove hyperHTML.escape (useless since V0)
  • remove hyperHTML.adopt (experimental, V1 too unpredictable, viperHTML has changes for it)
  • use document.importNode instead of trusting connect/attributeChanged events (Custom Elements life-cycle will be different and CE will be always upgraded)

Refactoring

  • use 100% standard ECMAScript 2015 code as ESM
  • avoid transpilation bloat/interference/feature detection issues (use a defined set of transpiling rules instead of the whole 2015 preset)
  • use ascjs to create CommonJS version of the module
  • use asbundle rollup to create index.js and be sure the resulting code doesn't throw in ES5 based engines
  • use uglify-js 2 to create min.js and be sure the resulting code doesn't throw in ES5 based engines
  • split dependencies in folders avoiding circular dependencies
  • branch out less capable browsers and keep the fast path on modern browsers (too many if/else inside code, just create different callbacks for better/easier code coverage too)
  • for custom elements sake, remove hyper HTML attributes before importing and put them back after, avoiding misleading callbacks. Solve all attributes before connecting the node and never after.

Testing / Maintenance

  • try to use basicHTML latest version of jsdom to code cover on the server
  • make greenkeeper happy if latest jsdom works
  • test in isolation each CommonJS file or test index.js all at once. not needed, rollup is better
  • aim to the glorious 100% code coverage, trying to avoid ignores for jsdom / nodejs sake

Nice to have

  • hyperHTML.adopt(...) based on viperHTML changes and as separate bundle will be out in another release

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