UNPKG

eslint-plugin-canonical

Version:
41 lines (40 loc) 1.29 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const utilities_1 = require("../utilities"); exports.default = (0, utilities_1.createRule)({ create: (context) => { return { CallExpression(node) { // @ts-expect-error TODO if (node.callee.name !== 'useEffect') { return; } const dependenciesArgument = node.arguments[1]; if (!dependenciesArgument) { return; } // @ts-expect-error TODO if (dependenciesArgument.elements.length > 0) { return; } context.report({ loc: node.loc, messageId: 'noEffectWithoutDependencies', node, }); }, }; }, defaultOptions: [], meta: { docs: { description: 'require that useMount(() => {}) is used instead of useEffect(() => {}, [])', }, messages: { noEffectWithoutDependencies: 'Use useMount when the intent is to run effect only once.', }, schema: [], type: 'suggestion', }, name: 'prefer-use-mount', });