@sanity/pkg-utils 4.0.0 → 4.1.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.
- package/dist/_chunks/{build-xtvcN4rn.cjs → build-N7HnlT8k.cjs} +5 -4
- package/dist/_chunks/{build-xtvcN4rn.cjs.map → build-N7HnlT8k.cjs.map} +1 -1
- package/dist/_chunks/{buildAction-lOl6hAY8.cjs → buildAction-yqNgk-aq.cjs} +2 -2
- package/dist/_chunks/{buildAction-lOl6hAY8.cjs.map → buildAction-yqNgk-aq.cjs.map} +1 -1
- package/dist/_chunks/{check-5On74q2h.cjs → check-j5YR3hUi.cjs} +4 -3
- package/dist/_chunks/check-j5YR3hUi.cjs.map +1 -0
- package/dist/_chunks/{checkAction-RYG9-Wqo.cjs → checkAction-AD9RJftD.cjs} +2 -2
- package/dist/_chunks/{checkAction-RYG9-Wqo.cjs.map → checkAction-AD9RJftD.cjs.map} +1 -1
- package/dist/_chunks/{consoleSpy-bV4ZI2h8.cjs → consoleSpy-HqQIfX7k.cjs} +112 -73
- package/dist/_chunks/consoleSpy-HqQIfX7k.cjs.map +1 -0
- package/dist/_chunks/{index-YSy1xob6.cjs → index-0-iA8gVL.cjs} +4 -3
- package/dist/_chunks/{index-YSy1xob6.cjs.map → index-0-iA8gVL.cjs.map} +1 -1
- package/dist/_chunks/{init-tT7f7xkO.cjs → init-9DSt45GN.cjs} +3 -2
- package/dist/_chunks/{init-tT7f7xkO.cjs.map → init-9DSt45GN.cjs.map} +1 -1
- package/dist/_chunks/{initAction-zkJJWu4U.cjs → initAction-sChm6v2i.cjs} +2 -2
- package/dist/_chunks/{initAction-zkJJWu4U.cjs.map → initAction-sChm6v2i.cjs.map} +1 -1
- package/dist/_chunks/{logger-c-JGqYo_.cjs → logger-L4V-Be7d.cjs} +2 -2
- package/dist/_chunks/logger-L4V-Be7d.cjs.map +1 -0
- package/dist/_chunks/{watch-Mo2KRBJf.cjs → watch-3unutrcJ.cjs} +5 -4
- package/dist/_chunks/{watch-Mo2KRBJf.cjs.map → watch-3unutrcJ.cjs.map} +1 -1
- package/dist/_chunks/{watchAction-7JsrPTEX.cjs → watchAction-0OCDBHAy.cjs} +2 -2
- package/dist/_chunks/{watchAction-7JsrPTEX.cjs.map → watchAction-0OCDBHAy.cjs.map} +1 -1
- package/dist/cli.cjs +5 -5
- package/dist/index.cjs +7 -7
- package/dist/index.d.ts +1 -1
- package/dist/index.js +108 -70
- package/dist/index.js.map +1 -1
- package/package.json +5 -2
- package/src/node/core/defaults.ts +3 -6
- package/src/node/core/pkg/types.ts +1 -1
- package/src/node/core/pkg/validatePkg.ts +1 -1
- package/src/node/resolveBrowserTarget.ts +10 -28
- package/src/node/resolveBuildContext.ts +13 -2
- package/src/node/resolveNodeTarget.ts +2 -8
- package/dist/_chunks/check-5On74q2h.cjs.map +0 -1
- package/dist/_chunks/consoleSpy-bV4ZI2h8.cjs.map +0 -1
- package/dist/_chunks/logger-c-JGqYo_.cjs.map +0 -1
- package/src/node/resolveBrowserslistVersions.ts +0 -60
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sanity/pkg-utils",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.1.0",
|
|
4
4
|
"description": "Simple utilities for modern npm packages.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"sanity-io",
|
|
@@ -57,6 +57,7 @@
|
|
|
57
57
|
"eslint --ext .cjs,.js,.ts,.tsx --fix"
|
|
58
58
|
]
|
|
59
59
|
},
|
|
60
|
+
"browserslist": "extends @sanity/browserslist-config",
|
|
60
61
|
"dependencies": {
|
|
61
62
|
"@babel/core": "^7.23.7",
|
|
62
63
|
"@babel/types": "^7.23.6",
|
|
@@ -69,6 +70,7 @@
|
|
|
69
70
|
"@rollup/plugin-node-resolve": "^15.2.3",
|
|
70
71
|
"@rollup/plugin-replace": "^5.0.5",
|
|
71
72
|
"@rollup/plugin-terser": "^0.4.4",
|
|
73
|
+
"@sanity/browserslist-config": "^1.0.0",
|
|
72
74
|
"browserslist": "^4.22.2",
|
|
73
75
|
"cac": "^6.7.14",
|
|
74
76
|
"chalk": "^4.1.2",
|
|
@@ -111,6 +113,7 @@
|
|
|
111
113
|
"@types/uuid": "^9.0.7",
|
|
112
114
|
"@typescript-eslint/eslint-plugin": "^6.19.1",
|
|
113
115
|
"@typescript-eslint/parser": "^6.19.1",
|
|
116
|
+
"browserslist-to-esbuild": "2.1.1",
|
|
114
117
|
"commitizen": "^4.3.0",
|
|
115
118
|
"cpx": "^1.5.0",
|
|
116
119
|
"cz-conventional-changelog": "^3.3.0",
|
|
@@ -129,7 +132,7 @@
|
|
|
129
132
|
"typescript": "^5.3.3",
|
|
130
133
|
"vitest": "^1.2.1",
|
|
131
134
|
"vitest-github-actions-reporter": "^0.11.1",
|
|
132
|
-
"@sanity/pkg-utils": "4.
|
|
135
|
+
"@sanity/pkg-utils": "4.1.0"
|
|
133
136
|
},
|
|
134
137
|
"peerDependencies": {
|
|
135
138
|
"typescript": "^4.7 || ^5"
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
+
import config from '@sanity/browserslist-config'
|
|
2
|
+
|
|
1
3
|
/** @public */
|
|
2
|
-
export const DEFAULT_BROWSERSLIST_QUERY =
|
|
3
|
-
'> 0.2% and supports es6-module and supports es6-module-dynamic-import',
|
|
4
|
-
'not dead',
|
|
5
|
-
'not IE 11',
|
|
6
|
-
'maintained node versions',
|
|
7
|
-
]
|
|
4
|
+
export const DEFAULT_BROWSERSLIST_QUERY = config
|
|
@@ -1,31 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
target.push(`firefox${versions.ff[0]}`)
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
if (versions.edge.length) {
|
|
15
|
-
target.push(`edge${versions.edge[0]}`)
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
if (versions.iosSaf.length) {
|
|
19
|
-
target.push(`ios${versions.iosSaf[0]}`)
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
if (versions.saf.length) {
|
|
23
|
-
target.push(`safari${versions.saf[0]}`)
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
if (versions.opera.length) {
|
|
27
|
-
target.push(`opera${versions.opera[0]}`)
|
|
28
|
-
}
|
|
1
|
+
export function resolveBrowserTarget(versions: string[]): string[] | undefined {
|
|
2
|
+
const target: string[] = versions.filter(
|
|
3
|
+
(version) =>
|
|
4
|
+
version.startsWith('chrome') ||
|
|
5
|
+
version.startsWith('edge') ||
|
|
6
|
+
version.startsWith('firefox') ||
|
|
7
|
+
version.startsWith('ios') ||
|
|
8
|
+
version.startsWith('safari') ||
|
|
9
|
+
version.startsWith('opera'),
|
|
10
|
+
)
|
|
29
11
|
|
|
30
12
|
if (target.length === 0) {
|
|
31
13
|
return undefined
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import browserslistToEsbuild from 'browserslist-to-esbuild'
|
|
1
2
|
import path from 'path'
|
|
2
3
|
|
|
3
4
|
import {
|
|
@@ -14,7 +15,6 @@ import {
|
|
|
14
15
|
} from './core'
|
|
15
16
|
import {findCommonDirPath, pathContains} from './core/findCommonPath'
|
|
16
17
|
import {Logger} from './logger'
|
|
17
|
-
import {resolveBrowserslistVersions} from './resolveBrowserslistVersions'
|
|
18
18
|
import {resolveBrowserTarget} from './resolveBrowserTarget'
|
|
19
19
|
import {resolveNodeTarget} from './resolveNodeTarget'
|
|
20
20
|
|
|
@@ -39,7 +39,18 @@ export async function resolveBuildContext(options: {
|
|
|
39
39
|
tsconfig: tsconfigPath,
|
|
40
40
|
} = options
|
|
41
41
|
const tsconfig = await loadTSConfig({cwd, tsconfigPath})
|
|
42
|
-
|
|
42
|
+
|
|
43
|
+
/* eslint-disable padding-line-between-statements */
|
|
44
|
+
let browserslist = pkg.browserslist
|
|
45
|
+
if (!browserslist) {
|
|
46
|
+
logger.warn(
|
|
47
|
+
'Could not detect a `browserslist` property in `package.json`, using default configuration. Add `"browserslist": "extends @sanity/browserslist-config"` to silence this warning.',
|
|
48
|
+
)
|
|
49
|
+
browserslist = DEFAULT_BROWSERSLIST_QUERY
|
|
50
|
+
}
|
|
51
|
+
const targetVersions = browserslistToEsbuild(browserslist)
|
|
52
|
+
/* eslint-enable padding-line-between-statements */
|
|
53
|
+
|
|
43
54
|
const nodeTarget = resolveNodeTarget(targetVersions)
|
|
44
55
|
const webTarget = resolveBrowserTarget(targetVersions)
|
|
45
56
|
|
|
@@ -1,11 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export function resolveNodeTarget(versions: PackageTargetVersions): string[] | undefined {
|
|
4
|
-
const target: string[] = []
|
|
5
|
-
|
|
6
|
-
if (versions.node.length) {
|
|
7
|
-
target.push(`node${versions.node[0]}`)
|
|
8
|
-
}
|
|
1
|
+
export function resolveNodeTarget(versions: string[]): string[] | undefined {
|
|
2
|
+
const target: string[] = versions.filter((version) => version.startsWith('node'))
|
|
9
3
|
|
|
10
4
|
if (target.length === 0) {
|
|
11
5
|
return undefined
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"check-5On74q2h.cjs","sources":["../../src/node/getFilesize.ts","../../src/node/printPackageTree.ts","../../src/node/check.ts"],"sourcesContent":["import {statSync} from 'fs'\nimport prettyBytes from 'pretty-bytes'\n\nexport function getFilesize(file: string): string {\n const stats = statSync(file)\n\n return prettyBytes(stats.size)\n}\n","import chalk from 'chalk'\nimport path from 'path'\nimport treeify from 'treeify'\n\nimport {BuildContext, PkgExport} from './core'\nimport {fileExists} from './fileExists'\nimport {getFilesize} from './getFilesize'\n\nfunction getFileInfo(cwd: string, filePath: string) {\n const p = path.resolve(cwd, filePath)\n const exists = fileExists(p)\n const size = exists ? getFilesize(p) : undefined\n\n return {exists, size}\n}\n\nexport function printPackageTree(ctx: BuildContext): void {\n const {cwd, exports, logger, pkg} = ctx\n\n if (!exports) return\n\n logger.log(`${chalk.blue(pkg.name)}@${chalk.green(pkg.version)}`)\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const tree: Record<string, unknown> = {}\n\n if (pkg.type) {\n tree.type = chalk.yellow(pkg.type)\n }\n\n if (pkg.bin) {\n tree.bin = Object.fromEntries(\n Object.entries(pkg.bin).map(([name, file]) => [chalk.cyan(name), fileInfo(file)]),\n )\n }\n\n function fileInfo(file: string) {\n const info = getFileInfo(cwd, file)\n\n if (!info.size) {\n return `${chalk.gray(file)} ${chalk.red('does not exist')}`\n }\n\n return `${chalk.yellow(file)} ${chalk.gray(info.size)}`\n }\n\n tree.exports = Object.fromEntries(\n Object.entries(exports)\n .filter(([, entry]) => entry._exported)\n .map(([exportPath, entry]) => {\n const exp: Omit<PkgExport, '_exported'> = {\n types: undefined,\n source: fileInfo(entry.source),\n browser: undefined,\n require: undefined,\n node: undefined,\n import: undefined,\n default: fileInfo(entry.default),\n }\n\n if (entry.types) {\n exp.types = fileInfo(entry.types)\n } else {\n delete exp.types\n }\n\n if (entry.browser) {\n exp.browser = {source: fileInfo(entry.browser.source)}\n\n if (entry.browser.import) exp.browser.import = fileInfo(entry.browser.import)\n if (entry.browser.require) exp.browser.require = fileInfo(entry.browser.require)\n } else {\n delete exp.browser\n }\n\n if (entry.require) {\n exp.require = fileInfo(entry.require)\n } else {\n delete exp.require\n }\n\n if (entry.node) {\n exp.node = {}\n\n if (entry.node.source) exp.node.source = fileInfo(entry.node.source)\n if (entry.node.import) exp.node.import = fileInfo(entry.node.import)\n if (entry.node.require) exp.node.require = fileInfo(entry.node.require)\n } else {\n delete exp.node\n }\n\n if (entry.import) {\n exp.import = fileInfo(entry.import)\n } else {\n delete exp.import\n }\n\n return [chalk.cyan(path.join(pkg.name, exportPath)), exp]\n }),\n )\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n logger.log(treeify.asTree(tree as Record<string, any>, true, true))\n}\n","import esbuild, {BuildFailure} from 'esbuild'\nimport path from 'path'\n\nimport {createConsoleSpy} from './consoleSpy'\nimport {getPkgExtMap, loadConfig, loadPkgWithReporting} from './core'\nimport {fileExists} from './fileExists'\nimport {createLogger, Logger} from './logger'\nimport {printPackageTree} from './printPackageTree'\nimport {resolveBuildContext} from './resolveBuildContext'\n\n/** @public */\nexport async function check(options: {\n cwd: string\n strict?: boolean\n tsconfig?: string\n}): Promise<void> {\n const {cwd, strict = false, tsconfig: tsconfigOption} = options\n const logger = createLogger()\n\n const pkg = await loadPkgWithReporting({cwd, logger})\n const config = await loadConfig({cwd})\n const extMap = getPkgExtMap({legacyExports: config?.legacyExports ?? false})\n const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'\n const ctx = await resolveBuildContext({config, cwd, extMap, logger, pkg, strict, tsconfig})\n\n printPackageTree(ctx)\n\n if (strict) {\n const missingFiles: string[] = []\n\n // Check if there are missing files\n for (const [, exp] of Object.entries(ctx.exports || {})) {\n if (exp.source && !fileExists(path.resolve(cwd, exp.source))) {\n missingFiles.push(exp.source)\n }\n\n if (exp.require && !fileExists(path.resolve(cwd, exp.require))) {\n missingFiles.push(exp.require)\n }\n\n if (exp.import && !fileExists(path.resolve(cwd, exp.import))) {\n missingFiles.push(exp.import)\n }\n\n if (exp.types && !fileExists(path.resolve(cwd, exp.types))) {\n missingFiles.push(exp.types)\n }\n }\n\n if (missingFiles.length) {\n logger.error('missing files')\n process.exit(1)\n }\n\n // Check if the files are resolved\n const exportPaths: {require: string[]; import: string[]} = {\n require: [],\n import: [],\n }\n\n for (const exp of Object.values(ctx.exports || {})) {\n if (!exp._exported) continue\n if (exp.require) exportPaths.require.push(exp.require)\n if (exp.import) exportPaths.import.push(exp.import)\n }\n\n const external = [\n ...Object.keys(pkg.dependencies || {}),\n ...Object.keys(pkg.devDependencies || {}),\n ]\n\n const consoleSpy = createConsoleSpy()\n\n if (exportPaths.import.length) {\n checkExports(exportPaths.import, {cwd, external, format: 'esm', logger})\n }\n\n if (exportPaths.require.length) {\n checkExports(exportPaths.require, {cwd, external, format: 'cjs', logger})\n }\n\n consoleSpy.restore()\n }\n}\n\nasync function checkExports(\n exportPaths: string[],\n options: {cwd: string; external: string[]; format: 'esm' | 'cjs'; logger: Logger},\n) {\n const {cwd, external, format, logger} = options\n\n const code = exportPaths\n .map((id) => (format ? `import('${id}');` : `require('${id}');`))\n .join('\\n')\n\n try {\n const esbuildResult = await esbuild.build({\n bundle: true,\n external,\n format,\n logLevel: 'silent',\n // otherwise output maps to stdout as we're using stdin\n outfile: '/dev/null',\n platform: 'node',\n stdin: {\n contents: code,\n loader: 'js',\n resolveDir: cwd,\n },\n })\n\n if (esbuildResult.errors.length > 0) {\n for (const msg of esbuildResult.errors) {\n printEsbuildMessage(logger.warn, msg)\n\n logger.log()\n }\n\n process.exit(1)\n }\n\n const esbuildWarnings = esbuildResult.warnings.filter((msg) => {\n !(msg.detail || msg.text).includes(`does not affect esbuild's own target setting`)\n })\n\n for (const msg of esbuildWarnings) {\n printEsbuildMessage(logger.warn, msg)\n\n logger.log()\n }\n } catch (err) {\n const {errors} = err as BuildFailure\n\n for (const msg of errors) {\n printEsbuildMessage(logger.error, msg)\n\n logger.log()\n }\n\n process.exit(1)\n }\n}\n\nfunction printEsbuildMessage(log: (...args: unknown[]) => void, msg: esbuild.Message) {\n if (msg.location) {\n log(\n [\n `${msg.detail || msg.text}\\n`,\n `${msg.location.line} | ${msg.location.lineText}\\n`,\n `in ./${msg.location.file}:${msg.location.line}:${msg.location.column}`,\n ].join(''),\n )\n } else {\n log(msg.detail || msg.text)\n }\n}\n"],"names":["statSync","prettyBytes","path","fileExists","chalk","treeify","logger","createLogger","loadPkgWithReporting","loadConfig","getPkgExtMap","resolveBuildContext","consoleSpy","createConsoleSpy","esbuild"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"consoleSpy-bV4ZI2h8.cjs","sources":["../../src/node/core/config/findConfigFile.ts","../../src/node/core/config/loadConfig.ts","../../src/node/core/config/resolveConfigProperty.ts","../../src/node/core/defaults.ts","../../src/node/core/pkg/loadPkg.ts","../../src/node/core/pkg/helpers.ts","../../src/node/core/pkg/loadPkgWithReporting.ts","../../src/node/core/pkg/validateExports.ts","../../src/node/core/pkg/parseExports.ts","../../src/node/core/pkg/pkgExt.ts","../../src/node/core/ts/loadTSConfig.ts","../../src/node/core/findCommonPath.ts","../../src/node/resolveBrowserslistVersions.ts","../../src/node/resolveBrowserTarget.ts","../../src/node/resolveNodeTarget.ts","../../src/node/resolveBuildContext.ts","../../src/node/consoleSpy.ts"],"sourcesContent":["import findConfig from 'find-config'\nimport path from 'path'\n\nimport {fileExists} from '../../fileExists'\n\nconst CONFIG_FILE_NAMES = [\n 'package.config.ts',\n 'package.config.js',\n 'package.config.cjs',\n 'package.config.mjs',\n]\n\n/** @internal */\nexport function findConfigFile(cwd: string): string | undefined {\n const pkgJsonPath = findConfig('package.json', {cwd})\n\n if (!pkgJsonPath) return undefined\n\n const pkgPath = path.dirname(pkgJsonPath)\n\n for (const fileName of CONFIG_FILE_NAMES) {\n const configPath = path.resolve(pkgPath, fileName)\n\n const exists = fileExists(configPath)\n\n if (exists) {\n return configPath\n }\n }\n\n return undefined\n}\n","import {register} from 'esbuild-register/dist/node'\nimport path from 'path'\nimport pkgUp from 'pkg-up'\n\nimport {findConfigFile} from './findConfigFile'\nimport {PkgConfigOptions} from './types'\n\n/** @internal */\nexport async function loadConfig(options: {cwd: string}): Promise<PkgConfigOptions | undefined> {\n const {cwd} = options\n\n const pkgPath = await pkgUp({cwd})\n\n if (!pkgPath) return undefined\n\n const root = path.dirname(pkgPath)\n\n const configFile = await findConfigFile(root)\n\n if (!configFile) {\n return undefined\n }\n\n // Do not accept config files outside of the root\n if (!configFile.startsWith(cwd)) {\n return undefined\n }\n\n const esbuildOptions = {extensions: ['.js', '.mjs', '.ts']}\n\n const {unregister} = globalThis.__DEV__ ? {unregister: () => undefined} : register(esbuildOptions)\n\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const mod = require(configFile)\n\n unregister()\n\n return mod?.default || mod || undefined\n}\n","import {PkgConfigProperty, PkgConfigPropertyResolver} from './types'\n\n/** @internal */\nexport function resolveConfigProperty<T>(\n prop: PkgConfigProperty<T> | undefined,\n initialValue: T,\n): T {\n if (!prop) return initialValue\n\n if (typeof prop === 'function') {\n return (prop as PkgConfigPropertyResolver<T>)(initialValue)\n }\n\n return prop\n}\n","/** @public */\nexport const DEFAULT_BROWSERSLIST_QUERY = [\n '> 0.2% and supports es6-module and supports es6-module-dynamic-import',\n 'not dead',\n 'not IE 11',\n 'maintained node versions',\n]\n","import fs from 'fs/promises'\nimport pkgUp from 'pkg-up'\n\nimport {PackageJSON} from './types'\nimport {validatePkg} from './validatePkg'\n\n/** @internal */\nexport async function loadPkg(options: {cwd: string}): Promise<PackageJSON> {\n const {cwd} = options\n\n const pkgPath = await pkgUp({cwd})\n\n if (!pkgPath) throw new Error('no package.json found')\n\n const buf = await fs.readFile(pkgPath)\n\n const raw = JSON.parse(buf.toString())\n\n validatePkg(raw)\n\n return raw\n}\n","/** @internal */\nexport function assertFirst<T>(a: T, arr: T[]): boolean {\n const aIdx = arr.indexOf(a)\n\n // if not found, then we don't care\n if (aIdx === -1) {\n return true\n }\n\n return aIdx === 0\n}\n\n/** @internal */\nexport function assertLast<T>(a: T, arr: T[]): boolean {\n const aIdx = arr.indexOf(a)\n\n // if not found, then we don't care\n if (aIdx === -1) {\n return true\n }\n\n return aIdx === arr.length - 1\n}\n\n/** @internal */\nexport function assertOrder<T>(a: T, b: T, arr: T[]): boolean {\n const aIdx = arr.indexOf(a)\n const bIdx = arr.indexOf(b)\n\n // if either is not found, then we don't care\n if (aIdx === -1 || bIdx === -1) {\n return true\n }\n\n return aIdx < bIdx\n}\n","import chalk from 'chalk'\nimport {ZodError} from 'zod'\n\nimport {Logger} from '../../logger'\nimport {assertFirst, assertLast, assertOrder} from './helpers'\nimport {loadPkg} from './loadPkg'\nimport {PackageJSON} from './types'\n\n/** @internal */\nexport async function loadPkgWithReporting(options: {\n cwd: string\n logger: Logger\n}): Promise<PackageJSON> {\n const {cwd, logger} = options\n\n try {\n const pkg = await loadPkg({cwd})\n let shouldError = false\n\n // validate exports\n if (pkg.exports) {\n const _exports = Object.entries(pkg.exports)\n\n for (const [expPath, exp] of _exports) {\n if (typeof exp === 'string') {\n continue\n }\n\n const keys = Object.keys(exp)\n\n if (!assertFirst('types', keys)) {\n shouldError = true\n logger.error(`exports[\"${expPath}\"]: the \\`types\\` property should be the first property`)\n }\n\n if (exp.node) {\n const nodeKeys = Object.keys(exp.node)\n\n if (!assertOrder('module', 'import', nodeKeys)) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node.module\\` property should come before the \\`node.import\\` property`,\n )\n }\n\n if (!assertOrder('import', 'require', nodeKeys)) {\n logger.warn(\n `exports[\"${expPath}\"]: the \\`node.import\\` property should come before the \\`node.require\\` property`,\n )\n }\n\n if (!assertOrder('module', 'require', nodeKeys)) {\n logger.warn(\n `exports[\"${expPath}\"]: the \\`node.module\\` property should come before \\`node.require\\` property`,\n )\n }\n\n if (exp.import && exp.node.import && !assertOrder('node', 'import', keys)) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node\\` property should come before the \\`import\\` property`,\n )\n }\n\n if (exp.module && exp.node.module && !assertOrder('node', 'module', keys)) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node\\` property should come before the \\`module\\` property`,\n )\n }\n\n if (\n exp.node.import &&\n !exp.node.require &&\n exp.node.module &&\n exp.import &&\n exp.node.module !== exp.import\n ) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node.module\\` property should match \\`import\\``,\n )\n }\n\n if (exp.require && exp.node.require && exp.require === exp.node.require) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node.require\\` property isn't necessary as it's identical to \\`require\\``,\n )\n } else if (exp.require && exp.node.require && !assertOrder('node', 'require', keys)) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node\\` property should come before the \\`require\\` property`,\n )\n }\n } else {\n if (!assertOrder('import', 'require', keys)) {\n logger.warn(\n `exports[\"${expPath}\"]: the \\`import\\` property should come before the \\`require\\` property`,\n )\n }\n\n if (!assertOrder('module', 'import', keys)) {\n logger.warn(\n `exports[\"${expPath}\"]: the \\`module\\` property should come before \\`import\\` property`,\n )\n }\n }\n\n if (!assertLast('default', keys)) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`default\\` property should be the last property`,\n )\n }\n }\n }\n\n if (shouldError) {\n process.exit(1)\n }\n\n return pkg\n } catch (err) {\n if (err instanceof ZodError) {\n for (const issue of err.issues) {\n if (issue.code === 'invalid_type') {\n logger.error(\n [\n `\\`${formatPath(issue.path)}\\` `,\n `in \\`./package.json\\` must be of type ${chalk.magenta(issue.expected)} `,\n `(received ${chalk.magenta(issue.received)})`,\n ].join(''),\n )\n continue\n }\n\n logger.error(issue)\n }\n } else {\n logger.error(err)\n }\n\n process.exit(1)\n }\n}\n\nfunction formatPath(segments: Array<string | number>) {\n return segments\n .map((s, idx) => {\n if (idx === 0) return s\n\n if (typeof s === 'number') {\n return `[${s}]`\n }\n\n if (s.startsWith('.')) {\n return `[\"${s}\"]`\n }\n\n return `.${s}`\n })\n .join('')\n}\n","import {PkgExport} from '../config'\nimport {PkgExtMap} from './pkgExt'\nimport {PackageJSON} from './types'\n\nexport function validateExports(\n _exports: (PkgExport & {_path: string})[],\n options: {extMap: PkgExtMap; pkg: PackageJSON},\n): string[] {\n const {extMap, pkg} = options\n const ext = extMap[pkg.type || 'commonjs']\n\n const errors: string[] = []\n\n for (const exp of _exports) {\n if (exp.require && !exp.require.endsWith(ext.commonjs)) {\n errors.push(\n `package.json with \\`type: \"${pkg.type}\"\\` - \\`exports[\"${exp._path}\"].require\\` must end with \"${ext.commonjs}\"`,\n )\n }\n\n if (exp.import && !exp.import.endsWith(ext.esm)) {\n errors.push(\n `package.json with \\`type: \"${pkg.type}\"\\` - \\`exports[\"${exp._path}\"].import\\` must end with \"${ext.esm}\"`,\n )\n }\n }\n\n return errors\n}\n","import {PkgExport} from '../config'\nimport {isRecord} from '../isRecord'\nimport {PkgExtMap} from './pkgExt'\nimport {PackageJSON} from './types'\nimport {validateExports} from './validateExports'\n\n/** @internal */\nexport function parseExports(options: {\n extMap: PkgExtMap\n pkg: PackageJSON\n strict: boolean\n}): (PkgExport & {_path: string})[] {\n const {extMap, pkg, strict} = options\n\n const rootExport: PkgExport & {_path: string} = {\n _exported: true,\n _path: '.',\n types: pkg.types,\n source: pkg.source || '',\n browser: pkg.browser && {\n source: pkg.source || '',\n require: pkg.main && pkg.browser[pkg.main],\n import: pkg.module && pkg.browser[pkg.module],\n },\n require: pkg.main,\n import: pkg.module,\n default: pkg.module || pkg.main || '',\n }\n\n const extraExports: (PkgExport & {_path: string})[] = []\n\n const errors: string[] = []\n\n if (pkg.exports) {\n if (strict && !pkg.exports['./package.json']) {\n errors.push('package.json: `exports[\"./package.json\"] must be declared.')\n }\n\n for (const [exportPath, exportEntry] of Object.entries(pkg.exports)) {\n if (exportPath.endsWith('.json')) {\n if (exportPath === './package.json') {\n if (exportEntry !== './package.json') {\n errors.push('package.json: `exports[\"./package.json\"] must be \"./package.json\".')\n }\n }\n } else if (isRecord(exportEntry)) {\n if (exportPath === '.') {\n if (\n exportEntry.require &&\n rootExport.require &&\n exportEntry.require !== rootExport.require\n ) {\n errors.push(\n 'package.json: mismatch between \"main\" and \"exports.require\". These must be equal.',\n )\n }\n\n if (exportEntry.import && rootExport.import && exportEntry.import !== rootExport.import) {\n errors.push(\n 'package.json: mismatch between \"module\" and \"exports.import\" These must be equal.',\n )\n }\n\n if (exportEntry.types && rootExport.types && exportEntry.types !== rootExport.types) {\n errors.push(\n 'package.json: mismatch between \"types\" and \"exports.types\". These must be equal.',\n )\n }\n\n if (exportEntry.source && rootExport.source && exportEntry.source !== rootExport.source) {\n errors.push(\n 'package.json: mismatch between \"source\" and \"exports.source\". These must be equal.',\n )\n }\n\n Object.assign(rootExport, exportEntry)\n } else {\n const extraExport: PkgExport & {_path: string} = {\n _exported: true,\n _path: exportPath,\n ...exportEntry,\n }\n\n extraExports.push(extraExport)\n }\n } else {\n errors.push('package.json: exports must be an object')\n }\n }\n }\n\n const _exports = [rootExport, ...extraExports]\n\n errors.push(...validateExports(_exports, {extMap, pkg}))\n\n if (errors.length) {\n throw new Error('\\n- ' + errors.join('\\n- '))\n }\n\n return _exports\n}\n","/** @internal */\nexport interface PkgExtMap {\n commonjs: {commonjs: string; esm: string}\n module: {commonjs: string; esm: string}\n}\n\n/** @internal */\nexport const DEFAULT_PKG_EXT_MAP: PkgExtMap = {\n // pkg.type: \"commonjs\"\n commonjs: {\n commonjs: '.js',\n esm: '.mjs',\n },\n\n // pkg.type: \"module\"\n module: {\n commonjs: '.cjs',\n esm: '.js',\n },\n}\n\n/** @internal */\nexport function getPkgExtMap(options: {legacyExports: boolean}): PkgExtMap {\n const {legacyExports} = options\n\n const ret = {...DEFAULT_PKG_EXT_MAP}\n\n // Fall back to legacy file extensions for package.json with `\"type\": \"commonjs\"`\n // NOTE: Not supported by Node 14+ and will be removed in a future version\n if (legacyExports) {\n ret['commonjs'] = {\n commonjs: '.js',\n esm: '.esm.js',\n }\n }\n\n return ret\n}\n","import ts from 'typescript'\n\n/** @internal */\nexport async function loadTSConfig(options: {\n cwd: string\n tsconfigPath: string\n}): Promise<ts.ParsedCommandLine | undefined> {\n const {cwd, tsconfigPath} = options\n\n const configPath = ts.findConfigFile(cwd, ts.sys.fileExists, tsconfigPath)\n\n if (!configPath) {\n return undefined\n }\n\n const configFile = ts.readConfigFile(configPath, ts.sys.readFile)\n\n return ts.parseJsonConfigFileContent(configFile.config, ts.sys, cwd)\n}\n","import path from 'path'\n\nexport function pathContains(containerPath: string, itemPath: string): boolean {\n return !path.relative(containerPath, itemPath).startsWith('..')\n}\n\nexport function findCommonDirPath(filePaths: string[]): string | undefined {\n let ret: string | undefined = undefined\n\n for (const filePath of filePaths) {\n let dirPath = path.dirname(filePath)\n\n if (!ret) {\n ret = dirPath\n continue\n }\n\n while (dirPath !== ret) {\n dirPath = path.dirname(dirPath)\n\n if (dirPath === ret) {\n break\n }\n\n if (pathContains(dirPath, ret)) {\n ret = dirPath\n break\n }\n\n if (dirPath === '.') return undefined\n }\n }\n\n return ret\n}\n","import browserslist from 'browserslist'\n\nexport interface PackageTargetVersions {\n chrome: string[]\n ff: string[]\n edge: string[]\n iosSaf: string[]\n saf: string[]\n opera: string[]\n node: string[]\n}\n\nfunction sortAsNumber(a: string, b: string) {\n const aVersion = Number(a)\n const bVersion = Number(b)\n\n return aVersion - bVersion\n}\n\nexport function resolveBrowserslistVersions(query: string[]): PackageTargetVersions {\n const result = browserslist(query)\n\n const entries = result.map((key) => {\n const [name, version] = key.split(' ')\n\n return {name, version: version.split('-')[0].split('.')[0]}\n })\n\n const andChr = entries.filter((b) => b.name === 'and_chr')\n const andFf = entries.filter((b) => b.name === 'and_ff')\n const chrome = entries.filter((b) => b.name === 'chrome')\n const edge = entries.filter((b) => b.name === 'edge')\n const ff = entries.filter((b) => b.name === 'firefox')\n const iosSaf = entries.filter((b) => b.name === 'ios_saf')\n const saf = entries.filter((b) => b.name === 'safari')\n const opera = entries.filter((b) => b.name === 'opera')\n const node = entries.filter((b) => b.name === 'node')\n\n // versions\n const versions: PackageTargetVersions = {\n chrome: andChr.concat(chrome).map((b) => b.version),\n ff: andFf.concat(ff).map((b) => b.version),\n edge: edge.map((b) => b.version),\n iosSaf: iosSaf.map((b) => b.version),\n saf: saf.map((b) => b.version),\n opera: opera.map((b) => b.version),\n node: node.map((b) => b.version),\n }\n\n // sort\n versions.chrome.sort(sortAsNumber)\n versions.ff.sort(sortAsNumber)\n versions.edge.sort(sortAsNumber)\n versions.iosSaf.sort(sortAsNumber)\n versions.saf.sort(sortAsNumber)\n versions.opera.sort(sortAsNumber)\n versions.node.sort(sortAsNumber)\n\n return versions\n}\n","import {PackageTargetVersions} from './resolveBrowserslistVersions'\n\nexport function resolveBrowserTarget(versions: PackageTargetVersions): string[] | undefined {\n const target: string[] = []\n\n if (versions.chrome.length) {\n target.push(`chrome${versions.chrome[0]}`)\n }\n\n if (versions.ff.length) {\n target.push(`firefox${versions.ff[0]}`)\n }\n\n if (versions.edge.length) {\n target.push(`edge${versions.edge[0]}`)\n }\n\n if (versions.iosSaf.length) {\n target.push(`ios${versions.iosSaf[0]}`)\n }\n\n if (versions.saf.length) {\n target.push(`safari${versions.saf[0]}`)\n }\n\n if (versions.opera.length) {\n target.push(`opera${versions.opera[0]}`)\n }\n\n if (target.length === 0) {\n return undefined\n }\n\n return target\n}\n","import {PackageTargetVersions} from './resolveBrowserslistVersions'\n\nexport function resolveNodeTarget(versions: PackageTargetVersions): string[] | undefined {\n const target: string[] = []\n\n if (versions.node.length) {\n target.push(`node${versions.node[0]}`)\n }\n\n if (target.length === 0) {\n return undefined\n }\n\n return target\n}\n","import path from 'path'\n\nimport {\n BuildContext,\n DEFAULT_BROWSERSLIST_QUERY,\n loadTSConfig,\n PackageJSON,\n parseExports,\n PkgConfigOptions,\n PkgExports,\n PkgExtMap,\n PkgRuntime,\n resolveConfigProperty,\n} from './core'\nimport {findCommonDirPath, pathContains} from './core/findCommonPath'\nimport {Logger} from './logger'\nimport {resolveBrowserslistVersions} from './resolveBrowserslistVersions'\nimport {resolveBrowserTarget} from './resolveBrowserTarget'\nimport {resolveNodeTarget} from './resolveNodeTarget'\n\nexport async function resolveBuildContext(options: {\n config?: PkgConfigOptions\n cwd: string\n emitDeclarationOnly?: boolean\n extMap: PkgExtMap\n logger: Logger\n pkg: PackageJSON\n strict: boolean\n tsconfig: string\n}): Promise<BuildContext> {\n const {\n config,\n cwd,\n emitDeclarationOnly = false,\n extMap,\n logger,\n pkg,\n strict,\n tsconfig: tsconfigPath,\n } = options\n const tsconfig = await loadTSConfig({cwd, tsconfigPath})\n const targetVersions = resolveBrowserslistVersions(pkg.browserslist || DEFAULT_BROWSERSLIST_QUERY)\n const nodeTarget = resolveNodeTarget(targetVersions)\n const webTarget = resolveBrowserTarget(targetVersions)\n\n if (!nodeTarget) {\n throw new Error('no matching `node` target')\n }\n\n if (!webTarget) {\n throw new Error('no matching `web` target')\n }\n\n const target: Record<PkgRuntime, string[]> = {\n '*': webTarget.concat(nodeTarget),\n 'browser': webTarget,\n 'node': nodeTarget,\n }\n\n const parsedExports = parseExports({extMap, pkg, strict}).reduce<PkgExports>((acc, x) => {\n const {_path: exportPath, ...exportEntry} = x\n\n return {...acc, [exportPath]: exportEntry}\n }, {})\n\n const exports = resolveConfigProperty(config?.exports, parsedExports)\n\n const parsedExternal = [\n ...(pkg.dependencies ? Object.keys(pkg.dependencies) : []),\n ...(pkg.peerDependencies ? Object.keys(pkg.peerDependencies) : []),\n ]\n\n // Merge externals if an array is provided, replace if it's a function\n const external =\n config && Array.isArray(config.external)\n ? [...parsedExternal, ...config.external]\n : resolveConfigProperty(config?.external, parsedExternal)\n\n const outputPaths = Object.values(exports)\n .flatMap((exportEntry) => {\n return [\n exportEntry.import,\n exportEntry.require,\n exportEntry.browser?.import,\n exportEntry.browser?.require,\n exportEntry.node?.source && exportEntry.node.import,\n exportEntry.node?.source && exportEntry.node.require,\n ].filter(Boolean) as string[]\n })\n .map((p) => path.resolve(cwd, p))\n\n const commonDistPath = findCommonDirPath(outputPaths)\n\n if (commonDistPath === cwd) {\n throw new Error(\n 'all output files must share a common parent directory which is not the root package directory',\n )\n }\n\n if (commonDistPath && !pathContains(cwd, commonDistPath)) {\n throw new Error('all output files must be located within the package')\n }\n\n const configDistPath = config?.dist ? path.resolve(cwd, config.dist) : undefined\n\n if (\n configDistPath &&\n commonDistPath &&\n configDistPath !== commonDistPath &&\n !pathContains(configDistPath, commonDistPath)\n ) {\n logger.log(`did you mean to configure \\`dist: './${path.relative(cwd, commonDistPath)}'\\`?`)\n\n throw new Error('all output files must be located with the configured `dist` path')\n }\n\n const distPath = configDistPath || commonDistPath\n\n if (!distPath) {\n throw new Error('could not detect `dist` path')\n }\n\n const ctx: BuildContext = {\n config,\n cwd,\n distPath,\n emitDeclarationOnly,\n exports,\n external,\n extMap,\n files: [],\n logger,\n pkg,\n runtime: config?.runtime ?? '*',\n strict,\n target,\n ts: {\n config: tsconfig,\n configPath: tsconfigPath,\n },\n }\n\n return ctx\n}\n","/* eslint-disable no-console */\n\nexport interface ConsoleSpyMsg {\n type: 'log' | 'warn' | 'error'\n code?: string\n args: unknown[]\n}\n\nexport interface ConsoleSpy {\n messages: ConsoleSpyMsg[]\n restore: () => void\n}\n\nexport function createConsoleSpy(options?: {\n onRestored?: (messages: ConsoleSpyMsg[]) => void\n}): ConsoleSpy {\n const {onRestored} = options || {}\n\n const original = {\n log: console.log,\n warn: console.warn,\n error: console.error,\n }\n\n const messages: ConsoleSpyMsg[] = []\n\n console.log = (...args: unknown[]) => messages.push({type: 'log', args})\n console.warn = (...args: unknown[]) => messages.push({type: 'warn', args})\n console.error = (...args: unknown[]) => messages.push({type: 'error', args})\n\n return {\n messages,\n restore: () => {\n console.log = original.log\n console.warn = original.warn\n console.error = original.error\n\n onRestored?.(messages)\n },\n }\n}\n"],"names":["findConfig","path","fileExists","pkgUp","register","fs","validatePkg","ZodError","chalk","isRecord","ts","browserslist"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger-c-JGqYo_.cjs","sources":["../../src/node/fileExists.ts","../../src/node/core/isRecord.ts","../../src/node/core/pkg/validatePkg.ts","../../src/node/logger.ts"],"sourcesContent":["import {statSync} from 'fs'\n\n/** @internal */\nexport function fileExists(filePath: string): boolean {\n try {\n statSync(filePath)\n\n return true\n } catch (_) {\n return false\n }\n}\n","/** @internal */\nexport function isRecord(value: unknown): value is Record<string, unknown> {\n return Boolean(value) && !Array.isArray(value) && typeof value === 'object'\n}\n","import {z} from 'zod'\n\nimport {PackageJSON} from './types'\n\nconst pkgSchema = z.object({\n type: z.optional(z.enum(['commonjs', 'module'])),\n name: z.string(),\n version: z.string(),\n license: z.string(),\n bin: z.optional(z.record(z.string())),\n dependencies: z.optional(z.record(z.string())),\n devDependencies: z.optional(z.record(z.string())),\n peerDependencies: z.optional(z.record(z.string())),\n source: z.optional(z.string()),\n main: z.optional(z.string()),\n browser: z.optional(z.record(z.string())),\n module: z.optional(z.string()),\n types: z.optional(z.string()),\n exports: z.optional(\n z.record(\n z.union([\n z.custom<`./${string}.json`>((val) => /^\\.\\/.*\\.json$/.test(val as string)),\n z.object({\n types: z.optional(z.string()),\n source: z.string(),\n browser: z.optional(\n z.object({\n source: z.string(),\n import: z.optional(z.string()),\n require: z.optional(z.string()),\n }),\n ),\n node: z.optional(\n z.object({\n source: z.optional(z.string()),\n module: z.optional(z.string()),\n import: z.optional(z.string()),\n require: z.optional(z.string()),\n }),\n ),\n module: z.optional(z.string()),\n import: z.optional(z.string()),\n require: z.optional(z.string()),\n default: z.string(),\n }),\n ]),\n ),\n ),\n browserslist: z.optional(z.array(z.string())),\n})\n\nexport function validatePkg(input: unknown): PackageJSON {\n return pkgSchema.parse(input)\n}\n","import chalk from 'chalk'\n\n/** @internal */\nexport interface Logger {\n log: (...args: unknown[]) => void\n info: (...args: unknown[]) => void\n warn: (...args: unknown[]) => void\n error: (...args: unknown[]) => void\n success: (...args: unknown[]) => void\n}\n\n/** @internal */\nexport function createLogger(): Logger {\n return {\n /* eslint-disable no-console */\n log: (...args) => {\n console.log(...args)\n },\n info: (...args) => {\n console.log(chalk.blue('[info]'), ...args)\n },\n warn: (...args) => {\n console.log(chalk.yellow('[warning]'), ...args)\n },\n error: (...args) => {\n console.log(chalk.red('[error]'), ...args)\n },\n success: (...args) => {\n console.log(chalk.green('[success]'), ...args)\n },\n /* eslint-enable no-console */\n }\n}\n"],"names":["statSync","z","chalk"],"mappings":"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"}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import browserslist from 'browserslist'
|
|
2
|
-
|
|
3
|
-
export interface PackageTargetVersions {
|
|
4
|
-
chrome: string[]
|
|
5
|
-
ff: string[]
|
|
6
|
-
edge: string[]
|
|
7
|
-
iosSaf: string[]
|
|
8
|
-
saf: string[]
|
|
9
|
-
opera: string[]
|
|
10
|
-
node: string[]
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
function sortAsNumber(a: string, b: string) {
|
|
14
|
-
const aVersion = Number(a)
|
|
15
|
-
const bVersion = Number(b)
|
|
16
|
-
|
|
17
|
-
return aVersion - bVersion
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export function resolveBrowserslistVersions(query: string[]): PackageTargetVersions {
|
|
21
|
-
const result = browserslist(query)
|
|
22
|
-
|
|
23
|
-
const entries = result.map((key) => {
|
|
24
|
-
const [name, version] = key.split(' ')
|
|
25
|
-
|
|
26
|
-
return {name, version: version.split('-')[0].split('.')[0]}
|
|
27
|
-
})
|
|
28
|
-
|
|
29
|
-
const andChr = entries.filter((b) => b.name === 'and_chr')
|
|
30
|
-
const andFf = entries.filter((b) => b.name === 'and_ff')
|
|
31
|
-
const chrome = entries.filter((b) => b.name === 'chrome')
|
|
32
|
-
const edge = entries.filter((b) => b.name === 'edge')
|
|
33
|
-
const ff = entries.filter((b) => b.name === 'firefox')
|
|
34
|
-
const iosSaf = entries.filter((b) => b.name === 'ios_saf')
|
|
35
|
-
const saf = entries.filter((b) => b.name === 'safari')
|
|
36
|
-
const opera = entries.filter((b) => b.name === 'opera')
|
|
37
|
-
const node = entries.filter((b) => b.name === 'node')
|
|
38
|
-
|
|
39
|
-
// versions
|
|
40
|
-
const versions: PackageTargetVersions = {
|
|
41
|
-
chrome: andChr.concat(chrome).map((b) => b.version),
|
|
42
|
-
ff: andFf.concat(ff).map((b) => b.version),
|
|
43
|
-
edge: edge.map((b) => b.version),
|
|
44
|
-
iosSaf: iosSaf.map((b) => b.version),
|
|
45
|
-
saf: saf.map((b) => b.version),
|
|
46
|
-
opera: opera.map((b) => b.version),
|
|
47
|
-
node: node.map((b) => b.version),
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
// sort
|
|
51
|
-
versions.chrome.sort(sortAsNumber)
|
|
52
|
-
versions.ff.sort(sortAsNumber)
|
|
53
|
-
versions.edge.sort(sortAsNumber)
|
|
54
|
-
versions.iosSaf.sort(sortAsNumber)
|
|
55
|
-
versions.saf.sort(sortAsNumber)
|
|
56
|
-
versions.opera.sort(sortAsNumber)
|
|
57
|
-
versions.node.sort(sortAsNumber)
|
|
58
|
-
|
|
59
|
-
return versions
|
|
60
|
-
}
|