Comments (4)
Hey @johncmunson, good question! This project actually contains an example of what you're describing β the components
package has to set jsx: true
in both the IDE config and the build config. The other packages don't need it, so that's why it's not hoisted in the root config. It would definitely be nice to have multiple inheritance, so I could set that in a single config and then inherit it, along with the monorepo config that holds the path aliases.
At the end of the day, tsconfigs don't change that often, so a bit of duplication doesn't hurt IMO. Multiple inheritance would be an elegant solution, so let's hope the TS team will implement it at some point, seeing as monorepos are becoming more common.
from ts-monorepo.
Oh cool, thanks for pointing that out! I basically arrived at the same solution as you did as I was pondering this earlier today. However, instead of having my IDE configs at the workspace level extend from the root level IDE config, I decided to have them extend from the sibling build config, and then I duplicated the path aliases everywhere.
Either way involves a bit of duplication, but you're right, it's not really a big deal since the files rarely change.
In addition to multiple inheritance, I've also seen people request support for tsconfig.js
or tsconfig.ts
files, which would also help out in this scenario.
from ts-monorepo.
from ts-monorepo.
Thanks for the reminder @johncmunson! Before I use the new multiple inheritance feature to remove some duplication in the tsconfigs, I will:
- Let the tooling ecosystem adapt to the new version. #308 shows some dependencies that need to accept 5.0 in their peer dependencies.
- Give everyone some time to hop onto the new version. People might clone this repo and then downgrade the TS version to match what they're using in their project only to find out that it breaks everything because of the multiple inheritance.
from ts-monorepo.
Related Issues (20)
- Nestjs example is broken HOT 1
- Which version of yarn HOT 2
- "Experimental support for decorators is a feature that is subject to change in a future release" HOT 1
- Adding tests to CRA example yields an error HOT 6
- Getting build error in examples/cra HOT 1
- How would you add aliases in each of the packages HOT 3
- Add example for sub module exports HOT 1
- simple try to run pnpm run test failed after following steps HOT 2
- Missing documentation or not possible? HOT 2
- Adding a subdirectory in shared project requires `src/` in import, module not found error HOT 1
- How it works with vite & Styled Components HOT 1
- How should I go about using it, like copying the code? I didn't see the instructions for use. HOT 1
- How to make find all references working? HOT 2
- Understanding why `foo` is mapped to `foo/src` in the `nextjs` branch HOT 1
- Type declarations causing errors in Storybook HOT 2
- How can I handle css/less in @nighttrax/components HOT 1
- This problem must appear when using react-router-dom@6 HOT 1
- Problems of adding Sveltekit in apps HOT 2
- Cannot find module '@nighttrax/foo' or its corre⦠HOT 2
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 ts-monorepo.