@serwist/utils
Advanced tools
+4
-5
| import Browserslist from "browserslist"; | ||
| //#region src/non-nullable.d.ts | ||
@@ -27,3 +26,3 @@ declare const nonNullable: <T>(value: T) => value is NonNullable<T>; | ||
| //#region src/compare.d.ts | ||
| declare const compare: <T extends string | number>(a: T, b: T) => 1 | -1 | 0; | ||
| declare const compare: <T extends string | number>(a: T, b: T) => -1 | 0 | 1; | ||
| //#endregion | ||
@@ -36,3 +35,3 @@ //#region src/constants.d.ts | ||
| //#region src/semver.d.ts | ||
| declare const compareSemver: (a: string[], b: string[]) => 1 | -1 | 0; | ||
| declare const compareSemver: (a: string[], b: string[]) => -1 | 0 | 1; | ||
| //#endregion | ||
@@ -90,6 +89,6 @@ //#region src/types.d.ts | ||
| */ | ||
| type Prettify<T> = { [K in keyof T]: T[K] } & {}; | ||
| type Prettify<T> = { [K in keyof T]: T[K]; } & {}; | ||
| type MaybePromise<T> = T | Promise<T>; | ||
| //#endregion | ||
| export { MaybePromise, Optional, Prettify, Require, SUPPORTED_ESBUILD_TARGETS, UNSUPPORTED_BROWSERLIST_TARGETS, browserslistToEsbuild, compare, compareSemver, nonNullable, parallel, toUnix }; | ||
| export { type MaybePromise, type Optional, type Prettify, type Require, SUPPORTED_ESBUILD_TARGETS, UNSUPPORTED_BROWSERLIST_TARGETS, browserslistToEsbuild, compare, compareSemver, nonNullable, parallel, toUnix }; | ||
| //# sourceMappingURL=index.d.mts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.mts","names":[],"sources":["../src/non-nullable.ts","../src/parallel.ts","../src/to-unix.ts","../src/browserslist.ts","../src/compare.ts","../src/constants.ts","../src/semver.ts","../src/types.ts"],"mappings":";;;cAAa,WAAA,MAAkB,KAAA,EAAO,CAAA,KAAI,KAAA,IAAS,WAAA,CAAY,CAAA;;;;;;AAA/D;;cCaa,QAAA,SAAwB,KAAA,UAAe,KAAA,WAAgB,CAAA,IAAK,IAAA,GAAO,IAAA,EAAM,CAAA,KAAM,OAAA,CAAQ,CAAA,MAAK,OAAA,CAAQ,CAAA;;;cCbpG,MAAA,GAAU,CAAA;;;;;AFAvB;;;;cGaa,qBAAA,GAAyB,YAAA,SAAqB,YAAA,EAAc,GAAA,UAAa,mBAAA;;;cCbzE,OAAA,8BAAsC,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,CAAA;;;;cCC/C,yBAAA;AAAA,cAEA,+BAAA;;;cCCA,aAAA,GAAiB,CAAA,YAAa,CAAA;;;;;;ANJ3C;;;;;;;;;;;;;;KOiBY,OAAA,oBAA2B,CAAA,IAAK,CAAA,GAAI,QAAA,CAAS,IAAA,CAAK,CAAA,EAAG,CAAA;;;;;ANJjE;;;;;;;;;KMmBY,QAAA,oBAA4B,CAAA,IAAK,IAAA,CAAK,CAAA,EAAG,CAAA,IAAK,OAAA,CAAQ,IAAA,CAAK,CAAA,EAAG,CAAA;;;;;;;;;;;;;;;;;;;KAoB9D,QAAA,oBACE,CAAA,GAAI,CAAA,CAAE,CAAA;AAAA,KAGR,YAAA,MAAkB,CAAA,GAAI,OAAA,CAAQ,CAAA"} | ||
| {"version":3,"file":"index.d.mts","names":[],"sources":["../src/non-nullable.ts","../src/parallel.ts","../src/to-unix.ts","../src/browserslist.ts","../src/compare.ts","../src/constants.ts","../src/semver.ts","../src/types.ts"],"mappings":";;cAAa,cAAe,GAAC,OAAS,MAAI,SAAS,YAAY;;;;;;;;cCalD,WAAkB,GAAG,GAAC,eAAe,gBAAkB,KAAG,OAAS,MAAM,MAAM,QAAQ,OAAK,QAAQ;;;cCbpG,SAAM;;;;;;;;;cCaN,wBAAqB,qBAAyB,cAAY,aAAa;;;cCbvE,UAAW,2BAAyB,GAAK,GAAC,GAAK;;;;cCC/C;cAEA;;;cCCA,gBAAa,aAAe;;;;;;;;;;;;;;;;;;;;KCa7B,QAAQ,GAAG,gBAAgB,KAAK,IAAI,SAAS,KAAK,GAAG;;;;;;;;;;;;;;KAerD,SAAS,GAAG,gBAAgB,KAAK,KAAK,GAAG,KAAK,QAAQ,KAAK,GAAG;;;;;;;;;;;;;;;;;;;KAoB9D,SAAS,QAClB,WAAW,IAAI,EAAE;KAGR,aAAa,KAAK,IAAI,QAAQ"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.mjs","names":[],"sources":["../src/non-nullable.ts","../src/parallel.ts","../src/to-unix.ts","../src/compare.ts","../src/constants.ts","../src/semver.ts","../src/browserslist.ts"],"sourcesContent":["export const nonNullable = <T>(value: T): value is NonNullable<T> => value !== null && value !== undefined;\n","// Source code: https://github.com/rayepps/radash/blob/03dd3152f560414e933cedcd3bda3c6db3e8306b/src/async.ts#L112-L147\n// License: MIT\n// Author: rayepps\ninterface ItemResult<K> {\n index: number;\n result: K;\n}\n\n/**\n * Executes many async functions in parallel. Returns the\n * results from all functions as an array. Does not handle\n * any error.\n */\nexport const parallel = async <T, K>(limit: number, array: readonly T[], func: (item: T) => Promise<K>): Promise<K[]> => {\n const work = array.map((item, index) => ({\n index,\n item,\n }));\n // Process array items\n const processor = async (res: (value: ItemResult<K>[]) => void) => {\n const results: ItemResult<K>[] = [];\n while (true) {\n const next = work.pop();\n if (!next) {\n return res(results);\n }\n const result = await func(next.item);\n results.push({\n result: result,\n index: next.index,\n });\n }\n };\n // Create queues\n const queues = Array.from({ length: limit }, () => new Promise(processor));\n // Wait for all queues to complete\n const results = (await Promise.all(queues))\n .flat()\n .sort((a, b) => (a.index < b.index ? -1 : 1))\n .map((res) => res.result);\n return results;\n};\n","export const toUnix = (p: string) => p.replace(/\\\\/g, \"/\").replace(/(?<!^)\\/+/g, \"/\");\n","export const compare = <T extends string | number>(a: T, b: T) => {\n if (a < b) return -1;\n if (a > b) return +1;\n return 0;\n};\n","/** @see https://esbuild.github.io/api/#target */\nexport const SUPPORTED_ESBUILD_TARGETS = [\"chrome\", \"deno\", \"edge\", \"firefox\", \"hermes\", \"ie\", \"ios\", \"node\", \"opera\", \"rhino\", \"safari\"];\n\nexport const UNSUPPORTED_BROWSERLIST_TARGETS = [\"android 4\", \"android 3\", \"android 2\"];\n","// Source: https://github.com/browserslist/browserslist/blob/5cad191bc1a1e5beb7768ca263503cc15d0dcc7d/index.js#L139-L151\n// License: MIT\nimport { compare } from \"./compare.js\";\n\nexport const compareSemver = (a: string[], b: string[]) => {\n return (\n compare(Number.parseInt(a[0], 10), Number.parseInt(b[0], 10)) ||\n compare(Number.parseInt(a[1] || \"0\", 10), Number.parseInt(b[1] || \"0\", 10)) ||\n compare(Number.parseInt(a[2] || \"0\", 10), Number.parseInt(b[2] || \"0\", 10))\n );\n};\n","import type Browserslist from \"browserslist\";\nimport { compare } from \"./compare.js\";\nimport { SUPPORTED_ESBUILD_TARGETS, UNSUPPORTED_BROWSERLIST_TARGETS } from \"./constants.js\";\nimport { compareSemver } from \"./semver.js\";\n\n// Original: https://github.com/marcofugaro/browserslist-to-esbuild/blob/0875f1a4ec71f206a634ba406c3528ca5ecf04de/src/index.js\n// License: MIT\n/**\n * Loads and converts Browserslist into esbuild's `target` option.\n *\n * @param cwd\n * @returns\n */\nexport const browserslistToEsbuild = (browserslist: typeof Browserslist, cwd: string, defaultBrowserslist: string[]): string[] => {\n const browserslistConfig = browserslist.loadConfig({ path: cwd }) ?? defaultBrowserslist;\n return (\n browserslist(browserslistConfig)\n // Filter out legacy Android webview to avoid converting them into Chrome targets\n .filter((query) => !UNSUPPORTED_BROWSERLIST_TARGETS.some((target) => query.startsWith(target)))\n .map((query) => {\n const modified = query === \"safari TP\" ? browserslist(\"last 1 safari version\")[0] : query;\n const split = modified.split(\" \");\n // https://github.com/browserslist/browserslist/blob/5cad191bc1a1e5beb7768ca263503cc15d0dcc7d/README.md?plain=1#L329-L350\n // https://esbuild.github.io/api/#target\n if (split[0] === \"android\" || split[0] === \"and_chr\") {\n split[0] = \"chrome\";\n }\n if (split[0] === \"and_ff\") {\n split[0] = \"firefox\";\n }\n if (split[0] === \"ios_saf\" || split[0] === \"ios\") {\n split[0] = \"safari\";\n }\n // Remove upper version bound\n if (split[1].includes(\"-\")) {\n split[1] = split[1].slice(0, split[1].indexOf(\"-\"));\n }\n // Trim ending .0\n if (split[1].endsWith(\".0\")) {\n split[1] = split[1].slice(0, -2);\n }\n return split;\n })\n // Remove unsupported browsers and invalid versions\n .filter((split) => SUPPORTED_ESBUILD_TARGETS.includes(split[0]) && /^\\d+(\\.\\d+)*$/.test(split[1]))\n // Re-sort the result such that the oldest versions end up the latest, same as how\n // Browserslist does it.\n .sort((a, b) => {\n if (a[0] === b[0]) {\n return compareSemver(b[1].split(\".\"), a[1].split(\".\"));\n } else {\n return compare(a[0], b[0]);\n }\n })\n // Only pick the oldest included version for each browser to avoid duplications.\n .reduce((acc, browser) => {\n const existingIndex = acc.findIndex((br) => br[0] === browser[0]);\n if (existingIndex !== -1) {\n acc[existingIndex][1] = browser[1];\n } else {\n acc.push(browser);\n }\n return acc;\n }, [] as string[][])\n .map((split) => split.join(\"\"))\n );\n};\n"],"mappings":"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"} | ||
| {"version":3,"file":"index.mjs","names":[],"sources":["../src/non-nullable.ts","../src/parallel.ts","../src/to-unix.ts","../src/compare.ts","../src/constants.ts","../src/semver.ts","../src/browserslist.ts"],"sourcesContent":["export const nonNullable = <T>(value: T): value is NonNullable<T> => value !== null && value !== undefined;\n","// Source code: https://github.com/rayepps/radash/blob/03dd3152f560414e933cedcd3bda3c6db3e8306b/src/async.ts#L112-L147\n// License: MIT\n// Author: rayepps\ninterface ItemResult<K> {\n index: number;\n result: K;\n}\n\n/**\n * Executes many async functions in parallel. Returns the\n * results from all functions as an array. Does not handle\n * any error.\n */\nexport const parallel = async <T, K>(limit: number, array: readonly T[], func: (item: T) => Promise<K>): Promise<K[]> => {\n const work = array.map((item, index) => ({\n index,\n item,\n }));\n // Process array items\n const processor = async (res: (value: ItemResult<K>[]) => void) => {\n const results: ItemResult<K>[] = [];\n while (true) {\n const next = work.pop();\n if (!next) {\n return res(results);\n }\n const result = await func(next.item);\n results.push({\n result: result,\n index: next.index,\n });\n }\n };\n // Create queues\n const queues = Array.from({ length: limit }, () => new Promise(processor));\n // Wait for all queues to complete\n const results = (await Promise.all(queues))\n .flat()\n .sort((a, b) => (a.index < b.index ? -1 : 1))\n .map((res) => res.result);\n return results;\n};\n","export const toUnix = (p: string) => p.replace(/\\\\/g, \"/\").replace(/(?<!^)\\/+/g, \"/\");\n","export const compare = <T extends string | number>(a: T, b: T) => {\n if (a < b) return -1;\n if (a > b) return +1;\n return 0;\n};\n","/** @see https://esbuild.github.io/api/#target */\nexport const SUPPORTED_ESBUILD_TARGETS = [\"chrome\", \"deno\", \"edge\", \"firefox\", \"hermes\", \"ie\", \"ios\", \"node\", \"opera\", \"rhino\", \"safari\"];\n\nexport const UNSUPPORTED_BROWSERLIST_TARGETS = [\"android 4\", \"android 3\", \"android 2\"];\n","// Source: https://github.com/browserslist/browserslist/blob/5cad191bc1a1e5beb7768ca263503cc15d0dcc7d/index.js#L139-L151\n// License: MIT\nimport { compare } from \"./compare.js\";\n\nexport const compareSemver = (a: string[], b: string[]) => {\n return (\n compare(Number.parseInt(a[0], 10), Number.parseInt(b[0], 10)) ||\n compare(Number.parseInt(a[1] || \"0\", 10), Number.parseInt(b[1] || \"0\", 10)) ||\n compare(Number.parseInt(a[2] || \"0\", 10), Number.parseInt(b[2] || \"0\", 10))\n );\n};\n","import type Browserslist from \"browserslist\";\nimport { compare } from \"./compare.js\";\nimport { SUPPORTED_ESBUILD_TARGETS, UNSUPPORTED_BROWSERLIST_TARGETS } from \"./constants.js\";\nimport { compareSemver } from \"./semver.js\";\n\n// Original: https://github.com/marcofugaro/browserslist-to-esbuild/blob/0875f1a4ec71f206a634ba406c3528ca5ecf04de/src/index.js\n// License: MIT\n/**\n * Loads and converts Browserslist into esbuild's `target` option.\n *\n * @param cwd\n * @returns\n */\nexport const browserslistToEsbuild = (browserslist: typeof Browserslist, cwd: string, defaultBrowserslist: string[]): string[] => {\n const browserslistConfig = browserslist.loadConfig({ path: cwd }) ?? defaultBrowserslist;\n return (\n browserslist(browserslistConfig)\n // Filter out legacy Android webview to avoid converting them into Chrome targets\n .filter((query) => !UNSUPPORTED_BROWSERLIST_TARGETS.some((target) => query.startsWith(target)))\n .map((query) => {\n const modified = query === \"safari TP\" ? browserslist(\"last 1 safari version\")[0] : query;\n const split = modified.split(\" \");\n // https://github.com/browserslist/browserslist/blob/5cad191bc1a1e5beb7768ca263503cc15d0dcc7d/README.md?plain=1#L329-L350\n // https://esbuild.github.io/api/#target\n if (split[0] === \"android\" || split[0] === \"and_chr\") {\n split[0] = \"chrome\";\n }\n if (split[0] === \"and_ff\") {\n split[0] = \"firefox\";\n }\n if (split[0] === \"ios_saf\" || split[0] === \"ios\") {\n split[0] = \"safari\";\n }\n // Remove upper version bound\n if (split[1].includes(\"-\")) {\n split[1] = split[1].slice(0, split[1].indexOf(\"-\"));\n }\n // Trim ending .0\n if (split[1].endsWith(\".0\")) {\n split[1] = split[1].slice(0, -2);\n }\n return split;\n })\n // Remove unsupported browsers and invalid versions\n .filter((split) => SUPPORTED_ESBUILD_TARGETS.includes(split[0]) && /^\\d+(\\.\\d+)*$/.test(split[1]))\n // Re-sort the result such that the oldest versions end up the latest, same as how\n // Browserslist does it.\n .sort((a, b) => {\n if (a[0] === b[0]) {\n return compareSemver(b[1].split(\".\"), a[1].split(\".\"));\n } else {\n return compare(a[0], b[0]);\n }\n })\n // Only pick the oldest included version for each browser to avoid duplications.\n .reduce((acc, browser) => {\n const existingIndex = acc.findIndex((br) => br[0] === browser[0]);\n if (existingIndex !== -1) {\n acc[existingIndex][1] = browser[1];\n } else {\n acc.push(browser);\n }\n return acc;\n }, [] as string[][])\n .map((split) => split.join(\"\"))\n );\n};\n"],"mappings":"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"} |
+8
-5
| { | ||
| "name": "@serwist/utils", | ||
| "version": "9.5.11", | ||
| "version": "9.5.12", | ||
| "type": "module", | ||
@@ -18,3 +18,6 @@ "description": "This module contains utilities used by Serwist packages.", | ||
| "license": "MIT", | ||
| "repository": "https://github.com/serwist/serwist", | ||
| "repository": { | ||
| "type": "git", | ||
| "url": "https://github.com/serwist/serwist" | ||
| }, | ||
| "bugs": "https://github.com/serwist/serwist/issues", | ||
@@ -33,5 +36,5 @@ "homepage": "https://serwist.pages.dev", | ||
| "@types/common-tags": "1.8.4", | ||
| "browserslist": "4.28.2", | ||
| "tsdown": "0.21.10", | ||
| "typescript": "6.0.3" | ||
| "browserslist": "4.28.6", | ||
| "tsdown": "0.22.12", | ||
| "typescript": "7.0.2" | ||
| }, | ||
@@ -38,0 +41,0 @@ "peerDependencies": { |
No repository
Supply chain riskPackage does not have a linked source code repository. Without this field, a package will have no reference to the location of the source code use to generate the package.
0
-100%23628
-0.3%