formatjs / formatjs-old

The monorepo home to all of the FormatJS related libraries.
https://formatjs.io/
156 stars 53 forks source link

[intl-messageformat] build break due to breaking changes in transitive dependency #436

Closed CarstenLeue closed 4 years ago

CarstenLeue commented 4 years ago

Which package? intl-messageformat

Describe the bug The versioning of intl-messageformat follows the rules of semantic versioning, so I would not expect breaking changes for minor version or patch updates.

However a breaking change has been introduced transitively by a breaking change in a minor version update of @formatjs/intl-utils (see https://github.com/formatjs/formatjs/issues/410). This package now requires TS 3.7 to compile and this now also true for intl-messageformat.

The bug is that my project won't compile because of the update in @formatjs/intl-utils, although this project only uses "intl-messageformat": "^7.5.2",

as a dependency. I have no way to pin the version @formatjs/intl-utils directly, since my project does not use that component directly.

Also I cannot upgrade to TS 3.7 because other components in my project do not support it.

Expected behavior I expect the public API to remain compatible across minor version or patch updates. Raising the required TS level is an incompatible change.

longlho commented 4 years ago

Type definition in reality doesn’t follow semver at all (e.g if you upgrade @types/react to a patch version there’s no guarantee it compiles). I’ll try to release a version that pins to older TS.

On Tue, Jan 7, 2020 at 4:17 PM Carsten Leue notifications@github.com wrote:

Which package? intl-messageformat

Describe the bug The versioning of intl-messageformat follows the rules of semantic versioning, so I would not expect breaking changes for minor version or patch updates.

However a breaking change has been introduced transitively by a breaking change in a minor version update of @formatjs/intl-utils (see #410 https://github.com/formatjs/formatjs/issues/410). This package now requires TS 3.7 to compile and this now also true for intl-messageformat.

The bug is that my project won't compile because of the update in @formatjs/intl-utils, although this project only uses "intl-messageformat": "^7.5.2",

as a dependency. I have no way to pin the version @formatjs/intl-utils directly, since my project does not use that component directly.

Also I cannot upgrade to TS 3.7 because other components in my project do not support it.

Expected behavior I expect the public API to remain compatible across minor version or patch updates. Raising the required TS level is an incompatible change.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/formatjs/formatjs/issues/436?email_source=notifications&email_token=AABQM34F6GDMZFDFRTGQEZ3Q4TWPFA5CNFSM4KD7GOJKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4IETDXWA, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABQM3ZWQC4U6XUW6QXMB3TQ4TWPFANCNFSM4KD7GOJA .

longlho commented 4 years ago

can you try latest version?

cahite commented 4 years ago

I tried the latest version and didn't see any errors. Thanks!