@sanity/pkg-utils 1.9.0 → 1.10.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/{__resolveBuildContext-17992a0e.cjs → __resolveBuildContext-6eae01b8.cjs} +45 -36
- package/dist/__resolveBuildContext-6eae01b8.cjs.map +1 -0
- package/dist/{_build-526356ff.cjs → _build-ca3c98fa.cjs} +28 -9
- package/dist/_build-ca3c98fa.cjs.map +1 -0
- package/dist/{_buildAction-c4426eb4.cjs → _buildAction-9dfec4e0.cjs} +8 -8
- package/dist/{_buildAction-c4426eb4.cjs.map → _buildAction-9dfec4e0.cjs.map} +1 -1
- package/dist/{_check-069b0db0.cjs → _check-999d6370.cjs} +2 -2
- package/dist/{_check-069b0db0.cjs.map → _check-999d6370.cjs.map} +1 -1
- package/dist/{_checkAction-d3a8b220.cjs → _checkAction-1e3718d5.cjs} +7 -7
- package/dist/{_checkAction-d3a8b220.cjs.map → _checkAction-1e3718d5.cjs.map} +1 -1
- package/dist/{_index-bc62cfaa.cjs → _index-af5d7ae6.cjs} +4 -4
- package/dist/{_index-bc62cfaa.cjs.map → _index-af5d7ae6.cjs.map} +1 -1
- package/dist/{_watch-91ef3209.cjs → _watch-98f2f5d3.cjs} +3 -3
- package/dist/{_watch-91ef3209.cjs.map → _watch-98f2f5d3.cjs.map} +1 -1
- package/dist/{_watchAction-10ee08fc.cjs → _watchAction-c065319c.cjs} +8 -8
- package/dist/{_watchAction-10ee08fc.cjs.map → _watchAction-c065319c.cjs.map} +1 -1
- package/dist/cli.cjs +4 -4
- package/dist/index.cjs +7 -7
- package/dist/{types/src/node/index.d.ts → index.d.ts} +9 -0
- package/dist/index.js +63 -35
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
- package/src/node/_core/config/_findConfigFile.ts +40 -0
- package/src/node/_core/config/_loadConfig.ts +5 -23
- package/src/node/_core/config/types.ts +9 -0
- package/src/node/_resolveBuildTasks.ts +28 -8
- package/dist/__resolveBuildContext-17992a0e.cjs.map +0 -1
- package/dist/_build-526356ff.cjs.map +0 -1
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"type": "module",
|
|
3
3
|
"name": "@sanity/pkg-utils",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.10.0",
|
|
5
5
|
"author": "Sanity.io <hello@sanity.io>",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"description": "Simple utilities for modern npm packages.",
|
|
@@ -17,10 +17,10 @@
|
|
|
17
17
|
"source": "./src/node/index.ts",
|
|
18
18
|
"main": "./dist/index.cjs",
|
|
19
19
|
"module": "./dist/index.js",
|
|
20
|
-
"types": "./dist/
|
|
20
|
+
"types": "./dist/index.d.ts",
|
|
21
21
|
"exports": {
|
|
22
22
|
".": {
|
|
23
|
-
"types": "./dist/
|
|
23
|
+
"types": "./dist/index.d.ts",
|
|
24
24
|
"source": "./src/node/index.ts",
|
|
25
25
|
"import": "./dist/index.js",
|
|
26
26
|
"require": "./dist/index.cjs",
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import {stat} from 'fs/promises'
|
|
2
|
+
import path from 'path'
|
|
3
|
+
import findConfig from 'find-config'
|
|
4
|
+
|
|
5
|
+
const CONFIG_FILE_NAMES = [
|
|
6
|
+
'package.config.ts',
|
|
7
|
+
'package.config.js',
|
|
8
|
+
'package.config.cjs',
|
|
9
|
+
'package.config.mjs',
|
|
10
|
+
]
|
|
11
|
+
|
|
12
|
+
export async function _findConfigFile(cwd: string): Promise<string | undefined> {
|
|
13
|
+
const pkgJsonPath = findConfig('package.json', {cwd})
|
|
14
|
+
|
|
15
|
+
if (!pkgJsonPath) return undefined
|
|
16
|
+
|
|
17
|
+
const pkgPath = path.dirname(pkgJsonPath)
|
|
18
|
+
|
|
19
|
+
for (const fileName of CONFIG_FILE_NAMES) {
|
|
20
|
+
const configPath = path.resolve(pkgPath, fileName)
|
|
21
|
+
|
|
22
|
+
const exists = await _fileExists(configPath)
|
|
23
|
+
|
|
24
|
+
if (exists) {
|
|
25
|
+
return configPath
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
return undefined
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
async function _fileExists(filePath: string) {
|
|
33
|
+
try {
|
|
34
|
+
await stat(filePath)
|
|
35
|
+
|
|
36
|
+
return true
|
|
37
|
+
} catch (_) {
|
|
38
|
+
return false
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import path from 'path'
|
|
2
2
|
import {register} from 'esbuild-register/dist/node'
|
|
3
|
-
import findConfig from 'find-config'
|
|
4
3
|
import pkgUp from 'pkg-up'
|
|
4
|
+
import {_findConfigFile} from './_findConfigFile'
|
|
5
5
|
import {PkgConfigOptions} from './types'
|
|
6
6
|
|
|
7
7
|
/** @internal */
|
|
@@ -14,24 +14,22 @@ export async function _loadConfig(options: {cwd: string}): Promise<PkgConfigOpti
|
|
|
14
14
|
|
|
15
15
|
const root = path.dirname(pkgPath)
|
|
16
16
|
|
|
17
|
-
const configFile = _findConfigFile(root)
|
|
17
|
+
const configFile = await _findConfigFile(root)
|
|
18
18
|
|
|
19
19
|
if (!configFile) {
|
|
20
20
|
return undefined
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
// Do not accept config files outside of the root
|
|
24
|
-
if (!configFile.
|
|
24
|
+
if (!configFile.startsWith(cwd)) {
|
|
25
25
|
return undefined
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
try {
|
|
29
|
-
const {unregister} =
|
|
30
|
-
? register({extensions: ['.js', '.ts']})
|
|
31
|
-
: {unregister: () => undefined}
|
|
29
|
+
const {unregister} = register({extensions: ['.js', '.mjs', '.ts']})
|
|
32
30
|
|
|
33
31
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
34
|
-
const mod = require(configFile
|
|
32
|
+
const mod = require(configFile)
|
|
35
33
|
|
|
36
34
|
unregister()
|
|
37
35
|
|
|
@@ -40,19 +38,3 @@ export async function _loadConfig(options: {cwd: string}): Promise<PkgConfigOpti
|
|
|
40
38
|
return undefined
|
|
41
39
|
}
|
|
42
40
|
}
|
|
43
|
-
|
|
44
|
-
// Looks for:
|
|
45
|
-
// 1. package.config.ts
|
|
46
|
-
// 2. package.config.cjs
|
|
47
|
-
//
|
|
48
|
-
function _findConfigFile(cwd: string): {path: string; transform: boolean} | null {
|
|
49
|
-
const ts = findConfig('package.config.ts', {cwd})
|
|
50
|
-
|
|
51
|
-
if (ts) return {path: ts, transform: true}
|
|
52
|
-
|
|
53
|
-
const cjs = findConfig('package.config.cjs', {cwd})
|
|
54
|
-
|
|
55
|
-
if (cjs) return {path: cjs, transform: false}
|
|
56
|
-
|
|
57
|
-
return null
|
|
58
|
-
}
|
|
@@ -35,6 +35,14 @@ export type PkgConfigPropertyResolver<T> = (prev: T) => T
|
|
|
35
35
|
/** @public */
|
|
36
36
|
export type PkgConfigProperty<T> = PkgConfigPropertyResolver<T> | T
|
|
37
37
|
|
|
38
|
+
/** @public */
|
|
39
|
+
export interface PkgBundle {
|
|
40
|
+
source: string
|
|
41
|
+
import?: string
|
|
42
|
+
require?: string
|
|
43
|
+
runtime?: PkgRuntime
|
|
44
|
+
}
|
|
45
|
+
|
|
38
46
|
/** @public */
|
|
39
47
|
export interface PkgExports {
|
|
40
48
|
[path: string]: PkgExport
|
|
@@ -45,6 +53,7 @@ export type PkgRuleLevel = 'error' | 'warn' | 'info' | 'off'
|
|
|
45
53
|
|
|
46
54
|
/** @public */
|
|
47
55
|
export interface PkgConfigOptions {
|
|
56
|
+
bundles?: PkgBundle[]
|
|
48
57
|
/**
|
|
49
58
|
* Directory of distributed & bundled files.
|
|
50
59
|
*/
|
|
@@ -7,6 +7,8 @@ import {_BuildTask, _DtsTask, _RollupTask, _RollupTaskEntry} from './_tasks'
|
|
|
7
7
|
export function _resolveBuildTasks(ctx: _BuildContext): _BuildTask[] {
|
|
8
8
|
const {config, cwd, pkg, target} = ctx
|
|
9
9
|
|
|
10
|
+
const bundles = config?.bundles || []
|
|
11
|
+
|
|
10
12
|
const tasks: _BuildTask[] = []
|
|
11
13
|
|
|
12
14
|
const exports = Object.entries(ctx.exports || {}).map(
|
|
@@ -64,28 +66,28 @@ export function _resolveBuildTasks(ctx: _BuildContext): _BuildTask[] {
|
|
|
64
66
|
})
|
|
65
67
|
}
|
|
66
68
|
|
|
67
|
-
// Parse rollup:
|
|
69
|
+
// Parse rollup:esm:* tasks
|
|
68
70
|
for (const exp of exports) {
|
|
69
|
-
const output = exp.
|
|
71
|
+
const output = exp.import
|
|
70
72
|
|
|
71
73
|
if (!output) continue
|
|
72
74
|
|
|
73
|
-
_addRollupTaskEntry('
|
|
75
|
+
_addRollupTaskEntry('esm', ctx.runtime, {
|
|
74
76
|
path: exp._path,
|
|
75
|
-
source: exp.
|
|
77
|
+
source: exp.source,
|
|
76
78
|
output,
|
|
77
79
|
})
|
|
78
80
|
}
|
|
79
81
|
|
|
80
|
-
// Parse rollup:
|
|
82
|
+
// Parse rollup:commonjs:browser tasks
|
|
81
83
|
for (const exp of exports) {
|
|
82
|
-
const output = exp.
|
|
84
|
+
const output = exp.browser?.require
|
|
83
85
|
|
|
84
86
|
if (!output) continue
|
|
85
87
|
|
|
86
|
-
_addRollupTaskEntry('
|
|
88
|
+
_addRollupTaskEntry('commonjs', 'browser', {
|
|
87
89
|
path: exp._path,
|
|
88
|
-
source: exp.source,
|
|
90
|
+
source: exp.browser?.source || exp.source,
|
|
89
91
|
output,
|
|
90
92
|
})
|
|
91
93
|
}
|
|
@@ -103,6 +105,24 @@ export function _resolveBuildTasks(ctx: _BuildContext): _BuildTask[] {
|
|
|
103
105
|
})
|
|
104
106
|
}
|
|
105
107
|
|
|
108
|
+
for (const bundle of bundles) {
|
|
109
|
+
if (bundle.require) {
|
|
110
|
+
_addRollupTaskEntry('commonjs', bundle.runtime || ctx.runtime, {
|
|
111
|
+
path: '__bundle__',
|
|
112
|
+
source: bundle.source,
|
|
113
|
+
output: bundle.require,
|
|
114
|
+
})
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
if (bundle.import) {
|
|
118
|
+
_addRollupTaskEntry('commonjs', bundle.runtime || ctx.runtime, {
|
|
119
|
+
path: '__bundle__',
|
|
120
|
+
source: bundle.source,
|
|
121
|
+
output: bundle.import,
|
|
122
|
+
})
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
106
126
|
if (dtsTask.entries.length) {
|
|
107
127
|
tasks.push(dtsTask)
|
|
108
128
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"__resolveBuildContext-17992a0e.cjs","sources":["../src/node/_core/_defaults.ts","../src/node/_core/_isRecord.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/_resolveBrowserslistVersions.ts","../src/node/_resolveBrowserTarget.ts","../src/node/_resolveNodeTarget.ts","../src/node/_resolveBuildContext.ts"],"sourcesContent":["/** @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 path from 'path'\nimport {register} from 'esbuild-register/dist/node'\nimport findConfig from 'find-config'\nimport pkgUp from 'pkg-up'\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 = _findConfigFile(root)\n\n if (!configFile) {\n return undefined\n }\n\n // Do not accept config files outside of the root\n if (!configFile.path.startsWith(cwd)) {\n return undefined\n }\n\n try {\n const {unregister} = configFile.transform\n ? register({extensions: ['.js', '.ts']})\n : {unregister: () => undefined}\n\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const mod = require(configFile.path)\n\n unregister()\n\n return mod?.default || mod || undefined\n } catch (_) {\n return undefined\n }\n}\n\n// Looks for:\n// 1. package.config.ts\n// 2. package.config.cjs\n//\nfunction _findConfigFile(cwd: string): {path: string; transform: boolean} | null {\n const ts = findConfig('package.config.ts', {cwd})\n\n if (ts) return {path: ts, transform: true}\n\n const cjs = findConfig('package.config.cjs', {cwd})\n\n if (cjs) return {path: cjs, transform: false}\n\n return null\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 `${chalk.red('invalid type')} in ./package.json at ${chalk.magenta(\n `\\`${issue.path.join('.')}\\``\n )} (expected ${issue.expected}, received ${issue.received})`\n )\n }\n }\n } else {\n console.error(err)\n }\n\n process.exit(1)\n }\n}\n","import {PkgExport} from '../config'\nimport {_PackageJSON} from './_types'\n\nexport function _validateExports(\n _exports: (PkgExport & {_path: string})[],\n options: {pkg: _PackageJSON}\n): (PkgExport & {_path: string})[] {\n const {pkg} = options\n\n for (const exp of _exports) {\n if (pkg.type === 'commonjs') {\n if (exp.require && !exp.require.endsWith('.js')) {\n throw new Error(\n `package.json with \\`\"type\": \"commonjs\"\\` - \\`exports[\"${exp._path}\"].require\\` must end with \".js\"`\n )\n }\n }\n\n if (pkg.type === 'module') {\n if (exp.require && !exp.require.endsWith('.cjs')) {\n throw new Error(\n `package.json with \\`\"type\": \"module\"\\` - \\`exports[\"${exp._path}\"].require\\` must end with \".cjs\"`\n )\n }\n }\n }\n\n return _exports\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 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 throw new Error('mismatch between \"main\" and \"require\"')\n }\n\n if (exportEntry.import && rootExport.import && exportEntry.import !== rootExport.import) {\n throw new Error('mismatch between \"module\" and \"import\"')\n }\n\n if (exportEntry.types && rootExport.types && exportEntry.types !== rootExport.types) {\n throw new Error('mismatch between \"types\" and \"types\"')\n }\n\n if (exportEntry.source && rootExport.source && exportEntry.source !== rootExport.source) {\n throw new Error('mismatch between \"source\" and \"source\"')\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 throw new Error('string entries are not supported')\n }\n }\n }\n\n const _exports = [rootExport, ...extraExports]\n\n return _validateExports(_exports, {pkg})\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 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 // _loadConfig,\n // _loadPkgWithReporting,\n _loadTSConfig,\n _PackageJSON,\n _parseExports,\n _resolveConfigProperty,\n} from './_core'\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 pkg: _PackageJSON\n tsconfig: string\n}): Promise<_BuildContext> {\n const {config, cwd, pkg, tsconfig: tsconfigPath} = options\n\n const tsconfig = await _loadTSConfig({cwd, tsconfigPath})\n\n const targetVersions = _resolveBrowserslistVersions(pkg.browserslist || _DEFAULTS.browserslist)\n\n const srcPath = path.resolve(cwd, config?.src || 'src')\n const distPath = path.resolve(cwd, config?.dist || 'dist')\n\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 const external = _resolveConfigProperty(config?.external, parsedExternal)\n\n const ctx: _BuildContext = {\n config,\n cwd,\n dist: path.relative(cwd, distPath),\n exports,\n external,\n files: [],\n logger: {\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 pkg,\n src: path.relative(cwd, srcPath),\n runtime: config?.runtime ?? '*',\n target,\n ts: {\n config: tsconfig,\n configPath: tsconfigPath,\n },\n }\n\n return ctx\n}\n"],"names":["_DEFAULTS","browserslist","_isRecord","value","Boolean","Array","isArray","_loadConfig","options","cwd","pkgPath","pkgUp","root","path","dirname","configFile","_findConfigFile","startsWith","unregister","transform","register","extensions","mod","require","default","_","ts","findConfig","cjs","_resolveConfigProperty","prop","initialValue","pkgSchema","z","object","type","optional","enum","name","string","version","license","bin","record","dependencies","devDependencies","peerDependencies","source","main","browser","module","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","magenta","join","expected","received","error","process","exit","_validateExports","_exports","exp","endsWith","_path","_parseExports","rootExport","_exported","extraExports","exportPath","exportEntry","Object","entries","assign","extraExport","push","_loadTSConfig","tsconfigPath","configPath","findConfigFile","sys","fileExists","readConfigFile","parseJsonConfigFileContent","config","_sortAsNumber","a","b","aVersion","Number","bVersion","_resolveBrowserslistVersions","query","result","map","key","split","andChr","filter","andFf","chrome","edge","ff","iosSaf","saf","opera","versions","concat","sort","_resolveBrowserTarget","target","length","_resolveNodeTarget","_resolveBuildContext","tsconfig","targetVersions","srcPath","resolve","src","distPath","dist","nodeTarget","webTarget","parsedExports","reduce","acc","x","parsedExternal","keys","external","ctx","relative","files","logger","info","args","blue","warn","yellow","success","green","runtime"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_build-526356ff.cjs","sources":["../src/node/_resolveBuildTasks.ts","../src/node/_spinner.ts","../src/node/build.ts"],"sourcesContent":["import fs from 'fs'\nimport path from 'path'\nimport {PkgExport, PkgFormat, PkgRuntime, _BuildContext, _MODULE_EXT} from './_core'\nimport {_BuildTask, _DtsTask, _RollupTask, _RollupTaskEntry} from './_tasks'\n\n/** @internal */\nexport function _resolveBuildTasks(ctx: _BuildContext): _BuildTask[] {\n const {config, cwd, pkg, target} = ctx\n\n const tasks: _BuildTask[] = []\n\n const exports = Object.entries(ctx.exports || {}).map(\n ([_path, exp]) => ({_path, ...exp} as PkgExport & {_path: string})\n )\n\n const dtsTask: _DtsTask = {\n type: 'build:dts',\n entries: [],\n }\n\n const rollupTasks: Record<string, _RollupTask> = {}\n\n function _addRollupTaskEntry(format: PkgFormat, runtime: PkgRuntime, entry: _RollupTaskEntry) {\n const buildId = `${format}:${runtime}`\n\n if (rollupTasks[buildId]) {\n rollupTasks[buildId].entries.push(entry)\n } else {\n rollupTasks[buildId] = {\n type: 'build:js',\n buildId,\n entries: [entry],\n runtime,\n format,\n target: target[runtime],\n }\n }\n }\n\n // Parse `dts` tasks\n for (const exp of exports) {\n const importId = path.join(pkg.name, exp._path)\n\n if (exp.types) {\n dtsTask.entries.push({\n importId,\n exportPath: exp._path,\n sourcePath: exp.source,\n targetPath: exp.types,\n })\n }\n }\n\n // Parse rollup:commonjs:* tasks\n for (const exp of exports) {\n const output = exp.require\n\n if (!output) continue\n\n _addRollupTaskEntry('commonjs', ctx.runtime, {\n path: exp._path,\n source: exp.source,\n output,\n })\n }\n\n // Parse rollup:commonjs:browser tasks\n for (const exp of exports) {\n const output = exp.browser?.require\n\n if (!output) continue\n\n _addRollupTaskEntry('commonjs', 'browser', {\n path: exp._path,\n source: exp.browser?.source || exp.source,\n output,\n })\n }\n\n // Parse rollup:esm:* tasks\n for (const exp of exports) {\n const output = exp.import\n\n if (!output) continue\n\n _addRollupTaskEntry('esm', ctx.runtime, {\n path: exp._path,\n source: exp.source,\n output,\n })\n }\n\n // Parse rollup:esm:browser tasks\n for (const exp of exports) {\n const output = exp.browser?.import\n\n if (!output) continue\n\n _addRollupTaskEntry('esm', 'browser', {\n path: exp._path,\n source: exp.browser?.source || exp.source,\n output,\n })\n }\n\n if (dtsTask.entries.length) {\n tasks.push(dtsTask)\n }\n\n tasks.push(...Object.values(rollupTasks))\n\n // Write legacy exports files\n if (config?.legacyExports) {\n for (const exp of exports) {\n if (exp._exported && exp._path !== '.') {\n const relativeTargetPath = (exp.browser?.import || exp.import || '').replace(\n /\\.[^/.]+$/,\n ''\n )\n const ext = _MODULE_EXT[pkg.type].esm\n\n if (relativeTargetPath) {\n fs.writeFileSync(\n path.resolve(cwd, `${exp._path}.js`),\n [\n `// AUTO-GENERATED – DO NOT EDIT`,\n ``,\n // `export {default} from '${relativeTargetPath}'`,\n `export * from '${relativeTargetPath}${pkg.type === 'commonjs' ? ext : ''}'`,\n ``,\n ].join('\\n')\n )\n }\n }\n }\n }\n\n return tasks\n}\n","/* eslint-disable no-console */\n\nimport chalk from 'chalk'\n\nexport function _spinner(msg: string): {complete: () => void; error: () => void} {\n const startTime = Date.now()\n\n console.log(`${chalk.yellow('run ')} ${msg}`)\n\n return {\n complete: () => {\n console.log(`${chalk.green('ok ')} ${chalk.gray(`${Date.now() - startTime}ms`)}`)\n },\n error: () => {\n console.log(`${chalk.red(`failed`)} ${chalk.gray(`${Date.now() - startTime}ms`)}`)\n },\n }\n}\n","import {_loadConfig, _loadPkgWithReporting} from './_core'\nimport {_resolveBuildContext} from './_resolveBuildContext'\nimport {_resolveBuildTasks} from './_resolveBuildTasks'\nimport {_spinner} from './_spinner'\nimport {_BuildTask, _TaskHandler, _buildTaskHandlers} from './_tasks'\n\n/** @public */\nexport async function build(options: {cwd: string; tsconfig?: string}): Promise<void> {\n const {cwd, tsconfig = 'tsconfig.json'} = options\n\n const pkg = await _loadPkgWithReporting({cwd})\n const config = await _loadConfig({cwd})\n\n const ctx = await _resolveBuildContext({config, cwd, pkg, tsconfig})\n\n const buildTasks = _resolveBuildTasks(ctx)\n\n for (const task of buildTasks) {\n const handler = _buildTaskHandlers[task.type] as _TaskHandler<_BuildTask>\n const taskName = handler.name(ctx, task)\n\n const spinner = _spinner(taskName)\n\n try {\n const result = await handler.exec(ctx, task).toPromise()\n\n spinner.complete()\n ctx.logger.log()\n\n handler.complete(ctx, task, result)\n } catch (err) {\n spinner.error()\n\n if (err instanceof Error) {\n const RE_CWD = new RegExp(`${cwd}`, 'g')\n\n ctx.logger.error(err.message.replace(RE_CWD, '.'))\n ctx.logger.log()\n }\n\n handler.error(ctx, task, err)\n\n process.exit(1)\n }\n }\n}\n"],"names":["_resolveBuildTasks","ctx","_a","_b","_c","_d","_e","config","cwd","pkg","target","tasks","exports","Object","entries","map","_path","exp","dtsTask","type","rollupTasks","_addRollupTaskEntry","format","runtime","entry","buildId","push","importId","path","join","name","types","exportPath","sourcePath","source","targetPath","output","require","browser","import","length","values","legacyExports","_exported","relativeTargetPath","replace","ext","_MODULE_EXT","esm","fs","writeFileSync","resolve","_spinner","msg","startTime","Date","now","console","log","chalk","yellow","complete","green","gray","error","red","build","options","tsconfig","_loadPkgWithReporting","_loadConfig","_resolveBuildContext","buildTasks","task","handler","_buildTaskHandlers","taskName","spinner","result","exec","toPromise","logger","err","Error","RE_CWD","RegExp","message","process","exit"],"mappings":"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"}
|