gitextract_bj3knz1n/ ├── .eslintignore ├── .eslintrc.js ├── .flowconfig ├── .github/ │ └── workflows/ │ ├── nightly.yml │ └── nodejs.yml ├── .gitignore ├── .prettierignore ├── .prettierrc ├── .watchmanconfig ├── CHANGELOG-recoil-relay.md ├── CHANGELOG-recoil-sync.md ├── CHANGELOG-recoil.md ├── CHANGELOG-refine.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README-recoil-relay.md ├── README-recoil-sync.md ├── README-refine.md ├── README.md ├── babel.config.json ├── eslint-rules/ │ └── no-fb-only.js ├── flow-typed/ │ ├── jest.js │ ├── npm/ │ │ ├── ReactDOM_vx.x.x.js │ │ ├── ReactTestUtils_vx.x.x.js │ │ ├── d3-array_vx.x.x.js │ │ ├── d3-collection_vx.x.x.js │ │ ├── d3-interpolate_vx.x.x.js │ │ ├── d3-scale_vx.x.x.js │ │ ├── d3-selection_vx.x.x.js │ │ ├── d3-transition_vx.x.x.js │ │ ├── d3_vx.x.x.js │ │ ├── hamt_plus_vx.x.x.js │ │ ├── immutable_vx.x.x.js │ │ ├── jest_v26.x.x.js │ │ ├── jsondiffpatch-for-react_vx.x.x.js │ │ ├── nullthrows_vx.x.x.js │ │ └── react-dom_v18.x.x.js │ ├── package.json.js │ └── public-stubs.js ├── jest.config.js ├── package.json ├── packages/ │ ├── recoil/ │ │ ├── Recoil_index.js │ │ ├── adt/ │ │ │ ├── Recoil_ArrayKeyedMap.js │ │ │ ├── Recoil_Loadable.js │ │ │ ├── Recoil_PersistentMap.js │ │ │ ├── Recoil_Queue.js │ │ │ ├── Recoil_Wrapper.js │ │ │ └── __tests__/ │ │ │ ├── Recoil_ArrayKeyedMap-test.js │ │ │ └── Recoil_Loadable-test.js │ │ ├── caches/ │ │ │ ├── Recoil_CacheImplementationType.js │ │ │ ├── Recoil_CachePolicy.js │ │ │ ├── Recoil_LRUCache.js │ │ │ ├── Recoil_MapCache.js │ │ │ ├── Recoil_TreeCache.js │ │ │ ├── Recoil_TreeCacheImplementationType.js │ │ │ ├── Recoil_cacheFromPolicy.js │ │ │ ├── Recoil_treeCacheFromPolicy.js │ │ │ ├── Recoil_treeCacheLRU.js │ │ │ └── __tests__/ │ │ │ ├── Recoil_LRUCache-test.js │ │ │ ├── Recoil_MapCache-test.js │ │ │ ├── Recoil_TreeCache-test.js │ │ │ ├── Recoil_cacheFromPolicy-test.js │ │ │ ├── Recoil_treeCacheFromPolicy-test.js │ │ │ └── Recoil_treeCacheLRU-test.js │ │ ├── contrib/ │ │ │ ├── devtools_connector/ │ │ │ │ └── RecoilDevTools_Connector.react.js │ │ │ └── uri_persistence/ │ │ │ ├── Recoil_Link.js │ │ │ └── __tests__/ │ │ │ └── Recoil_Link-test.js │ │ ├── core/ │ │ │ ├── Recoil_AtomicUpdates.js │ │ │ ├── Recoil_Batching.js │ │ │ ├── Recoil_FunctionalCore.js │ │ │ ├── Recoil_Graph.js │ │ │ ├── Recoil_GraphTypes.js │ │ │ ├── Recoil_Keys.js │ │ │ ├── Recoil_Node.js │ │ │ ├── Recoil_ReactMode.js │ │ │ ├── Recoil_RecoilRoot.js │ │ │ ├── Recoil_RecoilValue.js │ │ │ ├── Recoil_RecoilValueInterface.js │ │ │ ├── Recoil_RetainedBy.js │ │ │ ├── Recoil_Retention.js │ │ │ ├── Recoil_RetentionZone.js │ │ │ ├── Recoil_Snapshot.js │ │ │ ├── Recoil_SnapshotCache.js │ │ │ ├── Recoil_State.js │ │ │ └── __tests__/ │ │ │ ├── Recoil_RecoilRoot-test.js │ │ │ ├── Recoil_RecoilValueInterface-test.js │ │ │ ├── Recoil_Retention-test.js │ │ │ ├── Recoil_Snapshot-test.js │ │ │ ├── Recoil_batcher-test.js │ │ │ ├── Recoil_core-test.js │ │ │ ├── Recoil_perf-test.js │ │ │ └── Recoil_useRecoilStoreID-test.js │ │ ├── hooks/ │ │ │ ├── Recoil_Hooks.js │ │ │ ├── Recoil_SnapshotHooks.js │ │ │ ├── Recoil_useGetRecoilValueInfo.js │ │ │ ├── Recoil_useRecoilBridgeAcrossReactRoots.js │ │ │ ├── Recoil_useRecoilCallback.js │ │ │ ├── Recoil_useRecoilRefresher.js │ │ │ ├── Recoil_useRecoilTransaction.js │ │ │ ├── Recoil_useRetain.js │ │ │ └── __tests__/ │ │ │ ├── Recoil_Hooks_TRANSITION_SUPPORT_UNSTABLE-test.js │ │ │ ├── Recoil_PublicHooks-test.js │ │ │ ├── Recoil_React-test.js │ │ │ ├── Recoil_useGetRecoilValueInfo-test.js │ │ │ ├── Recoil_useGotoRecoilSnapshot-test.js │ │ │ ├── Recoil_useRecoilBridgeAcrossReactRoots-test.js │ │ │ ├── Recoil_useRecoilCallback-test.js │ │ │ ├── Recoil_useRecoilInterface-test.js │ │ │ ├── Recoil_useRecoilRefresher-test.js │ │ │ ├── Recoil_useRecoilSnapshot-test.js │ │ │ ├── Recoil_useRecoilStateReset-test.js │ │ │ ├── Recoil_useRecoilTransaction-test.js │ │ │ ├── Recoil_useRecoilTransactionObserver-test.js │ │ │ ├── Recoil_useRecoilValueLoadable-test.js │ │ │ ├── Recoil_useTransactionObservation_DEPRECATED-test.js │ │ │ └── Recoil_useTransition-test.js │ │ ├── package-for-release.json │ │ ├── package.json │ │ └── recoil_values/ │ │ ├── Recoil_WaitFor.js │ │ ├── Recoil_WaitFor.js.flow │ │ ├── Recoil_atom.js │ │ ├── Recoil_atomFamily.js │ │ ├── Recoil_callbackTypes.js │ │ ├── Recoil_constSelector.js │ │ ├── Recoil_errorSelector.js │ │ ├── Recoil_readOnlySelector.js │ │ ├── Recoil_selector.js │ │ ├── Recoil_selectorFamily.js │ │ ├── __flowtests__/ │ │ │ └── Recoil_WaitFor-flowtest.js │ │ └── __tests__/ │ │ ├── Recoil_WaitFor-test.js │ │ ├── Recoil_atom-test.js │ │ ├── Recoil_atomFamily-test.js │ │ ├── Recoil_atomWithFallback-test.js │ │ ├── Recoil_constSelector-test.js │ │ ├── Recoil_errorSelector-test.js │ │ ├── Recoil_selector-test.js │ │ ├── Recoil_selectorFamily-test.js │ │ └── Recoil_selectorHooks-test.js │ ├── recoil-relay/ │ │ ├── RecoilRelay_Environments.js │ │ ├── RecoilRelay_graphQLMutationEffect.js │ │ ├── RecoilRelay_graphQLQueryEffect.js │ │ ├── RecoilRelay_graphQLSelector.js │ │ ├── RecoilRelay_graphQLSelectorFamily.js │ │ ├── RecoilRelay_graphQLSubscriptionEffect.js │ │ ├── RecoilRelay_index.js │ │ ├── __test_utils__/ │ │ │ └── RecoilRelay_mockRelayEnvironment.js │ │ ├── __tests__/ │ │ │ ├── RecoilRelay_RecoilRelayEnvironment-test.js │ │ │ ├── RecoilRelay_graphQLMutationEffect-test.js │ │ │ ├── RecoilRelay_graphQLQueryEffect-test.js │ │ │ ├── RecoilRelay_graphQLSelector-test.js │ │ │ ├── RecoilRelay_graphQLSelectorFamily-test.js │ │ │ ├── RecoilRelay_graphQLSubscriptionEffect-test.js │ │ │ └── mock-graphql/ │ │ │ ├── RecoilRelay_MockQueries.js │ │ │ └── schema.graphql │ │ ├── package-for-release.json │ │ └── package.json │ ├── recoil-sync/ │ │ ├── RecoilSync.js │ │ ├── RecoilSync_URL.js │ │ ├── RecoilSync_URLJSON.js │ │ ├── RecoilSync_URLTransit.js │ │ ├── RecoilSync_index.js │ │ ├── __test_utils__/ │ │ │ └── RecoilSync_MockURLSerialization.js │ │ ├── __tests__/ │ │ │ ├── RecoilSync-test.js │ │ │ ├── RecoilSync_URL-test.js │ │ │ ├── RecoilSync_URLCompound-test.js │ │ │ ├── RecoilSync_URLInterface-test.js │ │ │ ├── RecoilSync_URLJSON-test.js │ │ │ ├── RecoilSync_URLListen-test.js │ │ │ ├── RecoilSync_URLPush-test.js │ │ │ ├── RecoilSync_URLTransit-test.js │ │ │ └── RecoilSync_URLTransitJSON-test.js │ │ ├── package-for-release.json │ │ └── package.json │ ├── refine/ │ │ ├── Refine_API.js │ │ ├── Refine_Checkers.js │ │ ├── Refine_ContainerCheckers.js │ │ ├── Refine_JSON.js │ │ ├── Refine_PrimitiveCheckers.js │ │ ├── Refine_UtilityCheckers.js │ │ ├── Refine_index.js │ │ ├── __tests__/ │ │ │ ├── Refine-test.js │ │ │ ├── Refine_Containers-test.js │ │ │ ├── Refine_JSON-test.js │ │ │ ├── Refine_Primitives-test.js │ │ │ └── Refine_Utilities-test.js │ │ ├── package-for-release.json │ │ └── package.json │ └── shared/ │ ├── __test_utils__/ │ │ ├── Recoil_ReactRenderModes.js │ │ └── Recoil_TestingUtils.js │ ├── package.json │ ├── polyfill/ │ │ ├── ReactBatchedUpdates.js │ │ ├── ReactBatchedUpdates.native.js │ │ ├── err.js │ │ ├── expectationViolation.js │ │ ├── invariant.js │ │ ├── recoverableViolation.js │ │ └── sprintf.js │ └── util/ │ ├── Recoil_CopyOnWrite.js │ ├── Recoil_Environment.js │ ├── Recoil_Memoize.js │ ├── Recoil_PerformanceTimings.js │ ├── Recoil_ReactBatchedUpdates.js │ ├── Recoil_RecoilEnv.js │ ├── Recoil_concatIterables.js │ ├── Recoil_deepFreezeValue.js │ ├── Recoil_differenceSets.js │ ├── Recoil_err.js │ ├── Recoil_expectationViolation.js │ ├── Recoil_filterIterable.js │ ├── Recoil_filterMap.js │ ├── Recoil_filterSet.js │ ├── Recoil_gkx.js │ ├── Recoil_invariant.js │ ├── Recoil_isNode.js │ ├── Recoil_isPromise.js │ ├── Recoil_lazyProxy.js │ ├── Recoil_mapIterable.js │ ├── Recoil_mapMap.js │ ├── Recoil_mergeMaps.js │ ├── Recoil_nullthrows.js │ ├── Recoil_recoverableViolation.js │ ├── Recoil_shallowArrayEqual.js │ ├── Recoil_someSet.js │ ├── Recoil_stableStringify.js │ ├── Recoil_unionSets.js │ ├── Recoil_useComponentName.js │ ├── Recoil_usePrevious.js │ ├── Recoil_useRefInitOnce.js │ └── __tests__/ │ ├── Recoil_Memoize-test.js │ ├── Recoil_RecoilEnv-test.js │ ├── Recoil_deepFreezeValue-test.js │ ├── Recoil_lazyProxy-test.js │ └── Recoil_stableStringify-test.js ├── packages-ext/ │ ├── recoil-devtools/ │ │ ├── .babelrc │ │ ├── .eslintignore │ │ ├── .eslintrc │ │ ├── .gitignore │ │ ├── .prettierignore │ │ ├── flow.js │ │ ├── package.json │ │ ├── src/ │ │ │ ├── constants/ │ │ │ │ └── Constants.js │ │ │ ├── manifest.json │ │ │ ├── pages/ │ │ │ │ ├── Background/ │ │ │ │ │ ├── Background.js │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── Background.test.js │ │ │ │ │ └── index.html │ │ │ │ ├── Content/ │ │ │ │ │ ├── ContentScript.js │ │ │ │ │ └── __tests__/ │ │ │ │ │ └── ContentScript.test.js │ │ │ │ ├── Devtools/ │ │ │ │ │ ├── DevtoolsScript.js │ │ │ │ │ └── index.html │ │ │ │ ├── Page/ │ │ │ │ │ └── PageScript.js │ │ │ │ └── Popup/ │ │ │ │ ├── ConnectionContext.js │ │ │ │ ├── Devpanel.html │ │ │ │ ├── Items/ │ │ │ │ │ ├── CollapsibleItem.js │ │ │ │ │ ├── DiffItem.js │ │ │ │ │ ├── Item.js │ │ │ │ │ ├── ItemDependencies.js │ │ │ │ │ ├── ItemDescription.js │ │ │ │ │ ├── ItemLabel.js │ │ │ │ │ ├── ItemMoreItems.js │ │ │ │ │ ├── ItemValue.js │ │ │ │ │ ├── NodeName.js │ │ │ │ │ └── index.js │ │ │ │ ├── PopupApp.js │ │ │ │ ├── PopupComponent.js │ │ │ │ ├── PopupDependencyGraph.js │ │ │ │ ├── PopupDiff.js │ │ │ │ ├── PopupHeader.js │ │ │ │ ├── PopupMainContent.js │ │ │ │ ├── PopupScript.js │ │ │ │ ├── PopupSidebar.js │ │ │ │ ├── PopupSidebarTransaction.js │ │ │ │ ├── PopupSnapshot.js │ │ │ │ ├── Snapshot/ │ │ │ │ │ ├── AtomList.js │ │ │ │ │ ├── SearchContext.js │ │ │ │ │ ├── SelectorList.js │ │ │ │ │ ├── SnapshotSearch.js │ │ │ │ │ └── snapshotHooks.js │ │ │ │ ├── Tabs.js │ │ │ │ ├── index.html │ │ │ │ └── useSelectionHooks.js │ │ │ ├── types/ │ │ │ │ └── DevtoolsTypes.js │ │ │ └── utils/ │ │ │ ├── Connection.js │ │ │ ├── EvictableList.js │ │ │ ├── GraphUtils.js │ │ │ ├── Logger.js │ │ │ ├── ObjectEntries.js │ │ │ ├── ObjectValues.js │ │ │ ├── Serialization.js │ │ │ ├── Store.js │ │ │ ├── TXHashtable.js │ │ │ ├── __tests__/ │ │ │ │ ├── EvictableListTest.js │ │ │ │ ├── Recoil_DevTools_GraphUtils.test.js │ │ │ │ ├── Recoil_DevTools_TXHashtable.test.js │ │ │ │ └── SerializationTest.js │ │ │ ├── debounce.js │ │ │ ├── getStyle.js │ │ │ └── sankey/ │ │ │ ├── CV2_D3.js │ │ │ ├── CV2_memoize.js │ │ │ ├── Sankey.js │ │ │ ├── SankeyGraph.js │ │ │ ├── SankeyGraphLayout.js │ │ │ ├── compactArray.js │ │ │ └── isImmutable.js │ │ ├── utils/ │ │ │ ├── build.js │ │ │ ├── env.js │ │ │ └── webserver.js │ │ └── webpack.config.js │ └── todo-example/ │ ├── .gitignore │ ├── README.md │ ├── package.json │ ├── public/ │ │ ├── index.html │ │ ├── manifest.json │ │ └── robots.txt │ └── src/ │ ├── App.css │ ├── App.js │ ├── components/ │ │ └── Todo/ │ │ ├── TodoItem.jsx │ │ ├── TodoItemCreator.jsx │ │ ├── TodoList.jsx │ │ ├── TodoListFilters.jsx │ │ ├── TodoListStats.jsx │ │ ├── Todo_state.js │ │ └── Todo_types.js │ ├── index.css │ └── index.js ├── relay.config.js ├── rollup.config.js ├── scripts/ │ ├── build.mjs │ ├── deploy_nightly_build.js │ ├── pack.mjs │ ├── project-root-dir.mjs │ ├── rollup-configs.mjs │ └── utils.mjs ├── setupJestMock.js └── typescript/ ├── index.d.ts ├── recoil-relay-test.ts ├── recoil-relay.d.ts ├── recoil-sync-test.ts ├── recoil-sync.d.ts ├── recoil-test.ts ├── recoil.d.ts ├── refine-test.ts ├── refine.d.ts ├── tsconfig.json └── tslint.json