This Pull Request updates dependency inferno-component from v3.10.1 to v4.0.8
Release Notes
### [`v4.0.2`](https://github.com/infernojs/inferno/releases/v4.0.2)
### Inferno v4
In this release we have reworked Inferno's normalization process. In the previous versions Inferno always normalized all input, meaning it looped through all the vNode children checking for invalid nodes, flattening nested arrays etc. This process costs **O(n)** runtime, where n is number of input nodes. This has been improved by adding more logic into our [babel plugin](https://github.com/infernojs/babel-plugin-inferno) to detect static shapes compile time. Inferno will now normalize only dynamic shapes and even those can be avoided by pre-defining children shape using `childFlags`.
#### Breaking changes
There is v3 to v4 migration documentation available [here](https://github.com/infernojs/inferno/blob/master/docs/v4-migration.md)
#### New features
- `{Inferno.createPortal(vNode, DOM)}` can be used to render vNode to external location in DOM
- [Router](https://github.com/infernojs/inferno/tree/master/packages/inferno-router) has been updated to v4 to match React Router v4 API
- [Mobx](https://github.com/infernojs/inferno/tree/master/packages/inferno-mobx) and [Redux](https://github.com/infernojs/inferno/tree/master/packages/inferno-redux) integrations have been ported to the latest version
- new VNodeFlag `ReCreate` has been added. It can be used to always re-create element instead of diffing it.
- defaultHooks has been added to Functional Components
- Inferno now supports IE9+ without polyfills reducing
- Inferno size has been reduced to 7.8kb gzip including the ES2015 Component!
- Small performance improvements
```jsx
function Static() {
return
1
;
}
Static.defaultHooks = {
onComponentShouldUpdate() {
return false;
}
}
export const Com = Static;
```
- TouchEvents are now part of Synthetic event system
#### Common changes:
All Inferno properties follow the same naming convention.
JSX Flags
`NoNormalize` has been removed, and is replaced by `$HasVNodeChildren`
`hasKeyedChildren` => `$HasKeyedChildren`
`hasNonKeyedChildren` => `$HasNonKeyedChildren`
ES6 Component properties that are considered private are now `$` - prefixed.
Normalization process generated keys are now `$` - prefixed.
#### Bug Fixes
- XSS vulnerability has been fixed in `inferno-server` package
- `dangerouslySetInnerHTML` now correctly unmounts previous nodes
- hundreds of new tests have been added to `inferno-compat`
#### New website
We have also updated our Website [https://infernojs.org/](https://infernojs.org/)! If you have built something for inferno you can now add it there to utilities section :1st_place_medal:
#### Open collective
InfernoJS is now part of open collective program, please consider [supporting us](https://opencollective.com/inferno)!
---
### [`v4.0.3`](https://github.com/infernojs/inferno/releases/v4.0.3)
#### Core
- Fixes issue where Firefox triggers synthetic click event from mid/right mouse buttons. `https://github.com/infernojs/inferno/issues/1273`
This is work around for 12 years old Firefox bug:
https://bugzilla.mozilla.org/show_bug.cgi?id=184051
---
### [`v4.0.4`](https://github.com/infernojs/inferno/releases/v4.0.4)
#### Core
- Removed unnecessary function call from non keyed mounting
- Sauce labs timeout increased to 60seconds
- Internal dependencies updated
#### Inferno-mobx
- Docs: Code example updated
---
### [`v4.0.6`](https://github.com/infernojs/inferno/releases/v4.0.6)
##### Core
Added `inferno-shared` as dependency to `inferno` to satisfy typescript types. Fixes `https://github.com/infernojs/inferno/issues/1284`
##### Inferno-compat
Fixed typo in WrapperComponent https://github.com/infernojs/inferno/commit/1bd6c4661f2ef030b543ec122b5fb4d69a911b30
note: 4.0.5 was skipped due to bad publish.
---
### [`v4.0.7`](https://github.com/infernojs/inferno/releases/v4.0.7)
##### Inferno-compat
Fixes performance issue where arrays were converted to arrays when creating new vNodes. https://github.com/infernojs/inferno/commit/59769babe70ad12be8d13513fcd241b44869cc0e
Fixes bug where iterable falsy values were ignored. `https://github.com/infernojs/inferno/issues/1292`
---
### [`v4.0.8`](https://github.com/infernojs/inferno/releases/v4.0.8)
##### Inferno core
- Fixes bug where default functional component lifecycle hooks did not work with spread operator
##### Inferno-redux
- Fixes bug where functional component lifecycle hooks did not get attached
Small documentation improvements
---
Commits
#### v4.0.0
- [`514d648`](https://github.com/infernojs/inferno/commit/514d64846ad01891323bc95dfceea94d7091b91a) Optimized hydration DOM traversal, (it did unnecessary DOM steps)
- [`77932aa`](https://github.com/infernojs/inferno/commit/77932aa217d219be3a7463c9f4ca38ef0cb92b9e) Docs v4! (#1272)
- [`4c91c21`](https://github.com/infernojs/inferno/commit/4c91c21d5a785d1c1e61a61da7aa1e8abbf5dfbe) add example without decorators (#1276)
- [`4638c3a`](https://github.com/infernojs/inferno/commit/4638c3a178468c84bffa031ae898b2c991b49637) Update all dependencies
- [`d375cc7`](https://github.com/infernojs/inferno/commit/d375cc7f6683073d2fc2459ba601c99eb12cc7e8) fixed import statement in mobx docs
- [`e6e102f`](https://github.com/infernojs/inferno/commit/e6e102fa0ce820ef145f758a8dc9ccca2f0da1c5) Updated benchmarks and examples to v4 API
- [`67adf59`](https://github.com/infernojs/inferno/commit/67adf598f45c8e77d6657b5595503586d93d360f) Added link to 1k Components bench
- [`c58509e`](https://github.com/infernojs/inferno/commit/c58509e5ff0e8d497a8cecc12ba3aadaf1a5a119) v4.0.0
#### v4.0.1
- [`0dad720`](https://github.com/infernojs/inferno/commit/0dad720814d2959d1e9c1d67135684f83388002a) v4.0.1
#### v4.0.2
- [`aea0708`](https://github.com/infernojs/inferno/commit/aea0708e4c441699fcc7536c8a2af275b9ecb693) Fix open collective postinstall script
- [`bce4090`](https://github.com/infernojs/inferno/commit/bce4090f7af05f863e954f3e44987ee46c3015ee) added null to second parameter of render for better typescript experience
- [`cdca25f`](https://github.com/infernojs/inferno/commit/cdca25f8643245a5587d68d4be437e2879a6e595) change main babel plugin to v4
- [`fb43fc7`](https://github.com/infernojs/inferno/commit/fb43fc753c1b0562c4a048e3a053fec07237c04f) Added information about create-inferno-app into migration guide
- [`d37c8a2`](https://github.com/infernojs/inferno/commit/d37c8a209663557223f9150bf7e00acab290a0e9) v4.0.2
#### v4.0.3
- [`a14f696`](https://github.com/infernojs/inferno/commit/a14f6961dd5f209f37a578981eb2276d4c5a92e6) added updated readme to inferno pkg
- [`b2cd3ff`](https://github.com/infernojs/inferno/commit/b2cd3ff6743bd0d3daa588f53facec7a04e7c660) Fix JSFIddle integration
- [`5bed7cf`](https://github.com/infernojs/inferno/commit/5bed7cf28a3039882df1529a13ba3541060a8f00) Merge branch 'master' of https://github.com/infernojs/inferno into dev
- [`3a28119`](https://github.com/infernojs/inferno/commit/3a28119b0aab1ac4a8b38efe99a2a82b5a9c9109) Prevent propagating mid/right mouse clicks. Fixes Github #1273
- [`10248ba`](https://github.com/infernojs/inferno/commit/10248ba8a8ae65c9abc5fafe51d0bb70e0da2e82) Update jsFiddle simple clock link
- [`4cf9ec0`](https://github.com/infernojs/inferno/commit/4cf9ec0e7c717a6d2b3b43ce9d84890821da455e) NodeJS 9 for travis
- [`088bc00`](https://github.com/infernojs/inferno/commit/088bc00136afb5e61204d93e8048615c8885c16d) v4.0.3
#### v4.0.4
- [`48224f9`](https://github.com/infernojs/inferno/commit/48224f943e8091cc72c1382dcb762765b7b61784) Fixed saucelabs build link
- [`4255be3`](https://github.com/infernojs/inferno/commit/4255be372f23e5b6ea2577fb07d0cdb9fa9e8a9a) increased saucelabs timeout and updated deps
- [`9dab775`](https://github.com/infernojs/inferno/commit/9dab775f6d97b53e15d857e440b6e31df6b3c7b5) Update README.md (#1282)
- [`b44b0e2`](https://github.com/infernojs/inferno/commit/b44b0e2d88eb2ae885f531a2013c3ed2680b8d2e) Removed unnecessary function call from non keyed mount
- [`13a8cf1`](https://github.com/infernojs/inferno/commit/13a8cf130a497bd6374f00cd533041d50e03d34f) v4.0.4
#### v4.0.5
- [`1bd6c46`](https://github.com/infernojs/inferno/commit/1bd6c4661f2ef030b543ec122b5fb4d69a911b30) Fixed typo (#1288)
- [`57730f7`](https://github.com/infernojs/inferno/commit/57730f7f62fff8df380e0f95e3e0de2fb1fa857e) updated deps, removed deprecated "mapCoverage" config from jest.config, moved inferno-shared to dependency of inferno package to satisfy typescript type dependencies
- [`4bc4dfe`](https://github.com/infernojs/inferno/commit/4bc4dfe54dc9f81ed3c08b1b9f221c21344bc020) Add type information to patch method to help v8 analyze code path
- [`cc7d8be`](https://github.com/infernojs/inferno/commit/cc7d8bef2b91352419296266b724c93e023048be) v4.0.5
#### v4.0.6
- [`d14b31f`](https://github.com/infernojs/inferno/commit/d14b31f3e4a6d2e6fe0f7b974e64b77fafc97fd4) v4.0.6
#### v4.0.7
- [`59769ba`](https://github.com/infernojs/inferno/commit/59769babe70ad12be8d13513fcd241b44869cc0e) Fixed inferno-compat converting Arrays to Arrays. And fixed iterables not rendering falsy text values (0 and empty string). Github #1292
- [`4333ca7`](https://github.com/infernojs/inferno/commit/4333ca7de44c5e0b328676c4426e5f3fc9071019) v4.0.7
#### v4.0.8
- [`acbe557`](https://github.com/infernojs/inferno/commit/acbe5578f5abbb7e78473f23460f6344da88b1d9) Fixes bug when functional component default lifecycle hooks were mixed with spread operator. And fixed issue in inferno-redux where functional hooks did not work. Github #1293
- [`1468dcf`](https://github.com/infernojs/inferno/commit/1468dcf246a939b08b89830c5d267d50b90f3a29) removed unused import and documentation improvements
- [`3565751`](https://github.com/infernojs/inferno/commit/35657513a1d8b0a1b73f1510d47e6e884e73c4d6) v4.0.8
This Pull Request updates dependency inferno-component from
v3.10.1
tov4.0.8
Release Notes
### [`v4.0.2`](https://github.com/infernojs/inferno/releases/v4.0.2) ### Inferno v4 In this release we have reworked Inferno's normalization process. In the previous versions Inferno always normalized all input, meaning it looped through all the vNode children checking for invalid nodes, flattening nested arrays etc. This process costs **O(n)** runtime, where n is number of input nodes. This has been improved by adding more logic into our [babel plugin](https://github.com/infernojs/babel-plugin-inferno) to detect static shapes compile time. Inferno will now normalize only dynamic shapes and even those can be avoided by pre-defining children shape using `childFlags`. #### Breaking changes There is v3 to v4 migration documentation available [here](https://github.com/infernojs/inferno/blob/master/docs/v4-migration.md) #### New features - `{Inferno.createPortal(vNode, DOM)}` can be used to render vNode to external location in DOM - [Router](https://github.com/infernojs/inferno/tree/master/packages/inferno-router) has been updated to v4 to match React Router v4 API - [Mobx](https://github.com/infernojs/inferno/tree/master/packages/inferno-mobx) and [Redux](https://github.com/infernojs/inferno/tree/master/packages/inferno-redux) integrations have been ported to the latest version - new VNodeFlag `ReCreate` has been added. It can be used to always re-create element instead of diffing it. - defaultHooks has been added to Functional Components - Inferno now supports IE9+ without polyfills reducing - Inferno size has been reduced to 7.8kb gzip including the ES2015 Component! - Small performance improvements ```jsx function Static() { returnCommits
#### v4.0.0 - [`514d648`](https://github.com/infernojs/inferno/commit/514d64846ad01891323bc95dfceea94d7091b91a) Optimized hydration DOM traversal, (it did unnecessary DOM steps) - [`77932aa`](https://github.com/infernojs/inferno/commit/77932aa217d219be3a7463c9f4ca38ef0cb92b9e) Docs v4! (#1272) - [`4c91c21`](https://github.com/infernojs/inferno/commit/4c91c21d5a785d1c1e61a61da7aa1e8abbf5dfbe) add example without decorators (#1276) - [`4638c3a`](https://github.com/infernojs/inferno/commit/4638c3a178468c84bffa031ae898b2c991b49637) Update all dependencies - [`d375cc7`](https://github.com/infernojs/inferno/commit/d375cc7f6683073d2fc2459ba601c99eb12cc7e8) fixed import statement in mobx docs - [`e6e102f`](https://github.com/infernojs/inferno/commit/e6e102fa0ce820ef145f758a8dc9ccca2f0da1c5) Updated benchmarks and examples to v4 API - [`67adf59`](https://github.com/infernojs/inferno/commit/67adf598f45c8e77d6657b5595503586d93d360f) Added link to 1k Components bench - [`c58509e`](https://github.com/infernojs/inferno/commit/c58509e5ff0e8d497a8cecc12ba3aadaf1a5a119) v4.0.0 #### v4.0.1 - [`0dad720`](https://github.com/infernojs/inferno/commit/0dad720814d2959d1e9c1d67135684f83388002a) v4.0.1 #### v4.0.2 - [`aea0708`](https://github.com/infernojs/inferno/commit/aea0708e4c441699fcc7536c8a2af275b9ecb693) Fix open collective postinstall script - [`bce4090`](https://github.com/infernojs/inferno/commit/bce4090f7af05f863e954f3e44987ee46c3015ee) added null to second parameter of render for better typescript experience - [`cdca25f`](https://github.com/infernojs/inferno/commit/cdca25f8643245a5587d68d4be437e2879a6e595) change main babel plugin to v4 - [`fb43fc7`](https://github.com/infernojs/inferno/commit/fb43fc753c1b0562c4a048e3a053fec07237c04f) Added information about create-inferno-app into migration guide - [`d37c8a2`](https://github.com/infernojs/inferno/commit/d37c8a209663557223f9150bf7e00acab290a0e9) v4.0.2 #### v4.0.3 - [`a14f696`](https://github.com/infernojs/inferno/commit/a14f6961dd5f209f37a578981eb2276d4c5a92e6) added updated readme to inferno pkg - [`b2cd3ff`](https://github.com/infernojs/inferno/commit/b2cd3ff6743bd0d3daa588f53facec7a04e7c660) Fix JSFIddle integration - [`5bed7cf`](https://github.com/infernojs/inferno/commit/5bed7cf28a3039882df1529a13ba3541060a8f00) Merge branch 'master' of https://github.com/infernojs/inferno into dev - [`3a28119`](https://github.com/infernojs/inferno/commit/3a28119b0aab1ac4a8b38efe99a2a82b5a9c9109) Prevent propagating mid/right mouse clicks. Fixes Github #1273 - [`10248ba`](https://github.com/infernojs/inferno/commit/10248ba8a8ae65c9abc5fafe51d0bb70e0da2e82) Update jsFiddle simple clock link - [`4cf9ec0`](https://github.com/infernojs/inferno/commit/4cf9ec0e7c717a6d2b3b43ce9d84890821da455e) NodeJS 9 for travis - [`088bc00`](https://github.com/infernojs/inferno/commit/088bc00136afb5e61204d93e8048615c8885c16d) v4.0.3 #### v4.0.4 - [`48224f9`](https://github.com/infernojs/inferno/commit/48224f943e8091cc72c1382dcb762765b7b61784) Fixed saucelabs build link - [`4255be3`](https://github.com/infernojs/inferno/commit/4255be372f23e5b6ea2577fb07d0cdb9fa9e8a9a) increased saucelabs timeout and updated deps - [`9dab775`](https://github.com/infernojs/inferno/commit/9dab775f6d97b53e15d857e440b6e31df6b3c7b5) Update README.md (#1282) - [`b44b0e2`](https://github.com/infernojs/inferno/commit/b44b0e2d88eb2ae885f531a2013c3ed2680b8d2e) Removed unnecessary function call from non keyed mount - [`13a8cf1`](https://github.com/infernojs/inferno/commit/13a8cf130a497bd6374f00cd533041d50e03d34f) v4.0.4 #### v4.0.5 - [`1bd6c46`](https://github.com/infernojs/inferno/commit/1bd6c4661f2ef030b543ec122b5fb4d69a911b30) Fixed typo (#1288) - [`57730f7`](https://github.com/infernojs/inferno/commit/57730f7f62fff8df380e0f95e3e0de2fb1fa857e) updated deps, removed deprecated "mapCoverage" config from jest.config, moved inferno-shared to dependency of inferno package to satisfy typescript type dependencies - [`4bc4dfe`](https://github.com/infernojs/inferno/commit/4bc4dfe54dc9f81ed3c08b1b9f221c21344bc020) Add type information to patch method to help v8 analyze code path - [`cc7d8be`](https://github.com/infernojs/inferno/commit/cc7d8bef2b91352419296266b724c93e023048be) v4.0.5 #### v4.0.6 - [`d14b31f`](https://github.com/infernojs/inferno/commit/d14b31f3e4a6d2e6fe0f7b974e64b77fafc97fd4) v4.0.6 #### v4.0.7 - [`59769ba`](https://github.com/infernojs/inferno/commit/59769babe70ad12be8d13513fcd241b44869cc0e) Fixed inferno-compat converting Arrays to Arrays. And fixed iterables not rendering falsy text values (0 and empty string). Github #1292 - [`4333ca7`](https://github.com/infernojs/inferno/commit/4333ca7de44c5e0b328676c4426e5f3fc9071019) v4.0.7 #### v4.0.8 - [`acbe557`](https://github.com/infernojs/inferno/commit/acbe5578f5abbb7e78473f23460f6344da88b1d9) Fixes bug when functional component default lifecycle hooks were mixed with spread operator. And fixed issue in inferno-redux where functional hooks did not work. Github #1293 - [`1468dcf`](https://github.com/infernojs/inferno/commit/1468dcf246a939b08b89830c5d267d50b90f3a29) removed unused import and documentation improvements - [`3565751`](https://github.com/infernojs/inferno/commit/35657513a1d8b0a1b73f1510d47e6e884e73c4d6) v4.0.8This PR has been generated by Renovate Bot.