File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -27,7 +27,29 @@ RN_PROJECT_ROOT="${PROJECT_DIR}/.."
2727[ -z " $SENTRY_DOTENV_PATH " ] && export SENTRY_DOTENV_PATH=" $RN_PROJECT_ROOT /.env.sentry-build-plugin"
2828
2929[ -z " $SENTRY_CLI_EXECUTABLE " ] && SENTRY_CLI_PACKAGE_PATH=$( " $LOCAL_NODE_BINARY " --print " require('path').dirname(require.resolve('@sentry/cli/package.json'))" )
30- [ -z " $SENTRY_CLI_EXECUTABLE " ] && SENTRY_CLI_EXECUTABLE=" ${SENTRY_CLI_PACKAGE_PATH} /bin/sentry-cli"
30+ [ -z " $SOURCEMAP_FILE " ] && export SOURCEMAP_FILE=" $DERIVED_FILE_DIR /main.jsbundle.map"
31+
32+ if [ -z " $SENTRY_CLI_EXECUTABLE " ]; then
33+ # Try standard resolution safely
34+ RESOLVED_PATH=$(
35+ " $LOCAL_NODE_BINARY " --print " require('path').dirname(require.resolve('@sentry/cli/package.json'))" 2> /dev/null
36+ ) || true
37+ if [ -n " $RESOLVED_PATH " ]; then
38+ SENTRY_CLI_PACKAGE_PATH=" $RESOLVED_PATH "
39+ else
40+ # Fallback: parse NODE_PATH from the .bin/sentry-cli shim (file generated by PNPM)
41+ PNPM_BIN_PATH=" $PWD /../node_modules/@sentry/react-native/node_modules/.bin/sentry-cli"
42+
43+ if [ -f " $PNPM_BIN_PATH " ]; then
44+ CLI_FILE_TEXT=$( cat " $PNPM_BIN_PATH " )
45+
46+ # Filter where PNPM stored Sentry CLI
47+ NODE_PATH_LINE=$( echo " $CLI_FILE_TEXT " | grep -oE ' NODE_PATH="[^"]+"' | head -n1)
48+ NODE_PATH_VALUE=$( echo " $NODE_PATH_LINE " | sed -E ' s/^NODE_PATH="([^"]+)".*/\1/' )
49+ SENTRY_CLI_PACKAGE_PATH=${NODE_PATH_VALUE%%/ bin* }
50+ fi
51+ fi
52+ fi
3153
3254[[ $SENTRY_INCLUDE_NATIVE_SOURCES == " true" ]] && INCLUDE_SOURCES_FLAG=" --include-sources" || INCLUDE_SOURCES_FLAG=" "
3355
Original file line number Diff line number Diff line change @@ -16,7 +16,27 @@ RN_PROJECT_ROOT="${PROJECT_DIR}/.."
1616[ -z " $SENTRY_DOTENV_PATH " ] && export SENTRY_DOTENV_PATH=" $RN_PROJECT_ROOT /.env.sentry-build-plugin"
1717[ -z " $SOURCEMAP_FILE " ] && export SOURCEMAP_FILE=" $DERIVED_FILE_DIR /main.jsbundle.map"
1818
19- [ -z " $SENTRY_CLI_EXECUTABLE " ] && SENTRY_CLI_PACKAGE_PATH=$( " $LOCAL_NODE_BINARY " --print " require('path').dirname(require.resolve('@sentry/cli/package.json'))" )
19+ if [ -z " $SENTRY_CLI_EXECUTABLE " ]; then
20+ # Try standard resolution safely
21+ RESOLVED_PATH=$(
22+ " $LOCAL_NODE_BINARY " --print " require('path').dirname(require.resolve('@sentry/cli/package.json'))" 2> /dev/null
23+ ) || true
24+ if [ -n " $RESOLVED_PATH " ]; then
25+ SENTRY_CLI_PACKAGE_PATH=" $RESOLVED_PATH "
26+ else
27+ # Fallback: parse NODE_PATH from the .bin/sentry-cli shim (file generated by PNPM)
28+ PNPM_BIN_PATH=" $PWD /../node_modules/@sentry/react-native/node_modules/.bin/sentry-cli"
29+
30+ if [ -f " $PNPM_BIN_PATH " ]; then
31+ CLI_FILE_TEXT=$( cat " $PNPM_BIN_PATH " )
32+
33+ # Filter where PNPM stored Sentry CLI
34+ NODE_PATH_LINE=$( echo " $CLI_FILE_TEXT " | grep -oE ' NODE_PATH="[^"]+"' | head -n1)
35+ NODE_PATH_VALUE=$( echo " $NODE_PATH_LINE " | sed -E ' s/^NODE_PATH="([^"]+)".*/\1/' )
36+ SENTRY_CLI_PACKAGE_PATH=${NODE_PATH_VALUE%%/ bin* }
37+ fi
38+ fi
39+ fi
2040[ -z " $SENTRY_CLI_EXECUTABLE " ] && SENTRY_CLI_EXECUTABLE=" ${SENTRY_CLI_PACKAGE_PATH} /bin/sentry-cli"
2141
2242REACT_NATIVE_XCODE=$1
You can’t perform that action at this time.
0 commit comments