├── .circleci └── config.yml ├── .codesandbox └── ci.json ├── .editorconfig ├── .eslintignore ├── .eslintrc.js ├── .gitattributes ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ ├── config.yml │ └── devtools_bug_report.yml ├── PULL_REQUEST_TEMPLATE.md ├── stale.yml └── workflows │ ├── commit_artifacts.yml │ └── devtools_check_repro.yml ├── .gitignore ├── .mailmap ├── .nvmrc ├── .prettierignore ├── .prettierrc.js ├── .watchmanconfig ├── AUTHORS ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── ReactVersions.js ├── SECURITY.md ├── babel.config.js ├── dangerfile.js ├── fixtures ├── art │ ├── .gitignore │ ├── README.md │ ├── VectorWidget.js │ ├── app.js │ ├── index.html │ ├── package.json │ ├── webpack.config.js │ └── yarn.lock ├── attribute-behavior │ ├── .gitignore │ ├── AttributeTableSnapshot.md │ ├── README.md │ ├── package.json │ ├── public │ │ ├── favicon.ico │ │ ├── index.html │ │ └── manifest.json │ ├── src │ │ ├── App.js │ │ ├── App.test.js │ │ ├── attributes.js │ │ ├── index.css │ │ └── index.js │ └── yarn.lock ├── blocks │ ├── .env │ ├── db.json │ ├── delay.js │ ├── package.json │ ├── public │ │ └── index.html │ ├── src │ │ ├── Router.js │ │ ├── client │ │ │ ├── Link.js │ │ │ ├── ProfileNav.js │ │ │ ├── RouterContext.js │ │ │ ├── Shell.js │ │ │ └── TabNav.js │ │ ├── index.css │ │ ├── index.js │ │ └── server │ │ │ ├── App.js │ │ │ ├── Comments.js │ │ │ ├── Feed.js │ │ │ ├── FeedPage.js │ │ │ ├── Post.js │ │ │ ├── PostGlimmer.js │ │ │ ├── PostList.js │ │ │ ├── ProfileBio.js │ │ │ ├── ProfilePage.js │ │ │ ├── ProfileTimeline.js │ │ │ └── ServerRouter.js │ └── yarn.lock ├── concurrent │ └── time-slicing │ │ ├── .gitignore │ │ ├── README.md │ │ ├── package.json │ │ ├── public │ │ ├── favicon.ico │ │ ├── index.html │ │ └── manifest.json │ │ ├── src │ │ ├── Charts.js │ │ ├── Clock.js │ │ ├── index.css │ │ └── index.js │ │ └── yarn.lock ├── devtools │ ├── regression │ │ ├── 14.9.html │ │ ├── 15.0.html │ │ ├── 15.1.html │ │ ├── 15.2.html │ │ ├── 15.3.html │ │ ├── 15.4.html │ │ ├── 15.5.html │ │ ├── 15.6.html │ │ ├── 16.0.html │ │ ├── 16.1.html │ │ ├── 16.2.html │ │ ├── 16.3.html │ │ ├── 16.4.html │ │ ├── 16.5.html │ │ ├── 16.6.html │ │ ├── 16.7.html │ │ ├── canary.html │ │ ├── index.html │ │ ├── next.html │ │ ├── server.js │ │ ├── shared.js │ │ └── styles.css │ ├── scheduling-profiler │ │ ├── .gitignore │ │ ├── README.md │ │ ├── app.js │ │ ├── index.html │ │ └── run.js │ └── standalone │ │ └── index.html ├── dom │ ├── .gitignore │ ├── README.md │ ├── package.json │ ├── public │ │ ├── act-dom.html │ │ ├── favicon.ico │ │ ├── index.html │ │ ├── react-logo.svg │ │ ├── renderer.html │ │ ├── renderer.js │ │ └── test.mp4 │ ├── src │ │ ├── __tests__ │ │ │ └── nested-act-test.js │ │ ├── components │ │ │ ├── App.js │ │ │ ├── Fixture.js │ │ │ ├── FixtureSet.js │ │ │ ├── Header.js │ │ │ ├── Iframe.js │ │ │ ├── IssueList.js │ │ │ ├── TestCase.js │ │ │ ├── VersionPicker.js │ │ │ ├── fixtures │ │ │ │ ├── buttons │ │ │ │ │ └── index.js │ │ │ │ ├── custom-elements │ │ │ │ │ └── index.js │ │ │ │ ├── date-inputs │ │ │ │ │ ├── index.js │ │ │ │ │ └── switch-date-test-case.js │ │ │ │ ├── email-inputs │ │ │ │ │ ├── EmailDisabledAttributesTestCase.js │ │ │ │ │ ├── EmailEnabledAttributesTestCase.js │ │ │ │ │ ├── JumpingCursorTestCase.js │ │ │ │ │ └── index.js │ │ │ │ ├── error-handling │ │ │ │ │ └── index.js │ │ │ │ ├── event-pooling │ │ │ │ │ ├── hit-box.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── mouse-move.js │ │ │ │ │ └── persistence.js │ │ │ │ ├── form-state │ │ │ │ │ ├── ControlledFormFixture.js │ │ │ │ │ └── index.js │ │ │ │ ├── home.js │ │ │ │ ├── hydration │ │ │ │ │ ├── Code.js │ │ │ │ │ ├── code-transformer.js │ │ │ │ │ ├── codemirror-paraiso-dark.css │ │ │ │ │ ├── data.js │ │ │ │ │ ├── hydration.css │ │ │ │ │ └── index.js │ │ │ │ ├── index.js │ │ │ │ ├── input-change-events │ │ │ │ │ ├── InputPlaceholderFixture.js │ │ │ │ │ ├── RadioClickFixture.js │ │ │ │ │ ├── RadioGroupFixture.js │ │ │ │ │ ├── RadioNameChangeFixture.js │ │ │ │ │ ├── RangeKeyboardFixture.js │ │ │ │ │ └── index.js │ │ │ │ ├── media-events │ │ │ │ │ └── index.js │ │ │ │ ├── mouse-events │ │ │ │ │ ├── index.js │ │ │ │ │ ├── mouse-enter.js │ │ │ │ │ └── mouse-movement.js │ │ │ │ ├── number-inputs │ │ │ │ │ ├── NumberInputDecimal.js │ │ │ │ │ ├── NumberInputExtraZeroes.js │ │ │ │ │ ├── NumberTestCase.js │ │ │ │ │ └── index.js │ │ │ │ ├── password-inputs │ │ │ │ │ ├── PasswordTestCase.js │ │ │ │ │ └── index.js │ │ │ │ ├── pointer-events │ │ │ │ │ ├── drag-box.js │ │ │ │ │ ├── drag.js │ │ │ │ │ ├── hover-box.js │ │ │ │ │ ├── hover.js │ │ │ │ │ └── index.js │ │ │ │ ├── progress │ │ │ │ │ └── index.js │ │ │ │ ├── range-inputs │ │ │ │ │ └── index.js │ │ │ │ ├── selection-events │ │ │ │ │ ├── OnSelectEventTestCase.js │ │ │ │ │ ├── ReorderedInputsTestCase.js │ │ │ │ │ └── index.js │ │ │ │ ├── selects │ │ │ │ │ └── index.js │ │ │ │ ├── suspense │ │ │ │ │ └── index.js │ │ │ │ ├── text-inputs │ │ │ │ │ ├── InputTestCase.js │ │ │ │ │ ├── README.md │ │ │ │ │ ├── ReplaceEmailInput.js │ │ │ │ │ └── index.js │ │ │ │ └── textareas │ │ │ │ │ └── index.js │ │ │ └── propTypes.js │ │ ├── find-dom-node.js │ │ ├── index.js │ │ ├── polyfills.js │ │ ├── react-loader.js │ │ ├── style.css │ │ ├── tags.js │ │ └── toWarnDev.js │ └── yarn.lock ├── eslint │ ├── .eslintrc.json │ ├── README.md │ ├── index.js │ ├── package.json │ ├── proxy │ │ ├── index.js │ │ └── package.json │ ├── watch.sh │ └── yarn.lock ├── expiration │ ├── .gitignore │ ├── package.json │ ├── public │ │ └── index.html │ ├── src │ │ └── index.js │ └── yarn.lock ├── fiber-debugger │ ├── .env │ ├── .gitignore │ ├── README.md │ ├── package.json │ ├── public │ │ ├── favicon.ico │ │ └── index.html │ ├── src │ │ ├── App.js │ │ ├── Editor.js │ │ ├── Fibers.js │ │ ├── describeFibers.js │ │ ├── index.css │ │ └── index.js │ └── yarn.lock ├── fiber-triangle │ └── index.html ├── fizz-ssr-browser │ └── index.html ├── fizz │ ├── README.md │ ├── package.json │ ├── public │ │ └── main.css │ ├── scripts │ │ └── build.js │ ├── server │ │ ├── delays.js │ │ ├── render-to-buffer.js │ │ ├── render-to-stream.js │ │ ├── render-to-string.js │ │ └── server.js │ ├── src │ │ ├── App.js │ │ ├── BigComponent.js │ │ ├── Html.js │ │ └── index.js │ └── yarn.lock ├── flight-browser │ └── index.html ├── flight │ ├── .gitignore │ ├── config │ │ ├── env.js │ │ ├── getHttpsConfig.js │ │ ├── jest │ │ │ ├── babelTransform.js │ │ │ ├── cssTransform.js │ │ │ └── fileTransform.js │ │ ├── modules.js │ │ ├── package.json │ │ ├── paths.js │ │ ├── webpack.config.js │ │ ├── webpack │ │ │ └── persistentCache │ │ │ │ └── createEnvironmentHash.js │ │ └── webpackDevServer.config.js │ ├── loader │ │ ├── index.js │ │ └── package.json │ ├── package.json │ ├── public │ │ └── index.html │ ├── scripts │ │ ├── build.js │ │ ├── package.json │ │ ├── start.js │ │ └── test.js │ ├── server │ │ ├── cli.server.js │ │ ├── handler.server.js │ │ └── package.json │ ├── src │ │ ├── App.server.js │ │ ├── Container.js │ │ ├── Counter.client.js │ │ ├── Counter2.client.js │ │ ├── ShowMore.client.js │ │ └── index.js │ └── yarn.lock ├── legacy-jsx-runtimes │ ├── README.md │ ├── babel.config.js │ ├── lint-runtimes.js │ ├── package.json │ ├── react-14 │ │ ├── cjs │ │ │ ├── react-jsx-dev-runtime.development.js │ │ │ ├── react-jsx-dev-runtime.production.min.js │ │ │ ├── react-jsx-runtime.development.js │ │ │ └── react-jsx-runtime.production.min.js │ │ ├── jsx-dev-runtime.js │ │ ├── jsx-runtime.js │ │ ├── package.json │ │ ├── react-14.test.js │ │ └── yarn.lock │ ├── react-15 │ │ ├── cjs │ │ │ ├── react-jsx-dev-runtime.development.js │ │ │ ├── react-jsx-dev-runtime.production.min.js │ │ │ ├── react-jsx-runtime.development.js │ │ │ └── react-jsx-runtime.production.min.js │ │ ├── jsx-dev-runtime.js │ │ ├── jsx-runtime.js │ │ ├── package.json │ │ ├── react-15.test.js │ │ └── yarn.lock │ ├── react-16 │ │ ├── cjs │ │ │ ├── react-jsx-dev-runtime.development.js │ │ │ ├── react-jsx-dev-runtime.production.min.js │ │ │ ├── react-jsx-runtime.development.js │ │ │ └── react-jsx-runtime.production.min.js │ │ ├── jsx-dev-runtime.js │ │ ├── jsx-runtime.js │ │ ├── package.json │ │ ├── react-16.test.js │ │ └── yarn.lock │ ├── react-17 │ │ ├── cjs │ │ │ ├── react-jsx-dev-runtime.development.js │ │ │ ├── react-jsx-dev-runtime.production.min.js │ │ │ ├── react-jsx-runtime.development.js │ │ │ └── react-jsx-runtime.production.min.js │ │ ├── jsx-dev-runtime.js │ │ ├── jsx-runtime.js │ │ ├── package.json │ │ ├── react-17.test.js │ │ └── yarn.lock │ ├── setupTests.js │ └── yarn.lock ├── nesting │ ├── .env │ ├── .eslintignore │ ├── .gitignore │ ├── README.md │ ├── package.json │ ├── public │ │ └── index.html │ └── src │ │ ├── index.js │ │ ├── legacy │ │ ├── Greeting.js │ │ ├── createLegacyRoot.js │ │ └── package.json │ │ ├── modern │ │ ├── AboutPage.js │ │ ├── App.js │ │ ├── HomePage.js │ │ ├── index.js │ │ ├── lazyLegacyRoot.js │ │ └── package.json │ │ ├── shared │ │ ├── Clock.js │ │ ├── ThemeContext.js │ │ └── useTime.js │ │ └── store.js ├── packaging │ ├── README.md │ ├── babel-standalone │ │ └── dev.html │ ├── browserify │ │ ├── dev │ │ │ ├── .gitignore │ │ │ ├── index.html │ │ │ ├── input.js │ │ │ ├── package.json │ │ │ └── yarn.lock │ │ └── prod │ │ │ ├── .gitignore │ │ │ ├── index.html │ │ │ ├── input.js │ │ │ ├── package.json │ │ │ └── yarn.lock │ ├── brunch │ │ ├── dev │ │ │ ├── .gitignore │ │ │ ├── app │ │ │ │ └── initialize.js │ │ │ ├── config.js │ │ │ ├── index.html │ │ │ ├── input.js │ │ │ ├── package.json │ │ │ └── yarn.lock │ │ └── prod │ │ │ ├── .gitignore │ │ │ ├── app │ │ │ └── initialize.js │ │ │ ├── config.js │ │ │ ├── index.html │ │ │ ├── input.js │ │ │ ├── package.json │ │ │ └── yarn.lock │ ├── build-all.js │ ├── globals │ │ ├── dev.html │ │ └── prod.html │ ├── index.html │ ├── requirejs │ │ ├── dev.html │ │ └── prod.html │ ├── rjs │ │ ├── dev │ │ │ ├── .gitignore │ │ │ ├── config.js │ │ │ ├── index.html │ │ │ ├── input.js │ │ │ ├── package.json │ │ │ └── yarn.lock │ │ └── prod │ │ │ ├── .gitignore │ │ │ ├── config.js │ │ │ ├── index.html │ │ │ ├── input.js │ │ │ ├── package.json │ │ │ └── yarn.lock │ ├── systemjs-builder │ │ ├── dev │ │ │ ├── .gitignore │ │ │ ├── build.js │ │ │ ├── config.js │ │ │ ├── index.html │ │ │ ├── input.js │ │ │ ├── package.json │ │ │ └── yarn.lock │ │ └── prod │ │ │ ├── .gitignore │ │ │ ├── build.js │ │ │ ├── config.js │ │ │ ├── index.html │ │ │ ├── input.js │ │ │ ├── package.json │ │ │ └── yarn.lock │ ├── systemjs │ │ ├── dev.html │ │ └── prod.html │ ├── webpack-alias │ │ ├── dev │ │ │ ├── .gitignore │ │ │ ├── config.js │ │ │ ├── index.html │ │ │ ├── input.js │ │ │ ├── package.json │ │ │ └── yarn.lock │ │ └── prod │ │ │ ├── .gitignore │ │ │ ├── config.js │ │ │ ├── index.html │ │ │ ├── input.js │ │ │ ├── package.json │ │ │ └── yarn.lock │ └── webpack │ │ ├── dev │ │ ├── .gitignore │ │ ├── config.js │ │ ├── index.html │ │ ├── input.js │ │ ├── package.json │ │ └── yarn.lock │ │ └── prod │ │ ├── .gitignore │ │ ├── config.js │ │ ├── index.html │ │ ├── input.js │ │ ├── package.json │ │ └── yarn.lock ├── scheduler │ └── index.html ├── ssr │ ├── README.md │ ├── package.json │ ├── public │ │ ├── favicon.ico │ │ └── index.html │ ├── server │ │ ├── index.js │ │ └── render.js │ ├── src │ │ ├── components │ │ │ ├── App.js │ │ │ ├── Chrome.css │ │ │ ├── Chrome.js │ │ │ ├── Page.css │ │ │ ├── Page.js │ │ │ ├── Page2.js │ │ │ ├── Suspend.js │ │ │ └── Theme.js │ │ └── index.js │ └── yarn.lock ├── ssr2 │ ├── README.md │ ├── package-lock.json │ ├── package.json │ ├── public │ │ └── main.css │ ├── scripts │ │ └── build.js │ ├── server │ │ ├── delays.js │ │ ├── render.js │ │ └── server.js │ ├── src │ │ ├── App.js │ │ ├── Comments.js │ │ ├── Html.js │ │ ├── Layout.js │ │ ├── NavBar.js │ │ ├── Post.js │ │ ├── Sidebar.js │ │ ├── Spinner.js │ │ ├── data.js │ │ └── index.js │ └── yarn.lock └── stacks │ ├── BabelClasses-compiled.js │ ├── BabelClasses-compiled.js.map │ ├── BabelClasses.js │ ├── Components.js │ ├── Example.js │ ├── babel.config.json │ └── index.html ├── netlify.toml ├── package.json ├── packages ├── dom-event-testing-library │ ├── README.md │ ├── __tests__ │ │ ├── __snapshots__ │ │ │ └── index-test.internal.js.snap │ │ └── index-test.internal.js │ ├── constants.js │ ├── domEnvironment.js │ ├── domEventSequences.js │ ├── domEvents.js │ ├── index.js │ ├── package.json │ ├── testHelpers.js │ └── touchStore.js ├── eslint-plugin-react-hooks │ ├── CHANGELOG.md │ ├── README.md │ ├── __tests__ │ │ ├── ESLintRuleExhaustiveDeps-test.js │ │ └── ESLintRulesOfHooks-test.js │ ├── index.js │ ├── npm │ │ └── index.js │ ├── package.json │ └── src │ │ ├── ExhaustiveDeps.js │ │ ├── RulesOfHooks.js │ │ └── index.js ├── jest-mock-scheduler │ ├── README.md │ ├── npm │ │ └── index.js │ └── package.json ├── jest-react │ ├── README.md │ ├── index.js │ ├── npm │ │ └── index.js │ ├── package.json │ └── src │ │ ├── JestReact.js │ │ └── internalAct.js ├── react-art │ ├── Circle.js │ ├── README.md │ ├── Rectangle.js │ ├── Wedge.js │ ├── index.js │ ├── npm │ │ ├── Circle.js │ │ ├── Rectangle.js │ │ ├── Wedge.js │ │ └── index.js │ ├── package.json │ └── src │ │ ├── ReactART.js │ │ ├── ReactARTHostConfig.js │ │ ├── ReactARTInternals.js │ │ └── __tests__ │ │ ├── ReactART-test.js │ │ └── __snapshots__ │ │ └── ReactART-test.js.snap ├── react-cache │ ├── README.md │ ├── index.js │ ├── npm │ │ └── index.js │ ├── package.json │ └── src │ │ ├── LRU.js │ │ ├── ReactCacheOld.js │ │ └── __tests__ │ │ └── ReactCacheOld-test.internal.js ├── react-client │ ├── README.md │ ├── flight.js │ ├── npm │ │ └── flight.js │ ├── package.json │ └── src │ │ ├── ReactFlightClient.js │ │ ├── ReactFlightClientHostConfig.js │ │ ├── ReactFlightClientHostConfigBrowser.js │ │ ├── ReactFlightClientHostConfigNoStream.js │ │ ├── ReactFlightClientHostConfigStream.js │ │ ├── ReactFlightClientStream.js │ │ ├── __tests__ │ │ └── ReactFlight-test.js │ │ └── forks │ │ ├── ReactFlightClientHostConfig.bun.js │ │ ├── ReactFlightClientHostConfig.custom.js │ │ ├── ReactFlightClientHostConfig.dom-browser.js │ │ ├── ReactFlightClientHostConfig.dom-legacy.js │ │ ├── ReactFlightClientHostConfig.dom-relay.js │ │ ├── ReactFlightClientHostConfig.dom.js │ │ └── ReactFlightClientHostConfig.native-relay.js ├── react-debug-tools │ ├── README.md │ ├── index.js │ ├── npm │ │ └── index.js │ ├── package.json │ └── src │ │ ├── ReactDebugHooks.js │ │ ├── ReactDebugTools.js │ │ └── __tests__ │ │ ├── ReactDevToolsHooksIntegration-test.js │ │ ├── ReactHooksInspection-test.js │ │ └── ReactHooksInspectionIntegration-test.js ├── react-devtools-core │ ├── README.md │ ├── backend.js │ ├── package.json │ ├── src │ │ ├── backend.js │ │ ├── cachedSettings.js │ │ ├── editor.js │ │ └── standalone.js │ ├── standalone.js │ ├── webpack.backend.js │ └── webpack.standalone.js ├── react-devtools-extensions │ ├── .circleci │ │ └── config.yml │ ├── README.md │ ├── build.js │ ├── chrome │ │ ├── README.md │ │ ├── build.js │ │ ├── deploy.js │ │ ├── manifest.json │ │ ├── now.json │ │ └── test.js │ ├── deploy.chrome.html │ ├── deploy.edge.html │ ├── deploy.firefox.html │ ├── deploy.html │ ├── deploy.js │ ├── edge │ │ ├── README.md │ │ ├── build.js │ │ ├── deploy.js │ │ ├── manifest.json │ │ ├── now.json │ │ └── test.js │ ├── firefox │ │ ├── README.md │ │ ├── build.js │ │ ├── deploy.js │ │ ├── manifest.json │ │ ├── now.json │ │ └── test.js │ ├── flow-typed │ │ ├── jest.js │ │ └── npm │ │ │ └── react-test-renderer_v16.x.x.js │ ├── icons │ │ ├── 128-deadcode.png │ │ ├── 128-development.png │ │ ├── 128-disabled.png │ │ ├── 128-outdated.png │ │ ├── 128-production.png │ │ ├── 128-restricted.png │ │ ├── 128-unminified.png │ │ ├── 16-deadcode.png │ │ ├── 16-development.png │ │ ├── 16-disabled.png │ │ ├── 16-outdated.png │ │ ├── 16-production.png │ │ ├── 16-restricted.png │ │ ├── 16-unminified.png │ │ ├── 32-deadcode.png │ │ ├── 32-development.png │ │ ├── 32-disabled.png │ │ ├── 32-outdated.png │ │ ├── 32-production.png │ │ ├── 32-restricted.png │ │ ├── 32-unminified.png │ │ ├── 48-deadcode.png │ │ ├── 48-development.png │ │ ├── 48-disabled.png │ │ ├── 48-outdated.png │ │ ├── 48-production.png │ │ ├── 48-restricted.png │ │ ├── 48-unminified.png │ │ ├── deadcode.svg │ │ ├── development.svg │ │ ├── disabled.svg │ │ ├── outdated.svg │ │ ├── production.svg │ │ └── restricted.svg │ ├── improveImages.mjs │ ├── main.html │ ├── package.json │ ├── panel.html │ ├── popups │ │ ├── deadcode.html │ │ ├── development.html │ │ ├── disabled.html │ │ ├── outdated.html │ │ ├── production.html │ │ ├── restricted.html │ │ ├── shared.css │ │ ├── shared.js │ │ └── unminified.html │ ├── src │ │ ├── backend.js │ │ ├── background.js │ │ ├── contentScripts │ │ │ ├── installHook.js │ │ │ ├── prepareInjection.js │ │ │ ├── proxy.js │ │ │ └── renderer.js │ │ ├── main.js │ │ ├── panel.js │ │ └── utils.js │ ├── utils.js │ ├── webpack.backend.js │ └── webpack.config.js ├── react-devtools-inline │ ├── README.md │ ├── __tests__ │ │ └── __e2e__ │ │ │ ├── components.test.js │ │ │ ├── devtools-utils.js │ │ │ ├── list-app-utils.js │ │ │ ├── profiler.test.js │ │ │ └── utils.js │ ├── backend.js │ ├── frontend.js │ ├── hookNames.js │ ├── package.json │ ├── playwright.config.js │ ├── src │ │ ├── backend.js │ │ ├── frontend.js │ │ └── hookNames.js │ └── webpack.config.js ├── react-devtools-shared │ ├── README.md │ ├── babel.config.js │ ├── buildUtils.js │ ├── package.json │ └── src │ │ ├── Logger.js │ │ ├── PerformanceLoggingUtils.js │ │ ├── UnsupportedBridgeOperationError.js │ │ ├── __tests__ │ │ ├── FastRefreshDevToolsIntegration-test.js │ │ ├── TimelineProfiler-test.js │ │ ├── __mocks__ │ │ │ └── cssMock.js │ │ ├── __serializers__ │ │ │ ├── dehydratedValueSerializer.js │ │ │ ├── hookSerializer.js │ │ │ ├── inspectedElementSerializer.js │ │ │ ├── numberToFixedSerializer.js │ │ │ ├── profilingSerializer.js │ │ │ ├── storeSerializer.js │ │ │ ├── timelineDataSerializer.js │ │ │ └── treeContextStateSerializer.js │ │ ├── bridge-test.js │ │ ├── componentStacks-test.js │ │ ├── console-test.js │ │ ├── editing-test.js │ │ ├── events-test.js │ │ ├── inspectedElement-test.js │ │ ├── legacy │ │ │ ├── editing-test.js │ │ │ ├── inspectElement-test.js │ │ │ └── storeLegacy-v15-test.js │ │ ├── ownersListContext-test.js │ │ ├── preprocessData-test.js │ │ ├── profilerChangeDescriptions-test.js │ │ ├── profilerContext-test.js │ │ ├── profilerStore-test.js │ │ ├── profilingCache-test.js │ │ ├── profilingCharts-test.js │ │ ├── profilingCommitTreeBuilder-test.js │ │ ├── profilingHostRoot-test.js │ │ ├── profilingUtils-test.js │ │ ├── setupTests.js │ │ ├── store-test.js │ │ ├── storeComponentFilters-test.js │ │ ├── storeOwners-test.js │ │ ├── storeStressSync-test.js │ │ ├── storeStressTestConcurrent-test.js │ │ ├── transform-react-version-pragma-test.js │ │ ├── treeContext-test.js │ │ ├── useEditableValue-test.js │ │ ├── utils-test.js │ │ └── utils.js │ │ ├── backend │ │ ├── DevToolsComponentStackFrame.js │ │ ├── DevToolsConsolePatching.js │ │ ├── DevToolsFiberComponentStack.js │ │ ├── NativeStyleEditor │ │ │ ├── resolveBoxStyle.js │ │ │ ├── setupNativeStyleEditor.js │ │ │ └── types.js │ │ ├── ReactFiberFlags.js │ │ ├── ReactSymbols.js │ │ ├── StyleX │ │ │ ├── __tests__ │ │ │ │ └── utils-test.js │ │ │ └── utils.js │ │ ├── agent.js │ │ ├── console.js │ │ ├── index.js │ │ ├── legacy │ │ │ ├── renderer.js │ │ │ └── utils.js │ │ ├── profilingHooks.js │ │ ├── renderer.js │ │ ├── types.js │ │ ├── utils.js │ │ └── views │ │ │ ├── Highlighter │ │ │ ├── Highlighter.js │ │ │ ├── Overlay.js │ │ │ └── index.js │ │ │ ├── TraceUpdates │ │ │ ├── canvas.js │ │ │ └── index.js │ │ │ └── utils.js │ │ ├── backendAPI.js │ │ ├── bridge.js │ │ ├── config │ │ ├── DevToolsFeatureFlags.core-fb.js │ │ ├── DevToolsFeatureFlags.core-oss.js │ │ ├── DevToolsFeatureFlags.default.js │ │ ├── DevToolsFeatureFlags.extension-fb.js │ │ └── DevToolsFeatureFlags.extension-oss.js │ │ ├── constants.js │ │ ├── devtools │ │ ├── ContextMenu │ │ │ ├── ContextMenu.css │ │ │ ├── ContextMenu.js │ │ │ ├── ContextMenuItem.css │ │ │ ├── ContextMenuItem.js │ │ │ ├── Contexts.js │ │ │ └── useContextMenu.js │ │ ├── ProfilerStore.js │ │ ├── ProfilingCache.js │ │ ├── cache.js │ │ ├── index.js │ │ ├── store.js │ │ ├── utils.js │ │ └── views │ │ │ ├── Button.css │ │ │ ├── Button.js │ │ │ ├── ButtonIcon.css │ │ │ ├── ButtonIcon.js │ │ │ ├── Components │ │ │ ├── Badge.css │ │ │ ├── Badge.js │ │ │ ├── CannotSuspendWarningMessage.js │ │ │ ├── ComponentSearchInput.js │ │ │ ├── Components.css │ │ │ ├── Components.js │ │ │ ├── EditableName.css │ │ │ ├── EditableName.js │ │ │ ├── EditableValue.css │ │ │ ├── EditableValue.js │ │ │ ├── Element.css │ │ │ ├── Element.js │ │ │ ├── ExpandCollapseToggle.css │ │ │ ├── ExpandCollapseToggle.js │ │ │ ├── FetchFileWithCachingContext.js │ │ │ ├── HocBadges.css │ │ │ ├── HocBadges.js │ │ │ ├── HookNamesModuleLoaderContext.js │ │ │ ├── InspectHostNodesToggle.js │ │ │ ├── InspectedElement.css │ │ │ ├── InspectedElement.js │ │ │ ├── InspectedElementContext.js │ │ │ ├── InspectedElementContextTree.js │ │ │ ├── InspectedElementErrorBoundary.css │ │ │ ├── InspectedElementErrorBoundary.js │ │ │ ├── InspectedElementErrorsAndWarningsTree.css │ │ │ ├── InspectedElementErrorsAndWarningsTree.js │ │ │ ├── InspectedElementHooksTree.css │ │ │ ├── InspectedElementHooksTree.js │ │ │ ├── InspectedElementPropsTree.js │ │ │ ├── InspectedElementSharedStyles.css │ │ │ ├── InspectedElementStateTree.js │ │ │ ├── InspectedElementStyleXPlugin.css │ │ │ ├── InspectedElementStyleXPlugin.js │ │ │ ├── InspectedElementSuspenseToggle.js │ │ │ ├── InspectedElementView.css │ │ │ ├── InspectedElementView.js │ │ │ ├── KeyValue.css │ │ │ ├── KeyValue.js │ │ │ ├── LoadingAnimation.css │ │ │ ├── LoadingAnimation.js │ │ │ ├── NativeStyleEditor │ │ │ │ ├── AutoSizeInput.css │ │ │ │ ├── AutoSizeInput.js │ │ │ │ ├── LayoutViewer.css │ │ │ │ ├── LayoutViewer.js │ │ │ │ ├── StyleEditor.css │ │ │ │ ├── StyleEditor.js │ │ │ │ ├── context.js │ │ │ │ ├── index.js │ │ │ │ └── types.js │ │ │ ├── NewArrayValue.css │ │ │ ├── NewArrayValue.js │ │ │ ├── NewKeyValue.css │ │ │ ├── NewKeyValue.js │ │ │ ├── OwnersListContext.js │ │ │ ├── OwnersStack.css │ │ │ ├── OwnersStack.js │ │ │ ├── SelectedTreeHighlight.css │ │ │ ├── SelectedTreeHighlight.js │ │ │ ├── Tree.css │ │ │ ├── Tree.js │ │ │ ├── TreeContext.js │ │ │ ├── TreeFocusedContext.js │ │ │ ├── ViewElementSourceContext.js │ │ │ ├── ViewSourceContext.js │ │ │ ├── constants.js │ │ │ ├── reach-ui │ │ │ │ ├── Tooltip.css │ │ │ │ ├── menu-button.js │ │ │ │ └── tooltip.js │ │ │ ├── types.js │ │ │ └── utils.js │ │ │ ├── DevTools.css │ │ │ ├── DevTools.js │ │ │ ├── ErrorBoundary │ │ │ ├── CaughtErrorView.js │ │ │ ├── ErrorBoundary.js │ │ │ ├── ErrorView.js │ │ │ ├── ReportNewIssue.js │ │ │ ├── SearchingGitHubIssues.js │ │ │ ├── SuspendingErrorView.js │ │ │ ├── TimeoutView.js │ │ │ ├── UnsupportedBridgeOperationView.js │ │ │ ├── UpdateExistingIssue.js │ │ │ ├── WorkplaceGroup.js │ │ │ ├── cache.js │ │ │ ├── githubAPI.js │ │ │ ├── index.js │ │ │ └── shared.css │ │ │ ├── Icon.css │ │ │ ├── Icon.js │ │ │ ├── ModalDialog.css │ │ │ ├── ModalDialog.js │ │ │ ├── Profiler │ │ │ ├── ChartNode.css │ │ │ ├── ChartNode.js │ │ │ ├── ClearProfilingDataButton.js │ │ │ ├── CommitFlamegraph.css │ │ │ ├── CommitFlamegraph.js │ │ │ ├── CommitFlamegraphListItem.js │ │ │ ├── CommitRanked.css │ │ │ ├── CommitRanked.js │ │ │ ├── CommitRankedListItem.js │ │ │ ├── CommitTreeBuilder.js │ │ │ ├── FlamegraphChartBuilder.js │ │ │ ├── HoveredFiberInfo.css │ │ │ ├── HoveredFiberInfo.js │ │ │ ├── NoCommitData.css │ │ │ ├── NoCommitData.js │ │ │ ├── NoProfilingData.js │ │ │ ├── ProcessingData.js │ │ │ ├── Profiler.css │ │ │ ├── Profiler.js │ │ │ ├── ProfilerContext.js │ │ │ ├── ProfilingImportExportButtons.css │ │ │ ├── ProfilingImportExportButtons.js │ │ │ ├── ProfilingNotSupported.js │ │ │ ├── RankedChartBuilder.js │ │ │ ├── RecordToggle.css │ │ │ ├── RecordToggle.js │ │ │ ├── RecordingInProgress.js │ │ │ ├── ReloadAndProfileButton.js │ │ │ ├── RootSelector.css │ │ │ ├── RootSelector.js │ │ │ ├── SidebarCommitInfo.css │ │ │ ├── SidebarCommitInfo.js │ │ │ ├── SidebarEventInfo.css │ │ │ ├── SidebarEventInfo.js │ │ │ ├── SidebarSelectedFiberInfo.css │ │ │ ├── SidebarSelectedFiberInfo.js │ │ │ ├── SnapshotCommitList.css │ │ │ ├── SnapshotCommitList.js │ │ │ ├── SnapshotCommitListItem.css │ │ │ ├── SnapshotCommitListItem.js │ │ │ ├── SnapshotSelector.css │ │ │ ├── SnapshotSelector.js │ │ │ ├── Tooltip.css │ │ │ ├── Tooltip.js │ │ │ ├── Updaters.css │ │ │ ├── Updaters.js │ │ │ ├── WhatChanged.css │ │ │ ├── WhatChanged.js │ │ │ ├── constants.js │ │ │ ├── types.js │ │ │ └── utils.js │ │ │ ├── ReactLogo.css │ │ │ ├── ReactLogo.js │ │ │ ├── SearchInput.css │ │ │ ├── SearchInput.js │ │ │ ├── Settings │ │ │ ├── ComponentsSettings.js │ │ │ ├── DebuggingSettings.js │ │ │ ├── GeneralSettings.js │ │ │ ├── ProfilerSettings.js │ │ │ ├── SettingsContext.js │ │ │ ├── SettingsModal.css │ │ │ ├── SettingsModal.js │ │ │ ├── SettingsModalContext.js │ │ │ ├── SettingsModalContextToggle.js │ │ │ └── SettingsShared.css │ │ │ ├── TabBar.css │ │ │ ├── TabBar.js │ │ │ ├── ThemeProvider.js │ │ │ ├── Toggle.css │ │ │ ├── Toggle.js │ │ │ ├── UnsupportedBridgeProtocolDialog.css │ │ │ ├── UnsupportedBridgeProtocolDialog.js │ │ │ ├── UnsupportedVersionDialog.css │ │ │ ├── UnsupportedVersionDialog.js │ │ │ ├── WarnIfLegacyBackendDetected.css │ │ │ ├── WarnIfLegacyBackendDetected.js │ │ │ ├── context.js │ │ │ ├── hooks.js │ │ │ ├── portaledContent.js │ │ │ ├── root.css │ │ │ ├── useThemeStyles.js │ │ │ └── utils.js │ │ ├── dynamicImportCache.js │ │ ├── errors │ │ ├── TimeoutError.js │ │ ├── UnknownHookError.js │ │ └── UserError.js │ │ ├── events.js │ │ ├── hook.js │ │ ├── hookNamesCache.js │ │ ├── hooks │ │ ├── ErrorTester.js │ │ ├── ErrorTesterCompiled.js │ │ ├── SourceMapConsumer.js │ │ ├── SourceMapMetadataConsumer.js │ │ ├── SourceMapTypes.js │ │ ├── SourceMapUtils.js │ │ ├── __tests__ │ │ │ ├── __source__ │ │ │ │ ├── ComponentUsingHooksIndirectly.js │ │ │ │ ├── ComponentWithCustomHook.js │ │ │ │ ├── ComponentWithExternalCustomHooks.js │ │ │ │ ├── ComponentWithMultipleHooksPerLine.js │ │ │ │ ├── ComponentWithNestedHooks.js │ │ │ │ ├── ContainingStringSourceMappingURL.js │ │ │ │ ├── Example.js │ │ │ │ ├── InlineRequire.js │ │ │ │ ├── README.md │ │ │ │ ├── ToDoList.js │ │ │ │ ├── __compiled__ │ │ │ │ │ ├── bundle │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── index.js.map │ │ │ │ │ ├── external │ │ │ │ │ │ ├── ComponentUsingHooksIndirectly.js │ │ │ │ │ │ ├── ComponentUsingHooksIndirectly.js.map │ │ │ │ │ │ ├── ComponentWithCustomHook.js │ │ │ │ │ │ ├── ComponentWithCustomHook.js.map │ │ │ │ │ │ ├── ComponentWithExternalCustomHooks.js │ │ │ │ │ │ ├── ComponentWithExternalCustomHooks.js.map │ │ │ │ │ │ ├── ComponentWithMultipleHooksPerLine.js │ │ │ │ │ │ ├── ComponentWithMultipleHooksPerLine.js.map │ │ │ │ │ │ ├── ComponentWithNestedHooks.js │ │ │ │ │ │ ├── ComponentWithNestedHooks.js.map │ │ │ │ │ │ ├── ContainingStringSourceMappingURL.js │ │ │ │ │ │ ├── ContainingStringSourceMappingURL.js.map │ │ │ │ │ │ ├── Example.js │ │ │ │ │ │ ├── Example.js.map │ │ │ │ │ │ ├── InlineRequire.js │ │ │ │ │ │ ├── InlineRequire.js.map │ │ │ │ │ │ ├── ToDoList.js │ │ │ │ │ │ ├── ToDoList.js.map │ │ │ │ │ │ ├── fb-sources-extended │ │ │ │ │ │ │ ├── ComponentUsingHooksIndirectly.js │ │ │ │ │ │ │ ├── ComponentUsingHooksIndirectly.js.map │ │ │ │ │ │ │ ├── ComponentWithCustomHook.js │ │ │ │ │ │ │ ├── ComponentWithCustomHook.js.map │ │ │ │ │ │ │ ├── ComponentWithExternalCustomHooks.js │ │ │ │ │ │ │ ├── ComponentWithExternalCustomHooks.js.map │ │ │ │ │ │ │ ├── ComponentWithMultipleHooksPerLine.js │ │ │ │ │ │ │ ├── ComponentWithMultipleHooksPerLine.js.map │ │ │ │ │ │ │ ├── ComponentWithNestedHooks.js │ │ │ │ │ │ │ ├── ComponentWithNestedHooks.js.map │ │ │ │ │ │ │ ├── ContainingStringSourceMappingURL.js │ │ │ │ │ │ │ ├── ContainingStringSourceMappingURL.js.map │ │ │ │ │ │ │ ├── Example.js │ │ │ │ │ │ │ ├── Example.js.map │ │ │ │ │ │ │ ├── InlineRequire.js │ │ │ │ │ │ │ ├── InlineRequire.js.map │ │ │ │ │ │ │ ├── ToDoList.js │ │ │ │ │ │ │ ├── ToDoList.js.map │ │ │ │ │ │ │ ├── index-map │ │ │ │ │ │ │ │ ├── ComponentUsingHooksIndirectly.js │ │ │ │ │ │ │ │ ├── ComponentUsingHooksIndirectly.js.map │ │ │ │ │ │ │ │ ├── ComponentWithCustomHook.js │ │ │ │ │ │ │ │ ├── ComponentWithCustomHook.js.map │ │ │ │ │ │ │ │ ├── ComponentWithExternalCustomHooks.js │ │ │ │ │ │ │ │ ├── ComponentWithExternalCustomHooks.js.map │ │ │ │ │ │ │ │ ├── ComponentWithMultipleHooksPerLine.js │ │ │ │ │ │ │ │ ├── ComponentWithMultipleHooksPerLine.js.map │ │ │ │ │ │ │ │ ├── ComponentWithNestedHooks.js │ │ │ │ │ │ │ │ ├── ComponentWithNestedHooks.js.map │ │ │ │ │ │ │ │ ├── ContainingStringSourceMappingURL.js │ │ │ │ │ │ │ │ ├── ContainingStringSourceMappingURL.js.map │ │ │ │ │ │ │ │ ├── Example.js │ │ │ │ │ │ │ │ ├── Example.js.map │ │ │ │ │ │ │ │ ├── InlineRequire.js │ │ │ │ │ │ │ │ ├── InlineRequire.js.map │ │ │ │ │ │ │ │ ├── ToDoList.js │ │ │ │ │ │ │ │ ├── ToDoList.js.map │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ ├── index.js.map │ │ │ │ │ │ │ │ ├── useTheme.js │ │ │ │ │ │ │ │ └── useTheme.js.map │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ ├── index.js.map │ │ │ │ │ │ │ ├── useTheme.js │ │ │ │ │ │ │ └── useTheme.js.map │ │ │ │ │ │ ├── index-map │ │ │ │ │ │ │ ├── ComponentUsingHooksIndirectly.js │ │ │ │ │ │ │ ├── ComponentUsingHooksIndirectly.js.map │ │ │ │ │ │ │ ├── ComponentWithCustomHook.js │ │ │ │ │ │ │ ├── ComponentWithCustomHook.js.map │ │ │ │ │ │ │ ├── ComponentWithExternalCustomHooks.js │ │ │ │ │ │ │ ├── ComponentWithExternalCustomHooks.js.map │ │ │ │ │ │ │ ├── ComponentWithMultipleHooksPerLine.js │ │ │ │ │ │ │ ├── ComponentWithMultipleHooksPerLine.js.map │ │ │ │ │ │ │ ├── ComponentWithNestedHooks.js │ │ │ │ │ │ │ ├── ComponentWithNestedHooks.js.map │ │ │ │ │ │ │ ├── ContainingStringSourceMappingURL.js │ │ │ │ │ │ │ ├── ContainingStringSourceMappingURL.js.map │ │ │ │ │ │ │ ├── Example.js │ │ │ │ │ │ │ ├── Example.js.map │ │ │ │ │ │ │ ├── InlineRequire.js │ │ │ │ │ │ │ ├── InlineRequire.js.map │ │ │ │ │ │ │ ├── ToDoList.js │ │ │ │ │ │ │ ├── ToDoList.js.map │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ ├── index.js.map │ │ │ │ │ │ │ ├── useTheme.js │ │ │ │ │ │ │ └── useTheme.js.map │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── index.js.map │ │ │ │ │ │ ├── react-sources-extended │ │ │ │ │ │ │ ├── ComponentUsingHooksIndirectly.js │ │ │ │ │ │ │ ├── ComponentUsingHooksIndirectly.js.map │ │ │ │ │ │ │ ├── ComponentWithCustomHook.js │ │ │ │ │ │ │ ├── ComponentWithCustomHook.js.map │ │ │ │ │ │ │ ├── ComponentWithExternalCustomHooks.js │ │ │ │ │ │ │ ├── ComponentWithExternalCustomHooks.js.map │ │ │ │ │ │ │ ├── ComponentWithMultipleHooksPerLine.js │ │ │ │ │ │ │ ├── ComponentWithMultipleHooksPerLine.js.map │ │ │ │ │ │ │ ├── ComponentWithNestedHooks.js │ │ │ │ │ │ │ ├── ComponentWithNestedHooks.js.map │ │ │ │ │ │ │ ├── ContainingStringSourceMappingURL.js │ │ │ │ │ │ │ ├── ContainingStringSourceMappingURL.js.map │ │ │ │ │ │ │ ├── Example.js │ │ │ │ │ │ │ ├── Example.js.map │ │ │ │ │ │ │ ├── InlineRequire.js │ │ │ │ │ │ │ ├── InlineRequire.js.map │ │ │ │ │ │ │ ├── ToDoList.js │ │ │ │ │ │ │ ├── ToDoList.js.map │ │ │ │ │ │ │ ├── index-map │ │ │ │ │ │ │ │ ├── ComponentUsingHooksIndirectly.js │ │ │ │ │ │ │ │ ├── ComponentUsingHooksIndirectly.js.map │ │ │ │ │ │ │ │ ├── ComponentWithCustomHook.js │ │ │ │ │ │ │ │ ├── ComponentWithCustomHook.js.map │ │ │ │ │ │ │ │ ├── ComponentWithExternalCustomHooks.js │ │ │ │ │ │ │ │ ├── ComponentWithExternalCustomHooks.js.map │ │ │ │ │ │ │ │ ├── ComponentWithMultipleHooksPerLine.js │ │ │ │ │ │ │ │ ├── ComponentWithMultipleHooksPerLine.js.map │ │ │ │ │ │ │ │ ├── ComponentWithNestedHooks.js │ │ │ │ │ │ │ │ ├── ComponentWithNestedHooks.js.map │ │ │ │ │ │ │ │ ├── ContainingStringSourceMappingURL.js │ │ │ │ │ │ │ │ ├── ContainingStringSourceMappingURL.js.map │ │ │ │ │ │ │ │ ├── Example.js │ │ │ │ │ │ │ │ ├── Example.js.map │ │ │ │ │ │ │ │ ├── InlineRequire.js │ │ │ │ │ │ │ │ ├── InlineRequire.js.map │ │ │ │ │ │ │ │ ├── ToDoList.js │ │ │ │ │ │ │ │ ├── ToDoList.js.map │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ ├── index.js.map │ │ │ │ │ │ │ │ ├── useTheme.js │ │ │ │ │ │ │ │ └── useTheme.js.map │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ ├── index.js.map │ │ │ │ │ │ │ ├── useTheme.js │ │ │ │ │ │ │ └── useTheme.js.map │ │ │ │ │ │ ├── useTheme.js │ │ │ │ │ │ └── useTheme.js.map │ │ │ │ │ ├── inline │ │ │ │ │ │ ├── ComponentUsingHooksIndirectly.js │ │ │ │ │ │ ├── ComponentWithCustomHook.js │ │ │ │ │ │ ├── ComponentWithExternalCustomHooks.js │ │ │ │ │ │ ├── ComponentWithMultipleHooksPerLine.js │ │ │ │ │ │ ├── ComponentWithNestedHooks.js │ │ │ │ │ │ ├── ContainingStringSourceMappingURL.js │ │ │ │ │ │ ├── Example.js │ │ │ │ │ │ ├── InlineRequire.js │ │ │ │ │ │ ├── ToDoList.js │ │ │ │ │ │ ├── fb-sources-extended │ │ │ │ │ │ │ ├── ComponentUsingHooksIndirectly.js │ │ │ │ │ │ │ ├── ComponentWithCustomHook.js │ │ │ │ │ │ │ ├── ComponentWithExternalCustomHooks.js │ │ │ │ │ │ │ ├── ComponentWithMultipleHooksPerLine.js │ │ │ │ │ │ │ ├── ComponentWithNestedHooks.js │ │ │ │ │ │ │ ├── ContainingStringSourceMappingURL.js │ │ │ │ │ │ │ ├── Example.js │ │ │ │ │ │ │ ├── InlineRequire.js │ │ │ │ │ │ │ ├── ToDoList.js │ │ │ │ │ │ │ ├── index-map │ │ │ │ │ │ │ │ ├── ComponentUsingHooksIndirectly.js │ │ │ │ │ │ │ │ ├── ComponentWithCustomHook.js │ │ │ │ │ │ │ │ ├── ComponentWithExternalCustomHooks.js │ │ │ │ │ │ │ │ ├── ComponentWithMultipleHooksPerLine.js │ │ │ │ │ │ │ │ ├── ComponentWithNestedHooks.js │ │ │ │ │ │ │ │ ├── ContainingStringSourceMappingURL.js │ │ │ │ │ │ │ │ ├── Example.js │ │ │ │ │ │ │ │ ├── InlineRequire.js │ │ │ │ │ │ │ │ ├── ToDoList.js │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ └── useTheme.js │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ └── useTheme.js │ │ │ │ │ │ ├── index-map │ │ │ │ │ │ │ ├── ComponentUsingHooksIndirectly.js │ │ │ │ │ │ │ ├── ComponentWithCustomHook.js │ │ │ │ │ │ │ ├── ComponentWithExternalCustomHooks.js │ │ │ │ │ │ │ ├── ComponentWithMultipleHooksPerLine.js │ │ │ │ │ │ │ ├── ComponentWithNestedHooks.js │ │ │ │ │ │ │ ├── ContainingStringSourceMappingURL.js │ │ │ │ │ │ │ ├── Example.js │ │ │ │ │ │ │ ├── InlineRequire.js │ │ │ │ │ │ │ ├── ToDoList.js │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ └── useTheme.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── react-sources-extended │ │ │ │ │ │ │ ├── ComponentUsingHooksIndirectly.js │ │ │ │ │ │ │ ├── ComponentWithCustomHook.js │ │ │ │ │ │ │ ├── ComponentWithExternalCustomHooks.js │ │ │ │ │ │ │ ├── ComponentWithMultipleHooksPerLine.js │ │ │ │ │ │ │ ├── ComponentWithNestedHooks.js │ │ │ │ │ │ │ ├── ContainingStringSourceMappingURL.js │ │ │ │ │ │ │ ├── Example.js │ │ │ │ │ │ │ ├── InlineRequire.js │ │ │ │ │ │ │ ├── ToDoList.js │ │ │ │ │ │ │ ├── index-map │ │ │ │ │ │ │ │ ├── ComponentUsingHooksIndirectly.js │ │ │ │ │ │ │ │ ├── ComponentWithCustomHook.js │ │ │ │ │ │ │ │ ├── ComponentWithExternalCustomHooks.js │ │ │ │ │ │ │ │ ├── ComponentWithMultipleHooksPerLine.js │ │ │ │ │ │ │ │ ├── ComponentWithNestedHooks.js │ │ │ │ │ │ │ │ ├── ContainingStringSourceMappingURL.js │ │ │ │ │ │ │ │ ├── Example.js │ │ │ │ │ │ │ │ ├── InlineRequire.js │ │ │ │ │ │ │ │ ├── ToDoList.js │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ └── useTheme.js │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ └── useTheme.js │ │ │ │ │ │ └── useTheme.js │ │ │ │ │ └── no-columns │ │ │ │ │ │ ├── ComponentUsingHooksIndirectly.js │ │ │ │ │ │ ├── ComponentWithCustomHook.js │ │ │ │ │ │ ├── ComponentWithExternalCustomHooks.js │ │ │ │ │ │ ├── ComponentWithMultipleHooksPerLine.js │ │ │ │ │ │ ├── ComponentWithNestedHooks.js │ │ │ │ │ │ ├── ContainingStringSourceMappingURL.js │ │ │ │ │ │ ├── Example.js │ │ │ │ │ │ ├── InlineRequire.js │ │ │ │ │ │ ├── ToDoList.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── useTheme.js │ │ │ │ ├── __untransformed__ │ │ │ │ │ ├── ComponentUsingHooksIndirectly.js │ │ │ │ │ ├── ComponentWithExternalUseEffect.js │ │ │ │ │ ├── ComponentWithNamedCustomHooks.js │ │ │ │ │ ├── ComponentWithNestedHooks.js │ │ │ │ │ ├── ComponentWithUnnamedCustomHooks.js │ │ │ │ │ ├── ComponentWithUseEffect.js │ │ │ │ │ ├── ComponentWithUseReducer.js │ │ │ │ │ ├── ComponentWithUseState.js │ │ │ │ │ ├── README.md │ │ │ │ │ └── useCustom.js │ │ │ │ ├── index.js │ │ │ │ └── useTheme.js │ │ │ ├── generateHookMap-test.js │ │ │ ├── getHookNameForLocation-test.js │ │ │ ├── parseHookNames-test.js │ │ │ └── updateMockSourceMaps.js │ │ ├── astUtils.js │ │ ├── generateHookMap.js │ │ ├── getHookNameForLocation.js │ │ └── parseHookNames │ │ │ ├── index.js │ │ │ ├── loadSourceAndMetadata.js │ │ │ ├── parseSourceAndMetadata.js │ │ │ └── parseSourceAndMetadata.worker.js │ │ ├── hydration.js │ │ ├── inspectedElementCache.js │ │ ├── inspectedElementMutableSource.js │ │ ├── isArray.js │ │ ├── node_modules │ │ └── react-window │ │ │ ├── CHANGELOG.md │ │ │ ├── LICENSE.md │ │ │ ├── README.md │ │ │ ├── dist │ │ │ ├── index-dev.umd.js │ │ │ ├── index-prod.umd.js │ │ │ ├── index.cjs.js │ │ │ ├── index.cjs.js.flow │ │ │ ├── index.esm.js │ │ │ └── index.esm.js.flow │ │ │ ├── package.json │ │ │ └── src │ │ │ ├── FixedSizeGrid.js │ │ │ ├── FixedSizeList.js │ │ │ ├── VariableSizeGrid.js │ │ │ ├── VariableSizeList.js │ │ │ ├── areEqual.js │ │ │ ├── createGridComponent.js │ │ │ ├── createListComponent.js │ │ │ ├── domHelpers.js │ │ │ ├── index.js │ │ │ ├── shallowDiffers.js │ │ │ ├── shouldComponentUpdate.js │ │ │ └── timer.js │ │ ├── registerDevToolsEventLogger.js │ │ ├── storage.js │ │ ├── types.js │ │ └── utils.js ├── react-devtools-shell │ ├── README.md │ ├── e2e-regression.html │ ├── e2e.html │ ├── index.html │ ├── multi.html │ ├── package.json │ ├── perf-regression.html │ ├── src │ │ ├── app │ │ │ ├── DeeplyNestedComponents │ │ │ │ └── index.js │ │ │ ├── EditableProps │ │ │ │ └── index.js │ │ │ ├── ElementTypes │ │ │ │ └── index.js │ │ │ ├── ErrorBoundaries │ │ │ │ └── index.js │ │ │ ├── Hydration │ │ │ │ └── index.js │ │ │ ├── Iframe │ │ │ │ └── index.js │ │ │ ├── InlineWarnings │ │ │ │ └── index.js │ │ │ ├── InspectableElements │ │ │ │ ├── CircularReferences.js │ │ │ │ ├── Contexts.js │ │ │ │ ├── CustomHooks.js │ │ │ │ ├── CustomObject.js │ │ │ │ ├── EdgeCaseObjects.js │ │ │ │ ├── InspectableElements.js │ │ │ │ ├── NestedProps.js │ │ │ │ ├── SimpleValues.js │ │ │ │ ├── SymbolKeys.js │ │ │ │ ├── UnserializableProps.js │ │ │ │ └── index.js │ │ │ ├── PartiallyStrictApp │ │ │ │ └── index.js │ │ │ ├── ReactNativeWeb │ │ │ │ └── index.js │ │ │ ├── SuspenseTree │ │ │ │ └── index.js │ │ │ ├── ToDoList │ │ │ │ ├── List.css │ │ │ │ ├── List.js │ │ │ │ ├── ListItem.css │ │ │ │ ├── ListItem.js │ │ │ │ └── index.js │ │ │ ├── Toggle │ │ │ │ └── index.js │ │ │ ├── console.js │ │ │ ├── devtools.js │ │ │ ├── index.js │ │ │ └── styles.css │ │ ├── e2e-apps │ │ │ ├── ListApp.js │ │ │ └── ListAppLegacy.js │ │ ├── e2e-regression │ │ │ ├── app-legacy.js │ │ │ ├── app.js │ │ │ └── devtools.js │ │ ├── e2e │ │ │ ├── app.js │ │ │ └── devtools.js │ │ ├── multi │ │ │ ├── devtools.js │ │ │ ├── left.js │ │ │ └── right.js │ │ └── perf-regression │ │ │ ├── app.js │ │ │ ├── apps │ │ │ ├── LargeSubtree.js │ │ │ └── index.js │ │ │ └── devtools.js │ └── webpack.config.js ├── react-devtools-timeline │ ├── README.md │ ├── package.json │ └── src │ │ ├── CanvasPage.css │ │ ├── CanvasPage.js │ │ ├── EventTooltip.css │ │ ├── EventTooltip.js │ │ ├── Timeline.css │ │ ├── Timeline.js │ │ ├── TimelineContext.js │ │ ├── TimelineNotSupported.css │ │ ├── TimelineNotSupported.js │ │ ├── TimelineSearchContext.js │ │ ├── TimelineSearchInput.js │ │ ├── constants.js │ │ ├── content-views │ │ ├── ComponentMeasuresView.js │ │ ├── FlamechartView.js │ │ ├── NativeEventsView.js │ │ ├── NetworkMeasuresView.js │ │ ├── ReactMeasuresView.js │ │ ├── SchedulingEventsView.js │ │ ├── SnapshotsView.js │ │ ├── SuspenseEventsView.js │ │ ├── ThrownErrorsView.js │ │ ├── TimeAxisMarkersView.js │ │ ├── UserTimingMarksView.js │ │ ├── constants.js │ │ ├── index.js │ │ └── utils │ │ │ ├── __tests__ │ │ │ ├── __modules__ │ │ │ │ ├── module-one.js │ │ │ │ └── module-two.js │ │ │ ├── colors-test.js │ │ │ └── moduleFilters-test.js │ │ │ ├── colors.js │ │ │ ├── moduleFilters.js │ │ │ ├── positioning.js │ │ │ └── text.js │ │ ├── createDataResourceFromImportedFile.js │ │ ├── import-worker │ │ ├── InvalidProfileError.js │ │ ├── importFile.js │ │ ├── importFile.worker.js │ │ ├── index.js │ │ ├── preprocessData.js │ │ └── readInputData.js │ │ ├── timelineCache.js │ │ ├── types.js │ │ ├── utils │ │ ├── flow.js │ │ ├── formatting.js │ │ ├── getBatchRange.js │ │ └── useSmartTooltip.js │ │ └── view-base │ │ ├── BackgroundColorView.js │ │ ├── HorizontalPanAndZoomView.js │ │ ├── Surface.js │ │ ├── VerticalScrollView.js │ │ ├── View.js │ │ ├── __tests__ │ │ └── geometry-test.js │ │ ├── constants.js │ │ ├── geometry.js │ │ ├── index.js │ │ ├── layouter.js │ │ ├── resizable │ │ ├── ResizableView.js │ │ ├── ResizeBarView.js │ │ └── index.js │ │ ├── useCanvasInteraction.js │ │ ├── utils │ │ ├── __tests__ │ │ │ ├── clamp-test.js │ │ │ └── scrollState-test.js │ │ ├── clamp.js │ │ ├── normalizeWheel.js │ │ └── scrollState.js │ │ └── vertical-scroll-overflow │ │ ├── VerticalScrollBarView.js │ │ ├── VerticalScrollOverflowView.js │ │ ├── index.js │ │ └── withVerticalScrollbarLayout.js ├── react-devtools │ ├── CHANGELOG.md │ ├── CONTRIBUTING.md │ ├── OVERVIEW.md │ ├── README.md │ ├── app.html │ ├── app.js │ ├── bin.js │ ├── icons │ │ └── icon128.png │ ├── index.js │ └── package.json ├── react-dom-bindings │ ├── package.json │ └── src │ │ ├── client │ │ ├── CSSPropertyOperations.js │ │ ├── CSSShorthandProperty.js │ │ ├── DOMAccessibilityRoles.js │ │ ├── DOMPropertyOperations.js │ │ ├── ReactDOMComponent.js │ │ ├── ReactDOMComponentTree.js │ │ ├── ReactDOMEventHandle.js │ │ ├── ReactDOMFloatClient.js │ │ ├── ReactDOMHostConfig.js │ │ ├── ReactDOMInput.js │ │ ├── ReactDOMOption.js │ │ ├── ReactDOMSelect.js │ │ ├── ReactDOMSelection.js │ │ ├── ReactDOMTextarea.js │ │ ├── ReactInputSelection.js │ │ ├── ToStringValue.js │ │ ├── createMicrosoftUnsafeLocalFunction.js │ │ ├── getActiveElement.js │ │ ├── getNodeForCharacterOffset.js │ │ ├── inputValueTracking.js │ │ ├── setInnerHTML.js │ │ ├── setTextContent.js │ │ └── validateDOMNesting.js │ │ ├── events │ │ ├── CurrentReplayingEvent.js │ │ ├── DOMEventNames.js │ │ ├── DOMEventProperties.js │ │ ├── DOMPluginEventSystem.js │ │ ├── EventListener.js │ │ ├── EventRegistry.js │ │ ├── EventSystemFlags.js │ │ ├── FallbackCompositionState.js │ │ ├── PluginModuleType.js │ │ ├── ReactDOMControlledComponent.js │ │ ├── ReactDOMEventListener.js │ │ ├── ReactDOMEventReplaying.js │ │ ├── ReactDOMUpdateBatching.js │ │ ├── ReactSyntheticEventType.js │ │ ├── SyntheticEvent.js │ │ ├── TopLevelEventTypes.js │ │ ├── checkPassiveEvents.js │ │ ├── forks │ │ │ └── EventListener-www.js │ │ ├── getEventCharCode.js │ │ ├── getEventTarget.js │ │ ├── getListener.js │ │ ├── getVendorPrefixedEventName.js │ │ ├── isEventSupported.js │ │ ├── isTextInputElement.js │ │ └── plugins │ │ │ ├── BeforeInputEventPlugin.js │ │ │ ├── ChangeEventPlugin.js │ │ │ ├── EnterLeaveEventPlugin.js │ │ │ ├── SelectEventPlugin.js │ │ │ └── SimpleEventPlugin.js │ │ ├── server │ │ ├── DOMMarkupOperations.js │ │ ├── ReactDOMFloatServer.js │ │ ├── ReactDOMLegacyServerStreamConfig.js │ │ ├── ReactDOMServerExternalRuntime.js │ │ ├── ReactDOMServerFormatConfig.js │ │ ├── ReactDOMServerLegacyFormatConfig.js │ │ ├── escapeTextForBrowser.js │ │ ├── fizz-instruction-set │ │ │ ├── ReactDOMFizzInlineClientRenderBoundary.js │ │ │ ├── ReactDOMFizzInlineCompleteBoundary.js │ │ │ ├── ReactDOMFizzInlineCompleteBoundaryWithStyles.js │ │ │ ├── ReactDOMFizzInlineCompleteSegment.js │ │ │ ├── ReactDOMFizzInstructionSetExternalRuntime.js │ │ │ ├── ReactDOMFizzInstructionSetInlineCodeStrings.js │ │ │ ├── ReactDOMFizzInstructionSetInlineSource.js │ │ │ └── ReactDOMFizzInstructionSetShared.js │ │ └── quoteAttributeValueForBrowser.js │ │ └── shared │ │ ├── CSSProperty.js │ │ ├── DOMNamespaces.js │ │ ├── DOMProperty.js │ │ ├── HTMLNodeType.js │ │ ├── ReactControlledValuePropTypes.js │ │ ├── ReactDOMDispatcher.js │ │ ├── ReactDOMFloat.js │ │ ├── ReactDOMInvalidARIAHook.js │ │ ├── ReactDOMNullInputValuePropHook.js │ │ ├── ReactDOMResourceValidation.js │ │ ├── ReactDOMTypes.js │ │ ├── ReactDOMUnknownPropertyHook.js │ │ ├── assertValidProps.js │ │ ├── dangerousStyleValue.js │ │ ├── hyphenateStyleName.js │ │ ├── isCustomComponent.js │ │ ├── omittedCloseTags.js │ │ ├── possibleStandardNames.js │ │ ├── sanitizeURL.js │ │ ├── validAriaProperties.js │ │ ├── voidElementTags.js │ │ └── warnValidStyle.js ├── react-dom │ ├── README.md │ ├── client.js │ ├── index.classic.fb.js │ ├── index.experimental.js │ ├── index.js │ ├── index.modern.fb.js │ ├── index.stable.js │ ├── npm │ │ ├── client.js │ │ ├── index.js │ │ ├── profiling.js │ │ ├── server-rendering-stub.js │ │ ├── server.browser.js │ │ ├── server.bun.js │ │ ├── server.js │ │ ├── server.node.js │ │ ├── static.browser.js │ │ ├── static.js │ │ ├── static.node.js │ │ ├── test-utils.js │ │ └── unstable_testing.js │ ├── package.json │ ├── server-rendering-stub.js │ ├── server.browser.js │ ├── server.bun.js │ ├── server.js │ ├── server.node.js │ ├── src │ │ ├── ReactDOMSharedInternals.js │ │ ├── __tests__ │ │ │ ├── CSSPropertyOperations-test.js │ │ │ ├── DOMPropertyOperations-test.js │ │ │ ├── InvalidEventListeners-test.js │ │ │ ├── ReactBrowserEventEmitter-test.js │ │ │ ├── ReactChildReconciler-test.js │ │ │ ├── ReactComponent-test.js │ │ │ ├── ReactComponentLifeCycle-test.js │ │ │ ├── ReactCompositeComponent-test.js │ │ │ ├── ReactCompositeComponentDOMMinimalism-test.js │ │ │ ├── ReactCompositeComponentNestedState-test.js │ │ │ ├── ReactCompositeComponentState-test.js │ │ │ ├── ReactDOM-test.js │ │ │ ├── ReactDOMAttribute-test.js │ │ │ ├── ReactDOMComponent-test.js │ │ │ ├── ReactDOMComponentTree-test.js │ │ │ ├── ReactDOMConsoleErrorReporting-test.js │ │ │ ├── ReactDOMEventListener-test.js │ │ │ ├── ReactDOMEventPropagation-test.js │ │ │ ├── ReactDOMFiber-test.js │ │ │ ├── ReactDOMFiberAsync-test.js │ │ │ ├── ReactDOMFizzServer-test.js │ │ │ ├── ReactDOMFizzServerBrowser-test.js │ │ │ ├── ReactDOMFizzServerNode-test.js │ │ │ ├── ReactDOMFizzShellHydration-test.js │ │ │ ├── ReactDOMFizzStatic-test.js │ │ │ ├── ReactDOMFizzStaticBrowser-test.js │ │ │ ├── ReactDOMFizzStaticNode-test.js │ │ │ ├── ReactDOMFizzSuppressHydrationWarning-test.js │ │ │ ├── ReactDOMFloat-test.js │ │ │ ├── ReactDOMHooks-test.js │ │ │ ├── ReactDOMHydrationDiff-test.js │ │ │ ├── ReactDOMIframe-test.js │ │ │ ├── ReactDOMImageLoad-test.internal.js │ │ │ ├── ReactDOMInReactServer-test.js │ │ │ ├── ReactDOMInput-test.js │ │ │ ├── ReactDOMInvalidARIAHook-test.js │ │ │ ├── ReactDOMNativeEventHeuristic-test.js │ │ │ ├── ReactDOMNestedEvents-test.js │ │ │ ├── ReactDOMOption-test.js │ │ │ ├── ReactDOMRoot-test.js │ │ │ ├── ReactDOMSVG-test.js │ │ │ ├── ReactDOMSafariMicrotaskBug-test.js │ │ │ ├── ReactDOMSelect-test.js │ │ │ ├── ReactDOMSelection-test.internal.js │ │ │ ├── ReactDOMServerIntegrationAttributes-test.js │ │ │ ├── ReactDOMServerIntegrationBasic-test.js │ │ │ ├── ReactDOMServerIntegrationCheckbox-test.js │ │ │ ├── ReactDOMServerIntegrationClassContextType-test.js │ │ │ ├── ReactDOMServerIntegrationElements-test.js │ │ │ ├── ReactDOMServerIntegrationFragment-test.js │ │ │ ├── ReactDOMServerIntegrationHooks-test.js │ │ │ ├── ReactDOMServerIntegrationInput-test.js │ │ │ ├── ReactDOMServerIntegrationLegacyContext-test.js │ │ │ ├── ReactDOMServerIntegrationLegacyContextDisabled-test.internal.js │ │ │ ├── ReactDOMServerIntegrationModes-test.js │ │ │ ├── ReactDOMServerIntegrationNewContext-test.js │ │ │ ├── ReactDOMServerIntegrationReconnecting-test.js │ │ │ ├── ReactDOMServerIntegrationRefs-test.js │ │ │ ├── ReactDOMServerIntegrationSelect-test.js │ │ │ ├── ReactDOMServerIntegrationSpecialTypes-test.js │ │ │ ├── ReactDOMServerIntegrationTextarea-test.js │ │ │ ├── ReactDOMServerIntegrationUntrustedURL-test.internal.js │ │ │ ├── ReactDOMServerIntegrationUserInteraction-test.js │ │ │ ├── ReactDOMServerLifecycles-test.js │ │ │ ├── ReactDOMServerPartialHydration-test.internal.js │ │ │ ├── ReactDOMServerSelectiveHydration-test.internal.js │ │ │ ├── ReactDOMServerSuspense-test.internal.js │ │ │ ├── ReactDOMShorthandCSSPropertyCollision-test.js │ │ │ ├── ReactDOMSingletonComponents-test.js │ │ │ ├── ReactDOMSuspensePlaceholder-test.js │ │ │ ├── ReactDOMTestSelectors-test.js │ │ │ ├── ReactDOMTextComponent-test.js │ │ │ ├── ReactDOMTextarea-test.js │ │ │ ├── ReactDOMUseId-test.js │ │ │ ├── ReactDOMserverIntegrationProgress-test.js │ │ │ ├── ReactDeprecationWarnings-test.js │ │ │ ├── ReactEmptyComponent-test.js │ │ │ ├── ReactErrorBoundaries-test.internal.js │ │ │ ├── ReactErrorBoundariesHooks-test.internal.js │ │ │ ├── ReactErrorLoggingRecovery-test.js │ │ │ ├── ReactEventIndependence-test.js │ │ │ ├── ReactFunctionComponent-test.js │ │ │ ├── ReactIdentity-test.js │ │ │ ├── ReactLegacyContextDisabled-test.internal.js │ │ │ ├── ReactLegacyErrorBoundaries-test.internal.js │ │ │ ├── ReactLegacyRootWarnings-test.js │ │ │ ├── ReactMockedComponent-test.js │ │ │ ├── ReactMount-test.js │ │ │ ├── ReactMountDestruction-test.js │ │ │ ├── ReactMultiChild-test.js │ │ │ ├── ReactMultiChildReconcile-test.js │ │ │ ├── ReactMultiChildText-test.js │ │ │ ├── ReactRenderDocument-test.js │ │ │ ├── ReactServerRendering-test.js │ │ │ ├── ReactServerRenderingBrowser-test.js │ │ │ ├── ReactServerRenderingHydration-test.js │ │ │ ├── ReactTestUtils-test.js │ │ │ ├── ReactTestUtilsAct-test.js │ │ │ ├── ReactTestUtilsActUnmockedScheduler-test.js │ │ │ ├── ReactTreeTraversal-test.js │ │ │ ├── ReactUpdates-test.js │ │ │ ├── ReactWrongReturnPointer-test.js │ │ │ ├── __snapshots__ │ │ │ │ └── ReactTestUtils-test.js.snap │ │ │ ├── escapeTextForBrowser-test.js │ │ │ ├── findDOMNode-test.js │ │ │ ├── multiple-copies-of-react-test.js │ │ │ ├── quoteAttributeValueForBrowser-test.js │ │ │ ├── react-dom-server-rendering-stub-test.js │ │ │ ├── refs-destruction-test.js │ │ │ ├── refs-test.js │ │ │ ├── renderSubtreeIntoContainer-test.js │ │ │ ├── utils │ │ │ │ └── ReactDOMServerIntegrationTestUtils.js │ │ │ └── validateDOMNesting-test.js │ │ ├── client │ │ │ ├── ReactDOM.js │ │ │ ├── ReactDOMLegacy.js │ │ │ ├── ReactDOMRoot.js │ │ │ └── __tests__ │ │ │ │ ├── dangerouslySetInnerHTML-test.js │ │ │ │ ├── getNodeForCharacterOffset-test.js │ │ │ │ └── trustedTypes-test.internal.js │ │ ├── events │ │ │ ├── __tests__ │ │ │ │ ├── DOMPluginEventSystem-test.internal.js │ │ │ │ ├── SyntheticClipboardEvent-test.js │ │ │ │ ├── SyntheticEvent-test.js │ │ │ │ ├── SyntheticFocusEvent-test.js │ │ │ │ ├── SyntheticKeyboardEvent-test.js │ │ │ │ ├── SyntheticMouseEvent-test.js │ │ │ │ ├── SyntheticWheelEvent-test.js │ │ │ │ └── getEventKey-test.js │ │ │ └── plugins │ │ │ │ └── __tests__ │ │ │ │ ├── BeforeInputEventPlugin-test.js │ │ │ │ ├── ChangeEventPlugin-test.js │ │ │ │ ├── EnterLeaveEventPlugin-test.js │ │ │ │ ├── SelectEventPlugin-test.js │ │ │ │ └── SimpleEventPlugin-test.js │ │ ├── server │ │ │ ├── ReactDOMFizzServerBrowser.js │ │ │ ├── ReactDOMFizzServerBun.js │ │ │ ├── ReactDOMFizzServerNode.js │ │ │ ├── ReactDOMFizzStaticBrowser.js │ │ │ ├── ReactDOMFizzStaticNode.js │ │ │ ├── ReactDOMLegacyServerBrowser.js │ │ │ ├── ReactDOMLegacyServerImpl.js │ │ │ ├── ReactDOMLegacyServerNode.js │ │ │ ├── ReactDOMLegacyServerNodeStream.js │ │ │ └── ReactDOMServerRenderingStub.js │ │ └── test-utils │ │ │ ├── FizzTestUtils.js │ │ │ └── ReactTestUtils.js │ ├── static.browser.js │ ├── static.js │ ├── static.node.js │ ├── test-utils.js │ ├── unstable_server-external-runtime.js │ ├── unstable_testing.classic.fb.js │ ├── unstable_testing.experimental.js │ ├── unstable_testing.js │ ├── unstable_testing.modern.fb.js │ └── unstable_testing.stable.js ├── react-interactions │ ├── README.md │ ├── events │ │ ├── focus.js │ │ └── src │ │ │ └── dom │ │ │ └── create-event-handle │ │ │ ├── Focus.js │ │ │ ├── __tests__ │ │ │ ├── useFocus-test.internal.js │ │ │ └── useFocusWithin-test.internal.js │ │ │ └── useEvent.js │ ├── npm │ │ ├── drag.js │ │ ├── focus.js │ │ ├── hover.js │ │ ├── input.js │ │ ├── press-legacy.js │ │ ├── press.js │ │ ├── scroll.js │ │ ├── swipe.js │ │ └── tap.js │ └── package.json ├── react-is │ ├── README.md │ ├── index.experimental.js │ ├── index.js │ ├── index.stable.js │ ├── npm │ │ └── index.js │ ├── package.json │ └── src │ │ ├── ReactIs.js │ │ └── __tests__ │ │ └── ReactIs-test.js ├── react-native-renderer │ ├── fabric.js │ ├── index.js │ ├── package.json │ └── src │ │ ├── NativeMethodsMixinUtils.js │ │ ├── ReactFabric.js │ │ ├── ReactFabricComponentTree.js │ │ ├── ReactFabricEventEmitter.js │ │ ├── ReactFabricGlobalResponderHandler.js │ │ ├── ReactFabricHostConfig.js │ │ ├── ReactFabricInjection.js │ │ ├── ReactNativeAttributePayload.js │ │ ├── ReactNativeBridgeEventPlugin.js │ │ ├── ReactNativeComponentTree.js │ │ ├── ReactNativeEventEmitter.js │ │ ├── ReactNativeEventPluginOrder.js │ │ ├── ReactNativeFiberHostComponent.js │ │ ├── ReactNativeFiberInspector.js │ │ ├── ReactNativeGetListeners.js │ │ ├── ReactNativeGlobalResponderHandler.js │ │ ├── ReactNativeHostConfig.js │ │ ├── ReactNativeInjection.js │ │ ├── ReactNativeInjectionShared.js │ │ ├── ReactNativeRenderer.js │ │ ├── ReactNativeTypes.js │ │ ├── __mocks__ │ │ └── react-native │ │ │ └── Libraries │ │ │ └── ReactPrivate │ │ │ ├── BatchedBridge.js │ │ │ ├── CustomEvent.js │ │ │ ├── ExceptionsManager.js │ │ │ ├── InitializeNativeFabricUIManager.js │ │ │ ├── Platform.js │ │ │ ├── RCTEventEmitter.js │ │ │ ├── RawEventEmitter.js │ │ │ ├── ReactFiberErrorDialog.js │ │ │ ├── ReactNativePrivateInitializeCore.js │ │ │ ├── ReactNativePrivateInterface.js │ │ │ ├── ReactNativeViewConfigRegistry.js │ │ │ ├── TextInputState.js │ │ │ ├── UIManager.js │ │ │ ├── deepDiffer.js │ │ │ ├── deepFreezeAndThrowOnMutationInDev.js │ │ │ ├── flattenStyle.js │ │ │ └── legacySendAccessibilityEvent.js │ │ ├── __tests__ │ │ ├── EventPluginRegistry-test.internal.js │ │ ├── ReactFabric-test.internal.js │ │ ├── ReactFabricAndNative-test.internal.js │ │ ├── ReactFabricHostComponent-test.internal.js │ │ ├── ReactNativeAttributePayload-test.internal.js │ │ ├── ReactNativeError-test.internal.js │ │ ├── ReactNativeEvents-test.internal.js │ │ ├── ReactNativeMount-test.internal.js │ │ ├── ResponderEventPlugin-test.internal.js │ │ ├── __snapshots__ │ │ │ ├── ReactFabric-test.internal.js.snap │ │ │ ├── ReactNativeEvents-test.internal.js.snap │ │ │ └── ReactNativeMount-test.internal.js.snap │ │ └── createReactNativeComponentClass-test.internal.js │ │ ├── legacy-events │ │ ├── EventBatching.js │ │ ├── EventPluginRegistry.js │ │ ├── EventPluginUtils.js │ │ ├── PluginModuleType.js │ │ ├── PropagationPhases.js │ │ ├── ReactGenericBatching.js │ │ ├── ReactSyntheticEventType.js │ │ ├── ResponderEventPlugin.js │ │ ├── ResponderSyntheticEvent.js │ │ ├── ResponderTopLevelEventTypes.js │ │ ├── ResponderTouchHistoryStore.js │ │ ├── SyntheticEvent.js │ │ ├── TopLevelEventTypes.js │ │ ├── accumulate.js │ │ ├── accumulateInto.js │ │ └── forEachAccumulated.js │ │ └── server │ │ └── ReactNativeServerFormatConfig.js ├── react-noop-renderer │ ├── README.md │ ├── flight-client.js │ ├── flight-modules.js │ ├── flight-server.js │ ├── index.js │ ├── npm │ │ ├── flight-client.js │ │ ├── flight-modules.js │ │ ├── flight-server.js │ │ ├── index.js │ │ ├── persistent.js │ │ └── server.js │ ├── package.json │ ├── persistent.js │ ├── server.js │ └── src │ │ ├── ReactNoop.js │ │ ├── ReactNoopFlightClient.js │ │ ├── ReactNoopFlightServer.js │ │ ├── ReactNoopPersistent.js │ │ ├── ReactNoopServer.js │ │ └── createReactNoop.js ├── react-reconciler │ ├── README.md │ ├── constants.js │ ├── index.js │ ├── npm │ │ ├── constants.js │ │ ├── index.js │ │ └── reflection.js │ ├── package.json │ ├── reflection.js │ └── src │ │ ├── DebugTracing.js │ │ ├── MaxInts.js │ │ ├── ReactCapturedValue.js │ │ ├── ReactChildFiber.js │ │ ├── ReactCurrentFiber.js │ │ ├── ReactEventPriorities.js │ │ ├── ReactFiber.js │ │ ├── ReactFiberAct.js │ │ ├── ReactFiberBeginWork.js │ │ ├── ReactFiberCache.js │ │ ├── ReactFiberCacheComponent.js │ │ ├── ReactFiberClassComponent.js │ │ ├── ReactFiberClassUpdateQueue.js │ │ ├── ReactFiberCommitWork.js │ │ ├── ReactFiberCompleteWork.js │ │ ├── ReactFiberComponentStack.js │ │ ├── ReactFiberConcurrentUpdates.js │ │ ├── ReactFiberContext.js │ │ ├── ReactFiberDevToolsHook.js │ │ ├── ReactFiberErrorDialog.js │ │ ├── ReactFiberErrorLogger.js │ │ ├── ReactFiberFlags.js │ │ ├── ReactFiberHiddenContext.js │ │ ├── ReactFiberHooks.js │ │ ├── ReactFiberHostConfig.js │ │ ├── ReactFiberHostConfigWithNoHydration.js │ │ ├── ReactFiberHostConfigWithNoMicrotasks.js │ │ ├── ReactFiberHostConfigWithNoMutation.js │ │ ├── ReactFiberHostConfigWithNoPersistence.js │ │ ├── ReactFiberHostConfigWithNoResources.js │ │ ├── ReactFiberHostConfigWithNoScopes.js │ │ ├── ReactFiberHostConfigWithNoSingletons.js │ │ ├── ReactFiberHostConfigWithNoTestSelectors.js │ │ ├── ReactFiberHostContext.js │ │ ├── ReactFiberHotReloading.js │ │ ├── ReactFiberHydrationContext.js │ │ ├── ReactFiberLane.js │ │ ├── ReactFiberLazyComponent.js │ │ ├── ReactFiberNewContext.js │ │ ├── ReactFiberOffscreenComponent.js │ │ ├── ReactFiberReconciler.js │ │ ├── ReactFiberRoot.js │ │ ├── ReactFiberScope.js │ │ ├── ReactFiberShellHydration.js │ │ ├── ReactFiberStack.js │ │ ├── ReactFiberSuspenseComponent.js │ │ ├── ReactFiberSuspenseContext.js │ │ ├── ReactFiberSyncTaskQueue.js │ │ ├── ReactFiberThenable.js │ │ ├── ReactFiberThrow.js │ │ ├── ReactFiberTracingMarkerComponent.js │ │ ├── ReactFiberTransition.js │ │ ├── ReactFiberTreeContext.js │ │ ├── ReactFiberTreeReflection.js │ │ ├── ReactFiberUnwindWork.js │ │ ├── ReactFiberWorkLoop.js │ │ ├── ReactHookEffectTags.js │ │ ├── ReactInternalTypes.js │ │ ├── ReactMutableSource.js │ │ ├── ReactPortal.js │ │ ├── ReactPostPaintCallback.js │ │ ├── ReactProfilerTimer.js │ │ ├── ReactReconcilerConstants.js │ │ ├── ReactRootTags.js │ │ ├── ReactStrictModeWarnings.js │ │ ├── ReactTestSelectors.js │ │ ├── ReactTypeOfMode.js │ │ ├── ReactWorkTags.js │ │ ├── Scheduler.js │ │ ├── __mocks__ │ │ └── scheduler │ │ │ └── tracing.js │ │ ├── __tests__ │ │ ├── DebugTracing-test.internal.js │ │ ├── ErrorBoundaryReconciliation-test.internal.js │ │ ├── ReactActWarnings-test.js │ │ ├── ReactBatching-test.internal.js │ │ ├── ReactCPUSuspense-test.js │ │ ├── ReactCache-test.js │ │ ├── ReactClassSetStateCallback-test.js │ │ ├── ReactConcurrentErrorRecovery-test.js │ │ ├── ReactContextPropagation-test.js │ │ ├── ReactDeferredValue-test.js │ │ ├── ReactDisableSchedulerTimeoutBasedOnReactExpirationTime-test.internal.js │ │ ├── ReactEffectOrdering-test.js │ │ ├── ReactExpiration-test.js │ │ ├── ReactFiberHostContext-test.internal.js │ │ ├── ReactFlushSync-test.js │ │ ├── ReactFragment-test.js │ │ ├── ReactHooks-test.internal.js │ │ ├── ReactHooksWithNoopRenderer-test.js │ │ ├── ReactIncremental-test.js │ │ ├── ReactIncrementalErrorHandling-test.internal.js │ │ ├── ReactIncrementalErrorLogging-test.js │ │ ├── ReactIncrementalErrorReplay-test.internal.js │ │ ├── ReactIncrementalErrorReplay-test.js │ │ ├── ReactIncrementalReflection-test.js │ │ ├── ReactIncrementalScheduling-test.js │ │ ├── ReactIncrementalSideEffects-test.js │ │ ├── ReactIncrementalTriangle-test.js │ │ ├── ReactIncrementalUpdates-test.js │ │ ├── ReactIncrementalUpdatesMinimalism-test.js │ │ ├── ReactInterleavedUpdates-test.js │ │ ├── ReactIsomorphicAct-test.js │ │ ├── ReactLazy-test.internal.js │ │ ├── ReactMemo-test.js │ │ ├── ReactNewContext-test.js │ │ ├── ReactNoopRendererAct-test.js │ │ ├── ReactOffscreen-test.js │ │ ├── ReactOffscreenStrictMode-test.js │ │ ├── ReactOffscreenSuspense-test.js │ │ ├── ReactPersistent-test.js │ │ ├── ReactPersistentUpdatesMinimalism-test.js │ │ ├── ReactSchedulerIntegration-test.js │ │ ├── ReactScope-test.internal.js │ │ ├── ReactSubtreeFlagsWarning-test.js │ │ ├── ReactSuspense-test.internal.js │ │ ├── ReactSuspenseCallback-test.js │ │ ├── ReactSuspenseEffectsSemantics-test.js │ │ ├── ReactSuspenseEffectsSemanticsDOM-test.js │ │ ├── ReactSuspenseFallback-test.js │ │ ├── ReactSuspenseFuzz-test.internal.js │ │ ├── ReactSuspenseList-test.js │ │ ├── ReactSuspensePlaceholder-test.internal.js │ │ ├── ReactSuspenseWithNoopRenderer-test.js │ │ ├── ReactThenable-test.js │ │ ├── ReactTopLevelFragment-test.js │ │ ├── ReactTopLevelText-test.js │ │ ├── ReactTransition-test.js │ │ ├── ReactTransitionTracing-test.js │ │ ├── ReactUpdatePriority-test.js │ │ ├── ReactUpdaters-test.internal.js │ │ ├── StrictEffectsMode-test.js │ │ ├── StrictEffectsModeDefaults-test.internal.js │ │ ├── __snapshots__ │ │ │ └── ReactHooks-test.internal.js.snap │ │ ├── useEffectEvent-test.js │ │ ├── useMemoCache-test.js │ │ ├── useMutableSource-test.internal.js │ │ ├── useMutableSourceHydration-test.js │ │ ├── useRef-test.internal.js │ │ └── useSyncExternalStore-test.js │ │ ├── clz32.js │ │ ├── forks │ │ ├── ReactFiberErrorDialog.native.js │ │ ├── ReactFiberErrorDialog.www.js │ │ ├── ReactFiberHostConfig.art.js │ │ ├── ReactFiberHostConfig.bun.js │ │ ├── ReactFiberHostConfig.custom.js │ │ ├── ReactFiberHostConfig.dom-browser.js │ │ ├── ReactFiberHostConfig.dom-legacy.js │ │ ├── ReactFiberHostConfig.dom-relay.js │ │ ├── ReactFiberHostConfig.dom.js │ │ ├── ReactFiberHostConfig.fabric.js │ │ ├── ReactFiberHostConfig.native-relay.js │ │ ├── ReactFiberHostConfig.native.js │ │ └── ReactFiberHostConfig.test.js │ │ └── getComponentNameFromFiber.js ├── react-refresh │ ├── README.md │ ├── babel.js │ ├── npm │ │ ├── babel.js │ │ └── runtime.js │ ├── package.json │ ├── runtime.js │ └── src │ │ ├── ReactFreshBabelPlugin.js │ │ ├── ReactFreshRuntime.js │ │ └── __tests__ │ │ ├── ReactFresh-test.js │ │ ├── ReactFreshBabelPlugin-test.js │ │ ├── ReactFreshIntegration-test.js │ │ ├── ReactFreshMultipleRenderer-test.internal.js │ │ └── __snapshots__ │ │ └── ReactFreshBabelPlugin-test.js.snap ├── react-server-dom-relay │ ├── index.js │ ├── package.json │ ├── server.js │ └── src │ │ ├── ReactDOMServerFB.js │ │ ├── ReactFlightDOMRelayClient.js │ │ ├── ReactFlightDOMRelayClientHostConfig.js │ │ ├── ReactFlightDOMRelayProtocol.js │ │ ├── ReactFlightDOMRelayServer.js │ │ ├── ReactFlightDOMRelayServerHostConfig.js │ │ ├── ReactServerStreamConfigFB.js │ │ ├── __mocks__ │ │ ├── JSResourceReferenceImpl.js │ │ ├── ReactFlightDOMRelayClientIntegration.js │ │ └── ReactFlightDOMRelayServerIntegration.js │ │ └── __tests__ │ │ ├── ReactDOMServerFB-test.internal.js │ │ └── ReactFlightDOMRelay-test.internal.js ├── react-server-dom-webpack │ ├── README.md │ ├── client.js │ ├── esm │ │ ├── package.json │ │ └── react-server-dom-webpack-node-loader.js │ ├── index.js │ ├── node-register.js │ ├── npm │ │ ├── client.js │ │ ├── esm │ │ │ └── package.json │ │ ├── index.js │ │ ├── node-register.js │ │ ├── plugin.js │ │ ├── server.browser.js │ │ ├── server.js │ │ └── server.node.js │ ├── package.json │ ├── plugin.js │ ├── server.browser.js │ ├── server.js │ ├── server.node.js │ └── src │ │ ├── ReactFlightClientWebpackBundlerConfig.js │ │ ├── ReactFlightDOMClient.js │ │ ├── ReactFlightDOMServerBrowser.js │ │ ├── ReactFlightDOMServerNode.js │ │ ├── ReactFlightServerWebpackBundlerConfig.js │ │ ├── ReactFlightWebpackNodeLoader.js │ │ ├── ReactFlightWebpackNodeRegister.js │ │ ├── ReactFlightWebpackPlugin.js │ │ └── __tests__ │ │ ├── ReactFlightDOM-test.js │ │ ├── ReactFlightDOMBrowser-test.js │ │ └── utils │ │ └── WebpackMock.js ├── react-server-native-relay │ ├── index.js │ ├── package.json │ ├── server.js │ └── src │ │ ├── ReactFlightNativeRelayClient.js │ │ ├── ReactFlightNativeRelayClientHostConfig.js │ │ ├── ReactFlightNativeRelayProtocol.js │ │ ├── ReactFlightNativeRelayServer.js │ │ ├── ReactFlightNativeRelayServerHostConfig.js │ │ ├── __mocks__ │ │ ├── ReactFlightNativeRelayClientIntegration.js │ │ └── ReactFlightNativeRelayServerIntegration.js │ │ └── __tests__ │ │ ├── ReactFlightNativeRelay-test.internal.js │ │ └── __snapshots__ │ │ └── ReactFlightNativeRelay-test.internal.js.snap ├── react-server │ ├── README.md │ ├── flight.js │ ├── index.js │ ├── npm │ │ ├── flight.js │ │ └── index.js │ ├── package.json │ └── src │ │ ├── ReactFizzCache.js │ │ ├── ReactFizzClassComponent.js │ │ ├── ReactFizzComponentStack.js │ │ ├── ReactFizzContext.js │ │ ├── ReactFizzHooks.js │ │ ├── ReactFizzNewContext.js │ │ ├── ReactFizzServer.js │ │ ├── ReactFizzThenable.js │ │ ├── ReactFizzTreeContext.js │ │ ├── ReactFlightCache.js │ │ ├── ReactFlightHooks.js │ │ ├── ReactFlightNewContext.js │ │ ├── ReactFlightServer.js │ │ ├── ReactFlightServerBundlerConfigCustom.js │ │ ├── ReactFlightServerConfig.js │ │ ├── ReactFlightServerConfigStream.js │ │ ├── ReactFlightThenable.js │ │ ├── ReactServerFormatConfig.js │ │ ├── ReactServerStreamConfig.js │ │ ├── ReactServerStreamConfigBrowser.js │ │ ├── ReactServerStreamConfigBun.js │ │ ├── ReactServerStreamConfigNode.js │ │ ├── __tests__ │ │ └── ReactServer-test.js │ │ └── forks │ │ ├── ReactFlightServerConfig.bun.js │ │ ├── ReactFlightServerConfig.custom.js │ │ ├── ReactFlightServerConfig.dom-browser.js │ │ ├── ReactFlightServerConfig.dom-legacy.js │ │ ├── ReactFlightServerConfig.dom-relay.js │ │ ├── ReactFlightServerConfig.dom.js │ │ ├── ReactFlightServerConfig.native-relay.js │ │ ├── ReactServerFormatConfig.bun.js │ │ ├── ReactServerFormatConfig.custom.js │ │ ├── ReactServerFormatConfig.dom-browser.js │ │ ├── ReactServerFormatConfig.dom-legacy.js │ │ ├── ReactServerFormatConfig.dom-relay.js │ │ ├── ReactServerFormatConfig.dom.js │ │ ├── ReactServerFormatConfig.native-relay.js │ │ ├── ReactServerStreamConfig.bun.js │ │ ├── ReactServerStreamConfig.custom.js │ │ ├── ReactServerStreamConfig.dom-browser.js │ │ ├── ReactServerStreamConfig.dom-legacy.js │ │ ├── ReactServerStreamConfig.dom-relay.js │ │ ├── ReactServerStreamConfig.dom.js │ │ └── ReactServerStreamConfig.native-relay.js ├── react-suspense-test-utils │ ├── README.md │ ├── index.js │ ├── npm │ │ └── index.js │ ├── package.json │ └── src │ │ └── ReactSuspenseTestUtils.js ├── react-test-renderer │ ├── README.md │ ├── index.js │ ├── npm │ │ ├── index.js │ │ └── shallow.js │ ├── package.json │ ├── shallow.js │ └── src │ │ ├── ReactTestHostConfig.js │ │ ├── ReactTestRenderer.js │ │ └── __tests__ │ │ ├── ReactTestRenderer-test.internal.js │ │ ├── ReactTestRenderer-test.js │ │ ├── ReactTestRendererAct-test.js │ │ ├── ReactTestRendererAsync-test.js │ │ └── ReactTestRendererTraversal-test.js ├── react │ ├── README.md │ ├── index.classic.fb.js │ ├── index.experimental.js │ ├── index.js │ ├── index.modern.fb.js │ ├── index.stable.js │ ├── jsx-dev-runtime.js │ ├── jsx-runtime.js │ ├── npm │ │ ├── index.js │ │ ├── jsx-dev-runtime.js │ │ ├── jsx-runtime.js │ │ ├── react.shared-subset.js │ │ └── unstable-cache.js │ ├── package.json │ ├── react.shared-subset.js │ └── src │ │ ├── BadMapPolyfill.js │ │ ├── React.js │ │ ├── ReactAct.js │ │ ├── ReactBaseClasses.js │ │ ├── ReactCache.js │ │ ├── ReactChildren.js │ │ ├── ReactContext.js │ │ ├── ReactCreateRef.js │ │ ├── ReactCurrentActQueue.js │ │ ├── ReactCurrentBatchConfig.js │ │ ├── ReactCurrentCache.js │ │ ├── ReactCurrentDispatcher.js │ │ ├── ReactCurrentOwner.js │ │ ├── ReactDebugCurrentFrame.js │ │ ├── ReactElement.js │ │ ├── ReactElementValidator.js │ │ ├── ReactFetch.js │ │ ├── ReactForwardRef.js │ │ ├── ReactHooks.js │ │ ├── ReactLazy.js │ │ ├── ReactMemo.js │ │ ├── ReactMutableSource.js │ │ ├── ReactNoopUpdateQueue.js │ │ ├── ReactServerContext.js │ │ ├── ReactServerContextRegistry.js │ │ ├── ReactSharedInternals.js │ │ ├── ReactSharedSubset.experimental.js │ │ ├── ReactSharedSubset.js │ │ ├── ReactStartTransition.js │ │ ├── __tests__ │ │ ├── ReactChildren-test.js │ │ ├── ReactClassEquivalence-test.js │ │ ├── ReactCoffeeScriptClass-test.coffee │ │ ├── ReactContextValidator-test.js │ │ ├── ReactCreateRef-test.js │ │ ├── ReactES6Class-test.js │ │ ├── ReactElement-test.js │ │ ├── ReactElementClone-test.js │ │ ├── ReactElementJSX-test.js │ │ ├── ReactElementValidator-test.internal.js │ │ ├── ReactFetch-test.js │ │ ├── ReactJSXElement-test.js │ │ ├── ReactJSXElementValidator-test.js │ │ ├── ReactProfiler-test.internal.js │ │ ├── ReactProfilerDevToolsIntegration-test.internal.js │ │ ├── ReactPureComponent-test.js │ │ ├── ReactStartTransition-test.js │ │ ├── ReactStrictMode-test.internal.js │ │ ├── ReactStrictMode-test.js │ │ ├── ReactTypeScriptClass-test.ts │ │ ├── ReactVersion-test.js │ │ ├── __snapshots__ │ │ │ └── ReactProfiler-test.internal.js.snap │ │ ├── createReactClassIntegration-test.js │ │ ├── forwardRef-test.internal.js │ │ ├── forwardRef-test.js │ │ ├── onlyChild-test.js │ │ └── testDefinitions │ │ │ ├── PropTypes.d.ts │ │ │ ├── React.d.ts │ │ │ ├── ReactDOM.d.ts │ │ │ ├── ReactDOMClient.d.ts │ │ │ └── ReactInternalAct.d.ts │ │ ├── forks │ │ └── ReactSharedInternals.umd.js │ │ └── jsx │ │ ├── ReactJSX.js │ │ ├── ReactJSXElement.js │ │ └── ReactJSXElementValidator.js ├── scheduler │ ├── README.md │ ├── index.js │ ├── npm │ │ ├── index.js │ │ ├── umd │ │ │ ├── scheduler.development.js │ │ │ ├── scheduler.production.min.js │ │ │ └── scheduler.profiling.min.js │ │ ├── unstable_mock.js │ │ └── unstable_post_task.js │ ├── package.json │ ├── src │ │ ├── SchedulerFeatureFlags.js │ │ ├── SchedulerMinHeap.js │ │ ├── SchedulerPriorities.js │ │ ├── SchedulerProfiling.js │ │ ├── __tests__ │ │ │ ├── Scheduler-test.js │ │ │ ├── SchedulerMock-test.js │ │ │ ├── SchedulerPostTask-test.js │ │ │ ├── SchedulerProfiling-test.js │ │ │ ├── SchedulerSetImmediate-test.js │ │ │ ├── SchedulerSetTimeout-test.js │ │ │ └── SchedulerUMDBundle-test.internal.js │ │ └── forks │ │ │ ├── Scheduler.js │ │ │ ├── SchedulerFeatureFlags.www-dynamic.js │ │ │ ├── SchedulerFeatureFlags.www.js │ │ │ ├── SchedulerMock.js │ │ │ └── SchedulerPostTask.js │ ├── unstable_mock.js │ └── unstable_post_task.js ├── shared │ ├── CheckStringCoercion.js │ ├── ConsolePatchingDev.js │ ├── ExecutionEnvironment.js │ ├── ReactComponentStackFrame.js │ ├── ReactDOMSharedInternals.js │ ├── ReactElementType.js │ ├── ReactErrorUtils.js │ ├── ReactFeatureFlags.js │ ├── ReactInstanceMap.js │ ├── ReactServerContextRegistry.js │ ├── ReactSharedInternals.js │ ├── ReactSymbols.js │ ├── ReactTypes.js │ ├── ReactVersion.js │ ├── __tests__ │ │ ├── ReactDOMFrameScheduling-test.js │ │ ├── ReactError-test.internal.js │ │ ├── ReactErrorProd-test.internal.js │ │ ├── ReactErrorUtils-test.internal.js │ │ ├── ReactSymbols-test.internal.js │ │ └── describeComponentFrame-test.js │ ├── assign.js │ ├── checkPropTypes.js │ ├── consoleWithStackDev.js │ ├── enqueueTask.js │ ├── forks │ │ ├── ReactFeatureFlags.native-fb-dynamic.js │ │ ├── ReactFeatureFlags.native-fb.js │ │ ├── ReactFeatureFlags.native-oss.js │ │ ├── ReactFeatureFlags.readonly.js │ │ ├── ReactFeatureFlags.test-renderer.js │ │ ├── ReactFeatureFlags.test-renderer.native.js │ │ ├── ReactFeatureFlags.test-renderer.www.js │ │ ├── ReactFeatureFlags.testing.js │ │ ├── ReactFeatureFlags.testing.www.js │ │ ├── ReactFeatureFlags.www-dynamic.js │ │ ├── ReactFeatureFlags.www.js │ │ ├── Scheduler.umd.js │ │ ├── consoleWithStackDev.www.js │ │ └── invokeGuardedCallbackImpl.www.js │ ├── formatProdErrorMessage.js │ ├── getComponentNameFromType.js │ ├── hasOwnProperty.js │ ├── invokeGuardedCallbackImpl.js │ ├── isArray.js │ ├── isValidElementType.js │ ├── objectIs.js │ ├── package.json │ └── shallowEqual.js ├── use-subscription │ ├── README.md │ ├── index.js │ ├── npm │ │ └── index.js │ ├── package.json │ └── src │ │ ├── __tests__ │ │ └── useSubscription-test.js │ │ └── useSubscription.js └── use-sync-external-store │ ├── README.md │ ├── index.js │ ├── npm │ ├── index.js │ ├── shim │ │ ├── index.js │ │ ├── index.native.js │ │ └── with-selector.js │ └── with-selector.js │ ├── package.json │ ├── shim │ ├── index.js │ ├── index.native.js │ └── with-selector │ │ └── index.js │ ├── src │ ├── __tests__ │ │ ├── useSyncExternalStoreNative-test.js │ │ ├── useSyncExternalStoreShared-test.js │ │ └── useSyncExternalStoreShimServer-test.js │ ├── forks │ │ ├── isServerEnvironment.native.js │ │ ├── useSyncExternalStore.forward-to-built-in.js │ │ └── useSyncExternalStore.forward-to-shim.js │ ├── isServerEnvironment.js │ ├── useSyncExternalStore.js │ ├── useSyncExternalStoreShim.js │ ├── useSyncExternalStoreShimClient.js │ ├── useSyncExternalStoreShimServer.js │ └── useSyncExternalStoreWithSelector.js │ └── with-selector.js ├── scripts ├── authors ├── babel │ ├── __tests__ │ │ ├── transform-prevent-infinite-loops-test.js │ │ └── transform-test-gate-pragma-test.js │ ├── getComments.js │ ├── transform-object-assign.js │ ├── transform-prevent-infinite-loops.js │ ├── transform-react-version-pragma.js │ ├── transform-replace-console-calls.js │ └── transform-test-gate-pragma.js ├── bench │ ├── .gitignore │ ├── README.md │ ├── benchmark.js │ ├── benchmarks │ │ ├── hacker-news │ │ │ ├── benchmark.js │ │ │ ├── build.js │ │ │ ├── generate.js │ │ │ ├── grayarrow.gif │ │ │ ├── index.html │ │ │ ├── logo.png │ │ │ ├── style.css │ │ │ └── top-stories.js │ │ ├── pe-class-components │ │ │ ├── benchmark.js │ │ │ ├── build.js │ │ │ └── index.html │ │ ├── pe-functional-components │ │ │ ├── benchmark.js │ │ │ ├── build.js │ │ │ └── index.html │ │ └── pe-no-components │ │ │ ├── benchmark.js │ │ │ ├── build.js │ │ │ └── index.html │ ├── build.js │ ├── package.json │ ├── runner.js │ ├── server.js │ ├── stats.js │ └── yarn.lock ├── circleci │ ├── check_license.sh │ ├── check_modules.sh │ ├── download_devtools_regression_build.js │ ├── pack_and_store_devtools_artifacts.sh │ ├── run_devtools_e2e_tests.js │ └── test_print_warnings.sh ├── devtools │ ├── .gitignore │ ├── README.md │ ├── build-and-test.js │ ├── configuration.js │ ├── package.json │ ├── prepare-release.js │ ├── publish-release.js │ ├── utils.js │ └── yarn.lock ├── error-codes │ ├── README.md │ ├── Types.js │ ├── __tests__ │ │ ├── __snapshots__ │ │ │ └── transform-error-messages.js.snap │ │ ├── invertObject-test.js │ │ └── transform-error-messages.js │ ├── codes.json │ ├── extract-errors.js │ ├── invertObject.js │ └── transform-error-messages.js ├── eslint-rules │ ├── README.md │ ├── __tests__ │ │ ├── no-primitive-constructors-test.internal.js │ │ ├── no-production-logging-test.internal.js │ │ ├── no-to-warn-dev-within-to-throw-test.internal.js │ │ ├── prod-error-codes-test.internal.js │ │ ├── safe-string-coercion-test.internal.js │ │ └── warning-args-test.internal.js │ ├── index.js │ ├── no-primitive-constructors.js │ ├── no-production-logging.js │ ├── no-to-warn-dev-within-to-throw.js │ ├── package.json │ ├── prod-error-codes.js │ ├── safe-string-coercion.js │ └── warning-args.js ├── eslint │ └── index.js ├── flow │ ├── config │ │ └── flowconfig │ ├── createFlowConfigs.js │ ├── environment.js │ ├── react-devtools.js │ ├── react-native-host-hooks.js │ ├── react-relay-hooks.js │ ├── runFlow.js │ └── xplat.js ├── git │ └── pre-commit ├── jest │ ├── TestFlags.js │ ├── config.base.js │ ├── config.build-devtools.js │ ├── config.build.js │ ├── config.source-persistent.js │ ├── config.source-www.js │ ├── config.source.js │ ├── devtools │ │ ├── config.build-devtools-regression.js │ │ ├── setupEnv.js │ │ └── setupTests.build-devtools-regression.js │ ├── dont-run-jest-directly.js │ ├── jest-cli.js │ ├── jest.js │ ├── jestSequencer.js │ ├── matchers │ │ ├── __tests__ │ │ │ └── toWarnDev-test.js │ │ ├── reactTestMatchers.js │ │ ├── schedulerTestMatchers.js │ │ ├── toThrow.js │ │ └── toWarnDev.js │ ├── noHaste.js │ ├── preprocessor.js │ ├── setupEnvironment.js │ ├── setupGlobal.js │ ├── setupHostConfigs.js │ ├── setupTests.build.js │ ├── setupTests.js │ ├── setupTests.persistent.js │ ├── setupTests.www.js │ ├── shouldIgnoreConsoleError.js │ ├── spec-equivalence-reporter │ │ └── setupTests.js │ └── typescript │ │ ├── jest.d.ts │ │ └── preprocessor.js ├── perf-counters │ ├── Makefile │ ├── README.md │ ├── binding.gyp │ ├── index.js │ ├── package.json │ └── src │ │ ├── hardware-counter.cpp │ │ ├── hardware-counter.h │ │ ├── jsc-perf.cpp │ │ ├── perf-counters.cpp │ │ ├── portability.h │ │ ├── thread-local.cpp │ │ └── thread-local.h ├── prettier │ └── index.js ├── print-warnings │ ├── README.md │ └── print-warnings.js ├── release │ ├── .gitignore │ ├── README.md │ ├── build-release-locally-commands │ │ ├── add-build-info-json.js │ │ ├── build-artifacts.js │ │ ├── confirm-automated-testing.js │ │ ├── copy-repo-to-temp-directory.js │ │ ├── npm-pack-and-unpack.js │ │ └── update-version-numbers.js │ ├── build-release-locally.js │ ├── build-release.js │ ├── check-release-dependencies.js │ ├── ci-npmrc │ ├── download-experimental-build-commands │ │ └── print-summary.js │ ├── download-experimental-build.js │ ├── package.json │ ├── prepare-release-from-ci.js │ ├── prepare-release-from-npm-commands │ │ ├── check-out-packages.js │ │ ├── confirm-stable-version-numbers.js │ │ ├── get-latest-next-version.js │ │ ├── guess-stable-version-numbers.js │ │ ├── parse-params.js │ │ └── update-stable-version-numbers.js │ ├── prepare-release-from-npm.js │ ├── publish-commands │ │ ├── check-npm-permissions.js │ │ ├── confirm-skipped-packages.js │ │ ├── confirm-version-and-tags.js │ │ ├── parse-params.js │ │ ├── print-follow-up-instructions.js │ │ ├── prompt-for-otp.js │ │ ├── publish-to-npm.js │ │ ├── update-stable-version-numbers.js │ │ ├── validate-skip-packages.js │ │ └── validate-tags.js │ ├── publish-using-ci-workflow.js │ ├── publish.js │ ├── shared-commands │ │ ├── download-build-artifacts.js │ │ ├── get-build-id-for-commit.js │ │ ├── parse-params.js │ │ ├── print-prerelease-summary.js │ │ └── test-packaging-fixture.js │ ├── snapshot-test.js │ ├── snapshot-test.snapshot │ ├── theme.js │ ├── utils.js │ └── yarn.lock ├── rollup │ ├── build-all-release-channels.js │ ├── build.js │ ├── bundles.js │ ├── forks.js │ ├── generate-inline-fizz-runtime.js │ ├── modules.js │ ├── packaging.js │ ├── plugins │ │ ├── closure-plugin.js │ │ ├── sizes-plugin.js │ │ ├── strip-unused-imports.js │ │ └── use-forks-plugin.js │ ├── shims │ │ ├── facebook-www │ │ │ ├── ReactBrowserEventEmitter_DO_NOT_USE.js │ │ │ └── renderSubtreeIntoContainer_DO_NOT_USE.js │ │ └── react-native │ │ │ ├── ReactFabric.js │ │ │ ├── ReactFeatureFlags.js │ │ │ ├── ReactNative.js │ │ │ ├── ReactNativeViewConfigRegistry.js │ │ │ └── createReactNativeComponentClass.js │ ├── stats.js │ ├── sync.js │ ├── utils.js │ ├── validate │ │ ├── eslintrc.cjs.js │ │ ├── eslintrc.cjs2015.js │ │ ├── eslintrc.esm.js │ │ ├── eslintrc.fb.js │ │ ├── eslintrc.rn.js │ │ ├── eslintrc.umd.js │ │ └── index.js │ ├── wrappers.js │ └── wrappers │ │ ├── registerInternalModuleBegin.js │ │ └── registerInternalModuleEnd.js ├── shared │ ├── __tests__ │ │ └── evalToString-test.js │ ├── evalToString.js │ ├── inlinedHostConfigs.js │ ├── listChangedFiles.js │ └── pathsByLanguageVersion.js ├── tasks │ ├── danger.js │ ├── eslint.js │ ├── flow-ci.js │ ├── flow.js │ ├── linc.js │ └── version-check.js └── yarn │ └── downloadReactIsForPrettyFormat.js └── yarn.lock /.codesandbox/ci.json: -------------------------------------------------------------------------------- 1 | { 2 | "packages": ["packages/react", "packages/react-dom", "packages/scheduler"], 3 | "buildCommand": "download-build-in-codesandbox-ci", 4 | "node": "14", 5 | "publishDirectory": { 6 | "react": "build/oss-experimental/react", 7 | "react-dom": "build/oss-experimental/react-dom", 8 | "scheduler": "build/oss-experimental/scheduler" 9 | }, 10 | "sandboxes": ["new"], 11 | "silent": true 12 | } 13 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # https://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | charset = utf-8 6 | end_of_line = lf 7 | indent_size = 2 8 | indent_style = space 9 | insert_final_newline = true 10 | max_line_length = 80 11 | trim_trailing_whitespace = true 12 | 13 | [*.md] 14 | max_line_length = 0 15 | trim_trailing_whitespace = false 16 | 17 | [COMMIT_EDITMSG] 18 | max_line_length = 0 19 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | contact_links: 2 | - name: 📃 Documentation Issue 3 | url: https://github.com/reactjs/reactjs.org/issues/new 4 | about: This issue tracker is not for documentation issues. Please file documentation issues here. 5 | - name: 🤔 Questions and Help 6 | url: https://reactjs.org/community/support.html 7 | about: This issue tracker is not for support questions. Please refer to the React community's help and discussion forums. 8 | -------------------------------------------------------------------------------- /.nvmrc: -------------------------------------------------------------------------------- 1 | v14.17.6 2 | -------------------------------------------------------------------------------- /.prettierrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const {esNextPaths} = require('./scripts/shared/pathsByLanguageVersion'); 4 | 5 | module.exports = { 6 | bracketSpacing: false, 7 | singleQuote: true, 8 | jsxBracketSameLine: true, 9 | trailingComma: 'es5', 10 | printWidth: 80, 11 | parser: 'babel', 12 | 13 | overrides: [ 14 | { 15 | files: esNextPaths, 16 | options: { 17 | trailingComma: 'all', 18 | }, 19 | }, 20 | ], 21 | }; 22 | -------------------------------------------------------------------------------- /.watchmanconfig: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing to React 2 | 3 | Want to contribute to React? There are a few things you need to know. 4 | 5 | We wrote a **[contribution guide](https://reactjs.org/docs/how-to-contribute.html)** to help you get started. 6 | -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | # Reporting Security Issues 2 | 3 | If you believe you have found a security vulnerability in React, we encourage you to let us know right away. We will investigate all legitimate reports and do our best to quickly fix the problem. 4 | 5 | Please refer to the following page for our responsible disclosure policy, reward guidelines, and those things that should not be reported: 6 | 7 | https://www.facebook.com/whitehat 8 | -------------------------------------------------------------------------------- /fixtures/art/.gitignore: -------------------------------------------------------------------------------- 1 | bundle.js -------------------------------------------------------------------------------- /fixtures/art/README.md: -------------------------------------------------------------------------------- 1 | # VectorWidget example 2 | 3 | To try this example, run: 4 | 5 | ``` 6 | yarn 7 | yarn build 8 | ``` 9 | 10 | in this directory, then open index.html in your browser. 11 | -------------------------------------------------------------------------------- /fixtures/art/app.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var React = require('react'); 4 | var ReactDOM = require('react-dom'); 5 | var VectorWidget = require('./VectorWidget'); 6 | 7 | ReactDOM.render(, document.getElementById('container')); 8 | -------------------------------------------------------------------------------- /fixtures/art/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | VectorWidget 5 | 6 | 7 | 8 |
9 |

If you're seeing this message, it means you haven't generated the bundle file for this example. Try running:

10 | 11 |

12 |     npm install
13 |     npm run build
14 |     
15 | 16 |

then reload the page.

17 |
18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /fixtures/attribute-behavior/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | 6 | # testing 7 | /coverage 8 | 9 | # production 10 | /build 11 | /public/react.development.js 12 | /public/react-dom.development.js 13 | /public/react-dom-server-legacy.browser.development.js 14 | 15 | # misc 16 | .DS_Store 17 | .env.local 18 | .env.development.local 19 | .env.test.local 20 | .env.production.local 21 | 22 | npm-debug.log* 23 | yarn-debug.log* 24 | yarn-error.log* 25 | -------------------------------------------------------------------------------- /fixtures/attribute-behavior/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Honest0/react/2f6a5364d070c30c20f435de9399d667b89dc767/fixtures/attribute-behavior/public/favicon.ico -------------------------------------------------------------------------------- /fixtures/attribute-behavior/public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "short_name": "React App", 3 | "name": "Create React App Sample", 4 | "icons": [ 5 | { 6 | "src": "favicon.ico", 7 | "sizes": "192x192", 8 | "type": "image/png" 9 | } 10 | ], 11 | "start_url": "./index.html", 12 | "display": "standalone", 13 | "theme_color": "#000000", 14 | "background_color": "#ffffff" 15 | } 16 | -------------------------------------------------------------------------------- /fixtures/attribute-behavior/src/App.test.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ReactDOM from 'react-dom'; 3 | import App from './App'; 4 | 5 | it('renders without crashing', () => { 6 | const div = document.createElement('div'); 7 | ReactDOM.render(, div); 8 | }); 9 | -------------------------------------------------------------------------------- /fixtures/attribute-behavior/src/index.css: -------------------------------------------------------------------------------- 1 | * { 2 | box-sizing: border-box; 3 | } 4 | 5 | body { 6 | font-family: monospace; 7 | font-size: 12px; 8 | } 9 | -------------------------------------------------------------------------------- /fixtures/attribute-behavior/src/index.js: -------------------------------------------------------------------------------- 1 | import './index.css'; 2 | import React from 'react'; 3 | import ReactDOM from 'react-dom'; 4 | import App from './App'; 5 | 6 | ReactDOM.render(, document.getElementById('root')); 7 | -------------------------------------------------------------------------------- /fixtures/blocks/.env: -------------------------------------------------------------------------------- 1 | SKIP_PREFLIGHT_CHECK=true 2 | -------------------------------------------------------------------------------- /fixtures/blocks/delay.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | module.exports = (req, res, next) => { 9 | if (req.query.delay) { 10 | setTimeout(next, Number(req.query.delay)); 11 | } else { 12 | next(); 13 | } 14 | }; 15 | -------------------------------------------------------------------------------- /fixtures/blocks/public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Blocks Fixture 7 | 8 | 9 | 10 |
11 | 12 | 13 | -------------------------------------------------------------------------------- /fixtures/blocks/src/client/RouterContext.js: -------------------------------------------------------------------------------- 1 | import {createContext, useContext} from 'react'; 2 | 3 | const RouterContext = createContext(null); 4 | 5 | export const RouterProvider = RouterContext.Provider; 6 | 7 | export function useRouter() { 8 | return useContext(RouterContext); 9 | } 10 | -------------------------------------------------------------------------------- /fixtures/blocks/src/index.css: -------------------------------------------------------------------------------- 1 | body { 2 | font-family: Helvetica; 3 | padding-left: 10px; 4 | } 5 | 6 | * { 7 | box-sizing: border-box; 8 | } 9 | -------------------------------------------------------------------------------- /fixtures/blocks/src/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | import React from 'react'; 9 | import {createRoot} from 'react-dom/client'; 10 | import './index.css'; 11 | import Router from './Router'; 12 | 13 | createRoot(document.getElementById('root')).render(); 14 | -------------------------------------------------------------------------------- /fixtures/concurrent/time-slicing/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | 6 | # testing 7 | /coverage 8 | 9 | # production 10 | /build 11 | 12 | # misc 13 | .DS_Store 14 | .env.local 15 | .env.development.local 16 | .env.test.local 17 | .env.production.local 18 | 19 | npm-debug.log* 20 | yarn-debug.log* 21 | yarn-error.log* 22 | -------------------------------------------------------------------------------- /fixtures/concurrent/time-slicing/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Honest0/react/2f6a5364d070c30c20f435de9399d667b89dc767/fixtures/concurrent/time-slicing/public/favicon.ico -------------------------------------------------------------------------------- /fixtures/concurrent/time-slicing/public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "short_name": "React App", 3 | "name": "Create React App Sample", 4 | "icons": [ 5 | { 6 | "src": "favicon.ico", 7 | "sizes": "64x64 32x32 24x24 16x16", 8 | "type": "image/x-icon" 9 | } 10 | ], 11 | "start_url": "./index.html", 12 | "display": "standalone", 13 | "theme_color": "#000000", 14 | "background_color": "#ffffff" 15 | } 16 | -------------------------------------------------------------------------------- /fixtures/devtools/regression/server.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | const finalhandler = require('finalhandler'); 4 | const http = require('http'); 5 | const serveStatic = require('serve-static'); 6 | 7 | // Serve fixtures folder 8 | const serve = serveStatic(__dirname, {index: 'index.html'}); 9 | 10 | // Create server 11 | const server = http.createServer(function onRequest(req, res) { 12 | serve(req, res, finalhandler(req, res)); 13 | }); 14 | 15 | // Listen 16 | server.listen(3000); 17 | -------------------------------------------------------------------------------- /fixtures/devtools/scheduling-profiler/.gitignore: -------------------------------------------------------------------------------- 1 | dependencies 2 | -------------------------------------------------------------------------------- /fixtures/devtools/scheduling-profiler/app.js: -------------------------------------------------------------------------------- 1 | const {createElement, useLayoutEffect, useState} = React; 2 | const {createRoot} = ReactDOM; 3 | 4 | function App() { 5 | const [isMounted, setIsMounted] = useState(false); 6 | useLayoutEffect(() => { 7 | setIsMounted(true); 8 | }, []); 9 | return createElement('div', null, `isMounted? ${isMounted}`); 10 | } 11 | 12 | const container = document.getElementById('container'); 13 | const root = createRoot(container); 14 | root.render(createElement(App)); 15 | -------------------------------------------------------------------------------- /fixtures/devtools/scheduling-profiler/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Scheduling Profiler Fixture 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | -------------------------------------------------------------------------------- /fixtures/dom/README.md: -------------------------------------------------------------------------------- 1 | # DOM Fixtures 2 | 3 | A set of DOM test cases for quickly identifying browser issues. 4 | 5 | ## Setup 6 | 7 | To reference a local build of React, first run `yarn build` at the root 8 | of the React project. Then: 9 | 10 | ``` 11 | cd fixtures/dom 12 | yarn 13 | yarn start 14 | ``` 15 | 16 | The `start` command runs a script that copies over the local build of react into 17 | the public directory. 18 | -------------------------------------------------------------------------------- /fixtures/dom/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Honest0/react/2f6a5364d070c30c20f435de9399d667b89dc767/fixtures/dom/public/favicon.ico -------------------------------------------------------------------------------- /fixtures/dom/public/test.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Honest0/react/2f6a5364d070c30c20f435de9399d667b89dc767/fixtures/dom/public/test.mp4 -------------------------------------------------------------------------------- /fixtures/dom/src/components/App.js: -------------------------------------------------------------------------------- 1 | import Header from './Header'; 2 | import Fixtures from './fixtures'; 3 | import '../style.css'; 4 | 5 | const React = window.React; 6 | 7 | class App extends React.Component { 8 | render() { 9 | return ( 10 |
11 |
12 | 13 |
14 | ); 15 | } 16 | } 17 | 18 | export default App; 19 | -------------------------------------------------------------------------------- /fixtures/dom/src/components/Fixture.js: -------------------------------------------------------------------------------- 1 | import PropTypes from 'prop-types'; 2 | const React = window.React; 3 | 4 | const propTypes = { 5 | children: PropTypes.node.isRequired, 6 | }; 7 | 8 | class Fixture extends React.Component { 9 | render() { 10 | const {children} = this.props; 11 | 12 | return
{children}
; 13 | } 14 | } 15 | 16 | Fixture.propTypes = propTypes; 17 | 18 | export default Fixture; 19 | -------------------------------------------------------------------------------- /fixtures/dom/src/components/fixtures/event-pooling/index.js: -------------------------------------------------------------------------------- 1 | import FixtureSet from '../../FixtureSet'; 2 | import MouseMove from './mouse-move'; 3 | import Persistence from './persistence'; 4 | 5 | const React = window.React; 6 | 7 | class EventPooling extends React.Component { 8 | render() { 9 | return ( 10 | 11 | 12 | 13 | 14 | ); 15 | } 16 | } 17 | 18 | export default EventPooling; 19 | -------------------------------------------------------------------------------- /fixtures/dom/src/components/fixtures/hydration/data.js: -------------------------------------------------------------------------------- 1 | export const SAMPLE_CODE = ` 2 | class Fixture extends React.Component { 3 | state = { 4 | value: 'asdf' 5 | } 6 | 7 | onChange(event) { 8 | this.setState({ value: event.target.value }); 9 | } 10 | 11 | render() { 12 | const { value } = this.state; 13 | 14 | return ( 15 |
16 | 17 |

Value: {value}

18 |
19 | ); 20 | } 21 | } 22 | `.trim(); 23 | -------------------------------------------------------------------------------- /fixtures/dom/src/components/fixtures/mouse-events/index.js: -------------------------------------------------------------------------------- 1 | import FixtureSet from '../../FixtureSet'; 2 | import MouseMovement from './mouse-movement'; 3 | import MouseEnter from './mouse-enter'; 4 | 5 | const React = window.React; 6 | 7 | class MouseEvents extends React.Component { 8 | render() { 9 | return ( 10 | 11 | 12 | 13 | 14 | ); 15 | } 16 | } 17 | 18 | export default MouseEvents; 19 | -------------------------------------------------------------------------------- /fixtures/dom/src/components/propTypes.js: -------------------------------------------------------------------------------- 1 | import PropTypes from 'prop-types'; 2 | import semver from 'semver'; 3 | 4 | export function semverString(props, propName, componentName) { 5 | let version = props[propName]; 6 | 7 | let error = PropTypes.string(...arguments); 8 | if (!error && version != null && !semver.valid(version)) 9 | error = new Error( 10 | `\`${propName}\` should be a valid "semantic version" matching ` + 11 | 'an existing React version' 12 | ); 13 | 14 | return error || null; 15 | } 16 | -------------------------------------------------------------------------------- /fixtures/dom/src/index.js: -------------------------------------------------------------------------------- 1 | import './polyfills'; 2 | import loadReact from './react-loader'; 3 | 4 | loadReact() 5 | .then(() => import('./components/App')) 6 | .then(App => { 7 | const {React, ReactDOM} = window; 8 | 9 | ReactDOM.render( 10 | React.createElement(App.default), 11 | document.getElementById('root') 12 | ); 13 | }); 14 | -------------------------------------------------------------------------------- /fixtures/eslint/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | "parserOptions": { 4 | "ecmaVersion": 8, 5 | "sourceType": "module", 6 | "ecmaFeatures": { 7 | "jsx": true 8 | } 9 | }, 10 | "plugins": ["react-hooks"], 11 | "rules": { 12 | "react-hooks/rules-of-hooks": 2, 13 | "react-hooks/exhaustive-deps": 2 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /fixtures/eslint/README.md: -------------------------------------------------------------------------------- 1 | # ESLint Playground Fixture 2 | 3 | This is an internal playground for quick iteration on our lint rules inside an IDE like VSCode. 4 | 5 | See instructions in `./index.js` in this directory. 6 | 7 | ![Demo](https://duaw26jehqd4r.cloudfront.net/items/2Z390a31003O0l0o0e3O/Screen%20Recording%202019-01-16%20at%2010.29%20PM.gif?v=d6856125) -------------------------------------------------------------------------------- /fixtures/eslint/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "name": "eslint-playground", 4 | "dependencies": { 5 | "eslint": "4.1.0", 6 | "eslint-plugin-react-hooks": "link:./proxy" 7 | }, 8 | "scripts": { 9 | "start": "./watch.sh", 10 | "lint": "eslint index.js" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /fixtures/eslint/proxy/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "version": "0.0.0" 4 | } -------------------------------------------------------------------------------- /fixtures/eslint/watch.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | (cd ../.. && yarn build eslint --type=NODE_DEV) 3 | (cd ../.. && watchman-make --make 'yarn build eslint --type=NODE_DEV' -p 'packages/eslint-plugin-*/**/*' -t ignored) 4 | -------------------------------------------------------------------------------- /fixtures/expiration/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | 6 | # testing 7 | /coverage 8 | 9 | # production 10 | /build 11 | 12 | # misc 13 | .DS_Store 14 | .env.local 15 | .env.development.local 16 | .env.test.local 17 | .env.production.local 18 | 19 | npm-debug.log* 20 | yarn-debug.log* 21 | yarn-error.log* 22 | 23 | public/react.development.js 24 | public/react-dom.development.js -------------------------------------------------------------------------------- /fixtures/fiber-debugger/.env: -------------------------------------------------------------------------------- 1 | NODE_PATH=../../build/packages -------------------------------------------------------------------------------- /fixtures/fiber-debugger/.gitignore: -------------------------------------------------------------------------------- 1 | # See http://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | node_modules 5 | 6 | # testing 7 | coverage 8 | 9 | # production 10 | build 11 | 12 | # misc 13 | .DS_Store 14 | npm-debug.log 15 | -------------------------------------------------------------------------------- /fixtures/fiber-debugger/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "react-fiber-debugger", 3 | "version": "0.0.1", 4 | "private": true, 5 | "devDependencies": { 6 | "react-scripts": "0.9.5" 7 | }, 8 | "dependencies": { 9 | "dagre": "^0.7.4", 10 | "pretty-format": "^4.2.1", 11 | "react-draggable": "^2.2.6", 12 | "react-motion": "^0.5.0" 13 | }, 14 | "scripts": { 15 | "start": "react-scripts start", 16 | "build": "react-scripts build" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /fixtures/fiber-debugger/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Honest0/react/2f6a5364d070c30c20f435de9399d667b89dc767/fixtures/fiber-debugger/public/favicon.ico -------------------------------------------------------------------------------- /fixtures/fiber-debugger/public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | React App 9 | 10 | 11 |
12 | 13 | 14 | -------------------------------------------------------------------------------- /fixtures/fiber-debugger/src/index.css: -------------------------------------------------------------------------------- 1 | html, body { 2 | margin: 0; 3 | padding: 0; 4 | font-family: sans-serif; 5 | height: 100vh; 6 | cursor: -webkit-grab; cursor: -moz-grab; 7 | } 8 | 9 | #root { 10 | height: 100vh; 11 | } 12 | 13 | * { 14 | box-sizing: border-box; 15 | } -------------------------------------------------------------------------------- /fixtures/fiber-debugger/src/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ReactDOM from 'react-dom'; 3 | import App from './App'; 4 | import './index.css'; 5 | 6 | ReactDOM.render(, document.getElementById('root')); 7 | -------------------------------------------------------------------------------- /fixtures/fizz/src/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | */ 8 | 9 | import {hydrateRoot} from 'react-dom/client'; 10 | import App from './App'; 11 | 12 | hydrateRoot(document, ); 13 | -------------------------------------------------------------------------------- /fixtures/flight/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # production 12 | /build 13 | /dist 14 | .eslintcache 15 | 16 | # misc 17 | .DS_Store 18 | .env.local 19 | .env.development.local 20 | .env.test.local 21 | .env.production.local 22 | 23 | npm-debug.log* 24 | yarn-debug.log* 25 | yarn-error.log* 26 | -------------------------------------------------------------------------------- /fixtures/flight/config/jest/cssTransform.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | // This is a custom Jest transformer turning style imports into empty objects. 4 | // http://facebook.github.io/jest/docs/en/webpack.html 5 | 6 | module.exports = { 7 | process() { 8 | return 'module.exports = {};'; 9 | }, 10 | getCacheKey() { 11 | // The output is always the same. 12 | return 'cssTransform'; 13 | }, 14 | }; 15 | -------------------------------------------------------------------------------- /fixtures/flight/config/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "commonjs" 3 | } 4 | -------------------------------------------------------------------------------- /fixtures/flight/config/webpack/persistentCache/createEnvironmentHash.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const {createHash} = require('crypto'); 3 | 4 | module.exports = env => { 5 | const hash = createHash('md5'); 6 | hash.update(JSON.stringify(env)); 7 | 8 | return hash.digest('hex'); 9 | }; 10 | -------------------------------------------------------------------------------- /fixtures/flight/loader/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "module" 3 | } 4 | -------------------------------------------------------------------------------- /fixtures/flight/public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Flight 7 | 8 | 9 |
10 | 11 | 12 | -------------------------------------------------------------------------------- /fixtures/flight/scripts/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "commonjs" 3 | } 4 | -------------------------------------------------------------------------------- /fixtures/flight/server/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "commonjs", 3 | "main": "./cli.server.js" 4 | } 5 | -------------------------------------------------------------------------------- /fixtures/flight/src/Container.js: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | 3 | export default function Container({children}) { 4 | return
{children}
; 5 | } 6 | -------------------------------------------------------------------------------- /fixtures/flight/src/Counter.client.js: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | 3 | import Container from './Container.js'; 4 | 5 | export function Counter() { 6 | const [count, setCount] = React.useState(0); 7 | return ( 8 | 9 | 10 | 11 | ); 12 | } 13 | -------------------------------------------------------------------------------- /fixtures/flight/src/Counter2.client.js: -------------------------------------------------------------------------------- 1 | export * from './Counter.client.js'; 2 | -------------------------------------------------------------------------------- /fixtures/flight/src/ShowMore.client.js: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | 3 | import Container from './Container.js'; 4 | 5 | export default function ShowMore({children}) { 6 | const [show, setShow] = React.useState(false); 7 | if (!show) { 8 | return ; 9 | } 10 | return {children}; 11 | } 12 | -------------------------------------------------------------------------------- /fixtures/flight/src/index.js: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import {Suspense} from 'react'; 3 | import ReactDOM from 'react-dom/client'; 4 | import ReactServerDOMReader from 'react-server-dom-webpack/client'; 5 | 6 | let data = ReactServerDOMReader.createFromFetch(fetch('http://localhost:3001')); 7 | 8 | function Content() { 9 | return React.use(data); 10 | } 11 | 12 | ReactDOM.createRoot(document.getElementById('root')).render( 13 | Loading...}> 14 | 15 | 16 | ); 17 | -------------------------------------------------------------------------------- /fixtures/legacy-jsx-runtimes/README.md: -------------------------------------------------------------------------------- 1 | # Legacy JSX Runtimes 2 | 3 | This is an internal testing fixture for the special JSX runtime versions released for 0.14, 15, and 16. 4 | 5 | They are checked into the corresponding `react-*/cjs/*` folders. 6 | 7 | Run the full regression suite: 8 | 9 | ``` 10 | yarn 11 | yarn test 12 | ``` 13 | -------------------------------------------------------------------------------- /fixtures/legacy-jsx-runtimes/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | [ 4 | '@babel/react', 5 | { 6 | runtime: 'automatic', 7 | development: process.env.BABEL_ENV === 'development', 8 | }, 9 | ], 10 | ], 11 | plugins: ['@babel/plugin-transform-modules-commonjs'], 12 | }; 13 | -------------------------------------------------------------------------------- /fixtures/legacy-jsx-runtimes/react-14/jsx-dev-runtime.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react-jsx-dev-runtime.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/react-jsx-dev-runtime.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /fixtures/legacy-jsx-runtimes/react-14/jsx-runtime.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react-jsx-runtime.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/react-jsx-runtime.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /fixtures/legacy-jsx-runtimes/react-14/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "react": "0.14", 4 | "react-dom": "0.14" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /fixtures/legacy-jsx-runtimes/react-15/jsx-dev-runtime.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react-jsx-dev-runtime.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/react-jsx-dev-runtime.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /fixtures/legacy-jsx-runtimes/react-15/jsx-runtime.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react-jsx-runtime.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/react-jsx-runtime.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /fixtures/legacy-jsx-runtimes/react-15/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "react": "15", 4 | "react-dom": "15" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /fixtures/legacy-jsx-runtimes/react-16/jsx-dev-runtime.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react-jsx-dev-runtime.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/react-jsx-dev-runtime.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /fixtures/legacy-jsx-runtimes/react-16/jsx-runtime.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react-jsx-runtime.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/react-jsx-runtime.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /fixtures/legacy-jsx-runtimes/react-16/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "prop-types": "^15.7.2", 4 | "react": "16", 5 | "react-dom": "16" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /fixtures/legacy-jsx-runtimes/react-17/jsx-dev-runtime.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react-jsx-dev-runtime.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/react-jsx-dev-runtime.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /fixtures/legacy-jsx-runtimes/react-17/jsx-runtime.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react-jsx-runtime.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/react-jsx-runtime.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /fixtures/legacy-jsx-runtimes/react-17/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "prop-types": "^15.7.2", 4 | "react": "17.0.0-rc.3", 5 | "react-dom": "17.0.0-rc.3" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /fixtures/nesting/.env: -------------------------------------------------------------------------------- 1 | EXTEND_ESLINT=true 2 | SKIP_PREFLIGHT_CHECK=true 3 | -------------------------------------------------------------------------------- /fixtures/nesting/.eslintignore: -------------------------------------------------------------------------------- 1 | src/*/node_modules 2 | -------------------------------------------------------------------------------- /fixtures/nesting/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # production 12 | /build 13 | 14 | # misc 15 | .DS_Store 16 | .env.local 17 | .env.development.local 18 | .env.test.local 19 | .env.production.local 20 | 21 | npm-debug.log* 22 | yarn-debug.log* 23 | yarn-error.log* 24 | 25 | # copies of shared 26 | src/*/shared 27 | src/*/node_modules 28 | -------------------------------------------------------------------------------- /fixtures/nesting/public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | React App 7 | 8 | 9 | 10 |
11 | 12 | 13 | -------------------------------------------------------------------------------- /fixtures/nesting/src/index.js: -------------------------------------------------------------------------------- 1 | import './modern/index'; 2 | -------------------------------------------------------------------------------- /fixtures/nesting/src/legacy/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "name": "react-nesting-example-legacy", 4 | "dependencies": { 5 | "react": "16.8", 6 | "react-dom": "16.8", 7 | "react-redux": "4.4.10", 8 | "react-router-dom": "5.2.0" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /fixtures/nesting/src/modern/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import {StrictMode} from 'react'; 3 | import ReactDOM from 'react-dom'; 4 | import {Provider} from 'react-redux'; 5 | import App from './App'; 6 | import {store} from '../store'; 7 | 8 | ReactDOM.render( 9 | 10 | 11 | 12 | 13 | , 14 | document.getElementById('root') 15 | ); 16 | -------------------------------------------------------------------------------- /fixtures/nesting/src/modern/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "name": "react-nesting-example-modern", 4 | "dependencies": { 5 | "react": "0.0.0-3d0895557", 6 | "react-dom": "0.0.0-3d0895557", 7 | "react-redux": "7.2.1", 8 | "react-router-dom": "5.2.0" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /fixtures/nesting/src/shared/Clock.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | import useTime from './useTime'; 4 | 5 | export default function Clock() { 6 | const time = useTime(); 7 | return

Time: {time}

; 8 | } 9 | -------------------------------------------------------------------------------- /fixtures/nesting/src/shared/ThemeContext.js: -------------------------------------------------------------------------------- 1 | import {createContext} from 'react'; 2 | 3 | const ThemeContext = createContext(null); 4 | 5 | export default ThemeContext; 6 | -------------------------------------------------------------------------------- /fixtures/nesting/src/shared/useTime.js: -------------------------------------------------------------------------------- 1 | import {useState, useEffect} from 'react'; 2 | 3 | export default function useTimer() { 4 | const [value, setValue] = useState(() => new Date()); 5 | useEffect(() => { 6 | const id = setInterval(() => { 7 | setValue(new Date()); 8 | }, 1000); 9 | return () => clearInterval(id); 10 | }, []); 11 | return value.toLocaleTimeString(); 12 | } 13 | -------------------------------------------------------------------------------- /fixtures/nesting/src/store.js: -------------------------------------------------------------------------------- 1 | import {createStore} from 'redux'; 2 | 3 | function reducer(state = 0, action) { 4 | switch (action.type) { 5 | case 'increment': 6 | return state + 1; 7 | default: 8 | return state; 9 | } 10 | } 11 | 12 | // Because this file is declared above both Modern and Legacy folders, 13 | // we can import this from either folder without duplicating the object. 14 | export const store = createStore(reducer); 15 | -------------------------------------------------------------------------------- /fixtures/packaging/browserify/dev/.gitignore: -------------------------------------------------------------------------------- 1 | output.js 2 | -------------------------------------------------------------------------------- /fixtures/packaging/browserify/dev/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 6 | -------------------------------------------------------------------------------- /fixtures/packaging/browserify/dev/input.js: -------------------------------------------------------------------------------- 1 | var React = require('react'); 2 | var ReactDOM = require('react-dom'); 3 | 4 | ReactDOM.render( 5 | React.createElement('h1', null, 'Hello World!'), 6 | document.getElementById('container') 7 | ); 8 | -------------------------------------------------------------------------------- /fixtures/packaging/browserify/dev/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "name": "browserify-dev-fixture", 4 | "dependencies": { 5 | "browserify": "^13.3.0" 6 | }, 7 | "scripts": { 8 | "build": "rm -f output.js && browserify ./input.js -o output.js", 9 | "prebuild": "cp -r ../../../../build/node_modules/* ./node_modules/" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /fixtures/packaging/browserify/prod/.gitignore: -------------------------------------------------------------------------------- 1 | output.js 2 | -------------------------------------------------------------------------------- /fixtures/packaging/browserify/prod/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 6 | -------------------------------------------------------------------------------- /fixtures/packaging/browserify/prod/input.js: -------------------------------------------------------------------------------- 1 | var React = require('react'); 2 | var ReactDOM = require('react-dom'); 3 | 4 | ReactDOM.render( 5 | React.createElement('h1', null, 'Hello World!'), 6 | document.getElementById('container') 7 | ); 8 | -------------------------------------------------------------------------------- /fixtures/packaging/browserify/prod/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "name": "browserify-prod-fixture", 4 | "dependencies": { 5 | "browserify": "^13.3.0" 6 | }, 7 | "scripts": { 8 | "build": "rm -f output.js && browserify ./input.js -g [envify --NODE_ENV 'production'] -o output.js", 9 | "prebuild": "cp -r ../../../../build/node_modules/* ./node_modules/" 10 | }, 11 | "devDependencies": { 12 | "envify": "^4.0.0" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /fixtures/packaging/brunch/dev/.gitignore: -------------------------------------------------------------------------------- 1 | output.js 2 | output.js.map -------------------------------------------------------------------------------- /fixtures/packaging/brunch/dev/app/initialize.js: -------------------------------------------------------------------------------- 1 | var React = require('react'); 2 | var ReactDOM = require('react-dom'); 3 | 4 | ReactDOM.render( 5 | React.createElement('h1', null, 'Hello World!'), 6 | document.getElementById('container') 7 | ); 8 | -------------------------------------------------------------------------------- /fixtures/packaging/brunch/dev/config.js: -------------------------------------------------------------------------------- 1 | exports.config = { 2 | paths: { 3 | public: '.', 4 | }, 5 | files: { 6 | javascripts: { 7 | joinTo: 'output.js', 8 | }, 9 | }, 10 | }; 11 | -------------------------------------------------------------------------------- /fixtures/packaging/brunch/dev/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /fixtures/packaging/brunch/dev/input.js: -------------------------------------------------------------------------------- 1 | var React = require('react'); 2 | var ReactDOM = require('react-dom'); 3 | 4 | ReactDOM.render( 5 | React.createElement('h1', null, 'Hello World!'), 6 | document.getElementById('container') 7 | ); 8 | -------------------------------------------------------------------------------- /fixtures/packaging/brunch/dev/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "name": "brunch-dev-fixture", 4 | "devDependencies": { 5 | "brunch": "^2.9.1", 6 | "javascript-brunch": "^2.0.0" 7 | }, 8 | "scripts": { 9 | "build": "rm -rf public && brunch build", 10 | "prebuild": "cp -r ../../../../build/node_modules/* ./node_modules/" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /fixtures/packaging/brunch/prod/.gitignore: -------------------------------------------------------------------------------- 1 | output.js 2 | output.js.map -------------------------------------------------------------------------------- /fixtures/packaging/brunch/prod/app/initialize.js: -------------------------------------------------------------------------------- 1 | var React = require('react'); 2 | var ReactDOM = require('react-dom'); 3 | 4 | ReactDOM.render( 5 | React.createElement('h1', null, 'Hello World!'), 6 | document.getElementById('container') 7 | ); 8 | -------------------------------------------------------------------------------- /fixtures/packaging/brunch/prod/config.js: -------------------------------------------------------------------------------- 1 | exports.config = { 2 | paths: { 3 | public: '.', 4 | }, 5 | files: { 6 | javascripts: { 7 | joinTo: 'output.js', 8 | }, 9 | }, 10 | }; 11 | -------------------------------------------------------------------------------- /fixtures/packaging/brunch/prod/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /fixtures/packaging/brunch/prod/input.js: -------------------------------------------------------------------------------- 1 | var React = require('react'); 2 | var ReactDOM = require('react-dom'); 3 | 4 | ReactDOM.render( 5 | React.createElement('h1', null, 'Hello World!'), 6 | document.getElementById('container') 7 | ); 8 | -------------------------------------------------------------------------------- /fixtures/packaging/brunch/prod/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "name": "brunch-prod-fixture", 4 | "devDependencies": { 5 | "brunch": "^2.9.1", 6 | "javascript-brunch": "^2.0.0" 7 | }, 8 | "scripts": { 9 | "build": "rm -rf public && brunch build -p", 10 | "prebuild": "cp -r ../../../../build/node_modules/* ./node_modules/" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /fixtures/packaging/globals/dev.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |
6 | 12 | 13 | -------------------------------------------------------------------------------- /fixtures/packaging/globals/prod.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |
6 | 12 | 13 | -------------------------------------------------------------------------------- /fixtures/packaging/rjs/dev/.gitignore: -------------------------------------------------------------------------------- 1 | output.js -------------------------------------------------------------------------------- /fixtures/packaging/rjs/dev/config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | baseUrl: '.', 3 | name: 'input', 4 | out: 'output.js', 5 | optimize: 'none', 6 | paths: { 7 | react: '../../../../build/node_modules/react/umd/react.development', 8 | 'react-dom': 9 | '../../../../build/node_modules/react-dom/umd/react-dom.development', 10 | schedule: 11 | '../../../../build/node_modules/scheduler/umd/schedule.development', 12 | }, 13 | }; 14 | -------------------------------------------------------------------------------- /fixtures/packaging/rjs/dev/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /fixtures/packaging/rjs/dev/input.js: -------------------------------------------------------------------------------- 1 | require(['react', 'react-dom'], function(React, ReactDOM) { 2 | ReactDOM.render( 3 | React.createElement('h1', null, 'Hello World!'), 4 | document.getElementById('container') 5 | ); 6 | }); 7 | -------------------------------------------------------------------------------- /fixtures/packaging/rjs/dev/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "name": "rjs-dev-fixture", 4 | "dependencies": { 5 | "requirejs": "^2.3.2" 6 | }, 7 | "scripts": { 8 | "build": "rm -f output.js && r.js -o config.js" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /fixtures/packaging/rjs/dev/yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | requirejs@^2.3.2: 6 | version "2.3.5" 7 | resolved "https://registry.yarnpkg.com/requirejs/-/requirejs-2.3.5.tgz#617b9acbbcb336540ef4914d790323a8d4b861b0" 8 | -------------------------------------------------------------------------------- /fixtures/packaging/rjs/prod/.gitignore: -------------------------------------------------------------------------------- 1 | output.js -------------------------------------------------------------------------------- /fixtures/packaging/rjs/prod/config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | baseUrl: '.', 3 | name: 'input', 4 | out: 'output.js', 5 | optimize: 'none', 6 | paths: { 7 | react: '../../../../build/node_modules/react/umd/react.production.min', 8 | 'react-dom': 9 | '../../../../build/node_modules/react-dom/umd/react-dom.production.min', 10 | schedule: 11 | '../../../../build/node_modules/scheduler/umd/schedule.development', 12 | }, 13 | }; 14 | -------------------------------------------------------------------------------- /fixtures/packaging/rjs/prod/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /fixtures/packaging/rjs/prod/input.js: -------------------------------------------------------------------------------- 1 | require(['react', 'react-dom'], function(React, ReactDOM) { 2 | ReactDOM.render( 3 | React.createElement('h1', null, 'Hello World!'), 4 | document.getElementById('container') 5 | ); 6 | }); 7 | -------------------------------------------------------------------------------- /fixtures/packaging/rjs/prod/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "name": "rjs-prod-fixture", 4 | "dependencies": { 5 | "requirejs": "^2.3.2" 6 | }, 7 | "scripts": { 8 | "build": "rm -f output.js && r.js -o config.js" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /fixtures/packaging/rjs/prod/yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | requirejs@^2.3.2: 6 | version "2.3.5" 7 | resolved "https://registry.yarnpkg.com/requirejs/-/requirejs-2.3.5.tgz#617b9acbbcb336540ef4914d790323a8d4b861b0" 8 | -------------------------------------------------------------------------------- /fixtures/packaging/systemjs-builder/dev/.gitignore: -------------------------------------------------------------------------------- 1 | output.js -------------------------------------------------------------------------------- /fixtures/packaging/systemjs-builder/dev/build.js: -------------------------------------------------------------------------------- 1 | var Builder = require('systemjs-builder'); 2 | 3 | var builder = new Builder('/', './config.js'); 4 | builder 5 | .buildStatic('./input.js', './output.js') 6 | .then(function() { 7 | console.log('Build complete'); 8 | }) 9 | .catch(function(err) { 10 | console.log('Build error'); 11 | console.log(err); 12 | }); 13 | -------------------------------------------------------------------------------- /fixtures/packaging/systemjs-builder/dev/config.js: -------------------------------------------------------------------------------- 1 | System.config({ 2 | paths: { 3 | react: '../../../../build/node_modules/react/umd/react.development.js', 4 | 'react-dom': 5 | '../../../../build/node_modules/react-dom/umd/react-dom.development.js', 6 | schedule: 7 | '../../../../build/node_modules/scheduler/umd/schedule.development', 8 | }, 9 | }); 10 | -------------------------------------------------------------------------------- /fixtures/packaging/systemjs-builder/dev/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 6 | -------------------------------------------------------------------------------- /fixtures/packaging/systemjs-builder/dev/input.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ReactDOM from 'react-dom'; 3 | 4 | ReactDOM.render( 5 | React.createElement('h1', null, 'Hello World!'), 6 | document.getElementById('container') 7 | ); 8 | -------------------------------------------------------------------------------- /fixtures/packaging/systemjs-builder/dev/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "name": "systemjs-dev-fixture", 4 | "dependencies": { 5 | "systemjs-builder": "^0.15.34" 6 | }, 7 | "scripts": { 8 | "build": "rm -f output.js && node build.js" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /fixtures/packaging/systemjs-builder/prod/.gitignore: -------------------------------------------------------------------------------- 1 | output.js -------------------------------------------------------------------------------- /fixtures/packaging/systemjs-builder/prod/build.js: -------------------------------------------------------------------------------- 1 | var Builder = require('systemjs-builder'); 2 | 3 | var builder = new Builder('/', './config.js'); 4 | builder 5 | .buildStatic('./input.js', './output.js') 6 | .then(function() { 7 | console.log('Build complete'); 8 | }) 9 | .catch(function(err) { 10 | console.log('Build error'); 11 | console.log(err); 12 | }); 13 | -------------------------------------------------------------------------------- /fixtures/packaging/systemjs-builder/prod/config.js: -------------------------------------------------------------------------------- 1 | System.config({ 2 | paths: { 3 | react: '../../../../build/node_modules/react/umd/react.production.min.js', 4 | 'react-dom': 5 | '../../../../build/node_modules/react-dom/umd/react-dom.production.min.js', 6 | schedule: 7 | '../../../../build/node_modules/scheduler/umd/schedule.development', 8 | }, 9 | }); 10 | -------------------------------------------------------------------------------- /fixtures/packaging/systemjs-builder/prod/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 6 | -------------------------------------------------------------------------------- /fixtures/packaging/systemjs-builder/prod/input.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ReactDOM from 'react-dom'; 3 | 4 | ReactDOM.render( 5 | React.createElement('h1', null, 'Hello World!'), 6 | document.getElementById('container') 7 | ); 8 | -------------------------------------------------------------------------------- /fixtures/packaging/systemjs-builder/prod/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "name": "systemjs-prod-fixture", 4 | "dependencies": { 5 | "systemjs-builder": "^0.15.34" 6 | }, 7 | "scripts": { 8 | "build": "rm -f output.js && node build.js" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /fixtures/packaging/webpack-alias/dev/.gitignore: -------------------------------------------------------------------------------- 1 | output.js -------------------------------------------------------------------------------- /fixtures/packaging/webpack-alias/dev/config.js: -------------------------------------------------------------------------------- 1 | var path = require('path'); 2 | 3 | module.exports = { 4 | entry: './input', 5 | output: { 6 | filename: 'output.js', 7 | }, 8 | resolve: { 9 | root: path.resolve('../../../../build/node_modules'), 10 | alias: { 11 | react: 'react/umd/react.development', 12 | 'react-dom': 'react-dom/umd/react-dom.development', 13 | }, 14 | }, 15 | }; 16 | -------------------------------------------------------------------------------- /fixtures/packaging/webpack-alias/dev/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 6 | -------------------------------------------------------------------------------- /fixtures/packaging/webpack-alias/dev/input.js: -------------------------------------------------------------------------------- 1 | var React = require('react'); 2 | var ReactDOM = require('react-dom'); 3 | 4 | ReactDOM.render( 5 | React.createElement('h1', null, 'Hello World!'), 6 | document.getElementById('container') 7 | ); 8 | -------------------------------------------------------------------------------- /fixtures/packaging/webpack-alias/dev/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "name": "webpack-alias-dev-fixture", 4 | "dependencies": { 5 | "webpack": "^1.14.0" 6 | }, 7 | "scripts": { 8 | "build": "rm -f output.js && webpack --config config.js" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /fixtures/packaging/webpack-alias/prod/.gitignore: -------------------------------------------------------------------------------- 1 | output.js -------------------------------------------------------------------------------- /fixtures/packaging/webpack-alias/prod/config.js: -------------------------------------------------------------------------------- 1 | var path = require('path'); 2 | 3 | module.exports = { 4 | entry: './input', 5 | output: { 6 | filename: 'output.js', 7 | }, 8 | resolve: { 9 | root: path.resolve('../../../../build/node_modules'), 10 | alias: { 11 | react: 'react/umd/react.production.min', 12 | 'react-dom': 'react-dom/umd/react-dom.production.min', 13 | }, 14 | }, 15 | }; 16 | -------------------------------------------------------------------------------- /fixtures/packaging/webpack-alias/prod/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 6 | -------------------------------------------------------------------------------- /fixtures/packaging/webpack-alias/prod/input.js: -------------------------------------------------------------------------------- 1 | var React = require('react'); 2 | var ReactDOM = require('react-dom'); 3 | 4 | ReactDOM.render( 5 | React.createElement('h1', null, 'Hello World!'), 6 | document.getElementById('container') 7 | ); 8 | -------------------------------------------------------------------------------- /fixtures/packaging/webpack-alias/prod/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "name": "webpack-alias-prod-fixture", 4 | "dependencies": { 5 | "webpack": "^1.14.0" 6 | }, 7 | "scripts": { 8 | "build": "rm -f output.js && webpack --config config.js" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /fixtures/packaging/webpack/dev/.gitignore: -------------------------------------------------------------------------------- 1 | output.js -------------------------------------------------------------------------------- /fixtures/packaging/webpack/dev/config.js: -------------------------------------------------------------------------------- 1 | var path = require('path'); 2 | 3 | module.exports = { 4 | entry: './input', 5 | output: { 6 | filename: 'output.js', 7 | }, 8 | resolve: { 9 | root: path.resolve('../../../../build/node_modules/'), 10 | }, 11 | }; 12 | -------------------------------------------------------------------------------- /fixtures/packaging/webpack/dev/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 6 | -------------------------------------------------------------------------------- /fixtures/packaging/webpack/dev/input.js: -------------------------------------------------------------------------------- 1 | var React = require('react'); 2 | var ReactDOM = require('react-dom'); 3 | 4 | ReactDOM.render( 5 | React.createElement('h1', null, 'Hello World!'), 6 | document.getElementById('container') 7 | ); 8 | -------------------------------------------------------------------------------- /fixtures/packaging/webpack/dev/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "name": "webpack-dev-fixture", 4 | "dependencies": { 5 | "webpack": "^1.14.0" 6 | }, 7 | "scripts": { 8 | "build": "rm -f output.js && webpack --config config.js" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /fixtures/packaging/webpack/prod/.gitignore: -------------------------------------------------------------------------------- 1 | output.js -------------------------------------------------------------------------------- /fixtures/packaging/webpack/prod/config.js: -------------------------------------------------------------------------------- 1 | var path = require('path'); 2 | var webpack = require('webpack'); 3 | 4 | module.exports = { 5 | entry: './input', 6 | output: { 7 | filename: 'output.js', 8 | }, 9 | resolve: { 10 | root: path.resolve('../../../../build/node_modules/'), 11 | }, 12 | plugins: [ 13 | new webpack.DefinePlugin({ 14 | 'process.env': { 15 | NODE_ENV: JSON.stringify('production'), 16 | }, 17 | }), 18 | ], 19 | }; 20 | -------------------------------------------------------------------------------- /fixtures/packaging/webpack/prod/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 6 | -------------------------------------------------------------------------------- /fixtures/packaging/webpack/prod/input.js: -------------------------------------------------------------------------------- 1 | var React = require('react'); 2 | var ReactDOM = require('react-dom'); 3 | 4 | ReactDOM.render( 5 | React.createElement('h1', null, 'Hello World!'), 6 | document.getElementById('container') 7 | ); 8 | -------------------------------------------------------------------------------- /fixtures/packaging/webpack/prod/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "name": "webpack-prod-fixture", 4 | "dependencies": { 5 | "webpack": "^1.14.0" 6 | }, 7 | "scripts": { 8 | "build": "rm -f output.js && webpack --config config.js" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /fixtures/ssr/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Honest0/react/2f6a5364d070c30c20f435de9399d667b89dc767/fixtures/ssr/public/favicon.ico -------------------------------------------------------------------------------- /fixtures/ssr/public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /fixtures/ssr/src/components/Page.css: -------------------------------------------------------------------------------- 1 | .link { 2 | font-weight: bold; 3 | cursor: pointer; 4 | } 5 | .light-box { 6 | margin: 10px 0; 7 | padding: 10px; 8 | background-color: #CCCCCC; 9 | color: #333333; 10 | } 11 | .dark-box { 12 | margin: 10px 0; 13 | padding: 10px; 14 | background-color: #333333; 15 | color: #CCCCCC; 16 | } 17 | -------------------------------------------------------------------------------- /fixtures/ssr/src/components/Page2.js: -------------------------------------------------------------------------------- 1 | import React, {useContext} from 'react'; 2 | 3 | import Theme from './Theme'; 4 | import Suspend from './Suspend'; 5 | 6 | import './Page.css'; 7 | 8 | export default function Page2() { 9 | let theme = useContext(Theme); 10 | return ( 11 |
12 | Content of a different page 13 |
14 | ); 15 | } 16 | -------------------------------------------------------------------------------- /fixtures/ssr/src/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import {hydrateRoot} from 'react-dom/client'; 3 | 4 | import App from './components/App'; 5 | 6 | hydrateRoot(document, ); 7 | -------------------------------------------------------------------------------- /fixtures/ssr2/src/Layout.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | */ 8 | 9 | export default function Layout({children}) { 10 | return
{children}
; 11 | } 12 | -------------------------------------------------------------------------------- /fixtures/ssr2/src/NavBar.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | */ 8 | 9 | export default function NavBar() { 10 | return ( 11 | 14 | ); 15 | } 16 | -------------------------------------------------------------------------------- /fixtures/ssr2/src/Spinner.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | */ 8 | 9 | export default function Spinner({active = true}) { 10 | return ( 11 |
16 | ); 17 | } 18 | -------------------------------------------------------------------------------- /fixtures/ssr2/src/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | */ 8 | 9 | import {hydrateRoot} from 'react-dom/client'; 10 | import App from './App'; 11 | 12 | hydrateRoot(document, ); 13 | -------------------------------------------------------------------------------- /fixtures/stacks/babel.config.json: -------------------------------------------------------------------------------- 1 | { 2 | "plugins": [ 3 | ["@babel/plugin-proposal-class-properties", {"loose": false}], 4 | ["@babel/plugin-transform-classes", {"loose": true}] 5 | ] 6 | } 7 | -------------------------------------------------------------------------------- /netlify.toml: -------------------------------------------------------------------------------- 1 | [build] 2 | base = "" 3 | publish = "fixtures/dom/build" 4 | command = "yarn build --type=UMD_DEV && cd fixtures/dom/ && yarn && yarn prestart && yarn build" 5 | 6 | [[redirects]] 7 | from = "/*" 8 | to = "/index.html" 9 | status = 200 10 | -------------------------------------------------------------------------------- /packages/dom-event-testing-library/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "name": "dom-event-testing-library", 4 | "version": "0.0.0" 5 | } 6 | -------------------------------------------------------------------------------- /packages/eslint-plugin-react-hooks/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | export * from './src/index'; 9 | -------------------------------------------------------------------------------- /packages/eslint-plugin-react-hooks/npm/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | // TODO: this doesn't make sense for an ESLint rule. 4 | // We need to fix our build process to not create bundles for "raw" packages like this. 5 | if (process.env.NODE_ENV === 'production') { 6 | module.exports = require('./cjs/eslint-plugin-react-hooks.production.min.js'); 7 | } else { 8 | module.exports = require('./cjs/eslint-plugin-react-hooks.development.js'); 9 | } 10 | -------------------------------------------------------------------------------- /packages/jest-mock-scheduler/README.md: -------------------------------------------------------------------------------- 1 | # `jest-mock-scheduler` 2 | 3 | Jest matchers and utilities for testing the `scheduler` package. 4 | 5 | This package is experimental. APIs may change between releases. -------------------------------------------------------------------------------- /packages/jest-mock-scheduler/npm/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = require('scheduler/unstable_mock'); 4 | -------------------------------------------------------------------------------- /packages/jest-react/README.md: -------------------------------------------------------------------------------- 1 | # `jest-react` 2 | 3 | Jest matchers and utilities for testing React Test Renderer. -------------------------------------------------------------------------------- /packages/jest-react/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | 'use strict'; 9 | 10 | export * from './src/JestReact'; 11 | -------------------------------------------------------------------------------- /packages/jest-react/npm/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/jest-react.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/jest-react.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /packages/react-art/Circle.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export {default} from './npm/Circle'; 11 | -------------------------------------------------------------------------------- /packages/react-art/README.md: -------------------------------------------------------------------------------- 1 | # React ART 2 | 3 | React ART is a JavaScript library for drawing vector graphics using [React](https://github.com/facebook/react/). 4 | 5 | It provides declarative and reactive bindings to the [ART library](https://github.com/sebmarkbage/art/). 6 | 7 | Using the same declarative API you can render the output to either Canvas, SVG or VML (IE8). 8 | -------------------------------------------------------------------------------- /packages/react-art/Rectangle.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export {default} from './npm/Rectangle'; 11 | -------------------------------------------------------------------------------- /packages/react-art/Wedge.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export {default} from './npm/Wedge'; 11 | -------------------------------------------------------------------------------- /packages/react-art/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from './src/ReactART'; 11 | -------------------------------------------------------------------------------- /packages/react-art/npm/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react-art.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/react-art.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /packages/react-cache/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | 'use strict'; 11 | 12 | export * from './src/ReactCacheOld'; 13 | -------------------------------------------------------------------------------- /packages/react-cache/npm/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react-cache.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/react-cache.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /packages/react-cache/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "name": "react-cache", 4 | "description": "A basic cache for React applications", 5 | "version": "2.0.0-alpha.0", 6 | "repository": { 7 | "type" : "git", 8 | "url" : "https://github.com/facebook/react.git", 9 | "directory": "packages/react-cache" 10 | }, 11 | "files": [ 12 | "LICENSE", 13 | "README.md", 14 | "index.js", 15 | "cjs/", 16 | "umd/" 17 | ], 18 | "peerDependencies": { 19 | "react": "^17.0.0" 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /packages/react-client/README.md: -------------------------------------------------------------------------------- 1 | # react-client 2 | 3 | This is an experimental package for consuming custom React streaming models. 4 | 5 | **Its API is not as stable as that of React, React Native, or React DOM, and does not follow the common versioning scheme.** 6 | 7 | **Use it at your own risk.** 8 | -------------------------------------------------------------------------------- /packages/react-client/flight.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from './src/ReactFlightClientStream'; 11 | -------------------------------------------------------------------------------- /packages/react-client/npm/flight.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react-client-flight.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/react-client-flight.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /packages/react-client/src/forks/ReactFlightClientHostConfig.bun.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from 'react-client/src/ReactFlightClientHostConfigBrowser'; 11 | export * from 'react-client/src/ReactFlightClientHostConfigStream'; 12 | export * from 'react-server-dom-webpack/src/ReactFlightClientWebpackBundlerConfig'; 13 | -------------------------------------------------------------------------------- /packages/react-client/src/forks/ReactFlightClientHostConfig.dom-relay.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from 'react-server-dom-relay/src/ReactFlightDOMRelayClientHostConfig'; 11 | export * from '../ReactFlightClientHostConfigNoStream'; 12 | -------------------------------------------------------------------------------- /packages/react-client/src/forks/ReactFlightClientHostConfig.dom.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from 'react-client/src/ReactFlightClientHostConfigBrowser'; 11 | export * from 'react-client/src/ReactFlightClientHostConfigStream'; 12 | export * from 'react-server-dom-webpack/src/ReactFlightClientWebpackBundlerConfig'; 13 | -------------------------------------------------------------------------------- /packages/react-client/src/forks/ReactFlightClientHostConfig.native-relay.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from 'react-server-native-relay/src/ReactFlightNativeRelayClientHostConfig'; 11 | export * from '../ReactFlightClientHostConfigNoStream'; 12 | -------------------------------------------------------------------------------- /packages/react-debug-tools/README.md: -------------------------------------------------------------------------------- 1 | # react-debug-tools 2 | 3 | This is an experimental package for debugging React renderers. 4 | 5 | **Its API is not as stable as that of React, React Native, or React DOM, and does not follow the common versioning scheme.** 6 | 7 | **Use it at your own risk.** 8 | -------------------------------------------------------------------------------- /packages/react-debug-tools/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | export * from './src/ReactDebugTools'; 9 | -------------------------------------------------------------------------------- /packages/react-debug-tools/npm/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react-debug-tools.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/react-debug-tools.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /packages/react-debug-tools/src/ReactDebugTools.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | import {inspectHooks, inspectHooksOfFiber} from './ReactDebugHooks'; 11 | 12 | export {inspectHooks, inspectHooksOfFiber}; 13 | -------------------------------------------------------------------------------- /packages/react-devtools-core/backend.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./dist/backend'); 2 | -------------------------------------------------------------------------------- /packages/react-devtools-core/standalone.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./dist/standalone'); 2 | -------------------------------------------------------------------------------- /packages/react-devtools-extensions/chrome/README.md: -------------------------------------------------------------------------------- 1 | # The Chrome extension 2 | 3 | The source code for this extension has moved to `shells/webextension`. 4 | 5 | Modify the source code there and then rebuild this extension by running `node build` from this directory or `yarn run build:extension:chrome` from the root directory. 6 | 7 | ## Testing in Chrome 8 | 9 | You can test a local build of the web extension like so: 10 | 11 | 1. Build the extension: `node build` 12 | 1. Follow the on-screen instructions. 13 | -------------------------------------------------------------------------------- /packages/react-devtools-extensions/chrome/deploy.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | 'use strict'; 4 | 5 | const deploy = require('../deploy'); 6 | 7 | const main = async () => await deploy('chrome'); 8 | 9 | main(); 10 | -------------------------------------------------------------------------------- /packages/react-devtools-extensions/chrome/now.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "react-devtools-experimental-chrome", 3 | "alias": ["react-devtools-experimental-chrome"], 4 | "files": ["index.html", "ReactDevTools.zip"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/react-devtools-extensions/deploy.chrome.html: -------------------------------------------------------------------------------- 1 |
    2 |
  1. download extension
  2. 3 |
  3. Double-click to extract
  4. 4 |
  5. Navigate to chrome://extensions/
  6. 5 |
  7. Enable "Developer mode"
  8. 6 |
  9. Click "LOAD UNPACKED"
  10. 7 |
  11. Select extracted extension folder (ReactDevTools)
  12. 8 |
-------------------------------------------------------------------------------- /packages/react-devtools-extensions/deploy.edge.html: -------------------------------------------------------------------------------- 1 |
    2 |
  1. download extension
  2. 3 |
  3. Double-click to extract
  4. 4 |
  5. Navigate to edge://extensions/
  6. 5 |
  7. Enable "Developer mode"
  8. 6 |
  9. Click "LOAD UNPACKED"
  10. 7 |
  11. Select extracted extension folder (ReactDevTools)
  12. 8 |
-------------------------------------------------------------------------------- /packages/react-devtools-extensions/deploy.firefox.html: -------------------------------------------------------------------------------- 1 |
    2 |
  1. download extension
  2. 3 |
  3. Extract/unzip
  4. 4 |
  5. Visit about:debugging
  6. 5 |
  7. Click "Load Temporary Add-on"
  8. 6 |
  9. Select the manifest.json file inside of the extracted extension folder (ReactDevTools)
  10. 7 |
-------------------------------------------------------------------------------- /packages/react-devtools-extensions/edge/README.md: -------------------------------------------------------------------------------- 1 | # The Microsoft Edge extension 2 | 3 | The source code for this extension has moved to `shells/webextension`. 4 | 5 | Modify the source code there and then rebuild this extension by running `node build` from this directory or `yarn run build:extension:edge` from the root directory. 6 | 7 | ## Testing in Microsoft Edge 8 | 9 | You can test a local build of the web extension like so: 10 | 11 | 1. Build the extension: `node build` 12 | 1. Follow the on-screen instructions. 13 | -------------------------------------------------------------------------------- /packages/react-devtools-extensions/edge/deploy.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | 'use strict'; 4 | 5 | const deploy = require('../deploy'); 6 | 7 | const main = async () => await deploy('edge'); 8 | 9 | main(); 10 | -------------------------------------------------------------------------------- /packages/react-devtools-extensions/edge/now.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "react-devtools-experimental-edge", 3 | "alias": ["react-devtools-experimental-edge"], 4 | "files": ["index.html", "ReactDevTools.zip"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/react-devtools-extensions/firefox/deploy.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | 'use strict'; 4 | 5 | const deploy = require('../deploy'); 6 | 7 | const main = async () => await deploy('firefox'); 8 | 9 | main(); 10 | -------------------------------------------------------------------------------- /packages/react-devtools-extensions/firefox/now.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "react-devtools-experimental-firefox", 3 | "alias": ["react-devtools-experimental-firefox"], 4 | "files": ["index.html", "ReactDevTools.zip"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/react-devtools-extensions/icons/128-deadcode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Honest0/react/2f6a5364d070c30c20f435de9399d667b89dc767/packages/react-devtools-extensions/icons/128-deadcode.png -------------------------------------------------------------------------------- /packages/react-devtools-extensions/icons/128-development.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Honest0/react/2f6a5364d070c30c20f435de9399d667b89dc767/packages/react-devtools-extensions/icons/128-development.png -------------------------------------------------------------------------------- /packages/react-devtools-extensions/icons/128-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Honest0/react/2f6a5364d070c30c20f435de9399d667b89dc767/packages/react-devtools-extensions/icons/128-disabled.png -------------------------------------------------------------------------------- /packages/react-devtools-extensions/icons/128-outdated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Honest0/react/2f6a5364d070c30c20f435de9399d667b89dc767/packages/react-devtools-extensions/icons/128-outdated.png -------------------------------------------------------------------------------- /packages/react-devtools-extensions/icons/128-production.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Honest0/react/2f6a5364d070c30c20f435de9399d667b89dc767/packages/react-devtools-extensions/icons/128-production.png -------------------------------------------------------------------------------- /packages/react-devtools-extensions/icons/128-restricted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Honest0/react/2f6a5364d070c30c20f435de9399d667b89dc767/packages/react-devtools-extensions/icons/128-restricted.png -------------------------------------------------------------------------------- /packages/react-devtools-extensions/icons/128-unminified.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Honest0/react/2f6a5364d070c30c20f435de9399d667b89dc767/packages/react-devtools-extensions/icons/128-unminified.png -------------------------------------------------------------------------------- /packages/react-devtools-extensions/icons/16-deadcode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Honest0/react/2f6a5364d070c30c20f435de9399d667b89dc767/packages/react-devtools-extensions/icons/16-deadcode.png -------------------------------------------------------------------------------- /packages/react-devtools-extensions/icons/16-development.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Honest0/react/2f6a5364d070c30c20f435de9399d667b89dc767/packages/react-devtools-extensions/icons/16-development.png -------------------------------------------------------------------------------- /packages/react-devtools-extensions/icons/16-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Honest0/react/2f6a5364d070c30c20f435de9399d667b89dc767/packages/react-devtools-extensions/icons/16-disabled.png -------------------------------------------------------------------------------- /packages/react-devtools-extensions/icons/16-outdated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Honest0/react/2f6a5364d070c30c20f435de9399d667b89dc767/packages/react-devtools-extensions/icons/16-outdated.png -------------------------------------------------------------------------------- /packages/react-devtools-extensions/icons/16-production.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Honest0/react/2f6a5364d070c30c20f435de9399d667b89dc767/packages/react-devtools-extensions/icons/16-production.png -------------------------------------------------------------------------------- /packages/react-devtools-extensions/icons/16-restricted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Honest0/react/2f6a5364d070c30c20f435de9399d667b89dc767/packages/react-devtools-extensions/icons/16-restricted.png -------------------------------------------------------------------------------- /packages/react-devtools-extensions/icons/16-unminified.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Honest0/react/2f6a5364d070c30c20f435de9399d667b89dc767/packages/react-devtools-extensions/icons/16-unminified.png -------------------------------------------------------------------------------- /packages/react-devtools-extensions/icons/32-deadcode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Honest0/react/2f6a5364d070c30c20f435de9399d667b89dc767/packages/react-devtools-extensions/icons/32-deadcode.png -------------------------------------------------------------------------------- /packages/react-devtools-extensions/icons/32-development.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Honest0/react/2f6a5364d070c30c20f435de9399d667b89dc767/packages/react-devtools-extensions/icons/32-development.png -------------------------------------------------------------------------------- /packages/react-devtools-extensions/icons/32-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Honest0/react/2f6a5364d070c30c20f435de9399d667b89dc767/packages/react-devtools-extensions/icons/32-disabled.png -------------------------------------------------------------------------------- /packages/react-devtools-extensions/icons/32-outdated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Honest0/react/2f6a5364d070c30c20f435de9399d667b89dc767/packages/react-devtools-extensions/icons/32-outdated.png -------------------------------------------------------------------------------- /packages/react-devtools-extensions/icons/32-production.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Honest0/react/2f6a5364d070c30c20f435de9399d667b89dc767/packages/react-devtools-extensions/icons/32-production.png -------------------------------------------------------------------------------- /packages/react-devtools-extensions/icons/32-restricted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Honest0/react/2f6a5364d070c30c20f435de9399d667b89dc767/packages/react-devtools-extensions/icons/32-restricted.png -------------------------------------------------------------------------------- /packages/react-devtools-extensions/icons/32-unminified.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Honest0/react/2f6a5364d070c30c20f435de9399d667b89dc767/packages/react-devtools-extensions/icons/32-unminified.png -------------------------------------------------------------------------------- /packages/react-devtools-extensions/icons/48-deadcode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Honest0/react/2f6a5364d070c30c20f435de9399d667b89dc767/packages/react-devtools-extensions/icons/48-deadcode.png -------------------------------------------------------------------------------- /packages/react-devtools-extensions/icons/48-development.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Honest0/react/2f6a5364d070c30c20f435de9399d667b89dc767/packages/react-devtools-extensions/icons/48-development.png -------------------------------------------------------------------------------- /packages/react-devtools-extensions/icons/48-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Honest0/react/2f6a5364d070c30c20f435de9399d667b89dc767/packages/react-devtools-extensions/icons/48-disabled.png -------------------------------------------------------------------------------- /packages/react-devtools-extensions/icons/48-outdated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Honest0/react/2f6a5364d070c30c20f435de9399d667b89dc767/packages/react-devtools-extensions/icons/48-outdated.png -------------------------------------------------------------------------------- /packages/react-devtools-extensions/icons/48-production.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Honest0/react/2f6a5364d070c30c20f435de9399d667b89dc767/packages/react-devtools-extensions/icons/48-production.png -------------------------------------------------------------------------------- /packages/react-devtools-extensions/icons/48-restricted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Honest0/react/2f6a5364d070c30c20f435de9399d667b89dc767/packages/react-devtools-extensions/icons/48-restricted.png -------------------------------------------------------------------------------- /packages/react-devtools-extensions/icons/48-unminified.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Honest0/react/2f6a5364d070c30c20f435de9399d667b89dc767/packages/react-devtools-extensions/icons/48-unminified.png -------------------------------------------------------------------------------- /packages/react-devtools-extensions/main.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /packages/react-devtools-extensions/popups/production.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 13 |

14 | This page is using the production build of React. ✅ 15 |
16 | Open the developer tools, and "Components" and "Profiler" tabs will appear to the right. 17 |

18 | -------------------------------------------------------------------------------- /packages/react-devtools-extensions/popups/restricted.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 |

11 | This is a restricted browser page. 12 |
13 | React devtools cannot access this page. 14 |

15 | -------------------------------------------------------------------------------- /packages/react-devtools-extensions/popups/shared.css: -------------------------------------------------------------------------------- 1 | html, body { 2 | font-size: 14px; 3 | } 4 | 5 | body { 6 | margin: 8px; 7 | } -------------------------------------------------------------------------------- /packages/react-devtools-inline/backend.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./dist/backend'); 2 | -------------------------------------------------------------------------------- /packages/react-devtools-inline/frontend.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./dist/frontend'); 2 | -------------------------------------------------------------------------------- /packages/react-devtools-inline/hookNames.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./dist/hookNames'); 2 | -------------------------------------------------------------------------------- /packages/react-devtools-inline/src/hookNames.js: -------------------------------------------------------------------------------- 1 | /** @flow */ 2 | 3 | import { 4 | parseHookNames, 5 | parseSourceAndMetadata, 6 | purgeCachedMetadata, 7 | } from 'react-devtools-shared/src/hooks/parseHookNames'; 8 | 9 | export {parseHookNames, parseSourceAndMetadata, purgeCachedMetadata}; 10 | -------------------------------------------------------------------------------- /packages/react-devtools-shared/README.md: -------------------------------------------------------------------------------- 1 | This directory contains code shared between several DevTools packages: 2 | * /packages/react-devtools-core 3 | * /packages/react-devtools-extensions 4 | * /packages/react-devtools-inline 5 | 6 | It is not published or released anywhere directly. -------------------------------------------------------------------------------- /packages/react-devtools-shared/src/__tests__/__mocks__/cssMock.js: -------------------------------------------------------------------------------- 1 | module.exports = {}; 2 | -------------------------------------------------------------------------------- /packages/react-devtools-shared/src/devtools/ContextMenu/ContextMenu.css: -------------------------------------------------------------------------------- 1 | .ContextMenu { 2 | position: absolute; 3 | background-color: var(--color-context-background); 4 | box-shadow: 1px 1px 2px var(--color-shadow); 5 | border-radius: 0.25rem; 6 | overflow: hidden; 7 | z-index: 10000002; 8 | user-select: none; 9 | } -------------------------------------------------------------------------------- /packages/react-devtools-shared/src/devtools/views/ButtonIcon.css: -------------------------------------------------------------------------------- 1 | .ButtonIcon { 2 | width: 1rem; 3 | height: 1rem; 4 | fill: currentColor; 5 | } 6 | -------------------------------------------------------------------------------- /packages/react-devtools-shared/src/devtools/views/Components/EditableName.css: -------------------------------------------------------------------------------- 1 | .Input { 2 | flex: 0 1 auto; 3 | box-shadow: 0px 1px 3px transparent; 4 | color: var(--color-text); 5 | } 6 | .Input:focus { 7 | color: var(--color-text); 8 | box-shadow: 0px 1px 3px var(--color-shadow); 9 | } -------------------------------------------------------------------------------- /packages/react-devtools-shared/src/devtools/views/Components/ExpandCollapseToggle.css: -------------------------------------------------------------------------------- 1 | .ExpandCollapseToggle { 2 | flex: 0 0 1rem; 3 | width: 1rem; 4 | height: 1rem; 5 | padding: 0; 6 | color: var(--color-expand-collapse-toggle); 7 | } 8 | -------------------------------------------------------------------------------- /packages/react-devtools-shared/src/devtools/views/Components/HocBadges.css: -------------------------------------------------------------------------------- 1 | .HocBadges { 2 | padding: 0.125rem 0.25rem; 3 | user-select: none; 4 | } 5 | 6 | .Badge { 7 | display: inline-block; 8 | background-color: var(--color-component-badge-background); 9 | color: var(--color-text); 10 | padding: 0.125rem 0.25rem; 11 | line-height: normal; 12 | border-radius: 0.125rem; 13 | margin-right: 0.25rem; 14 | font-family: var(--font-family-monospace); 15 | font-size: var(--font-size-monospace-small); 16 | } 17 | -------------------------------------------------------------------------------- /packages/react-devtools-shared/src/devtools/views/Components/InspectedElementErrorBoundary.css: -------------------------------------------------------------------------------- 1 | .Wrapper { 2 | height: 100%; 3 | } -------------------------------------------------------------------------------- /packages/react-devtools-shared/src/devtools/views/Components/InspectedElementStyleXPlugin.css: -------------------------------------------------------------------------------- 1 | .Source { 2 | color: var(--color-dim); 3 | margin-left: 1rem; 4 | overflow: auto; 5 | text-overflow: ellipsis; 6 | } -------------------------------------------------------------------------------- /packages/react-devtools-shared/src/devtools/views/Components/LoadingAnimation.css: -------------------------------------------------------------------------------- 1 | .Icon { 2 | width: 1rem; 3 | height: 1rem; 4 | fill: currentColor; 5 | } 6 | -------------------------------------------------------------------------------- /packages/react-devtools-shared/src/devtools/views/Components/NativeStyleEditor/AutoSizeInput.css: -------------------------------------------------------------------------------- 1 | .Input { 2 | min-width: 0.5rem; 3 | flex: 1 1 auto; 4 | border: none; 5 | background: transparent; 6 | outline: none; 7 | padding: 0; 8 | border: none; 9 | font-family: var(--font-family-monospace); 10 | font-size: var(--font-size-monospace-normal); 11 | } 12 | 13 | .Input:focus { 14 | border-color: var(--color-border); 15 | } 16 | -------------------------------------------------------------------------------- /packages/react-devtools-shared/src/devtools/views/Components/NewArrayValue.css: -------------------------------------------------------------------------------- 1 | .NewArrayValue { 2 | white-space: nowrap; 3 | display: flex; 4 | align-items: center; 5 | } 6 | 7 | .EditableName { 8 | margin-left: 1rem; 9 | } 10 | 11 | .Invalid { 12 | background-color: var(--color-background-invalid); 13 | color: var(--color-text-invalid) !important; 14 | } 15 | 16 | .Input:focus, 17 | .Invalid:focus { 18 | background-color: var(--color-button-background-focus); 19 | } -------------------------------------------------------------------------------- /packages/react-devtools-shared/src/devtools/views/Components/NewKeyValue.css: -------------------------------------------------------------------------------- 1 | .NewKeyValue { 2 | white-space: nowrap; 3 | display: flex; 4 | align-items: center; 5 | } 6 | 7 | .EditableName { 8 | margin-left: 1rem; 9 | } 10 | 11 | .EditableValue { 12 | min-width: 1rem; 13 | } 14 | -------------------------------------------------------------------------------- /packages/react-devtools-shared/src/devtools/views/Components/SelectedTreeHighlight.css: -------------------------------------------------------------------------------- 1 | .Active, 2 | .Inactive { 3 | position: absolute; 4 | left: 0; 5 | width: 100%; 6 | z-index: 0; 7 | pointer-events: none; 8 | } 9 | 10 | .Active { 11 | background-color: var(--color-selected-tree-highlight-active); 12 | } 13 | 14 | .Inactive { 15 | background-color: var(--color-selected-tree-highlight-inactive); 16 | } 17 | -------------------------------------------------------------------------------- /packages/react-devtools-shared/src/devtools/views/Components/constants.js: -------------------------------------------------------------------------------- 1 | export const PROTOCOLS_SUPPORTED_AS_LINKS_IN_KEY_VALUE = [ 2 | 'file:///', 3 | 'http://', 4 | 'https://', 5 | 'vscode://', 6 | ]; 7 | -------------------------------------------------------------------------------- /packages/react-devtools-shared/src/devtools/views/Components/reach-ui/Tooltip.css: -------------------------------------------------------------------------------- 1 | .Tooltip { 2 | border: none; 3 | border-radius: 0.25rem; 4 | padding: 0.25rem 0.5rem; 5 | font-family: var(--font-family-sans); 6 | font-size: 12px; 7 | background-color: var(--color-tooltip-background); 8 | color: var(--color-tooltip-text); 9 | box-shadow: 1px 1px 2px var(--color-shadow); 10 | 11 | /* Make sure this is above the DevTools, which are above the Overlay */ 12 | z-index: 10000002; 13 | } 14 | -------------------------------------------------------------------------------- /packages/react-devtools-shared/src/devtools/views/ErrorBoundary/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | import ErrorBoundary from './ErrorBoundary'; 11 | 12 | export default ErrorBoundary; 13 | -------------------------------------------------------------------------------- /packages/react-devtools-shared/src/devtools/views/Icon.css: -------------------------------------------------------------------------------- 1 | .Icon { 2 | width: 1rem; 3 | height: 1rem; 4 | fill: currentColor; 5 | } 6 | -------------------------------------------------------------------------------- /packages/react-devtools-shared/src/devtools/views/Profiler/CommitFlamegraph.css: -------------------------------------------------------------------------------- 1 | .Container { 2 | width: 100%; 3 | flex: 1; 4 | padding: 0.5rem; 5 | } 6 | 7 | .PatternPath { 8 | stroke: var(--color-commit-did-not-render-pattern); 9 | stroke-width: 1; 10 | } 11 | -------------------------------------------------------------------------------- /packages/react-devtools-shared/src/devtools/views/Profiler/CommitRanked.css: -------------------------------------------------------------------------------- 1 | .Container { 2 | width: 100%; 3 | flex: 1; 4 | padding: 0.5rem; 5 | } 6 | -------------------------------------------------------------------------------- /packages/react-devtools-shared/src/devtools/views/Profiler/NoCommitData.css: -------------------------------------------------------------------------------- 1 | .NoCommitData { 2 | width: 100%; 3 | height: 100%; 4 | display: flex; 5 | flex-direction: column; 6 | align-items: center; 7 | justify-content: center; 8 | } 9 | 10 | .Header { 11 | font-size: var(--font-size-sans-large); 12 | margin-bottom: 0.5rem; 13 | } 14 | 15 | .FilterMessage { 16 | display: flex; 17 | align-items: center; 18 | } 19 | -------------------------------------------------------------------------------- /packages/react-devtools-shared/src/devtools/views/Profiler/RootSelector.css: -------------------------------------------------------------------------------- 1 | .Spacer { 2 | flex: 1; 3 | } 4 | -------------------------------------------------------------------------------- /packages/react-devtools-shared/src/devtools/views/Profiler/constants.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export const barWidthThreshold = 2; 11 | export const maxBarWidth = 30; 12 | export const minBarWidth = 5; 13 | -------------------------------------------------------------------------------- /packages/react-devtools-shared/src/devtools/views/ReactLogo.css: -------------------------------------------------------------------------------- 1 | .ReactLogo { 2 | width: 1.75rem; 3 | height: 1.75rem; 4 | margin: 0 0.75rem 0 0.25rem; 5 | color: var(--color-button-active); 6 | } 7 | -------------------------------------------------------------------------------- /packages/react-devtools-shared/src/devtools/views/UnsupportedVersionDialog.css: -------------------------------------------------------------------------------- 1 | .Row { 2 | display: flex; 3 | flex-direction: row; 4 | align-items: center; 5 | } 6 | 7 | .Column { 8 | display: flex; 9 | flex-direction: column; 10 | align-items: center; 11 | } 12 | 13 | .Title { 14 | font-size: var(--font-size-sans-large); 15 | margin-bottom: 0.5rem; 16 | } 17 | 18 | .ReleaseNotesLink { 19 | color: var(--color-button-active); 20 | } -------------------------------------------------------------------------------- /packages/react-devtools-shared/src/devtools/views/WarnIfLegacyBackendDetected.css: -------------------------------------------------------------------------------- 1 | .Command { 2 | background-color: var(--color-dimmest); 3 | padding: 0.25rem 0.5rem; 4 | display: block; 5 | border-radius: 0.125rem; 6 | } 7 | -------------------------------------------------------------------------------- /packages/react-devtools-shared/src/devtools/views/root.css: -------------------------------------------------------------------------------- 1 | :root { 2 | /* Font smoothing */ 3 | --font-smoothing: auto; 4 | 5 | /* GitHub.com system fonts */ 6 | --font-family-monospace: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, 7 | Courier, monospace; 8 | --font-family-sans: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, 9 | Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol; 10 | } 11 | -------------------------------------------------------------------------------- /packages/react-devtools-shared/src/hooks/__tests__/__source__/ComponentWithExternalCustomHooks.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | import React from 'react'; 11 | import useTheme from './useTheme'; 12 | 13 | export function Component() { 14 | const theme = useTheme(); 15 | 16 | return
theme: {theme}
; 17 | } 18 | -------------------------------------------------------------------------------- /packages/react-devtools-shared/src/hooks/__tests__/__source__/InlineRequire.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export function Component() { 11 | const [count] = require('react').useState(0); 12 | 13 | return count; 14 | } 15 | -------------------------------------------------------------------------------- /packages/react-devtools-shared/src/hooks/__tests__/__source__/README.md: -------------------------------------------------------------------------------- 1 | The JavaScript files and source maps in this directory are used to test DevTools hook name parsing code. The files here use source maps in different formats to mirror real world applications. The source for the files is located in the parent `__tests__` folder. To regenerate these compiled files, run `yarn update-mock-source-maps` in the `react-devtools-extensions` directory. 2 | -------------------------------------------------------------------------------- /packages/react-devtools-shared/src/hooks/__tests__/__source__/__untransformed__/README.md: -------------------------------------------------------------------------------- 1 | The JavaScript source files in this directory are not linted or pre-processed in any way. This is intentional, since they are used by the `parseHookNames-test` to test the behavior of "uncompiled" JavaScript (without source maps). -------------------------------------------------------------------------------- /packages/react-devtools-shared/src/hooks/__tests__/__source__/__untransformed__/useCustom.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | const {useEffect} = require('react'); 11 | 12 | function useCustom() { 13 | useEffect(() => { 14 | // ... 15 | }, []); 16 | } 17 | 18 | module.exports = {useCustom}; -------------------------------------------------------------------------------- /packages/react-devtools-shared/src/isArray.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | const isArray = Array.isArray; 11 | 12 | export default isArray; 13 | -------------------------------------------------------------------------------- /packages/react-devtools-shared/src/node_modules/react-window/dist/index.cjs.js.flow: -------------------------------------------------------------------------------- 1 | // @flow 2 | 3 | export * from '../src'; 4 | -------------------------------------------------------------------------------- /packages/react-devtools-shared/src/node_modules/react-window/dist/index.esm.js.flow: -------------------------------------------------------------------------------- 1 | // @flow 2 | 3 | export * from '../src'; 4 | -------------------------------------------------------------------------------- /packages/react-devtools-shared/src/node_modules/react-window/src/index.js: -------------------------------------------------------------------------------- 1 | // @flow 2 | 3 | export { default as VariableSizeGrid } from './VariableSizeGrid'; 4 | export { default as VariableSizeList } from './VariableSizeList'; 5 | export { default as FixedSizeGrid } from './FixedSizeGrid'; 6 | export { default as FixedSizeList } from './FixedSizeList'; 7 | 8 | export { default as areEqual } from './areEqual'; 9 | export { default as shouldComponentUpdate } from './shouldComponentUpdate'; 10 | -------------------------------------------------------------------------------- /packages/react-devtools-shell/src/app/InspectableElements/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | import InspectableElements from './InspectableElements'; 11 | 12 | export default InspectableElements; 13 | -------------------------------------------------------------------------------- /packages/react-devtools-shell/src/app/ToDoList/List.css: -------------------------------------------------------------------------------- 1 | .Input { 2 | font-size: 1rem; 3 | padding: 0.25rem; 4 | } 5 | 6 | .IconButton { 7 | padding: 0.25rem; 8 | border: none; 9 | background: none; 10 | cursor: pointer; 11 | } 12 | 13 | .List { 14 | margin: 0.5rem 0 0; 15 | padding: 0; 16 | } 17 | -------------------------------------------------------------------------------- /packages/react-devtools-shell/src/app/ToDoList/ListItem.css: -------------------------------------------------------------------------------- 1 | .ListItem { 2 | list-style-type: none; 3 | } 4 | 5 | .Input { 6 | cursor: pointer; 7 | } 8 | 9 | .Label { 10 | cursor: pointer; 11 | padding: 0.25rem; 12 | color: #555; 13 | } 14 | .Label:hover { 15 | color: #000; 16 | } 17 | 18 | .IconButton { 19 | padding: 0.25rem; 20 | border: none; 21 | background: none; 22 | cursor: pointer; 23 | } 24 | -------------------------------------------------------------------------------- /packages/react-devtools-shell/src/app/ToDoList/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | import List from './List'; 11 | 12 | export default List; 13 | -------------------------------------------------------------------------------- /packages/react-devtools-shell/src/app/styles.css: -------------------------------------------------------------------------------- 1 | body { 2 | /* GitHub.com frontend fonts */ 3 | font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, 4 | sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol; 5 | font-size: 14px; 6 | line-height: 1.5; 7 | } 8 | 9 | h1 { 10 | font-size: 1.5rem; 11 | font-weight: bold; 12 | margin-bottom: 0.5rem; 13 | } 14 | -------------------------------------------------------------------------------- /packages/react-devtools-shell/src/perf-regression/apps/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | import * as React from 'react'; 11 | import LargeSubtree from './LargeSubtree'; 12 | 13 | export default function Home(): React.Node { 14 | return ( 15 |
16 | 17 |
18 | ); 19 | } 20 | -------------------------------------------------------------------------------- /packages/react-devtools-timeline/README.md: -------------------------------------------------------------------------------- 1 | # React Concurrent Mode Profiler 2 | 3 | This package contains the new/experimental "timeline" for React 18. This profiler exists as its own project because it was initially deployed as a standalone app. It has since been moved into the DevTools Profiler under the "Scheduling" tab. This package will likely eventually be moved into `react-devtools-shared`. -------------------------------------------------------------------------------- /packages/react-devtools-timeline/src/CanvasPage.css: -------------------------------------------------------------------------------- 1 | .CanvasPage { 2 | position: absolute; 3 | top: 0; 4 | bottom: 0; 5 | left: 0; 6 | right: 0; 7 | } 8 | -------------------------------------------------------------------------------- /packages/react-devtools-timeline/src/import-worker/InvalidProfileError.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | /** 11 | * An error thrown when an invalid profile could not be processed. 12 | */ 13 | export default class InvalidProfileError extends Error {} 14 | -------------------------------------------------------------------------------- /packages/react-devtools-timeline/src/import-worker/importFile.worker.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | import * as importFileModule from './importFile'; 9 | 10 | export const importFile = importFileModule.importFile; 11 | -------------------------------------------------------------------------------- /packages/react-devtools-timeline/src/utils/flow.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | import type {SchedulingEvent} from '../types'; 10 | 11 | export function isStateUpdateEvent(event: SchedulingEvent): boolean %checks { 12 | return event.type === 'schedule-state-update'; 13 | } 14 | -------------------------------------------------------------------------------- /packages/react-devtools-timeline/src/view-base/constants.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export const MOVE_WHEEL_DELTA_THRESHOLD = 1; 11 | export const ZOOM_WHEEL_DELTA_THRESHOLD = 1; 12 | export const MIN_ZOOM_LEVEL = 0.25; 13 | export const MAX_ZOOM_LEVEL = 1000; 14 | export const DEFAULT_ZOOM_LEVEL = 0.25; 15 | -------------------------------------------------------------------------------- /packages/react-devtools-timeline/src/view-base/resizable/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from './ResizableView'; 11 | export * from './ResizeBarView'; 12 | -------------------------------------------------------------------------------- /packages/react-devtools-timeline/src/view-base/vertical-scroll-overflow/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from './VerticalScrollBarView'; 11 | export * from './VerticalScrollOverflowView'; 12 | -------------------------------------------------------------------------------- /packages/react-devtools/icons/icon128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Honest0/react/2f6a5364d070c30c20f435de9399d667b89dc767/packages/react-devtools/icons/icon128.png -------------------------------------------------------------------------------- /packages/react-devtools/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | const {connectToDevTools} = require('react-devtools-core/backend'); 11 | 12 | // Connect immediately with default options. 13 | // If you need more control, use `react-devtools-core` directly instead of `react-devtools`. 14 | connectToDevTools(); 15 | -------------------------------------------------------------------------------- /packages/react-dom-bindings/src/events/PluginModuleType.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export type AnyNativeEvent = Event | KeyboardEvent | MouseEvent | TouchEvent; 11 | 12 | export type PluginName = string; 13 | 14 | export type EventSystemFlags = number; 15 | -------------------------------------------------------------------------------- /packages/react-dom-bindings/src/server/fizz-instruction-set/ReactDOMFizzInlineClientRenderBoundary.js: -------------------------------------------------------------------------------- 1 | import {clientRenderBoundary} from './ReactDOMFizzInstructionSetInlineSource'; 2 | 3 | // This is a string so Closure's advanced compilation mode doesn't mangle it. 4 | // eslint-disable-next-line dot-notation 5 | window['$RX'] = clientRenderBoundary; 6 | -------------------------------------------------------------------------------- /packages/react-dom-bindings/src/server/fizz-instruction-set/ReactDOMFizzInlineCompleteBoundary.js: -------------------------------------------------------------------------------- 1 | import {completeBoundary} from './ReactDOMFizzInstructionSetInlineSource'; 2 | 3 | // This is a string so Closure's advanced compilation mode doesn't mangle it. 4 | // eslint-disable-next-line dot-notation 5 | window['$RC'] = completeBoundary; 6 | -------------------------------------------------------------------------------- /packages/react-dom-bindings/src/server/fizz-instruction-set/ReactDOMFizzInlineCompleteBoundaryWithStyles.js: -------------------------------------------------------------------------------- 1 | import {completeBoundaryWithStyles} from './ReactDOMFizzInstructionSetInlineSource'; 2 | 3 | // This is a string so Closure's advanced compilation mode doesn't mangle it. 4 | // eslint-disable-next-line dot-notation 5 | window['$RM'] = new Map(); 6 | // eslint-disable-next-line dot-notation 7 | window['$RR'] = completeBoundaryWithStyles; 8 | -------------------------------------------------------------------------------- /packages/react-dom-bindings/src/server/fizz-instruction-set/ReactDOMFizzInlineCompleteSegment.js: -------------------------------------------------------------------------------- 1 | import {completeSegment} from './ReactDOMFizzInstructionSetInlineSource'; 2 | 3 | // This is a string so Closure's advanced compilation mode doesn't mangle it. 4 | // eslint-disable-next-line dot-notation 5 | window['$RS'] = completeSegment; 6 | -------------------------------------------------------------------------------- /packages/react-dom-bindings/src/shared/ReactDOMDispatcher.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | type DispatcherType = { 11 | [string]: mixed, 12 | }; 13 | 14 | const Dispatcher: {current: null | DispatcherType} = { 15 | current: null, 16 | }; 17 | 18 | export default Dispatcher; 19 | -------------------------------------------------------------------------------- /packages/react-dom/npm/server-rendering-stub.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react-dom-server-rendering-stub.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/react-dom-server-rendering-stub.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /packages/react-dom/npm/server.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = require('./server.node'); 4 | -------------------------------------------------------------------------------- /packages/react-dom/npm/static.browser.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react-dom-static.browser.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/react-dom-static.browser.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /packages/react-dom/npm/static.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = require('./static.node'); 4 | -------------------------------------------------------------------------------- /packages/react-dom/npm/static.node.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react-dom-static.node.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/react-dom-static.node.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /packages/react-dom/npm/test-utils.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react-dom-test-utils.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/react-dom-test-utils.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /packages/react-dom/server.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from './server.node'; 11 | -------------------------------------------------------------------------------- /packages/react-dom/static.browser.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export {prerender, version} from './src/server/ReactDOMFizzStaticBrowser'; 11 | -------------------------------------------------------------------------------- /packages/react-dom/static.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from './static.node'; 11 | -------------------------------------------------------------------------------- /packages/react-dom/static.node.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export { 11 | prerenderToNodeStreams, 12 | version, 13 | } from './src/server/ReactDOMFizzStaticNode'; 14 | -------------------------------------------------------------------------------- /packages/react-dom/test-utils.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from './src/test-utils/ReactTestUtils'; 11 | -------------------------------------------------------------------------------- /packages/react-dom/unstable_server-external-runtime.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from 'react-dom-bindings/src/server/ReactDOMServerExternalRuntime'; 11 | -------------------------------------------------------------------------------- /packages/react-dom/unstable_testing.stable.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from './index.stable.js'; 11 | -------------------------------------------------------------------------------- /packages/react-interactions/README.md: -------------------------------------------------------------------------------- 1 | # `react-interactions` 2 | 3 | This package is experimental. It is intended for use with the experimental React 4 | flags for internal testing. -------------------------------------------------------------------------------- /packages/react-interactions/events/focus.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from './src/dom/create-event-handle/Focus'; 11 | -------------------------------------------------------------------------------- /packages/react-interactions/npm/drag.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react-interactions-events/drag.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/react-interactions-events/drag.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /packages/react-interactions/npm/focus.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react-interactions-events/focus.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/react-interactions-events/focus.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /packages/react-interactions/npm/hover.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react-interactions-events/hover.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/react-interactions-events/hover.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /packages/react-interactions/npm/input.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react-interactions-events/input.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/react-interactions-events/input.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /packages/react-interactions/npm/press-legacy.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react-interactions-events/press-legacy.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/react-interactions-events/press-legacy.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /packages/react-interactions/npm/press.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react-interactions-events/press.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/react-interactions-events/press.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /packages/react-interactions/npm/scroll.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react-interactions-events/scroll.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/react-interactions-events/scroll.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /packages/react-interactions/npm/swipe.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react-interactions-events/swipe.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/react-interactions-events/swipe.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /packages/react-interactions/npm/tap.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react-interactions-events/tap.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/react-interactions-events/tap.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /packages/react-is/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | 'use strict'; 11 | 12 | export * from './src/ReactIs'; 13 | -------------------------------------------------------------------------------- /packages/react-is/npm/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react-is.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/react-is.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /packages/react-native-renderer/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "react-native-renderer", 3 | "version": "16.0.0", 4 | "private": true, 5 | "repository": { 6 | "type" : "git", 7 | "url" : "https://github.com/facebook/react.git", 8 | "directory": "packages/react-native-renderer" 9 | }, 10 | "dependencies": { 11 | "scheduler": "^0.11.0" 12 | }, 13 | "peerDependencies": { 14 | "react": "^17.0.0" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /packages/react-native-renderer/src/ReactNativeEventPluginOrder.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | const ReactNativeEventPluginOrder = [ 11 | 'ResponderEventPlugin', 12 | 'ReactNativeBridgeEventPlugin', 13 | ]; 14 | 15 | export default ReactNativeEventPluginOrder; 16 | -------------------------------------------------------------------------------- /packages/react-native-renderer/src/__mocks__/react-native/Libraries/ReactPrivate/BatchedBridge.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | 'use strict'; 9 | 10 | const BatchedBridge = { 11 | registerCallableModule: jest.fn(), 12 | }; 13 | 14 | module.exports = BatchedBridge; 15 | -------------------------------------------------------------------------------- /packages/react-native-renderer/src/__mocks__/react-native/Libraries/ReactPrivate/ExceptionsManager.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | 'use strict'; 9 | 10 | module.exports = { 11 | handleException: jest.fn(), 12 | }; 13 | -------------------------------------------------------------------------------- /packages/react-native-renderer/src/__mocks__/react-native/Libraries/ReactPrivate/Platform.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 'use strict'; 8 | 9 | module.exports = { 10 | OS: 'ios', 11 | }; 12 | -------------------------------------------------------------------------------- /packages/react-native-renderer/src/__mocks__/react-native/Libraries/ReactPrivate/RCTEventEmitter.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | 'use strict'; 9 | 10 | const RCTEventEmitter = { 11 | register: jest.fn(), 12 | }; 13 | 14 | module.exports = RCTEventEmitter; 15 | -------------------------------------------------------------------------------- /packages/react-native-renderer/src/__mocks__/react-native/Libraries/ReactPrivate/ReactFiberErrorDialog.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow strict 8 | */ 9 | 10 | module.exports = { 11 | showErrorDialog: jest.fn(), 12 | }; 13 | -------------------------------------------------------------------------------- /packages/react-native-renderer/src/__mocks__/react-native/Libraries/ReactPrivate/ReactNativePrivateInitializeCore.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow strict 8 | */ 9 | 10 | 'use strict'; 11 | 12 | // Noop 13 | 14 | // TODO #10932517: Move all initialization callers back into react-native 15 | 16 | -------------------------------------------------------------------------------- /packages/react-native-renderer/src/__mocks__/react-native/Libraries/ReactPrivate/deepFreezeAndThrowOnMutationInDev.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | 'use strict'; 9 | 10 | // TODO: move into react or fbjs 11 | 12 | const deepFreezeAndThrowOnMutationInDev = function() {}; 13 | 14 | module.exports = deepFreezeAndThrowOnMutationInDev; 15 | -------------------------------------------------------------------------------- /packages/react-native-renderer/src/__mocks__/react-native/Libraries/ReactPrivate/flattenStyle.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | 'use strict'; 9 | 10 | // TODO: Move flattenStyle into react 11 | 12 | const flattenStyle = function() {}; 13 | 14 | module.exports = flattenStyle; 15 | -------------------------------------------------------------------------------- /packages/react-native-renderer/src/__mocks__/react-native/Libraries/ReactPrivate/legacySendAccessibilityEvent.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | 'use strict'; 9 | 10 | module.exports = jest.fn(); 11 | -------------------------------------------------------------------------------- /packages/react-native-renderer/src/__tests__/__snapshots__/ReactNativeEvents-test.internal.js.snap: -------------------------------------------------------------------------------- 1 | // Jest Snapshot v1, https://goo.gl/fbAQLP 2 | 3 | exports[`fails if unknown/unsupported event types are dispatched 1`] = ` 4 | " {} 5 | View null" 6 | `; 7 | 8 | exports[`handles events 1`] = ` 9 | " {} 10 | View {\\"foo\\":\\"outer\\"} 11 | View {\\"foo\\":\\"inner\\"}" 12 | `; 13 | -------------------------------------------------------------------------------- /packages/react-native-renderer/src/legacy-events/PropagationPhases.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export type PropagationPhases = 'bubbled' | 'captured'; 11 | -------------------------------------------------------------------------------- /packages/react-noop-renderer/README.md: -------------------------------------------------------------------------------- 1 | # `react-noop-renderer` 2 | 3 | This package is the renderer we use for debugging [Fiber](https://github.com/facebook/react/issues/6170). 4 | It is not intended to be used directly. 5 | -------------------------------------------------------------------------------- /packages/react-noop-renderer/flight-client.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from './src/ReactNoopFlightClient'; 11 | -------------------------------------------------------------------------------- /packages/react-noop-renderer/flight-server.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from './src/ReactNoopFlightServer'; 11 | -------------------------------------------------------------------------------- /packages/react-noop-renderer/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from './src/ReactNoop'; 11 | -------------------------------------------------------------------------------- /packages/react-noop-renderer/npm/flight-client.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react-noop-renderer-flight-client.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/react-noop-renderer-flight-client.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /packages/react-noop-renderer/npm/flight-server.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react-noop-renderer-flight-server.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/react-noop-renderer-flight-server.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /packages/react-noop-renderer/npm/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react-noop-renderer.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/react-noop-renderer.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /packages/react-noop-renderer/npm/persistent.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react-noop-renderer-persistent.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/react-noop-renderer-persistent.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /packages/react-noop-renderer/npm/server.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react-noop-renderer-server.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/react-noop-renderer-server.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /packages/react-noop-renderer/persistent.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from './src/ReactNoopPersistent'; 11 | -------------------------------------------------------------------------------- /packages/react-noop-renderer/server.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from './src/ReactNoopServer'; 11 | -------------------------------------------------------------------------------- /packages/react-reconciler/constants.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | 'use strict'; 11 | 12 | export * from './src/ReactReconcilerConstants'; 13 | -------------------------------------------------------------------------------- /packages/react-reconciler/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from './src/ReactFiberReconciler'; 11 | -------------------------------------------------------------------------------- /packages/react-reconciler/npm/constants.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react-reconciler-constants.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/react-reconciler-constants.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /packages/react-reconciler/npm/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react-reconciler.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/react-reconciler.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /packages/react-reconciler/npm/reflection.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react-reconciler-reflection.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/react-reconciler-reflection.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /packages/react-reconciler/reflection.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | 'use strict'; 11 | 12 | export * from './src/ReactFiberTreeReflection'; 13 | -------------------------------------------------------------------------------- /packages/react-reconciler/src/MaxInts.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | // Max 31 bit integer. The max integer size in V8 for 32-bit systems. 11 | // Math.pow(2, 30) - 1 12 | // 0b111111111111111111111111111111 13 | export const MAX_SIGNED_31_BIT_INT = 1073741823; 14 | -------------------------------------------------------------------------------- /packages/react-reconciler/src/ReactRootTags.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export type RootTag = 0 | 1; 11 | 12 | export const LegacyRoot = 0; 13 | export const ConcurrentRoot = 1; 14 | -------------------------------------------------------------------------------- /packages/react-reconciler/src/__mocks__/scheduler/tracing.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | // This placeholder is to support a legacy/regression test in ReactFresh-test. 11 | // Without this mock, jest.mock('scheduler/tracing') throws. 12 | -------------------------------------------------------------------------------- /packages/react-reconciler/src/__tests__/__snapshots__/ReactHooks-test.internal.js.snap: -------------------------------------------------------------------------------- 1 | // Jest Snapshot v1, https://goo.gl/fbAQLP 2 | 3 | exports[`ReactHooks works with ReactDOMServer calls inside a component 1`] = `"

hello

0

bye

"`; 4 | -------------------------------------------------------------------------------- /packages/react-reconciler/src/forks/ReactFiberHostConfig.art.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from 'react-art/src/ReactARTHostConfig'; 11 | -------------------------------------------------------------------------------- /packages/react-reconciler/src/forks/ReactFiberHostConfig.bun.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from 'react-dom-bindings/src/client/ReactDOMHostConfig'; 11 | -------------------------------------------------------------------------------- /packages/react-reconciler/src/forks/ReactFiberHostConfig.dom-browser.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from 'react-dom-bindings/src/client/ReactDOMHostConfig'; 11 | -------------------------------------------------------------------------------- /packages/react-reconciler/src/forks/ReactFiberHostConfig.dom-legacy.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from 'react-dom-bindings/src/client/ReactDOMHostConfig'; 11 | -------------------------------------------------------------------------------- /packages/react-reconciler/src/forks/ReactFiberHostConfig.dom-relay.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from 'react-dom-bindings/src/client/ReactDOMHostConfig'; 11 | -------------------------------------------------------------------------------- /packages/react-reconciler/src/forks/ReactFiberHostConfig.dom.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from 'react-dom-bindings/src/client/ReactDOMHostConfig'; 11 | -------------------------------------------------------------------------------- /packages/react-reconciler/src/forks/ReactFiberHostConfig.fabric.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from 'react-native-renderer/src/ReactFabricHostConfig'; 11 | -------------------------------------------------------------------------------- /packages/react-reconciler/src/forks/ReactFiberHostConfig.native-relay.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from 'react-native-renderer/src/ReactFabricHostConfig'; 11 | -------------------------------------------------------------------------------- /packages/react-reconciler/src/forks/ReactFiberHostConfig.native.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from 'react-native-renderer/src/ReactNativeHostConfig'; 11 | -------------------------------------------------------------------------------- /packages/react-reconciler/src/forks/ReactFiberHostConfig.test.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from 'react-test-renderer/src/ReactTestHostConfig'; 11 | -------------------------------------------------------------------------------- /packages/react-refresh/babel.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | export {default} from './src/ReactFreshBabelPlugin'; 9 | -------------------------------------------------------------------------------- /packages/react-refresh/npm/babel.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react-refresh-babel.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/react-refresh-babel.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /packages/react-refresh/npm/runtime.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react-refresh-runtime.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/react-refresh-runtime.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /packages/react-refresh/runtime.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | export * from './src/ReactFreshRuntime'; 9 | -------------------------------------------------------------------------------- /packages/react-server-dom-relay/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from './src/ReactFlightDOMRelayClient'; 11 | -------------------------------------------------------------------------------- /packages/react-server-dom-relay/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "react-server-dom-relay", 3 | "version": "0.1.0", 4 | "private": true, 5 | "repository": { 6 | "type" : "git", 7 | "url" : "https://github.com/facebook/react.git", 8 | "directory": "packages/react-server-dom-relay" 9 | }, 10 | "dependencies": { 11 | "scheduler": "^0.11.0" 12 | }, 13 | "peerDependencies": { 14 | "react": "^17.0.0", 15 | "react-dom": "^17.0.0" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /packages/react-server-dom-relay/server.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from './src/ReactFlightDOMRelayServer'; 11 | -------------------------------------------------------------------------------- /packages/react-server-dom-webpack/README.md: -------------------------------------------------------------------------------- 1 | # react-server-dom-webpack 2 | 3 | Experimental React Flight bindings for DOM using Webpack. 4 | 5 | **Use it at your own risk.** 6 | -------------------------------------------------------------------------------- /packages/react-server-dom-webpack/client.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from './src/ReactFlightDOMClient'; 11 | -------------------------------------------------------------------------------- /packages/react-server-dom-webpack/esm/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "module" 3 | } 4 | -------------------------------------------------------------------------------- /packages/react-server-dom-webpack/esm/react-server-dom-webpack-node-loader.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from '../src/ReactFlightWebpackNodeLoader.js'; 11 | -------------------------------------------------------------------------------- /packages/react-server-dom-webpack/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | throw new Error('Use react-server-dom-webpack/client instead.'); 11 | -------------------------------------------------------------------------------- /packages/react-server-dom-webpack/node-register.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | module.exports = require('./src/ReactFlightWebpackNodeRegister'); 11 | -------------------------------------------------------------------------------- /packages/react-server-dom-webpack/npm/client.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react-server-dom-webpack-client.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/react-server-dom-webpack-client.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /packages/react-server-dom-webpack/npm/esm/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "module" 3 | } 4 | -------------------------------------------------------------------------------- /packages/react-server-dom-webpack/npm/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | 'use strict'; 11 | 12 | throw new Error('Use react-server-dom-webpack/client instead.'); 13 | -------------------------------------------------------------------------------- /packages/react-server-dom-webpack/npm/node-register.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = require('./cjs/react-server-dom-webpack-node-register.js'); 4 | -------------------------------------------------------------------------------- /packages/react-server-dom-webpack/npm/plugin.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = require('./cjs/react-server-dom-webpack-plugin.js'); 4 | -------------------------------------------------------------------------------- /packages/react-server-dom-webpack/npm/server.browser.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react-server-dom-webpack-server.browser.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/react-server-dom-webpack-server.browser.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /packages/react-server-dom-webpack/npm/server.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | throw new Error( 4 | 'The React Server Writer cannot be used outside a react-server environment. ' + 5 | 'You must configure Node.js using the `--conditions react-server` flag.' 6 | ); 7 | -------------------------------------------------------------------------------- /packages/react-server-dom-webpack/npm/server.node.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react-server-dom-webpack-server.node.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/react-server-dom-webpack-server.node.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /packages/react-server-dom-webpack/plugin.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export {default} from './src/ReactFlightWebpackPlugin'; 11 | -------------------------------------------------------------------------------- /packages/react-server-dom-webpack/server.browser.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from './src/ReactFlightDOMServerBrowser'; 11 | -------------------------------------------------------------------------------- /packages/react-server-dom-webpack/server.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | throw new Error( 11 | 'The React Server cannot be used outside a react-server environment. ' + 12 | 'You must configure Node.js using the `--conditions react-server` flag.', 13 | ); 14 | -------------------------------------------------------------------------------- /packages/react-server-dom-webpack/server.node.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from './src/ReactFlightDOMServerNode'; 11 | -------------------------------------------------------------------------------- /packages/react-server-native-relay/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from './src/ReactFlightNativeRelayClient'; 11 | -------------------------------------------------------------------------------- /packages/react-server-native-relay/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "react-server-native-relay", 3 | "version": "0.1.0", 4 | "private": true, 5 | "repository": { 6 | "type" : "git", 7 | "url" : "https://github.com/facebook/react.git", 8 | "directory": "packages/react-server-native-relay" 9 | }, 10 | "dependencies": { 11 | "scheduler": "^0.11.0" 12 | }, 13 | "peerDependencies": { 14 | "react": "^17.0.0" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /packages/react-server-native-relay/server.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from './src/ReactFlightNativeRelayServer'; 11 | -------------------------------------------------------------------------------- /packages/react-server/README.md: -------------------------------------------------------------------------------- 1 | # react-server 2 | 3 | This is an experimental package for creating custom React streaming server renderers. 4 | 5 | **Its API is not as stable as that of React, React Native, or React DOM, and does not follow the common versioning scheme.** 6 | 7 | **Use it at your own risk.** 8 | -------------------------------------------------------------------------------- /packages/react-server/flight.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from './src/ReactFlightServer'; 11 | -------------------------------------------------------------------------------- /packages/react-server/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from './src/ReactFizzServer'; 11 | -------------------------------------------------------------------------------- /packages/react-server/npm/flight.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react-server-flight.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/react-server-flight.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /packages/react-server/npm/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react-server.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/react-server.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /packages/react-server/src/forks/ReactFlightServerConfig.bun.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from '../ReactFlightServerConfigStream'; 11 | export * from 'react-server-dom-webpack/src/ReactFlightServerWebpackBundlerConfig'; 12 | -------------------------------------------------------------------------------- /packages/react-server/src/forks/ReactFlightServerConfig.custom.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from '../ReactFlightServerConfigStream'; 11 | export * from '../ReactFlightServerBundlerConfigCustom'; 12 | -------------------------------------------------------------------------------- /packages/react-server/src/forks/ReactFlightServerConfig.dom-browser.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from '../ReactFlightServerConfigStream'; 11 | export * from 'react-server-dom-webpack/src/ReactFlightServerWebpackBundlerConfig'; 12 | -------------------------------------------------------------------------------- /packages/react-server/src/forks/ReactFlightServerConfig.dom-legacy.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from '../ReactFlightServerConfigStream'; 11 | export * from 'react-server-dom-webpack/src/ReactFlightServerWebpackBundlerConfig'; 12 | -------------------------------------------------------------------------------- /packages/react-server/src/forks/ReactFlightServerConfig.dom-relay.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from 'react-server-dom-relay/src/ReactFlightDOMRelayServerHostConfig'; 11 | -------------------------------------------------------------------------------- /packages/react-server/src/forks/ReactFlightServerConfig.dom.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from '../ReactFlightServerConfigStream'; 11 | export * from 'react-server-dom-webpack/src/ReactFlightServerWebpackBundlerConfig'; 12 | -------------------------------------------------------------------------------- /packages/react-server/src/forks/ReactFlightServerConfig.native-relay.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from 'react-server-native-relay/src/ReactFlightNativeRelayServerHostConfig'; 11 | -------------------------------------------------------------------------------- /packages/react-server/src/forks/ReactServerFormatConfig.bun.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from 'react-dom-bindings/src/server/ReactDOMServerFormatConfig'; 11 | -------------------------------------------------------------------------------- /packages/react-server/src/forks/ReactServerFormatConfig.dom-browser.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from 'react-dom-bindings/src/server/ReactDOMServerFormatConfig'; 11 | -------------------------------------------------------------------------------- /packages/react-server/src/forks/ReactServerFormatConfig.dom-legacy.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from 'react-dom-bindings/src/server/ReactDOMServerLegacyFormatConfig'; 11 | -------------------------------------------------------------------------------- /packages/react-server/src/forks/ReactServerFormatConfig.dom-relay.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from 'react-dom-bindings/src/server/ReactDOMServerFormatConfig'; 11 | -------------------------------------------------------------------------------- /packages/react-server/src/forks/ReactServerFormatConfig.dom.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from 'react-dom-bindings/src/server/ReactDOMServerFormatConfig'; 11 | -------------------------------------------------------------------------------- /packages/react-server/src/forks/ReactServerFormatConfig.native-relay.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from 'react-native-renderer/src/server/ReactNativeServerFormatConfig'; 11 | -------------------------------------------------------------------------------- /packages/react-server/src/forks/ReactServerStreamConfig.bun.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from '../ReactServerStreamConfigBun'; 11 | -------------------------------------------------------------------------------- /packages/react-server/src/forks/ReactServerStreamConfig.dom-browser.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from '../ReactServerStreamConfigBrowser'; 11 | -------------------------------------------------------------------------------- /packages/react-server/src/forks/ReactServerStreamConfig.dom-legacy.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from 'react-dom-bindings/src/server/ReactDOMLegacyServerStreamConfig'; 11 | -------------------------------------------------------------------------------- /packages/react-server/src/forks/ReactServerStreamConfig.dom-relay.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from 'react-server-dom-relay/src/ReactServerStreamConfigFB'; 11 | -------------------------------------------------------------------------------- /packages/react-server/src/forks/ReactServerStreamConfig.dom.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from '../ReactServerStreamConfigNode'; 11 | -------------------------------------------------------------------------------- /packages/react-server/src/forks/ReactServerStreamConfig.native-relay.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from '../ReactServerStreamConfigNode'; 11 | -------------------------------------------------------------------------------- /packages/react-suspense-test-utils/README.md: -------------------------------------------------------------------------------- 1 | # react-suspense-test-utils 2 | 3 | This package is meant to be used alongside yet-to-be-released, experimental React features. It's unlikely to be useful in any other context. 4 | 5 | **Do not use in a real application.** We're publishing this early for 6 | demonstration purposes. 7 | 8 | **Use it at your own risk.** 9 | 10 | # No, Really, It Is Unstable 11 | 12 | The API ~~may~~ will change wildly between versions. 13 | -------------------------------------------------------------------------------- /packages/react-suspense-test-utils/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from './src/ReactSuspenseTestUtils'; 11 | -------------------------------------------------------------------------------- /packages/react-suspense-test-utils/npm/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = require('./cjs/react-suspense-test-utils.js'); 4 | -------------------------------------------------------------------------------- /packages/react-suspense-test-utils/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "react-suspense-test-utils", 3 | "version": "0.1.0", 4 | "private": true, 5 | "repository": { 6 | "type" : "git", 7 | "url" : "https://github.com/facebook/react.git", 8 | "directory": "packages/react-suspense-test-utils" 9 | }, 10 | "license": "MIT", 11 | "files": [ 12 | "LICENSE", 13 | "README.md", 14 | "index.js", 15 | "cjs/" 16 | ], 17 | "peerDependencies": { 18 | "react": "^17.0.0" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /packages/react-test-renderer/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from './src/ReactTestRenderer'; 11 | -------------------------------------------------------------------------------- /packages/react-test-renderer/npm/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react-test-renderer.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/react-test-renderer.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /packages/react-test-renderer/npm/shallow.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = require('react-shallow-renderer'); 4 | -------------------------------------------------------------------------------- /packages/react-test-renderer/shallow.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export {default} from 'react-shallow-renderer'; 11 | -------------------------------------------------------------------------------- /packages/react/jsx-dev-runtime.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export {Fragment, jsxDEV} from './src/jsx/ReactJSX'; 11 | -------------------------------------------------------------------------------- /packages/react/jsx-runtime.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | export {Fragment, jsx, jsxs} from './src/jsx/ReactJSX'; 10 | -------------------------------------------------------------------------------- /packages/react/npm/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/react.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /packages/react/npm/jsx-dev-runtime.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react-jsx-dev-runtime.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/react-jsx-dev-runtime.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /packages/react/npm/jsx-runtime.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react-jsx-runtime.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/react-jsx-runtime.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /packages/react/npm/react.shared-subset.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react.shared-subset.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/react.shared-subset.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /packages/react/npm/unstable-cache.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/react-unstable-cache.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/react-unstable-cache.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /packages/react/react.shared-subset.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export * from './src/ReactSharedSubset'; 11 | -------------------------------------------------------------------------------- /packages/react/src/ReactServerContextRegistry.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | import type {ReactServerContext} from 'shared/ReactTypes'; 11 | 12 | export const ContextRegistry: { 13 | [globalName: string]: ReactServerContext, 14 | } = {}; 15 | -------------------------------------------------------------------------------- /packages/scheduler/README.md: -------------------------------------------------------------------------------- 1 | # `scheduler` 2 | 3 | This is a package for cooperative scheduling in a browser environment. It is currently used internally by React, but we plan to make it more generic. 4 | 5 | The public API for this package is not yet finalized. 6 | 7 | ### Thanks 8 | 9 | The React team thanks [Anton Podviaznikov](https://podviaznikov.com/) for donating the `scheduler` package name. 10 | -------------------------------------------------------------------------------- /packages/scheduler/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | 'use strict'; 9 | 10 | export * from './src/forks/Scheduler'; 11 | -------------------------------------------------------------------------------- /packages/scheduler/npm/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/scheduler.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/scheduler.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /packages/scheduler/npm/unstable_mock.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/scheduler-unstable_mock.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/scheduler-unstable_mock.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /packages/scheduler/npm/unstable_post_task.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/scheduler-unstable_post_task.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/scheduler-unstable_post_task.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /packages/scheduler/unstable_mock.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | 'use strict'; 9 | 10 | export * from './src/forks/SchedulerMock'; 11 | -------------------------------------------------------------------------------- /packages/scheduler/unstable_post_task.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | 'use strict'; 9 | 10 | export * from './src/forks/SchedulerPostTask'; 11 | -------------------------------------------------------------------------------- /packages/shared/ExecutionEnvironment.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export const canUseDOM: boolean = !!( 11 | typeof window !== 'undefined' && 12 | typeof window.document !== 'undefined' && 13 | typeof window.document.createElement !== 'undefined' 14 | ); 15 | -------------------------------------------------------------------------------- /packages/shared/ReactDOMSharedInternals.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | import * as ReactDOM from 'react-dom'; 11 | 12 | const ReactDOMSharedInternals = 13 | ReactDOM.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED; 14 | 15 | export default ReactDOMSharedInternals; 16 | -------------------------------------------------------------------------------- /packages/shared/ReactSharedInternals.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | import * as React from 'react'; 11 | 12 | const ReactSharedInternals = 13 | React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED; 14 | 15 | export default ReactSharedInternals; 16 | -------------------------------------------------------------------------------- /packages/shared/assign.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | const assign = Object.assign; 11 | 12 | export default assign; 13 | -------------------------------------------------------------------------------- /packages/shared/hasOwnProperty.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | // $FlowFixMe[method-unbinding] 11 | const hasOwnProperty = Object.prototype.hasOwnProperty; 12 | 13 | export default hasOwnProperty; 14 | -------------------------------------------------------------------------------- /packages/shared/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "name": "shared", 4 | "version": "0.0.0" 5 | } 6 | -------------------------------------------------------------------------------- /packages/use-subscription/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | 'use strict'; 11 | 12 | export * from './src/useSubscription'; 13 | -------------------------------------------------------------------------------- /packages/use-subscription/npm/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/use-subscription.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/use-subscription.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /packages/use-sync-external-store/README.md: -------------------------------------------------------------------------------- 1 | # use-sync-external-store 2 | 3 | Backwards-compatible shim for [`React.useSyncExternalStore`](https://reactjs.org/docs/hooks-reference.html#usesyncexternalstore). Works with any React that supports Hooks. 4 | 5 | See also https://github.com/reactwg/react-18/discussions/86. 6 | -------------------------------------------------------------------------------- /packages/use-sync-external-store/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | 'use strict'; 11 | 12 | export {useSyncExternalStore} from './src/useSyncExternalStore'; 13 | -------------------------------------------------------------------------------- /packages/use-sync-external-store/npm/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/use-sync-external-store.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/use-sync-external-store.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /packages/use-sync-external-store/npm/shim/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('../cjs/use-sync-external-store-shim.production.min.js'); 5 | } else { 6 | module.exports = require('../cjs/use-sync-external-store-shim.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /packages/use-sync-external-store/npm/shim/index.native.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('../cjs/use-sync-external-store-shim.native.production.min.js'); 5 | } else { 6 | module.exports = require('../cjs/use-sync-external-store-shim.native.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /packages/use-sync-external-store/npm/shim/with-selector.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('../cjs/use-sync-external-store-shim/with-selector.production.min.js'); 5 | } else { 6 | module.exports = require('../cjs/use-sync-external-store-shim/with-selector.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /packages/use-sync-external-store/npm/with-selector.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | if (process.env.NODE_ENV === 'production') { 4 | module.exports = require('./cjs/use-sync-external-store-with-selector.production.min.js'); 5 | } else { 6 | module.exports = require('./cjs/use-sync-external-store-with-selector.development.js'); 7 | } 8 | -------------------------------------------------------------------------------- /packages/use-sync-external-store/shim/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | 'use strict'; 11 | 12 | export {useSyncExternalStore} from 'use-sync-external-store/src/useSyncExternalStoreShim'; 13 | -------------------------------------------------------------------------------- /packages/use-sync-external-store/shim/index.native.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | 'use strict'; 11 | 12 | export {useSyncExternalStore} from 'use-sync-external-store/src/useSyncExternalStoreShim'; 13 | -------------------------------------------------------------------------------- /packages/use-sync-external-store/shim/with-selector/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | 'use strict'; 11 | 12 | export {useSyncExternalStoreWithSelector} from 'use-sync-external-store/src/useSyncExternalStoreWithSelector'; 13 | -------------------------------------------------------------------------------- /packages/use-sync-external-store/src/forks/isServerEnvironment.native.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | export const isServerEnvironment = false; 11 | -------------------------------------------------------------------------------- /packages/use-sync-external-store/src/isServerEnvironment.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | import {canUseDOM} from 'shared/ExecutionEnvironment'; 11 | 12 | export const isServerEnvironment = !canUseDOM; 13 | -------------------------------------------------------------------------------- /packages/use-sync-external-store/with-selector.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | 'use strict'; 11 | 12 | export {useSyncExternalStoreWithSelector} from 'use-sync-external-store/src/useSyncExternalStoreWithSelector'; 13 | -------------------------------------------------------------------------------- /scripts/authors: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | # Generate an AUTHORS file based on the output of git shortlog. It uses ABC 4 | # order, strips out leading spaces and numbers, then filters out specific 5 | # authors. 6 | 7 | git shortlog -se \ 8 | | perl -spe 's/^\s+\d+\s+//' \ 9 | | sed -e '/^CommitSyncScript.*$/d' \ 10 | > AUTHORS 11 | -------------------------------------------------------------------------------- /scripts/bench/.gitignore: -------------------------------------------------------------------------------- 1 | react-dom.production.min.js 2 | react.production.min.js 3 | -------------------------------------------------------------------------------- /scripts/bench/benchmarks/hacker-news/grayarrow.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Honest0/react/2f6a5364d070c30c20f435de9399d667b89dc767/scripts/bench/benchmarks/hacker-news/grayarrow.gif -------------------------------------------------------------------------------- /scripts/bench/benchmarks/hacker-news/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Honest0/react/2f6a5364d070c30c20f435de9399d667b89dc767/scripts/bench/benchmarks/hacker-news/logo.png -------------------------------------------------------------------------------- /scripts/circleci/check_license.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | # Make sure we don't introduce accidental references to PATENTS. 6 | EXPECTED='scripts/circleci/check_license.sh' 7 | ACTUAL=$(git grep -l PATENTS) 8 | 9 | if [ "$EXPECTED" != "$ACTUAL" ]; then 10 | echo "PATENTS crept into some new files?" 11 | diff -u <(echo "$EXPECTED") <(echo "$ACTUAL") || true 12 | exit 1 13 | fi 14 | -------------------------------------------------------------------------------- /scripts/circleci/check_modules.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | # Make sure we don't introduce accidental @providesModule annotations. 6 | EXPECTED='scripts/rollup/wrappers.js' 7 | ACTUAL=$(git grep -l @providesModule -- './*.js' ':!scripts/rollup/shims/*.js') 8 | 9 | # Colors 10 | red=$'\e[1;31m' 11 | end=$'\e[0m' 12 | 13 | if [ "$EXPECTED" != "$ACTUAL" ]; then 14 | printf "%s\n" "${red}ERROR: @providesModule crept into some new files?${end}" 15 | diff -u <(echo "$EXPECTED") <(echo "$ACTUAL") || true 16 | exit 1 17 | fi 18 | -------------------------------------------------------------------------------- /scripts/circleci/test_print_warnings.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | WARNINGS=$(node scripts/print-warnings/print-warnings.js) 6 | echo "$WARNINGS" 7 | test ! -z "$WARNINGS" 8 | -------------------------------------------------------------------------------- /scripts/devtools/.gitignore: -------------------------------------------------------------------------------- 1 | .build-metadata 2 | .progress-estimator 3 | -------------------------------------------------------------------------------- /scripts/devtools/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "react-devtools-release-script", 3 | "version": "0.0.0", 4 | "private": true, 5 | "scripts": {}, 6 | "license": "MIT", 7 | "dependencies": { 8 | "chalk": "^2.1.0", 9 | "child-process-promise": "^2.2.1", 10 | "fs-extra": "^4.0.2", 11 | "inquirer": "^8.1.2", 12 | "progress-estimator": "^0.2.1", 13 | "prompt-promise": "^1.0.3", 14 | "semver": "^5.4.1" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /scripts/error-codes/Types.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 'use strict'; 10 | 11 | /*:: export type ErrorMap = { [id: string]: string, ... }; */ 12 | 13 | -------------------------------------------------------------------------------- /scripts/eslint-rules/README.md: -------------------------------------------------------------------------------- 1 | # Custom ESLint Rules 2 | 3 | This is a dummy npm package that allows us to treat it as an `eslint-plugin`. It's not actually published, nor are the rules here useful for users of React. If you want to lint your React code, try . 4 | 5 | **If you modify this rule, you must re-run `npm install ./eslint-rules` for it to take effect.** 6 | -------------------------------------------------------------------------------- /scripts/eslint-rules/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = { 4 | rules: { 5 | 'no-primitive-constructors': require('./no-primitive-constructors'), 6 | 'no-to-warn-dev-within-to-throw': require('./no-to-warn-dev-within-to-throw'), 7 | 'warning-args': require('./warning-args'), 8 | 'prod-error-codes': require('./prod-error-codes'), 9 | 'no-production-logging': require('./no-production-logging'), 10 | 'safe-string-coercion': require('./safe-string-coercion'), 11 | }, 12 | }; 13 | -------------------------------------------------------------------------------- /scripts/eslint-rules/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "eslint-plugin-react-internal", 3 | "version": "0.0.0" 4 | } 5 | -------------------------------------------------------------------------------- /scripts/flow/xplat.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @flow 8 | */ 9 | 10 | declare module 'ReactNativeInternalFeatureFlags' { 11 | declare export var enableUseRefAccessWarning: boolean; 12 | } 13 | -------------------------------------------------------------------------------- /scripts/git/pre-commit: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # To enable this hook, symlink or copy this file to .git/hooks/pre-commit. 4 | 5 | # Redirect output to stderr. 6 | exec 1>&2 7 | 8 | git diff --cached --name-only --diff-filter=ACMRTUB | \ 9 | grep '\.js$' | \ 10 | xargs ./node_modules/.bin/eslint -- 11 | -------------------------------------------------------------------------------- /scripts/jest/config.source-www.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const baseConfig = require('./config.base'); 4 | 5 | module.exports = Object.assign({}, baseConfig, { 6 | modulePathIgnorePatterns: [ 7 | ...baseConfig.modulePathIgnorePatterns, 8 | 'packages/react-devtools-extensions', 9 | 'packages/react-devtools-shared', 10 | ], 11 | setupFiles: [ 12 | ...baseConfig.setupFiles, 13 | require.resolve('./setupTests.www.js'), 14 | require.resolve('./setupHostConfigs.js'), 15 | ], 16 | }); 17 | -------------------------------------------------------------------------------- /scripts/jest/config.source.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const baseConfig = require('./config.base'); 4 | 5 | module.exports = Object.assign({}, baseConfig, { 6 | modulePathIgnorePatterns: [ 7 | ...baseConfig.modulePathIgnorePatterns, 8 | 'packages/react-devtools-extensions', 9 | 'packages/react-devtools-shared', 10 | ], 11 | setupFiles: [ 12 | ...baseConfig.setupFiles, 13 | require.resolve('./setupHostConfigs.js'), 14 | ], 15 | }); 16 | -------------------------------------------------------------------------------- /scripts/jest/dont-run-jest-directly.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | throw new Error("Don't run `jest` directly. Run `yarn test` instead."); 4 | -------------------------------------------------------------------------------- /scripts/jest/jest.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | /** 3 | * Copyright (c) Meta Platforms, Inc. and affiliates. All Rights Reserved. 4 | * 5 | * This source code is licensed under the MIT license found in the 6 | * LICENSE file in the root directory of this source tree. 7 | */ 8 | 'use strict'; 9 | 10 | // --- Welcome to debugging React tests --- 11 | // The debugger pauses on this statement so that you can open the dev tools. 12 | // You can now set breakpoints and begin debugging. 13 | require('jest-cli/bin/jest'); 14 | -------------------------------------------------------------------------------- /scripts/jest/noHaste.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = { 4 | getHasteName() { 5 | // We never want Haste. 6 | return null; 7 | }, 8 | }; 9 | -------------------------------------------------------------------------------- /scripts/jest/setupGlobal.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | 3 | module.exports = () => { 4 | // can use beforeEach/afterEach or setupEnvironment.js in node >= 13: https://github.com/nodejs/node/pull/20026 5 | // jest's `setupFiles` is too late: https://stackoverflow.com/a/56482581/3406963 6 | process.env.TZ = 'UTC'; 7 | }; 8 | -------------------------------------------------------------------------------- /scripts/jest/setupTests.build.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | jest.mock('scheduler', () => jest.requireActual('scheduler/unstable_mock')); 4 | -------------------------------------------------------------------------------- /scripts/jest/setupTests.persistent.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | jest.mock('react-noop-renderer', () => 4 | jest.requireActual('react-noop-renderer/persistent') 5 | ); 6 | 7 | global.__PERSISTENT__ = true; 8 | -------------------------------------------------------------------------------- /scripts/perf-counters/Makefile: -------------------------------------------------------------------------------- 1 | build/jsc-perf: src/* 2 | mkdir -p build 3 | g++ -std=c++11 -I/usr/include/webkitgtk-1.0/ -ljavascriptcoregtk-1.0 src/jsc-perf.cpp src/hardware-counter.cpp src/thread-local.cpp -o build/jsc-perf 4 | -------------------------------------------------------------------------------- /scripts/perf-counters/README.md: -------------------------------------------------------------------------------- 1 | # perf-counters 2 | 3 | Lightweight bindings to Linux perf event counters. 4 | 5 | ``` 6 | $ node 7 | > var PerfCounters = require('perf-counters'); 8 | > PerfCounters.init(); 9 | > var start = PerfCounters.getCounters(); console.log('test'); var end = PerfCounters.getCounters(); 10 | test 11 | > start 12 | { instructions: 1382, loads: 421, stores: 309 } 13 | > end 14 | { instructions: 647633, loads: 195771, stores: 133246 } 15 | > 16 | ``` 17 | -------------------------------------------------------------------------------- /scripts/perf-counters/binding.gyp: -------------------------------------------------------------------------------- 1 | { 2 | "targets": [ 3 | { 4 | "target_name": "perfcounters", 5 | "sources": [ 6 | "src/hardware-counter.cpp", 7 | "src/perf-counters.cpp", 8 | "src/thread-local.cpp", 9 | ], 10 | "cflags": [ 11 | "-Wno-sign-compare", 12 | ], 13 | }, 14 | ], 15 | } 16 | -------------------------------------------------------------------------------- /scripts/perf-counters/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = require('bindings')('perfcounters'); 4 | -------------------------------------------------------------------------------- /scripts/perf-counters/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "perf-counters", 3 | "version": "0.1.2", 4 | "description": "Lightweight bindings to Linux perf event counters.", 5 | "main": "index.js", 6 | "license": "MIT", 7 | "dependencies": { 8 | "bindings": "^1.2.1" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /scripts/print-warnings/README.md: -------------------------------------------------------------------------------- 1 | We use this script to extract all messages from `warning()` calls. They don't get substituted with anything in the source or the build. We only do this so we can have a copy of these messages in our internal repository and can spot accidental changes to them. 2 | -------------------------------------------------------------------------------- /scripts/release/.gitignore: -------------------------------------------------------------------------------- 1 | .progress-estimator -------------------------------------------------------------------------------- /scripts/release/build-release-locally-commands/update-version-numbers.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | 'use strict'; 4 | 5 | const {logPromise, updateVersionsForNext} = require('../utils'); 6 | const theme = require('../theme'); 7 | 8 | module.exports = async ({reactVersion, tempDirectory, version}) => { 9 | return logPromise( 10 | updateVersionsForNext(tempDirectory, reactVersion, version), 11 | theme`Updating version numbers ({version ${version}})` 12 | ); 13 | }; 14 | -------------------------------------------------------------------------------- /scripts/release/ci-npmrc: -------------------------------------------------------------------------------- 1 | //registry.npmjs.org/:_authToken=${NPM_TOKEN} 2 | -------------------------------------------------------------------------------- /scripts/release/prepare-release-from-npm-commands/get-latest-next-version.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | 'use strict'; 4 | 5 | const {execRead, logPromise} = require('../utils'); 6 | 7 | const run = async () => { 8 | const version = await execRead('npm info react@next version'); 9 | 10 | return version; 11 | }; 12 | 13 | module.exports = async params => { 14 | return logPromise(run(params), 'Determining latest "next" release version'); 15 | }; 16 | -------------------------------------------------------------------------------- /scripts/rollup/shims/facebook-www/ReactBrowserEventEmitter_DO_NOT_USE.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | 'use strict'; 9 | 10 | const { 11 | __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, 12 | } = require('ReactDOM'); 13 | 14 | module.exports = 15 | __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactBrowserEventEmitter; 16 | -------------------------------------------------------------------------------- /scripts/rollup/shims/facebook-www/renderSubtreeIntoContainer_DO_NOT_USE.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | 'use strict'; 9 | 10 | const ReactDOM = require('ReactDOM'); 11 | 12 | module.exports = ReactDOM.unstable_renderSubtreeIntoContainer; 13 | -------------------------------------------------------------------------------- /scripts/rollup/shims/react-native/ReactFeatureFlags.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * @format 8 | * @flow strict-local 9 | */ 10 | 11 | 'use strict'; 12 | 13 | const ReactFeatureFlags = { 14 | debugRenderPhaseSideEffects: false, 15 | }; 16 | 17 | module.exports = ReactFeatureFlags; 18 | -------------------------------------------------------------------------------- /scripts/rollup/wrappers/registerInternalModuleBegin.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */ 4 | if ( 5 | typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' && 6 | typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart === 7 | 'function' 8 | ) { 9 | __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error()); 10 | } 11 | -------------------------------------------------------------------------------- /scripts/rollup/wrappers/registerInternalModuleEnd.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */ 4 | if ( 5 | typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' && 6 | typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop === 7 | 'function' 8 | ) { 9 | __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error()); 10 | } 11 | --------------------------------------------------------------------------------