Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
239 commits
Select commit Hold shift + click to select a range
e05d8f3
Return error if isProtectedDataAvailable = false
Feb 19, 2020
b8fc4cb
Bump acorn from 5.7.3 to 5.7.4 in /example
dependabot[bot] Mar 14, 2020
bcab2c9
Allow kSecAttrSynchronizable to be set from deleteItem
philipshen Mar 20, 2020
583a887
Bump acorn from 7.1.0 to 7.1.1
dependabot[bot] Apr 4, 2020
123b80c
Merge pull request #187 from philzcoffee/master
mCodex Jun 10, 2020
5d1fd98
Merge pull request #183 from kellycampbell/ios_protected_data_issue
mCodex Jun 10, 2020
00ade62
Merge pull request #185 from mCodex/dependabot/npm_and_yarn/example/a…
mCodex Jun 10, 2020
33ab80e
Merge pull request #188 from mCodex/dependabot/npm_and_yarn/acorn-7.1.1
mCodex Jun 10, 2020
51619c7
added stale bot
mCodex Jun 10, 2020
28b6cdb
generating docusaurs website structure
mCodex Jun 10, 2020
d501d49
added website structure
mCodex Jun 10, 2020
39d2c46
Merge pull request #195 from mCodex/website
mCodex Jun 10, 2020
db594d1
changing website config
mCodex Jun 10, 2020
151fd07
Update stale.yml
mCodex Jun 11, 2020
6185821
added more docs and fixed website bugs
mCodex Jun 11, 2020
11188b6
Merge branch 'master' of https://github.com/mCodex/react-native-sensi…
mCodex Jun 11, 2020
69c0c65
changing buttons
mCodex Jun 11, 2020
a1a41ca
updating .npmignore
mCodex Jun 11, 2020
1c33aca
updating website to v2
mCodex Jun 11, 2020
c95239b
Merge pull request #199 from mCodex/feature/websiteImprovements
mCodex Jun 11, 2020
cb726ea
added more documentation
mCodex Jun 11, 2020
49518ef
updated website and README
mCodex Jun 20, 2020
9ae8976
docs: update README.md [skip ci]
allcontributors[bot] Jun 20, 2020
6aa8daa
docs: create .all-contributorsrc [skip ci]
allcontributors[bot] Jun 20, 2020
97e2b68
Merge pull request #200 from mCodex/all-contributors/add-mcodex
mCodex Jun 20, 2020
7c5d52d
updating README
mCodex Jun 20, 2020
e6881fc
The import reference is wrong.
passion4IT Jun 22, 2020
700fd72
Update setItem.md
passion4IT Jun 22, 2020
9f5f4c7
Merge pull request #202 from passion4IT/patch-1
mCodex Jun 22, 2020
8c1a80d
Add missing kSecAttrSynchronizable type.
jdmunro Jun 29, 2020
df602be
Merge pull request #205 from jdmunro/update-types
mCodex Jun 29, 2020
d1b9233
Update stale.yml
mCodex Jul 13, 2020
11ac07e
Bump lodash from 4.17.15 to 4.17.19 in /example
dependabot[bot] Jul 18, 2020
e6dc073
Bump lodash from 4.17.15 to 4.17.19
dependabot[bot] Jul 19, 2020
729ea31
Bump lodash from 4.17.15 to 4.17.19 in /website
dependabot[bot] Jul 21, 2020
0aa2a6f
Merge pull request #209 from mCodex/dependabot/npm_and_yarn/lodash-4.…
mCodex Jul 21, 2020
7f24232
Merge pull request #208 from mCodex/dependabot/npm_and_yarn/example/l…
mCodex Jul 21, 2020
4f023ad
Merge pull request #210 from mCodex/dependabot/npm_and_yarn/website/l…
mCodex Jul 21, 2020
3d9e57b
closing #206 & fixed stale bot
mCodex Jul 21, 2020
63cac37
v5.5.6
mCodex Jul 21, 2020
7f7187f
Update RNSensitiveInfo.js
maggialejandro-rp Jul 22, 2020
c371687
Update RNSensitiveInfoModule.java
maggialejandro-rp Jul 22, 2020
6568add
Merge pull request #211 from maggialejandro/fix-biometric-enrollment-…
mCodex Jul 23, 2020
c380718
Merge pull request #212 from maggialejandro/cleaner-showmodal
mCodex Jul 23, 2020
f8862a1
v5.5.7
mCodex Jul 23, 2020
73e39d2
changing repo homepage
mCodex Jul 23, 2020
9b608cf
feat(android): biometric api implementation
maggialejandro-rp Jul 24, 2020
f911a12
Merge pull request #214 from maggialejandro/biometric-api
mCodex Jul 24, 2020
fc62b6f
removing isHardwareDetected from docs
mCodex Jul 28, 2020
79c8197
fix(android): handle UnrecoverableKeyException
maggialejandro-rp Jul 28, 2020
db4e1e6
Merge pull request #217 from maggialejandro/fix-unrecoverable-key-exc…
mCodex Jul 28, 2020
fa323ad
docs: update README.md [skip ci]
allcontributors[bot] Jul 28, 2020
503f927
docs: update .all-contributorsrc [skip ci]
allcontributors[bot] Jul 28, 2020
ff7593c
Merge pull request #218 from mCodex/all-contributors/add-maggialejandro
mCodex Jul 28, 2020
93f2507
Updated docs to include installation of v6.0.0
mCodex Jul 28, 2020
595e955
fix(android): remove unused code
maggialejandro-rp Jul 29, 2020
7eef64a
fix(android): same callback logic between showModal options (#220)
maggialejandro Jul 29, 2020
1537565
fix(android): remove unused code (#219)
mCodex Jul 29, 2020
ec750ad
Updated podspec to include tvos and osx support
mCodex Jul 29, 2020
ba3dcbc
v5.5.8
mCodex Jul 29, 2020
bb9ef04
fix(android): key user not authenticated (#224)
maggialejandro Jul 30, 2020
6937221
fix(android): normalize error codes (#225)
maggialejandro Jul 30, 2020
11d39df
Added website deploy action
mCodex Jul 30, 2020
99d7b17
Merge branch 'master' of https://github.com/mCodex/react-native-sensi…
mCodex Jul 30, 2020
7d96691
Create website-deploy.yml
mCodex Jul 30, 2020
8bac6b8
Removing wrong website-deploy config
mCodex Jul 30, 2020
c007e69
v6.x (#227)
mCodex Jul 31, 2020
9be5a81
docs: add mCodex as a contributor (#228)
allcontributors[bot] Aug 1, 2020
e17939f
Windows vNext (#231)
tero-paananen Aug 19, 2020
af0352b
v6.0.0-alpha.5
mCodex Aug 19, 2020
b19bb7a
[Windows] vnext c++ app support added (#235)
tero-paananen Sep 9, 2020
bab8b8f
v6.0.0-alpha.6
mCodex Sep 9, 2020
6e64572
Add Windows C++ implementation (#239)
bzoz Oct 28, 2020
89dab84
fix(android): Android 11 auth required check (#238)
NickBurkhartBB Oct 28, 2020
ae0832f
v6.0.0-alpha.7
mCodex Nov 2, 2020
4838dd5
Updated dev dependencies
mCodex Nov 2, 2020
4ca26d7
v6.0.0-alpha.8
mCodex Nov 2, 2020
a1b7e88
fix: updated react dependency in podspec to enable build in Xcode 12 …
alexisbronchart Dec 13, 2020
3bbe789
v6.0.0-alpha.9
mCodex Dec 17, 2020
4f9af66
fix(android): Error is null on invalidateEnrollment set to false (#258)
denissb Jan 25, 2021
1dc4825
feat: Adding a hasItem method (#259)
denissb Jan 25, 2021
a6375f3
Adding mavenCentral() as jcenter() is shutting (#280)
maheshwarimrinal Jun 27, 2021
2ad64e4
Use Commit Over Apply (#295)
netshade Jun 27, 2021
662b737
Add `kSecAttrAccessible` to query in `getItem` (#297)
geraintwhite Jun 27, 2021
495dd7f
Convert Android encrypt/decrypt to use chunking (#301)
geraintwhite Jun 27, 2021
08dbde3
Refactor code structure and remove redundant changes
mCodex May 19, 2025
13bac08
chore: cleaning up code and running on iOS
mCodex May 19, 2025
7ac6390
chore: reinitialized repository
mCodex Jul 18, 2025
5671fcd
feat: Implement secure storage using EncryptedSharedPreferences for A…
mCodex Jul 18, 2025
1f7e3ac
feat: Add biometric security demo component and integrate biometric s…
mCodex Jul 18, 2025
236b1c4
docs: Update README for clarity on security features and API changes
mCodex Jul 18, 2025
d7a9537
Refactor SensitiveInfo implementation and add SwiftUI components for …
mCodex Jul 18, 2025
7f942a0
feat: Add SecurityCapabilitiesDemo component and integrate security c…
mCodex Jul 19, 2025
e8406b9
chore: improving example and fixing iOS source code
mCodex Aug 7, 2025
e169cf8
refactor: Update KeychainManager methods for improved query handling …
mCodex Aug 19, 2025
fe0dc2f
Update Android/iOS dependencies and refactor security code
mCodex Aug 19, 2025
b047027
Enhance SecurityDemo with capability info and store tracking
mCodex Aug 19, 2025
0310140
feat: Add biometric authentication support for Android and iOS
mCodex Aug 19, 2025
f554332
feat: Enhance security options with biometric and strongbox support i…
mCodex Aug 19, 2025
4b2febf
refactor: Simplify SensitiveInfoPackage and improve hybrid object ini…
mCodex Aug 19, 2025
9658baa
Restructure project and update CI workflows
mCodex Oct 13, 2025
676034b
Add Android secure storage with biometric support
mCodex Oct 14, 2025
0282703
Add documentation and improve error handling for SensitiveInfo
mCodex Oct 14, 2025
f00da2f
Add Prettier and ESLint config, update dependencies
mCodex Oct 14, 2025
f7d80fd
chore: bump package version to 6.0.0-rc.1
mCodex Oct 14, 2025
abd5d4e
Revamp README with improved structure and tips
mCodex Oct 14, 2025
2ff5a86
Update README.md
mCodex Oct 14, 2025
1fef809
Merge pull request #449 from mCodex/feat/v6
mCodex Oct 14, 2025
303ca40
docs: update README installation commands to use @next tag for react-…
mCodex Oct 14, 2025
0789b30
Update branch reference in README
mCodex Oct 14, 2025
c08ef38
Update SensitiveInfo version and improve Swift attribute handling
mCodex Oct 14, 2025
90e573f
chore(deps-dev): bump semantic-release from 24.2.9 to 25.0.0
dependabot[bot] Oct 15, 2025
ad2e956
Merge pull request #457 from mCodex/dependabot/npm_and_yarn/semantic-…
mCodex Oct 16, 2025
e63cd65
chore(deps): bump the nitro group across 2 directories with 2 updates
dependabot[bot] Oct 16, 2025
bb93abc
Merge pull request #459 from mCodex/dependabot/npm_and_yarn/nitro-ee5…
mCodex Oct 17, 2025
03ae298
chore(deps-dev): bump eslint from 9.37.0 to 9.38.0
dependabot[bot] Oct 17, 2025
8ac4178
Merge pull request #461 from mCodex/dependabot/npm_and_yarn/eslint-9.…
mCodex Oct 20, 2025
e62734b
chore(deps): bump the react-native group across 2 directories with 5 …
dependabot[bot] Oct 20, 2025
24093b4
chore(deps): bump the nitro group across 2 directories with 2 updates
dependabot[bot] Oct 20, 2025
54ef87e
chore(deps-dev): bump typescript-eslint from 8.46.1 to 8.46.2
dependabot[bot] Oct 20, 2025
f82f330
Merge pull request #462 from mCodex/dependabot/npm_and_yarn/react-nat…
mCodex Oct 21, 2025
8b3bb64
Merge pull request #463 from mCodex/dependabot/npm_and_yarn/nitro-bb5…
mCodex Oct 21, 2025
af89ae2
Merge pull request #465 from mCodex/dependabot/npm_and_yarn/typescrip…
mCodex Oct 21, 2025
489003b
chore(deps): bump the nitro group across 2 directories with 2 updates
dependabot[bot] Oct 21, 2025
acf7dd6
Merge pull request #468 from mCodex/dependabot/npm_and_yarn/nitro-049…
mCodex Oct 22, 2025
a890ded
chore(deps): bump benchmark from 0.4.1 to 0.5.0 in /example
dependabot[bot] Oct 22, 2025
63caca2
Merge pull request #469 from mCodex/dependabot/bundler/example/benchm…
mCodex Oct 23, 2025
80c9144
chore(deps-dev): bump the babel group across 1 directory with 2 updates
dependabot[bot] Oct 23, 2025
0d901e1
Merge pull request #470 from mCodex/dependabot/npm_and_yarn/babel-1af…
mCodex Oct 23, 2025
3c81c68
Add cross-platform enhancements and legacy device credential support
mCodex Oct 24, 2025
283f790
Refactor example app UI and improve context handling
mCodex Oct 24, 2025
08a56d6
Remove androidBiometricsStrongOnly option and enforce strong biometri…
mCodex Oct 24, 2025
5f1a04a
Grey out unavailable access-control options and auto-fallback in exam…
mCodex Oct 24, 2025
dd8c5b5
Add README note clarifying upgrade choices between 5.6.0 and 6.0.0-rc.2
mCodex Oct 24, 2025
c230d0e
docs(readme): update "Choosing between" section to reference 6.x inst…
mCodex Oct 24, 2025
3352859
chore(package.json): update repository, bugs and homepage URLs to mcodex
mCodex Oct 24, 2025
2ae7691
Release 6.0.0-rc.3
mCodex Oct 24, 2025
daaff5f
chore(post-script): skip view manager updates when views dir is missing
mCodex Oct 25, 2025
ca1bbdf
Release 6.0.0-rc.4
mCodex Oct 25, 2025
78fdf42
chore(workflows): run Nitro codegen in iOS and Android build jobs
mCodex Oct 27, 2025
4d0939b
Add React hooks API and update example usage
mCodex Oct 27, 2025
68a4a39
Switch CI workflows from Bun to Yarn
mCodex Oct 27, 2025
246c314
Set noEmit to true in tsconfig.json
mCodex Oct 27, 2025
a4df50d
Refactor hooks and storage modules for improved API
mCodex Oct 27, 2025
96af4f5
Update src/hooks/useSecureOperation.ts
mCodex Oct 27, 2025
9c82e81
Merge pull request #472 from mCodex/feat/addHookSupport
mCodex Oct 27, 2025
5b44d40
ci: simplify Android and iOS workflows to build only new architecture
mCodex Oct 27, 2025
36bf7ca
test: add Jest config, unit tests, and CI workflow
mCodex Oct 27, 2025
4e29616
Merge pull request #473 from mCodex/feat/testing
mCodex Oct 27, 2025
8a42666
ci: simplify Android workflow to build only new architecture; add exa…
mCodex Oct 27, 2025
23543b2
docs: clarify v6 platform support and add macOS, visionOS, watchOS to…
mCodex Oct 27, 2025
a2f990e
Release 6.0.0-rc.5
mCodex Oct 27, 2025
d12b446
android: mark legacy RN package hooks deprecated and suppress depreca…
mCodex Oct 27, 2025
c28b1b7
expo: add Expo config plugin and setup docs
mCodex Oct 27, 2025
8c78637
Release 6.0.0-rc.6
mCodex Oct 27, 2025
f92f2ba
expo: replace withAndroidGradleProperties/withIosPodfileProperties wi…
mCodex Oct 27, 2025
bd12e0f
Release 6.0.0-rc.7
mCodex Oct 27, 2025
e9a9567
expo: remove react-native-nitro-modules from Expo plugins example in …
mCodex Oct 27, 2025
984d6b6
hooks: add HookMutationResult + result helpers; refactor hooks and op…
mCodex Oct 27, 2025
72e0fd1
Refactor Android SensitiveInfo module and update dependencies
mCodex Oct 27, 2025
5e0ef47
Release 6.0.0-rc.8
mCodex Oct 27, 2025
4d3540f
example: overhaul App.tsx to use hooks-based playground UI
mCodex Oct 28, 2025
c495d01
Update GitHub Sponsors username in FUNDING.yml
mCodex Nov 3, 2025
0c6bd68
chore: bump dev/example deps and normalize README version notation
mCodex Nov 3, 2025
4454883
fix(auth): treat authentication cancellations as soft-failures and ma…
mCodex Nov 3, 2025
69876ac
docs: add error-handling section to README and introduce SECURITY.md
mCodex Nov 3, 2025
ed1b003
Merge pull request #494 from mCodex/refactor/appExample
mCodex Nov 3, 2025
c9087e6
chore: normalize formatting in hooks (semicolons/spacing) and bump ex…
mCodex Nov 3, 2025
7f358bd
Release 6.0.0-rc.9
mCodex Nov 3, 2025
c6cbfe3
fix(ios): run SecItemCopyMatching on main thread and refine auth canc…
mCodex Nov 5, 2025
a3b9cda
Release 6.0.0-rc.10
mCodex Nov 5, 2025
240bc60
fix(ios): prompt simulator biometric auth before keychain fetch and p…
mCodex Nov 5, 2025
3842e1d
Release 6.0.0-rc.11
mCodex Nov 5, 2025
b84ec82
feat: restructure app components and implement secure storage functio…
mCodex Nov 10, 2025
9023957
Update Android biometric lib and improve null handling
mCodex Dec 15, 2025
5bdbb63
Make HybridSensitiveInfo class and methods public
mCodex Dec 15, 2025
0c7796a
Merge pull request #532 from mCodex/feat/androidBiometric14
mCodex Dec 15, 2025
eeadcb8
fix: update repository field format in package.json
mCodex Dec 15, 2025
e515a9d
Refactor code structure for improved readability and maintainability
mCodex Dec 15, 2025
9e39622
fix: add tokenRef for npm access verification in release-it configura…
mCodex Dec 15, 2025
fd26652
chore(release): v6.0.0-rc.12
mCodex Dec 16, 2025
eb98bb5
chore(deps): bump bigdecimal from 3.3.1 to 4.0.0 in /example
dependabot[bot] Dec 16, 2025
fd2a9fd
Merge pull request #535 from mCodex/dependabot/bundler/example/bigdec…
mCodex Dec 17, 2025
9ff5121
chore(deps): bump bigdecimal from 4.0.0 to 4.0.1 in /example
dependabot[bot] Dec 17, 2025
635dfa9
Merge pull request #536 from mCodex/dependabot/bundler/example/bigdec…
mCodex Dec 18, 2025
667b653
Migrate to Biome, update deps and gradle wrapper
mCodex Apr 24, 2026
53bbb38
Add typed errors, async hooks & key rotation
mCodex Apr 24, 2026
f34b123
Add key rotation API and hook; update docs/examples
mCodex Apr 24, 2026
583bc3c
Implement key versioning for secure storage; add KeyVersionRegistry a…
mCodex Apr 27, 2026
60b2cf5
feat: implement integrity hardening for sensitive data storage
mCodex Apr 27, 2026
d563d7e
Add useAsyncQuery and refactor hooks/tests
mCodex Apr 27, 2026
3176ad5
refactor: optimize useHasSecret and useSecretItem hooks with useCallback
mCodex Apr 27, 2026
41be56a
refactor: streamline hook architecture with useMutation and useAsyncQ…
mCodex Apr 27, 2026
1b6e0e6
refactor: enhance key rotation and secure storage hooks with eager re…
mCodex Apr 27, 2026
90a5bec
chore: update Node.js version to 24 in CI workflows
mCodex Apr 27, 2026
4f353ce
refactor: update dependencies and improve type definitions in package…
mCodex Apr 27, 2026
6701d84
feat: add AccessControlCard and DiagnosticsCard components; remove un…
mCodex Apr 27, 2026
106621e
fix: update module resolver alias to correctly map source directory f…
mCodex Apr 27, 2026
c6b16b5
Refactor example: read/write options & UI
mCodex Apr 27, 2026
0beacd7
Enhance docs and types for secure storage
mCodex Apr 27, 2026
d6beaaa
Add docs for useSecret and useSecretItem hooks
mCodex Apr 27, 2026
3dc9dfc
Add JSDoc to security hooks
mCodex Apr 27, 2026
5017b91
Merge pull request #586 from mCodex/feat/nitro35Support
mCodex Apr 27, 2026
f435f19
Refactor hooks: reducers, memoization, deepEqual
mCodex Apr 28, 2026
1de115a
Add validation, plugin, tests, and errors
mCodex Apr 28, 2026
c0c3af9
Add docs and tweak example + tsconfig
mCodex Apr 28, 2026
a9a84f1
Tighten FaceID check; improve UTF-8 and docs
mCodex Apr 28, 2026
7f29e89
Merge pull request #591 from mCodex/refactor/generalImprovements
mCodex Apr 28, 2026
403e78d
Publish v6.0.0: release notes and docs updates
mCodex Apr 28, 2026
c640371
Remove principles from Hook architecture heading
mCodex Apr 28, 2026
09d8035
Fix branch name in release configuration from 'main' to 'master'
mCodex Apr 28, 2026
d283060
Bump version to 6.0.0
mCodex Apr 28, 2026
92bc4e0
Add biometryStatus, policy precheck & watcher
mCodex Apr 28, 2026
a095da1
Refactor hooks and babel config to optimize memoization and improve c…
mCodex Apr 28, 2026
5476572
Skip biometric lazy re-encrypt; robust iOS upsert
mCodex Apr 28, 2026
b1e1623
Clarify access-control behavior, docs, and tests
mCodex Apr 28, 2026
bfceb1b
Update CHANGELOG for v6.1.0
mCodex Apr 28, 2026
6f6402f
chore(release): v6.1.0
mCodex Apr 28, 2026
4a1d00f
Merge pull request #592 from mCodex/feat/biometryStatus
mCodex Apr 28, 2026
d5397dd
chore(deps): bump the nitro group across 2 directories with 2 updates
dependabot[bot] Apr 28, 2026
6e81007
Merge pull request #597 from mCodex/dependabot/npm_and_yarn/nitro-2a6…
mCodex Apr 29, 2026
003b00e
fix: update error classes to handle cause assignment for TypeScript c…
mCodex Apr 29, 2026
3325813
chore(release): v6.1.1
mCodex Apr 29, 2026
e0626a7
Use release-it for project releases
mCodex Apr 29, 2026
1211c3c
Merge pull request #598 from mCodex/fix/tsError
mCodex Apr 29, 2026
78f320b
Make Error 'cause' non-enumerable and add tests
mCodex Apr 29, 2026
1f9ded6
Support non-enumerable 'cause' on errors
mCodex Apr 29, 2026
64b07dc
Merge pull request #599 from mCodex/fix/tsError
mCodex Apr 29, 2026
ebd6338
Expose Error.cause via interface merging
mCodex Apr 29, 2026
7293ef4
chore(release): v6.1.2
mCodex Apr 29, 2026
fc4de06
Add release verification scripts and proxy shims
mCodex Apr 29, 2026
91a6069
Merge pull request #600 from mCodex/fix/build
mCodex Apr 29, 2026
fa0a129
chore(release): v6.1.3
mCodex Apr 29, 2026
e131859
Enhance smoke-test-release validation and cleanup
mCodex Apr 29, 2026
83dddbe
Prevent duplicate iOS biometric prompts & silent reads
mCodex Apr 29, 2026
595829f
Forward hasItem options; change iOS auth errors
mCodex Apr 29, 2026
00ce292
Merge pull request #601 from mCodex/fix/doublePromptiOS
mCodex Apr 29, 2026
1ee57d6
chore(release): v6.1.4
mCodex Apr 29, 2026
aee6d55
docs: update README for v6 features and platform support changes
mCodex Apr 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
root = true

[*]
charset = utf-8
end_of_line = lf
indent_style = tab
indent_size = 2
insert_final_newline = true
trim_trailing_whitespace = true

[*.{md,markdown}]
trim_trailing_whitespace = false

[*.{yml,yaml,json}]
indent_style = space
indent_size = 2
1 change: 0 additions & 1 deletion .eslintrc.js

This file was deleted.

15 changes: 15 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# These are supported funding model platforms

github: [mcodex]
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
polar: # Replace with a single Polar username
buy_me_a_coffee: # Replace with a single Buy Me a Coffee username
thanks_dev: # Replace with a single thanks.dev username
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
56 changes: 56 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
version: 2
enable-beta-ecosystems: true
updates:
- package-ecosystem: 'github-actions'
directory: '/'
schedule:
interval: 'daily'
labels:
- 'dependencies'

- package-ecosystem: 'gradle'
directories:
- '/android/'
- '/example/android/'
schedule:
interval: 'daily'
labels:
- 'nitro-core'
- 'nitrogen'
- 'dependencies'
- 'kotlin'

- package-ecosystem: 'bundler'
directory: '/example/'
schedule:
interval: 'daily'
labels:
- 'dependencies'
- 'ruby'

- package-ecosystem: 'npm'
directories:
- '/example/'
- '/'
schedule:
interval: 'daily'
labels:
- 'nitro-core'
- 'dependencies'
- 'typescript'
- 'nitrogen'

groups:
react-native-cli:
patterns:
- '@react-native-community/cli*'
babel:
patterns:
- '@babel/*'
react-native:
patterns:
- '@react-native/*'
nitro:
patterns:
- 'nitrogen'
- 'react-native-nitro-modules'
81 changes: 81 additions & 0 deletions .github/workflows/android-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
name: Build Android

permissions:
contents: read

on:
push:
branches:
- master
paths:
- '.github/workflows/android-build.yml'
- 'example/android/**'
- 'nitrogen/generated/shared/**'
- 'nitrogen/generated/android/**'
- 'cpp/**'
- 'android/**'
- '**/yarn.lock'
- '**/react-native.config.js'
- '**/nitro.json'
pull_request:
paths:
- '.github/workflows/android-build.yml'
- 'example/android/**'
- '**/nitrogen/generated/shared/**'
- '**/nitrogen/generated/android/**'
- 'cpp/**'
- 'android/**'
- '**/yarn.lock'
- '**/react-native.config.js'
- '**/nitro.json'
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
build:
name: Build Android Example App (New Architecture)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
node-version: '24'
cache: yarn

- name: Install dependencies (yarn)
run: yarn install --frozen-lockfile

- name: Install example dependencies (yarn)
run: cd example && yarn install --frozen-lockfile

- name: Generate Nitro modules (codegen)
run: yarn codegen

- name: Setup JDK 21
uses: actions/setup-java@v5
with:
distribution: zulu
java-version: '21'
cache: gradle

- name: Cache Gradle
uses: actions/cache@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('example/android/**/*.gradle*') }}
restore-keys: |
${{ runner.os }}-gradle-

- name: Run Gradle build
working-directory: example/android
run: ./gradlew assembleDebug --no-daemon --build-cache

- name: Stop Gradle daemon
working-directory: example/android
run: ./gradlew --stop
108 changes: 108 additions & 0 deletions .github/workflows/ios-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
name: Build iOS

permissions:
contents: read

on:
push:
branches:
- master
paths:
- '.github/workflows/ios-build.yml'
- 'example/ios/**'
- 'example/Gemfile'
- 'example/Gemfile.lock'
- '**/nitrogen/generated/shared/**'
- '**/nitrogen/generated/ios/**'
- 'cpp/**'
- 'ios/**'
- '**/Podfile.lock'
- '**/yarn.lock'
- '**/*.podspec'
- '**/react-native.config.js'
- '**/nitro.json'
pull_request:
paths:
- '.github/workflows/ios-build.yml'
- 'example/ios/**'
- 'example/Gemfile'
- 'example/Gemfile.lock'
- '**/nitrogen/generated/shared/**'
- '**/nitrogen/generated/ios/**'
- 'cpp/**'
- 'ios/**'
- '**/Podfile.lock'
- '**/yarn.lock'
- '**/*.podspec'
- '**/react-native.config.js'
- '**/nitro.json'
workflow_dispatch:

env:
USE_CCACHE: 1

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
build:
name: Build iOS Example App (New Architecture)
runs-on: macOS-15
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '24'
cache: 'yarn'
- name: Setup Xcode
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: 16.4

- name: Install dependencies (yarn)
run: yarn install --frozen-lockfile

- name: Install example dependencies (yarn)
run: cd example && yarn install --frozen-lockfile

- name: Generate Nitro modules (codegen)
run: yarn codegen

- name: Setup Ruby (bundle)
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.4'
bundler-cache: true
working-directory: example/ios

- name: Install xcpretty
run: gem install xcpretty

- name: Cache CocoaPods
uses: actions/cache@v4
with:
path: |
~/.cocoapods/repos
example/ios/Pods
key: ${{ runner.os }}-pods-${{ hashFiles('example/ios/Podfile.lock') }}
restore-keys: |
${{ runner.os }}-pods-

- name: Install Pods
working-directory: example/ios
run: pod install

- name: Build App
working-directory: example/ios
run: |
set -o pipefail && xcodebuild \
CC=clang CPLUSPLUS=clang++ LD=clang LDPLUSPLUS=clang++ \
-derivedDataPath build -UseModernBuildSystem=YES \
-workspace SensitiveInfoExample.xcworkspace \
-scheme SensitiveInfoExample \
-sdk iphonesimulator \
-configuration Debug \
-destination 'platform=iOS Simulator,name=iPhone 17' \
build \
CODE_SIGNING_ALLOWED=NO | xcpretty
75 changes: 75 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
name: Release

on:
workflow_dispatch:
inputs:
increment:
description: 'Version increment (leave empty to derive from conventional commits)'
required: false
default: ''
type: choice
options:
- ''
- patch
- minor
- major
- prerelease
dry-run:
description: 'Dry run (no publish, no push)'
required: false
default: false
type: boolean

permissions:
contents: read

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
release:
name: Release
runs-on: ubuntu-latest
permissions:
contents: write
issues: write
pull-requests: write
id-token: write
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
persist-credentials: true

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '24'
cache: 'yarn'
registry-url: 'https://registry.npmjs.org'

- name: Configure git identity
run: |
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"

- name: Install dependencies
run: yarn install --frozen-lockfile

- name: Release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
NPM_CONFIG_PROVENANCE: 'true'
run: |
ARGS="--ci"
if [ -n "${{ inputs.increment }}" ]; then
ARGS="$ARGS --increment=${{ inputs.increment }}"
fi
if [ "${{ inputs.dry-run }}" = "true" ]; then
ARGS="$ARGS --dry-run"
fi
yarn release $ARGS
Loading