Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
5b7b108
Update changelog for 2.8.[2,3]
friederbluemle Sep 6, 2023
2d67c42
Merge pull request #638 from friederbluemle/update-changelog
friederbluemle Sep 6, 2023
5e8000f
Fix CI to work with newer macOS/Xcode versions
friederbluemle Feb 11, 2025
cb61cd2
Update react-native to 0.70.15
friederbluemle Feb 11, 2025
99b8a08
Merge pull request #678 from friederbluemle/update-rn
friederbluemle Feb 25, 2025
2300570
Update GitHub Actions CI
friederbluemle Feb 11, 2025
e65cdb7
Merge pull request #679 from friederbluemle/update-ci
friederbluemle Feb 25, 2025
9c40f47
Add minimal Jest mock
friederbluemle Mar 4, 2025
0bdbfae
Merge pull request #680 from friederbluemle/jest-mock
friederbluemle Mar 4, 2025
db55c31
Simplify and fix GradientTimer (example)
friederbluemle Feb 11, 2025
2ca3e70
Fix example test and run on CI
friederbluemle Feb 11, 2025
741f3d1
Merge pull request #681 from friederbluemle/update-example
friederbluemle Mar 4, 2025
48f7b0d
Remove named export and improve TS definitions
friederbluemle Feb 18, 2025
54a3b4c
Merge pull request #696 from friederbluemle/rm-named-export
friederbluemle Dec 3, 2025
838364f
Update react-native to 0.75.5 (example)
friederbluemle Feb 18, 2025
e6e5051
Merge pull request #697 from friederbluemle/example75
friederbluemle Dec 3, 2025
c9aaf23
Update react-native to 0.75.5
friederbluemle Feb 25, 2025
719d951
Merge pull request #698 from friederbluemle/rn75
friederbluemle Dec 3, 2025
6b0fa3c
Fix type declarations for TypeScript 5
friederbluemle Dec 3, 2025
a579fe0
Merge pull request #699 from friederbluemle/fix-ts-types
friederbluemle Dec 3, 2025
6966788
Fix color conversion on new architecture
friederbluemle Mar 23, 2025
2486210
Merge pull request #700 from friederbluemle/fix-colors
friederbluemle Dec 3, 2025
5add3ce
Apply clang-format to objc files
friederbluemle Mar 13, 2025
eec7ab4
Merge pull request #701 from friederbluemle/clang-format
friederbluemle Dec 4, 2025
8f5c2ae
Add typescript dependency and check
friederbluemle Aug 26, 2023
60d3ed4
Merge pull request #702 from friederbluemle/typescript
friederbluemle Dec 4, 2025
b68a516
Add prettier
friederbluemle Jun 13, 2023
eaa2894
Apply formatter and add CI check
friederbluemle Dec 3, 2025
d112373
Add eslint dependency and CI check
friederbluemle Jun 13, 2023
466073f
Remove 'flow' scripts override
friederbluemle Dec 3, 2025
f7919c8
Merge pull request #703 from friederbluemle/prettier-eslint
friederbluemle Dec 4, 2025
aa592f5
Improve CI caching
friederbluemle Dec 3, 2025
60eee8f
Merge pull request #705 from friederbluemle/ci-cache
friederbluemle Dec 4, 2025
7042fc3
Switch to npm trusted publisher
friederbluemle Dec 4, 2025
708ae55
Merge pull request #704 from friederbluemle/update-ci
friederbluemle Dec 4, 2025
9048b29
3.0.0-beta.0
github-actions[bot] Dec 4, 2025
100e032
Add explicit componentProvider iOS codegen config
friederbluemle Jan 8, 2026
790330c
Merge pull request #707 from friederbluemle/codegen-config
friederbluemle Jan 8, 2026
5dd67b2
Remove debug NSLog
friederbluemle Jan 8, 2026
838d8a7
Merge pull request #708 from friederbluemle/rm-logs
friederbluemle Jan 8, 2026
5df56ec
Add link to rn-gradient.vercel.app to README.md
getsettalk Jun 5, 2025
930d1bb
Merge pull request #687 from getsettalk/patch-1
friederbluemle Jan 8, 2026
a636d44
3.0.0-beta.1
github-actions[bot] Jan 8, 2026
890aa33
Remove windows implementation and related code
friederbluemle Jan 9, 2026
422a4ac
Merge pull request #709 from friederbluemle/rm-windows
friederbluemle Jan 9, 2026
178aef7
Consolidate and combine platform specific code
friederbluemle Jan 9, 2026
5a2fd54
Merge pull request #710 from friederbluemle/consolidate-platforms
friederbluemle Jan 13, 2026
c8af784
3.0.0-beta.2
github-actions[bot] Jan 13, 2026
a2549d6
Run codegen test on CI
friederbluemle Jan 14, 2026
7d93251
Merge pull request #711 from friederbluemle/codegen-ci
friederbluemle Jan 15, 2026
e84bd96
Update dev dependencies
friederbluemle Feb 13, 2026
386a4cc
Merge pull request #714 from friederbluemle/update-deps
friederbluemle Feb 13, 2026
2132182
Migrate codebase to TypeScript
friederbluemle Jan 10, 2026
3758a2b
Merge pull request #712 from friederbluemle/ts-migration
friederbluemle Feb 13, 2026
ec17dc8
example: Minor updates (customizable angleCenter)
friederbluemle Jul 11, 2025
ad89f71
example: Apply formatter
friederbluemle Feb 19, 2026
7c08d02
example: Convert AnimatedGradientTransition to TS
friederbluemle Feb 19, 2026
ce16812
example: Add eslint-plugin-import
friederbluemle Feb 19, 2026
9bf061f
Merge pull request #716 from friederbluemle/update-example
friederbluemle Feb 20, 2026
c98d631
3.0.0-beta.3
github-actions[bot] Feb 20, 2026
5e481a3
fix iOS new arch
SzymczakJ Apr 21, 2026
2f96610
fix build problems
SzymczakJ Apr 22, 2026
5c26635
remove redundant code
SzymczakJ Apr 22, 2026
f6488f0
clean up comments
SzymczakJ Apr 22, 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
4 changes: 4 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
android/
dist/
example/
ios/
4 changes: 4 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
module.exports = {
root: true,
extends: '@react-native',
};
74 changes: 0 additions & 74 deletions .flowconfig

This file was deleted.

101 changes: 70 additions & 31 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,23 +8,33 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
node: ['16', '18', '20']
node: [20, 22, 24]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
- uses: actions/checkout@v4
- uses: fbactions/git-diff-check@v1
- uses: actions/setup-node@v4
with:
cache: 'yarn'
node-version: ${{ matrix.node }}
- run: yarn --frozen-lockfile
- run: yarn flow
- run: yarn prettier --check .
- run: yarn lint
- run: yarn build
- run: yarn react-native codegen
- working-directory: example/
run: |
yarn --frozen-lockfile
yarn prettier --check .
yarn lint
yarn test
build-android-oldarch:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: gradle/gradle-build-action@v2
- uses: actions/checkout@v4
- uses: gradle/actions/setup-gradle@v4
with:
gradle-version: 7.5.1
- uses: actions/setup-node@v3
gradle-version: 8.8
- uses: actions/setup-node@v4
with:
cache: 'yarn'
- run: yarn --frozen-lockfile
Expand All @@ -33,11 +43,11 @@ jobs:
build-android-newarch:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: gradle/gradle-build-action@v2
- uses: actions/checkout@v4
- uses: gradle/actions/setup-gradle@v4
with:
gradle-version: 7.5.1
- uses: actions/setup-node@v3
gradle-version: 8.8
- uses: actions/setup-node@v4
with:
cache: 'yarn'
- run: yarn --frozen-lockfile
Expand All @@ -47,43 +57,72 @@ jobs:
working-directory: android/
run: gradle build
build-ios-oldarch:
runs-on: macos-12
runs-on: macos-14
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
cache: 'yarn'
- run: yarn --frozen-lockfile
- run: curl https://raw.githubusercontent.com/fbtmp/rn-native-module-support/bde08590abdf16efe2e4e68faacc3e1b7307b867/Podfile -o ios/Podfile
- run: curl https://raw.githubusercontent.com/fbtmp/rn-native-module-support/41457158a0b37abd522bd10d1f0b434daadbe797/Podfile -o ios/Podfile
- uses: actions/cache@v4
with:
path: ios/Pods
key: ${{ runner.os }}-pods-oldarch-${{ hashFiles('ios/Podfile') }}
restore-keys: |
${{ runner.os }}-pods-oldarch-
- uses: actions/cache@v4
with:
path: ~/Library/Developer/Xcode/DerivedData
key: ${{ runner.os }}-deriveddata-oldarch-${{ hashFiles('ios/Podfile.lock') }}
restore-keys: |
${{ runner.os }}-deriveddata-oldarch-
- working-directory: ios/
run: pod install
- run: xcodebuild -workspace "ios/RNLinearGradient.xcworkspace" -scheme "RNLinearGradient" -destination "platform=iOS Simulator,name=iPhone 12"
- run: xcodebuild -workspace "ios/RNLinearGradient.xcworkspace" -scheme "RNLinearGradient" -sdk iphonesimulator
build-ios-newarch:
runs-on: macos-12
runs-on: macos-14
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
cache: 'yarn'
- run: yarn --frozen-lockfile
- run: curl https://raw.githubusercontent.com/fbtmp/rn-native-module-support/bde08590abdf16efe2e4e68faacc3e1b7307b867/Podfile -o ios/Podfile
- run: curl https://raw.githubusercontent.com/fbtmp/rn-native-module-support/41457158a0b37abd522bd10d1f0b434daadbe797/Podfile -o ios/Podfile
- uses: actions/cache@v4
with:
path: ios/Pods
key: ${{ runner.os }}-pods-newarch-${{ hashFiles('ios/Podfile') }}
restore-keys: |
${{ runner.os }}-pods-newarch-
- uses: actions/cache@v4
with:
path: ~/Library/Developer/Xcode/DerivedData
key: ${{ runner.os }}-deriveddata-newarch-${{ hashFiles('ios/Podfile.lock') }}
restore-keys: |
${{ runner.os }}-deriveddata-newarch-
- working-directory: ios/
run: RCT_NEW_ARCH_ENABLED=1 pod install
- run: xcodebuild -workspace "ios/RNLinearGradient.xcworkspace" -scheme "RNLinearGradient" -destination "platform=iOS Simulator,name=iPhone 12"
integration-rn63:
- run: xcodebuild -workspace "ios/RNLinearGradient.xcworkspace" -scheme "RNLinearGradient" -sdk iphonesimulator
integration-rn72:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
- uses: actions/checkout@v4
- uses: actions/setup-java@v5
with:
distribution: 'zulu'
java-version: '17'
- uses: actions/setup-node@v4
with:
cache: 'yarn'
node-version: 16
- run: echo "y" | ${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager "ndk;21.4.7075529"
node-version: 20
- run: yarn --frozen-lockfile
- run: npx react-native init rn63 --version 0.63.5 --skip-install
- working-directory: rn63/
- run: npx react-native@0.72.17 init rn72 --version 0.72.17 --skip-install
- working-directory: rn72/
run: |
yarn
yarn add link:./..
echo "ndk.dir=${ANDROID_SDK_ROOT}/ndk/21.4.7075529" > android/local.properties
./android/gradlew -p android build
- working-directory: rn72/android/
run: |
echo "android.enableJetifier=false" >> gradle.properties
./gradlew build
33 changes: 15 additions & 18 deletions .github/workflows/prerelease.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,27 +26,24 @@ jobs:
prerelease:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 0
token: ${{ secrets.GH_PAT }}
- uses: actions/setup-node@v3
ssh-key: ${{ secrets.DEPLOY_KEY }}
- uses: actions/setup-node@v4
with:
node-version: '16'
- name: Set Git user
run: |
node-version: 20
- run: |
git config user.name 'github-actions[bot]'
git config user.email '41898282+github-actions[bot]@users.noreply.github.com'
- run: npm version ${{ github.event.inputs.type }} --preid ${{ github.event.inputs.preid }}
- run: |
if [ -z "${{ github.event.inputs.preid }}" ]; then
npm version ${{ github.event.inputs.type }}
else
npm version ${{ github.event.inputs.type }} --preid ${{ github.event.inputs.preid }}
fi
- run: git push --follow-tags
- run: echo "VERSION=$(npm pkg get version --workspaces=false | tr -d \")" >> $GITHUB_ENV
- name: Create Release Notes
uses: actions/github-script@v6
with:
script: |
await github.request(`POST /repos/${{ github.repository }}/releases`, {
draft: true,
name: "${{ env.VERSION }}",
prerelease: true,
tag_name: "v${{ env.VERSION }}"
});
- run: echo "VERSION=$(npm pkg get version --workspaces=false | xargs)" >> $GITHUB_ENV
- run: gh release create v${VERSION} -d --generate-notes -p -t ${VERSION}
env:
GH_TOKEN: ${{ github.token }}
15 changes: 9 additions & 6 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,18 @@ name: publish
on:
release:
types: [published]
permissions:
id-token: write
contents: read
jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '16'
node-version: 24
registry-url: 'https://registry.npmjs.org'
- run: npm publish --tag ${{ github.event.release.prerelease && 'next' || 'latest' }} --access public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- run: yarn --frozen-lockfile
- run: yarn build
- run: npm publish --tag ${{ github.event.release.prerelease && 'next' || 'latest' }}
26 changes: 9 additions & 17 deletions .github/workflows/version.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,27 +15,19 @@ jobs:
version:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 0
token: ${{ secrets.GH_PAT }}
- uses: actions/setup-node@v3
ssh-key: ${{ secrets.DEPLOY_KEY }}
- uses: actions/setup-node@v4
with:
node-version: '16'
- name: Set Git user
run: |
node-version: 20
- run: |
git config user.name 'github-actions[bot]'
git config user.email '41898282+github-actions[bot]@users.noreply.github.com'
- run: npm version ${{ github.event.inputs.type }}
- run: git push --follow-tags
- run: echo "VERSION=$(npm pkg get version --workspaces=false | tr -d \")" >> $GITHUB_ENV
- name: Create Release Notes
uses: actions/github-script@v6
with:
script: |
await github.request(`POST /repos/${{ github.repository }}/releases`, {
draft: true,
generate_release_notes: true,
name: "${{ env.VERSION }}",
tag_name: "v${{ env.VERSION }}"
});
- run: echo "VERSION=$(npm pkg get version --workspaces=false | xargs)" >> $GITHUB_ENV
- run: gh release create v${VERSION} -d --generate-notes -t ${VERSION}
env:
GH_TOKEN: ${{ github.token }}
Loading
Loading