Install proto:
curl -fsSL https://moonrepo.dev/install/proto.sh | bash
proto use
Now you can start the app:
moon run app:dev
.- Scan the QR code on your phone.
- Edit the Drizzle schema.
- Run
moon run app:dbGenerate
In VS Code open a JavaScript Debug Terminal
from the command palette
⌘+Shift+p, then run commands as normal e.g.
moon run app:dev
This works because VS Code configures NODE_OPTIONS
in the terminal to
--require
a special bootloader.js
, so it's important that moon tasks that
define NODE_OPTIONS
pass through the existing value.
Add to dependsOn:
within moon.yml
, then run:
moon sync projects
This will update package.json/dependencies
, tsconfig.json/references
, tsconfig.json/compilerOptions/paths
.
Inside toolchain.yml
edit node.yarn.version
and update the version. Run
moon sync projects
to apply the change.
proto outdated --update
proto use
proto upgrade
Edit .moon/toolchain.yml
edit node.version
.
moon run node-version
Moon will automatically synchronize package.json
engines.node
, and it will
use proto to download and install the right version of Node.js.
A normal yarn up ___
won't work if no workspace depends on it directly, so you
need to use --recursive
. For example to upgrade tar
use:
yarn up -R tar
Yarn doesn't automatically migrate patches, so you need to migrate it manually.
yarn patch expo-image
patch -d /private/var/folders/fs/...snip.../T/xfs-33350073/user < .yarn/patches/expo-image-npm-1.12.9-116d224baf.patch
yarn patch-commit -s /private/var/folders/fs/...snip.../T/xfs-33350073/user
rm .yarn/patches/expo-image-npm-1.12.9-116d224baf.patch
Icons can be exported directly from Figma. Frames are labelled appropriately
such that everything in Figma can be exported to the
projects/app/src/assets
directory.
- Enable the
Pinyin - Simplified
keyboard. - Type the pinyin without the tone (e.g.
hao
). - Press Tab to cycle through each tone.
- Press Enter to accept the pinyin.
Example: to write hǎo
type h a o Tab Tab Tab Enter.
- Set
EXPO_TUNNEL_SUBDOMAIN
inprojects/app/.env.local
to something likehaohaohow-<yourname>
. - In Apple Developer portal edit the Service ID for the app and click Configure.
- Click the + button for Website URLs, in the Return URLs box add
https://<EXPO_TUNNEL_SUBDOMAIN>.ngrok.io/api/auth/login/apple/callback
(replace<EXPO_TUNNEL_SUBDOMAIN>
with the value you chose). - Save the changes.
- Start Expo via
moon run app:dev
.
Add the iPhone (https://docs.expo.dev/build/internal-distribution/#configure-app-signing):
npx -y eas-cli device:create
npx -y eas-cli device:rename
Add the device to the provisioning profile:
npx -y eas-cli build --profile=preview --platform=ios