Files
Ruslan Lesiutin 7dfc7ccd12 [DevTools] Remove the dead Timeline profiler code (#37187)
## Summary

With the tab gone, everything that fed it is unreachable. This deletes
`packages/react-devtools-timeline` (74 files) and the backend that
produced its data, `backend/profilingHooks.js`, along with
`SidebarEventInfo`, the two timeline test suites, the `timelineData`
snapshot serializer, and the scheduling-profiler fixture.

It also unwires the plumbing that only existed to carry timeline data:
`recordTimeline` across the reload-and-profile path (hook →
sessionStorage → agent → renderer), `timelineData` on
`ProfilingDataBackend` and the profile export, the `supportsTimeline`
Store config, the `rootSupportsTimelineProfiling` capability, the
`DevToolsProfilingHooks` type and the `ReactRenderer` members DevTools
used to inject it, the 40 `--color-timeline-*` theme variables in both
themes plus the orphaned `--color-scroll-caret`, and `hook.js`'s
internal-module-range tracking with its `react-devtools-facade` stubs.

`yarn.lock` is regenerated: 52 distinct package-versions and 68
requirement specs drop out, with no additions and no version changes to
anything that remains.

## Deliberate non-changes

- **`PROFILER_EXPORT_VERSION` stays at 5.**
`prepareProfilingDataFrontendFromExport` compares versions with `!==`,
so a bump would reject every profile anyone has already saved.
`timelineData` was an optional key, so dropping it is invisible in both
directions.
- **Profiling flag bit `0b010` is retired, not reused**, and the
constant is replaced by a comment saying so. Shipped backends keep
setting it, so renumbering `PROFILING_FLAG_PERFORMANCE_TRACKS_SUPPORT`
into that slot would make a new frontend misread older backends as
tracks-capable.
- **The `displayName` properties on DevTools' cache thenables are
kept.** They look timeline-only, but `ReactFiberThenable` reads
`thenable.displayName` to name I/O in async debug info, which feeds the
Performance tracks. Only their stale comments are corrected.
- **`react-reconciler`, `shared/ReactFeatureFlags.js` and
`scripts/rollup` are untouched**; `enableSchedulingProfiler` is still
live for www and native-fb.

## Follow-ups (not in this stack)

Three stale comments still name the removed package:
`scripts/rollup/wrappers.js:532` and `ReactFiberLane.js:38,125`. Left
alone to keep this stack purely DevTools-side.

## Test plan

`yarn linc`, `yarn flow dom-node`, and the DevTools suite all pass on
this commit in isolation (40/40 suites, 582 tests).
2026-08-03 16:32:51 +01:00

46 lines
1.1 KiB
JavaScript

'use strict';
const {join} = require('path');
const PACKAGE_PATHS = [
'packages/react-devtools/package.json',
'packages/react-devtools-core/package.json',
'packages/react-devtools-inline/package.json',
];
const MANIFEST_PATHS = [
'packages/react-devtools-extensions/chrome/manifest.json',
'packages/react-devtools-extensions/edge/manifest.json',
'packages/react-devtools-extensions/firefox/manifest.json',
];
const NPM_PACKAGES = [
'react-devtools',
'react-devtools-core',
'react-devtools-inline',
];
const CHANGELOG_PATH = 'packages/react-devtools/CHANGELOG.md';
const PULL_REQUEST_BASE_URL = 'https://github.com/facebook/react/pull/';
const RELEASE_SCRIPT_TOKEN = '<!-- RELEASE_SCRIPT_TOKEN -->';
const ROOT_PATH = join(__dirname, '..', '..');
const DRY_RUN = process.argv.includes('--dry');
const BUILD_METADATA_TEMP_DIRECTORY = join(__dirname, '.build-metadata');
module.exports = {
BUILD_METADATA_TEMP_DIRECTORY,
CHANGELOG_PATH,
DRY_RUN,
MANIFEST_PATHS,
NPM_PACKAGES,
PACKAGE_PATHS,
PULL_REQUEST_BASE_URL,
RELEASE_SCRIPT_TOKEN,
ROOT_PATH,
};