7a1e6b06c1
- docker/android.Dockerfile: install nodejs (image ships Bun; ci-android-sign.sh patches build.gradle with a Node script). - buffer polyfill: whisper.rn -> safe-buffer requires Node's `buffer`, absent in Metro/RN. Add `buffer` dep, alias it in metro.config.js, set the global in _layout. Web export unaffected (verified). Validated locally end-to-end: assembleRelease BUILD SUCCESSFUL, 117MB APK across all 4 ABIs with librnwhisper.so, signed (CN=Wisp, O=briggen.dev). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
15 lines
576 B
JavaScript
15 lines
576 B
JavaScript
// Extends Expo's default Metro config. The only customization is a `buffer`
|
|
// polyfill: whisper.rn (native) pulls in `safe-buffer`, which `require('buffer')`
|
|
// — a Node core module Metro doesn't ship for React Native. Aliasing it to the
|
|
// userland `buffer` package lets the native bundle resolve. Harmless on web.
|
|
const { getDefaultConfig } = require('expo/metro-config');
|
|
|
|
const config = getDefaultConfig(__dirname);
|
|
|
|
config.resolver.extraNodeModules = {
|
|
...(config.resolver.extraNodeModules || {}),
|
|
buffer: require.resolve('buffer/'),
|
|
};
|
|
|
|
module.exports = config;
|