Slide 1

Slide 1 text

REACT NATIVE & MONOREPO REACT NATIVE MEETUP@໊ݹ԰৓ BY JANUSWEL

Slide 2

Slide 2 text

JANUSWEL have developed on native iOS/Android janus_wel januswel

Slide 3

Slide 3 text

DOMAIN LAYER https://speakerdeck.com/januswel/marutipuratutohuomushi-dai- false-javascript-x-react-zhan-lue

Slide 4

Slide 4 text

FORMATION

Slide 5

Slide 5 text

MONOREPO BY LERNA https://github.com/lerna/lerna

Slide 6

Slide 6 text

MONOREPO BY LERNA my-lerna-repo/ package.json packages/ package-1/ package.json package-2/ package.json

Slide 7

Slide 7 text

MONOREPO PROS & CONS Pros Cons • Single lint, build, test and release process. • Easy to coordinate changes across modules. • Single place to report issues. • Easier to setup a development environment. • Tests across modules are ran together which finds bugs that touch multiple modules easier. • Codebase looks more intimidating. • Repo is bigger in size. • Lower ranking in npms results. At least until npms-io/npms- analyzer#83 is fixed. • ??? https://github.com/babel/babel/blob/master/doc/design/ monorepo.md

Slide 8

Slide 8 text

MONOREPO BY LERNA my-lerna-repo/ package.json packages/ package-1/ package.json node_modules/package-2 package-2/ package.json symlink

Slide 9

Slide 9 text

BUT… React Native was not capable to resolve symlink!! ʙ 0.44.x

Slide 10

Slide 10 text

FAILING RELEASE BUILD

Slide 11

Slide 11 text

@0.45.0 Resolving symlink is available!! https://react-native.canny.io/feature-requests/p/symlink- support-for-packager

Slide 12

Slide 12 text

SAMPLE https://github.com/januswel/monorepo-ddd-rn janus@jpro$ pwd /Users/janus/work/dev/experiments/ddd-monorepo/packages janus@jpro$ tree -L 1 . ᵓᴷᴷ MonorepoApp ᵋᴷᴷ monorepo-domain React Native Domain

Slide 13

Slide 13 text

SAMPLE https://github.com/januswel/monorepo-ddd-rn

Slide 14

Slide 14 text

SUCCESS!!

Slide 15

Slide 15 text

THANKS!!