-
-
Notifications
You must be signed in to change notification settings - Fork 1k
[Monorepo] Setup monorepo structure #3482
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
Draft
m-bert
wants to merge
12
commits into
main
Choose a base branch
from
@mbert/monorepo
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## Description This PR moves config files to root level in monorepo. > [!NOTE] > `prepare` was changed to `postinstall`, however this change is already on `main` so it shouldn't be critical. ## Test plan - [x] Perform test commit to check if commit hooks work - [x] Build package and install it on external app
## Description This PR removes currently existing example apps and adds `BasicExample` app - previously `FabricExample` ## Test plan Build and run `BasicExample` on android and ios
## Description This PR adds `ExpoExample` app into our repository. This will replace old `example`. ## Test plan Test `ExpoExample` on `iOS`, `android` and `web`
## Description This PR adds MacOSExample app to monorepo. >[!NOTE] >This app contains only basic examples. It will be merged with `ExpoExample` in upcoming PR >[!WARNING] >This PR lacks support for `clangd` introduced in #3069. I'd like to add it right away, but I'm not yet sure where to put required scripts ## Test plan Build & run MacOSExample
## Description This PR updates paths used in github actions. Here we should focus on paths that are responsible for building example apps, linter will be fixed in upcoming PRs ## Test plan Check CIs
## Description This PR sets up `eslint`, `prettier` and `tsc` so that we can finally run lint checks in monorepo. Each workspace has `ts-check` and `lint-js` scripts which run in given workspace. Running those scripts in `root` results in running them in each workspace. > [!NOTE] > Running those scripts from `root` does not trigger any checks in `ExpoExample` and `MacOSExample`, as they only export app from `CommonApp` ## Test plan Run `yarn ts-check` and `yarn lint-js` from `root`.
## Description This PR moves `scripts` directory to root of the monorepo. It also - Brings back `clangd` support, - Renames some of scripts to be [global](https://yarnpkg.com/features/workspaces#global-scripts) ## Test plan Check that CI passes and that building iOS app generates `compile_commands.json` file.
## Description This PR adds `PAPER_ENABLED` environmental variable in order to easily switch to old architecture in `ExpoExample`. It also adds CIs that test paper build on both platforms. ## Test plan Verified in `App.tsx` with the following snippet: ```jsx const uiManager = global?.nativeFabricUIManager ? 'Fabric' : 'Paper'; console.log(`Using ${uiManager}`); ``` Check that CIs pass.
## Description This PR consists of changes that aim to clean repository after moving into monorepo, namely: - Unify quotations in github workflows - Remove unnecessary config files - Remove unnecessary dependencies - Changes scripts: - Android format script now drops argument instead of only working at one file. I wanted to make it work only on staged files, however it takes a lot of time since `gradle` has to start over and over. Unfortunately, multiple files for `spotlessIdeHook` [are not in the roadmap](diffplug/spotless#791 (comment)). - Added apple format script which formats only staged files (or whole apple codebase if run without argument) - Added script for checking whether staged android files are included in `package.json` 😅 - Make sure that `lint-staged` operates only on staged files (if possible) - Remove `e2e` app - Add `yarn clean` script ## Test plan Check that CIs pass and example apps work as expected
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This is base PR that will be used to migrate our repository into monorepo structure. At this point it creates following structure:
/apps
- here we will put our example apps./packages
- main directory for Gesture Handler package, along with documentation.Steps
We will gradually merge PRs that will fix issues caused by changing structure of the repository. Here is the list of PRs that are connected with this process:
BasicExample
app #3490ExpoExample
#3494MacOSExample
app #3495CommonApp
#34968.1. [Monorepo] Move
scripts
directory to root #35068.2 [Monorepo] Update
spotless
#3507PAPER_ENABLED
env variable #3510Note that each of them depends on previous ones, so they have to be merged in given order (unless they're in the same subgroup).
Test plan
Not yet 💀