Our great sponsors
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
-
npm-ts-workspaces-example
Monorepos example project using npm workspaces and TypeScript project references
-
lerna
:dragon: Lerna is a fast, modern build system for managing and publishing multiple JavaScript/TypeScript packages from the same repository.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
1. Linking libs with tsconfig paths. This approach involves setting a tsconfig.json paths object which maps the package name, to the local filesystem location. Eg. "paths": {"@org/lib":"../libs/lib"} - Nx uses this approach for their Integrated Monorepo configuration https://nx.dev/tutorials/integrated-repo-tutorial https://github.com/NiGhTTraX/ts-monorepo.
tsc compiles .ts node_modules libs even when `skipLibCheck` is set to `true`. This can cause other libs/apps builds to fail if there are inconsistencies. https://github.com/microsoft/TypeScript/issues/41883
5. NPM/Yarn/PNMP workspaces with packaged libs and tsconfig project references. This approach is similar to option 2 with the addition of tsconfig project references to facilitate IDE support https://github.com/Quramy/npm-ts-workspaces-example.
I mean I don't know what your monorepo looks like, but for example infernojs (actually written with typescript) uses lerna, and lerna seems simpler than typescript references
I mean I don't know what your monorepo looks like, but for example infernojs (actually written with typescript) uses lerna, and lerna seems simpler than typescript references
Related posts
- What is the easiest way to use shared code with multiple Vue3 projects?
- Lead Maintainer of Lerna is stepping down and Nrwl is taking over stewardship of the project
- Lerna used to walk, now it can fly!
- Turborepo Mejorando La Experiencia De Desarrollo En Monorepos
- Turbocharge your monorepo with Lerna and Github Actions