diff --git a/package.json b/package.json index fdca500..dd28900 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "start": "expo start", "android": "expo run:android", "android:release": "rm -rf android/app/build/generated/assets/react && ORG_GRADLE_PROJECT_reactNativeArchitectures=arm64-v8a expo run:android --variant release", - "android:preview": "rm -rf android/app/build/generated/assets/react && ORG_GRADLE_PROJECT_reactNativeArchitectures=arm64-v8a expo run:android --variant preview --no-bundler", + "android:preview": "rm -rf android/app/build/generated/assets/react && NODE_ENV=production BABEL_ENV=production ORG_GRADLE_PROJECT_reactNativeArchitectures=arm64-v8a expo run:android --variant preview --no-bundler", "ios": "expo run:ios", "web": "expo start --web", "lint": "expo lint", diff --git a/plugins/withAstraAndroidRelease.test.mjs b/plugins/withAstraAndroidRelease.test.mjs index 61c328d..d3804cb 100644 --- a/plugins/withAstraAndroidRelease.test.mjs +++ b/plugins/withAstraAndroidRelease.test.mjs @@ -56,6 +56,18 @@ test('adds an idempotent side-by-side Astra Dev preview build', () => { assert.equal(_internal.addPreviewBuildType(transformed), transformed); }); +test('builds the side-by-side preview with production JS transforms', async () => { + const packageJson = JSON.parse( + await readFile(new URL('../package.json', import.meta.url), 'utf8') + ); + const previewCommand = packageJson.scripts?.['android:preview']; + + assert.equal(typeof previewCommand, 'string'); + assert.match(previewCommand, /(?:^|\s)NODE_ENV=production(?:\s|$)/); + assert.match(previewCommand, /(?:^|\s)BABEL_ENV=production(?:\s|$)/); + assert.match(previewCommand, /--variant preview(?:\s|$)/); +}); + test('appendBlock adds a native block exactly once', () => { const once = _internal.appendBlock('base\n', _internal.SETTINGS_MARKER, `\n${_internal.SETTINGS_MARKER}\nblock\n`); const twice = _internal.appendBlock(once, _internal.SETTINGS_MARKER, `\n${_internal.SETTINGS_MARKER}\nblock\n`);