Comments (5)
In my experience using it in a few large projects, it's really a must-have for monorepos. Using scripts is possible, but it becomes very cumbersome very quickly, and in the end you end up pretty much rewriting Lerna but as a less feature complete, more difficult to use, and with more bugs implementation since it's not an external project that can be contributed to easily.
I'd say this is a general rule for using scripts in general. For example why use npm
or yarn
at all? They are just downloading files and resolving dependencies using semver
which can be done with scripts.
To be honest, I would even go as far as to say not using Lerna might end up preventing a lot of users from contributing due to how complex the project will become. This is especially true for instrumentation repos where many different library versions have to be tested at the same time.
Let's focus on our domain (telemetry) and not on managing monorepos.
from opentelemetry-js.
I'm definitely open to Lerna, but in my limited experience with it for OpenCensus Web, it often felt like onre more dependency to have to manage (upgrade for security fixes, etc.) and that a lot of its functionality might be able to be replaced using simple scripts or tricks as explained in the gist above.
from opentelemetry-js.
Most of the downsides mentioned in the articles are also mitigated by combining Lerna with TypeScript and Yarn.
from opentelemetry-js.
I'm fine with use of Lerna, just wanted to make sure including it is worth the extra weight of an extra dependency, sounds like in this case it is worth it!
from opentelemetry-js.
All agreed to use Lerna in today's meeting.
- It has its shortcomings (extra dependency) but itβs worth using it.
- OpenCensus uses it and worked well.
- It doesn't have the overhead on end users.
from opentelemetry-js.
Related Issues (20)
- [api] annotate public API with `@since` jsdoc comment
- Access patterns to config in instrumentations HOT 3
- Experimental Features in Stable Packages HOT 2
- Cannot start a span with specified `traceId` HOT 1
- [sdk-trace-base] [sdk-trace-node] remove propagator auto-configuration from package
- [sdk-metrics] [sdk-trace] ensure resource is not auto-merged with default when it is provided to constructor
- `otlp-exporter-base` dependency missing from `exporter-metrics-otlp-grpc` package.json HOT 6
- [@opentelmetry/instrumentation-fetch] Internal span setTimeout race condition prevents some metrics from being traced HOT 2
- Logging to Elastic Agent and logs are showing in `unknown_service_node` instead of services HOT 1
- "ImportInTheMiddle" will crash at run-time HOT 3
- Which unordered list style to use for markdowns HOT 5
- How to propagate span context from one autoinstrumented span into next. E.g. express `instrumentation-http` into `instrumentation-nestjs-core`? HOT 2
- Add Web SDK package
- InstrumentationBase#init triggers cascading errors HOT 1
- Wrong import for "import-in-the-middle" with ESM HOT 2
- Premature close errors at end of HTTP request HOT 1
- Update `http.*` and `url.*` attributes to align with Semantic Conventions HOT 2
- How to make metadata accessible
- Is it possible to upgrade protobufjs to >= 7.2.5 HOT 1
- [context-zone-peer-dep] update zone.js dependency to include zone.js@~0.12.0 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from opentelemetry-js.