Select the manifest.json file inside of the extracted extension folder (ReactDevTools)
7 |
--------------------------------------------------------------------------------
/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-reconciler/src/forks/ReactFiberConfig.dom-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/ReactFiberConfigDOM';
11 |
--------------------------------------------------------------------------------
/packages/react-reconciler/src/forks/ReactFiberConfig.dom-fb.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/ReactFiberConfigDOM';
11 |
--------------------------------------------------------------------------------
/packages/react-reconciler/src/forks/ReactFiberConfig.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/ReactFiberConfigDOM';
11 |
--------------------------------------------------------------------------------
/packages/react-reconciler/src/forks/ReactFiberConfig.dom-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 'react-dom-bindings/src/client/ReactFiberConfigDOM';
11 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/fixtures/flight/src/Counter.js:
--------------------------------------------------------------------------------
1 | 'use client';
2 |
3 | import * as React from 'react';
4 |
5 | import Container from './Container.js';
6 |
7 | export function Counter() {
8 | const [count, setCount] = React.useState(0);
9 | return (
10 |
11 |
12 |
13 | );
14 | }
15 |
--------------------------------------------------------------------------------
/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/oss-experimental/* ./node_modules/"
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/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-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-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-reconciler/src/forks/ReactFiberConfig.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/ReactFiberConfigDOM';
11 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/.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 |
--------------------------------------------------------------------------------
/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-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-reconciler/src/forks/ReactFiberConfig.dom-edge-webpack.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/ReactFiberConfigDOM';
11 |
--------------------------------------------------------------------------------
/packages/react-reconciler/src/forks/ReactFiberConfig.dom-node-webpack.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/ReactFiberConfigDOM';
11 |
--------------------------------------------------------------------------------
/packages/react-server/src/forks/ReactServerStreamConfig.dom-fb.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-fb/src/ReactServerStreamConfigFB';
11 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/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/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 |
--------------------------------------------------------------------------------
/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-server-dom-webpack/esm/react-server-dom-webpack-node-loader.production.min.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 |
--------------------------------------------------------------------------------
/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/nesting/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | React App
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/fixtures/packaging/systemjs-builder/dev/config.js:
--------------------------------------------------------------------------------
1 | System.config({
2 | paths: {
3 | react: '../../../../build/oss-experimental/react/umd/react.development.js',
4 | 'react-dom':
5 | '../../../../build/oss-experimental/react-dom/umd/react-dom.development.js',
6 | schedule:
7 | '../../../../build/oss-experimental/scheduler/umd/schedule.development',
8 | },
9 | });
10 |
--------------------------------------------------------------------------------
/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-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-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-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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/src/ShowMore.js:
--------------------------------------------------------------------------------
1 | 'use client';
2 |
3 | import * as React from 'react';
4 |
5 | import Container from './Container.js';
6 |
7 | export default function ShowMore({children}) {
8 | const [show, setShow] = React.useState(false);
9 | if (!show) {
10 | return ;
11 | }
12 | return {children};
13 | }
14 |
--------------------------------------------------------------------------------
/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/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 |
--------------------------------------------------------------------------------
/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/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 |
--------------------------------------------------------------------------------
/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/devtools/scheduling-profiler/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Scheduling Profiler Fixture
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/fixtures/packaging/systemjs-builder/prod/config.js:
--------------------------------------------------------------------------------
1 | System.config({
2 | paths: {
3 | react:
4 | '../../../../build/oss-experimental/react/umd/react.production.min.js',
5 | 'react-dom':
6 | '../../../../build/oss-experimental/react-dom/umd/react-dom.production.min.js',
7 | schedule:
8 | '../../../../build/oss-experimental/scheduler/umd/schedule.development',
9 | },
10 | });
11 |
--------------------------------------------------------------------------------
/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-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/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/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/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 |
--------------------------------------------------------------------------------
/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-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-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/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/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/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-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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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-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 |
--------------------------------------------------------------------------------
/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/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/oss-experimental'),
10 | alias: {
11 | react: 'react/umd/react.development',
12 | 'react-dom': 'react-dom/umd/react-dom.development',
13 | },
14 | },
15 | };
16 |
--------------------------------------------------------------------------------
/packages/react-dom-bindings/src/client/DOMNamespaces.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 MATH_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';
11 | export const SVG_NAMESPACE = 'http://www.w3.org/2000/svg';
12 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/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/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/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/oss-experimental'),
10 | alias: {
11 | react: 'react/umd/react.production.min',
12 | 'react-dom': 'react-dom/umd/react-dom.production.min',
13 | },
14 | },
15 | };
16 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/.codesandbox/ci.json:
--------------------------------------------------------------------------------
1 | {
2 | "packages": ["packages/react", "packages/react-dom", "packages/scheduler"],
3 | "buildCommand": "download-build-in-codesandbox-ci",
4 | "node": "18",
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 |
--------------------------------------------------------------------------------
/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-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/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/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-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.23.0"
12 | },
13 | "peerDependencies": {
14 | "react": "^18.0.0"
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/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/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-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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 | .eslintcache
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/flight/src/ErrorBoundary.js:
--------------------------------------------------------------------------------
1 | 'use client';
2 |
3 | import * as React from 'react';
4 |
5 | export default class ErrorBoundary extends React.Component {
6 | state = {error: null};
7 | static getDerivedStateFromError(error) {
8 | return {error};
9 | }
10 | render() {
11 | if (this.state.error) {
12 | return
Caught an error: {this.state.error.message}
;
13 | }
14 | return this.props.children;
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/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 | function flattenStyle() {}
13 |
14 | module.exports = flattenStyle;
15 |
--------------------------------------------------------------------------------
/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/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 |
--------------------------------------------------------------------------------
/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/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@canary version');
9 |
10 | return version;
11 | };
12 |
13 | module.exports = async params => {
14 | return logPromise(run(params), 'Determining latest "canary" release version');
15 | };
16 |
--------------------------------------------------------------------------------
/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/oss-experimental/react/umd/react.development',
8 | 'react-dom':
9 | '../../../../build/oss-experimental/react-dom/umd/react-dom.development',
10 | schedule:
11 | '../../../../build/oss-experimental/scheduler/umd/schedule.development',
12 | },
13 | };
14 |
--------------------------------------------------------------------------------
/packages/react-server-dom-fb/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "react-server-dom-fb",
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-fb"
9 | },
10 | "dependencies": {
11 | "scheduler": "^0.23.0"
12 | },
13 | "peerDependencies": {
14 | "react": "^18.0.0",
15 | "react-dom": "^18.0.0"
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/oss-experimental/* ./node_modules/"
10 | },
11 | "devDependencies": {
12 | "envify": "^4.0.0"
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/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/oss-experimental/react/umd/react.production.min',
8 | 'react-dom':
9 | '../../../../build/oss-experimental/react-dom/umd/react-dom.production.min',
10 | schedule:
11 | '../../../../build/oss-experimental/scheduler/umd/schedule.development',
12 | },
13 | };
14 |
--------------------------------------------------------------------------------
/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-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-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-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-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 |
--------------------------------------------------------------------------------
/.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 |
--------------------------------------------------------------------------------
/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/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 | "dev": "react-scripts start",
16 | "build": "react-scripts build"
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/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/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 |
--------------------------------------------------------------------------------
/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/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 |
--------------------------------------------------------------------------------
/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-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-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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/.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: 'flow',
12 | arrowParens: 'avoid',
13 | overrides: [
14 | {
15 | files: esNextPaths,
16 | options: {
17 | trailingComma: 'all',
18 | },
19 | },
20 | ],
21 | };
22 |
--------------------------------------------------------------------------------
/fixtures/fiber-debugger/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | React App
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/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/oss-experimental/'),
11 | },
12 | plugins: [
13 | new webpack.DefinePlugin({
14 | 'process.env': {
15 | NODE_ENV: JSON.stringify('production'),
16 | },
17 | }),
18 | ],
19 | };
20 |
--------------------------------------------------------------------------------
/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 |
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/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/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 |
--------------------------------------------------------------------------------
/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 | declare export var enableDeferRootSchedulingToMicrotask: boolean;
13 | declare export var alwaysThrottleRetries: boolean;
14 | }
15 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/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 |
--------------------------------------------------------------------------------
/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-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 | function deepFreezeAndThrowOnMutationInDev() {}
13 |
14 | module.exports = deepFreezeAndThrowOnMutationInDev;
15 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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-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-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 |
--------------------------------------------------------------------------------
/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 |
19 | );
20 | }
21 | }
22 | `.trim();
23 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/src/forks/ReactFlightClientConfig.dom-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 'react-client/src/ReactFlightClientConfigNode';
11 | export * from 'react-server-dom-webpack/src/ReactFlightClientConfigNodeBundler';
12 | export * from 'react-dom-bindings/src/shared/ReactFlightClientConfigDOM';
13 |
--------------------------------------------------------------------------------
/packages/react-client/src/forks/ReactFlightClientConfig.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-client/src/ReactFlightClientConfigBrowser';
11 | export * from 'react-server-dom-webpack/src/ReactFlightClientConfigWebpackBundler';
12 | export * from 'react-dom-bindings/src/shared/ReactFlightClientConfigDOM';
13 |
--------------------------------------------------------------------------------
/packages/react-client/src/forks/ReactFlightClientConfig.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-client/src/ReactFlightClientConfigBrowser';
11 | export * from 'react-server-dom-webpack/src/ReactFlightClientConfigWebpackBundler';
12 | export * from 'react-dom-bindings/src/shared/ReactFlightClientConfigDOM';
13 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/dom/src/find-dom-node.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Provides a standard way to access a DOM node across all versions of
3 | * React.
4 | */
5 |
6 | import {reactPaths} from './react-loader';
7 |
8 | const React = window.React;
9 | const ReactDOM = window.ReactDOM;
10 |
11 | export function findDOMNode(target) {
12 | const {needsReactDOM} = reactPaths();
13 |
14 | if (needsReactDOM) {
15 | return ReactDOM.findDOMNode(target);
16 | } else {
17 | // eslint-disable-next-line
18 | return React.findDOMNode(target);
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/fixtures/legacy-jsx-runtimes/react-14/cjs/react-jsx-dev-runtime.production.min.js:
--------------------------------------------------------------------------------
1 | /** @license React v0.14.10
2 | * react-jsx-dev-runtime.production.min.js
3 | *
4 | * Copyright (c) Meta Platforms, Inc. and affiliates.
5 | *
6 | * This source code is licensed under the MIT license found in the
7 | * LICENSE file in the root directory of this source tree.
8 | */
9 | 'use strict';require("react");exports.Fragment=60107;if("function"===typeof Symbol&&Symbol.for){var a=Symbol.for;exports.Fragment=a("react.fragment")}exports.jsxDEV=void 0;
10 |
--------------------------------------------------------------------------------
/fixtures/legacy-jsx-runtimes/react-15/cjs/react-jsx-dev-runtime.production.min.js:
--------------------------------------------------------------------------------
1 | /** @license React v15.7.0
2 | * react-jsx-dev-runtime.production.min.js
3 | *
4 | * Copyright (c) Meta Platforms, Inc. and affiliates.
5 | *
6 | * This source code is licensed under the MIT license found in the
7 | * LICENSE file in the root directory of this source tree.
8 | */
9 | 'use strict';require("react");exports.Fragment=60107;if("function"===typeof Symbol&&Symbol.for){var a=Symbol.for;exports.Fragment=a("react.fragment")}exports.jsxDEV=void 0;
10 |
--------------------------------------------------------------------------------
/fixtures/legacy-jsx-runtimes/react-16/cjs/react-jsx-dev-runtime.production.min.js:
--------------------------------------------------------------------------------
1 | /** @license React v16.14.0
2 | * react-jsx-dev-runtime.production.min.js
3 | *
4 | * Copyright (c) Meta Platforms, Inc. and affiliates.
5 | *
6 | * This source code is licensed under the MIT license found in the
7 | * LICENSE file in the root directory of this source tree.
8 | */
9 | 'use strict';require("react");exports.Fragment=60107;if("function"===typeof Symbol&&Symbol.for){var a=Symbol.for;exports.Fragment=a("react.fragment")}exports.jsxDEV=void 0;
10 |
--------------------------------------------------------------------------------
/fixtures/stacks/BabelClasses.js:
--------------------------------------------------------------------------------
1 | // Compile this with Babel.
2 | // babel --config-file ./babel.config.json BabelClasses.js --out-file BabelClasses-compiled.js --source-maps
3 |
4 | class BabelClass extends React.Component {
5 | render() {
6 | return this.props.children;
7 | }
8 | }
9 |
10 | class BabelClassWithFields extends React.Component {
11 | // These compile to defineProperty which can break some interception techniques.
12 | props;
13 | state = {};
14 | render() {
15 | return this.props.children;
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/packages/react-client/src/forks/ReactFlightClientConfig.dom-edge-webpack.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/ReactFlightClientConfigBrowser';
11 | export * from 'react-server-dom-webpack/src/ReactFlightClientConfigWebpackBundler';
12 | export * from 'react-dom-bindings/src/shared/ReactFlightClientConfigDOM';
13 |
--------------------------------------------------------------------------------
/packages/react-client/src/forks/ReactFlightClientConfig.dom-node-webpack.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/ReactFlightClientConfigNode';
11 | export * from 'react-server-dom-webpack/src/ReactFlightClientConfigWebpackBundler';
12 | export * from 'react-dom-bindings/src/shared/ReactFlightClientConfigDOM';
13 |
--------------------------------------------------------------------------------
/packages/react/src/__tests__/testDefinitions/PropTypes.d.ts:
--------------------------------------------------------------------------------
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 | * TypeScript Definition File for React.
10 | *
11 | * Full type definitions are not yet officially supported. These are mostly
12 | * just helpers for the unit test.
13 | */
14 |
15 | declare module 'prop-types' {
16 | export let string : any;
17 | }
18 |
--------------------------------------------------------------------------------