mirror of
https://github.com/zebrajr/react.git
synced 2025-12-06 12:20:20 +01:00
## Summary
The `react-devtools-fusebox` private package is used in the React Native
DevTools (Fusebox) frontend by checking build artifacts into RN's
[fork]([`facebookexperimental/rn-chrome-devtools-frontend`](https://github.com/facebookexperimental/rn-chrome-devtools-frontend))
of the Chrome DevTools (CDT) repo - see
https://github.com/facebookexperimental/rn-chrome-devtools-frontend/pull/22.
Currently, the CDT fork also includes a [manually written TypeScript
definition
file](1d5f8d5209/front_end/third_party/react-devtools/package/frontend.d.ts)
which describes `react-devtools-fusebox`'s API. This PR moves that file
into the React repo, next to the implementation of
`react-devtools-fusebox`, so we can update it atomically with changes to
the package.
As this is the first bit of TypeScript in this repo, the PR adds minimal
support for formatting `.d.ts` files with Prettier. It also opts out
`react-devtools-fusebox/dist/` from linting/formatting as a drive-by
fix.
For now, we'll just maintain the `.d.ts` file manually, but we could
consider leveraging
[`flow-api-translator`](https://www.npmjs.com/package/flow-api-translator)
to auto-generate it in the future.
## How did you test this change?
Build `react-devtools-fusebox`, observe that `dist/frontend.d.ts`
exists.
35 lines
913 B
JavaScript
35 lines
913 B
JavaScript
/**
|
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
'use strict';
|
|
|
|
// Files that are transformed and can use ES6/Flow/JSX.
|
|
const esNextPaths = [
|
|
// Internal forwarding modules
|
|
'packages/*/*.js',
|
|
'packages/*/esm/*.js',
|
|
'packages/use-sync-external-store/shim/**/*.js',
|
|
'packages/use-sync-external-store/with-selector/**/*.js',
|
|
// Source files
|
|
'packages/*/src/**/*.js',
|
|
'packages/dom-event-testing-library/**/*.js',
|
|
'packages/shared/**/*.js',
|
|
// Shims and Flow environment
|
|
'scripts/flow/*.js',
|
|
'scripts/rollup/shims/**/*.js',
|
|
];
|
|
|
|
// Files that we distribute on npm that should be ES5-only.
|
|
const es5Paths = ['packages/*/npm/**/*.js'];
|
|
|
|
const typescriptPaths = ['packages/**/*.d.ts'];
|
|
|
|
module.exports = {
|
|
esNextPaths,
|
|
es5Paths,
|
|
typescriptPaths,
|
|
};
|