12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- /**
- * @author Toru Nagashima
- * See LICENSE file in root directory for full license.
- */
- "use strict"
- const checkExtraneous = require("../util/check-extraneous")
- const getAllowModules = require("../util/get-allow-modules")
- const getConvertPath = require("../util/get-convert-path")
- const getResolvePaths = require("../util/get-resolve-paths")
- const getTryExtensions = require("../util/get-try-extensions")
- const visitRequire = require("../util/visit-require")
- module.exports = {
- meta: {
- docs: {
- description:
- "disallow `require()` expressions which import extraneous modules",
- category: "Possible Errors",
- recommended: true,
- url:
- "https://github.com/mysticatea/eslint-plugin-node/blob/v11.1.0/docs/rules/no-extraneous-require.md",
- },
- type: "problem",
- fixable: null,
- schema: [
- {
- type: "object",
- properties: {
- allowModules: getAllowModules.schema,
- convertPath: getConvertPath.schema,
- resolvePaths: getResolvePaths.schema,
- tryExtensions: getTryExtensions.schema,
- },
- additionalProperties: false,
- },
- ],
- },
- create(context) {
- const filePath = context.getFilename()
- if (filePath === "<input>") {
- return {}
- }
- return visitRequire(context, {}, targets => {
- checkExtraneous(context, filePath, targets)
- })
- },
- }
|