Skip to content

Commit 48d7b97

Browse files
committed
chore: merge changes
2 parents b6fa0a3 + 6199aa5 commit 48d7b97

Some content is hidden

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

47 files changed

+14459
-13992
lines changed

.github/workflows/beta-release.yml

Lines changed: 212 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,212 @@
1+
name: Beta Release
2+
on:
3+
push:
4+
branches:
5+
- beta
6+
pull_request:
7+
branches:
8+
- beta
9+
10+
jobs:
11+
lint:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- name: Checkout
15+
uses: actions/checkout@v4
16+
17+
- name: Setup
18+
uses: ./.github/actions/setup
19+
20+
- name: Lint files
21+
run: yarn lint './**/*.{ts,tsx,js,jsx}' --ignore-pattern node_modules
22+
23+
- name: Typecheck files
24+
run: yarn typecheck
25+
26+
test:
27+
runs-on: ubuntu-latest
28+
steps:
29+
- name: Checkout
30+
uses: actions/checkout@v4
31+
32+
- name: Setup
33+
uses: ./.github/actions/setup
34+
35+
- name: Run unit tests
36+
run: yarn test:cov
37+
38+
- name: Update Coverage Badge
39+
# GitHub actions: default branch variable
40+
# https://stackoverflow.com/questions/64781462/github-actions-default-branch-variable
41+
if: github.ref == format('refs/heads/{0}', github.event.repository.default_branch)
42+
uses: we-cli/coverage-badge-action@main
43+
44+
build-library:
45+
runs-on: ubuntu-latest
46+
steps:
47+
- name: Checkout
48+
uses: actions/checkout@v4
49+
50+
- name: Setup
51+
uses: ./.github/actions/setup
52+
53+
- name: Build package
54+
run: yarn prepack
55+
56+
build-android:
57+
runs-on: ubuntu-latest
58+
env:
59+
TURBO_CACHE_DIR: .turbo/android
60+
ANDROID_HOME: /usr/local/lib/android/sdk
61+
JAVA_HOME: /usr/lib/jvm/zulu-11-amd64
62+
steps:
63+
- name: Checkout
64+
uses: actions/checkout@v4
65+
66+
- name: Setup
67+
uses: ./.github/actions/setup
68+
69+
- name: Cache turborepo for Android
70+
uses: actions/cache@v4
71+
with:
72+
path: ${{ env.TURBO_CACHE_DIR }}
73+
key: ${{ runner.os }}-turborepo-android-${{ hashFiles('**/yarn.lock') }}
74+
restore-keys: |
75+
${{ runner.os }}-turborepo-android-
76+
77+
- name: Check turborepo cache for Android
78+
run: |
79+
TURBO_CACHE_STATUS=$(node -p "($(yarn --silent turbo run build:android --cache-dir="${{ env.TURBO_CACHE_DIR }}" --dry=json)).tasks.find(t => t.task === 'build:android').cache.status")
80+
81+
if [[ $TURBO_CACHE_STATUS == "HIT" ]]; then
82+
echo "turbo_cache_hit=1" >> $GITHUB_ENV
83+
fi
84+
85+
- name: Install JDK
86+
if: env.turbo_cache_hit != 1
87+
uses: actions/setup-java@v4
88+
with:
89+
distribution: 'zulu'
90+
java-version: '11'
91+
92+
- name: Set up Android SDK
93+
if: env.turbo_cache_hit != 1
94+
uses: android-actions/setup-android@v2
95+
with:
96+
api-level: 30
97+
build-tools: 30.0.3
98+
ndk: "23.1.7779620"
99+
100+
- name: Create local.properties
101+
if: env.turbo_cache_hit != 1
102+
run: |
103+
echo "sdk.dir=$ANDROID_HOME" > example/android/local.properties
104+
105+
- name: Finalize Android SDK
106+
if: env.turbo_cache_hit != 1
107+
run: |
108+
/bin/bash -c "yes | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager --licenses > /dev/null"
109+
110+
- name: Cache Gradle
111+
if: env.turbo_cache_hit != 1
112+
uses: actions/cache@v4
113+
with:
114+
path: |
115+
~/.gradle/wrapper
116+
~/.gradle/caches
117+
key: ${{ runner.os }}-gradle-${{ hashFiles('example/android/gradle/wrapper/gradle-wrapper.properties') }}
118+
restore-keys: |
119+
${{ runner.os }}-gradle-
120+
121+
- name: Build example for Android
122+
run: |
123+
yarn turbo run build:android --cache-dir="${{ env.TURBO_CACHE_DIR }}"
124+
125+
build-ios:
126+
runs-on: macos-latest
127+
env:
128+
TURBO_CACHE_DIR: .turbo/ios
129+
steps:
130+
- name: Checkout
131+
uses: actions/checkout@v4
132+
133+
- name: Setup
134+
uses: ./.github/actions/setup
135+
136+
- name: Cache turborepo for iOS
137+
uses: actions/cache@v4
138+
with:
139+
path: ${{ env.TURBO_CACHE_DIR }}
140+
key: ${{ runner.os }}-turborepo-ios-${{ hashFiles('**/yarn.lock') }}
141+
restore-keys: |
142+
${{ runner.os }}-turborepo-ios-
143+
144+
- name: Check turborepo cache for iOS
145+
run: |
146+
TURBO_CACHE_STATUS=$(node -p "($(yarn --silent turbo run build:ios --cache-dir="${{ env.TURBO_CACHE_DIR }}" --dry=json)).tasks.find(t => t.task === 'build:ios').cache.status")
147+
148+
if [[ $TURBO_CACHE_STATUS == "HIT" ]]; then
149+
echo "turbo_cache_hit=1" >> $GITHUB_ENV
150+
fi
151+
152+
- name: Cache cocoapods
153+
if: env.turbo_cache_hit != 1
154+
id: cocoapods-cache
155+
uses: actions/cache@v4
156+
with:
157+
path: |
158+
**/ios/Pods
159+
key: ${{ runner.os }}-cocoapods-${{ hashFiles('example/ios/Podfile.lock') }}
160+
restore-keys: |
161+
${{ runner.os }}-cocoapods-
162+
163+
- name: Install cocoapods
164+
if: env.turbo_cache_hit != 1 && steps.cocoapods-cache.outputs.cache-hit != 'true'
165+
run: |
166+
yarn example pods
167+
env:
168+
NO_FLIPPER: 1
169+
170+
- name: Build example for iOS
171+
run: |
172+
yarn turbo run build:ios --cache-dir="${{ env.TURBO_CACHE_DIR }}" 2>&1 | grep -i error > ios_errorlog.txt
173+
174+
- name: Upload iOS error log
175+
uses: actions/upload-artifact@v4
176+
with:
177+
name: ios-error-log
178+
path: ios_errorlog.txt
179+
180+
publish-beta:
181+
needs: [lint, test, build-library, build-android, build-ios]
182+
runs-on: ubuntu-latest
183+
permissions:
184+
contents: write # To publish a GitHub release
185+
issues: write # To comment on released issues
186+
pull-requests: write # To comment on released pull requests
187+
id-token: write # To enable use of OIDC for npm provenance
188+
steps:
189+
- name: Checkout
190+
uses: actions/checkout@v4
191+
with:
192+
fetch-depth: 0 # Ensures all tags are fetched
193+
194+
- name: Setup Node.js
195+
uses: actions/setup-node@v4
196+
with:
197+
node-version: "lts/*" # Use the latest LTS version of Node.js
198+
registry-url: 'https://registry.npmjs.org/' # Specify npm registry
199+
200+
- name: Install dependencies
201+
run: npm ci # Clean install dependencies based on the lock file
202+
203+
- name: Verify the integrity of provenance attestations and registry signatures for installed dependencies
204+
run: npm audit signatures # Check the signatures to verify integrity
205+
206+
- name: Release Beta
207+
run: npx semantic-release # Run semantic-release to manage versioning and publishing
208+
env:
209+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # GitHub token for authentication
210+
211+
# Why NODE_AUTH_TOKEN instead of NPM_TOKEN: https://github.com/semantic-release/semantic-release/issues/2313
212+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} # npm token for publishing package

.github/workflows/ci.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,8 @@ jobs:
5757
runs-on: ubuntu-latest
5858
env:
5959
TURBO_CACHE_DIR: .turbo/android
60+
ANDROID_HOME: /usr/local/lib/android/sdk
61+
JAVA_HOME: /usr/lib/jvm/zulu-11-amd64
6062
steps:
6163
- name: Checkout
6264
uses: actions/checkout@v4
@@ -87,6 +89,19 @@ jobs:
8789
distribution: 'zulu'
8890
java-version: '11'
8991

92+
- name: Set up Android SDK
93+
if: env.turbo_cache_hit != 1
94+
uses: android-actions/setup-android@v2
95+
with:
96+
api-level: 30
97+
build-tools: 30.0.3
98+
ndk: "23.1.7779620"
99+
100+
- name: Create local.properties
101+
if: env.turbo_cache_hit != 1
102+
run: |
103+
echo "sdk.dir=$ANDROID_HOME" > example/android/local.properties
104+
90105
- name: Finalize Android SDK
91106
if: env.turbo_cache_hit != 1
92107
run: |

CHANGELOG.md

Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,106 @@
1+
# [1.6.0](https://github.com/JairajJangle/react-native-tree-multi-select/compare/v1.5.1...v1.6.0) (2024-12-07)
2+
3+
4+
### Features
5+
6+
* [#78](https://github.com/JairajJangle/react-native-tree-multi-select/issues/78) added initial support to allow use of multiple tree view components simultaneously ([2123101](https://github.com/JairajJangle/react-native-tree-multi-select/commit/2123101647f42cddabd4f60f741741e5a2c04b50))
7+
8+
# [1.6.0-beta.1](https://github.com/JairajJangle/react-native-tree-multi-select/compare/v1.5.1...v1.6.0-beta.1) (2024-11-16)
9+
10+
11+
### Features
12+
13+
* [#78](https://github.com/JairajJangle/react-native-tree-multi-select/issues/78) added initial support to allow use of multiple tree view components simultaneously ([2123101](https://github.com/JairajJangle/react-native-tree-multi-select/commit/2123101647f42cddabd4f60f741741e5a2c04b50))
14+
15+
## [1.5.1](https://github.com/JairajJangle/react-native-tree-multi-select/compare/v1.5.0...v1.5.1) (2024-10-20)
16+
17+
18+
### Bug Fixes
19+
20+
* upgraded example app deps and package details in package json ([3472516](https://github.com/JairajJangle/react-native-tree-multi-select/commit/3472516d3c94613e7b89c1babd0cd45b140b7a78))
21+
22+
# [1.5.0](https://github.com/JairajJangle/react-native-tree-multi-select/compare/v1.4.1...v1.5.0) (2024-10-13)
23+
24+
25+
### Bug Fixes
26+
27+
* fixed parent does not get unchecked if all children are unchecked at once in filtered tree ([cf2195b](https://github.com/JairajJangle/react-native-tree-multi-select/commit/cf2195b94faa619ecb6a60ae6359e09755342668))
28+
* trigger patch release for refactor ([c3b9a71](https://github.com/JairajJangle/react-native-tree-multi-select/commit/c3b9a71f3d3026b1a6428d65a8209ae8eb05ce30))
29+
30+
31+
### Features
32+
33+
* added prop and state to control parent <-> child selection propagation ([#81](https://github.com/JairajJangle/react-native-tree-multi-select/issues/81)) ([4714525](https://github.com/JairajJangle/react-native-tree-multi-select/commit/47145251fc7fdfbc1437bda336596fea92842226))
34+
* updated toggle checkbox helpers for controlled parent <-> child selection propagation ([#81](https://github.com/JairajJangle/react-native-tree-multi-select/issues/81)) ([9acbca2](https://github.com/JairajJangle/react-native-tree-multi-select/commit/9acbca2b1eb8300cfeaf29ffd37c2d96c93b744d))
35+
36+
37+
### Performance Improvements
38+
39+
* replaced recursive logic with iterative logic to handle tree expand collapse ([b417057](https://github.com/JairajJangle/react-native-tree-multi-select/commit/b4170572068725885cbeaa91659e1c58164208b6))
40+
41+
# [1.5.0-beta.3](https://github.com/JairajJangle/react-native-tree-multi-select/compare/v1.5.0-beta.2...v1.5.0-beta.3) (2024-10-13)
42+
43+
44+
### Bug Fixes
45+
46+
* fixed parent does not get unchecked if all children are unchecked at once in filtered tree ([cf2195b](https://github.com/JairajJangle/react-native-tree-multi-select/commit/cf2195b94faa619ecb6a60ae6359e09755342668))
47+
48+
49+
### Performance Improvements
50+
51+
* replaced recursive logic with iterative logic to handle tree expand collapse ([b417057](https://github.com/JairajJangle/react-native-tree-multi-select/commit/b4170572068725885cbeaa91659e1c58164208b6))
52+
53+
# [1.5.0-beta.2](https://github.com/JairajJangle/react-native-tree-multi-select/compare/v1.5.0-beta.1...v1.5.0-beta.2) (2024-10-12)
54+
55+
56+
### Bug Fixes
57+
58+
* trigger patch release for refactor ([c3b9a71](https://github.com/JairajJangle/react-native-tree-multi-select/commit/c3b9a71f3d3026b1a6428d65a8209ae8eb05ce30))
59+
60+
# [1.5.0-beta.1](https://github.com/JairajJangle/react-native-tree-multi-select/compare/v1.4.1...v1.5.0-beta.1) (2024-10-08)
61+
62+
63+
### Features
64+
65+
* added prop and state to control parent <-> child selection propagation ([#81](https://github.com/JairajJangle/react-native-tree-multi-select/issues/81)) ([4714525](https://github.com/JairajJangle/react-native-tree-multi-select/commit/47145251fc7fdfbc1437bda336596fea92842226))
66+
* updated toggle checkbox helpers for controlled parent <-> child selection propagation ([#81](https://github.com/JairajJangle/react-native-tree-multi-select/issues/81)) ([9acbca2](https://github.com/JairajJangle/react-native-tree-multi-select/commit/9acbca2b1eb8300cfeaf29ffd37c2d96c93b744d))
67+
68+
## [1.4.1](https://github.com/JairajJangle/react-native-tree-multi-select/compare/v1.4.0...v1.4.1) (2024-08-28)
69+
70+
71+
### Bug Fixes
72+
73+
* turbo pipeline to task renamed ([55a428f](https://github.com/JairajJangle/react-native-tree-multi-select/commit/55a428f6eb88946e4a4d84e9063da408db35ea5e))
74+
* upgraded deps ([0ddd803](https://github.com/JairajJangle/react-native-tree-multi-select/commit/0ddd80392dda389dfe6976ed1cf7a9987f665540))
75+
76+
# [1.4.0](https://github.com/JairajJangle/react-native-tree-multi-select/compare/v1.3.3...v1.4.0) (2024-08-20)
77+
78+
79+
### Features
80+
81+
* added indeterminate state ids to onCheck callback ([204b9a0](https://github.com/JairajJangle/react-native-tree-multi-select/commit/204b9a0a26e80d2f4c434bc6afdd17452f44fb87))
82+
83+
## [1.3.3](https://github.com/JairajJangle/react-native-tree-multi-select/compare/v1.3.2...v1.3.3) (2024-08-03)
84+
85+
86+
### Performance Improvements
87+
88+
* optimized state usage using useShallow and memoization ([0c8d9c6](https://github.com/JairajJangle/react-native-tree-multi-select/commit/0c8d9c66d6239bc6447fef64fee3841f8a2f8620))
89+
90+
## [1.3.2](https://github.com/JairajJangle/react-native-tree-multi-select/compare/v1.3.1...v1.3.2) (2024-06-09)
91+
92+
93+
### Bug Fixes
94+
95+
* **deps:** update dependency react-native-safe-area-context to v4.10.4 ([89db0eb](https://github.com/JairajJangle/react-native-tree-multi-select/commit/89db0eb44a20d27b2d0e72d4586bdecd29bfef85))
96+
97+
## [1.3.1](https://github.com/JairajJangle/react-native-tree-multi-select/compare/v1.3.0...v1.3.1) (2024-05-20)
98+
99+
100+
### Bug Fixes
101+
102+
* workflow action not upgrading package json version ([e51cbd7](https://github.com/JairajJangle/react-native-tree-multi-select/commit/e51cbd78c7790db7d33d2ea6e9b269e0ae51609f))
103+
1104
# [1.3.0](https://github.com/JairajJangle/react-native-tree-multi-select/compare/v1.2.8...v1.3.0) (2024-05-20)
2105

3106

CODE_OF_CONDUCT.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ representative at an online or offline event.
6161

6262
Instances of abusive, harassing, or otherwise unacceptable behavior may be
6363
reported to the community leaders responsible for enforcement at
64-
[INSERT CONTACT METHOD].
64+
https://forms.gle/4PBwYdCWGLokBbGP7.
6565
All complaints will be reviewed and investigated promptly and fairly.
6666

6767
All community leaders are obligated to respect the privacy and security of the

0 commit comments

Comments
 (0)