mirror of
https://github.com/react/react-native.git
synced 2026-09-28 13:23:09 +08:00
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/56922 Move `react-native/core-cli-utils` from `packages/` to `private/`, stop publishing it to npm, and reframe it as a reference implementation of React Native CLI tooling. The package has no known external consumers and is only used internally by `private/helloworld/` and `packages/rn-tester/`. Publishing it to npm creates a maintenance surface for a package that serves no external users. See https://github.com/react-native-community/discussions-and-proposals/pull/1002. #### Changes - Move `packages/core-cli-utils/` to `private/core-cli-utils/`. - Convert all source files to CJS (require/module.exports) with Flow comment syntax (/*:: */), eliminating the runtime Babel dependency. - Remove from the JS build pipeline (`scripts/build/config.js`). - Remove the defunct `patchCoreCLIUtilsPackageJSON()` runtime patching from both `helloworld/cli.js` and `rn-tester/cli.js`, and delete both `monorepo.js` files that contained it. - Add as `devDependency` to `rn-tester` and `helloworld`. - Skip `"*"` version deps in `_prepareHelloWorld()` so they aren't rewritten to the Verdaccio-published version. - Remove redundant desktop import ignore entry (`private/**` already covers it). - Rewrite README as reference implementation documentation. Changelog: [General][Breaking] - The `react-native/core-cli-utils` package is no longer published. It remains available in the React Native repo as a reference implementation. Reviewed By: cortinico Differential Revision: D105959855 fbshipit-source-id: 42e439a45273bdeca76029eff306cdf2451308e2
27 lines
586 B
JavaScript
27 lines
586 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.
|
|
*
|
|
* @flow strict-local
|
|
* @format
|
|
*/
|
|
|
|
/*::
|
|
import {Command} from 'commander';
|
|
*/
|
|
|
|
if (process.env.BUILD_EXCLUDE_BABEL_REGISTER == null) {
|
|
// $FlowFixMe[cannot-resolve-module]
|
|
require('../../scripts/shared/babelRegister').registerForMonorepo();
|
|
}
|
|
|
|
const program /*: Command */ = require('./cli.flow.js').default;
|
|
|
|
if (require.main === module) {
|
|
program.parse();
|
|
}
|
|
|
|
module.exports = program;
|