diff --git a/lib/utils/index.js b/lib/utils/index.js index f3f14cd8a..e47dc4acf 100644 --- a/lib/utils/index.js +++ b/lib/utils/index.js @@ -64,6 +64,7 @@ const VUE3_BUILTIN_COMPONENT_NAMES = new Set( require('./vue3-builtin-components') ) const VUE_BUILTIN_ELEMENT_NAMES = new Set(require('./vue-builtin-elements')) +const { createRequire } = require('module') const path = require('path') const vueEslintParser = require('vue-eslint-parser') const { traverseNodes, getFallbackKeys, NS } = vueEslintParser.AST @@ -2252,36 +2253,6 @@ function isIterable(v) { return v && Symbol.iterator in v } -// ------------------------------------------------------------------------------ -// Nodejs Helpers -// ------------------------------------------------------------------------------ -/** - * @param {String} filename - */ -function createRequire(filename) { - const Module = require('module') - const moduleCreateRequire = - // Added in v12.2.0 - Module.createRequire || - // Added in v10.12.0, but deprecated in v12.2.0. - Module.createRequireFromPath || - // Polyfill - This is not executed on the tests on node@>=10. - /** - * @param {string} filename - */ - function (filename) { - const mod = new Module(filename) - - mod.filename = filename - // @ts-ignore - mod.paths = Module._nodeModulePaths(path.dirname(filename)) - // @ts-ignore - mod._compile('module.exports = require;', filename) - return mod.exports - } - return moduleCreateRequire(filename) -} - // ------------------------------------------------------------------------------ // Rule Helpers // ------------------------------------------------------------------------------