123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- 'use strict';var _moduleVisitor = require('eslint-module-utils/moduleVisitor');var _moduleVisitor2 = _interopRequireDefault(_moduleVisitor);
- var _docsUrl = require('../docsUrl');var _docsUrl2 = _interopRequireDefault(_docsUrl);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}
- const DEFAULT_MAX = 10;
- const countDependencies = (dependencies, lastNode, context) => {var _ref =
- context.options[0] || { max: DEFAULT_MAX };const max = _ref.max;
- if (dependencies.size > max) {
- context.report(
- lastNode,
- `Maximum number of dependencies (${max}) exceeded.`);
- }
- };
- module.exports = {
- meta: {
- type: 'suggestion',
- docs: {
- url: (0, _docsUrl2.default)('max-dependencies') },
- schema: [
- {
- 'type': 'object',
- 'properties': {
- 'max': { 'type': 'number' } },
- 'additionalProperties': false }] },
- create: context => {
- const dependencies = new Set();
- let lastNode;
- return Object.assign({
- 'Program:exit': function () {
- countDependencies(dependencies, lastNode, context);
- } },
- (0, _moduleVisitor2.default)(source => {
- dependencies.add(source.value);
- lastNode = source;
- }, { commonjs: true }));
- } };
|