TypeScript errors
jelhan opened this issue ยท 5 comments
We are running into type errors with packages from this repository in ember-math-helpers:
../node_modules/.pnpm/@glimmer+manager@0.84.2/node_modules/@glimmer/manager/dist/types/lib/public/modifier.d.ts:45:5 - error TS2416: Property 'getTag' in type 'CustomModifierManager<O, ModifierInstance>' is not assignable to the same property in base type 'InternalModifierManager<CustomModifierState<ModifierInstance>, object>'.
Type '({ tag }: CustomModifierState<ModifierInstance>) => UpdatableTag' is not assignable to type '(modifier: CustomModifierState<ModifierInstance>) => UpdatableTag | null'.
Type 'MonomorphicTagBase<MonomorphicTagTypes.Updatable>' is missing the following properties from type 'MonomorphicTagBase<MonomorphicTagTypes.Updatable>': [TYPE], [COMPUTE]
45 getTag({ tag }: CustomModifierState<ModifierInstance>): UpdatableTag;
~~~~~~
../node_modules/.pnpm/@glimmer+validator@0.44.0/node_modules/@glimmer/validator/dist/types/lib/validators.d.ts:78:45 - error TS2422: A class can only implement an object type or intersection of object types with statically known members.
78 declare class MonomorphicTagImpl implements MonomorphicTag {
~~~~~~~~~~~~~~
See RobbieTheWagner/ember-math-helpers#1423 and the failing CI pipeline for reproduction.
Relevant dependencies:
typescript
: 5.4.3@glimmer/manager
: 0.84.2@glimmer/validator
: 0.84.2
Looks like you have @glimmer/validator
0.44.0
in your deps, which isn't supported ๐
you can use pnpm.overrides
to set a min version of @glimmer/validator
.
can you provide the pnpm why @glimmer/validator
output?
we should fix whatever is specifying that ancient of a dep
I don't see @glimmer/validator
with 0.44.0
in the dependency tree:
$ pnpm why @glimmer/validator
Legend: production dependency, optional only, dev only
ember-math-helpers@4.0.0 /home/main/Code/open-source/ember-math-helpers/ember-math-helpers
dependencies:
ember-source 5.2.0
โโโฌ @glimmer/manager 0.84.2
โ โโโฌ @glimmer/reference 0.84.2
โ โ โโโ @glimmer/validator 0.84.2
โ โโโ @glimmer/validator 0.84.2
โโโฌ @glimmer/node 0.84.2
โ โโโฌ @glimmer/runtime 0.84.2
โ โโโฌ @glimmer/program 0.84.2
โ โ โโโฌ @glimmer/manager 0.84.2
โ โ โ โโโฌ @glimmer/reference 0.84.2
โ โ โ โ โโโ @glimmer/validator 0.84.2
โ โ โ โโโ @glimmer/validator 0.84.2
โ โ โโโฌ @glimmer/opcode-compiler 0.84.2
โ โ โโโฌ @glimmer/reference 0.84.2
โ โ โโโ @glimmer/validator 0.84.2
โ โโโฌ @glimmer/reference 0.84.2
โ โ โโโ @glimmer/validator 0.84.2
โ โโโ @glimmer/validator 0.84.2
โโโฌ @glimmer/opcode-compiler 0.84.2
โ โโโฌ @glimmer/reference 0.84.2
โ โโโ @glimmer/validator 0.84.2
โโโฌ @glimmer/program 0.84.2
โโโฌ @glimmer/manager 0.84.2
โโโฌ @glimmer/reference 0.84.2
โ โโโ @glimmer/validator 0.84.2
โโโ @glimmer/validator 0.84.2
since you have a monorepo, what's the output of pnpm why @glimmer/validator -r
?
since you have a monorepo, what's the output of
pnpm why @glimmer/validator -r
?
Thanks a lot for that hint. The test app has pulled in @glimmer/validator
with 0.44.0
as transitive dependency of @glimmer/tracking
with version 1.1.2
.
@glimmer/tracking 1.1.2
โโโ @glimmer/validator 0.44.0
Enforcing @glimmer/tracking
to be ^0.84.3
with PNPM overrides fixed that issue.
I opened an issue here: glimmerjs/glimmer.js#413