diff --git a/example/metro.config.js b/example/metro.config.js index 9430b0f..a660192 100644 --- a/example/metro.config.js +++ b/example/metro.config.js @@ -1,4 +1,29 @@ // Learn more https://docs.expo.io/guides/customizing-metro const { getDefaultConfig } = require('expo/metro-config'); +const exclusionList = require('metro-config/src/defaults/exclusionList'); -module.exports = getDefaultConfig(__dirname); +const path = require('path'); +const pak = require('../package.json'); + +const root = path.resolve(__dirname, '..'); +const modules = Object.keys({ + ...pak.peerDependencies, +}); + +let config = getDefaultConfig(__dirname); +config.projectRoot = __dirname; +config.watchFolders = [root]; + +config.resolver = { + blacklistRE: exclusionList( + modules.map( + (m) => new RegExp(`^${escape(path.join(root, 'node_modules', m))}\\/.*$`) + ) + ), + extraNodeModules: modules.reduce((acc, name) => { + acc[name] = path.join(__dirname, 'node_modules', name); + return acc; + }, {}), +}; + +module.exports = config; diff --git a/example/package-lock.json b/example/package-lock.json index 05e6eec..69f0dbc 100644 --- a/example/package-lock.json +++ b/example/package-lock.json @@ -8,7 +8,7 @@ "name": "@waku/react-native-example", "version": "0.0.1", "dependencies": { - "@waku/react-native": "^0.0.12", + "@waku/react-native": "file:../", "expo": "~47.0.8", "expo-splash-screen": "~0.17.5", "expo-status-bar": "~1.4.2", @@ -19,6 +19,42 @@ "@babel/core": "^7.12.9" } }, + "..": { + "name": "@waku/react-native", + "version": "0.0.12", + "license": "MIT", + "dependencies": { + "base-64": "^1.0.0", + "big-integer": "^1.6.51" + }, + "devDependencies": { + "@arkweid/lefthook": "^0.7.7", + "@babel/eslint-parser": "^7.18.2", + "@commitlint/config-conventional": "^17.0.2", + "@react-native-community/eslint-config": "^3.0.2", + "@release-it/conventional-changelog": "^5.0.0", + "@types/base-64": "^1.0.0", + "@types/jest": "^28.1.2", + "@types/react": "~17.0.21", + "@types/react-native": "0.68.0", + "commitlint": "^17.0.2", + "eslint": "^8.4.1", + "eslint-config-prettier": "^8.5.0", + "eslint-plugin-prettier": "^4.0.0", + "jest": "^28.1.1", + "pod-install": "^0.1.0", + "prettier": "^2.0.5", + "react": "17.0.2", + "react-native": "0.68.2", + "react-native-builder-bob": "^0.18.3", + "release-it": "^15.0.0", + "typescript": "^4.5.2" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, "node_modules/@ampproject/remapping": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", @@ -3801,17 +3837,8 @@ "license": "MIT" }, "node_modules/@waku/react-native": { - "version": "0.0.12", - "resolved": "https://registry.npmjs.org/@waku/react-native/-/react-native-0.0.12.tgz", - "integrity": "sha512-1PsDzy/qsohT/qOi7tY7a9RrOB7dAaFbkxoHMVyhk0fjzyCFB9vXS7zExQkgknsdrnPuqofqkfpuiTIpw+nokg==", - "dependencies": { - "base-64": "^1.0.0", - "big-integer": "^1.6.51" - }, - "peerDependencies": { - "react": "*", - "react-native": "*" - } + "resolved": "..", + "link": true }, "node_modules/@xmldom/xmldom": { "version": "0.7.9", @@ -4309,11 +4336,6 @@ "node": ">=0.10.0" } }, - "node_modules/base-64": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/base-64/-/base-64-1.0.0.tgz", - "integrity": "sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==" - }, "node_modules/base/node_modules/define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", @@ -14022,12 +14044,31 @@ } }, "@waku/react-native": { - "version": "0.0.12", - "resolved": "https://registry.npmjs.org/@waku/react-native/-/react-native-0.0.12.tgz", - "integrity": "sha512-1PsDzy/qsohT/qOi7tY7a9RrOB7dAaFbkxoHMVyhk0fjzyCFB9vXS7zExQkgknsdrnPuqofqkfpuiTIpw+nokg==", + "version": "file:..", "requires": { + "@arkweid/lefthook": "^0.7.7", + "@babel/eslint-parser": "^7.18.2", + "@commitlint/config-conventional": "^17.0.2", + "@react-native-community/eslint-config": "^3.0.2", + "@release-it/conventional-changelog": "^5.0.0", + "@types/base-64": "^1.0.0", + "@types/jest": "^28.1.2", + "@types/react": "~17.0.21", + "@types/react-native": "0.68.0", "base-64": "^1.0.0", - "big-integer": "^1.6.51" + "big-integer": "^1.6.51", + "commitlint": "^17.0.2", + "eslint": "^8.4.1", + "eslint-config-prettier": "^8.5.0", + "eslint-plugin-prettier": "^4.0.0", + "jest": "^28.1.1", + "pod-install": "^0.1.0", + "prettier": "^2.0.5", + "react": "17.0.2", + "react-native": "0.68.2", + "react-native-builder-bob": "^0.18.3", + "release-it": "^15.0.0", + "typescript": "^4.5.2" } }, "@xmldom/xmldom": { @@ -14389,11 +14430,6 @@ } } }, - "base-64": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/base-64/-/base-64-1.0.0.tgz", - "integrity": "sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==" - }, "base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", diff --git a/example/package.json b/example/package.json index 4997e7f..48e09fa 100644 --- a/example/package.json +++ b/example/package.json @@ -10,7 +10,7 @@ "web": "expo start --web" }, "dependencies": { - "@waku/react-native": "^0.0.12", + "@waku/react-native": "file:../", "expo": "~47.0.8", "expo-splash-screen": "~0.17.5", "expo-status-bar": "~1.4.2",