stencil-community / stencil-eslint

ESLint rules specific to Stencil JS projects
MIT License
61 stars 34 forks source link

New Plugin rules #4

Open dgesteves opened 5 years ago

dgesteves commented 5 years ago

I have a question regarding the new version of the plugin, any specific reason why the new version comes with: props can’t be mutable and the jsdoc are required on props etc…, inline events can't be an arrow function? Are this changes required because of the new outputs to react and angular?

dgesteves commented 5 years ago

So just an update my rules atm are the ones that you recommend on this new version.


  "@stencil/async-methods": "error",
  "@stencil/ban-prefix": ["error", ["stencil", "stnl", "st"]],
  "@stencil/decorators-context": "error",
  "@stencil/decorators-style": [
    "error", {
      "prop": "inline",
      "state": "inline",
      "element": "inline",
      "event": "inline",
      "method": "multiline",
      "watch": "multiline",
      "listen": "multiline"
    }],
  "@stencil/element-type": "error",
  "@stencil/host-data-deprecated": "error",
  "@stencil/methods-must-be-public": "error",
  "@stencil/no-unused-watch": "error",
  "@stencil/own-methods-must-be-private": "error",
  "@stencil/own-props-must-be-private": "error",
  "@stencil/prefer-vdom-listener": "error",
  "@stencil/props-must-be-public": "error",
  "@stencil/props-must-be-readonly": "error",
  "@stencil/render-returns-host": "error",
  "@stencil/required-jsdoc": "error",
  "@stencil/reserved-member-names": "error",
  "@stencil/single-export": "error",
  "@stencil/strict-mutable": "error"
}

I am trying to understand why do we need to use immutable props now.
dgesteves commented 5 years ago

I am still waiting for a replay. Your new stencil plugin version is coming with alot of new errors and warnings, that is a problem to use git hooks with the libraries.

jayyren commented 3 years ago

Is there any additional info how this rule specifies if prop is mutable or not?

m-thompson-code commented 1 year ago

Ensures that all @Prop marked as mutable really needs to be mutable.

This is a little too critic. I don't know if this implies a way for me to mark the Prop as "really needs to be mutable" or if I'm just expected to disable the rule for this line/file/config.

I assume that Props aren't mutable by default for a reason, but I'd love to know the reasoning for this rule to be way it is and what this message is implying.