gitextract_f4isy9w2/ ├── .github/ │ ├── actions/ │ │ └── setup/ │ │ └── action.yml │ └── workflows/ │ └── main.yml ├── .gitignore ├── .husky/ │ ├── .gitignore │ └── pre-commit ├── .npmrc ├── .run/ │ └── Main Jest.run.xml ├── .vscode/ │ ├── extensions.json │ ├── launch.json │ └── settings.json ├── LICENSE ├── README.md ├── babel.config.cjs ├── cypress/ │ ├── .eslintrc │ ├── babel.config.js │ ├── e2e/ │ │ ├── big_list.js │ │ ├── child-of-pure-component.js │ │ ├── clone-element.js │ │ ├── create-factory.js │ │ ├── hooks-use-context.js │ │ ├── hooks-use-memo-and-callback-child.js │ │ ├── hooks-use-reducer.js │ │ ├── hooks-use-state.js │ │ ├── hot-reload.js │ │ ├── no-change.js │ │ ├── owner-reasons.js │ │ ├── props-and-state-change.js │ │ ├── props-changes.js │ │ ├── react-redux.js │ │ ├── special-changes.js │ │ ├── ssr.js │ │ ├── state-changes.js │ │ ├── strict-mode.js │ │ ├── styled-component.js │ │ └── test_console_assertions.js │ ├── fixtures/ │ │ └── example.json │ ├── plugins/ │ │ └── index.js │ └── support/ │ ├── assertions.js │ ├── commands.js │ └── e2e.js ├── cypress.config.ts ├── demo/ │ ├── nollup.config.js │ ├── public/ │ │ └── index.html │ ├── serve.js │ └── src/ │ ├── App.js │ ├── Menu.js │ ├── bigList/ │ │ └── index.js │ ├── bothChanges/ │ │ └── index.js │ ├── childOfPureComponent/ │ │ └── index.js │ ├── cloneElement/ │ │ └── index.js │ ├── createFactory/ │ │ └── index.js │ ├── createStepLogger.js │ ├── forwardRef/ │ │ └── index.js │ ├── hooks/ │ │ ├── useContext.js │ │ ├── useMemoAndCallbackChild.js │ │ ├── useReducer.js │ │ └── useState.js │ ├── hotReload/ │ │ └── index.js │ ├── index.js │ ├── logOwnerReasons/ │ │ └── index.js │ ├── noChanges/ │ │ └── index.js │ ├── propsChanges/ │ │ └── index.js │ ├── reactRedux/ │ │ └── index.js │ ├── reactReduxHOC/ │ │ └── index.js │ ├── specialChanges/ │ │ └── index.js │ ├── ssr/ │ │ ├── DemoComponent.js │ │ └── index.js │ ├── stateChanges/ │ │ └── index.js │ ├── strict/ │ │ └── index.js │ └── styledComponents/ │ └── index.js ├── eslint.config.js ├── jest.config.js ├── jest.polyfills.js ├── jestSetup.js ├── jsx-dev-runtime.d.ts ├── jsx-dev-runtime.js ├── jsx-runtime.d.ts ├── jsx-runtime.js ├── package.json ├── rollup.config.js ├── src/ │ ├── calculateDeepEqualDiffs.js │ ├── consts.js │ ├── defaultNotifier.js │ ├── findObjectsDifferences.js │ ├── getDefaultProps.js │ ├── getDisplayName.js │ ├── getUpdateInfo.js │ ├── helpers.js │ ├── index.js │ ├── normalizeOptions.js │ ├── patches/ │ │ ├── patchClassComponent.js │ │ ├── patchForwardRefComponent.js │ │ ├── patchFunctionalOrStrComponent.js │ │ └── patchMemoComponent.js │ ├── printDiff.js │ ├── shouldTrack.js │ ├── utils.js │ ├── wdyrStore.js │ └── whyDidYouRender.js ├── tests/ │ ├── .eslintrc │ ├── babel.config.cjs │ ├── calculateDeepEqualDiffs.test.js │ ├── defaultNotifier.test.js │ ├── findObjectsDifferences.test.js │ ├── getDisplayName.test.js │ ├── getUpdateInfo.test.js │ ├── hooks/ │ │ ├── childrenUsingHookResults.test.js │ │ ├── hooks.test.js │ │ ├── useContext.test.js │ │ ├── useReducer.test.js │ │ ├── useState.test.js │ │ └── useSyncExternalStore.test.js │ ├── index.test.js │ ├── librariesTests/ │ │ ├── react-redux.test.js │ │ ├── react-router-dom.test.js │ │ └── styled-components.test.js │ ├── logOnDifferentValues.test.js │ ├── logOwnerReasons.test.js │ ├── normalizeOptions.test.js │ ├── patches/ │ │ ├── patchClassComponent.test.js │ │ ├── patchForwardRefComponent.test.js │ │ ├── patchFunctionalOrStrComponent.test.js │ │ └── patchMemoComponent.test.js │ ├── shouldTrack.test.js │ ├── strictMode.test.js │ └── utils.test.js ├── tsconfig.json ├── tsx-test.tsx └── types.d.ts