Comments (3)
It doesn't really have anything to do with npm link
- it's just that we don't see the Joi
types reexported in @privateprefix/lib
as an autogeneratable way to reference joi
's innards, hence why it works when you explicitly import the alias to Joi
. (The tarball install works because npm
hoists the install to the top level, rather than doing the strict dependency nesting the link
does.) We do do a little bit of looking for reexports, but generally we look for complete reexports, where one module is another module via export =
- a nested reexport like this, where you import a default and reexport it as a named member I just don't think is an alias we current traverse through while looking for reachable ways to name the module. So this is probably fixable, but the logic's going to be a bit weird, since we'll be looking for module symbol aliases at... basically every symbol name everywhere (rather than just reachable filenames).
from typescript.
I did not go into vivid detail into what could possibly be causing this issue, when it has supposedly been fixed in the general case for pnpm, because I frankly do not know what it could be, but the repository is not very big and contains everything needed to reproduce the error.
I'm suspecting this instance has something to do with npm link
, as when the library is simply installed via tarball, it works just fine
from typescript.
Thanks for the answer @weswigham, as an aspiring Compiler Technician myself I actually entirely understand, and was honestly a little surprised as a similar problem causing this error had been solved via #42873, so it gave me hope that maybe this could be solved too, somehow.
This problem occurs to me at work, and while I obviously can't disclose the details, the situation (and the problem) is pretty much identical. The part that frustrates me the most, is that we used to only use Javascript + JSDoc and simply TypeScript-checked all of our files. Now that we are transitioning to full-typescript, this has become an issue, almost out of nowhere. It's befuddling, and frustrating.
I must try and check, if the problem persists in the minimal repository if the files were instead JS+JSDoc+autogenerated Typescript Declaration files, but I suspect the problem would not exist there.
This is especially frustrating again, because we have a lot of repositories, and using them via published npm-packages works just fine (ie. the tarball works), but manually linking the packages together during development, to make development easier, now breaks :/
from typescript.
Related Issues (20)
- Some long function return expressions no longer evaluated in 5.5 HOT 3
- Generic is "`any`-like" for relational operators HOT 4
- inherit interface/type block comment HOT 2
- JSDoc: property access within static initialization block of @extends annotated class from different file
- Isolated Declarations in TS 5.5: State of the feature
- Isolated declarations quick fix suggests `boolean` return type for predicates HOT 2
- Is the "Roadmap" wiki page still maintained? HOT 3
- Typescript 5.5 is not working with yarn v4 and nodeLinker pnp, it forces switching to nodeLinker node-modules HOT 4
- update Object.values and Object.entries docs to mention they look only at own properties HOT 1
- `@import` JSDoc tag doesn't seem to account for `resolution-mode` import attribute in TS v5.5.2 HOT 1
- `/// <reference lib` is stripped out of `d.ts` file HOT 2
- HookWebpackError: Maximum call stack size exceeded in Release 5.5.2 HOT 1
- TS 5.5 type guards overly strict in some cases HOT 3
- Unresolved `any` behaves different from `any` HOT 5
- "Duplicate identifier" errors introduced in TS 5.5, if declare module is used HOT 4
- Predicate inference fails for empty object and nullish values HOT 2
- `@import`s marked as unused HOT 1
- Cannot find name 'AggregateError'.ts(2304) HOT 3
- `let` indexes using noUncheckedIndexedAccess in TS 5.5.2 HOT 6
- An unobvious point when developing a Button-or-Link component. Optional href for tag a and mandatory for Link from Next.js. [5.5.2] HOT 14
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 typescript.