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
Reactions are currently unavailable
This issue helps me track changes needed to roll out hyperHTML V2.
Breaking Changes
Refactoring
Testing / Maintenance
Nice to have