analytics.js-integrations
analytics.js-integrations copied to clipboard
Add turbo for lint, test
What does this PR do?
Switch from lerna to turbo for employees / CI, as requested by @nettofarah. It cuts test / builds times by only re-executing affected packages.
- [x] Lint
- [x] Test
- [ ] Build
- [ ] CI/CD caching

Are there breaking changes in this PR?
No.
Testing
Any background context you want to provide?
Turborepo is new build system for monorepos. Among other features, turbo provides Bazel-like remote build caching and task running, but in a way that is nearly fully compatible with Lerna.
turbo is installed as an optional dependency since it is not open source and requires an access token to download from the Turborepo registry (npm.turborepo.com). An .npmrc is added to address this. In addition, Lerna commands we left runnable for open source contributors.
Is there parity with the server-side/android/iOS integration components (if applicable)? N/A
Does this require a new integration setting? If so, please explain how the new setting works No
Links to helpful docs and other external resources
https://turborepo.com/docs
This is looking great so far, @jaredpalmer. Thanks for taking a stab at it.
@nettofarah happy to send segment a token. just need to have someone sign the trial license agreement. Let me know who I should email it to (feel free to reply on on twitter)