UNPKG

canonical

Version:

Canonical code style linter and formatter for JavaScript, SCSS, CSS and JSON.

27 lines (24 loc) 997 B
/** * @fileoverview Rule to disallow using _.prototype.commit. */ 'use strict'; //------------------------------------------------------------------------------ // Rule Definition //------------------------------------------------------------------------------ module.exports = function (context) { var lodashUtil = require('../util/lodashUtil'); var astUtil = require('../util/astUtil'); var settings = require('../util/settingsUtil').getSettings(context); return { CallExpression: function (node) { if (lodashUtil.isLodashChainStart(node, settings.pragma)) { do { node = node.parent.parent; } while (astUtil.isMethodCall(node) && !lodashUtil.isCallToMethod(node, settings.version, 'commit')); if (lodashUtil.isCallToMethod(node, settings.version, 'commit')) { context.report(node, 'Do not end chain with commit.'); } } } }; };