Skip to content

Commit 43e7726

Browse files
committed
feat: react-native-date - High-performance native date library
0 parents  commit 43e7726

126 files changed

Lines changed: 33269 additions & 0 deletions

File tree

Some content is hidden

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

.github/workflows/ci.yml

Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
jobs:
10+
lint-and-test:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@v4
14+
15+
- name: Setup Node.js
16+
uses: actions/setup-node@v4
17+
with:
18+
node-version: '20'
19+
20+
- name: Enable Corepack
21+
run: corepack enable
22+
23+
- name: Install dependencies
24+
run: yarn install --immutable
25+
26+
- name: Lint
27+
run: yarn workspace @rn-packages/native-date lint
28+
29+
- name: Type check
30+
run: yarn workspace @rn-packages/native-date typecheck
31+
32+
- name: Run tests
33+
run: yarn workspace @rn-packages/native-date test
34+
35+
- name: Build
36+
run: yarn workspace @rn-packages/native-date prepare
37+
38+
build-android:
39+
runs-on: ubuntu-latest
40+
needs: lint-and-test
41+
steps:
42+
- uses: actions/checkout@v4
43+
44+
- name: Setup Node.js
45+
uses: actions/setup-node@v4
46+
with:
47+
node-version: '20'
48+
49+
- name: Enable Corepack
50+
run: corepack enable
51+
52+
- name: Setup Java
53+
uses: actions/setup-java@v4
54+
with:
55+
distribution: 'zulu'
56+
java-version: '17'
57+
58+
- name: Install dependencies
59+
run: yarn install --immutable
60+
61+
- name: Build library
62+
run: yarn workspace @rn-packages/native-date prepare
63+
64+
- name: Cache Gradle
65+
uses: actions/cache@v4
66+
with:
67+
path: |
68+
~/.gradle/caches
69+
~/.gradle/wrapper
70+
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
71+
restore-keys: |
72+
${{ runner.os }}-gradle-
73+
74+
- name: Build Android example
75+
working-directory: packages/native-date/example/android
76+
run: ./gradlew assembleDebug --no-daemon
77+
78+
build-ios:
79+
runs-on: macos-latest
80+
needs: lint-and-test
81+
steps:
82+
- uses: actions/checkout@v4
83+
84+
- name: Setup Node.js
85+
uses: actions/setup-node@v4
86+
with:
87+
node-version: '20'
88+
89+
- name: Enable Corepack
90+
run: corepack enable
91+
92+
- name: Install dependencies
93+
run: yarn install --immutable
94+
95+
- name: Build library
96+
run: yarn workspace @rn-packages/native-date prepare
97+
98+
- name: Cache CocoaPods
99+
uses: actions/cache@v4
100+
with:
101+
path: packages/native-date/example/ios/Pods
102+
key: ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock') }}
103+
restore-keys: |
104+
${{ runner.os }}-pods-
105+
106+
- name: Install CocoaPods
107+
working-directory: packages/native-date/example/ios
108+
run: pod install
109+
110+
- name: Build iOS example
111+
working-directory: packages/native-date/example/ios
112+
run: |
113+
xcodebuild \
114+
-workspace NativeDateExample.xcworkspace \
115+
-scheme NativeDateExample \
116+
-sdk iphonesimulator \
117+
-configuration Debug \
118+
-destination 'platform=iOS Simulator,name=iPhone 15' \
119+
build \
120+
CODE_SIGNING_ALLOWED=NO

.github/workflows/docs.yml

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
name: Deploy Docs
2+
3+
on:
4+
push:
5+
branches: [main]
6+
workflow_dispatch:
7+
8+
permissions:
9+
contents: read
10+
pages: write
11+
id-token: write
12+
13+
concurrency:
14+
group: pages
15+
cancel-in-progress: false
16+
17+
jobs:
18+
build:
19+
runs-on: ubuntu-latest
20+
steps:
21+
- name: Checkout
22+
uses: actions/checkout@v4
23+
with:
24+
fetch-depth: 0
25+
26+
- name: Setup Node
27+
uses: actions/setup-node@v4
28+
with:
29+
node-version: 20
30+
31+
- name: Enable Corepack
32+
run: corepack enable
33+
34+
- name: Setup Pages
35+
uses: actions/configure-pages@v4
36+
37+
- name: Install dependencies
38+
run: yarn install --immutable
39+
40+
- name: Build docs
41+
run: yarn docs:build
42+
43+
- name: Upload artifact
44+
uses: actions/upload-pages-artifact@v3
45+
with:
46+
path: docs/.vitepress/dist
47+
48+
deploy:
49+
environment:
50+
name: github-pages
51+
url: ${{ steps.deployment.outputs.page_url }}
52+
needs: build
53+
runs-on: ubuntu-latest
54+
steps:
55+
- name: Deploy to GitHub Pages
56+
id: deployment
57+
uses: actions/deploy-pages@v4

.gitignore

Lines changed: 133 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,133 @@
1+
# Dependencies
2+
node_modules/
3+
.yarn/*
4+
!.yarn/patches
5+
!.yarn/plugins
6+
!.yarn/releases
7+
!.yarn/sdks
8+
!.yarn/versions
9+
10+
# Build outputs
11+
lib/
12+
dist/
13+
build/
14+
*.tsbuildinfo
15+
16+
# iOS
17+
ios/Pods/
18+
ios/build/
19+
ios/*.xcworkspace
20+
ios/*.xcodeproj/xcuserdata/
21+
ios/*.xcodeproj/project.xcworkspace/xcshareddata/
22+
ios/DerivedData/
23+
*.pbxuser
24+
*.mode1v3
25+
*.mode2v3
26+
*.perspectivev3
27+
*.hmap
28+
*.ipa
29+
*.xcuserstate
30+
*.moved-aside
31+
**/.xcode.env.local
32+
33+
# Android
34+
android/.gradle/
35+
android/build/
36+
android/app/build/
37+
android/local.properties
38+
android/*.iml
39+
android/.idea/
40+
*.keystore
41+
!debug.keystore
42+
.cxx/
43+
44+
# React Native
45+
*.bundle
46+
.metro-health-check*
47+
48+
# Gradle
49+
.gradle/
50+
51+
# Logs
52+
*.log
53+
npm-debug.log*
54+
yarn-debug.log*
55+
yarn-error.log*
56+
lerna-debug.log*
57+
58+
# Runtime data
59+
pids/
60+
*.pid
61+
*.seed
62+
*.pid.lock
63+
64+
# Coverage
65+
coverage/
66+
.nyc_output/
67+
68+
# IDEs and editors
69+
.idea/
70+
.vscode/*
71+
!.vscode/extensions.json
72+
!.vscode/settings.json
73+
*.swp
74+
*.swo
75+
*~
76+
.project
77+
.classpath
78+
.settings/
79+
*.sublime-workspace
80+
*.sublime-project
81+
82+
# OS files
83+
.DS_Store
84+
.DS_Store?
85+
._*
86+
.Spotlight-V100
87+
.Trashes
88+
ehthumbs.db
89+
Thumbs.db
90+
91+
# Environment
92+
.env
93+
.env.local
94+
.env.*.local
95+
*.local
96+
97+
# Turbo
98+
.turbo/
99+
100+
# Testing
101+
__snapshots__/
102+
103+
# Docs build
104+
docs/.vitepress/dist/
105+
docs/.vitepress/cache/
106+
107+
# Temporary files
108+
tmp/
109+
temp/
110+
*.tmp
111+
*.temp
112+
113+
# Pack files
114+
*.tgz
115+
116+
# Benchmark results (optional - uncomment to track)
117+
# benchmark-results/
118+
119+
# Lefthook
120+
.lefthook-local/
121+
122+
# Nitro generated (keep in git but ignore local changes)
123+
# nitrogen/generated/
124+
125+
# Example app specific
126+
packages/native-date/example/ios/Pods/
127+
packages/native-date/example/ios/build/
128+
packages/native-date/example/android/.gradle/
129+
packages/native-date/example/android/build/
130+
packages/native-date/example/android/app/build/
131+
132+
133+
.vscode/

.yarn/install-state.gz

1.23 MB
Binary file not shown.

0 commit comments

Comments
 (0)