-
Notifications
You must be signed in to change notification settings - Fork 28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: fix set issues for TypeScript 5.5+ #421
base: master
Are you sure you want to change the base?
Conversation
test-app/tsconfig.json
Outdated
}, | ||
"skipLibCheck": true | ||
"skipLibCheck": true, | ||
"lib": [ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not sure if this should be added here, but it was the only way to get the errors to show properly when developing and adding tests.
Thank you @chrisvdp for contribution! Could you please fix lint errors? |
@SergeAstapov updated with your feedback |
@SergeAstapov I seem to have run into an issue with It seems that 5.6 was added in version 8.10, but that requires an overhaul to eslint configs in general. typescript-eslint/typescript-eslint#9653 5.5 support was added in v7.14.1. Downgrading the version of TS here to 5.5 to avoid the eslint upgrade. |
757c17a
to
4c25c85
Compare
addon/src/-private/array.ts
Outdated
@@ -55,6 +55,7 @@ function convertToInt(prop: number | string | symbol): number | null { | |||
return num % 1 === 0 ? num : null; | |||
} | |||
|
|||
// eslint-disable-next-line @typescript-eslint/no-unsafe-declaration-merging |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It seems to be upset about this line https://github.com/tracked-tools/tracked-built-ins/pull/421/files#diff-4675cdfe75e78e757eea8a2f32008948d1713d77a78e3dff46f8dec79f297305L214
but I'm not sure it can be removed or why it's there
"@typescript-eslint/eslint-plugin": "^5.40.0", | ||
"@typescript-eslint/parser": "^5.26.0", | ||
"eslint": "^8.25.0", | ||
"@typescript-eslint/eslint-plugin": "^7.14.1", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
minimum required version for TS 5.5
@SergeAstapov should I update the matrix of TS versions this runs against? https://github.com/tracked-tools/tracked-built-ins/blob/master/.github/workflows/CI.yml#L144 Was thinking along the lines of
|
@chrisvdp if you don't mind, I would separate infra updates and TS support matrix from this specific fix. Let me work on bringing CI in this repo to green state and we can get back to this specific fix to ensure we iterate on green CI and do one thing at a time. |
Sounds good |
#424 should unblock this |
this is unblocked! |
Rebased |
@chrisvdp CI is failing with 5.4 and 5.5, mind to take a look if this can be fixed? |
Should we drop support for TS < 5.6? |
I think that at least >=5.5 is required as we are adding features added there. I think I can fix the issues with 5.5 by removing some of the explicit return types as they seem to have changed between 5.5 -> 5.6 |
I pushed a commit that works on 5.5 and 5.6 locally for me |
fine for me. then, we could drop support for some older Ember.js versions as well to bundle into next major |
I'd like to drop 5.4 support in separate PR so this one would be focused on fixing Set issues |
@SergeAstapov here you go: #434 @chrisvdp so so so sorry this has taken so long -- once the above is merged, one last rebase should be all we need <3 |
we're good to go! @chrisvdp do you happen to have time to rebase? |
#417
This fixes the issues introduces in Typescript 5.5 by updating the types used in
Map
andSet
and implementing the new properties onSet
.This is a breaking change and would require users to be on Typescript 5.5+.