You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
All builds (for all open PRs) are currently broken because of a TypeScript build error in the @slack/rtm-api package:
src/RTMClient.ts:136:74 - error TS2345: Argument of type 'string' is not assignable to parameter of type 'UnrecoverableRTMStartError'.
136 Object.values(UnrecoverableRTMStartError).includes(error.data.error)) {
I'm still gathering information to understand the cause, but I'll share what I know so far. The builds were passing on my local machine before I cleaned my working copy (by removing all node_modules directories and all package-lock.json files). After that, I got the same errors locally.
I also investigated the difference in how the tests are invoked on CI versus locally. Specifically, on CI the --no-ci --hoist flags are passed to lerna bootstrap. I can confirm that those flags have nothing to do with this issue. The --no-ci flag makes the CI environment work more like a local environment, and the --hoist flag moves common dependencies to the root node_modules directory. Since the errors occurred without either of those flags locally, its safe to conclude that the error is not related to them.
My next hunch is that it has to do with a later version of typescript being installed. The version that is installed across all packages locally when I reproduced the error is 3.6.3, while the package.json files specify a range of ^3.3.3333. It is possible that the semantics of a string enum changed in TypeScript releases 3.4, 3.5, or 3.6. That's what I'll be investigating next.
Requirements (place an x in each of the [ ])
I've read and understood the Contributing guidelines and have done my best effort to follow them.
I've searched for any related issues and avoided creating a duplicate issue.
The text was updated successfully, but these errors were encountered:
aoberoi
added
bug
M-T: A confirmed bug report. Issues are confirmed when the reproduction steps are documented
tests
M-T: Testing work only
and removed
bug
M-T: A confirmed bug report. Issues are confirmed when the reproduction steps are documented
labels
Sep 12, 2019
I can confirm that this issue does seem to be tied to the version of typescript.
changed packages/rtm-api/package.json's typescript devDep range to ~3.3.3333, which resolved to 3.3.4000 ➡️ works
changed packages/rtm-api/package.json's typescript devDep range to ~3.4.0, which resolved to 3.4.5 ➡️ works
changed packages/rtm-api/package.json's typescript devDep range to ~3.5.0, which resolved to 3.5.3 ➡️ works
changed packages/rtm-api/package.json's typescript devDep range to ~3.6.0, which resolved to 3.6.3 ➡️ does not work
So it seems there's some breaking change in TypeScript 3.6 that is responsible for this. However, after checking the list of breaking changes in that release, there doesn't seem to be a specific intentional change responsible for it.
I guess this means either its an unintentional breaking change (bug in TypeScript) or one that is much too subtle for me to relate directly back to the intentional ones.
Description
All builds (for all open PRs) are currently broken because of a TypeScript build error in the
@slack/rtm-api
package:I'm still gathering information to understand the cause, but I'll share what I know so far. The builds were passing on my local machine before I cleaned my working copy (by removing all
node_modules
directories and allpackage-lock.json
files). After that, I got the same errors locally.I also investigated the difference in how the tests are invoked on CI versus locally. Specifically, on CI the
--no-ci --hoist
flags are passed tolerna bootstrap
. I can confirm that those flags have nothing to do with this issue. The--no-ci
flag makes the CI environment work more like a local environment, and the--hoist
flag moves common dependencies to the rootnode_modules
directory. Since the errors occurred without either of those flags locally, its safe to conclude that the error is not related to them.My next hunch is that it has to do with a later version of
typescript
being installed. The version that is installed across all packages locally when I reproduced the error is3.6.3
, while thepackage.json
files specify a range of^3.3.3333
. It is possible that the semantics of a string enum changed in TypeScript releases 3.4, 3.5, or 3.6. That's what I'll be investigating next.Requirements (place an
x
in each of the[ ]
)The text was updated successfully, but these errors were encountered: