Skip to content

Commit ebe4fff

Browse files
authored
Merge pull request #58 from EdgeApp/william/upgrade-build
Upgrade build
2 parents 3883c7a + a1ba3d9 commit ebe4fff

File tree

97 files changed

+9331
-5813
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

97 files changed

+9331
-5813
lines changed

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# Build output:
22
/android/*.jar
3+
/android/build/
4+
/android/src/main/jniLibs/
5+
/ios/RNFastCrypto.xcframework/
6+
/lib/
7+
/tmp/
38

49
# Package managers:
510
node_modules/

.husky/pre-commit

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
npm run precommit

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22

33
## Unreleased
44

5+
- changed: Bump minimum Android to SDK 23 (Android 6)
6+
- changed: Bump minimum iOS to 13
7+
- changed: Rewrite the build system in a more modern language.
8+
- changed: Support 16KiB pages on Android
9+
510
## 2.2.1 (2025-07-11)
611

712
- fixed: Malloc proper size for secp256k1 keys.

FastCryptoTest/.bundle/config

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
BUNDLE_PATH: "vendor/bundle"
2+
BUNDLE_FORCE_RUBY_PLATFORM: 1

FastCryptoTest/.eslintrc.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
module.exports = {
2+
root: true,
3+
extends: '@react-native',
4+
};

FastCryptoTest/.gitignore

Lines changed: 91 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,95 @@
1-
# OSX
2-
#
3-
.DS_Store
4-
5-
# Xcode
6-
#
7-
build/
8-
*.pbxuser
9-
!default.pbxuser
10-
*.mode1v3
11-
!default.mode1v3
12-
*.mode2v3
13-
!default.mode2v3
14-
*.perspectivev3
15-
!default.perspectivev3
16-
xcuserdata
17-
*.xccheckout
18-
*.moved-aside
19-
DerivedData
20-
*.hmap
21-
*.ipa
22-
*.xcuserstate
23-
24-
# Android/IntelliJ
25-
#
26-
build/
27-
.idea
28-
.gradle
29-
local.properties
30-
*.iml
31-
*.hprof
1+
# React Native Fast Crypto Test App
322

33-
# node.js
34-
#
3+
# React Native
354
node_modules/
36-
npm-debug.log
37-
yarn-error.log
38-
39-
# BUCK
40-
buck-out/
41-
\.buckd/
42-
*.keystore
43-
!debug.keystore
44-
45-
# fastlane
46-
#
47-
# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
48-
# screenshots whenever they are needed.
49-
# For more information about the recommended setup visit:
50-
# https://docs.fastlane.tools/best-practices/source-control/
51-
52-
*/fastlane/report.xml
53-
*/fastlane/Preview.html
54-
*/fastlane/screenshots
55-
56-
# Bundle artifact
5+
npm-debug.log*
6+
yarn-debug.log*
7+
yarn-error.log*
8+
9+
# Metro
10+
.metro-health-check*
11+
.haste_cache/
12+
13+
# Debug
14+
flipper-dump.txt
15+
16+
# React Native Codegen
17+
FBReactNativeSpec/
18+
react-native-codegen-*.tgz
19+
20+
# Bundle artifacts
5721
*.jsbundle
5822

59-
# CocoaPods
60-
/ios/Pods/
23+
# Android
24+
**/.gradle/
25+
**/build/
26+
**/.cxx/
27+
android/app/debug/
28+
android/app/release/
29+
android/gradle/wrapper/gradle-wrapper.jar
30+
android/local.properties
31+
android/gradlew
32+
android/gradlew.bat
33+
*.hprof
34+
*.ap_
35+
*.dex
36+
37+
# iOS
38+
ios/build/
39+
ios/Pods/
40+
ios/Podfile.lock
41+
ios/*.xcworkspace/xcuserdata/
42+
ios/*.xcodeproj/xcuserdata/
43+
ios/*.xcodeproj/project.xcworkspace/xcuserdata/
44+
ios/build/Build/Intermediates.noindex/
45+
ios/build/Build/Products/
46+
ios/.xcode.env.local
47+
DerivedData/
48+
49+
# macOS
50+
.DS_Store
51+
52+
# Temporary files
53+
*.tmp
54+
*.temp
55+
56+
# Local Environment
57+
.env.local
58+
.env.development.local
59+
.env.test.local
60+
.env.production.local
61+
62+
# Logs
63+
*.log
64+
65+
# Runtime data
66+
pids
67+
*.pid
68+
*.seed
69+
*.pid.lock
70+
71+
# Coverage directory used by tools like istanbul
72+
coverage/
73+
74+
# IDE
75+
.vscode/
76+
.idea/
77+
*.swp
78+
*.swo
79+
80+
# Misc
81+
*.tgz
82+
*.tar.gz
83+
84+
# React Native Debugger
85+
.vscode/settings.json
86+
87+
# Testing
88+
e2e/artifacts/
89+
90+
# Babel
91+
.babel_cache/
92+
93+
# Ruby (CocoaPods)
94+
Gemfile.lock
95+
vendor/

FastCryptoTest/.prettierrc.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
module.exports = {
2+
arrowParens: 'avoid',
3+
bracketSameLine: true,
4+
bracketSpacing: false,
5+
singleQuote: true,
6+
trailingComma: 'all',
7+
};

FastCryptoTest/.watchmanconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{}

FastCryptoTest/Gemfile

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
source 'https://rubygems.org'
2+
3+
# You may use http://rbenv.org/ or https://rvm.io/ to install and use this version
4+
ruby ">= 2.6.10"
5+
6+
# Exclude problematic versions of cocoapods and activesupport that causes build failures.
7+
gem 'cocoapods', '>= 1.13', '!= 1.15.0', '!= 1.15.1'
8+
gem 'activesupport', '>= 6.1.7.5', '!= 7.1.0'
9+
gem 'xcodeproj', '< 1.26.0'
10+
gem 'concurrent-ruby', '< 1.3.4'

FastCryptoTest/README.md

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,31 @@
1-
# react-native-fast-crypto Test App
1+
# FastCryptoTest
22

3-
This app runs react-native-fast-crypto unit tests.
3+
Simple test app for `react-native-fast-crypto` library.
44

5-
To launch the tests, first run `yarn install` in this folder to set up the dependencies, and then run either `yarn android` or `yarn ios`.
5+
## Running the tests
66

7-
If you want to edit the react-native-fast-crypto library while using this app, run the `update-test.sh` script located in the outer folder to copy your changes into `node_modules`.
7+
```bash
8+
# Install dependencies
9+
yarn install
10+
11+
# Integrate latest code from the parent folder
12+
yarn update-tests
13+
yarn pods
14+
15+
# Start Metro
16+
yarn start
17+
18+
# Run on Android
19+
yarn android
20+
21+
# Run on iOS
22+
yarn ios
23+
```
24+
25+
The app will automatically run crypto tests including:
26+
27+
- pbkdf2 (ASCII and UTF-8 inputs)
28+
- secp256k1 operations
29+
- scrypt key derivation
30+
31+
Test results are displayed on screen.

0 commit comments

Comments
 (0)