Files
CBS-Mobile-App/metro.config.js
Abin ToppoandClaude Opus 5.5 f960a119e8 Add Positive Pay, statement guide v1.0, onboarding, and switch every feature on
- Positive Pay on the 12 Oct /pps contract (account number, not account ID):
  OTP enrollment, cheque submit, saved cheques, detail and stop payment.
  Full flow passed on the phone against mobile-banking-backend.lincpay.
- Statement & Mini Statement guide v1.0 (14 Oct): mini statement JSON on
  Home and the Statement screen; dated PDF export with the password rule.
- Onboarding slides and splash screen, Inter font, shared Icon and
  TypewriterText components, nearby branches via OpenStreetMap.
- Every feature switched on; the 14 Oct switch set is kept in
  featureConfig.stage-2026-10-14.ts. Loans run on demo data until the
  backend has /loans routes.
- npm run android wraps run-android for shells spawned from VS Code.
- OpenProject work packages updated to 14-10-2026 status, with screenshots
  of Positive Pay, statement, loans and cards.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 18:18:40 +05:30

50 lines
2.0 KiB
JavaScript

const { getDefaultConfig, mergeConfig } = require('@react-native/metro-config');
const exclusionList = require('metro-config/private/defaults/exclusionList').default;
/*
* "Open DevTools" launches React Native DevTools, which is an Electron app
* spawned from this process with this process's environment. VS Code sets
* ELECTRON_RUN_AS_NODE=1 for everything its extensions start, so a Metro
* launched from inside the editor hands that on, and the DevTools app then
* runs as plain Node, rejects `--frontendUrl` as a "bad option" and exits.
* Nothing opens and the app shows no error. Metro itself is not Electron, so
* dropping the variable here costs nothing.
*/
delete process.env.ELECTRON_RUN_AS_NODE;
/**
* Metro configuration
* https://reactnative.dev/docs/metro
*
* Native build output (android/app/build alone is >2GB after a debug build) is
* excluded from the file crawl. Without watchman installed Metro walks these
* directories on startup and never becomes responsive.
*
* The same crawl runs on every start, and it walks every file that is not
* blocked here. @hugeicons/core-free-icons alone ships ~24,000 files — a
* CommonJS copy, type definitions and a source map for each of ~6,000 icons —
* out of ~70,000 in node_modules. Metro resolves the icons to `dist/esm/*.js`
* only, so the rest is skipped. If an icon import ever fails to resolve after
* a library upgrade, check these two entries first.
*
* @type {import('@react-native/metro-config').MetroConfig}
*/
const config = {
resolver: {
blockList: exclusionList([
/\/android\/build\/.*/,
/\/android\/app\/build\/.*/,
/\/android\/\.gradle\/.*/,
/\/android\/\.kotlin\/.*/,
/\/node_modules\/.*\/android\/build\/.*/,
/\/\.cxx\/.*/,
/\/ios\/build\/.*/,
/\/ios\/Pods\/.*/,
/\/node_modules\/@hugeicons\/core-free-icons\/dist\/(cjs|types)\/.*/,
/\/node_modules\/@hugeicons\/core-free-icons\/dist\/esm\/.*\.map$/,
]),
},
};
module.exports = mergeConfig(getDefaultConfig(__dirname), config);