gitextract_phe3_u4g/ ├── .editorconfig ├── .gitattributes ├── .github/ │ ├── COMMIT_TEMPLATE.md │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE.md │ ├── PULL_REQUEST_TEMPLATE.md │ └── workflows/ │ ├── ci-template.yml │ └── codeql-analysis.yml ├── .gitignore ├── .npmrc ├── CHANGELOG.md ├── CONTRIBUTING.md ├── LICENSE.md ├── README.md ├── browser/ │ └── jsfiddle-integration-babel7v3.js ├── demo/ │ └── inferno-router-demo/ │ ├── .babelrc │ ├── .gitignore │ ├── .proxyrc │ ├── README.md │ ├── package.json │ ├── src/ │ │ ├── App.tsx │ │ ├── index.html │ │ ├── index.tsx │ │ ├── indexServer.tsx │ │ ├── pages/ │ │ │ ├── AboutPage.scss │ │ │ ├── AboutPage.tsx │ │ │ ├── ContentPage.scss │ │ │ ├── ContentPage.tsx │ │ │ ├── PageTemplate.scss │ │ │ ├── PageTemplate.tsx │ │ │ ├── StartPage.scss │ │ │ └── StartPage.tsx │ │ └── server.ts │ └── tsconfig.json ├── docs/ │ ├── 1kcomponents/ │ │ ├── app.js │ │ ├── index.html │ │ └── style.css │ ├── animations/ │ │ ├── app.css │ │ ├── app.js │ │ └── index.html │ ├── animations-demo/ │ │ ├── app.css │ │ ├── app.js │ │ └── index.html │ ├── animations-demo-inner/ │ │ ├── app.css │ │ ├── app.js │ │ └── index.html │ ├── animations-global-demo/ │ │ ├── app.css │ │ ├── app.js │ │ └── index.html │ ├── async-render/ │ │ ├── app.js │ │ └── index.html │ ├── build.js │ ├── compat/ │ │ ├── app.js │ │ └── index.html │ ├── dbmonster/ │ │ ├── ENV.js │ │ ├── app.js │ │ ├── index.html │ │ └── style.css │ ├── dbmonster-mobx/ │ │ ├── app.js │ │ ├── index.html │ │ └── style.css │ ├── event-test/ │ │ ├── app.js │ │ ├── index.html │ │ └── styles.css │ ├── form/ │ │ ├── app.js │ │ └── index.html │ ├── index.html │ ├── math-elements/ │ │ ├── app.js │ │ ├── index.html │ │ └── style.css │ ├── styles.css │ ├── svg/ │ │ ├── app.js │ │ └── tiger.html │ ├── uibench/ │ │ ├── app.js │ │ ├── custom-uibench.js │ │ └── index.html │ ├── uibench-inferno-compat/ │ │ ├── app.js │ │ └── index.html │ ├── uibench-lifecycle/ │ │ ├── app.js │ │ └── index.html │ ├── uibench-normalization/ │ │ ├── app.js │ │ └── index.html │ └── uibench-reactlike/ │ ├── app.js │ └── index.html ├── documentation/ │ ├── v4-migration.md │ ├── v6-migration.md │ ├── v6-release.md │ └── v9-migration.md ├── eslint.config.js ├── fixtures/ │ └── browser/ │ ├── gzip/ │ │ └── gzippreprocessor.js │ ├── karma.babel.conf.js │ ├── karma.sauce.conf.js │ ├── karma.swc.conf.js │ ├── karma.ts.conf.js │ ├── package.json │ ├── test.index.js │ └── test.no-compat.index.js ├── jest.config-nodom.js ├── jest.config.js ├── lerna.json ├── package.json ├── packages/ │ ├── inferno/ │ │ ├── README.md │ │ ├── __tests__/ │ │ │ ├── animationHooks.spec.tsx │ │ │ ├── animationHooksFunc.spec.tsx │ │ │ ├── async-setstate.spec.tsx │ │ │ ├── blueprints.spec.tsx │ │ │ ├── children.spec.tsx │ │ │ ├── clonenode.spec.tsx │ │ │ ├── columnrender.spec.tsx │ │ │ ├── componentlifecycle.spec.tsx │ │ │ ├── components2.spec.tsx │ │ │ ├── createref.spec.tsx │ │ │ ├── data/ │ │ │ │ └── common-render/ │ │ │ │ ├── child.tsx │ │ │ │ ├── parentbase.tsx │ │ │ │ ├── parentfirstcommon.tsx │ │ │ │ └── parentsecondcommon.tsx │ │ │ ├── defaultprops-typings.spec.tsx │ │ │ ├── error.spec.tsx │ │ │ ├── forceUpdate.spec.tsx │ │ │ ├── formelements.spec.tsx │ │ │ ├── forward-ref.spec.tsx │ │ │ ├── fragments.spec.tsx │ │ │ ├── hooks.spec.tsx │ │ │ ├── input.spec.tsx │ │ │ ├── instancenull.spec.tsx │ │ │ ├── issue-1369.spec.tsx │ │ │ ├── lifecycle.spec.tsx │ │ │ ├── link.spec.tsx │ │ │ ├── linkEvent.spec.tsx │ │ │ ├── mixedFormElements.spec.tsx │ │ │ ├── newlifecycle.spec.tsx │ │ │ ├── patching-jsx.spec.tsx │ │ │ ├── patching.spec.tsx │ │ │ ├── portal.spec.tsx │ │ │ ├── rendering.spec.tsx │ │ │ ├── select.spec.tsx │ │ │ ├── select2.spec.tsx │ │ │ ├── setState.spec.tsx │ │ │ ├── singlepatches.spec.tsx │ │ │ ├── state.spec.tsx │ │ │ ├── styles.spec.tsx │ │ │ ├── svgXlink.spec.tsx │ │ │ ├── topcontext.spec.tsx │ │ │ ├── transition.spec.tsx │ │ │ ├── types.children.spec.tsx │ │ │ ├── types.spec.tsx │ │ │ └── validations.spec.tsx │ │ ├── index.cjs │ │ ├── index.mjs │ │ ├── package.json │ │ └── src/ │ │ ├── DOM/ │ │ │ ├── constants.ts │ │ │ ├── events/ │ │ │ │ ├── attachEvent.ts │ │ │ │ ├── delegation.ts │ │ │ │ └── linkEvent.ts │ │ │ ├── mounting.ts │ │ │ ├── patching.ts │ │ │ ├── props.ts │ │ │ ├── rendering.ts │ │ │ ├── unmounting.ts │ │ │ ├── utils/ │ │ │ │ ├── common.ts │ │ │ │ ├── componentUtil.ts │ │ │ │ └── innerHTML.ts │ │ │ └── wrappers/ │ │ │ ├── InputWrapper.ts │ │ │ ├── SelectWrapper.ts │ │ │ ├── TextareaWrapper.ts │ │ │ ├── processElement.ts │ │ │ └── wrapper.ts │ │ ├── core/ │ │ │ ├── component.ts │ │ │ ├── implementation.ts │ │ │ ├── nativetypes.ts │ │ │ ├── refs.ts │ │ │ ├── types.ts │ │ │ └── validate.ts │ │ └── index.ts │ ├── inferno-animation/ │ │ ├── __tests__/ │ │ │ ├── animatedAllComponent.spec.tsx │ │ │ ├── animatedComponent.spec.tsx │ │ │ ├── animatedComponentTypings.tsx │ │ │ ├── animatedMoveComponent.spec.tsx │ │ │ ├── index.spec.tsx │ │ │ └── utils.spec.tsx │ │ ├── index.cjs │ │ ├── index.css │ │ ├── package.json │ │ ├── readme.md │ │ └── src/ │ │ ├── AnimatedAllComponent.ts │ │ ├── AnimatedComponent.ts │ │ ├── AnimatedMoveComponent.ts │ │ ├── animationCoordinator.ts │ │ ├── animations.ts │ │ ├── index.ts │ │ └── utils.ts │ ├── inferno-clone-vnode/ │ │ ├── README.md │ │ ├── __tests__/ │ │ │ └── cloneVNode.spec.tsx │ │ ├── index.cjs │ │ ├── package.json │ │ └── src/ │ │ └── index.ts │ ├── inferno-compat/ │ │ ├── README.md │ │ ├── __tests__/ │ │ │ ├── ReactChildren.spec.jsx │ │ │ ├── ReactComponent.spec.jsx │ │ │ ├── ReactComponentLifeCycle.spec.jsx │ │ │ ├── ReactCompositeComponentState.spec.jsx │ │ │ ├── ReactDOM.spec.jsx │ │ │ ├── ReactDOMComponent.spec.jsx │ │ │ ├── ReactES6Class.spec.jsx │ │ │ ├── ReactElement.spec.jsx │ │ │ ├── ReactElementClone.spec.jsx │ │ │ ├── ReactJSXElement.spec.jsx │ │ │ ├── ReactMount.spec.jsx │ │ │ ├── ReactMountDestruction.spec.jsx │ │ │ ├── ReactMultiChild.spec.jsx │ │ │ ├── ReactPureComponent.spec.jsx │ │ │ ├── ReactStatelessComponent.spec.jsx │ │ │ ├── SelectValueElement.spec.jsx │ │ │ ├── clonevnode.spec.tsx │ │ │ ├── compat_children.spec.tsx │ │ │ ├── findDOMNodes.spec.jsx │ │ │ ├── isValidElement.spec.jsx │ │ │ ├── lifecycle.spec.jsx │ │ │ ├── misc.spec.jsx │ │ │ ├── onlyChild.spec.jsx │ │ │ ├── styles.spec.jsx │ │ │ ├── svg.spec.jsx │ │ │ ├── testutils.spec.jsx │ │ │ └── warnings.spec.jsx │ │ ├── index.cjs │ │ ├── lib/ │ │ │ ├── EventConstants.js │ │ │ ├── EventPluginHub.js │ │ │ ├── EventPluginUtils.js │ │ │ ├── EventPropagators.js │ │ │ ├── ReactCSSTransitionGroup.js │ │ │ ├── ReactFragment.js │ │ │ ├── ReactMount.js │ │ │ ├── ReactTransitionEvents.js │ │ │ ├── ReactTransitionGroup.js │ │ │ ├── SyntheticUIEvent.js │ │ │ ├── ViewportMetrics.js │ │ │ └── shallowCompare.js │ │ ├── package.json │ │ └── src/ │ │ ├── InfernoCompatPropertyMap.ts │ │ ├── PropTypes.ts │ │ ├── index.ts │ │ └── reactstyles.ts │ ├── inferno-create-element/ │ │ ├── __tests__/ │ │ │ ├── callback.in.ctr.spec.tsx │ │ │ ├── children.spec.ts │ │ │ ├── components.spec.ts │ │ │ ├── components1.spec.tsx │ │ │ ├── components2b.spec.tsx │ │ │ ├── components3.spec.tsx │ │ │ ├── createElement.fragment.spec.ts │ │ │ ├── createElement.spec.ts │ │ │ ├── createElementTyped.spec.tsx │ │ │ ├── creation.spec.ts │ │ │ ├── elements.spec.jsx │ │ │ ├── events.spec.js │ │ │ ├── hooks.spec.js │ │ │ ├── patchKeyedChildren.spec.js │ │ │ ├── patchMixedKeyed.spec.js │ │ │ ├── patchNonKeyedChildren.spec.js │ │ │ ├── patching.spec.js │ │ │ ├── select.spec.js │ │ │ ├── svg.ext.spec.js │ │ │ ├── svg.spec.jsx │ │ │ ├── text.spec.js │ │ │ ├── update.ext.spec.js │ │ │ └── update.spec.jsx │ │ ├── index.cjs │ │ ├── package.json │ │ ├── readme.md │ │ └── src/ │ │ └── index.ts │ ├── inferno-extras/ │ │ ├── README.md │ │ ├── __tests__/ │ │ │ └── extras.spec.jsx │ │ ├── index.cjs │ │ ├── package.json │ │ └── src/ │ │ ├── findDOMNode.ts │ │ ├── index.ts │ │ └── isDOMInsideVDOM.ts │ ├── inferno-hydrate/ │ │ ├── __tests__/ │ │ │ ├── hydrate-forward-ref.spec.tsx │ │ │ └── hydrate.spec.tsx │ │ ├── index.cjs │ │ ├── package.json │ │ ├── readme.md │ │ └── src/ │ │ └── index.ts │ ├── inferno-hyperscript/ │ │ ├── README.md │ │ ├── __tests__/ │ │ │ └── hyperscript.spec.tsx │ │ ├── index.cjs │ │ ├── package.json │ │ └── src/ │ │ └── index.ts │ ├── inferno-mobx/ │ │ ├── README.md │ │ ├── __tests__/ │ │ │ ├── context.spec.jsx │ │ │ ├── extra/ │ │ │ │ └── eventemitter.spec.js │ │ │ ├── generic.spec.jsx │ │ │ ├── inject.spec.jsx │ │ │ ├── misc.spec.jsx │ │ │ ├── observer.spec.jsx │ │ │ ├── observerPatch.spec.jsx │ │ │ ├── observerWrap.spec.jsx │ │ │ ├── stateless.spec.jsx │ │ │ ├── transactions.spec.jsx │ │ │ └── types.spec.tsx │ │ ├── index.cjs │ │ ├── package.json │ │ └── src/ │ │ ├── Provider.ts │ │ ├── index.ts │ │ ├── observer.ts │ │ ├── observerPatch.ts │ │ ├── observerWrap.ts │ │ └── utils/ │ │ ├── EventEmitter.ts │ │ └── utils.ts │ ├── inferno-redux/ │ │ ├── README.md │ │ ├── __tests__/ │ │ │ ├── components/ │ │ │ │ ├── Provider.spec.js │ │ │ │ ├── Provider.typings.tsx │ │ │ │ └── connect.spec.js │ │ │ ├── functional.spec.jsx │ │ │ └── utils/ │ │ │ ├── shallowEqual.spec.js │ │ │ └── wrapActionCreators.spec.js │ │ ├── index.cjs │ │ ├── package.json │ │ └── src/ │ │ ├── components/ │ │ │ ├── Provider.ts │ │ │ └── connectAdvanced.ts │ │ ├── connect/ │ │ │ ├── connect.ts │ │ │ ├── mapDispatchToProps.ts │ │ │ ├── mapStateToProps.ts │ │ │ ├── mergeProps.ts │ │ │ ├── selectorFactory.ts │ │ │ ├── verifySubselectors.ts │ │ │ └── wrapMapToProps.ts │ │ ├── index.ts │ │ └── utils/ │ │ ├── Subscription.ts │ │ ├── shallowEqual.ts │ │ ├── verifyPlainObject.ts │ │ ├── warning.ts │ │ └── wrapActionCreators.ts │ ├── inferno-router/ │ │ ├── README.md │ │ ├── __tests__/ │ │ │ ├── BrowserRouter.spec.tsx │ │ │ ├── HashRouter.spec.tsx │ │ │ ├── Link.ext.spec.tsx │ │ │ ├── Link.spec.tsx │ │ │ ├── MemoryRouter.spec.tsx │ │ │ ├── NavLink.spec.tsx │ │ │ ├── Prompt.spec.tsx │ │ │ ├── Route.spec.tsx │ │ │ ├── Route.typings.spec.tsx │ │ │ ├── Router.spec.tsx │ │ │ ├── Switch.spec.tsx │ │ │ ├── SwitchMount.spec.tsx │ │ │ ├── github1176.spec.tsx │ │ │ ├── integration.spec.tsx │ │ │ ├── issue1322.spec.tsx │ │ │ ├── loaderOnRoute.spec.tsx │ │ │ ├── loaderWithSwitch.spec.tsx │ │ │ ├── matchPath.spec.ts │ │ │ ├── mobx-router.spec.tsx │ │ │ ├── testUtils.ts │ │ │ └── withRouter.spec.tsx │ │ ├── index.cjs │ │ ├── package.json │ │ └── src/ │ │ ├── BrowserRouter.ts │ │ ├── HashRouter.ts │ │ ├── Link.ts │ │ ├── MemoryRouter.ts │ │ ├── NavLink.ts │ │ ├── Prompt.ts │ │ ├── Redirect.ts │ │ ├── Route.ts │ │ ├── Router.ts │ │ ├── StaticRouter.ts │ │ ├── Switch.ts │ │ ├── helpers.ts │ │ ├── index.ts │ │ ├── locationUtils.ts │ │ ├── matchPath.ts │ │ ├── resolveLoaders.ts │ │ ├── utils.ts │ │ └── withRouter.ts │ ├── inferno-server/ │ │ ├── README.md │ │ ├── __tests__/ │ │ │ ├── StaticRouter.spec.server-nodom.tsx │ │ │ ├── animationHooks.spec.server.tsx │ │ │ ├── creation-queuestream.spec.server.tsx │ │ │ ├── creation-stream.spec.server.ts │ │ │ ├── creation-stream.spec.server.tsx │ │ │ ├── creation.spec.server.ts │ │ │ ├── creation.spec.server.tsx │ │ │ ├── hydration-ext.spec.server.tsx │ │ │ ├── hydration.spec.server.ts │ │ │ ├── hydration.spec.server.tsx │ │ │ ├── loaderOnRoute.spec.server.tsx │ │ │ ├── observer.spec.server.tsx │ │ │ ├── props-context.spec.server.tsx │ │ │ ├── security.spec.server.tsx │ │ │ ├── ssr-forwardref.spec.tsx │ │ │ └── utils.spec.server.tsx │ │ ├── index.cjs │ │ ├── index.mjs │ │ ├── package.json │ │ └── src/ │ │ ├── index.ts │ │ ├── prop-renderers.ts │ │ ├── renderToString.queuestream.ts │ │ ├── renderToString.stream.ts │ │ ├── renderToString.ts │ │ ├── stream/ │ │ │ └── streamUtils.ts │ │ └── utils.ts │ ├── inferno-shared/ │ │ ├── index.cjs │ │ ├── package.json │ │ └── src/ │ │ └── index.ts │ ├── inferno-test-utils/ │ │ ├── README.md │ │ ├── __tests__/ │ │ │ ├── __snapshots__/ │ │ │ │ ├── snapshots.spec.tsx.snap │ │ │ │ └── testUtils.jest.spec.tsx.snap │ │ │ ├── snapshots.spec.tsx │ │ │ ├── testUtils.jest.spec.tsx │ │ │ └── testUtils.spec.tsx │ │ ├── index.cjs │ │ ├── package.json │ │ └── src/ │ │ ├── index.ts │ │ ├── jest.ts │ │ └── utils.ts │ ├── inferno-utils/ │ │ ├── __tests__/ │ │ │ └── utils.spec.tsx │ │ ├── package.json │ │ └── src/ │ │ └── index.ts │ └── inferno-vnode-flags/ │ ├── README.md │ ├── index.cjs │ ├── package.json │ └── src/ │ └── index.ts ├── scripts/ │ ├── bundle/ │ │ ├── bundle-size.js │ │ ├── move-compiled.js │ │ ├── move-typedefs.js │ │ └── read-files-in-dir.js │ ├── fakedom/ │ │ ├── build.js │ │ ├── libs/ │ │ │ ├── setup.js │ │ │ └── uibench.js │ │ ├── results/ │ │ │ └── inferno_base_line.json │ │ ├── uibench-reactlike/ │ │ │ ├── app.js │ │ │ └── start.js │ │ ├── viewer.html │ │ └── viewer.js │ ├── rollup/ │ │ ├── build.js │ │ └── plugins/ │ │ ├── alias.js │ │ └── index.js │ └── test/ │ ├── globals.js │ ├── jasmine-polyfill.js │ └── requestAnimationFrame.ts └── tsconfig.json