@vxrn/resolve 1.25.5 → 1.25.6
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/dist/cjs/index.cjs +79 -0
- package/dist/cjs/index.native.js +84 -0
- package/dist/cjs/index.native.js.map +1 -0
- package/dist/cjs/index.test.cjs +52 -0
- package/dist/cjs/index.test.native.js +55 -0
- package/dist/cjs/index.test.native.js.map +1 -0
- package/dist/esm/index.js +43 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/index.mjs +43 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/esm/index.native.js +45 -0
- package/dist/esm/index.native.js.map +1 -0
- package/dist/esm/index.test.mjs +53 -0
- package/dist/esm/index.test.mjs.map +1 -0
- package/dist/esm/index.test.native.js +53 -0
- package/dist/esm/index.test.native.js.map +1 -0
- package/package.json +1 -1
- package/types/index.d.ts.map +1 -0
- package/types/index.test.d.ts.map +1 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: true
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
16
|
+
get: () => from[key],
|
|
17
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
22
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
23
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
24
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
25
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
26
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
27
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
28
|
+
value: mod,
|
|
29
|
+
enumerable: true
|
|
30
|
+
}) : target, mod));
|
|
31
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
32
|
+
value: true
|
|
33
|
+
}), mod);
|
|
34
|
+
var index_exports = {};
|
|
35
|
+
__export(index_exports, {
|
|
36
|
+
resolvePath: () => resolvePath
|
|
37
|
+
});
|
|
38
|
+
module.exports = __toCommonJS(index_exports);
|
|
39
|
+
var import_node_module = __toESM(require("node:module"), 1);
|
|
40
|
+
var import_node_path = require("node:path");
|
|
41
|
+
var import_node_fs = require("node:fs");
|
|
42
|
+
var import_node_url = require("node:url");
|
|
43
|
+
const resolvePath = (path, from = process.cwd()) => {
|
|
44
|
+
if (process.platform === "win32" && from.startsWith("/")) {
|
|
45
|
+
try {
|
|
46
|
+
from = (0, import_node_url.fileURLToPath)("file://" + from);
|
|
47
|
+
} catch {
|
|
48
|
+
from = from.slice(1);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
from = (0, import_node_path.resolve)(from);
|
|
52
|
+
const require2 = import_node_module.default.createRequire(from.endsWith("/") || from.endsWith("\\") ? from : from + "/");
|
|
53
|
+
const resolved = require2.resolve(path, {
|
|
54
|
+
paths: [from]
|
|
55
|
+
});
|
|
56
|
+
const isRelative = path.startsWith("./") || path.startsWith("../");
|
|
57
|
+
const isBuiltin = path.startsWith("node:");
|
|
58
|
+
if (isRelative || isBuiltin) {
|
|
59
|
+
return resolved;
|
|
60
|
+
}
|
|
61
|
+
try {
|
|
62
|
+
const pkgJsonPath = require2.resolve(`${path}/package.json`, {
|
|
63
|
+
paths: [from]
|
|
64
|
+
});
|
|
65
|
+
const pkgJson = JSON.parse((0, import_node_fs.readFileSync)(pkgJsonPath, "utf8"));
|
|
66
|
+
const pkgDir = (0, import_node_path.dirname)(pkgJsonPath);
|
|
67
|
+
const exportsImport = pkgJson.exports?.["."]?.import;
|
|
68
|
+
if (exportsImport) {
|
|
69
|
+
const importPath = typeof exportsImport === "string" ? exportsImport : exportsImport.default;
|
|
70
|
+
if (importPath) {
|
|
71
|
+
return (0, import_node_path.join)(pkgDir, importPath);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
if (pkgJson.module) {
|
|
75
|
+
return (0, import_node_path.join)(pkgDir, pkgJson.module);
|
|
76
|
+
}
|
|
77
|
+
} catch {}
|
|
78
|
+
return resolved;
|
|
79
|
+
};
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __create = Object.create;
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
8
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
|
+
var __export = (target, all) => {
|
|
10
|
+
for (var name in all) __defProp(target, name, {
|
|
11
|
+
get: all[name],
|
|
12
|
+
enumerable: true
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
var __copyProps = (to, from, except, desc) => {
|
|
16
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
17
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
18
|
+
get: () => from[key],
|
|
19
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
return to;
|
|
23
|
+
};
|
|
24
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
25
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
26
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
27
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
28
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
29
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
30
|
+
value: mod,
|
|
31
|
+
enumerable: true
|
|
32
|
+
}) : target, mod));
|
|
33
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
34
|
+
value: true
|
|
35
|
+
}), mod);
|
|
36
|
+
var index_exports = {};
|
|
37
|
+
__export(index_exports, {
|
|
38
|
+
resolvePath: () => resolvePath
|
|
39
|
+
});
|
|
40
|
+
module.exports = __toCommonJS(index_exports);
|
|
41
|
+
var import_module = __toESM(require("module"), 1);
|
|
42
|
+
var import_path = require("path");
|
|
43
|
+
var import_fs = require("fs");
|
|
44
|
+
var import_url = require("url");
|
|
45
|
+
var resolvePath = function (path) {
|
|
46
|
+
var from = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : process.cwd();
|
|
47
|
+
if (process.platform === "win32" && from.startsWith("/")) {
|
|
48
|
+
try {
|
|
49
|
+
from = (0, import_url.fileURLToPath)("file://" + from);
|
|
50
|
+
} catch (unused) {
|
|
51
|
+
from = from.slice(1);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
from = (0, import_path.resolve)(from);
|
|
55
|
+
var require2 = import_module.default.createRequire(from.endsWith("/") || from.endsWith("\\") ? from : from + "/");
|
|
56
|
+
var resolved = require2.resolve(path, {
|
|
57
|
+
paths: [from]
|
|
58
|
+
});
|
|
59
|
+
var isRelative = path.startsWith("./") || path.startsWith("../");
|
|
60
|
+
var isBuiltin = path.startsWith("node:");
|
|
61
|
+
if (isRelative || isBuiltin) {
|
|
62
|
+
return resolved;
|
|
63
|
+
}
|
|
64
|
+
try {
|
|
65
|
+
var _pkgJson_exports_, _pkgJson_exports;
|
|
66
|
+
var pkgJsonPath = require2.resolve(`${path}/package.json`, {
|
|
67
|
+
paths: [from]
|
|
68
|
+
});
|
|
69
|
+
var pkgJson = JSON.parse((0, import_fs.readFileSync)(pkgJsonPath, "utf8"));
|
|
70
|
+
var pkgDir = (0, import_path.dirname)(pkgJsonPath);
|
|
71
|
+
var exportsImport = (_pkgJson_exports = pkgJson.exports) === null || _pkgJson_exports === void 0 ? void 0 : (_pkgJson_exports_ = _pkgJson_exports["."]) === null || _pkgJson_exports_ === void 0 ? void 0 : _pkgJson_exports_.import;
|
|
72
|
+
if (exportsImport) {
|
|
73
|
+
var importPath = typeof exportsImport === "string" ? exportsImport : exportsImport.default;
|
|
74
|
+
if (importPath) {
|
|
75
|
+
return (0, import_path.join)(pkgDir, importPath);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
if (pkgJson.module) {
|
|
79
|
+
return (0, import_path.join)(pkgDir, pkgJson.module);
|
|
80
|
+
}
|
|
81
|
+
} catch (unused) {}
|
|
82
|
+
return resolved;
|
|
83
|
+
};
|
|
84
|
+
//# sourceMappingURL=index.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","index_exports","__export","resolvePath","module","exports","import_module","__toESM","require","import_path","import_fs","import_url","path","from","arguments","length","process","cwd","platform","startsWith","fileURLToPath","unused","slice","resolve","require2","default","createRequire","endsWith","resolved","paths","isRelative","isBuiltin","_pkgJson_exports_","_pkgJson_exports","pkgJsonPath","pkgJson","JSON","parse","readFileSync","pkgDir","dirname","exportsImport","import","importPath","join"],"sources":["../../src/index.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,aAAA;AAAAC,QAAA,CAAAD,aAAA;EAAAE,WAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAT,YAAmB,CAAAK,aAAA;AACnB,IAAAK,aAAA,GAAAC,OAAuC,CAAAC,OAAA;AACvC,IAAAC,WAAA,GAAAD,OAA6B;AAC7B,IAAAE,SAAA,GAAAF,OAA8B;AAMvB,IAAAG,UAAM,GAAAH,OAAe,MAAc;AACxC,IAAAL,WAAY,YAAAA,CAAaS,IAAA;EACvB,IAAAC,IAAI,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA,MAAAE,OAAA,CAAAC,GAAA;EACF,IAAAD,OAAA,CAAAE,QAAO,gBAAAL,IAAA,CAAAM,UAAc,OAAY;IACnC;MACEN,IAAA,GAAO,IAAAF,UAAY,CAAAS,aAAA,cAAAP,IAAA;IACrB,SAAAQ,MAAA;MACFR,IAAA,GAAAA,IAAA,CAAAS,KAAA;IACA;EACA;EAAuBT,IACrB,GAAK,IAAAJ,WAAY,CAAAc,OAAU,EAAAV,IAAA;EAC7B,IAAAW,QAAA,GAAAlB,aAAA,CAAAmB,OAAA,CAAAC,aAAA,CAAAb,IAAA,CAAAc,QAAA,SAAAd,IAAA,CAAAc,QAAA,SAAAd,IAAA,GAAAA,IAAA;EACA,IAAAe,QAAM,GAAAJ,QAAW,CAAAD,OAAQ,CAAAX,IAAQ;IAGjCiB,KAAM,GACNhB,IAAM;EAEJ;EACF,IAAAiB,UAAA,GAAAlB,IAAA,CAAAO,UAAA,UAAAP,IAAA,CAAAO,UAAA;EAGA,IAAIY,SAAA,GAAAnB,IAAA,CAAAO,UAAA;EACF,IAAAW,UAAM,IAAAC,SAAc;IACpB,OAAMH,QAAA;EACN;EAGA;IACA,IAAII,iBAAe,EAAAC,gBAAA;IAEjB,IAAAC,WAAM,GAAAV,QACJ,CAAAD,OAAO,IAAAX,IAAA,eAA6B;MACtCiB,KAAI,GACFhB,IAAA;IAEJ;IAGA,IAAIsB,OAAA,GAAQC,IAAA,CAAAC,KAAQ,KAAA3B,SAAA,CAAA4B,YAAA,EAAAJ,WAAA;IAClB,IAAAK,MAAA,GAAO,IAAA9B,WAAA,CAAA+B,OAAK,EAAAN,WAAQ;IACtB,IAAAO,aAAA,IAAAR,gBAAA,GAAAE,OAAA,CAAA9B,OAAA,cAAA4B,gBAAA,wBAAAD,iBAAA,GAAAC,gBAAA,mBAAAD,iBAAA,uBAAAA,iBAAA,CAAAU,MAAA;IACF,IAAAD,aAAQ;MAER,IAAAE,UAAA,UAAAF,aAAA,gBAAAA,aAAA,GAAAA,aAAA,CAAAhB,OAAA;MAEA,IAAOkB,UAAA;QACT,WAAAlC,WAAA,CAAAmC,IAAA,EAAAL,MAAA,EAAAI,UAAA","ignoreList":[]}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
var import_vitest = require("vitest");
|
|
2
|
+
var import_index = require("./index.cjs");
|
|
3
|
+
var import_node_fs = require("node:fs");
|
|
4
|
+
var import_node_path = require("node:path");
|
|
5
|
+
(0, import_vitest.describe)("resolvePath", () => {
|
|
6
|
+
(0, import_vitest.describe)("basic resolution", () => {
|
|
7
|
+
(0, import_vitest.it)("resolves node builtins", () => {
|
|
8
|
+
(0, import_vitest.expect)((0, import_index.resolvePath)("node:path")).toBe("node:path");
|
|
9
|
+
(0, import_vitest.expect)((0, import_index.resolvePath)("node:fs")).toBe("node:fs");
|
|
10
|
+
});
|
|
11
|
+
(0, import_vitest.it)("resolves npm packages", () => {
|
|
12
|
+
const path = (0, import_index.resolvePath)("vitest");
|
|
13
|
+
(0, import_vitest.expect)(path).toBeTruthy();
|
|
14
|
+
(0, import_vitest.expect)((0, import_node_fs.existsSync)(path)).toBe(true);
|
|
15
|
+
});
|
|
16
|
+
(0, import_vitest.it)("resolves relative paths from cwd", () => {
|
|
17
|
+
const path = (0, import_index.resolvePath)("./package.json");
|
|
18
|
+
(0, import_vitest.expect)(path).toContain("package.json");
|
|
19
|
+
(0, import_vitest.expect)((0, import_node_fs.existsSync)(path)).toBe(true);
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
(0, import_vitest.describe)("respects from parameter", () => {
|
|
23
|
+
(0, import_vitest.it)("resolves relative paths from specified directory", () => {
|
|
24
|
+
const path = (0, import_index.resolvePath)("./package.json", process.cwd());
|
|
25
|
+
(0, import_vitest.expect)(path).toBe((0, import_node_path.join)(process.cwd(), "package.json"));
|
|
26
|
+
(0, import_vitest.expect)((0, import_node_fs.existsSync)(path)).toBe(true);
|
|
27
|
+
});
|
|
28
|
+
(0, import_vitest.it)("resolves npm packages from specified directory", () => {
|
|
29
|
+
const path = (0, import_index.resolvePath)("vitest", process.cwd());
|
|
30
|
+
(0, import_vitest.expect)(path).toContain("vitest");
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
(0, import_vitest.describe)("ESM entry point detection", () => {
|
|
34
|
+
(0, import_vitest.it)('returns ESM entry when exports["."].import is a string', () => {
|
|
35
|
+
const path = (0, import_index.resolvePath)("@vxrn/resolve", process.cwd());
|
|
36
|
+
(0, import_vitest.expect)(path).toBeTruthy();
|
|
37
|
+
});
|
|
38
|
+
(0, import_vitest.it)('returns ESM entry when exports["."].import.default exists', () => {
|
|
39
|
+
const path = (0, import_index.resolvePath)("vitest", process.cwd());
|
|
40
|
+
(0, import_vitest.expect)(path).toContain((0, import_node_path.join)("dist", "index.js"));
|
|
41
|
+
(0, import_vitest.expect)(path).not.toContain(".cjs");
|
|
42
|
+
});
|
|
43
|
+
(0, import_vitest.it)("falls back to module field when exports not available", () => {
|
|
44
|
+
const path = (0, import_index.resolvePath)("vitest", process.cwd());
|
|
45
|
+
(0, import_vitest.expect)(path).toBeTruthy();
|
|
46
|
+
});
|
|
47
|
+
(0, import_vitest.it)("falls back to main/require.resolve when no ESM entry", () => {
|
|
48
|
+
const path = (0, import_index.resolvePath)("resolve", process.cwd());
|
|
49
|
+
(0, import_vitest.expect)(path).toContain("resolve");
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
});
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var import_vitest = require("vitest");
|
|
4
|
+
var import_index = require("./index.native.js");
|
|
5
|
+
var import_fs = require("fs");
|
|
6
|
+
var import_path = require("path");
|
|
7
|
+
(0, import_vitest.describe)("resolvePath", function () {
|
|
8
|
+
(0, import_vitest.describe)("basic resolution", function () {
|
|
9
|
+
(0, import_vitest.it)("resolves node builtins", function () {
|
|
10
|
+
(0, import_vitest.expect)((0, import_index.resolvePath)("node:path")).toBe("node:path");
|
|
11
|
+
(0, import_vitest.expect)((0, import_index.resolvePath)("node:fs")).toBe("node:fs");
|
|
12
|
+
});
|
|
13
|
+
(0, import_vitest.it)("resolves npm packages", function () {
|
|
14
|
+
var path = (0, import_index.resolvePath)("vitest");
|
|
15
|
+
(0, import_vitest.expect)(path).toBeTruthy();
|
|
16
|
+
(0, import_vitest.expect)((0, import_fs.existsSync)(path)).toBe(true);
|
|
17
|
+
});
|
|
18
|
+
(0, import_vitest.it)("resolves relative paths from cwd", function () {
|
|
19
|
+
var path = (0, import_index.resolvePath)("./package.json");
|
|
20
|
+
(0, import_vitest.expect)(path).toContain("package.json");
|
|
21
|
+
(0, import_vitest.expect)((0, import_fs.existsSync)(path)).toBe(true);
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
(0, import_vitest.describe)("respects from parameter", function () {
|
|
25
|
+
(0, import_vitest.it)("resolves relative paths from specified directory", function () {
|
|
26
|
+
var path = (0, import_index.resolvePath)("./package.json", process.cwd());
|
|
27
|
+
(0, import_vitest.expect)(path).toBe((0, import_path.join)(process.cwd(), "package.json"));
|
|
28
|
+
(0, import_vitest.expect)((0, import_fs.existsSync)(path)).toBe(true);
|
|
29
|
+
});
|
|
30
|
+
(0, import_vitest.it)("resolves npm packages from specified directory", function () {
|
|
31
|
+
var path = (0, import_index.resolvePath)("vitest", process.cwd());
|
|
32
|
+
(0, import_vitest.expect)(path).toContain("vitest");
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
(0, import_vitest.describe)("ESM entry point detection", function () {
|
|
36
|
+
(0, import_vitest.it)('returns ESM entry when exports["."].import is a string', function () {
|
|
37
|
+
var path = (0, import_index.resolvePath)("@vxrn/resolve", process.cwd());
|
|
38
|
+
(0, import_vitest.expect)(path).toBeTruthy();
|
|
39
|
+
});
|
|
40
|
+
(0, import_vitest.it)('returns ESM entry when exports["."].import.default exists', function () {
|
|
41
|
+
var path = (0, import_index.resolvePath)("vitest", process.cwd());
|
|
42
|
+
(0, import_vitest.expect)(path).toContain((0, import_path.join)("dist", "index.js"));
|
|
43
|
+
(0, import_vitest.expect)(path).not.toContain(".cjs");
|
|
44
|
+
});
|
|
45
|
+
(0, import_vitest.it)("falls back to module field when exports not available", function () {
|
|
46
|
+
var path = (0, import_index.resolvePath)("vitest", process.cwd());
|
|
47
|
+
(0, import_vitest.expect)(path).toBeTruthy();
|
|
48
|
+
});
|
|
49
|
+
(0, import_vitest.it)("falls back to main/require.resolve when no ESM entry", function () {
|
|
50
|
+
var path = (0, import_index.resolvePath)("resolve", process.cwd());
|
|
51
|
+
(0, import_vitest.expect)(path).toContain("resolve");
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
//# sourceMappingURL=index.test.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["import_vitest","require","import_index","import_fs","import_path","describe","it","expect","resolvePath","toBe","path","toBeTruthy","existsSync","toContain","process","cwd","join","not"],"sources":["../../src/index.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import module from "node:module";
|
|
2
|
+
import { dirname, join, resolve } from "node:path";
|
|
3
|
+
import { readFileSync } from "node:fs";
|
|
4
|
+
import { fileURLToPath } from "node:url";
|
|
5
|
+
const resolvePath = (path, from = process.cwd()) => {
|
|
6
|
+
if (process.platform === "win32" && from.startsWith("/")) {
|
|
7
|
+
try {
|
|
8
|
+
from = fileURLToPath("file://" + from);
|
|
9
|
+
} catch {
|
|
10
|
+
from = from.slice(1);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
from = resolve(from);
|
|
14
|
+
const require2 = module.createRequire(from.endsWith("/") || from.endsWith("\\") ? from : from + "/");
|
|
15
|
+
const resolved = require2.resolve(path, {
|
|
16
|
+
paths: [from]
|
|
17
|
+
});
|
|
18
|
+
const isRelative = path.startsWith("./") || path.startsWith("../");
|
|
19
|
+
const isBuiltin = path.startsWith("node:");
|
|
20
|
+
if (isRelative || isBuiltin) {
|
|
21
|
+
return resolved;
|
|
22
|
+
}
|
|
23
|
+
try {
|
|
24
|
+
const pkgJsonPath = require2.resolve(`${path}/package.json`, {
|
|
25
|
+
paths: [from]
|
|
26
|
+
});
|
|
27
|
+
const pkgJson = JSON.parse(readFileSync(pkgJsonPath, "utf8"));
|
|
28
|
+
const pkgDir = dirname(pkgJsonPath);
|
|
29
|
+
const exportsImport = pkgJson.exports?.["."]?.import;
|
|
30
|
+
if (exportsImport) {
|
|
31
|
+
const importPath = typeof exportsImport === "string" ? exportsImport : exportsImport.default;
|
|
32
|
+
if (importPath) {
|
|
33
|
+
return join(pkgDir, importPath);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
if (pkgJson.module) {
|
|
37
|
+
return join(pkgDir, pkgJson.module);
|
|
38
|
+
}
|
|
39
|
+
} catch {}
|
|
40
|
+
return resolved;
|
|
41
|
+
};
|
|
42
|
+
export { resolvePath };
|
|
43
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["module","dirname","join","resolve","readFileSync","fileURLToPath","resolvePath","path","from","process","cwd","platform","startsWith","slice","require","createRequire","endsWith","resolved","paths","isRelative","isBuiltin","pkgJsonPath","pkgJson","JSON","parse","pkgDir","exportsImport","exports","import","importPath","default"],"sources":["../../src/index.tsx"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,MAAA,MAAY;AACnB,SAASC,OAAA,EAASC,IAAA,EAAMC,OAAA,QAAe;AACvC,SAASC,YAAA,QAAoB;AAC7B,SAASC,aAAA,QAAqB;AAMvB,MAAMC,WAAA,GAAcA,CAACC,IAAA,EAAcC,IAAA,GAAOC,OAAA,CAAQC,GAAA,CAAI,MAAc;EACzE,IAAID,OAAA,CAAQE,QAAA,KAAa,WAAWH,IAAA,CAAKI,UAAA,CAAW,GAAG,GAAG;IACxD,IAAI;MACFJ,IAAA,GAAOH,aAAA,CAAc,YAAYG,IAAI;IACvC,QAAQ;MACNA,IAAA,GAAOA,IAAA,CAAKK,KAAA,CAAM,CAAC;IACrB;EACF;EACAL,IAAA,GAAOL,OAAA,CAAQK,IAAI;EACnB,MAAMM,QAAA,GAAUd,MAAA,CAAOe,aAAA,CACrBP,IAAA,CAAKQ,QAAA,CAAS,GAAG,KAAKR,IAAA,CAAKQ,QAAA,CAAS,IAAI,IAAIR,IAAA,GAAOA,IAAA,GAAO,GAC5D;EACA,MAAMS,QAAA,GAAWH,QAAA,CAAQX,OAAA,CAAQI,IAAA,EAAM;IAAEW,KAAA,EAAO,CAACV,IAAI;EAAE,CAAC;EAGxD,MAAMW,UAAA,GAAaZ,IAAA,CAAKK,UAAA,CAAW,IAAI,KAAKL,IAAA,CAAKK,UAAA,CAAW,KAAK;EACjE,MAAMQ,SAAA,GAAYb,IAAA,CAAKK,UAAA,CAAW,OAAO;EACzC,IAAIO,UAAA,IAAcC,SAAA,EAAW;IAC3B,OAAOH,QAAA;EACT;EAGA,IAAI;IACF,MAAMI,WAAA,GAAcP,QAAA,CAAQX,OAAA,CAAQ,GAAGI,IAAI,iBAAiB;MAAEW,KAAA,EAAO,CAACV,IAAI;IAAE,CAAC;IAC7E,MAAMc,OAAA,GAAUC,IAAA,CAAKC,KAAA,CAAMpB,YAAA,CAAaiB,WAAA,EAAa,MAAM,CAAC;IAC5D,MAAMI,MAAA,GAASxB,OAAA,CAAQoB,WAAW;IAGlC,MAAMK,aAAA,GAAgBJ,OAAA,CAAQK,OAAA,GAAU,GAAG,GAAGC,MAAA;IAC9C,IAAIF,aAAA,EAAe;MAEjB,MAAMG,UAAA,GACJ,OAAOH,aAAA,KAAkB,WAAWA,aAAA,GAAgBA,aAAA,CAAcI,OAAA;MACpE,IAAID,UAAA,EAAY;QACd,OAAO3B,IAAA,CAAKuB,MAAA,EAAQI,UAAU;MAChC;IACF;IAGA,IAAIP,OAAA,CAAQtB,MAAA,EAAQ;MAClB,OAAOE,IAAA,CAAKuB,MAAA,EAAQH,OAAA,CAAQtB,MAAM;IACpC;EACF,QAAQ,CAER;EAEA,OAAOiB,QAAA;AACT","ignoreList":[]}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import module from "node:module";
|
|
2
|
+
import { dirname, join, resolve } from "node:path";
|
|
3
|
+
import { readFileSync } from "node:fs";
|
|
4
|
+
import { fileURLToPath } from "node:url";
|
|
5
|
+
const resolvePath = (path, from = process.cwd()) => {
|
|
6
|
+
if (process.platform === "win32" && from.startsWith("/")) {
|
|
7
|
+
try {
|
|
8
|
+
from = fileURLToPath("file://" + from);
|
|
9
|
+
} catch {
|
|
10
|
+
from = from.slice(1);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
from = resolve(from);
|
|
14
|
+
const require2 = module.createRequire(from.endsWith("/") || from.endsWith("\\") ? from : from + "/");
|
|
15
|
+
const resolved = require2.resolve(path, {
|
|
16
|
+
paths: [from]
|
|
17
|
+
});
|
|
18
|
+
const isRelative = path.startsWith("./") || path.startsWith("../");
|
|
19
|
+
const isBuiltin = path.startsWith("node:");
|
|
20
|
+
if (isRelative || isBuiltin) {
|
|
21
|
+
return resolved;
|
|
22
|
+
}
|
|
23
|
+
try {
|
|
24
|
+
const pkgJsonPath = require2.resolve(`${path}/package.json`, {
|
|
25
|
+
paths: [from]
|
|
26
|
+
});
|
|
27
|
+
const pkgJson = JSON.parse(readFileSync(pkgJsonPath, "utf8"));
|
|
28
|
+
const pkgDir = dirname(pkgJsonPath);
|
|
29
|
+
const exportsImport = pkgJson.exports?.["."]?.import;
|
|
30
|
+
if (exportsImport) {
|
|
31
|
+
const importPath = typeof exportsImport === "string" ? exportsImport : exportsImport.default;
|
|
32
|
+
if (importPath) {
|
|
33
|
+
return join(pkgDir, importPath);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
if (pkgJson.module) {
|
|
37
|
+
return join(pkgDir, pkgJson.module);
|
|
38
|
+
}
|
|
39
|
+
} catch {}
|
|
40
|
+
return resolved;
|
|
41
|
+
};
|
|
42
|
+
export { resolvePath };
|
|
43
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["module","dirname","join","resolve","readFileSync","fileURLToPath","resolvePath","path","from","process","cwd","platform","startsWith","slice","require","createRequire","endsWith","resolved","paths","isRelative","isBuiltin","pkgJsonPath","pkgJson","JSON","parse","pkgDir","exportsImport","exports","import","importPath","default"],"sources":["../../src/index.tsx"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,MAAA,MAAY;AACnB,SAASC,OAAA,EAASC,IAAA,EAAMC,OAAA,QAAe;AACvC,SAASC,YAAA,QAAoB;AAC7B,SAASC,aAAA,QAAqB;AAMvB,MAAMC,WAAA,GAAcA,CAACC,IAAA,EAAcC,IAAA,GAAOC,OAAA,CAAQC,GAAA,CAAI,MAAc;EACzE,IAAID,OAAA,CAAQE,QAAA,KAAa,WAAWH,IAAA,CAAKI,UAAA,CAAW,GAAG,GAAG;IACxD,IAAI;MACFJ,IAAA,GAAOH,aAAA,CAAc,YAAYG,IAAI;IACvC,QAAQ;MACNA,IAAA,GAAOA,IAAA,CAAKK,KAAA,CAAM,CAAC;IACrB;EACF;EACAL,IAAA,GAAOL,OAAA,CAAQK,IAAI;EACnB,MAAMM,QAAA,GAAUd,MAAA,CAAOe,aAAA,CACrBP,IAAA,CAAKQ,QAAA,CAAS,GAAG,KAAKR,IAAA,CAAKQ,QAAA,CAAS,IAAI,IAAIR,IAAA,GAAOA,IAAA,GAAO,GAC5D;EACA,MAAMS,QAAA,GAAWH,QAAA,CAAQX,OAAA,CAAQI,IAAA,EAAM;IAAEW,KAAA,EAAO,CAACV,IAAI;EAAE,CAAC;EAGxD,MAAMW,UAAA,GAAaZ,IAAA,CAAKK,UAAA,CAAW,IAAI,KAAKL,IAAA,CAAKK,UAAA,CAAW,KAAK;EACjE,MAAMQ,SAAA,GAAYb,IAAA,CAAKK,UAAA,CAAW,OAAO;EACzC,IAAIO,UAAA,IAAcC,SAAA,EAAW;IAC3B,OAAOH,QAAA;EACT;EAGA,IAAI;IACF,MAAMI,WAAA,GAAcP,QAAA,CAAQX,OAAA,CAAQ,GAAGI,IAAI,iBAAiB;MAAEW,KAAA,EAAO,CAACV,IAAI;IAAE,CAAC;IAC7E,MAAMc,OAAA,GAAUC,IAAA,CAAKC,KAAA,CAAMpB,YAAA,CAAaiB,WAAA,EAAa,MAAM,CAAC;IAC5D,MAAMI,MAAA,GAASxB,OAAA,CAAQoB,WAAW;IAGlC,MAAMK,aAAA,GAAgBJ,OAAA,CAAQK,OAAA,GAAU,GAAG,GAAGC,MAAA;IAC9C,IAAIF,aAAA,EAAe;MAEjB,MAAMG,UAAA,GACJ,OAAOH,aAAA,KAAkB,WAAWA,aAAA,GAAgBA,aAAA,CAAcI,OAAA;MACpE,IAAID,UAAA,EAAY;QACd,OAAO3B,IAAA,CAAKuB,MAAA,EAAQI,UAAU;MAChC;IACF;IAGA,IAAIP,OAAA,CAAQtB,MAAA,EAAQ;MAClB,OAAOE,IAAA,CAAKuB,MAAA,EAAQH,OAAA,CAAQtB,MAAM;IACpC;EACF,QAAQ,CAER;EAEA,OAAOiB,QAAA;AACT","ignoreList":[]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import module from "module";
|
|
2
|
+
import { dirname, join, resolve } from "path";
|
|
3
|
+
import { readFileSync } from "fs";
|
|
4
|
+
import { fileURLToPath } from "url";
|
|
5
|
+
var resolvePath = function (path) {
|
|
6
|
+
var from = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : process.cwd();
|
|
7
|
+
if (process.platform === "win32" && from.startsWith("/")) {
|
|
8
|
+
try {
|
|
9
|
+
from = fileURLToPath("file://" + from);
|
|
10
|
+
} catch (unused) {
|
|
11
|
+
from = from.slice(1);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
from = resolve(from);
|
|
15
|
+
var require2 = module.createRequire(from.endsWith("/") || from.endsWith("\\") ? from : from + "/");
|
|
16
|
+
var resolved = require2.resolve(path, {
|
|
17
|
+
paths: [from]
|
|
18
|
+
});
|
|
19
|
+
var isRelative = path.startsWith("./") || path.startsWith("../");
|
|
20
|
+
var isBuiltin = path.startsWith("node:");
|
|
21
|
+
if (isRelative || isBuiltin) {
|
|
22
|
+
return resolved;
|
|
23
|
+
}
|
|
24
|
+
try {
|
|
25
|
+
var _pkgJson_exports_, _pkgJson_exports;
|
|
26
|
+
var pkgJsonPath = require2.resolve(`${path}/package.json`, {
|
|
27
|
+
paths: [from]
|
|
28
|
+
});
|
|
29
|
+
var pkgJson = JSON.parse(readFileSync(pkgJsonPath, "utf8"));
|
|
30
|
+
var pkgDir = dirname(pkgJsonPath);
|
|
31
|
+
var exportsImport = (_pkgJson_exports = pkgJson.exports) === null || _pkgJson_exports === void 0 ? void 0 : (_pkgJson_exports_ = _pkgJson_exports["."]) === null || _pkgJson_exports_ === void 0 ? void 0 : _pkgJson_exports_.import;
|
|
32
|
+
if (exportsImport) {
|
|
33
|
+
var importPath = typeof exportsImport === "string" ? exportsImport : exportsImport.default;
|
|
34
|
+
if (importPath) {
|
|
35
|
+
return join(pkgDir, importPath);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
if (pkgJson.module) {
|
|
39
|
+
return join(pkgDir, pkgJson.module);
|
|
40
|
+
}
|
|
41
|
+
} catch (unused) {}
|
|
42
|
+
return resolved;
|
|
43
|
+
};
|
|
44
|
+
export { resolvePath };
|
|
45
|
+
//# sourceMappingURL=index.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["module","dirname","join","resolve","readFileSync","fileURLToPath","resolvePath","path","from","arguments","length","process","cwd","platform","startsWith","unused","slice","require2","createRequire","endsWith","resolved","paths","isRelative","isBuiltin","_pkgJson_exports_","_pkgJson_exports","pkgJsonPath","pkgJson","JSON","parse","pkgDir","exportsImport","exports","import","importPath","default"],"sources":["../../src/index.tsx"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,MAAA,MAAY;AACnB,SAASC,OAAA,EAASC,IAAA,EAAMC,OAAA,QAAe;AACvC,SAASC,YAAA,QAAoB;AAC7B,SAASC,aAAA,QAAqB;AAMvB,IAAAC,WAAM,YAAAA,CAA6BC,IAAA;EACxC,IAAIC,IAAA,GAAAC,SAAQ,CAAAC,MAAa,QAAAD,SAAgB,QAAW,KAAG,CAAG,GAAAA,SAAA,MAAAE,OAAA,CAAAC,GAAA;EACxD,IAAAD,OAAI,CAAAE,QAAA,gBAAAL,IAAA,CAAAM,UAAA;IACF;MACFN,IAAA,GAAQH,aAAA,aAAAG,IAAA;IACN,SAAOO,MAAK;MACdP,IAAA,GAAAA,IAAA,CAAAQ,KAAA;IACF;EACA;EACAR,IAAA,GAAML,OAAA,CAAAK,IAAU;EAAO,IACrBS,QAAK,GAAAjB,MAAY,CAAAkB,aAAU,CAAAV,IAAS,CAAAW,QAAQ,IAAO,KAAAX,IAAO,CAAAW,QAAA,SAAAX,IAAA,GAAAA,IAAA;EAC5D,IAAAY,QAAA,GAAAH,QAAA,CAAAd,OAAA,CAAAI,IAAA;IACAc,KAAM,GAGNb,IAAM;EAEN;EACE,IAAAc,UAAO,GAAAf,IAAA,CAAAO,UAAA,UAAAP,IAAA,CAAAO,UAAA;EACT,IAAAS,SAAA,GAAAhB,IAAA,CAAAO,UAAA;EAGA,IAAIQ,UAAA,IAAAC,SAAA;IACF,OAAMH,QAAA;EACN;EACA;IAGA,IAAAI,iBAAM,EAAgBC,gBAAQ;IAC9B,IAAIC,WAAA,GAAAT,QAAe,CAAAd,OAAA,IAAAI,IAAA;MAEjBc,KAAA,EAAM,CAENb,IAAI;IAC4B,EAChC;IACF,IAAAmB,OAAA,GAAAC,IAAA,CAAAC,KAAA,CAAAzB,YAAA,CAAAsB,WAAA;IAGA,IAAII,MAAA,GAAQ7B,OAAQ,CAAAyB,WAAA;IAClB,IAAAK,aAAY,IAAAN,gBAAsB,GAAAE,OAAA,CAAAK,OAAA,cAAAP,gBAAA,wBAAAD,iBAAA,GAAAC,gBAAA,mBAAAD,iBAAA,uBAAAA,iBAAA,CAAAS,MAAA;IACpC,IAAAF,aAAA;MACF,IAAQG,UAAA,UAAAH,aAAA,gBAAAA,aAAA,GAAAA,aAAA,CAAAI,OAAA;MAER,IAAAD,UAAA;QAEA,OAAOhC,IAAA,CAAA4B,MAAA,EAAAI,UAAA;MACT","ignoreList":[]}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import { resolvePath } from "./index.mjs";
|
|
3
|
+
import { existsSync } from "node:fs";
|
|
4
|
+
import { join } from "node:path";
|
|
5
|
+
describe("resolvePath", () => {
|
|
6
|
+
describe("basic resolution", () => {
|
|
7
|
+
it("resolves node builtins", () => {
|
|
8
|
+
expect(resolvePath("node:path")).toBe("node:path");
|
|
9
|
+
expect(resolvePath("node:fs")).toBe("node:fs");
|
|
10
|
+
});
|
|
11
|
+
it("resolves npm packages", () => {
|
|
12
|
+
const path = resolvePath("vitest");
|
|
13
|
+
expect(path).toBeTruthy();
|
|
14
|
+
expect(existsSync(path)).toBe(true);
|
|
15
|
+
});
|
|
16
|
+
it("resolves relative paths from cwd", () => {
|
|
17
|
+
const path = resolvePath("./package.json");
|
|
18
|
+
expect(path).toContain("package.json");
|
|
19
|
+
expect(existsSync(path)).toBe(true);
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
describe("respects from parameter", () => {
|
|
23
|
+
it("resolves relative paths from specified directory", () => {
|
|
24
|
+
const path = resolvePath("./package.json", process.cwd());
|
|
25
|
+
expect(path).toBe(join(process.cwd(), "package.json"));
|
|
26
|
+
expect(existsSync(path)).toBe(true);
|
|
27
|
+
});
|
|
28
|
+
it("resolves npm packages from specified directory", () => {
|
|
29
|
+
const path = resolvePath("vitest", process.cwd());
|
|
30
|
+
expect(path).toContain("vitest");
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
describe("ESM entry point detection", () => {
|
|
34
|
+
it('returns ESM entry when exports["."].import is a string', () => {
|
|
35
|
+
const path = resolvePath("@vxrn/resolve", process.cwd());
|
|
36
|
+
expect(path).toBeTruthy();
|
|
37
|
+
});
|
|
38
|
+
it('returns ESM entry when exports["."].import.default exists', () => {
|
|
39
|
+
const path = resolvePath("vitest", process.cwd());
|
|
40
|
+
expect(path).toContain(join("dist", "index.js"));
|
|
41
|
+
expect(path).not.toContain(".cjs");
|
|
42
|
+
});
|
|
43
|
+
it("falls back to module field when exports not available", () => {
|
|
44
|
+
const path = resolvePath("vitest", process.cwd());
|
|
45
|
+
expect(path).toBeTruthy();
|
|
46
|
+
});
|
|
47
|
+
it("falls back to main/require.resolve when no ESM entry", () => {
|
|
48
|
+
const path = resolvePath("resolve", process.cwd());
|
|
49
|
+
expect(path).toContain("resolve");
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
//# sourceMappingURL=index.test.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["describe","expect","it","resolvePath","existsSync","join","toBe","path","toBeTruthy","toContain","process","cwd","not"],"sources":["../../src/index.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,EAAUC,MAAA,EAAQC,EAAA,QAAU;AACrC,SAASC,WAAA,QAAmB;AAC5B,SAASC,UAAA,QAAkB;AAC3B,SAASC,IAAA,QAAY;AAErBL,QAAA,CAAS,eAAe,MAAM;EAC5BA,QAAA,CAAS,oBAAoB,MAAM;IACjCE,EAAA,CAAG,0BAA0B,MAAM;MACjCD,MAAA,CAAOE,WAAA,CAAY,WAAW,CAAC,EAAEG,IAAA,CAAK,WAAW;MACjDL,MAAA,CAAOE,WAAA,CAAY,SAAS,CAAC,EAAEG,IAAA,CAAK,SAAS;IAC/C,CAAC;IAEDJ,EAAA,CAAG,yBAAyB,MAAM;MAChC,MAAMK,IAAA,GAAOJ,WAAA,CAAY,QAAQ;MACjCF,MAAA,CAAOM,IAAI,EAAEC,UAAA,CAAW;MACxBP,MAAA,CAAOG,UAAA,CAAWG,IAAI,CAAC,EAAED,IAAA,CAAK,IAAI;IACpC,CAAC;IAEDJ,EAAA,CAAG,oCAAoC,MAAM;MAC3C,MAAMK,IAAA,GAAOJ,WAAA,CAAY,gBAAgB;MACzCF,MAAA,CAAOM,IAAI,EAAEE,SAAA,CAAU,cAAc;MACrCR,MAAA,CAAOG,UAAA,CAAWG,IAAI,CAAC,EAAED,IAAA,CAAK,IAAI;IACpC,CAAC;EACH,CAAC;EAEDN,QAAA,CAAS,2BAA2B,MAAM;IACxCE,EAAA,CAAG,oDAAoD,MAAM;MAC3D,MAAMK,IAAA,GAAOJ,WAAA,CAAY,kBAAkBO,OAAA,CAAQC,GAAA,CAAI,CAAC;MACxDV,MAAA,CAAOM,IAAI,EAAED,IAAA,CAAKD,IAAA,CAAKK,OAAA,CAAQC,GAAA,CAAI,GAAG,cAAc,CAAC;MACrDV,MAAA,CAAOG,UAAA,CAAWG,IAAI,CAAC,EAAED,IAAA,CAAK,IAAI;IACpC,CAAC;IAEDJ,EAAA,CAAG,kDAAkD,MAAM;MACzD,MAAMK,IAAA,GAAOJ,WAAA,CAAY,UAAUO,OAAA,CAAQC,GAAA,CAAI,CAAC;MAChDV,MAAA,CAAOM,IAAI,EAAEE,SAAA,CAAU,QAAQ;IACjC,CAAC;EACH,CAAC;EAEDT,QAAA,CAAS,6BAA6B,MAAM;IAC1CE,EAAA,CAAG,0DAA0D,MAAM;MAEjE,MAAMK,IAAA,GAAOJ,WAAA,CAAY,iBAAiBO,OAAA,CAAQC,GAAA,CAAI,CAAC;MAEvDV,MAAA,CAAOM,IAAI,EAAEC,UAAA,CAAW;IAC1B,CAAC;IAEDN,EAAA,CAAG,6DAA6D,MAAM;MAEpE,MAAMK,IAAA,GAAOJ,WAAA,CAAY,UAAUO,OAAA,CAAQC,GAAA,CAAI,CAAC;MAChDV,MAAA,CAAOM,IAAI,EAAEE,SAAA,CAAUJ,IAAA,CAAK,QAAQ,UAAU,CAAC;MAC/CJ,MAAA,CAAOM,IAAI,EAAEK,GAAA,CAAIH,SAAA,CAAU,MAAM;IACnC,CAAC;IAEDP,EAAA,CAAG,yDAAyD,MAAM;MAEhE,MAAMK,IAAA,GAAOJ,WAAA,CAAY,UAAUO,OAAA,CAAQC,GAAA,CAAI,CAAC;MAChDV,MAAA,CAAOM,IAAI,EAAEC,UAAA,CAAW;IAC1B,CAAC;IAEDN,EAAA,CAAG,wDAAwD,MAAM;MAE/D,MAAMK,IAAA,GAAOJ,WAAA,CAAY,WAAWO,OAAA,CAAQC,GAAA,CAAI,CAAC;MACjDV,MAAA,CAAOM,IAAI,EAAEE,SAAA,CAAU,SAAS;IAClC,CAAC;EACH,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import { resolvePath } from "./index.native.js";
|
|
3
|
+
import { existsSync } from "fs";
|
|
4
|
+
import { join } from "path";
|
|
5
|
+
describe("resolvePath", function () {
|
|
6
|
+
describe("basic resolution", function () {
|
|
7
|
+
it("resolves node builtins", function () {
|
|
8
|
+
expect(resolvePath("node:path")).toBe("node:path");
|
|
9
|
+
expect(resolvePath("node:fs")).toBe("node:fs");
|
|
10
|
+
});
|
|
11
|
+
it("resolves npm packages", function () {
|
|
12
|
+
var path = resolvePath("vitest");
|
|
13
|
+
expect(path).toBeTruthy();
|
|
14
|
+
expect(existsSync(path)).toBe(true);
|
|
15
|
+
});
|
|
16
|
+
it("resolves relative paths from cwd", function () {
|
|
17
|
+
var path = resolvePath("./package.json");
|
|
18
|
+
expect(path).toContain("package.json");
|
|
19
|
+
expect(existsSync(path)).toBe(true);
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
describe("respects from parameter", function () {
|
|
23
|
+
it("resolves relative paths from specified directory", function () {
|
|
24
|
+
var path = resolvePath("./package.json", process.cwd());
|
|
25
|
+
expect(path).toBe(join(process.cwd(), "package.json"));
|
|
26
|
+
expect(existsSync(path)).toBe(true);
|
|
27
|
+
});
|
|
28
|
+
it("resolves npm packages from specified directory", function () {
|
|
29
|
+
var path = resolvePath("vitest", process.cwd());
|
|
30
|
+
expect(path).toContain("vitest");
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
describe("ESM entry point detection", function () {
|
|
34
|
+
it('returns ESM entry when exports["."].import is a string', function () {
|
|
35
|
+
var path = resolvePath("@vxrn/resolve", process.cwd());
|
|
36
|
+
expect(path).toBeTruthy();
|
|
37
|
+
});
|
|
38
|
+
it('returns ESM entry when exports["."].import.default exists', function () {
|
|
39
|
+
var path = resolvePath("vitest", process.cwd());
|
|
40
|
+
expect(path).toContain(join("dist", "index.js"));
|
|
41
|
+
expect(path).not.toContain(".cjs");
|
|
42
|
+
});
|
|
43
|
+
it("falls back to module field when exports not available", function () {
|
|
44
|
+
var path = resolvePath("vitest", process.cwd());
|
|
45
|
+
expect(path).toBeTruthy();
|
|
46
|
+
});
|
|
47
|
+
it("falls back to main/require.resolve when no ESM entry", function () {
|
|
48
|
+
var path = resolvePath("resolve", process.cwd());
|
|
49
|
+
expect(path).toContain("resolve");
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
//# sourceMappingURL=index.test.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["describe","expect","it","resolvePath","existsSync","join","toBe","path","toBeTruthy","toContain","process","cwd","not"],"sources":["../../src/index.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,EAAUC,MAAA,EAAQC,EAAA,QAAU;AACrC,SAASC,WAAA,QAAmB;AAC5B,SAASC,UAAA,QAAkB;AAC3B,SAASC,IAAA,QAAY;AAErBL,QAAA,CAAS,eAAe,YAAM;EAC5BA,QAAA,CAAS,oBAAoB,YAAM;IACjCE,EAAA,CAAG,0BAA0B,YAAM;MACjCD,MAAA,CAAOE,WAAA,CAAY,WAAW,CAAC,EAAEG,IAAA,CAAK,WAAW;MACjDL,MAAA,CAAOE,WAAA,CAAY,SAAS,CAAC,EAAEG,IAAA,CAAK,SAAS;IAC/C,CAAC;IAEDJ,EAAA,CAAG,yBAAyB,YAAM;MAChC,IAAAK,IAAM,GAAAJ,WAAO,SAAY;MACzBF,MAAA,CAAOM,IAAI,EAAEC,UAAA,CAAW;MACxBP,MAAA,CAAOG,UAAA,CAAWG,IAAI,CAAC,EAAED,IAAA,CAAK,IAAI;IACpC,CAAC;IAEDJ,EAAA,CAAG,oCAAoC,YAAM;MAC3C,IAAAK,IAAM,GAAAJ,WAAO,iBAAY;MACzBF,MAAA,CAAOM,IAAI,EAAEE,SAAA,CAAU,cAAc;MACrCR,MAAA,CAAOG,UAAA,CAAWG,IAAI,CAAC,EAAED,IAAA,CAAK,IAAI;IACpC,CAAC;EACH,CAAC;EAEDN,QAAA,CAAS,2BAA2B,YAAM;IACxCE,EAAA,CAAG,oDAAoD,YAAM;MAC3D,IAAAK,IAAM,GAAAJ,WAAO,iBAAY,EAAAO,OAAkB,CAAAC,GAAQ,GAAI;MACvDV,MAAA,CAAOM,IAAI,EAAED,IAAA,CAAKD,IAAA,CAAKK,OAAA,CAAQC,GAAA,CAAI,GAAG,cAAc,CAAC;MACrDV,MAAA,CAAOG,UAAA,CAAWG,IAAI,CAAC,EAAED,IAAA,CAAK,IAAI;IACpC,CAAC;IAEDJ,EAAA,CAAG,kDAAkD,YAAM;MACzD,IAAAK,IAAM,GAAAJ,WAAO,SAAY,EAAAO,OAAU,CAAAC,GAAQ,GAAI;MAC/CV,MAAA,CAAOM,IAAI,EAAEE,SAAA,CAAU,QAAQ;IACjC,CAAC;EACH,CAAC;EAEDT,QAAA,CAAS,6BAA6B,YAAM;IAC1CE,EAAA,CAAG,0DAA0D,YAAM;MAEjE,IAAAK,IAAM,GAAAJ,WAAO,gBAAY,EAAAO,OAAiB,CAAAC,GAAQ,GAAI;MAEtDV,MAAA,CAAOM,IAAI,EAAEC,UAAA,CAAW;IAC1B,CAAC;IAEDN,EAAA,CAAG,6DAA6D,YAAM;MAEpE,IAAAK,IAAM,GAAAJ,WAAO,SAAY,EAAAO,OAAU,CAAAC,GAAQ,GAAI;MAC/CV,MAAA,CAAOM,IAAI,EAAEE,SAAA,CAAUJ,IAAA,CAAK,QAAQ,UAAU,CAAC;MAC/CJ,MAAA,CAAOM,IAAI,EAAEK,GAAA,CAAIH,SAAA,CAAU,MAAM;IACnC,CAAC;IAEDP,EAAA,CAAG,yDAAyD,YAAM;MAEhE,IAAAK,IAAM,GAAAJ,WAAO,SAAY,EAAAO,OAAU,CAAAC,GAAQ,GAAI;MAC/CV,MAAA,CAAOM,IAAI,EAAEC,UAAA,CAAW;IAC1B,CAAC;IAEDN,EAAA,CAAG,wDAAwD,YAAM;MAE/D,IAAAK,IAAM,GAAAJ,WAAO,UAAY,EAAAO,OAAW,CAAAC,GAAQ,GAAI;MAChDV,MAAA,CAAOM,IAAI,EAAEE,SAAA,CAAU,SAAS;IAClC,CAAC;EACH,CAAC;AACH,CAAC","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAKA;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,EAAE,aAAoB,KAAG,MA+ChE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":""}
|