@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.
Files changed (28) hide show
  1. package/dist/{__resolveBuildContext-17992a0e.cjs → __resolveBuildContext-6eae01b8.cjs} +45 -36
  2. package/dist/__resolveBuildContext-6eae01b8.cjs.map +1 -0
  3. package/dist/{_build-526356ff.cjs → _build-ca3c98fa.cjs} +28 -9
  4. package/dist/_build-ca3c98fa.cjs.map +1 -0
  5. package/dist/{_buildAction-c4426eb4.cjs → _buildAction-9dfec4e0.cjs} +8 -8
  6. package/dist/{_buildAction-c4426eb4.cjs.map → _buildAction-9dfec4e0.cjs.map} +1 -1
  7. package/dist/{_check-069b0db0.cjs → _check-999d6370.cjs} +2 -2
  8. package/dist/{_check-069b0db0.cjs.map → _check-999d6370.cjs.map} +1 -1
  9. package/dist/{_checkAction-d3a8b220.cjs → _checkAction-1e3718d5.cjs} +7 -7
  10. package/dist/{_checkAction-d3a8b220.cjs.map → _checkAction-1e3718d5.cjs.map} +1 -1
  11. package/dist/{_index-bc62cfaa.cjs → _index-af5d7ae6.cjs} +4 -4
  12. package/dist/{_index-bc62cfaa.cjs.map → _index-af5d7ae6.cjs.map} +1 -1
  13. package/dist/{_watch-91ef3209.cjs → _watch-98f2f5d3.cjs} +3 -3
  14. package/dist/{_watch-91ef3209.cjs.map → _watch-98f2f5d3.cjs.map} +1 -1
  15. package/dist/{_watchAction-10ee08fc.cjs → _watchAction-c065319c.cjs} +8 -8
  16. package/dist/{_watchAction-10ee08fc.cjs.map → _watchAction-c065319c.cjs.map} +1 -1
  17. package/dist/cli.cjs +4 -4
  18. package/dist/index.cjs +7 -7
  19. package/dist/{types/src/node/index.d.ts → index.d.ts} +9 -0
  20. package/dist/index.js +63 -35
  21. package/dist/index.js.map +1 -1
  22. package/package.json +3 -3
  23. package/src/node/_core/config/_findConfigFile.ts +40 -0
  24. package/src/node/_core/config/_loadConfig.ts +5 -23
  25. package/src/node/_core/config/types.ts +9 -0
  26. package/src/node/_resolveBuildTasks.ts +28 -8
  27. package/dist/__resolveBuildContext-17992a0e.cjs.map +0 -1
  28. 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.9.0",
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/types/src/node/index.d.ts",
20
+ "types": "./dist/index.d.ts",
21
21
  "exports": {
22
22
  ".": {
23
- "types": "./dist/types/src/node/index.d.ts",
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.path.startsWith(cwd)) {
24
+ if (!configFile.startsWith(cwd)) {
25
25
  return undefined
26
26
  }
27
27
 
28
28
  try {
29
- const {unregister} = configFile.transform
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.path)
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:commonjs:browser tasks
69
+ // Parse rollup:esm:* tasks
68
70
  for (const exp of exports) {
69
- const output = exp.browser?.require
71
+ const output = exp.import
70
72
 
71
73
  if (!output) continue
72
74
 
73
- _addRollupTaskEntry('commonjs', 'browser', {
75
+ _addRollupTaskEntry('esm', ctx.runtime, {
74
76
  path: exp._path,
75
- source: exp.browser?.source || exp.source,
77
+ source: exp.source,
76
78
  output,
77
79
  })
78
80
  }
79
81
 
80
- // Parse rollup:esm:* tasks
82
+ // Parse rollup:commonjs:browser tasks
81
83
  for (const exp of exports) {
82
- const output = exp.import
84
+ const output = exp.browser?.require
83
85
 
84
86
  if (!output) continue
85
87
 
86
- _addRollupTaskEntry('esm', ctx.runtime, {
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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"}