Files
notesnook/apps/mobile/native/metro.config.js
Ammar Ahmed 89c2d45a4b mobile: reduce app size (#3068)
* mobile: reduce app size

* editor: substitute all @mdi/js icons at build time

* mobile: add script to tree shake icon font file

* mobile: fix icon loading

* mobile: remove html-entities dep

* mobile: add missing icon fonts

* mobile: include plain editor

* mobile: add missing fonts

* mobile: use webpack-bundle

* mobile: keep generated fonts in repo

* mobile: update fonts

* mobile: fix duplicate key warning

* mobile: update fonts

* mobile: disable gesure on reminder sheet

* mobile: update fonts

* mobile: reset session correctly on logout

* mobile: update icon fonts

* mobile: set button action on reminder sheet

* mobile: add missing icons

* mobile: fix crash

* mobile: fix right menus

* mobile: remove console.log

* mobile: disable bounce effect

* mobile: update deps

---------

Co-authored-by: Abdullah Atta <abdullahatta@streetwriters.co>
2023-08-02 15:35:15 +05:00

45 lines
1.5 KiB
JavaScript

const {getDefaultConfig, mergeConfig} = require('@react-native/metro-config');
/**
* Metro configuration for React Native
* https://github.com/facebook/react-native
*
* @format
*/
// eslint-disable-next-line @typescript-eslint/no-var-requires
const path = require('path');
const nodeModulesPaths = [path.resolve(path.join(__dirname, '../node_modules'))];
const config = {
projectRoot: __dirname,
watchFolders: [
path.join(__dirname, '../app'),
path.join(__dirname, '../share'),
path.join(__dirname, '../node_modules'),
path.join(__dirname, '../e2e'),
path.join(__dirname, "../../../packages"),
]
};
const mergedConfig = mergeConfig(getDefaultConfig(__dirname), config);
mergedConfig.resolver = {
sourceExts: ['jsx', 'js', 'ts', 'tsx', 'cjs', "json"],
nodeModulesPaths,
extraNodeModules: {
"react": path.join(__dirname, "../node_modules/react"),
"react-dom": path.join(__dirname, "../node_modules/react-dom"),
"@notesnook": path.join(__dirname, "../../../packages"),
"@notifee/react-native": path.join(__dirname, "../node_modules/@ammarahmed/notifee-react-native"),
},
resolveRequest: (context, moduleName, platform) => {
if (moduleName ==='react') {
// Resolve react package from mobile app's node_modules folder always.
return {
filePath: path.resolve(path.join(__dirname, '../node_modules', "react","index.js")),
type: 'sourceFile',
};
}
return context.resolveRequest(context, moduleName, platform);
}
};
module.exports = mergedConfig;