🔀 Fork of Bluesky (https://github.com/bluesky-social/social-app) with minor adjustments for https://zio.blue
c8157d6d38
Update README with new build instructions since we are no longer using the ios and android folders. So, ideally, devs will never need to open XCode and Android Studio (thank the gods) |
||
---|---|---|
.bundle | ||
.github/workflows | ||
__e2e__ | ||
__mocks__ | ||
__tests__/lib | ||
assets | ||
bskyweb | ||
jest | ||
patches | ||
scripts | ||
src | ||
web | ||
.buckconfig | ||
.detoxrc.js | ||
.eslintrc.js | ||
.gitignore | ||
.prettierignore | ||
.prettierrc.js | ||
.ruby-version | ||
.watchmanconfig | ||
Dockerfile | ||
Gemfile | ||
README.md | ||
app.json | ||
babel.config.js | ||
eas.json | ||
index.js | ||
index.web.js | ||
metro.config.js | ||
package.json | ||
tsconfig.json | ||
webpack.config.js | ||
yarn.lock |
README.md
Bluesky
Build instructions
- Setup your environment using the react native instructions.
- Setup your environment for e2e testing using detox:
- yarn global add detox-cli
- brew tap wix/brew
- brew install applesimutils
- After initial setup:
npx expo prebuild
-> you will also need to run this anytimeapp.json
orpackage.json
changes
- Start the dev servers
git clone git@github.com:bluesky-social/atproto.git
cd atproto
yarn
cd packages/dev-env && yarn start
- Run the dev app
- iOS:
yarn ios
- Android:
yarn android
- Web:
yarn web
- iOS:
- Run e2e tests
- Start in various console tabs:
yarn e2e:server
yarn e2e:metro
- Run once:
yarn e2e:build
- Each test run:
yarn e2e:run
- Start in various console tabs:
- Tips
npx react-native info
Checks what has been installed.- The android simulator won't be able to access localhost services unless you run
adb reverse tcp:{PORT} tcp:{PORT}
- For instance, the localhosted dev-wallet will need
adb reverse tcp:3001 tcp:3001
- For instance, the localhosted dev-wallet will need
- 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.)
Various notes
Debugging
- 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
Running E2E Tests
- Make sure you've setup your environment following above
- Make sure Metro and the dev server are running
- Run
yarn e2e
- Find the artifacts in the
artifact
folder
Polyfills
./platform/polyfills.*.ts
adds polyfills to the environment. Currently this includes:
- TextEncoder / TextDecoder