Open Maxim-Mazurok opened 4 years ago
The problem with upgrading is that I can't ship with a new tslint without testing it on Definitely Typed. And the set of lint rules on Definitely Typed should not change until we switch to eslint.
Overall, I would prefer to see effort spent on switching to eslint.
Ok, I'll run tests on DT then to make sure everything passed.
Regarding set of rules, I'll check if any new rules were added or removed. Is updateConfig.ts
related to this? If I understand correctly, it can be run on every DT package to check for unnecessary rules. Should I run it, or it's up to DT package maintainers to do this?
I understand that tslint is deprecated and eslint is preferred, but since we're still using tslint and we're not going to use eslint untill DT switched to eslint (if I remember correctly), updating tslint to include fixes seems reasonable.
Interestingly, running npm test -- --all
on DT, even with outdated tslint
, gave me a lot of errors.
It's a great opportunity to contribute to DT, but also it means that DT testing can be improved.
@sandersn do you have a roadmap/plan for switching DT and dtslint to ESLint?
Context: I'm digging into a roadmap for more Ember adoption, and part of what we want to build is a story for testing published types both for Ember itself and from the surrounding ecosystem against various versions of TS so that we can satisfy our compatibility story. At present, dtslint is our best option, given that constraint of testing across multiple versions (though I'm also going to be in conversation with tsd about getting that to support this workflow)—but we'd very much prefer not to have both eslint and tslint as dependencies, as you can imagine.
(All of which is in part a long way of saying: I likely have bandwidth to help with the effort; let me know what we need to do to make it happen.)
Nope, no roadmap yet. Here's a high-level plan of what I think needs to happen.
I think (1), (2) and (3) are all good places to start.
tslint.json
configs to .eslintrc
dtslint
usestslint@5.14.0
, while the current version istslint@6.1.1
It includes, for example, fixes for interfaceName rule: https://github.com/palantir/tslint/pull/4655
Because
dtslint
uses outdated version, I have to ignore this rule for interfaces such asIPAllocationPolicy
I will try to update
tslint
indtslint
and open PR.