Skip to content

react-meteor-data: support typescript@6 (v4.1.0-beta.0)#490

Open
italojs wants to merge 1 commit into
masterfrom
feature/typescript-6-support
Open

react-meteor-data: support typescript@6 (v4.1.0-beta.0)#490
italojs wants to merge 1 commit into
masterfrom
feature/typescript-6-support

Conversation

@italojs

@italojs italojs commented Jul 20, 2026

Copy link
Copy Markdown
Member

Problem

The published react-meteor-data derives its typescript dependency constraint from api.versionsFrom(['1.8.2', '1.12', '2.0', '2.3', '3.0']), which resolves to:

typescript@3.7.0 || 4.1.2 || 4.1.2 || 4.3.2 || 5.4.3

Every entry is capped below 6.0.0 (Meteor's @X.Y.Z means >=X.Y.Z <(X+1).0.0). Meteor is now moving to TypeScript 6 in meteor/meteor#14560, which bumps the typescript package to 6.0.3. On that release, resolving react-meteor-data fails:

error: Conflict: Constraint typescript@3.7.0 || 4.1.2 || 4.1.2 || 4.3.2 || 5.4.3
is not satisfied by typescript 6.0.3.
* typescript@6.0.3 <- top level
* typescript@3.7.0 || 4.1.2 || 4.1.2 || 4.3.2 || 5.4.3 <- react-meteor-data 4.0.1

This is what breaks the ecmascript-regression self-test (group 7) on that PR.

Fix

TypeScript 6 is not part of any published Meteor release yet, so it can't be pulled in through api.versionsFrom. Instead, set the supported typescript range explicitly and add 6.0.0, keeping the existing lower versions for backwards compatibility:

const TYPESCRIPT_VERSIONS = 'typescript@3.7.0 || 4.1.2 || 4.3.2 || 5.4.3 || 6.0.0'

Applied to both onUse and onTest. Version bumped to 4.1.0-beta.0 (beta).

Note: once a Meteor release shipping TypeScript 6 is published, this can move back to a plain api.use('typescript') by adding that release to versionsFrom.

Testing

Verified locally against a Meteor checkout with the typescript package bumped to 6.0.3:

  • Before (published react-meteor-data@4.0.1): fails with the conflict above.
  • After (4.1.0-beta.0 from this branch): resolves cleanly —
react-meteor-data  4.1.0-beta.0+  React hook for reactively tracking Meteor data
typescript         6.0.3+         Compiler plugin that compiles TypeScript and ECMAScript...

The published react-meteor-data derives its `typescript` dependency
constraint from `api.versionsFrom`, which resolves to
`3.7.0 || 4.1.2 || 4.1.2 || 4.3.2 || 5.4.3` — all capped below 6.0.0.
Meteor releases moving to TypeScript 6 (meteor/meteor#14560) therefore
fail to resolve the package:

    Conflict: Constraint typescript@3.7.0 || 4.1.2 || 4.1.2 || 4.3.2
    || 5.4.3 is not satisfied by typescript 6.0.3.

TypeScript 6 is not yet part of a published release, so it can't be
added via `versionsFrom`. Set the supported `typescript` range
explicitly instead and add `6.0.0`, keeping the existing lower
versions for backwards compatibility. Publishing as a beta.

Verified locally against a checkout with the typescript package bumped
to 6.0.3: the app resolves react-meteor-data 4.1.0-beta.0 alongside
typescript 6.0.3, whereas 4.0.1 fails with the conflict above.
@italojs
italojs force-pushed the feature/typescript-6-support branch from aa09899 to c30669c Compare July 20, 2026 16:49
italojs added a commit to meteor/meteor that referenced this pull request Jul 20, 2026
…or TS6

The published react-meteor-data (<=4.0.1) caps its typescript dependency
below 6.0.0 (constraint 3.7.0 || 4.1.2 || 4.1.2 || 4.3.2 || 5.4.3), so
the ecmascript-regression fixture fails to resolve once typescript is
bumped to 6.0.3:

    Conflict: Constraint typescript@... || 5.4.3 is not satisfied by
    typescript 6.0.3 <- react-meteor-data

react-meteor-data 4.1.0-beta.0 adds typescript@6 to its supported range
(meteor/react-packages#490). Pin the fixture to it and to typescript@6.0.3.

Verified: 'meteor self-test regressions --headless' passes with this change.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant