-
Notifications
You must be signed in to change notification settings - Fork 198
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: huge monorepo refactor! #7063
Conversation
Thanks for opening this pull request! 🎉
|
Console preview environment is available at https://wing-console-pr-7063.fly.dev 🚀 Last Updated (UTC) 2024-09-03 18:28 |
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.
Ship it!
Something external to update after this change: https://github.com/winglang/tree-sitter-wing/blob/main/sync.sh That repo is effectively a read-only clone of the tree-sitter-wing package, so the directory in this sync script needs to be updated |
Signed-off-by: monada-bot[bot] <monabot@monada.co>
BenchmarksComparison to Baseline ⬜🟥⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜
⬜ Within 1.5 standard deviations Benchmarks may vary outside of normal expectations, especially when running in GitHub Actions CI. Results
Last Updated (UTC) 2024-09-03 18:34 |
Signed-off-by: monada-bot[bot] <monabot@monada.co>
Signed-off-by: monada-bot[bot] <monabot@monada.co>
Congrats! 🚀 This was released in Wing 0.83.11. |
This is a big change!
To improve the contributing experience, this PR refactors the structure of our monorepo so that individual packages from
libs/
andapps/
are now all filed intopackages/
according to their npm package name.The main goal here is to make it easier to find and discover packages when you get build errors. Today, we use turborepo to orchestrate build commands across these separate packages, and it's helpful in that even if you run a command that compiles several packages, errors that are raised will always be prefixed with the package's name. However, the monorepo has over two dozen packages, and their folder names are often separate from their package names. This makes it hard to locate a package based on its name in the build log.
To date, there also hasn't been any major benefits to splitting the packages into libraries and apps -- the distinction is a bit murky since it's possible for a package to function as both an entrypoint and as a library. It's a lot more convenient to be able to navigate to a package without needing to know whether it's in "examples" or "libs" or "apps".
Test fixtures have also been moved into the
packages/
which should make them easier to find, andexamples/tests/
has been moved totests/
.All console packages are now in the
wing-console/
directory (separated since it has a source-available license).The
tools/
packages are still in their own directory, but it could make sense to move them topackages/
in the future as well.Closes #5992
Checklist
pr/e2e-full
label if this feature requires end-to-end testingBy submitting this pull request, I confirm that my contribution is made under the terms of the Wing Cloud Contribution License.