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.
Files changed (2) hide show
  1. package/index.js +28 -11
  2. 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 url.fileURLToPath(this._url)
38
+ return urlToPath(this._url)
39
39
  }
40
40
 
41
41
  get dirname () {
42
- return path.dirname(url.fileURLToPath(this._url))
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 url.fileURLToPath(resolved)
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 = url.fileURLToPath(module._url)
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: url.fileURLToPath(resolved)
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
- module._exports = Bare.Addon.load(module._url).exports
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
- module._exports = Bare.Addon.load(module._url).exports
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
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bare-module",
3
- "version": "3.1.0",
3
+ "version": "3.1.2",
4
4
  "description": "Module support for JavaScript",
5
5
  "main": "index.js",
6
6
  "files": [