-
Notifications
You must be signed in to change notification settings - Fork 4.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Monorepo] Merge to master #22714
[Monorepo] Merge to master #22714
Conversation
…berg Update to latest gutenberg
… installing all dependencies
Allow writing custom HTML in HTML mode
…1.19.2 Update Aztec to version 1.19.2
…1.19.2 Update to official version of Aztec 1.19.2
…1.19.2 Update to official version of Aztec 1.19.2
This reverts commit 823d9bd.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That was a quick set of fixes, thanks!
Congrats to the whole team for incredible work to make all that happen. I'm looking forward to even closer collaboration moving forward 🎉
We discussed with @hypest in a private chat what documentation should be improved as a follow-up. We identified:
For the web, there is also |
Co-authored-by: Greg Ziółkowski <[email protected]>
Co-authored-by: Greg Ziółkowski <[email protected]>
…_when_cleaning Delete node_modules when running gradle's clean task
One more little thing, can you put This will prevent installing |
Sure 👍 Just added them! |
*** To View Gutenberg-Mobile git history from before this merge, use the following fork: https://github.com/wordpress-mobile/gutenberg-rnmobile-monorepo-commit-history/
Description
This is the final PR that aims at merging the Monorepo effort in
master
.What is Monorepo?
Monorepo is the name we gave to the project of merging gutenberg-mobile (the react-native version of gutenberg) and gutenberg together. Thus this PR contains all the commits from
gutenberg-mobile
plus some extra commits to make it work (see How has this been tested?).With this PR comes a new flavour of the block editor: a native version that can run on both iOS and Android!
You can try the demo app from this branch by running
npm run native start:reset
followed bynpm run android
(ornpm run ios
) in a new terminal. You will need either the Android SDK or XCode installed on your machine (a docker based script should come later).Why Monorepo?
Monorepo is a first step in making Gutenberg a cross-platform project. We’re not there yet as the project is still very much web in its direction. However, we have great hopes for developers to be able to create an amazing editing experience for both the web platform and native apps at the same time.
Many times we’ve seen changes to web code break the native build. This is because we were not able to fully convert gutenberg to native from day one so we had to make compromises and often duplicate features or components to have it working.
To address this issue we decided to simplify the gutenberg contributor’s journey in developing for mobile by providing all the necessary tools to run and test their code from within gutenberg. Moreover we would be adding back the mobile CI tests on every gutenberg PRs in order to spot regressions and help developers solve them.
What is going to change for web devs? #
This final merge PR has all the changes. Most of it are mobile build additions but it also has some minor changes web devs might want to be aware of:
tsconfig.base.json
: we’re explicitly defining the types the web will load (see this discussion). We’re also excluding any files from the react-native packages.react-native-aztec
,react-native-bridge
andreact-native-editor
npm
commandnpm run native
to run native scripts inpackages/react-native-editor/package.json
For a complete history of Monorepo please see the master PR.
What is going to change for mobile devs?
A bunch of new
npm
commands are now available:npm run native start
npm run native start:reset
npm run native ios
npm run native android
npm run native test
npm run native test:e2e:ios:local
npm run native test:e2e:android:local
More details related to how to transition from a gutenberg-mobile setup to the this setup will be given on the gutenberg-mobile PR (note: add link when PR is ready)
How has this been tested?
This branch contains all the following approved PRs:
master
and port react-native-aztec from Flow to jsThe last extra commits should only be updates to pull the latest changes from gutenberg-mobile
develop
and fix conflicts with gutenbergmaster
.Screenshots
Here are a few screenshots of the demo app which is part of this PR:
iOS
Android
Types of changes
Releasing a demo version of the react native block editor and improving the native dev experience.
Checklist: