@effect/language-service@0.87.2 imports typescript/lib/tsserverlibrary, but its package manifest declares no dependency or peer dependency on typescript.
With an isolated linker, that import can fall through to an unrelated hoisted package. For example, a Bun workspace with root dependencies typescript@6.0.3 and @typescript/native: npm:typescript@7.0.2 hoists the aliased TypeScript 7 package for the language service. The CLI then fails with:
Package subpath './lib/tsserverlibrary' is not defined by "exports" in node_modules/.bun/node_modules/typescript/package.json
Reproduction:
- Configure Bun's isolated linker.
- Install
@effect/language-service@0.87.2, typescript@6, and an alias such as @typescript/native: npm:typescript@7 at the workspace root.
- Run
bunx effect-language-service overview --file <effect-source.ts>.
Please declare typescript as a peer dependency (ideally the supported TypeScript 5/6 range documented by the CLI). This gives isolated linkers the dependency edge needed to place the consumer's supported TypeScript beside the language-service package.
@effect/language-service@0.87.2importstypescript/lib/tsserverlibrary, but its package manifest declares no dependency or peer dependency ontypescript.With an isolated linker, that import can fall through to an unrelated hoisted package. For example, a Bun workspace with root dependencies
typescript@6.0.3and@typescript/native: npm:typescript@7.0.2hoists the aliased TypeScript 7 package for the language service. The CLI then fails with:Reproduction:
@effect/language-service@0.87.2,typescript@6, and an alias such as@typescript/native: npm:typescript@7at the workspace root.bunx effect-language-service overview --file <effect-source.ts>.Please declare
typescriptas a peer dependency (ideally the supported TypeScript 5/6 range documented by the CLI). This gives isolated linkers the dependency edge needed to place the consumer's supported TypeScript beside the language-service package.