@jsonic/multisource 0.11.0 → 0.12.0

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.
@@ -4,6 +4,7 @@ exports.makeMemResolver = exports.buildPotentials = void 0;
4
4
  const multisource_1 = require("../multisource");
5
5
  function makeMemResolver(filemap) {
6
6
  return function MemResolver(spec, popts, _rule, ctx) {
7
+ // TODO: support pathfinder as file.ts
7
8
  let ps = (0, multisource_1.resolvePathSpec)(popts, ctx, spec, makeresolvefolder(filemap));
8
9
  let src = undefined;
9
10
  if (null != ps.full) {
@@ -1 +1 @@
1
- {"version":3,"file":"mem.js","sourceRoot":"","sources":["../../src/resolver/mem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mem.js","sourceRoot":"","sources":["../../src/resolver/mem.ts"],"names":[],"mappings":"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"}
@@ -9,33 +9,48 @@ const path_1 = __importDefault(require("path"));
9
9
  const multisource_1 = require("../multisource");
10
10
  const mem_1 = require("./mem");
11
11
  function makePkgResolver(options) {
12
- const useRequire = options.require || require;
12
+ let useRequire = require;
13
+ let requireOptions = undefined;
14
+ if ('function' === typeof options.require) {
15
+ useRequire = options.require;
16
+ }
17
+ else if (Array.isArray(options.require)) {
18
+ requireOptions = {
19
+ paths: options.require
20
+ };
21
+ }
22
+ else if ('string' === typeof options.require) {
23
+ requireOptions = {
24
+ paths: [options.require]
25
+ };
26
+ }
13
27
  return function PkgResolver(spec, popts, _rule, ctx) {
28
+ // TODO: support pathfinder as file.ts
14
29
  let foundSpec = spec;
15
30
  let ps = (0, multisource_1.resolvePathSpec)(popts, ctx, foundSpec, resolvefolder);
16
31
  let src = undefined;
17
32
  let search = [];
18
33
  if (null != ps.path) {
19
34
  try {
20
- ps.full = useRequire.resolve(ps.path);
35
+ ps.full = useRequire.resolve(ps.path, requireOptions);
21
36
  if (null != ps.full) {
22
37
  src = load(ps.full);
23
38
  }
24
39
  }
25
40
  catch (me) {
26
- search.push(...(useRequire.resolve.paths(ps.path)
27
- .map((p) => path_1.default.join(p, ps.path))));
41
+ search.push(...((requireOptions === null || requireOptions === void 0 ? void 0 : requireOptions.paths) || (useRequire.resolve.paths(ps.path)
42
+ .map((p) => path_1.default.join(p, ps.path)))));
28
43
  let potentials = (0, mem_1.buildPotentials)(ps, popts, (...s) => path_1.default.resolve(s.reduce((a, p) => path_1.default.join(a, p))));
29
44
  for (let path of potentials) {
30
45
  try {
31
- ps.full = useRequire.resolve(path);
46
+ ps.full = useRequire.resolve(path, requireOptions);
32
47
  if (null != ps.full) {
33
48
  src = load(ps.full);
34
49
  }
35
50
  }
36
51
  catch (me) {
37
- search.push(...(useRequire.resolve.paths(path)
38
- .map((p) => path_1.default.join(p, path))));
52
+ search.push(...((requireOptions === null || requireOptions === void 0 ? void 0 : requireOptions.paths) || (useRequire.resolve.paths(path)
53
+ .map((p) => path_1.default.join(p, path)))));
39
54
  }
40
55
  }
41
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pkg.js","sourceRoot":"","sources":["../../src/resolver/pkg.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pkg.js","sourceRoot":"","sources":["../../src/resolver/pkg.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAmB;AACnB,gDAAuB;AAIvB,gDAMuB;AAGvB,+BAEc;AAGd,SAAS,eAAe,CAAC,OAAY;IACnC,IAAI,UAAU,GAAQ,OAAO,CAAA;IAC7B,IAAI,cAAc,GAAQ,SAAS,CAAA;IAEnC,IAAI,UAAU,KAAK,OAAO,OAAO,CAAC,OAAO,EAAE;QACzC,UAAU,GAAG,OAAO,CAAC,OAAO,CAAA;KAC7B;SACI,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QACvC,cAAc,GAAG;YACf,KAAK,EAAE,OAAO,CAAC,OAAO;SACvB,CAAA;KACF;SACI,IAAI,QAAQ,KAAK,OAAO,OAAO,CAAC,OAAO,EAAE;QAC5C,cAAc,GAAG;YACf,KAAK,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;SACzB,CAAA;KACF;IAED,OAAO,SAAS,WAAW,CACzB,IAAS,EACT,KAAyB,EACzB,KAAW,EACX,GAAY;QAEZ,sCAAsC;QAEtC,IAAI,SAAS,GAAG,IAAI,CAAA;QAEpB,IAAI,EAAE,GAAG,IAAA,6BAAe,EAAC,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,aAAa,CAAC,CAAA;QAC9D,IAAI,GAAG,GAAG,SAAS,CAAA;QACnB,IAAI,MAAM,GAAa,EAAE,CAAA;QAEzB,IAAI,IAAI,IAAI,EAAE,CAAC,IAAI,EAAE;YACnB,IAAI;gBACF,EAAE,CAAC,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,CAAC,CAAA;gBACrD,IAAI,IAAI,IAAI,EAAE,CAAC,IAAI,EAAE;oBACnB,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;iBACpB;aACF;YACD,OAAO,EAAO,EAAE;gBACd,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,KAAK,KAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC;qBACxE,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,cAAI,CAAC,IAAI,CAAC,CAAC,EAAG,EAAE,CAAC,IAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;gBAE3D,IAAI,UAAU,GACZ,IAAA,qBAAe,EAAC,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAClC,cAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,cAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;gBAEtD,KAAK,IAAI,IAAI,IAAI,UAAU,EAAE;oBAC3B,IAAI;wBACF,EAAE,CAAC,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,CAAA;wBAClD,IAAI,IAAI,IAAI,EAAE,CAAC,IAAI,EAAE;4BACnB,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;yBACpB;qBACF;oBACD,OAAO,EAAO,EAAE;wBACd,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,KAAK,KAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;6BACrE,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,cAAI,CAAC,IAAI,CAAC,CAAC,EAAG,IAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;qBACzD;iBACF;aACF;SACF;QAED,IAAI,GAAG,GAAe;YACpB,GAAG,EAAE;YACL,GAAG;YACH,KAAK,EAAE,IAAI,IAAI,GAAG;YAClB,MAAM;SACP,CAAA;QAED,OAAO,GAAG,CAAA;IACZ,CAAC,CAAA;AACH,CAAC;AAiCC,0CAAe;AA9BjB,SAAS,aAAa,CAAC,IAAY;IACjC,IAAI,QAAQ,KAAK,OAAO,IAAI,EAAE;QAC5B,OAAO,IAAI,CAAA;KACZ;IAED,IAAI,MAAM,GAAG,IAAI,CAAA;IACjB,IAAI,SAAS,GAAG,YAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IAEjC,IAAI,SAAS,CAAC,MAAM,EAAE,EAAE;QACtB,IAAI,QAAQ,GAAG,cAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC/B,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAA;KACtB;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAGD,qEAAqE;AACrE,SAAS,IAAI,CAAC,IAAY;IACxB,IAAI;QACF,OAAO,YAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAA;KACxC;IACD,OAAO,CAAC,EAAE;QACR,6DAA6D;QAC7D,mCAAmC;KACpC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jsonic/multisource",
3
- "version": "0.11.0",
3
+ "version": "0.12.0",
4
4
  "description": "",
5
5
  "main": "dist/multisource.js",
6
6
  "type": "commonjs",
@@ -20,6 +20,8 @@ function makeMemResolver(filemap: { [fullpath: string]: string }): Resolver {
20
20
  _rule: Rule,
21
21
  ctx: Context,
22
22
  ): Resolution {
23
+ // TODO: support pathfinder as file.ts
24
+
23
25
  let ps = resolvePathSpec(popts, ctx, spec, makeresolvefolder(filemap))
24
26
  let src = undefined
25
27
 
@@ -18,7 +18,22 @@ import {
18
18
 
19
19
 
20
20
  function makePkgResolver(options: any): Resolver {
21
- const useRequire = options.require || require
21
+ let useRequire: any = require
22
+ let requireOptions: any = undefined
23
+
24
+ if ('function' === typeof options.require) {
25
+ useRequire = options.require
26
+ }
27
+ else if (Array.isArray(options.require)) {
28
+ requireOptions = {
29
+ paths: options.require
30
+ }
31
+ }
32
+ else if ('string' === typeof options.require) {
33
+ requireOptions = {
34
+ paths: [options.require]
35
+ }
36
+ }
22
37
 
23
38
  return function PkgResolver(
24
39
  spec: any,
@@ -26,6 +41,8 @@ function makePkgResolver(options: any): Resolver {
26
41
  _rule: Rule,
27
42
  ctx: Context,
28
43
  ): Resolution {
44
+ // TODO: support pathfinder as file.ts
45
+
29
46
  let foundSpec = spec
30
47
 
31
48
  let ps = resolvePathSpec(popts, ctx, foundSpec, resolvefolder)
@@ -34,14 +51,14 @@ function makePkgResolver(options: any): Resolver {
34
51
 
35
52
  if (null != ps.path) {
36
53
  try {
37
- ps.full = useRequire.resolve(ps.path)
54
+ ps.full = useRequire.resolve(ps.path, requireOptions)
38
55
  if (null != ps.full) {
39
56
  src = load(ps.full)
40
57
  }
41
58
  }
42
59
  catch (me: any) {
43
- search.push(...(useRequire.resolve.paths(ps.path)
44
- .map((p: string) => Path.join(p, (ps.path as string)))))
60
+ search.push(...(requireOptions?.paths || (useRequire.resolve.paths(ps.path)
61
+ .map((p: string) => Path.join(p, (ps.path as string))))))
45
62
 
46
63
  let potentials =
47
64
  buildPotentials(ps, popts, (...s) =>
@@ -49,14 +66,14 @@ function makePkgResolver(options: any): Resolver {
49
66
 
50
67
  for (let path of potentials) {
51
68
  try {
52
- ps.full = useRequire.resolve(path)
69
+ ps.full = useRequire.resolve(path, requireOptions)
53
70
  if (null != ps.full) {
54
71
  src = load(ps.full)
55
72
  }
56
73
  }
57
74
  catch (me: any) {
58
- search.push(...(useRequire.resolve.paths(path)
59
- .map((p: string) => Path.join(p, (path as string)))))
75
+ search.push(...(requireOptions?.paths || (useRequire.resolve.paths(path)
76
+ .map((p: string) => Path.join(p, (path as string))))))
60
77
  }
61
78
  }
62
79
  }