@stencil/eslint-plugin
Version:
ESLint rules specific to Stencil JS projects.
162 lines (160 loc) • 5.34 kB
TypeScript
import * as eslint0 from "eslint";
import { Linter } from "eslint";
//#region src/index.d.ts
declare const plugin: {
rules: {
'ban-side-effects': eslint0.Rule.RuleModule;
'ban-default-true': eslint0.Rule.RuleModule;
'ban-exported-const-enums': eslint0.Rule.RuleModule;
'dependency-suggestions': eslint0.Rule.RuleModule;
'strict-boolean-conditions': eslint0.Rule.RuleModule;
'async-methods': eslint0.Rule.RuleModule;
'ban-prefix': eslint0.Rule.RuleModule;
'class-pattern': eslint0.Rule.RuleModule;
'decorators-context': eslint0.Rule.RuleModule;
'decorators-style': eslint0.Rule.RuleModule;
'element-type': eslint0.Rule.RuleModule;
'host-data-deprecated': eslint0.Rule.RuleModule;
'methods-must-be-public': eslint0.Rule.RuleModule;
'no-unused-watch': eslint0.Rule.RuleModule;
'own-methods-must-be-private': eslint0.Rule.RuleModule;
'own-props-must-be-private': eslint0.Rule.RuleModule;
'prefer-vdom-listener': eslint0.Rule.RuleModule;
'props-must-be-public': eslint0.Rule.RuleModule;
'props-must-be-readonly': eslint0.Rule.RuleModule;
'render-returns-host': eslint0.Rule.RuleModule;
'required-jsdoc': eslint0.Rule.RuleModule;
'required-prefix': eslint0.Rule.RuleModule;
'reserved-member-names': eslint0.Rule.RuleModule;
'single-export': eslint0.Rule.RuleModule;
'strict-mutable': eslint0.Rule.RuleModule;
};
configs: {
base: {
overrides: {
files: string[];
parser: string;
parserOptions: {
ecmaVersion: 2018;
sourceType: "module";
ecmaFeatures: {
jsx: true;
};
};
env: {
es2020: true;
browser: true;
};
plugins: string[];
rules: {
'stencil/async-methods': 2;
'stencil/ban-prefix': [2, string[]];
'stencil/decorators-context': 2;
'stencil/element-type': 2;
'stencil/host-data-deprecated': 2;
'stencil/methods-must-be-public': 2;
'stencil/no-unused-watch': 2;
'stencil/prefer-vdom-listener': 2;
'stencil/props-must-be-public': 2;
'stencil/render-returns-host': 2;
'stencil/reserved-member-names': 2;
'stencil/single-export': 2;
};
}[];
settings: {
react: {
version: string;
};
};
};
recommended: {
plugins: string[];
extends: string[];
rules: {
'stencil/strict-boolean-conditions': 1;
'stencil/ban-default-true': 1;
'stencil/ban-exported-const-enums': 2;
'stencil/ban-side-effects': 2;
'stencil/strict-mutable': 2;
'stencil/decorators-style': ["error", {
prop: string;
state: string;
element: string;
event: string;
method: string;
watch: string;
listen: string;
}];
'stencil/own-methods-must-be-private': 1;
'stencil/own-props-must-be-private': 1;
'stencil/dependency-suggestions': 1;
'stencil/required-jsdoc': 1;
"react/jsx-no-bind": [1, {
ignoreRefs: boolean;
}];
};
};
strict: {
extends: string[];
rules: {
'stencil/ban-default-true': 2;
'stencil/strict-boolean-conditions': 2;
"@typescript-eslint/camelcase": 0;
"@typescript-eslint/explicit-function-return-type": 0;
"@typescript-eslint/ban-ts-ignore": 0;
"@typescript-eslint/no-this-alias": 0;
"@typescript-eslint/no-non-null-assertion": 0;
"@typescript-eslint/no-unused-vars": 0;
"@typescript-eslint/no-empty-interface": 0;
"@typescript-eslint/no-use-before-define": 0;
"@typescript-eslint/no-explicit-any": 0;
"no-constant-condition": 0;
"no-shadow": 2;
"no-var": 2;
"prefer-object-spread": 2;
"no-nested-ternary": 2;
"no-duplicate-imports": 2;
indent: [2, number];
"no-trailing-spaces": 2;
curly: [2, string];
"comma-spacing": 2;
"comma-style": 2;
"computed-property-spacing": 2;
"comma-dangle": [2, {
objects: string;
}];
"func-style": [2, string, {
allowArrowFunctions: boolean;
}];
"multiline-ternary": [2, string];
"operator-linebreak": [2, string, {
overrides: {
"?": string;
":": string;
};
}];
"linebreak-style": 2;
"space-in-parens": 2;
"@typescript-eslint/semi": 2;
"@typescript-eslint/brace-style": 2;
"@typescript-eslint/func-call-spacing": 2;
"react/jsx-closing-tag-location": 2;
"react/jsx-curly-newline": [2, string];
"react/jsx-closing-bracket-location": 2;
"react/jsx-curly-spacing": [2, {
when: string;
children: boolean;
}];
"react/jsx-boolean-value": [2, string];
"react/jsx-child-element-spacing": 2;
"react/jsx-indent-props": [2, string];
"react/jsx-props-no-multi-spaces": 2;
"react/jsx-equals-spacing": [2, string];
};
};
flat: Record<string, Linter.Config>;
};
};
//#endregion
export { plugin as default };
//# sourceMappingURL=index.d.ts.map