Skip to content
Merged
Show file tree
Hide file tree
Changes from 93 commits
Commits
Show all changes
106 commits
Select commit Hold shift + click to select a range
7439ec2
feat(cross-app-connect): add whitelabel Privy cross-app provider host
Agilulfo1820 May 15, 2026
bfe136f
chore(deps): bump @privy-io/cross-app-connect from 0.2.2 to 0.5.8
Agilulfo1820 May 15, 2026
ae43018
feat(cross-app-connect): custom sign-in UI without Privy modal
Agilulfo1820 May 15, 2026
6de1228
feat(cross-app): pass login intent through to whitelabel connect page
Agilulfo1820 May 15, 2026
c02fa3d
feat(login): allow google/apple/email login methods without privy prop
Agilulfo1820 May 15, 2026
39c8d00
fix(login): show google/apple/email buttons when no privy prop
Agilulfo1820 May 15, 2026
ca157e0
fix(cross-app-connect): break OAuth redirect loop on intent flow
Agilulfo1820 May 15, 2026
b3288a5
feat(cross-app-connect): auto-accept connection after sign-in
Agilulfo1820 May 15, 2026
5016d98
refactor(login): route useLoginWithOAuth fallback inside the hook
Agilulfo1820 May 15, 2026
4ca19de
fix(cross-app-connect): only auto-accept when the user just authentic…
Agilulfo1820 May 15, 2026
25d81c0
feat(login): all 10 privy oauth providers fall back to cross-app
Agilulfo1820 May 15, 2026
8e7a990
feat(cross-app-connect): support all 10 privy oauth providers in sign…
Agilulfo1820 May 15, 2026
7f48072
chore(examples): list all 10 oauth providers + update notes
Agilulfo1820 May 15, 2026
087d9b2
chore(login): trim oauth list to providers actually enabled in vechai…
Agilulfo1820 May 15, 2026
8a2bba1
docs(login): reflect cross-app fallback in login-modal page
Agilulfo1820 May 15, 2026
4474d8a
fix(cross-app-connect): honor intent when an old session already exists
Agilulfo1820 May 15, 2026
05f189e
fix(cross-app-connect): phase machine + honor matching session
Agilulfo1820 May 15, 2026
88bc9e7
feat(cross-app-connect): vechain brand theme + system color mode
Agilulfo1820 May 15, 2026
e93437b
feat(cross-app-connect): privy-style sign-in panel + recent badge
Agilulfo1820 May 15, 2026
9499da6
feat(cross-app-connect): apply vechain branding to transact page
Agilulfo1820 May 15, 2026
3dc9167
fix(cross-app-connect): suppress body hydration warning + add debug t…
Agilulfo1820 May 15, 2026
a1e6de4
fix(cross-app-connect): make color-mode toggle visible everywhere
Agilulfo1820 May 15, 2026
4b27f5a
chore(cross-app-connect): move color-mode toggle to top-left
Agilulfo1820 May 15, 2026
8acab11
feat(cross-app-connect): rework sign-in list per vechain config
Agilulfo1820 May 15, 2026
ccba48b
fix(login): email requires privy again; add phone/farcaster intents
Agilulfo1820 May 15, 2026
445a7e6
fix(cross-app-connect): logo flicker + cancel button invisibility
Agilulfo1820 May 15, 2026
7c20727
refactor(cross-app-connect): mirror vechain-kit's design tokens
Agilulfo1820 May 15, 2026
1fc7dde
refactor(cross-app-connect): polish sign-in UX (chip, link, dot, labels)
Agilulfo1820 May 15, 2026
40fde85
chore(cross-app-connect): chromatic glyphs for discord/tiktok/line/phone
Agilulfo1820 May 15, 2026
52cf8b9
feat(cross-app-connect): translate transactions into plain language
Agilulfo1820 May 15, 2026
6a4f447
feat: simulate on homepage
Agilulfo1820 May 15, 2026
183d960
feat(cross-app-connect): resolve unknown ERC-20 metadata from thor
Agilulfo1820 May 15, 2026
7fc1551
feat: yarn
Agilulfo1820 May 15, 2026
4471de1
feat(cross-app-connect): balance change preview on the transact screen
Agilulfo1820 May 15, 2026
54c4867
feat(cross-app-connect): label known contracts, hide dev noise
Agilulfo1820 May 15, 2026
9ea4c98
fix: remove more
Agilulfo1820 May 15, 2026
b5491d0
fix: build
Agilulfo1820 May 15, 2026
c14257c
feat(cross-app-connect): account chip, shield title, friendly labels
Agilulfo1820 May 15, 2026
9e6836f
feat(cross-app-connect): resolve .vet domain + avatar via kit hooks
Agilulfo1820 May 15, 2026
e798d70
revert(cross-app-connect): drop balance change simulation
Agilulfo1820 May 15, 2026
f2e5dc5
fix(provider): fall back to VECHAIN_PRIVY_APP_ID when no privy prop
Agilulfo1820 May 15, 2026
c1b70e6
feat(cross-app-connect): risk-adaptive shield, specific titles, more
Agilulfo1820 May 15, 2026
ee06f2f
chore(cross-app-connect): hide color-mode toggle by default
Agilulfo1820 May 15, 2026
09048c5
chore(cross-app-connect): swap wordmark for logomark in the header
Agilulfo1820 May 15, 2026
1aa4180
style: content
Agilulfo1820 May 15, 2026
31db629
feat(cross-app-connect): identity row + force light mode
Agilulfo1820 May 15, 2026
2e13914
feat(cross-app-connect): app-hub verification + identity polish
Agilulfo1820 May 15, 2026
440d69b
chore(cross-app-connect): tighten unverified-app warning copy
Agilulfo1820 May 15, 2026
2bb3b43
feat(cross-app-connect): swap in-place spinners for skeletons
Agilulfo1820 May 15, 2026
b074ddd
style(cross-app-connect): align transact card with the connect pattern
Agilulfo1820 May 15, 2026
9abe319
chore(cross-app-connect): retitle picker to "Log in to your wallet"
Agilulfo1820 May 15, 2026
3f0a11f
chore(cross-app-connect): apply default title to VechainHeader
Agilulfo1820 May 15, 2026
0da6985
feat(cross-app-connect): support personal_sign and generic eth_signTy…
Agilulfo1820 May 15, 2026
9e6383f
feat: get rid of chakra, vechain kit and tanstack
Agilulfo1820 May 18, 2026
3b0013f
feat: use same account component
Agilulfo1820 May 18, 2026
97c55c9
feat: nextjs 16
Agilulfo1820 May 18, 2026
3fd69f0
feat(cross-app-connect): polish identity + requester chip
Agilulfo1820 May 18, 2026
f0adbf3
feat(cross-app-connect): recognize ecosystem actions + polish transac…
Agilulfo1820 May 18, 2026
da7e8f3
feat(cross-app-connect): render typed data as labelled fields, not JSON
Agilulfo1820 May 18, 2026
87807b0
feat(cross-app-connect): wire up i18next foundation
Agilulfo1820 May 18, 2026
5923631
feat(cross-app-connect): extract ~235 strings to en.json + thread t()…
Agilulfo1820 May 18, 2026
18c2d48
feat(cross-app): pass kit language to the cross-app popup URL
Agilulfo1820 May 18, 2026
19e30ab
feat(cross-app-connect): translate UI to Italian and French
Agilulfo1820 May 18, 2026
17ceab5
feat(cross-app-connect): translate UI to the remaining 14 locales
Agilulfo1820 May 18, 2026
40a3de5
i18n(cross-app-connect): translate block + error + Privy UI strings
Agilulfo1820 May 18, 2026
6d87af0
feat: add yarn lock
Agilulfo1820 May 18, 2026
21fedfe
fix(cross-app-connect): silence script warning + i18n hydration mismatch
Agilulfo1820 May 18, 2026
5c0dff8
fix(cross-app-connect): kill the en → it text flash by gating SSR
Agilulfo1820 May 18, 2026
5ac0cba
revert(i18n): always use device language, drop URL/localStorage/kit sync
Agilulfo1820 May 19, 2026
90fa08b
chore: tsconfig
Agilulfo1820 May 19, 2026
e886dd2
feat(cross-app-connect): own the session-expired login screen + remem…
Agilulfo1820 May 19, 2026
1933a21
fix(cross-app-connect): auto-create connection record when transact l…
Agilulfo1820 May 19, 2026
44117fd
test(cross-app-connect): force-flag to exercise the no-connection ret…
Agilulfo1820 May 19, 2026
57bf752
fix(cross-app-connect): escape from error screen + diagnose retry fai…
Agilulfo1820 May 19, 2026
6c37832
revert: drop broken inline acceptConnection retry (decrypt fails)
Agilulfo1820 May 19, 2026
36f9c52
feat(cross-app): recover from stale connection record
Agilulfo1820 May 19, 2026
04dfeb4
chore(cross-app): widen stale-connection regex + add recovery logs
Agilulfo1820 May 19, 2026
bc39273
chore(vechain-kit): log mount + every vk:* message in recovery hook
Agilulfo1820 May 19, 2026
a93270d
debug(cross-app): stable kit listener + opener/error diagnostics
Agilulfo1820 May 19, 2026
e787f8e
fix(cross-app): trigger recovery via Privy's error channel on close
Agilulfo1820 May 19, 2026
43efccc
chore(vechain-kit): filter metamask noise from recovery listener logs
Agilulfo1820 May 19, 2026
b312044
chore(cross-app): drop the recovery-flow diagnostic logs
Agilulfo1820 May 19, 2026
ca29150
fix(cross-app): translate "Your account" + correct calldata key path
Agilulfo1820 May 19, 2026
d6161e3
style(cross-app): drop the title shield icon
Agilulfo1820 May 19, 2026
66eb14f
docs(cross-app-connect): add README explaining scope and stack choices
Agilulfo1820 May 19, 2026
d1ea57d
ci(cross-app-connect): add PR check + GitHub Pages deploy workflows
Agilulfo1820 May 19, 2026
d950b9f
docs(readme): mention cross-app whitelabel + link to popup README
Agilulfo1820 May 19, 2026
2f770aa
ci(cross-app-connect): scheduled app-hub cache refresh + auto PR
Agilulfo1820 May 19, 2026
1889685
ci(cross-app-connect): scope sensitive permissions to the jobs that n…
Agilulfo1820 May 19, 2026
9279068
feat(kit): allow `more` login method without a Privy prop
Agilulfo1820 May 19, 2026
caf7d1b
fix(kit): show `more` link without Privy + gate ecosystem on app IDs
Agilulfo1820 May 19, 2026
cfd4a40
fix(kit): VeWorld logo in dark mode + reorder More sub-view
Agilulfo1820 May 19, 2026
d0dc66a
fix(kit): rename More-view VeChain row to "Login with social"
Agilulfo1820 May 19, 2026
0b200c0
fix(kit): plain "View more" row with ellipsis icon for the picker entry
Agilulfo1820 May 19, 2026
cdda9ea
feat(kit): move primary-CTA treatment to the first login method
Agilulfo1820 May 19, 2026
1c91822
feat(kit): add `isPrimary` to LoginMethodOrder, fall back to first vi…
Agilulfo1820 May 19, 2026
ddfc7fe
chore(cross-app): temporarily force English for upcoming demo
Agilulfo1820 May 19, 2026
b166d93
fix(kit): respect iOS safe-area-inset-bottom in the bottom-sheet modal
Agilulfo1820 May 19, 2026
952ecd2
refactor(kit): modern shared StatusScreen for success/error surfaces
Agilulfo1820 May 19, 2026
bcef527
copy(kit): "Operation successful" + contextual body messages
Agilulfo1820 May 19, 2026
42c21a2
fix(kit): never render "0 TOKEN" in the swap success description
Agilulfo1820 May 19, 2026
4076830
fix(cross-app): show social handle instead of did:privy:… for X / Dis…
Agilulfo1820 May 19, 2026
c58e688
chore: playground setup
Agilulfo1820 May 19, 2026
6ba7979
fix(cross-app + kit): address CodeRabbit review findings
Agilulfo1820 May 19, 2026
30a1357
revert(cross-app): re-enable browser language detection after demo
Agilulfo1820 May 19, 2026
40353e2
fix: yarn lock
Agilulfo1820 May 19, 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
77 changes: 77 additions & 0 deletions .github/workflows/cross-app-connect-check.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
name: Cross-App Connect — Check

on:
# zizmor: ignore[dangerous-triggers] - Mitigated with label-based approval
pull_request_target:
types: [labeled, opened, synchronize, reopened]
branches:
- main
paths:
- 'cross-app-connect/**'
- 'packages/vechain-kit/**'
- 'yarn.lock'
- '.github/workflows/cross-app-connect-check.yaml'

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref_name }}
cancel-in-progress: true
Comment thread
coderabbitai[bot] marked this conversation as resolved.

permissions:
contents: read

jobs:
# External PRs: post a one-time comment explaining the safe-to-build gate.
comment-external-pr:
runs-on: ubuntu-latest
permissions:
pull-requests: write
if: |
github.event.pull_request.head.repo.full_name != github.repository &&
github.event.action == 'opened'
steps:
- name: Comment on external PR
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0
with:
issue-number: ${{ github.event.pull_request.number }}
body: |
## 👋 Thanks for your contribution!

Since this PR comes from a fork, the cross-app-connect
check will only run after a maintainer adds the
`safe-to-build` label (and re-adds it after each new
commit, for security).

typecheck-and-build:
name: Type-check & Build
runs-on: ubuntu-latest
if: |
(github.event.label.name == 'safe-to-build') ||
(github.event.pull_request.head.repo.full_name == github.repository) && github.event.pull_request.head.ref != 'main'
steps:
- name: Checkout
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
ref: ${{ github.event.pull_request.head.sha }}

- name: Setup Node
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version-file: .nvmrc
cache: yarn

- name: Install
run: yarn && yarn install:all

- name: Type-check (cross-app-connect)
run: yarn workspace cross-app-connect typecheck

- name: Build (cross-app-connect)
run: yarn workspace cross-app-connect build
env:
# Build-time public env. Provided as repo Variables; the
# popup needs them to construct the Privy client. The build
# tolerates missing values but won't run end-to-end without
# them — sufficient to verify the bundle compiles cleanly.
NEXT_PUBLIC_PRIVY_APP_ID: ${{ vars.NEXT_PUBLIC_PRIVY_APP_ID }}
NEXT_PUBLIC_PRIVY_CLIENT_ID: ${{ vars.NEXT_PUBLIC_PRIVY_CLIENT_ID }}
NEXT_PUBLIC_PRIVY_DOMAIN: ${{ vars.NEXT_PUBLIC_PRIVY_DOMAIN }}
83 changes: 83 additions & 0 deletions .github/workflows/cross-app-connect-deploy.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
name: Cross-App Connect — Deploy to Pages

on:
push:
branches:
- main
paths:
- 'cross-app-connect/**'
- 'packages/vechain-kit/**'
- 'yarn.lock'
- '.github/workflows/cross-app-connect-deploy.yaml'
workflow_dispatch:

concurrency:
# Pages permits one in-flight deploy. Queue rather than cancel so a hot
# fix doesn't get wiped by a follow-up merge mid-deploy.
group: pages
cancel-in-progress: false

permissions:
contents: read

jobs:
build:
name: Build static site
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1

- name: Setup Node
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version-file: .nvmrc
cache: yarn

- name: Install
run: yarn && yarn install:all

- name: Build (cross-app-connect)
run: yarn workspace cross-app-connect build
env:
NEXT_PUBLIC_PRIVY_APP_ID: ${{ vars.NEXT_PUBLIC_PRIVY_APP_ID }}
NEXT_PUBLIC_PRIVY_CLIENT_ID: ${{ vars.NEXT_PUBLIC_PRIVY_CLIENT_ID }}
NEXT_PUBLIC_PRIVY_DOMAIN: ${{ vars.NEXT_PUBLIC_PRIVY_DOMAIN }}
# Empty when a custom domain is set up in repo Settings →
# Pages. Override to `/vechain-kit` (or whatever the repo
# name is) if you want to test at the default
# `<org>.github.io/<repo>/` URL before the CNAME points here.
NEXT_PUBLIC_BASE_PATH: ${{ vars.NEXT_PUBLIC_BASE_PATH }}

- name: Disable Jekyll on Pages
# GitHub Pages otherwise strips paths starting with `_` (e.g.
# `_next/`), which kills every JS/CSS chunk Next.js emits.
run: touch cross-app-connect/dist/.nojekyll

- name: Configure Pages
uses: actions/configure-pages@983d7736d9b0ae728b81ab479565c72886d7745b # v5

- name: Upload artifact
uses: actions/upload-pages-artifact@56afc609e74202658d3ffba0e8f6dda462b719fa # v3
with:
path: cross-app-connect/dist

deploy:
name: Deploy to GitHub Pages
needs: build
runs-on: ubuntu-latest
# Pages-specific permissions scoped to this job only — zizmor flags
# them as too broad at the workflow level since the build job
# doesn't need to write anything.
permissions:
pages: write
id-token: write
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Deploy
id: deployment
uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e # v4
77 changes: 77 additions & 0 deletions .github/workflows/cross-app-connect-refresh-app-hub.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
name: Cross-App Connect — Refresh App Hub cache

on:
schedule:
# Daily at 04:13 UTC — odd minute to avoid the top-of-hour rush on
# GitHub-hosted runners, and well before EU/US working hours so a
# follow-up PR is waiting for review when the team comes online.
- cron: '13 4 * * *'
workflow_dispatch:

permissions:
contents: read

concurrency:
# Only one refresh attempt at a time; if a previous PR is still pending
# merge, queueing another would create a duplicate branch tip.
group: ${{ github.workflow }}
cancel-in-progress: false

jobs:
refresh:
name: Regenerate app-hub.json
runs-on: ubuntu-latest
# PR-opening permissions are scoped to this job (zizmor flags them
# as too broad at the workflow level).
permissions:
contents: write
pull-requests: write
steps:
- name: Checkout
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1

- name: Setup Node
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version-file: .nvmrc
cache: yarn

- name: Install
run: yarn && yarn install:all

- name: Regenerate cache
run: yarn workspace cross-app-connect generate-app-hub
env:
# Raises the GitHub API rate limit from 60/hr (anonymous)
# to 5000/hr so the fetch can cover the full registry
# without throttling.
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Open PR if anything changed
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8
with:
commit-message: |
chore(cross-app-connect): refresh app-hub.json from vechain/app-hub

Auto-generated by the cross-app-connect-refresh-app-hub workflow.
title: 'chore(cross-app-connect): refresh app-hub cache'
body: |
Scheduled refresh of `cross-app-connect/src/app/cross-app/_lib/app-hub.json` from [`vechain/app-hub`](https://github.com/vechain/app-hub).

The cache keys the registry by origin so the transact popup can show
`Confirm token swap on Nubila` instead of a raw URL. This PR appears
whenever a new app is added, an existing one is updated, or one is
removed from the registry.

Review the diff to make sure the changes look like additions you
expected (no surprise deletions, plausible names). Merge when happy.

🤖 Opened by `.github/workflows/cross-app-connect-refresh-app-hub.yaml`.
branch: chore/refresh-app-hub-cache
base: main
delete-branch: true
labels: |
chore
automated
add-paths: |
cross-app-connect/src/app/cross-app/_lib/app-hub.json
11 changes: 10 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,9 @@ VeChain Kit is a comprehensive library designed to make building VeChain applica

It offers:

- <b>Seamless Wallet Integration:</b> Support for VeWorld, Sync2, WalletConnect, VeChain Embedded Wallet, and social logins (Google, Apple, GitHub, email, passkey — powered by Privy).
- <b>Seamless Wallet Integration:</b> Support for VeWorld, Sync2, WalletConnect, VeChain Embedded Wallet, and social logins (Google, Apple, GitHub, X/Twitter, Discord, TikTok, LINE, email, passkey — powered by Privy).
- <b>Custom Connection UI:</b> Vechain-kit's own connect modal handles the VeWorld and Sync2 flows directly, with a built-in “Waiting for signature…” view and a fully themeable layout. WalletConnect's QR modal is preserved.
- <b>Social Logins Without Your Own Privy Account:</b> Drop a "Continue with Google / Apple / X / Discord / GitHub / TikTok / LINE" button in your app and it just works — the kit routes through VeChain's whitelabel cross-app host (`cross-app-connect/`) so users get one VeChain identity that follows them across every kit-using dApp. No Privy bill, no dashboard setup.
- <b>Unified Ecosystem Accounts:</b> Leverage Privy’s Ecosystem feature to give users a single wallet across multiple dApps, providing a consistent identity within the VeChain network.
- <b>Developer-Friendly Hooks:</b> Easy-to-use React Hooks that let you read and write data on the VeChainThor blockchain.
- <b>Pre-Built UI Components:</b> Ready-to-use components (e.g., TransactionModal) to simplify wallet operations and enhance your users’ experience.
Expand All @@ -31,6 +32,14 @@ It offers:
- [Smart Account Factory](https://vechain.github.io/smart-accounts/)
- [Docs](https://docs.vechainkit.vechain.org/)

## Cross-app Whitelabel Host

When a user picks "Continue with Google / Apple / VeChain / …" from a kit-using dApp, the kit opens a small popup that handles the OAuth/SMS handshake and posts the resulting signature back. That popup runs on VeChain's whitelabel host, which lives in this repo at [`cross-app-connect/`](./cross-app-connect/) — a Next.js static export with VeChain branding, a calldata-aware transaction summary, recovery from stale connection records, and 17 languages.

The whitelabel popup is why your app can offer social login without owning a Privy account: users see VeChain chrome and get one identity across every kit-integrated dApp.

See [`cross-app-connect/README.md`](./cross-app-connect/README.md) for the popup's architecture, the rationale behind dropping Chakra / TanStack Query / vechain-kit from that surface, deploy instructions (GitHub Pages workflow included), and how to add translation keys.

## Table of Contents

- [Setting up for local development](#setting-up-for-local-development)
Expand Down
13 changes: 13 additions & 0 deletions cross-app-connect/.env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Privy app this host represents
# Default = VeChain's mainnet Privy app (mirrors VECHAIN_PRIVY_APP_ID in vechain-kit)
NEXT_PUBLIC_PRIVY_APP_ID=cm4wxxujb022fyujl7g0thb21
NEXT_PUBLIC_PRIVY_CLIENT_ID=
# REQUIRED. Whitelabel Privy auth subdomain provisioned for your app in the
# Privy dashboard. Must include scheme, e.g. https://privy.your-app.privy.dev
# This is NOT the public auth.privy.io host.
NEXT_PUBLIC_PRIVY_DOMAIN=

# VeChain network -- main | test | solo
NEXT_PUBLIC_NETWORK_TYPE=main
NEXT_PUBLIC_DELEGATOR_URL=
NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID=
6 changes: 6 additions & 0 deletions cross-app-connect/.eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
module.exports = {
extends: ['next'],
rules: {
'@typescript-eslint/unbound-method': 'off',
},
};
38 changes: 38 additions & 0 deletions cross-app-connect/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules
/.pnp
.pnp.js
.yarn/install-state.gz

# testing
/coverage

# next.js
/.next/
/out/
/dist/

# production
/build

# misc
.DS_Store
*.pem

# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# local env files
.env
.env*.local

# vercel
.vercel

# typescript
*.tsbuildinfo
next-env.d.ts
Loading
Loading