-
-
Notifications
You must be signed in to change notification settings - Fork 112
Closed
Description
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
asbundlerollup 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 jsdomto 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
-
will be out in another releasehyperHTML.adopt(...)
based on viperHTML changes and as separate bundle
joshgillies, albertosantini, oliverjanik, amoutonbrady and Textras
Metadata
Metadata
Assignees
Labels
No labels