Path: blob/main/src/rules/no-nodejs-modules.js
829 views
import importType from '../core/importType';1import moduleVisitor from 'eslint-module-utils/moduleVisitor';2import docsUrl from '../docsUrl';34function reportIfMissing(context, node, allowed, name) {5if (allowed.indexOf(name) === -1 && importType(name, context) === 'builtin') {6context.report(node, 'Do not import Node.js builtin module "' + name + '"');7}8}910module.exports = {11meta: {12type: 'suggestion',13docs: {14url: docsUrl('no-nodejs-modules'),15},16schema: [17{18type: 'object',19properties: {20allow: {21type: 'array',22uniqueItems: true,23items: {24type: 'string',25},26},27},28additionalProperties: false,29},30],31},3233create(context) {34const options = context.options[0] || {};35const allowed = options.allow || [];3637return moduleVisitor((source, node) => {38reportIfMissing(context, node, allowed, source.value);39}, { commonjs: true });40},41};424344