react-native-macos/scripts
Ivan Moskalev 07e4953514 Invoke `node` directly in generate-specs.sh (#30781)
Summary:
Currently, Codegen bash wrapper (`generate-specs.sh`) for Xcode invokes JS-based Codegen tooling via `yarn --silent node <...>`. This breaks both:

- when Yarn is not installed (if NPM is used), for obvious reasons
- when Yarn v2 ("Berry") is active

This PR changes the way `generate-specs.sh` locates `node` executable to the following algorithm:

- use the path provided in the `NODE_BINARY` env var
- if `NODE_BINARY` env var is not defined, find `node` with `command -v node`

## Changelog

[iOS] [Fixed] - Fix Codegen silently failing when Yarn is not installed, or when Yarn v2 is active.

Pull Request resolved: https://github.com/facebook/react-native/pull/30781

Test Plan:
### Case 1 (no Yarn installed)

1. Ensure `yarn` is not present in PATH
2. Run Xcode build
3. Check that Codegen artifacts are produced

### Case 2 (Yarn v2 is used)

1. Ensure `yarn` is running in the v2 ("Berry") mode
2. Run Xcode build
3. Check that Codegen artifacts are produced

Reviewed By: fkgozali

Differential Revision: D26187081

Pulled By: hramos

fbshipit-source-id: 77d3089f523b8c976d8223b77ff9553cb6cf68a5
2021-02-02 15:10:48 -08:00
..
circleci Add Java linting using google-java-format (#30444) 2020-12-07 03:12:35 -08:00
versiontemplates Migrate large amount of modules to flow strict and strict-local 2020-07-22 09:46:16 -07:00
.packager.env Move YGStyle to seperate file and add constructors 2018-02-20 05:55:36 -08:00
.tests.env Docker android: addressing AVD launch issue (#30279) 2020-10-31 12:48:54 -07:00
android-e2e-test.js "The Metro Server" -> Metro 2020-07-02 14:51:18 -07:00
android-setup.sh Docker android: addressing AVD launch issue (#30279) 2020-10-31 12:48:54 -07:00
bump-oss-version.js Split React Native repo into product/infra packages 2020-08-18 12:10:09 -07:00
compose-source-maps.js Tidy up license headers [2/n] 2019-10-16 10:06:34 -07:00
generate-api-docs.js Generate doc info for RN components 2019-09-19 18:36:25 -07:00
generate-specs-cli.js Remove moduleSpecName 2021-01-07 19:39:56 -08:00
generate-specs.sh Invoke `node` directly in generate-specs.sh (#30781) 2021-02-02 15:10:48 -08:00
ios-configure-glog.sh fix glog pod install with Xcode 12 (#30372) 2021-01-19 13:45:15 -08:00
launchPackager.bat Remove .gitattributes and normalize line endings (#29792) 2020-09-04 13:44:40 -07:00
launchPackager.command Metro Bundler -> Metro 2019-08-16 10:37:10 -07:00
lint-java.js Add Java linting using google-java-format (#30444) 2020-12-07 03:12:35 -08:00
node-binary.sh Fix: use NODE_BINARY when starting packager (#24156) 2019-04-10 07:39:23 -07:00
objc-test.sh Migrating RNTester to Packages Directory (#29567) 2020-08-19 17:57:08 -07:00
packager.sh Use CocoaPods-based RNTesterPods for iOS tests (#25416) 2019-06-28 19:18:10 -07:00
process-podspecs.sh Update copyright headers to yearless format 2018-09-11 15:33:07 -07:00
publish-npm.js remove -javadoc.jar, -sources.jar from NPM package validation (#30686) 2021-01-05 17:44:51 -08:00
react-native-xcode.sh Don't minify JS bundle by default when using hermes (#30496) 2020-12-01 17:17:06 -08:00
react_native_pods.rb Make codegen more reliable on iOS (#30792) 2021-02-01 14:39:25 -08:00
run-android-ci-instrumentation-tests.js Upgrade Prettier in Xplat to version 1.19.1 2020-04-09 11:01:58 -07:00
run-android-emulator.sh Move non-license comments out of license header 2019-10-15 20:12:12 -07:00
run-android-local-integration-tests.sh Updating the URLs to point at new domain name reactnative.dev 2020-02-24 13:09:11 -08:00
run-android-local-unit-tests.sh Updating the URLs to point at new domain name reactnative.dev 2020-02-24 13:09:11 -08:00
run-ci-e2e-tests.js Create `@react-native/polyfills` package. 2020-07-22 03:02:45 -07:00
run-ci-javascript-tests.js Add react-native-oss-e2e job to Sandcastle, running JavaScript e2e tests from open source 2019-04-15 11:07:54 -07:00
run-instrumentation-tests-via-adb-shell.sh Move non-license comments out of license header 2019-10-15 20:12:12 -07:00
set-rn-template-version.js Adjust test manual e2e script to work with new init (#24583) 2019-04-25 02:03:10 -07:00
sync-css-layout.sh Clean up instances of scripts/signedsource.py 2019-03-14 13:42:27 -07:00
test-manual-e2e.sh Migrating RNTester to Packages Directory (#29567) 2020-08-19 17:57:08 -07:00
try-n-times.js Fix linting issues (#22062) 2018-11-01 14:29:16 -07:00
validate-android-device-env.sh Update Broken Link #devcjog25 (#27025) 2019-10-28 12:11:45 -07:00
validate-android-sdk.sh Updating the URLs to point at new domain name reactnative.dev 2020-02-24 13:09:11 -08:00
validate-android-test-env.sh Updating the URLs to point at new domain name reactnative.dev 2020-02-24 13:09:11 -08:00
validate-ios-test-env.sh Update Node version to >= 12 (#30252) 2020-10-29 07:40:36 -07:00