|
2 | 2 |
|
3 | 3 | The following is a set of guidelines for contributing to this project. Please take a moment to read through them before submitting your first PR. |
4 | 4 |
|
5 | | -This is a monorepo containing the iOS/Swift, Android, and (forthcoming) React Native implementations of the Shopify Checkout Kit. Each platform has its own conventions, tooling, and release process; the shared guidelines below apply to all of them. |
| 5 | +This is a monorepo containing the Swift, Android, React Native, and Web implementations of the Shopify Checkout Kit. Each platform has its own conventions, tooling, and release process; the shared guidelines below apply to all of them. |
6 | 6 |
|
7 | 7 | ## Code of Conduct |
8 | 8 |
|
@@ -41,14 +41,30 @@ When in doubt about whether we will be interested in including a new feature, pl |
41 | 41 |
|
42 | 42 | ### Dev tooling |
43 | 43 |
|
44 | | -Shopify employees can use the root `dev.yml` from the repo root: |
| 44 | +Shopify employees can use the root `dev.yml` from the repo root or any platform |
| 45 | +directory: |
45 | 46 |
|
46 | 47 | ```bash |
47 | 48 | dev up |
48 | 49 | dev check |
49 | 50 | ``` |
50 | 51 |
|
51 | | -Platform-scoped commands are available as `dev android <command>`, `dev swift <command>`, and `dev react-native <command>` (or `dev rn`). Protocol schema/model commands are available as `dev protocol <command>`. For cross-platform changes, use `dev lint`, `dev test`, `dev check`, `dev format`, and `dev build`. |
| 52 | +`dev up` performs full DevHub provisioning, then runs Checkout Kit's repo-owned |
| 53 | +setup steps. Those repo-owned steps are summarized at the end so a Swift, |
| 54 | +Android, React Native, or Web setup failure is visible without hiding later |
| 55 | +platform results. If a setup step fails, fix it and rerun `dev up`. |
| 56 | + |
| 57 | +Setup creates or syncs sample app storefront configuration from the repo-root |
| 58 | +`.env`. If `.env` is missing, setup prompts for required storefront values and |
| 59 | +then generates the Android, Swift, and React Native sample config files. |
| 60 | +Optional Apple Pay and Customer Account API values are preserved if already set, |
| 61 | +but `dev up` leaves missing optional values blank instead of prompting. |
| 62 | + |
| 63 | +Platform-scoped commands are available as `dev android <command>`, `dev swift <command>`, `dev react-native <command>` (or `dev rn`), and `dev web <command>` after setup. Protocol schema/model commands are available as `dev protocol <command>`. For cross-platform changes, use `dev lint`, `dev test`, `dev check`, `dev format`, and `dev build`. |
| 64 | + |
| 65 | +React Native sample apps can be run against local in-repo SDK sources with |
| 66 | +`dev rn ios --local` or `dev rn android --local`. The Web sample accepts a |
| 67 | +checkout URL directly and does not use the shared storefront credential files. |
52 | 68 |
|
53 | 69 | Sample app storefront configuration is generated from the repo-root `.env`. |
54 | 70 | Shopify employees get this through `dev up`. External contributors can copy |
@@ -142,7 +158,7 @@ If your change intentionally modifies the public API: |
142 | 158 | 2. Review the diff in `platforms/android/lib/api/lib.api` alongside your code changes. |
143 | 159 | 3. Commit the updated `.api` file in the same PR. |
144 | 160 |
|
145 | | -If you did *not* intend to change public API and `apiCheck` is failing, the diff shows what your change inadvertently affected — treat it as a signal that something in your PR has consumer-visible impact. |
| 161 | +If you did _not_ intend to change public API and `apiCheck` is failing, the diff shows what your change inadvertently affected — treat it as a signal that something in your PR has consumer-visible impact. |
146 | 162 |
|
147 | 163 | ### Releasing a new Android version |
148 | 164 |
|
|
0 commit comments