diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 323a58cb..f6d264bc 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -55,7 +55,7 @@ jobs: run: npm ci - name: PreBuild Android - run: npx expo prebuild -p android --clean + run: yes | npx expo prebuild -p android --clean - name: make gradlew executable run: chmod +x ./android/gradlew diff --git a/package.json b/package.json index 53964dca..874c1f6e 100644 --- a/package.json +++ b/package.json @@ -1,166 +1,168 @@ { - "name": "enuts", - "description": "A Cashu wallet for Android and iOS", - "author": "Agron Kadriaj (https://agron.dev)", - "scripts": { - "s:debug:full": "npx -y cross-env@latest DEBUG=full expo start -c", - "s:c": "expo start -c --go", - "start": "expo start --go", - "lint:eslint": "npx eslint ./src --ext .js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts,.json --fix", - "lint": "npm run lint:eslint && npx tsc && npm run fmtJson", - "ts:check": "npx tsc", - "dep:update": "npx -y npm-check-updates --pre -u -u && npm i && npm audit fix || true && npx expo@latest install --fix && npm run lint", - "dep:check": "npx -y depcheck@latest", - "fmtJson": "npx prettier assets/translations/*.json .github/workflows/*.yml ./*.json --write --use-tabs --tab-width 4", - "expo:i:check": "npx expo@latest install --check", - "expo:i:fix": "npx expo@latest install --fix", - "expo:doc": "npx -y expo-doctor@latest", - "prebuild:android": "npx expo prebuild --platform android --clean", - "build:dev": "npx -y eas-cli@latest build -e development -p android -m devWithDevClient --no-wait", - "build:preview:android": "npx -y eas-cli@latest build -e preview -p android -m manualPreview --no-wait", - "build:preview:ios": "npx -y eas-cli@latest build -e preview -p ios -m manualPreview --no-wait", - "build:prod:android": "npx -y eas-cli@latest build -e production -p android -m manualProduction --no-wait", - "build:prod:ios": "npx -y eas-cli@latest build -e production -p ios -m manualProduction --no-wait", - "build:beta:android": "npx -y eas-cli@latest build -e beta -p android -m manualBeta --no-wait", - "build:beta:ios": "npx -y eas-cli@latest build -e beta -p ios -m manualBeta --no-wait", - "build:ci:preview:android": "npx -y eas-cli@latest build --non-interactive -e preview -p android -m ciPreview --no-wait", - "build:ci:preview:ios": "npx -y eas-cli@latest build --non-interactive -e preview -p ios -m ciPreview --no-wait", - "build:ci:prod:android": "npx -y eas-cli@latest build --non-interactive -e production -p android -m ciProduction --no-wait", - "build:ci:prod:ios": "npx -y eas-cli@latest build --non-interactive -e production -p ios -m ciProduction --no-wait", - "submit:ios": "npx -y eas-cli@latest submit -p ios", - "ios": "expo run:ios", - "test": "npx -y jest -c ./config/jest.config.ts --passWithNoTests ", - "test:coverage": "npm run test -- --collectCoverage", - "test:dev": "npm run test -- --detectOpenHandles", - "cpd:ts": "npx -y jscpd -c config/cpd.config.ts.json src config", - "cpd:tsx": "npx -y jscpd -c config/cpd.config.tsx.json src", - "cpd": "npm run cpd:ts && npm run cpd:tsx", - "deps:c": "npx -y madge --circular --ts-config tsconfig.json --extensions ts,tsx .", - "eas-build-pre-install": "# -- # echo \"require('./src/index.js')\" > index.js", - "update-translations": "node utils/update-translations.js", - "android": "expo run:android", - "detox:build:android": "npx detox build -c android.emu.release", - "detox:test:android:ci": "npx detox test -c android.emu.release --headless --record-logs all" - }, - "dependencies": { - "@cashu/cashu-ts": "^0.9.0", - "@react-native-community/netinfo": "11.3.1", - "@react-navigation/core": "^6.4.16", - "@react-navigation/native": "^6.1.17", - "@react-navigation/native-stack": "^6.9.26", - "@sentry/react-native": "~5.22.0", - "@shopify/flash-list": "1.6.4", - "bech32": "^2.0.0", - "crypto-js": "4.2.0", - "expo-application": "~5.9.1", - "expo-barcode-scanner": "~13.0.1", - "expo-camera": "~15.0.9", - "expo-clipboard": "~6.0.3", - "expo-constants": "~16.0.1", - "expo-crypto": "~13.0.2", - "expo-device": "~6.0.2", - "expo-file-system": "~17.0.1", - "expo-image": "~1.12.9", - "expo-insights": "~0.7.0", - "expo-localization": "~15.0.3", - "expo-secure-store": "~13.0.1", - "expo-splash-screen": "~0.27.4", - "expo-sqlite": "~14.0.3", - "expo-status-bar": "~1.12.1", - "expo-updates": "~0.25.14", - "i18next": "^23.10.1", - "lottie-react-native": "6.7.0", - "nostr-tools": "^1.17.0", - "react-i18next": "^14.1.0", - "react-native": "0.74.1", - "react-native-gesture-handler": "~2.16.1", - "react-native-onboarding-swiper": "^1.2.0", - "react-native-popup-menu": "^0.16.1", - "react-native-qrcode-svg": "^6.3.0", - "react-native-reanimated": "~3.10.1", - "react-native-safe-area-context": "4.10.1", - "react-native-screens": "3.31.1", - "react-native-size-matters": "^0.4.2", - "react-native-svg": "15.2.0", - "text-encoding-polyfill": "^0.6.7" - }, - "devDependencies": { - "@babel/core": "^7.24.3", - "@babel/plugin-proposal-private-methods": "^7.18.6", - "@config-plugins/detox": "^7.0.0", - "@getify/eslint-plugin-proper-arrows": "^11.0.3", - "@testing-library/react-native": "^12.4.5", - "@types/babel__core": "^7.20.5", - "@types/crypto-js": "^4.2.2", - "@types/jest": "^29.5.12", - "@types/node": "^20.12.2", - "@types/react": "~18.2.79", - "@types/react-native-onboarding-swiper": "^1.1.9", - "@types/sqlite3": "^3.1.11", - "@typescript-eslint/eslint-plugin": "^7.4.0", - "@typescript-eslint/parser": "^7.4.0", - "detox": "^20.19.4", - "dotenv": "^16.4.5", - "eslint": "^8.57.0", - "eslint-plugin-deprecate": "^0.8.4", - "eslint-plugin-import": "^2.29.1", - "eslint-plugin-jest": "^27.9.0", - "eslint-plugin-jsdoc": "^48.2.2", - "eslint-plugin-json": "^3.1.0", - "eslint-plugin-node": "^11.1.0", - "eslint-plugin-promise": "^6.1.1", - "eslint-plugin-react": "^7.34.1", - "eslint-plugin-react-hooks": "^4.6.0", - "eslint-plugin-simple-import-sort": "^12.0.0", - "eslint-plugin-tsdoc": "^0.2.17", - "jest": "^29.7.0", - "jest-expo": "~51.0.2", - "metro-config": "^0.80.8", - "prettier": "^3.2.5", - "ts-jest": "^29.1.2", - "ts-jest-resolver": "^2.0.1", - "ts-node": "^10.9.2", - "typescript": "~5.3.3", - "websql": "^2.0.3" - }, - "overrides": { - "expo": "51.0.8", - "react": "^18.3.1" - }, - "homepage": ".", - "contributors": [ - { - "name": "BilligsterUser", - "email": "billigsteruser@protonmail.com", - "url": "https://github.com/BilligsterUser" - } - ], - "repository": { - "type": "git", - "url": "git+https://github.com/cashubtc/eNuts" - }, - "keywords": [ - "cashu", - "ecash", - "micropayments", - "payments", - "android", - "ios", - "privacy", - "lightning", - "bitcoin", - "enuts", - "nuts", - "chaumian", - "cashubtc", - "secp256k1", - "blind-signatures", - "lightning-network" - ], - "version": "0.4.0", - "license": "AGPL-3.0-only", - "bugs": { - "url": "https://github.com/cashubtc/eNuts/issues" - }, - "main": "/src/index.js" + "name": "enuts", + "description": "A Cashu wallet for Android and iOS", + "author": "Agron Kadriaj (https://agron.dev)", + "scripts": { + "s:debug:full": "npx -y cross-env@latest DEBUG=full expo start -c", + "s:c": "expo start -c --go", + "start": "expo start --go", + "lint:eslint": "npx eslint ./src --ext .js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts,.json --fix", + "lint": "npm run lint:eslint && npx tsc && npm run fmtJson", + "ts:check": "npx tsc", + "dep:update": "npx -y npm-check-updates --pre -u -u && npm i && npm audit fix || true && npx expo@latest install --fix && npm run lint", + "dep:check": "npx -y depcheck@latest", + "fmtJson": "npx prettier assets/translations/*.json .github/workflows/*.yml ./*.json --write --use-tabs --tab-width 4", + "expo:i:check": "npx expo@latest install --check", + "expo:i:fix": "npx expo@latest install --fix", + "expo:doc": "npx -y expo-doctor@latest", + "prebuild:android": "npx expo prebuild --platform android --clean", + "build:dev": "npx -y eas-cli@latest build -e development -p android -m devWithDevClient --no-wait", + "build:preview:android": "npx -y eas-cli@latest build -e preview -p android -m manualPreview --no-wait", + "build:preview:ios": "npx -y eas-cli@latest build -e preview -p ios -m manualPreview --no-wait", + "build:prod:android": "npx -y eas-cli@latest build -e production -p android -m manualProduction --no-wait", + "build:prod:ios": "npx -y eas-cli@latest build -e production -p ios -m manualProduction --no-wait", + "build:beta:android": "npx -y eas-cli@latest build -e beta -p android -m manualBeta --no-wait", + "build:beta:ios": "npx -y eas-cli@latest build -e beta -p ios -m manualBeta --no-wait", + "build:ci:preview:android": "npx -y eas-cli@latest build --non-interactive -e preview -p android -m ciPreview --no-wait", + "build:ci:preview:ios": "npx -y eas-cli@latest build --non-interactive -e preview -p ios -m ciPreview --no-wait", + "build:ci:prod:android": "npx -y eas-cli@latest build --non-interactive -e production -p android -m ciProduction --no-wait", + "build:ci:prod:ios": "npx -y eas-cli@latest build --non-interactive -e production -p ios -m ciProduction --no-wait", + "submit:ios": "npx -y eas-cli@latest submit -p ios", + "ios": "expo run:ios", + "test": "npx -y jest -c ./config/jest.config.ts --passWithNoTests ", + "test:coverage": "npm run test -- --collectCoverage", + "test:dev": "npm run test -- --detectOpenHandles", + "cpd:ts": "npx -y jscpd -c config/cpd.config.ts.json src config", + "cpd:tsx": "npx -y jscpd -c config/cpd.config.tsx.json src", + "cpd": "npm run cpd:ts && npm run cpd:tsx", + "deps:c": "npx -y madge --circular --ts-config tsconfig.json --extensions ts,tsx .", + "eas-build-pre-install": "# -- # echo \"require('./src/index.js')\" > index.js", + "update-translations": "node utils/update-translations.js", + "android": "expo run:android", + "detox:build:android": "npx detox build -c android.emu.release", + "detox:test:android:ci": "npx detox test -c android.emu.release --headless --record-logs all" + }, + "dependencies": { + "@cashu/cashu-ts": "^0.9.0", + "@react-native-community/netinfo": "11.3.1", + "@react-navigation/core": "^6.4.16", + "@react-navigation/native": "^6.1.17", + "@react-navigation/native-stack": "^6.9.26", + "@sentry/react-native": "~5.22.0", + "@shopify/flash-list": "1.6.4", + "bech32": "^2.0.0", + "crypto-js": "4.2.0", + "expo-application": "~5.9.1", + "expo-barcode-scanner": "~13.0.1", + "expo-camera": "~15.0.9", + "expo-clipboard": "~6.0.3", + "expo-constants": "~16.0.1", + "expo-crypto": "~13.0.2", + "expo-device": "~6.0.2", + "expo-file-system": "~17.0.1", + "expo-image": "~1.12.9", + "expo-insights": "~0.7.0", + "expo-localization": "~15.0.3", + "expo-secure-store": "~13.0.1", + "expo-splash-screen": "~0.27.4", + "expo-sqlite": "~14.0.3", + "expo-status-bar": "~1.12.1", + "expo-updates": "~0.25.14", + "i18next": "^23.10.1", + "lottie-react-native": "6.7.0", + "nostr-tools": "^1.17.0", + "react-i18next": "^14.1.0", + "react-native": "0.74.1", + "react-native-gesture-handler": "~2.16.1", + "react-native-onboarding-swiper": "^1.2.0", + "react-native-popup-menu": "^0.16.1", + "react-native-qrcode-svg": "^6.3.0", + "react-native-reanimated": "~3.10.1", + "react-native-safe-area-context": "4.10.1", + "react-native-screens": "3.31.1", + "react-native-size-matters": "^0.4.2", + "react-native-svg": "15.2.0", + "text-encoding-polyfill": "^0.6.7", + "expo": "~51.0.8", + "react": "18.2.0" + }, + "devDependencies": { + "@babel/core": "^7.24.3", + "@babel/plugin-proposal-private-methods": "^7.18.6", + "@config-plugins/detox": "^7.0.0", + "@getify/eslint-plugin-proper-arrows": "^11.0.3", + "@testing-library/react-native": "^12.4.5", + "@types/babel__core": "^7.20.5", + "@types/crypto-js": "^4.2.2", + "@types/jest": "^29.5.12", + "@types/node": "^20.12.2", + "@types/react": "~18.2.79", + "@types/react-native-onboarding-swiper": "^1.1.9", + "@types/sqlite3": "^3.1.11", + "@typescript-eslint/eslint-plugin": "^7.4.0", + "@typescript-eslint/parser": "^7.4.0", + "detox": "^20.19.4", + "dotenv": "^16.4.5", + "eslint": "^8.57.0", + "eslint-plugin-deprecate": "^0.8.4", + "eslint-plugin-import": "^2.29.1", + "eslint-plugin-jest": "^27.9.0", + "eslint-plugin-jsdoc": "^48.2.2", + "eslint-plugin-json": "^3.1.0", + "eslint-plugin-node": "^11.1.0", + "eslint-plugin-promise": "^6.1.1", + "eslint-plugin-react": "^7.34.1", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-simple-import-sort": "^12.0.0", + "eslint-plugin-tsdoc": "^0.2.17", + "jest": "^29.7.0", + "jest-expo": "~51.0.2", + "metro-config": "^0.80.8", + "prettier": "^3.2.5", + "ts-jest": "^29.1.2", + "ts-jest-resolver": "^2.0.1", + "ts-node": "^10.9.2", + "typescript": "~5.3.3", + "websql": "^2.0.3" + }, + "overrides": { + "expo": "51.0.8", + "react": "^18.3.1" + }, + "homepage": ".", + "contributors": [ + { + "name": "BilligsterUser", + "email": "billigsteruser@protonmail.com", + "url": "https://github.com/BilligsterUser" + } + ], + "repository": { + "type": "git", + "url": "git+https://github.com/cashubtc/eNuts" + }, + "keywords": [ + "cashu", + "ecash", + "micropayments", + "payments", + "android", + "ios", + "privacy", + "lightning", + "bitcoin", + "enuts", + "nuts", + "chaumian", + "cashubtc", + "secp256k1", + "blind-signatures", + "lightning-network" + ], + "version": "0.4.0", + "license": "AGPL-3.0-only", + "bugs": { + "url": "https://github.com/cashubtc/eNuts/issues" + }, + "main": "/src/index.js" }