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

Monorepo implemented with Turborepo #323

Merged
merged 8 commits into from
Dec 7, 2022
Merged

Monorepo implemented with Turborepo #323

merged 8 commits into from
Dec 7, 2022

Conversation

volovyks
Copy link
Collaborator

@volovyks volovyks commented Dec 6, 2022

  • Project refactored to monorepo
  • Now standards are a separate project
  • Turborepo build system is used to orchestrate all the packages
  • All link near-sdk-js and cd examples hacks were removed from build scripts
  • Imports organized
  • linting added to cli/ subproject

Such architecture will allow us to scale the project in the future, separate near-sdk-js to multiple packages, use 'caching', etc.

@volovyks volovyks linked an issue Dec 6, 2022 that may be closed by this pull request
@volovyks volovyks marked this pull request as ready for review December 6, 2022 17:22
@volovyks volovyks requested a review from ailisp as a code owner December 6, 2022 17:22
Copy link
Member

@ailisp ailisp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome! This is very good project setup. Just one thing: examples are removed from ci, is it intentional?

@volovyks
Copy link
Collaborator Author

volovyks commented Dec 7, 2022

@ailisp now, when you are running pnpm build from the root folder, Turbo will execute this command in each package (if it's available) in proper order: near-sdk-js, then standards, then examples and tests since they depend on the first two.
When you run pnpm test it will execute tests from all packages in parallel.

With this setup it is faster and more intuitive to have 1 CI job. Linting is also a part of it now. Check the steps and logs.

@volovyks volovyks merged commit 2a51b6c into develop Dec 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Best way to organize near-contract-standards package
2 participants