@sanity/pkg-utils 3.3.9-canary.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.
Files changed (38) hide show
  1. package/dist/_chunks/{build-xtvcN4rn.cjs → build-N7HnlT8k.cjs} +5 -4
  2. package/dist/_chunks/{build-xtvcN4rn.cjs.map → build-N7HnlT8k.cjs.map} +1 -1
  3. package/dist/_chunks/{buildAction-lOl6hAY8.cjs → buildAction-yqNgk-aq.cjs} +2 -2
  4. package/dist/_chunks/{buildAction-lOl6hAY8.cjs.map → buildAction-yqNgk-aq.cjs.map} +1 -1
  5. package/dist/_chunks/{check-5On74q2h.cjs → check-j5YR3hUi.cjs} +4 -3
  6. package/dist/_chunks/check-j5YR3hUi.cjs.map +1 -0
  7. package/dist/_chunks/{checkAction-RYG9-Wqo.cjs → checkAction-AD9RJftD.cjs} +2 -2
  8. package/dist/_chunks/{checkAction-RYG9-Wqo.cjs.map → checkAction-AD9RJftD.cjs.map} +1 -1
  9. package/dist/_chunks/{consoleSpy-bV4ZI2h8.cjs → consoleSpy-HqQIfX7k.cjs} +112 -73
  10. package/dist/_chunks/consoleSpy-HqQIfX7k.cjs.map +1 -0
  11. package/dist/_chunks/{index-YSy1xob6.cjs → index-0-iA8gVL.cjs} +4 -3
  12. package/dist/_chunks/{index-YSy1xob6.cjs.map → index-0-iA8gVL.cjs.map} +1 -1
  13. package/dist/_chunks/{init-tT7f7xkO.cjs → init-9DSt45GN.cjs} +3 -2
  14. package/dist/_chunks/{init-tT7f7xkO.cjs.map → init-9DSt45GN.cjs.map} +1 -1
  15. package/dist/_chunks/{initAction-zkJJWu4U.cjs → initAction-sChm6v2i.cjs} +2 -2
  16. package/dist/_chunks/{initAction-zkJJWu4U.cjs.map → initAction-sChm6v2i.cjs.map} +1 -1
  17. package/dist/_chunks/{logger-c-JGqYo_.cjs → logger-L4V-Be7d.cjs} +2 -2
  18. package/dist/_chunks/logger-L4V-Be7d.cjs.map +1 -0
  19. package/dist/_chunks/{watch-Mo2KRBJf.cjs → watch-3unutrcJ.cjs} +5 -4
  20. package/dist/_chunks/{watch-Mo2KRBJf.cjs.map → watch-3unutrcJ.cjs.map} +1 -1
  21. package/dist/_chunks/{watchAction-7JsrPTEX.cjs → watchAction-0OCDBHAy.cjs} +2 -2
  22. package/dist/_chunks/{watchAction-7JsrPTEX.cjs.map → watchAction-0OCDBHAy.cjs.map} +1 -1
  23. package/dist/cli.cjs +5 -5
  24. package/dist/index.cjs +7 -7
  25. package/dist/index.d.ts +1 -1
  26. package/dist/index.js +108 -70
  27. package/dist/index.js.map +1 -1
  28. package/package.json +32 -35
  29. package/src/node/core/defaults.ts +3 -6
  30. package/src/node/core/pkg/types.ts +1 -1
  31. package/src/node/core/pkg/validatePkg.ts +1 -1
  32. package/src/node/resolveBrowserTarget.ts +10 -28
  33. package/src/node/resolveBuildContext.ts +13 -2
  34. package/src/node/resolveNodeTarget.ts +2 -8
  35. package/dist/_chunks/check-5On74q2h.cjs.map +0 -1
  36. package/dist/_chunks/consoleSpy-bV4ZI2h8.cjs.map +0 -1
  37. package/dist/_chunks/logger-c-JGqYo_.cjs.map +0 -1
  38. 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": "3.3.9-canary.0",
3
+ "version": "4.1.0",
4
4
  "description": "Simple utilities for modern npm packages.",
5
5
  "keywords": [
6
6
  "sanity-io",
@@ -46,24 +46,6 @@
46
46
  "!dist/stats.html",
47
47
  "src"
48
48
  ],
49
- "scripts": {
50
- "build": "run-s clean build:pkg check:pkg",
51
- "build:pkg": "node -r esbuild-register scripts/build",
52
- "check:pkg": "node -r esbuild-register scripts/check",
53
- "check:types": "tsc --build",
54
- "clean": "rimraf dist test/env/__tmp__",
55
- "commit": "cz",
56
- "extract": "sanity-tsdoc etl --outDir etc/api/@sanity/pkg-utils --tsconfig tsconfig.dist.json",
57
- "format": "prettier --write --cache --ignore-unknown . && eslint . --ext .cjs,.js,.ts,.tsx --fix --quiet",
58
- "lint": "eslint . --ext .cjs,.js,.ts,.tsx",
59
- "playground:build": "pnpm --filter './playground/**' build",
60
- "playground:clean": "pnpm --filter './playground/**' --silent clean",
61
- "prepublishOnly": "pnpm run build",
62
- "test": "run-s playground:clean test:clean vitest:run",
63
- "test:clean": "rimraf test/env/__tmp__",
64
- "vitest:run": "vitest run",
65
- "watch": "node -r esbuild-register scripts/watch"
66
- },
67
49
  "commitlint": {
68
50
  "extends": [
69
51
  "@commitlint/config-conventional"
@@ -75,10 +57,11 @@
75
57
  "eslint --ext .cjs,.js,.ts,.tsx --fix"
76
58
  ]
77
59
  },
60
+ "browserslist": "extends @sanity/browserslist-config",
78
61
  "dependencies": {
79
62
  "@babel/core": "^7.23.7",
80
63
  "@babel/types": "^7.23.6",
81
- "@microsoft/api-extractor": "^7.39.1",
64
+ "@microsoft/api-extractor": "^7.39.4",
82
65
  "@microsoft/tsdoc-config": "^0.16.2",
83
66
  "@rollup/plugin-alias": "^5.1.0",
84
67
  "@rollup/plugin-babel": "^6.0.4",
@@ -87,17 +70,18 @@
87
70
  "@rollup/plugin-node-resolve": "^15.2.3",
88
71
  "@rollup/plugin-replace": "^5.0.5",
89
72
  "@rollup/plugin-terser": "^0.4.4",
73
+ "@sanity/browserslist-config": "^1.0.0",
90
74
  "browserslist": "^4.22.2",
91
75
  "cac": "^6.7.14",
92
76
  "chalk": "^4.1.2",
93
77
  "chokidar": "^3.5.3",
94
- "esbuild": "^0.19.11",
78
+ "esbuild": "^0.19.12",
95
79
  "esbuild-register": "^3.5.0",
96
80
  "find-config": "^1.0.0",
97
81
  "get-latest-version": "^5.1.0",
98
82
  "git-url-parse": "^14.0.0",
99
83
  "globby": "^11.1.0",
100
- "jsonc-parser": "^3.2.0",
84
+ "jsonc-parser": "^3.2.1",
101
85
  "mkdirp": "^3.0.1",
102
86
  "outdent": "^0.8.0",
103
87
  "parse-git-config": "^3.0.0",
@@ -108,16 +92,15 @@
108
92
  "prompts": "^2.4.2",
109
93
  "rimraf": "^4.4.1",
110
94
  "rollup": "^4.9.6",
111
- "rollup-plugin-esbuild": "^6.1.0",
95
+ "rollup-plugin-esbuild": "^6.1.1",
112
96
  "rxjs": "^7.8.1",
113
97
  "treeify": "^1.1.0",
114
98
  "uuid": "^9.0.1",
115
99
  "zod": "^3.22.4"
116
100
  },
117
101
  "devDependencies": {
118
- "@commitlint/cli": "^18.4.4",
119
- "@commitlint/config-conventional": "^18.4.4",
120
- "@sanity/pkg-utils": "workspace:*",
102
+ "@commitlint/cli": "^18.6.0",
103
+ "@commitlint/config-conventional": "^18.6.0",
121
104
  "@types/babel__core": "^7.20.5",
122
105
  "@types/cpx": "^1.5.5",
123
106
  "@types/find-config": "^1.0.4",
@@ -128,8 +111,9 @@
128
111
  "@types/rimraf": "^3.0.2",
129
112
  "@types/treeify": "^1.0.3",
130
113
  "@types/uuid": "^9.0.7",
131
- "@typescript-eslint/eslint-plugin": "^6.19.0",
132
- "@typescript-eslint/parser": "^6.19.0",
114
+ "@typescript-eslint/eslint-plugin": "^6.19.1",
115
+ "@typescript-eslint/parser": "^6.19.1",
116
+ "browserslist-to-esbuild": "2.1.1",
133
117
  "commitizen": "^4.3.0",
134
118
  "cpx": "^1.5.0",
135
119
  "cz-conventional-changelog": "^3.3.0",
@@ -147,21 +131,34 @@
147
131
  "ts-node": "^10.9.2",
148
132
  "typescript": "^5.3.3",
149
133
  "vitest": "^1.2.1",
150
- "vitest-github-actions-reporter": "^0.11.1"
134
+ "vitest-github-actions-reporter": "^0.11.1",
135
+ "@sanity/pkg-utils": "4.1.0"
151
136
  },
152
137
  "peerDependencies": {
153
138
  "typescript": "^4.7 || ^5"
154
139
  },
155
- "packageManager": "pnpm@8.14.1",
140
+ "packageManager": "pnpm@8.14.3",
156
141
  "engines": {
157
142
  "node": ">=16.0.0"
158
143
  },
159
144
  "publishConfig": {
160
145
  "access": "public"
161
146
  },
162
- "pnpm": {
163
- "overrides": {
164
- "@sanity/pkg-utils": "workspace:*"
165
- }
147
+ "scripts": {
148
+ "build": "run-s clean build:pkg check:pkg",
149
+ "build:pkg": "node -r esbuild-register scripts/build",
150
+ "check:pkg": "node -r esbuild-register scripts/check",
151
+ "check:types": "tsc --build",
152
+ "clean": "rimraf dist test/env/__tmp__",
153
+ "commit": "cz",
154
+ "extract": "sanity-tsdoc etl --outDir etc/api/@sanity/pkg-utils --tsconfig tsconfig.dist.json",
155
+ "format": "prettier --write --cache --ignore-unknown . && eslint . --ext .cjs,.js,.ts,.tsx --fix --quiet",
156
+ "lint": "eslint . --ext .cjs,.js,.ts,.tsx",
157
+ "playground:build": "pnpm --filter './playground/**' build",
158
+ "playground:clean": "pnpm --filter './playground/**' --silent clean",
159
+ "test": "run-s playground:clean test:clean vitest:run",
160
+ "test:clean": "rimraf test/env/__tmp__",
161
+ "vitest:run": "vitest run",
162
+ "watch": "node -r esbuild-register scripts/watch"
166
163
  }
167
- }
164
+ }
@@ -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
@@ -41,7 +41,7 @@ export interface PackageJSON {
41
41
  types?: string
42
42
  files?: string[]
43
43
  scripts?: Record<string, string | undefined>
44
- browserslist?: string[]
44
+ browserslist?: string | string[]
45
45
  engines?: {
46
46
  node?: string
47
47
  npm?: string
@@ -46,7 +46,7 @@ const pkgSchema = z.object({
46
46
  ]),
47
47
  ),
48
48
  ),
49
- browserslist: z.optional(z.array(z.string())),
49
+ browserslist: z.optional(z.union([z.string(), z.array(z.string())])),
50
50
  })
51
51
 
52
52
  export function validatePkg(input: unknown): PackageJSON {
@@ -1,31 +1,13 @@
1
- import {PackageTargetVersions} from './resolveBrowserslistVersions'
2
-
3
- export function resolveBrowserTarget(versions: PackageTargetVersions): string[] | undefined {
4
- const target: string[] = []
5
-
6
- if (versions.chrome.length) {
7
- target.push(`chrome${versions.chrome[0]}`)
8
- }
9
-
10
- if (versions.ff.length) {
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
- const targetVersions = resolveBrowserslistVersions(pkg.browserslist || DEFAULT_BROWSERSLIST_QUERY)
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
- import {PackageTargetVersions} from './resolveBrowserslistVersions'
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
- }