tslint-lines-between-class-members
tslint-lines-between-class-members copied to clipboard
Linting fails for constructor of generic type after prettier multi-line format
Prettier formats some generic type definitions by placing the generic constraints on multiple lines.
This causes tslint-lines-between-class-members to fail linting.
The error is must have 1 new line(s) between class methods, see docs for how to configure
which appears on the constructor() {
line.
I believe this is due to how you are checking the previous line.
Passes
export class PermissionsStore extends EntityStore<PermissionsState, Permission> {
constructor() {
super();
}
}
Fails
export class PermissionsStore extends EntityStore<
PermissionsState,
Permission
> {
constructor() {
super();
}
}
I also ran into this situation where Prettier puts the implements
keyword on its own line which causes this lint rule to fail at the line constructor() { }
.
interface SomeInterface {
name: string;
}
export class SomeClass
implements SomeInterface {
constructor() { }
name = 'test';
}
This should be fixed in 1.3.5, let me know if you are still getting any problems
Awesome! Thanks so much!
I worked alongside @seangwright on a project we really felt the pain of this issue on. I've updated our packages and can confirm this has been resolved. Thank you, @chinchiheather much appreciated!