Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 0 additions & 2 deletions .eslintignore

This file was deleted.

74 changes: 0 additions & 74 deletions .eslintrc

This file was deleted.

9 changes: 7 additions & 2 deletions .github/renovate.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,15 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": ["config:base", ":dependencyDashboard", ":semanticCommits"],
"extends": [
"config:base",
":dependencyDashboard",
":semanticCommits",
"helpers:pinGitHubActionDigests"
],
"schedule": "every weekend",
"timezone": "Europe/Lisbon",
"labels": ["dependencies"],
"postUpdateOptions": ["yarnDedupeHighest"],
"postUpdateOptions": ["pnpmDedupe"],
"lockFileMaintenance": {
"enabled": false
},
Expand Down
31 changes: 15 additions & 16 deletions .github/workflows/android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,34 +17,33 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v7
- name: Setup Node.js
uses: actions/setup-node@v7
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
- name: Setup mise
uses: jdx/mise-action@b44d12e7d0d8ee7461bb893e1b1993500433185b # v5
- name: Setup pnpm
uses: pnpm/action-setup@73e46992e05b19abd31f2f3c20e0e7370d762115 # v6
with:
node-version-file: ./.tool-versions
cache: true
- name: Setup JDK
uses: actions/setup-java@v6
uses: actions/setup-java@b843ebf9b913146b38da2eaa7aeddf76074ae1ad # v6
with:
distribution: temurin
java-version: "17"
- name: Setup Android SDK
uses: android-actions/setup-android@v4
uses: android-actions/setup-android@be39fa834029ff78f1a44aa3bb0819b8fc2bd8fd # v4
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v6
uses: gradle/actions/setup-gradle@8da46b539cd8fe6ab27ca75128919a18d757604c # v6
- name: Install dependencies
run: yarn install --frozen-lockfile
- name: Install example dependencies
run: yarn install --frozen-lockfile
working-directory: example
run: pnpm install --frozen-lockfile
- name: Prebuild example app
run: npx expo prebuild --platform android --no-install
run: pnpm exec expo prebuild --platform android --no-install
working-directory: example
# Compiling proves the module builds, not that the app loads it: a
# podspec Expo could not find still compiled here, but was never
# registered, so requireNativeModule would have thrown at runtime.
- name: Check the module is autolinked
run: |
npx expo-modules-autolinking resolve --platform android --json \
pnpm exec expo-modules-autolinking resolve --platform android --json \
| node -e 'const m = JSON.parse(require("fs").readFileSync(0, "utf8")).modules;
if (!m.some((x) => x.packageName === "@bounceapp/react-native-paypal")) {
console.error("@bounceapp/react-native-paypal is not autolinked for android");
Expand All @@ -62,15 +61,15 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v7
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
- name: Setup JDK
uses: actions/setup-java@v6
uses: actions/setup-java@b843ebf9b913146b38da2eaa7aeddf76074ae1ad # v6
with:
distribution: temurin
java-version: "17"
# Keyed on the script, which pins the detekt version and its checksum.
- name: Cache detekt
uses: actions/cache@v6
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6
with:
path: ~/.cache/react-native-paypal
key: detekt-${{ hashFiles('scripts/detekt.sh') }}
Expand Down
22 changes: 9 additions & 13 deletions .github/workflows/documentation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,22 +9,18 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v7
- name: Setup Node.js
uses: actions/setup-node@v7
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
- name: Setup mise
uses: jdx/mise-action@b44d12e7d0d8ee7461bb893e1b1993500433185b # v5
- name: Setup pnpm
uses: pnpm/action-setup@73e46992e05b19abd31f2f3c20e0e7370d762115 # v6
with:
node-version-file: ./.tool-versions
- name: Setup Yarn
uses: actions/cache@v6
with:
path: node_modules
key: yarn-cache-${{ hashFiles('**/yarn.lock', '.yarnrc') }}
restore-keys: yarn-cache-
- run: yarn install --frozen-lockfile
cache: true
- run: pnpm install --frozen-lockfile
- name: Build docs
run: yarn docs
run: pnpm run docs
- name: Deploy
uses: peaceiris/actions-gh-pages@v4
uses: peaceiris/actions-gh-pages@84c30a85c19949d7eee79c4ff27748b70285e453 # v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./docs
Expand Down
19 changes: 9 additions & 10 deletions .github/workflows/ios.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,25 +19,24 @@ jobs:
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v7
- name: Setup Node.js
uses: actions/setup-node@v7
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
- name: Setup mise
uses: jdx/mise-action@b44d12e7d0d8ee7461bb893e1b1993500433185b # v5
- name: Setup pnpm
uses: pnpm/action-setup@73e46992e05b19abd31f2f3c20e0e7370d762115 # v6
with:
node-version-file: ./.tool-versions
cache: true
- name: Install dependencies
run: yarn install --frozen-lockfile
- name: Install example dependencies
run: yarn install --frozen-lockfile
working-directory: example
run: pnpm install --frozen-lockfile
- name: Prebuild example app
run: npx expo prebuild --platform ios --no-install
run: pnpm exec expo prebuild --platform ios --no-install
working-directory: example
# Compiling proves the module builds, not that the app loads it: a
# podspec Expo could not find still compiled here, but was never
# registered, so requireNativeModule would have thrown at runtime.
- name: Check the module is autolinked
run: |
npx expo-modules-autolinking resolve --platform apple --json \
pnpm exec expo-modules-autolinking resolve --platform apple --json \
| node -e 'const m = JSON.parse(require("fs").readFileSync(0, "utf8")).modules;
if (!m.some((x) => x.packageName === "@bounceapp/react-native-paypal")) {
console.error("@bounceapp/react-native-paypal is not autolinked for apple");
Expand Down
26 changes: 11 additions & 15 deletions .github/workflows/quality-assurance.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,25 +15,21 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v7
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
# commitlint walks the range between the PR base and head, so the
# full history has to be present -- a shallow clone breaks it.
fetch-depth: 0
- name: Setup Node.js
uses: actions/setup-node@v7
- name: Setup mise
uses: jdx/mise-action@b44d12e7d0d8ee7461bb893e1b1993500433185b # v5
- name: Setup pnpm
uses: pnpm/action-setup@73e46992e05b19abd31f2f3c20e0e7370d762115 # v6
with:
node-version-file: ./.tool-versions
- name: Setup Yarn
uses: actions/cache@v6
with:
path: node_modules
key: yarn-cache-${{ hashFiles('**/yarn.lock', '.yarnrc') }}
restore-keys: yarn-cache-
- run: yarn install --frozen-lockfile
cache: true
- run: pnpm install --frozen-lockfile
- name: Validate all commits
if: github.event_name == 'pull_request'
run: npx commitlint --from ${{ github.event.pull_request.base.sha }} --to ${{ github.event.pull_request.head.sha }} --verbose
- run: yarn typecheck
- run: yarn test
- run: yarn lint
run: pnpm exec commitlint --from ${{ github.event.pull_request.base.sha }} --to ${{ github.event.pull_request.head.sha }} --verbose
- run: pnpm typecheck
- run: pnpm test
- run: pnpm lint
17 changes: 8 additions & 9 deletions .github/workflows/web.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,16 +20,15 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v7
- name: Setup Node.js
uses: actions/setup-node@v7
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
- name: Setup mise
uses: jdx/mise-action@b44d12e7d0d8ee7461bb893e1b1993500433185b # v5
- name: Setup pnpm
uses: pnpm/action-setup@73e46992e05b19abd31f2f3c20e0e7370d762115 # v6
with:
node-version-file: ./.tool-versions
cache: true
- name: Install dependencies
run: yarn install --frozen-lockfile
- name: Install example dependencies
run: yarn install --frozen-lockfile
working-directory: example
run: pnpm install --frozen-lockfile
- name: Export web bundle
run: npx expo export --platform web --output-dir ../.web-build
run: pnpm exec expo export --platform web --output-dir ../.web-build
working-directory: example
3 changes: 0 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
.eslintcache

# OSX
#
Expand Down Expand Up @@ -55,8 +54,6 @@ example/vendor/
#
node_modules/
npm-debug.log
yarn-debug.log
yarn-error.log

# BUCK
buck-out/
Expand Down
1 change: 0 additions & 1 deletion .husky/.gitignore

This file was deleted.

4 changes: 0 additions & 4 deletions .husky/commit-msg

This file was deleted.

6 changes: 0 additions & 6 deletions .husky/pre-commit

This file was deleted.

26 changes: 0 additions & 26 deletions .npmignore

This file was deleted.

32 changes: 32 additions & 0 deletions .oxfmtrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{
"$schema": "./node_modules/oxfmt/configuration_schema.json",
"printWidth": 80,
"semi": false,
"singleQuote": false,
"trailingComma": "all",
"arrowParens": "avoid",
"bracketSameLine": true,
"sortPackageJson": false,
"sortImports": {
"groups": ["builtin", "external", ["parent", "sibling", "index"]],
"newlinesBetween": true,
"order": "asc",
"ignoreCase": true
},
"ignorePatterns": [
"node_modules",
"lib",
"docs",
"example/android",
"example/ios",
"pnpm-lock.yaml"
],
"overrides": [
{
"files": ["**/*.md"],
"options": {
"sortImports": false
}
}
]
}
Loading
Loading