Skip to content
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

Chore - use pro as submodule #10267

Merged
merged 114 commits into from
Apr 19, 2023
Merged

Chore - use pro as submodule #10267

merged 114 commits into from
Apr 19, 2023

Conversation

adrinr
Copy link
Collaborator

@adrinr adrinr commented Apr 11, 2023

Description

This PR changes the way we interact with budibase-pro. Instead of being an independent repository published via npm or consumed via yarn links, now the pro will be treated as any other package in the budibase monorepo. The main difference is that this code lives in a different repo, as it's private code, but consuming it as a submodule, it will act as any other existing package.
Doing so we have the benefits of having all the packages together, and using properly build tools such as nx and esbuild, and dev tools such as proper debugging and hot reloading.

The main changes in this PR are:

  1. Creating the reference to the submodule, it will be checked out in packages/pro
  2. Changing all the relative references to use this new path
  3. Deleting all the scripts and pipelines that were doing the checkout and link "manually"
  4. Changing the repo bootstrap to link properly the pro package for account-portal
  5. Removing all the references in the tsconfig.json files, as now they are not required anymore. Nx handles these dependencies for us, so we don't need to worry. This has a benefit in that we don't need to check if we have pro loaded or not.
  6. Adding an extra pipeline step that checks that the updated submodule has been merged properly. This will ensure that we don't commit references to pro that has not been merged and reviewed

Contributor experience

What happens to open source contributors or developers that have the module not loaded?
Nothing, for them the experience will be the same as it is now. When we run yarn install, the workspace will detect that the package does not exist locally, so it will use the npm repo as it's doing now. No symlinks needed, yarn workspace handle this for us out of the box

image

Addresses:

Screenshots

image

Documentation

  • I have reviewed the budibase documentatation to verify if this feature requires any changes. If changes or new docs are required I have written them.

package.json Outdated Show resolved Hide resolved
@adrinr adrinr changed the base branch from develop to master April 12, 2023 09:11
@adrinr adrinr changed the base branch from master to develop April 12, 2023 09:12
@adrinr adrinr marked this pull request as ready for review April 18, 2023 11:27
@adrinr adrinr changed the title [WIP] Chore/pro as submodule Chore - use pro as submodule Apr 18, 2023
package.json Outdated Show resolved Hide resolved
package.json Outdated Show resolved Hide resolved
tsconfig.json Show resolved Hide resolved
scripts/link-dependencies.sh Outdated Show resolved Hide resolved
@adrinr adrinr requested a review from Rory-Powell April 19, 2023 09:26
@adrinr adrinr merged commit b62a031 into develop Apr 19, 2023
@github-actions github-actions bot locked and limited conversation to collaborators Apr 19, 2023
@adrinr adrinr deleted the chore/pro_as_submodule branch April 19, 2023 16:24
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants