From 166e3e5391b6dd8ef59db91a60b9ac6f7f106697 Mon Sep 17 00:00:00 2001 From: yqrashawn Date: Wed, 6 Mar 2024 21:15:50 +0800 Subject: [PATCH 1/2] build: ignore several files in node_modules changed by rn --- nix/scripts/node_modules.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nix/scripts/node_modules.sh b/nix/scripts/node_modules.sh index 0ac2e4d0b06..e2b678d5398 100755 --- a/nix/scripts/node_modules.sh +++ b/nix/scripts/node_modules.sh @@ -61,6 +61,8 @@ findFilesNewerThan() { -not -ipath "*/*android/build/*" -prune \ -not -ipath "*/xcuserdata/*" -prune \ -not -ipath "*/scripts/.packager.env" \ + -not -path "*/node_modules/react-native/ReactCommon/react/renderer/components/rncore/*" \ + -not -path "*/node_modules/react-native-config/ios/ReactNativeConfig/GeneratedDotEnv.m" \ -print } From 1096e6c4af6437b33b21776d56f2fababc0852c1 Mon Sep 17 00:00:00 2001 From: yqrashawn Date: Wed, 6 Mar 2024 21:21:38 +0800 Subject: [PATCH 2/2] build: trigger node-pre-gyp rebuild directly --- Makefile | 8 +++++--- nix/scripts/node_modules.sh | 8 ++++++++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 6ae2ca02b94..2a16a400e4f 100644 --- a/Makefile +++ b/Makefile @@ -331,13 +331,14 @@ shadow-server:##@ Start shadow-cljs in server mode for watching _test-clojure: export TARGET := clojure _test-clojure: export WATCH ?= false +_test-clojure: status-go-library _test-clojure: ifeq ($(WATCH), true) - yarn install && \ + yarn node-pre-gyp rebuild && \ yarn shadow-cljs compile mocks && \ nodemon --exec "yarn shadow-cljs compile test && node --require ./test-resources/override.js $$SHADOW_OUTPUT_TO" -e cljs else - yarn install && \ + yarn node-pre-gyp rebuild && \ yarn shadow-cljs compile mocks && \ yarn shadow-cljs compile test && \ node --require ./test-resources/override.js "$$SHADOW_OUTPUT_TO" @@ -350,8 +351,9 @@ test: _test-clojure test-watch-for-repl: export SHADOW_OUTPUT_TO := target/test/test.js test-watch-for-repl: export SHADOW_NS_REGEXP := .*-test$$ +test-watch-for-repl: status-go-library test-watch-for-repl: ##@test Watch all Clojure tests and support REPL connections - yarn install + yarn node-pre-gyp rebuild rm -f target/test/test.js yarn shadow-cljs compile mocks && \ concurrently --kill-others --prefix-colors 'auto' --names 'build,repl' \ diff --git a/nix/scripts/node_modules.sh b/nix/scripts/node_modules.sh index e2b678d5398..a419b8112bb 100755 --- a/nix/scripts/node_modules.sh +++ b/nix/scripts/node_modules.sh @@ -53,6 +53,14 @@ copyNodeModules() { # Find files that were modified and should cause a re-copying of node modules. # Some files are generated/modified by build processes and should be ignored. +# +# react-native/ReactCommon/react/renderer/components/rncore/* +# generated at runtime by react-native +# related code https://github.com/facebook/react-native/blob/v0.72.5/packages/react-native/ReactCommon/React-rncore.podspec#L19 +# +# react-native-config/ios/ReactNativeConfig/GeneratedDotEnv.m +# generated at runtime by react-native-config +# related code https://github.com/lugg/react-native-config/blob/v1.5.0/react-native-config.podspec#L52 findFilesNewerThan() { local sentinel="${1}" local dir="${2}"