Merge pull request #575 from bluesky-social/ollie/README
Update README with Go instructionszio/stable
commit
e2d2bbb0d5
53
README.md
53
README.md
|
@ -30,6 +30,29 @@
|
||||||
- For instance, the localhosted dev-wallet will need `adb reverse tcp:3001 tcp:3001`
|
- For instance, the localhosted dev-wallet will need `adb reverse tcp:3001 tcp:3001`
|
||||||
- For some reason, the typescript compiler chokes on platform-specific files (e.g. `foo.native.ts`) but only when compiling for Web thus far. Therefore we always have one version of the file which doesn't use a platform specifier, and that should bee the Web version. ([More info](https://stackoverflow.com/questions/44001050/platform-specific-import-component-in-react-native-with-typescript).)
|
- For some reason, the typescript compiler chokes on platform-specific files (e.g. `foo.native.ts`) but only when compiling for Web thus far. Therefore we always have one version of the file which doesn't use a platform specifier, and that should bee the Web version. ([More info](https://stackoverflow.com/questions/44001050/platform-specific-import-component-in-react-native-with-typescript).)
|
||||||
|
|
||||||
|
## Build instructions (with Go)
|
||||||
|
|
||||||
|
### Prerequisites
|
||||||
|
|
||||||
|
- [Go](https://go.dev/)
|
||||||
|
- [Yarn](https://yarnpkg.com/)
|
||||||
|
|
||||||
|
### Steps
|
||||||
|
|
||||||
|
To run the build with Go, use staging credentials, your own, or any other account you create.
|
||||||
|
|
||||||
|
```
|
||||||
|
cd social-app
|
||||||
|
yarn && yarn build-web
|
||||||
|
cp ./web-build/static/js/*.* bskyweb/static/js/
|
||||||
|
cd bskyweb/
|
||||||
|
go mod tidy
|
||||||
|
go build -v -tags timetzdata -o bskyweb ./cmd/bskyweb
|
||||||
|
./bskyweb serve --pds-host=https://staging.bsky.dev --handle=<HANDLE> --password=<PASSWORD>
|
||||||
|
```
|
||||||
|
|
||||||
|
On build success, access the application at [http://localhost:8100/](http://localhost:8100/). Subsequent changes require re-running the above steps in order to be reflected.
|
||||||
|
|
||||||
## Various notes
|
## Various notes
|
||||||
|
|
||||||
### Debugging
|
### Debugging
|
||||||
|
@ -37,7 +60,9 @@
|
||||||
- Note that since 0.70, debugging using the old debugger (which shows up using CMD+D) doesn't work anymore. Follow the instructions below to debug the code: https://reactnative.dev/docs/next/hermes#debugging-js-on-hermes-using-google-chromes-devtools
|
- Note that since 0.70, debugging using the old debugger (which shows up using CMD+D) doesn't work anymore. Follow the instructions below to debug the code: https://reactnative.dev/docs/next/hermes#debugging-js-on-hermes-using-google-chromes-devtools
|
||||||
|
|
||||||
### Developer Menu
|
### Developer Menu
|
||||||
|
|
||||||
To open the [Developer Menu](https://docs.expo.dev/debugging/tools/#developer-menu) on an `expo-dev-client` app you can do the following:
|
To open the [Developer Menu](https://docs.expo.dev/debugging/tools/#developer-menu) on an `expo-dev-client` app you can do the following:
|
||||||
|
|
||||||
- Android Device: Shake the device vertically, or if your device is connected via USB, run adb shell input keyevent 82 in your terminal
|
- Android Device: Shake the device vertically, or if your device is connected via USB, run adb shell input keyevent 82 in your terminal
|
||||||
- Android Emulator: Either press Cmd ⌘ + m or Ctrl + m or run adb shell input keyevent 82 in your terminal
|
- Android Emulator: Either press Cmd ⌘ + m or Ctrl + m or run adb shell input keyevent 82 in your terminal
|
||||||
- iOS Device: Shake the device, or touch 3 fingers to the screen
|
- iOS Device: Shake the device, or touch 3 fingers to the screen
|
||||||
|
@ -56,26 +81,26 @@ To open the [Developer Menu](https://docs.expo.dev/debugging/tools/#developer-me
|
||||||
|
|
||||||
- TextEncoder / TextDecoder
|
- TextEncoder / TextDecoder
|
||||||
|
|
||||||
|
|
||||||
### Sentry sourcemaps
|
### Sentry sourcemaps
|
||||||
|
|
||||||
Sourcemaps should automatically be updated when a signed build is created using `eas build` and published using `eas submit` due to the postPublish hook setup in `app.json`. However, if an update is created and published OTA using `eas update`, we need to the take the following steps to upload sourcemaps to Sentry:
|
Sourcemaps should automatically be updated when a signed build is created using `eas build` and published using `eas submit` due to the postPublish hook setup in `app.json`. However, if an update is created and published OTA using `eas update`, we need to the take the following steps to upload sourcemaps to Sentry:
|
||||||
|
|
||||||
- Run eas update. This will generate a dist folder in your project root, which contains your JavaScript bundles and source maps. This command will also output the 'Android update ID' and 'iOS update ID' that we'll need in the next step.
|
- Run eas update. This will generate a dist folder in your project root, which contains your JavaScript bundles and source maps. This command will also output the 'Android update ID' and 'iOS update ID' that we'll need in the next step.
|
||||||
- Copy or rename the bundle names in the `dist/bundles` folder to match `index.android.bundle` (Android) or `main.jsbundle` (iOS).
|
- Copy or rename the bundle names in the `dist/bundles` folder to match `index.android.bundle` (Android) or `main.jsbundle` (iOS).
|
||||||
- Next, you can use the Sentry CLI to upload your bundles and source maps:
|
- Next, you can use the Sentry CLI to upload your bundles and source maps:
|
||||||
- release name should be set to `${bundleIdentifier}@${version}+${buildNumber}` (iOS) or `${androidPackage}@${version}+${versionCode}` (Android), so for example `com.domain.myapp@1.0.0+1`.
|
- release name should be set to `${bundleIdentifier}@${version}+${buildNumber}` (iOS) or `${androidPackage}@${version}+${versionCode}` (Android), so for example `com.domain.myapp@1.0.0+1`.
|
||||||
- `dist` should be set to the Update ID that `eas update` generated.
|
- `dist` should be set to the Update ID that `eas update` generated.
|
||||||
- Command for Android:
|
- Command for Android:
|
||||||
`node_modules/@sentry/cli/bin/sentry-cli releases \
|
`node_modules/@sentry/cli/bin/sentry-cli releases \
|
||||||
files <release name> \
|
files <release name> \
|
||||||
upload-sourcemaps \
|
upload-sourcemaps \
|
||||||
--dist <Android Update ID> \
|
--dist <Android Update ID> \
|
||||||
--rewrite \
|
--rewrite \
|
||||||
dist/bundles/index.android.bundle dist/bundles/android-<hash>.map`
|
dist/bundles/index.android.bundle dist/bundles/android-<hash>.map`
|
||||||
- Command for iOS:
|
- Command for iOS:
|
||||||
`node_modules/@sentry/cli/bin/sentry-cli releases \
|
`node_modules/@sentry/cli/bin/sentry-cli releases \
|
||||||
files <release name> \
|
files <release name> \
|
||||||
upload-sourcemaps \
|
upload-sourcemaps \
|
||||||
--dist <iOS Update ID> \
|
--dist <iOS Update ID> \
|
||||||
--rewrite \
|
--rewrite \
|
||||||
dist/bundles/main.jsbundle dist/bundles/ios-<hash>.map`
|
dist/bundles/main.jsbundle dist/bundles/ios-<hash>.map`
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue