This Pull Request updates dependency inferno-server from v3.10.1 to v5.0.6
Release Notes
### [`v5.0.6`](https://github.com/infernojs/inferno/releases/v5.0.6)
[Compare Source](https://github.com/infernojs/inferno/compare/v5.0.5...v5.0.6)
#### Inferno-core
Adds support for boolean expressions in children types TSX (Typescript JSX)
Adds support for style property as string `https://github.com/infernojs/inferno/issues/1338`
---
### [`v5.0.5`](https://github.com/infernojs/inferno/releases/v5.0.5)
[Compare Source](https://github.com/infernojs/inferno/compare/v5.0.4...v5.0.5)
#### Inferno-core
Better typescript support across the library, fixes Github `https://github.com/infernojs/inferno/issues/1332`
Fixes `Maximum callstack size exceeded` error when using AngularJS and inspire-tree-dom with Inferno `https://github.com/infernojs/inferno/pull/1331`
#### Internal
All dependencies updated
Travis moved to NodeJS 10
---
### [`v5.0.4`](https://github.com/infernojs/inferno/releases/v5.0.4)
[Compare Source](https://github.com/infernojs/inferno/compare/v5.0.3...v5.0.4)
#### Inferno-core
Improved keyed patch runtime performance by keeping "Sources" variable type "PACKED_SMI_ELEMENTS" v8 https://github.com/infernojs/inferno/commit/e6799c6ff57940265fbf3cc3957bf700372f71cc
#### Inferno-clone-vnode
Fixes bug where cloning text vNode it did not honor children argument. `https://github.com/infernojs/inferno/issues/1330`
---
### [`v5.0.3`](https://github.com/infernojs/inferno/releases/v5.0.3)
[Compare Source](https://github.com/infernojs/inferno/compare/v5.0.2...v5.0.3)
#### Inferno-core
Faster duplicate / missing key validation during development.
#### Typescript
More typescript type improvements: https://github.com/infernojs/inferno/commit/402a5fe42d1db1ee7da081cbc829216c855bf287 https://github.com/infernojs/inferno/commit/e5225318afc0ac49f57050b52b12de9eced2633b
---
### [`v5.0.2`](https://github.com/infernojs/inferno/releases/v5.0.2)
[Compare Source](https://github.com/infernojs/inferno/compare/v5.0.1...v5.0.2)
#### Typescript type improvements
- Support class and styleName attributes (#1307)
- Allow EventHandlers to be null (#1313)
- Fix Router and Switch component types (#1318)
#### Inferno-router
- Fixes bug where changing route did not update DOM (`https://github.com/infernojs/inferno/issues/1322`)
---
### [`v5.0.1`](https://github.com/infernojs/inferno/releases/v5.0.1)
[Compare Source](https://github.com/infernojs/inferno/compare/v5.0.0...v5.0.1)
#### Typings
Inferno is now compiled using more strict typescript options.`https://github.com/infernojs/inferno/pull/1305`
Fixed typescript errors caused by v5 typescript changes. `https://github.com/infernojs/inferno/pull/1302` `https://github.com/infernojs/inferno/pull/1304`
#### Inferno-create-class
Fixed typo in docs `https://github.com/infernojs/inferno/pull/1306`
---
### [`v5.0.0`](https://github.com/infernojs/inferno/releases/v5.0.0)
[Compare Source](https://github.com/infernojs/inferno/compare/v5.0.0-2...v5.0.0)
#### Breaking change
All modules have been renamed from `.mjs` to `.esm.js` for better Webpack 4 compatibility. `https://github.com/infernojs/inferno/issues/1296`
fe: ( `inferno/dist/inferno.dev.mjs => inferno/dist/inferno.dev.esm.js` )
Safari7, IE9 and PhantomJS support has been dropped. These browsers might or might not work, they are not tested anymore.
#### Better typescript support
Typescript support has been improved. PR https://github.com/infernojs/inferno/commit/d7f0408a39c762470c497dfb3e496eac40f03df5
It resolved the following issues: `https://github.com/infernojs/inferno/issues/1209` `https://github.com/infernojs/inferno/issues/1295` `https://github.com/infernojs/inferno/issues/686`
#### Fixture tests
All packaging tests have been updated to the latest versions. Webpack, systemjs, requirejs, amd, brunch, globals and browserify. https://github.com/infernojs/inferno/tree/master/fixtures/packaging
#### Unit tests
All tests are now run using inferno-compat on/off to have better compatibility with React.
You can now use `npm run test:browser:debug` to debug inferno tests using your favorite browser
#### Inferno-core
Fixes the issue where hoisted Components might unnecessarily get re-mounted
Removed side-effects from `patchKeyedChildren`. This fixes the issue where vNode's `dom` property becomes null and could cause run time exception.
Fixes bug where it was possible to patch same DOM twice by chaining setStates
Fixes IE10-IE11 exception when calling render asynchronously in strict mode (TypeError: Invalid calling object)
#### Inferno-compat + SSR
Fixes bug where `className` attribute was rendered to output html
#### Inferno-compat
Added simple polyfills for `Event.isPropagationStopped` and `Event.isDefaultPrevented` methods
#### Inferno-router
deprecated: `IndexLink` and `IndexRoute` components have been removed. Replace them with `Link` and `Route`
#### Inferno-mobx
Updated Inferno-mobx to support Mobx v4
#### Inferno-devtools
`initDevTools` is no longer called automatically. `https://github.com/infernojs/inferno/issues/1289`
---
### [`v4.0.8`](https://github.com/infernojs/inferno/releases/v4.0.8)
[Compare Source](https://github.com/infernojs/inferno/compare/v4.0.7...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
---
### [`v4.0.7`](https://github.com/infernojs/inferno/releases/v4.0.7)
[Compare Source](https://github.com/infernojs/inferno/compare/v4.0.6...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.6`](https://github.com/infernojs/inferno/releases/v4.0.6)
[Compare Source](https://github.com/infernojs/inferno/compare/v4.0.5...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.5`](https://github.com/infernojs/inferno/compare/v4.0.4...v4.0.5)
[Compare Source](https://github.com/infernojs/inferno/compare/v4.0.4...v4.0.5)
---
### [`v4.0.4`](https://github.com/infernojs/inferno/releases/v4.0.4)
[Compare Source](https://github.com/infernojs/inferno/compare/v4.0.3...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.3`](https://github.com/infernojs/inferno/releases/v4.0.3)
[Compare Source](https://github.com/infernojs/inferno/compare/v4.0.2...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.2`](https://github.com/infernojs/inferno/releases/v4.0.2)
[Compare Source](https://github.com/infernojs/inferno/compare/v4.0.1...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.1`](https://github.com/infernojs/inferno/compare/v4.0.0...v4.0.1)
[Compare Source](https://github.com/infernojs/inferno/compare/v4.0.0...v4.0.1)
---
### [`v4.0.0`](https://github.com/infernojs/inferno/compare/04fc80628bf656a3983ef3d0a7d7c6332050c60b...v4.0.0)
[Compare Source](https://github.com/infernojs/inferno/compare/04fc80628bf656a3983ef3d0a7d7c6332050c60b...v4.0.0)
---
This Pull Request updates dependency inferno-server from
v3.10.1
tov5.0.6
Release Notes
### [`v5.0.6`](https://github.com/infernojs/inferno/releases/v5.0.6) [Compare Source](https://github.com/infernojs/inferno/compare/v5.0.5...v5.0.6) #### Inferno-core Adds support for boolean expressions in children types TSX (Typescript JSX) Adds support for style property as string `https://github.com/infernojs/inferno/issues/1338` --- ### [`v5.0.5`](https://github.com/infernojs/inferno/releases/v5.0.5) [Compare Source](https://github.com/infernojs/inferno/compare/v5.0.4...v5.0.5) #### Inferno-core Better typescript support across the library, fixes Github `https://github.com/infernojs/inferno/issues/1332` Fixes `Maximum callstack size exceeded` error when using AngularJS and inspire-tree-dom with Inferno `https://github.com/infernojs/inferno/pull/1331` #### Internal All dependencies updated Travis moved to NodeJS 10 --- ### [`v5.0.4`](https://github.com/infernojs/inferno/releases/v5.0.4) [Compare Source](https://github.com/infernojs/inferno/compare/v5.0.3...v5.0.4) #### Inferno-core Improved keyed patch runtime performance by keeping "Sources" variable type "PACKED_SMI_ELEMENTS" v8 https://github.com/infernojs/inferno/commit/e6799c6ff57940265fbf3cc3957bf700372f71cc #### Inferno-clone-vnode Fixes bug where cloning text vNode it did not honor children argument. `https://github.com/infernojs/inferno/issues/1330` --- ### [`v5.0.3`](https://github.com/infernojs/inferno/releases/v5.0.3) [Compare Source](https://github.com/infernojs/inferno/compare/v5.0.2...v5.0.3) #### Inferno-core Faster duplicate / missing key validation during development. #### Typescript More typescript type improvements: https://github.com/infernojs/inferno/commit/402a5fe42d1db1ee7da081cbc829216c855bf287 https://github.com/infernojs/inferno/commit/e5225318afc0ac49f57050b52b12de9eced2633b --- ### [`v5.0.2`](https://github.com/infernojs/inferno/releases/v5.0.2) [Compare Source](https://github.com/infernojs/inferno/compare/v5.0.1...v5.0.2) #### Typescript type improvements - Support class and styleName attributes (#1307) - Allow EventHandlers to be null (#1313) - Fix Router and Switch component types (#1318) #### Inferno-router - Fixes bug where changing route did not update DOM (`https://github.com/infernojs/inferno/issues/1322`) --- ### [`v5.0.1`](https://github.com/infernojs/inferno/releases/v5.0.1) [Compare Source](https://github.com/infernojs/inferno/compare/v5.0.0...v5.0.1) #### Typings Inferno is now compiled using more strict typescript options.`https://github.com/infernojs/inferno/pull/1305` Fixed typescript errors caused by v5 typescript changes. `https://github.com/infernojs/inferno/pull/1302` `https://github.com/infernojs/inferno/pull/1304` #### Inferno-create-class Fixed typo in docs `https://github.com/infernojs/inferno/pull/1306` --- ### [`v5.0.0`](https://github.com/infernojs/inferno/releases/v5.0.0) [Compare Source](https://github.com/infernojs/inferno/compare/v5.0.0-2...v5.0.0) #### Breaking change All modules have been renamed from `.mjs` to `.esm.js` for better Webpack 4 compatibility. `https://github.com/infernojs/inferno/issues/1296` fe: ( `inferno/dist/inferno.dev.mjs => inferno/dist/inferno.dev.esm.js` ) Safari7, IE9 and PhantomJS support has been dropped. These browsers might or might not work, they are not tested anymore. #### Better typescript support Typescript support has been improved. PR https://github.com/infernojs/inferno/commit/d7f0408a39c762470c497dfb3e496eac40f03df5 It resolved the following issues: `https://github.com/infernojs/inferno/issues/1209` `https://github.com/infernojs/inferno/issues/1295` `https://github.com/infernojs/inferno/issues/686` #### Fixture tests All packaging tests have been updated to the latest versions. Webpack, systemjs, requirejs, amd, brunch, globals and browserify. https://github.com/infernojs/inferno/tree/master/fixtures/packaging #### Unit tests All tests are now run using inferno-compat on/off to have better compatibility with React. You can now use `npm run test:browser:debug` to debug inferno tests using your favorite browser #### Inferno-core Fixes the issue where hoisted Components might unnecessarily get re-mounted Removed side-effects from `patchKeyedChildren`. This fixes the issue where vNode's `dom` property becomes null and could cause run time exception. Fixes bug where it was possible to patch same DOM twice by chaining setStates Fixes IE10-IE11 exception when calling render asynchronously in strict mode (TypeError: Invalid calling object) #### Inferno-compat + SSR Fixes bug where `className` attribute was rendered to output html #### Inferno-compat Added simple polyfills for `Event.isPropagationStopped` and `Event.isDefaultPrevented` methods #### Inferno-router deprecated: `IndexLink` and `IndexRoute` components have been removed. Replace them with `Link` and `Route` #### Inferno-mobx Updated Inferno-mobx to support Mobx v4 #### Inferno-devtools `initDevTools` is no longer called automatically. `https://github.com/infernojs/inferno/issues/1289` --- ### [`v4.0.8`](https://github.com/infernojs/inferno/releases/v4.0.8) [Compare Source](https://github.com/infernojs/inferno/compare/v4.0.7...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 --- ### [`v4.0.7`](https://github.com/infernojs/inferno/releases/v4.0.7) [Compare Source](https://github.com/infernojs/inferno/compare/v4.0.6...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.6`](https://github.com/infernojs/inferno/releases/v4.0.6) [Compare Source](https://github.com/infernojs/inferno/compare/v4.0.5...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.5`](https://github.com/infernojs/inferno/compare/v4.0.4...v4.0.5) [Compare Source](https://github.com/infernojs/inferno/compare/v4.0.4...v4.0.5) --- ### [`v4.0.4`](https://github.com/infernojs/inferno/releases/v4.0.4) [Compare Source](https://github.com/infernojs/inferno/compare/v4.0.3...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.3`](https://github.com/infernojs/inferno/releases/v4.0.3) [Compare Source](https://github.com/infernojs/inferno/compare/v4.0.2...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.2`](https://github.com/infernojs/inferno/releases/v4.0.2) [Compare Source](https://github.com/infernojs/inferno/compare/v4.0.1...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() { returnThis PR has been generated by Renovate Bot.