stencil-eslint
stencil-eslint copied to clipboard
TODO rules
Pending rules:
- [ ] public apis must be documented
- [ ] order of properties/methods following the stencil’s style guide https://stenciljs.com/docs/style-guide
- [ ] validation of the component’s tag
- [ ] validation of the component’s class name
- [ ] enforce tag-name prefix
- [ ] ban certain tag-name prefixes (like stencil-, stncl-, sc-...) configurable
- [ ]
@Element()'s type must be HTML{tag-name}Element - [ ] mutation of
Prop() - [ ] side mutation of objects and arrays in
@State()and@Prop() - [ ] prefer
<Host>vs returning array in render() - [ ] always prefer
<Host> - [ ] reusage or JSX nodes (not possible in stencil's render)
- [ ]
@Watchdecorators listens to existing prop or state
Naming:
- Consistent naming of Props / Events and method
Code quality
- Too many methods?
Help wanted!
For arrays, we can suggest using ReadonlyArray<T> instead of T[] and for objects we have the mapped type Readonly<T>. That way, the checker can be simplified.
That's a great idea @Serabe ! and easy enough to implement
@manucorporat would it be better to split these rules out to individual issues? I see some have been added but the list hasn't been updated.
I just created a pull request with some rules and tests https://github.com/ionic-team/stencil-eslint/pull/2