You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+9-9Lines changed: 9 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,7 +9,7 @@ We want this community to be friendly and respectful to each other. Please follo
9
9
This project is a monorepo managed using [Yarn workspaces](https://yarnpkg.com/features/workspaces). It contains the following packages:
10
10
11
11
- The library package in the root directory.
12
-
-An example app in the `example/` directory.
12
+
-Example apps in the `examples/` directory.
13
13
14
14
To get started with the project, make sure you have the correct version of [Node.js](https://nodejs.org/) installed. See the [`.nvmrc`](./.nvmrc) file for the version used in this project.
15
15
@@ -21,7 +21,7 @@ yarn
21
21
22
22
> Since the project relies on Yarn workspaces, you cannot use [`npm`](https://github.com/npm/cli) for development without manually migrating.
23
23
24
-
The [example app](/example/) demonstrates usage of the library. You need to run it to test any changes you make.
24
+
The [bare example app](/examples/expo-bare/) demonstrates usage of the library. You need to run it to test any changes you make.
25
25
26
26
It is configured to use the local version of the library, so any changes you make to the library's source code will be reflected in the example app. Changes to the library's JavaScript code will be reflected in the example app without a rebuild, but native code changes will require a rebuild of the example app.
27
27
@@ -30,19 +30,19 @@ You can use various commands from the root directory to work with the project.
30
30
To start the packager:
31
31
32
32
```sh
33
-
yarn example start
33
+
yarn examples:expo-bare start
34
34
```
35
35
36
36
To run the example app on Android:
37
37
38
38
```sh
39
-
yarn example android
39
+
yarn examples:expo-bare android
40
40
```
41
41
42
42
To run the example app on iOS:
43
43
44
44
```sh
45
-
yarn example ios
45
+
yarn examples:expo-bare ios
46
46
```
47
47
48
48
To confirm that the app is running with the new architecture, you can check the Metro logs for a message like this:
@@ -56,7 +56,7 @@ Note the `"fabric":true` and `"concurrentRoot":true` properties.
56
56
To run the example app on Web:
57
57
58
58
```sh
59
-
yarn example web
59
+
yarn examples:expo-bare web
60
60
```
61
61
62
62
Make sure your code passes TypeScript and ESLint. Run the following to verify:
@@ -117,9 +117,9 @@ The `package.json` file contains various scripts for common tasks:
117
117
-`yarn typecheck`: type-check files with TypeScript.
118
118
-`yarn lint`: lint files with ESLint.
119
119
-`yarn test`: run unit tests with Jest.
120
-
-`yarn example start`: start the Metro server for the example app.
121
-
-`yarn example android`: run the example app on Android.
122
-
-`yarn example ios`: run the example app on iOS.
120
+
-`yarn examples:expo-bare start`: start the Metro server for the bare example app.
121
+
-`yarn examples:expo-bare android`: run the bare example app on Android.
122
+
-`yarn examples:expo-bare ios`: run the bare example app on iOS.
Use `'deferred-only'` when Expo Router's `+native-intent.tsx` handler is already resolving runtime Universal/App links — this prevents double-processing.
119
+
120
+
## Examples
121
+
122
+
All example apps with Detour SDK integrated live in `examples/`:
123
+
124
+
-`examples/expo-bare`
125
+
-`examples/expo-router`
126
+
-`examples/expo-router-native-intent`
127
+
-`examples/expo-router-advanced`
128
+
-`examples/react-navigation`
129
+
-`examples/react-navigation-advanced`
130
+
131
+
You can run them from repo root:
132
+
133
+
```sh
134
+
yarn examples:expo-bare start
135
+
yarn examples:expo-router start
136
+
yarn examples:expo-router-native-intent start
137
+
yarn examples:expo-router-advanced start
138
+
yarn examples:react-navigation start
139
+
yarn examples:react-navigation-advanced start
140
+
```
141
+
142
+
If you want to know more details about a given example and how to configure it, please read the README in the appropriate example directory.
143
+
92
144
## Clearing handled links
93
145
94
146
If your app redirects based on `linkRoute` (especially in entry screens), call `clearLink()` after handling the route. This prevents repeated redirects when the user returns to the same screen.
@@ -111,7 +163,7 @@ export type Config = {
111
163
/**
112
164
* Your API key from the Detour dashboard.
113
165
*/
114
-
API_KEY: string;
166
+
apiKey: string;
115
167
116
168
/**
117
169
* Optional: A flag to determine if the provider should check the clipboard for a deferred link.
@@ -121,6 +173,15 @@ export type Config = {
121
173
*/
122
174
shouldUseClipboard?: boolean;
123
175
176
+
/**
177
+
* Optional: Controls which link sources are handled by the SDK.
0 commit comments