mirror of
https://github.com/facebook/react.git
synced 2025-11-01 09:12:30 +00:00
8f7dd5592b
## 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](https://github.com/facebookexperimental/rn-chrome-devtools-frontend/blob/1d5f8d5209ac49de97aec16732169d47bf525474/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,
|
|
};
|