@sanity/pkg-utils 1.16.2 → 1.17.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/{_resolveBuildContext-0d61dcca.js → _resolveBuildContext-6a4ed92a.js} +14 -4
- package/dist/_chunks/_resolveBuildContext-6a4ed92a.js.map +1 -0
- package/dist/_chunks/{build-a822eb55.js → build-ce9b3fba.js} +3 -3
- package/dist/_chunks/{build-a822eb55.js.map → build-ce9b3fba.js.map} +1 -1
- package/dist/_chunks/{buildAction-2b54017d.js → buildAction-1f1e18f0.js} +4 -4
- package/dist/_chunks/{buildAction-2b54017d.js.map → buildAction-1f1e18f0.js.map} +1 -1
- package/dist/_chunks/{check-f86cdc15.js → check-abba8425.js} +2 -2
- package/dist/_chunks/{check-f86cdc15.js.map → check-abba8425.js.map} +1 -1
- package/dist/_chunks/{checkAction-ea939b95.js → checkAction-0ec1ffd5.js} +3 -3
- package/dist/_chunks/{checkAction-ea939b95.js.map → checkAction-0ec1ffd5.js.map} +1 -1
- package/dist/_chunks/{index-7ec7f61a.js → index-b6235a62.js} +2 -2
- package/dist/_chunks/{index-7ec7f61a.js.map → index-b6235a62.js.map} +1 -1
- package/dist/_chunks/{watch-79594e7f.js → watch-7868b922.js} +3 -3
- package/dist/_chunks/{watch-79594e7f.js.map → watch-7868b922.js.map} +1 -1
- package/dist/_chunks/{watchAction-8d500150.js → watchAction-9bef2175.js} +4 -4
- package/dist/_chunks/{watchAction-8d500150.js.map → watchAction-9bef2175.js.map} +1 -1
- package/dist/cli.js +4 -4
- package/dist/index.d.ts +14 -13
- package/dist/index.esm.js +13 -3
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +5 -5
- package/package.json +3 -2
- package/src/node/_core/pkg/_parseExports.ts +11 -1
- package/src/node/_core/pkg/_types.ts +14 -13
- package/src/node/_core/pkg/_validatePkg.ts +24 -21
- package/dist/_chunks/_resolveBuildContext-0d61dcca.js.map +0 -1
package/dist/index.js
CHANGED
|
@@ -4,15 +4,15 @@ Object.defineProperty(exports, '__esModule', {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
|
|
7
|
-
var _resolveBuildContext = require('./_chunks/_resolveBuildContext-
|
|
7
|
+
var _resolveBuildContext = require('./_chunks/_resolveBuildContext-6a4ed92a.js');
|
|
8
8
|
|
|
9
|
-
var build = require('./_chunks/build-
|
|
9
|
+
var build = require('./_chunks/build-ce9b3fba.js');
|
|
10
10
|
|
|
11
|
-
var index = require('./_chunks/index-
|
|
11
|
+
var index = require('./_chunks/index-b6235a62.js');
|
|
12
12
|
|
|
13
|
-
var check = require('./_chunks/check-
|
|
13
|
+
var check = require('./_chunks/check-abba8425.js');
|
|
14
14
|
|
|
15
|
-
var watch = require('./_chunks/watch-
|
|
15
|
+
var watch = require('./_chunks/watch-7868b922.js');
|
|
16
16
|
|
|
17
17
|
require('path');
|
|
18
18
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sanity/pkg-utils",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.17.0",
|
|
4
4
|
"author": "Sanity.io <hello@sanity.io>",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "Simple utilities for modern npm packages.",
|
|
@@ -24,7 +24,8 @@
|
|
|
24
24
|
"import": "./dist/index.esm.js",
|
|
25
25
|
"require": "./dist/index.js",
|
|
26
26
|
"default": "./dist/index.esm.js"
|
|
27
|
-
}
|
|
27
|
+
},
|
|
28
|
+
"./package.json": "./package.json"
|
|
28
29
|
},
|
|
29
30
|
"bin": {
|
|
30
31
|
"pkg": "./bin/pkg-utils.js",
|
|
@@ -27,8 +27,18 @@ export function _parseExports(options: {pkg: _PackageJSON}): (PkgExport & {_path
|
|
|
27
27
|
const errors: string[] = []
|
|
28
28
|
|
|
29
29
|
if (pkg.exports) {
|
|
30
|
+
if (!pkg.exports['./package.json']) {
|
|
31
|
+
errors.push('package.json: `exports["./package.json"] must be declared.')
|
|
32
|
+
}
|
|
33
|
+
|
|
30
34
|
for (const [exportPath, exportEntry] of Object.entries(pkg.exports)) {
|
|
31
|
-
if (
|
|
35
|
+
if (exportPath.endsWith('.json')) {
|
|
36
|
+
if (exportPath === './package.json') {
|
|
37
|
+
if (exportEntry !== './package.json') {
|
|
38
|
+
errors.push('package.json: `exports["./package.json"] must be "./package.json".')
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
} else if (_isRecord(exportEntry)) {
|
|
32
42
|
if (exportPath === '.') {
|
|
33
43
|
if (
|
|
34
44
|
exportEntry.require &&
|
|
@@ -10,23 +10,24 @@ export interface _PackageJSON {
|
|
|
10
10
|
peerDependencies?: Record<string, string>
|
|
11
11
|
exports?: Record<
|
|
12
12
|
string,
|
|
13
|
-
{
|
|
14
|
-
|
|
15
|
-
types?: string
|
|
16
|
-
browser?: {
|
|
13
|
+
| `./${string}.json`
|
|
14
|
+
| {
|
|
17
15
|
source: string
|
|
18
|
-
|
|
16
|
+
types?: string
|
|
17
|
+
browser?: {
|
|
18
|
+
source: string
|
|
19
|
+
require?: string
|
|
20
|
+
import?: string
|
|
21
|
+
}
|
|
22
|
+
node?: {
|
|
23
|
+
source: string
|
|
24
|
+
require?: string
|
|
25
|
+
import?: string
|
|
26
|
+
}
|
|
19
27
|
import?: string
|
|
20
|
-
}
|
|
21
|
-
node?: {
|
|
22
|
-
source: string
|
|
23
28
|
require?: string
|
|
24
|
-
|
|
29
|
+
default: string
|
|
25
30
|
}
|
|
26
|
-
import?: string
|
|
27
|
-
require?: string
|
|
28
|
-
default: string
|
|
29
|
-
}
|
|
30
31
|
>
|
|
31
32
|
main?: string
|
|
32
33
|
browser?: Record<string, string>
|
|
@@ -17,27 +17,30 @@ const pkgSchema = z.object({
|
|
|
17
17
|
types: z.optional(z.string()),
|
|
18
18
|
exports: z.optional(
|
|
19
19
|
z.record(
|
|
20
|
-
z.
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
z.
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
20
|
+
z.union([
|
|
21
|
+
z.custom<`./${string}.json`>((val) => /^\.\/.*\.json$/.test(val as string)),
|
|
22
|
+
z.object({
|
|
23
|
+
types: z.optional(z.string()),
|
|
24
|
+
source: z.string(),
|
|
25
|
+
browser: z.optional(
|
|
26
|
+
z.object({
|
|
27
|
+
source: z.string(),
|
|
28
|
+
require: z.optional(z.string()),
|
|
29
|
+
import: z.optional(z.string()),
|
|
30
|
+
})
|
|
31
|
+
),
|
|
32
|
+
node: z.optional(
|
|
33
|
+
z.object({
|
|
34
|
+
source: z.string(),
|
|
35
|
+
require: z.optional(z.string()),
|
|
36
|
+
import: z.optional(z.string()),
|
|
37
|
+
})
|
|
38
|
+
),
|
|
39
|
+
require: z.optional(z.string()),
|
|
40
|
+
import: z.optional(z.string()),
|
|
41
|
+
default: z.string(),
|
|
42
|
+
}),
|
|
43
|
+
])
|
|
41
44
|
)
|
|
42
45
|
),
|
|
43
46
|
browserslist: z.optional(z.array(z.string())),
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_resolveBuildContext-0d61dcca.js","sources":["../../src/node/_core/_constants.ts","../../src/node/_core/_defaults.ts","../../src/node/_core/_isRecord.ts","../../src/node/_core/config/_findConfigFile.ts","../../src/node/_core/config/_loadConfig.ts","../../src/node/_core/config/_resolveConfigProperty.ts","../../src/node/_core/pkg/_validatePkg.ts","../../src/node/_core/pkg/_loadPkg.ts","../../src/node/_core/pkg/_loadPkgWithReporting.ts","../../src/node/_core/pkg/_validateExports.ts","../../src/node/_core/pkg/_parseExports.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"],"sourcesContent":["/** @internal */\nexport const _MODULE_EXT: Record<'commonjs' | 'module', {commonjs: string; esm: string}> = {\n // pkg.type: \"commonjs\"\n commonjs: {\n commonjs: '.js',\n // NOTE: using the `.mjs` extension causing issues in situations where\n // not every and all dependencies support ESM exports.\n // So for now, we require the ESM modules to have the `.esm.js` extension.\n esm: '.esm.js',\n },\n\n // pkg.type: \"module\"\n module: {\n commonjs: '.cjs',\n esm: '.js',\n },\n}\n","/** @internal */\nexport const _DEFAULTS = {\n browserslist: [\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}\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 {stat} from 'fs/promises'\nimport path from 'path'\nimport findConfig from 'find-config'\n\nconst CONFIG_FILE_NAMES = [\n 'package.config.ts',\n 'package.config.js',\n 'package.config.cjs',\n 'package.config.mjs',\n]\n\nexport async function _findConfigFile(cwd: string): Promise<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 = await _fileExists(configPath)\n\n if (exists) {\n return configPath\n }\n }\n\n return undefined\n}\n\nasync function _fileExists(filePath: string) {\n try {\n await stat(filePath)\n\n return true\n } catch (_) {\n return false\n }\n}\n","import path from 'path'\nimport {register} from 'esbuild-register/dist/node'\nimport pkgUp from 'pkg-up'\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 try {\n const {unregister} = register({extensions: ['.js', '.mjs', '.ts']})\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 } catch (_) {\n return undefined\n }\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","import {z} from 'zod'\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.object({\n types: z.optional(z.string()),\n source: z.string(),\n browser: z.optional(\n z.object({\n source: z.string(),\n require: z.optional(z.string()),\n import: z.optional(z.string()),\n })\n ),\n node: z.optional(\n z.object({\n source: z.string(),\n require: z.optional(z.string()),\n import: z.optional(z.string()),\n })\n ),\n require: z.optional(z.string()),\n import: z.optional(z.string()),\n default: z.string(),\n })\n )\n ),\n browserslist: z.optional(z.array(z.string())),\n})\n\nexport function _validatePkg(input: unknown): _PackageJSON {\n const pkg = pkgSchema.parse(input)\n\n return {...pkg, type: pkg.type || 'commonjs'}\n}\n","import fs from 'fs/promises'\nimport pkgUp from 'pkg-up'\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 return _validatePkg(JSON.parse(buf.toString()))\n}\n","/* eslint-disable no-console */\n\nimport chalk from 'chalk'\nimport {ZodError} from 'zod'\nimport {_loadPkg} from './_loadPkg'\nimport {_PackageJSON} from './_types'\n\n/** @internal */\nexport async function _loadPkgWithReporting(options: {cwd: string}): Promise<_PackageJSON> {\n try {\n return await _loadPkg(options)\n } catch (err) {\n if (err instanceof ZodError) {\n for (const issue of err.issues) {\n if (issue.code === 'invalid_type') {\n console.log(\n [\n `${chalk.red('fail')} \\`${_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 }\n }\n } else {\n console.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 {_MODULE_EXT} from '../_constants'\nimport {PkgExport} from '../config'\nimport {_PackageJSON} from './_types'\n\nexport function _validateExports(\n _exports: (PkgExport & {_path: string})[],\n options: {pkg: _PackageJSON}\n): string[] {\n const {pkg} = options\n const ext = _MODULE_EXT[pkg.type]\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 {_isRecord} from '../_isRecord'\nimport {PkgExport} from '../config'\nimport {_PackageJSON} from './_types'\nimport {_validateExports} from './_validateExports'\n\n/** @internal */\nexport function _parseExports(options: {pkg: _PackageJSON}): (PkgExport & {_path: string})[] {\n const {pkg} = 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 import: pkg.module,\n require: pkg.main,\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 for (const [exportPath, exportEntry] of Object.entries(pkg.exports)) {\n 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, {pkg}))\n\n if (errors.length) {\n throw new Error('\\n- ' + errors.join('\\n- '))\n }\n\n return _exports\n}\n","import ts from 'typescript'\n\n/** @internal */\nexport async function _loadTSConfig(options: {\n cwd: string\n tsconfigPath: string\n}): Promise<ts.ParsedCommandLine> {\n const {cwd, tsconfigPath} = options\n\n const configPath = ts.findConfigFile(cwd, ts.sys.fileExists, tsconfigPath)\n\n if (!configPath) {\n throw new Error(`could not find a valid '${tsconfigPath}'`)\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'\nimport chalk from 'chalk'\nimport {\n PkgConfigOptions,\n PkgExports,\n PkgRuntime,\n _BuildContext,\n _DEFAULTS,\n _loadTSConfig,\n _PackageJSON,\n _parseExports,\n _resolveConfigProperty,\n} from './_core'\nimport {_findCommonDirPath, _pathContains} from './_core/_findCommonPath'\nimport {_resolveBrowserslistVersions} from './_resolveBrowserslistVersions'\nimport {_resolveBrowserTarget} from './_resolveBrowserTarget'\nimport {_resolveNodeTarget} from './_resolveNodeTarget'\n\nfunction _createLogger(): _BuildContext['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(' warn'), ...args)\n },\n error: (...args) => {\n console.log(chalk.red(' fail'), ...args)\n },\n success: (...args) => {\n console.log(chalk.green(' ok '), ...args)\n },\n /* eslint-enable no-console */\n }\n}\n\nexport async function _resolveBuildContext(options: {\n config?: PkgConfigOptions\n cwd: string\n emitDeclarationOnly?: boolean\n pkg: _PackageJSON\n strict: boolean\n tsconfig: string\n}): Promise<_BuildContext> {\n const {config, cwd, emitDeclarationOnly = false, pkg, strict, tsconfig: tsconfigPath} = options\n const logger = _createLogger()\n const tsconfig = await _loadTSConfig({cwd, tsconfigPath})\n const targetVersions = _resolveBrowserslistVersions(pkg.browserslist || _DEFAULTS.browserslist)\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({pkg}).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?.import,\n 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 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"],"names":["_MODULE_EXT","commonjs","esm","module","_DEFAULTS","browserslist","_isRecord","value","Boolean","Array","isArray","CONFIG_FILE_NAMES","_findConfigFile","cwd","pkgJsonPath","findConfig","pkgPath","path","dirname","fileName","configPath","resolve","exists","_fileExists","filePath","stat","_","_loadConfig","options","pkgUp","root","configFile","startsWith","unregister","register","extensions","mod","require","default","_resolveConfigProperty","prop","initialValue","pkgSchema","z","object","type","optional","enum","name","string","version","license","bin","record","dependencies","devDependencies","peerDependencies","source","main","browser","types","exports","import","node","array","_validatePkg","input","pkg","parse","_loadPkg","Error","buf","fs","readFile","JSON","toString","_loadPkgWithReporting","err","ZodError","issue","issues","code","console","log","chalk","red","_formatPath","magenta","expected","received","join","error","process","exit","segments","map","s","idx","_validateExports","_exports","ext","errors","exp","endsWith","push","_path","_parseExports","rootExport","_exported","extraExports","exportPath","exportEntry","Object","entries","assign","extraExport","length","_loadTSConfig","tsconfigPath","ts","findConfigFile","sys","fileExists","readConfigFile","parseJsonConfigFileContent","config","_pathContains","containerPath","itemPath","relative","_findCommonDirPath","filePaths","ret","dirPath","_sortAsNumber","a","b","aVersion","Number","bVersion","_resolveBrowserslistVersions","query","result","key","split","andChr","filter","andFf","chrome","edge","ff","iosSaf","saf","opera","versions","concat","sort","_resolveBrowserTarget","target","_resolveNodeTarget","_createLogger","info","args","blue","warn","yellow","success","green","_resolveBuildContext","emitDeclarationOnly","strict","tsconfig","logger","targetVersions","nodeTarget","webTarget","parsedExports","reduce","acc","x","parsedExternal","keys","external","outputPaths","values","flatMap","_a","_b","_c","_d","p","commonDistPath","configDistPath","dist","distPath","ctx","files","runtime"],"mappings":"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"}
|