eslint-config-protect-me-from-my-stupidity
Advanced tools
Changelog
9.3.0 - 2023-02-26
vue/padding-lines-in-component-definition
and import/consistent-type-specifier-style
rules off.import/no-empty-named-blocks
rule on to ensure there are no empty named import blocks.vue/array-element-newline
rule to match the array-element-newline
rule.eslint
version to 8.35.0
.eslint-plugin-import
version to 2.27.5
.eslint-plugin-vue
version to 9.9.0
.Changelog
9.2.0 - 2022-12-04
logical-assignment-operators
rule off.no-empty-static-block
rule on, but it is switched off in the protect-me-from-my-stupidity/but/let-my-code-look-stupid
configuration.no-new-native-nonconstructor
rule on to ensure Symbol
and BigInt
instances are not being created using the new
operator.promise/no-multiple-resolved
rule on to ensure there are no code paths that may lead to a promise being resolved multiple times.vue/define-emits-declaration
and vue/define-emits-declaration
rules off.vue/multiline-ternary
rule to match the multiline-ternary
rule.vue/no-ref-object-destructure
on to ensure you don't destructure reference objects that leads to losing reactivity.vue/no-required-prop-with-default
on to ensure that required props don't have a default value, as it's redundant.vue/padding-line-between-tags
and vue/require-prop-comment
rules off.vue/v-on-handler-style
on to only allow the use of method handlers with inline handlers where applicable. This is switched off in the protect-me-from-my-stupidity/but/let-my-code-look-stupid
configuration.vue/v-on-function-call
rule, as it's now deprecated.Changelog
9.1.1 - 2022-09-01
no-eq-null
rule off.eqeqeq
rule to not apply in cases where it is not necessary, including with comparisons involving null
.vue/no-v-model-argument
rule off.vue/component-api-style
rule to only allow the use of the options
API or the composition
API in setup scripts.Changelog
9.1.0 - 2022-08-31
eslint
version to 8.23.0
.eslint-plugin-promise
version to 6.0.1
.eslint-plugin-vue
version to 9.4.0
.vue/block-lang
rule off.Changelog
9.0.0 - 2022-07-01
eslint
version to 8.18.0
.eslint-plugin-import
version to 8.26.0
.eslint-plugin-vue
version to 9.1.1
.no-constant-binary-expression
rule on; disallowing expressions where the operator doesn't affect the value.vue/define-macros-order
, vue/no-restricted-html-elements
and vue/prefer-prop-type-boolean-first
rules off.vue/match-component-import-name
rule on; ensuring that the component registration matches the component import name.vue/valid-attribute-name
and vue/valid-model-definition
rules on; ensuring attribute names and model definitions are valid.vue/no-invalid-model-keys
and vue/script-setup-uses-vars
rules, as they are now deprecated.Changelog
8.1.1 - 2022-04-20
indent
rule to not be enforced in string literals.Changelog
8.1.0 - 2022-03-29
eslint
version to 8.12.0
.eslint-plugin-vue
version to 8.5.0
.eslint-plugin-import
version to 2.25.4
.no-cond-assign
, promise/prefer-await-to-then
and vue/no-undef-components
rules off.lines-between-class-members
rule is no longer applied to single lines.vue/prefer-import-from-vue
rule on to ensure all imports come from the vue
module.vue/prefer-true-attribute-shorthand
rule on to prefer boolean attribute shorthands. This is switched off in the protect-me-from-my-stupidity/but/let-my-vue-components-look-stupid
configuration.vue/object-shorthand
and vue/quote-props
rules on to enforce their base eslint
counterpart in template expressions.Changelog
8.0.0 - 2021-12-27
no-unused-private-class-members
rule on to ensure all private class properties are not left unused.prefer-object-has-own
rule on to ensure Object.hasOwn()
is used instead of Object.prototype.hasOwnProperty.call()
.import/no-import-module-exports
rule on to prevent mixing import declarations with CommonJS exports.vue/block-lang
rule on to ensure a script's language is configured explicitly to js
.vue/component-api-style
rule on to only allow the Composition and Options API to be utilised.vue/component-options-name-casing
rule on to ensure all components are referenced using kebab-case.vue/no-child-content
rule on to prevent a component's child content from being overwritten by content modifying attributes.vue/no-computed-properties-in-data
rule on to prevent the use of computed properties during component data initialization.vue/no-export-in-script-setup
rule on to prevent setup scripts from exporting.vue/no-expose-after-await
rule on to ensure all properties are exposed synchronously.vue/no-reserved-props
rule on to prevent props being defined with names reserved by Vue.vue/no-this-in-before-route-enter
rule on to prevent the use of this
in the beforeRouteEnter
router guard.vue/no-undef-properties
rule on to prevent the use of props that are not explicitly defined.vue/no-use-computed-property-like-method
rule on to ensure computed properties are not used as functions.vue/no-v-text
rule on to prevent the use of the v-text
attribute.vue/prefer-separate-static-class
rule on to ensure static classes and dynamic classes are assigned using separate class
attributes.vue/valid-define-emits
and vue/valid-define-props
rules on to ensure all defineEmits
and defineProps
compiler macros are valid.vue/valid-v-memo
rule on to ensure all v-memo
directives are valid.13
(2022).eslint
version to 8.5.0
.eslint-plugin-import
version to 5.25.3
.eslint-plugin-promise
version to 6.0.0
.eslint-plugin-vue
version to 8.2.0
.no-loss-of-precision
rule is now applied to expressions in Vue component templates.no-unused-vars
rule now correctly detects usage of setup script variables in Vue component templates.import/default
rule off as it was resulting in too many false positives.Changelog
7.2.2 - 2021-05-16
Changelog
7.2.1 - 2021-05-15
.cjs
file override to ensure the commonjs
environment is enabled.