first commit
This commit is contained in:
commit
82292e9f65
585 changed files with 539345 additions and 0 deletions
49
node_modules/create-require/create-require.js
generated
vendored
Normal file
49
node_modules/create-require/create-require.js
generated
vendored
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
const nativeModule = require('module')
|
||||
const path = require('path')
|
||||
const fs = require('fs')
|
||||
|
||||
function createRequire (filename) {
|
||||
// Fallback to process.cwd() if no filename passed
|
||||
if (!filename) {
|
||||
filename = process.cwd()
|
||||
}
|
||||
|
||||
// If filename is dir, createRequire goes with parent directory, so we need fakepath
|
||||
if (isDir(filename)) {
|
||||
filename = path.join(filename, 'index.js')
|
||||
}
|
||||
|
||||
// Added in Node v12.2.0
|
||||
if (nativeModule.createRequire) {
|
||||
return nativeModule.createRequire(filename)
|
||||
}
|
||||
|
||||
// Added in Node v10.12.0 and deprecated since Node v12.2.0
|
||||
if (nativeModule.createRequireFromPath) {
|
||||
return nativeModule.createRequireFromPath(filename)
|
||||
}
|
||||
|
||||
// Polyfill
|
||||
return _createRequire(filename)
|
||||
}
|
||||
|
||||
// Polyfill
|
||||
function _createRequire (filename) {
|
||||
const mod = new nativeModule.Module(filename, null)
|
||||
mod.filename = filename
|
||||
mod.paths = nativeModule.Module._nodeModulePaths(path.dirname(filename))
|
||||
mod._compile('module.exports = require;', filename)
|
||||
return mod.exports
|
||||
}
|
||||
|
||||
function isDir (path) {
|
||||
try {
|
||||
const stat = fs.lstatSync(path)
|
||||
return stat.isDirectory()
|
||||
} catch (e) {
|
||||
// lstatSync throws an error if path doesn't exist
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = createRequire
|
||||
Loading…
Add table
Add a link
Reference in a new issue