bare-module 3.1.0 → 3.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +28 -11
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -35,11 +35,11 @@ const Module = module.exports = exports = class Module {
|
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
get filename () {
|
|
38
|
-
return
|
|
38
|
+
return urlToPath(this._url)
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
get dirname () {
|
|
42
|
-
return
|
|
42
|
+
return urlToDirname(this._url)
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
get type () {
|
|
@@ -254,7 +254,7 @@ const Module = module.exports = exports = class Module {
|
|
|
254
254
|
function addon (specifier = '.') {
|
|
255
255
|
const resolved = Bare.Addon.resolve(specifier, referrer._url, { referrer })
|
|
256
256
|
|
|
257
|
-
const addon = Bare.Addon.load(resolved)
|
|
257
|
+
const addon = Bare.Addon.load(resolved, { referrer })
|
|
258
258
|
|
|
259
259
|
return addon._exports
|
|
260
260
|
}
|
|
@@ -473,14 +473,14 @@ exports.createRequire = function createRequire (parentURL, opts = {}) {
|
|
|
473
473
|
|
|
474
474
|
switch (resolved.protocol) {
|
|
475
475
|
case 'builtin:': return resolved.pathname
|
|
476
|
-
default: return
|
|
476
|
+
default: return urlToPath(resolved)
|
|
477
477
|
}
|
|
478
478
|
}
|
|
479
479
|
|
|
480
480
|
function addon (specifier = '.') {
|
|
481
481
|
const resolved = Bare.Addon.resolve(specifier, referrer._url, { referrer })
|
|
482
482
|
|
|
483
|
-
const addon = Bare.Addon.load(resolved)
|
|
483
|
+
const addon = Bare.Addon.load(resolved, { referrer })
|
|
484
484
|
|
|
485
485
|
return addon._exports
|
|
486
486
|
}
|
|
@@ -490,10 +490,11 @@ Module._extensions['.js'] = function (module, source, referrer) {
|
|
|
490
490
|
const self = Module
|
|
491
491
|
|
|
492
492
|
const protocol = module._protocol
|
|
493
|
+
const resolutions = module._resolutions
|
|
493
494
|
|
|
494
495
|
let pkg
|
|
495
496
|
|
|
496
|
-
for (const packageURL of resolve.lookupPackageScope(module._url)) {
|
|
497
|
+
for (const packageURL of resolve.lookupPackageScope(module._url, { resolutions })) {
|
|
497
498
|
if (self._cache[packageURL.href]) {
|
|
498
499
|
pkg = self._cache[packageURL.href]
|
|
499
500
|
break
|
|
@@ -543,7 +544,7 @@ Module._extensions['.cjs'] = function (module, source, referrer) {
|
|
|
543
544
|
|
|
544
545
|
module._exports = {}
|
|
545
546
|
|
|
546
|
-
const filename =
|
|
547
|
+
const filename = urlToPath(module._url)
|
|
547
548
|
|
|
548
549
|
binding.createFunction(module._url.href, ['require', 'module', 'exports', '__filename', '__dirname'], source, 0)(
|
|
549
550
|
require,
|
|
@@ -566,14 +567,14 @@ Module._extensions['.cjs'] = function (module, source, referrer) {
|
|
|
566
567
|
|
|
567
568
|
switch (resolved.protocol) {
|
|
568
569
|
case 'builtin:': return resolved.pathname
|
|
569
|
-
default:
|
|
570
|
+
default: urlToPath(resolved)
|
|
570
571
|
}
|
|
571
572
|
}
|
|
572
573
|
|
|
573
574
|
function addon (specifier = '.') {
|
|
574
575
|
const resolved = Bare.Addon.resolve(specifier, referrer._url, { referrer })
|
|
575
576
|
|
|
576
|
-
const addon = Bare.Addon.load(resolved)
|
|
577
|
+
const addon = Bare.Addon.load(resolved, { referrer })
|
|
577
578
|
|
|
578
579
|
return addon._exports
|
|
579
580
|
}
|
|
@@ -617,13 +618,17 @@ Module._extensions['.json'] = function (module, source, referrer) {
|
|
|
617
618
|
Module._extensions['.bare'] = function (module, source, referrer) {
|
|
618
619
|
module._type = constants.types.ADDON
|
|
619
620
|
|
|
620
|
-
|
|
621
|
+
referrer = module
|
|
622
|
+
|
|
623
|
+
module._exports = Bare.Addon.load(module._url, { referrer }).exports
|
|
621
624
|
}
|
|
622
625
|
|
|
623
626
|
Module._extensions['.node'] = function (module, source, referrer) {
|
|
624
627
|
module._type = constants.types.ADDON
|
|
625
628
|
|
|
626
|
-
|
|
629
|
+
referrer = module
|
|
630
|
+
|
|
631
|
+
module._exports = Bare.Addon.load(module._url, { referrer }).exports
|
|
627
632
|
}
|
|
628
633
|
|
|
629
634
|
Module._extensions['.bundle'] = function (module, source, referrer) {
|
|
@@ -681,3 +686,15 @@ Bare
|
|
|
681
686
|
|
|
682
687
|
binding.destroy(Module._handle)
|
|
683
688
|
})
|
|
689
|
+
|
|
690
|
+
function urlToPath (u) {
|
|
691
|
+
return u.protocol === 'file:'
|
|
692
|
+
? url.fileURLToPath(u)
|
|
693
|
+
: decodeURIComponent(u.pathname)
|
|
694
|
+
}
|
|
695
|
+
|
|
696
|
+
function urlToDirname (u) {
|
|
697
|
+
return u.protocol === 'file:'
|
|
698
|
+
? path.dirname(url.fileURLToPath(u))
|
|
699
|
+
: decodeURIComponent((new URL('.', u)).pathname).replace(/\/$/, '')
|
|
700
|
+
}
|