UNPKG

@fenge/eslint-plugin-ts

Version:
30 lines 3.39 kB
import { getRuleName } from "../utils.js"; const name = getRuleName(import.meta.url); const rule = { meta: { messages: { default: "Disallow using property decorator. Consider adding `declare` keyword in front of the property to fix it.", }, schema: [ { type: "object", properties: { allowDeclaration: { type: "boolean" }, }, additionalProperties: false, }, ], }, create: (context) => ({ "ClassBody > PropertyDefinition[decorators.length>0]": (node) => { if ("declare" in node && node.declare && context.options[0]?.allowDeclaration) { return; } context.report({ node, messageId: "default" }); }, }), }; export const noPropertyDecorator = { name, rule }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tcHJvcGVydHktZGVjb3JhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3J1bGVzL25vLXByb3BlcnR5LWRlY29yYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTFDLE1BQU0sSUFBSSxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzFDLE1BQU0sSUFBSSxHQUFvQjtJQUM1QixJQUFJLEVBQUU7UUFDSixRQUFRLEVBQUU7WUFDUixPQUFPLEVBQ0wsMEdBQTBHO1NBQzdHO1FBQ0QsTUFBTSxFQUFFO1lBQ047Z0JBQ0UsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsVUFBVSxFQUFFO29CQUNWLGdCQUFnQixFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtpQkFDdEM7Z0JBQ0Qsb0JBQW9CLEVBQUUsS0FBSzthQUM1QjtTQUNGO0tBQ0Y7SUFDRCxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDcEIscURBQXFELEVBQUUsQ0FDckQsSUFBZSxFQUNmLEVBQUU7WUFDRixJQUNFLFNBQVMsSUFBSSxJQUFJO2dCQUNqQixJQUFJLENBQUMsT0FBTztnQkFDWixPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLGdCQUFnQixFQUNwQyxDQUFDO2dCQUNELE9BQU87WUFDVCxDQUFDO1lBQ0QsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUNqRCxDQUFDO0tBQ0YsQ0FBQztDQUNILENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUnVsZSB9IGZyb20gXCJlc2xpbnRcIjtcbmltcG9ydCB7IGdldFJ1bGVOYW1lIH0gZnJvbSBcIi4uL3V0aWxzLnRzXCI7XG5cbmNvbnN0IG5hbWUgPSBnZXRSdWxlTmFtZShpbXBvcnQubWV0YS51cmwpO1xuY29uc3QgcnVsZTogUnVsZS5SdWxlTW9kdWxlID0ge1xuICBtZXRhOiB7XG4gICAgbWVzc2FnZXM6IHtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIFwiRGlzYWxsb3cgdXNpbmcgcHJvcGVydHkgZGVjb3JhdG9yLiBDb25zaWRlciBhZGRpbmcgYGRlY2xhcmVgIGtleXdvcmQgaW4gZnJvbnQgb2YgdGhlIHByb3BlcnR5IHRvIGZpeCBpdC5cIixcbiAgICB9LFxuICAgIHNjaGVtYTogW1xuICAgICAge1xuICAgICAgICB0eXBlOiBcIm9iamVjdFwiLFxuICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgYWxsb3dEZWNsYXJhdGlvbjogeyB0eXBlOiBcImJvb2xlYW5cIiB9LFxuICAgICAgICB9LFxuICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIGNyZWF0ZTogKGNvbnRleHQpID0+ICh7XG4gICAgXCJDbGFzc0JvZHkgPiBQcm9wZXJ0eURlZmluaXRpb25bZGVjb3JhdG9ycy5sZW5ndGg+MF1cIjogKFxuICAgICAgbm9kZTogUnVsZS5Ob2RlLFxuICAgICkgPT4ge1xuICAgICAgaWYgKFxuICAgICAgICBcImRlY2xhcmVcIiBpbiBub2RlICYmXG4gICAgICAgIG5vZGUuZGVjbGFyZSAmJlxuICAgICAgICBjb250ZXh0Lm9wdGlvbnNbMF0/LmFsbG93RGVjbGFyYXRpb25cbiAgICAgICkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb250ZXh0LnJlcG9ydCh7IG5vZGUsIG1lc3NhZ2VJZDogXCJkZWZhdWx0XCIgfSk7XG4gICAgfSxcbiAgfSksXG59O1xuZXhwb3J0IGNvbnN0IG5vUHJvcGVydHlEZWNvcmF0b3IgPSB7IG5hbWUsIHJ1bGUgfTtcbiJdfQ==