diff --git a/lib/esm/satisfies.js b/lib/esm/satisfies.js index 7586b71657332f855431c4dd4f05e9394fd9aac3..a6ec29bfc98907c67ed4af71fca73bd8bff88798 100644 --- a/lib/esm/satisfies.js +++ b/lib/esm/satisfies.js @@ -40,8 +40,9 @@ export const satisfies = (version, range) => { // else range of either "~" or "^" is assumed const [v1, v2, v3, , vp] = validateAndParse(version); const [r1, r2, r3, , rp] = validateAndParse(range); - const v = [v1, v2, v3]; + const v = [v1, v2 !== null && v2 !== void 0 ? v2 : 'x', v3 !== null && v3 !== void 0 ? v3 : 'x']; const r = [r1, r2 !== null && r2 !== void 0 ? r2 : 'x', r3 !== null && r3 !== void 0 ? r3 : 'x']; + // validate pre-release if (rp) { if (!vp) diff --git a/lib/esm/utils.js b/lib/esm/utils.js index b5cc8b9927ab38fc67032c133b531e95ec4cec15..ec56105fd2d806aa922f1488a27b02c56aff1865 100644 --- a/lib/esm/utils.js +++ b/lib/esm/utils.js @@ -28,7 +28,7 @@ const compareStrings = (a, b) => { }; export const compareSegments = (a, b) => { for (let i = 0; i < Math.max(a.length, b.length); i++) { - const r = compareStrings(a[i] || '0', b[i] || '0'); + const r = compareStrings(a[i] || 'x', b[i] || 'x'); if (r !== 0) return r; } diff --git a/lib/umd/index.js b/lib/umd/index.js index 2cfef261bca520e21ed41fc14950732b8aa6339b..1059784db86635f3aaaba83b5a72c5015e1d8490 100644 --- a/lib/umd/index.js +++ b/lib/umd/index.js @@ -152,7 +152,7 @@ // else range of either "~" or "^" is assumed const [v1, v2, v3, , vp] = validateAndParse(version); const [r1, r2, r3, , rp] = validateAndParse(range); - const v = [v1, v2, v3]; + const v = [v1, v2 !== null && v2 !== void 0 ? v2 : 'x', v3 !== null && v3 !== void 0 ? v3 : 'x']; const r = [r1, r2 !== null && r2 !== void 0 ? r2 : 'x', r3 !== null && r3 !== void 0 ? r3 : 'x']; // validate pre-release if (rp) { diff --git a/package.json b/package.json index b05b3daf706d7ba4e594233f8791fc3007a8e2cd..e51e76b86f95e9ebf0b5dba3b82aeb119628528d 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "prepublishOnly": "npm run build", "test": "c8 --reporter=lcov mocha" }, - "main": "./lib/umd/index.js", + "main": "./lib/src/index.ts", "module": "./lib/esm/index.js", "types": "./lib/esm/index.d.ts", "sideEffects": false, diff --git a/src/satisfies.ts b/src/satisfies.ts index 66cb171d7f32e68fdda6929d2da223b97a053737..6b4973f037843f264338a01efdc4ace5dcf042cd 100644 --- a/src/satisfies.ts +++ b/src/satisfies.ts @@ -43,7 +43,7 @@ export const satisfies = (version: string, range: string): boolean => { // else range of either "~" or "^" is assumed const [v1, v2, v3, , vp] = validateAndParse(version); const [r1, r2, r3, , rp] = validateAndParse(range); - const v = [v1, v2, v3]; + const v = [v1, v2 ?? 'x', v3 ?? 'x']; const r = [r1, r2 ?? 'x', r3 ?? 'x']; // validate pre-release