@sanity/pkg-utils 1.7.2 → 1.8.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 (43) hide show
  1. package/bin/{pkg-utils → pkg-utils.cjs} +0 -0
  2. package/dist/{__resolveBuildContext-9b0aa9f9.cjs → __resolveBuildContext-7cb7c9a7.cjs} +59 -8
  3. package/dist/__resolveBuildContext-7cb7c9a7.cjs.map +1 -0
  4. package/dist/{_build-6e7deb31.cjs → _build-e82a508a.cjs} +24 -17
  5. package/dist/_build-e82a508a.cjs.map +1 -0
  6. package/dist/{_buildAction-d8841b41.cjs → _buildAction-727e661a.cjs} +9 -5
  7. package/dist/{_buildAction-d8841b41.cjs.map → _buildAction-727e661a.cjs.map} +1 -1
  8. package/dist/{_check-04a1f749.cjs → _check-a2eb014d.cjs} +6 -2
  9. package/dist/{_check-04a1f749.cjs.map → _check-a2eb014d.cjs.map} +1 -1
  10. package/dist/{_checkAction-09426a13.cjs → _checkAction-7cd9dfde.cjs} +3 -3
  11. package/dist/{_checkAction-09426a13.cjs.map → _checkAction-7cd9dfde.cjs.map} +1 -1
  12. package/dist/_index-a4fddb59.cjs +4244 -0
  13. package/dist/_index-a4fddb59.cjs.map +1 -0
  14. package/dist/{_watch-cf9c717f.cjs → _watch-b0a983e3.cjs} +25 -18
  15. package/dist/_watch-b0a983e3.cjs.map +1 -0
  16. package/dist/{_watchAction-5941527f.cjs → _watchAction-c44da6cb.cjs} +9 -5
  17. package/dist/{_watchAction-5941527f.cjs.map → _watchAction-c44da6cb.cjs.map} +1 -1
  18. package/dist/cli.cjs +4 -4
  19. package/dist/index.cjs +10 -6
  20. package/dist/index.cjs.map +1 -1
  21. package/dist/index.js +3823 -268
  22. package/dist/index.js.map +1 -1
  23. package/dist/{index.d.ts → types/src/node/index.d.ts} +24 -10
  24. package/package.json +13 -11
  25. package/src/node/_core/pkg/_loadPkg.ts +2 -41
  26. package/src/node/_core/pkg/_loadPkgWithReporting.ts +1 -1
  27. package/src/node/_core/pkg/_parseExports.ts +26 -3
  28. package/src/node/_core/pkg/_types.ts +8 -2
  29. package/src/node/_core/pkg/_validateExports.ts +29 -0
  30. package/src/node/_core/pkg/_validatePkg.ts +50 -0
  31. package/src/node/_resolveBuildTasks.ts +18 -14
  32. package/src/node/_resolveWatchTasks.ts +19 -15
  33. package/src/node/_tasks/dts/_buildTypes.ts +2 -25
  34. package/src/node/_tasks/dts/_doExtract.ts +59 -27
  35. package/src/node/_tasks/dts/_dtsTask.ts +4 -1
  36. package/src/node/_tasks/dts/_dtsWatchTask.ts +4 -1
  37. package/src/node/_tasks/dts/_types.ts +13 -8
  38. package/src/node/_tasks/rollup/_resolveRollupConfig.ts +30 -3
  39. package/dist/__resolveBuildContext-9b0aa9f9.cjs.map +0 -1
  40. package/dist/_build-6e7deb31.cjs.map +0 -1
  41. package/dist/_index-46cab21c.cjs +0 -736
  42. package/dist/_index-46cab21c.cjs.map +0 -1
  43. package/dist/_watch-cf9c717f.cjs.map +0 -1
@@ -1,5 +1,8 @@
1
+ import {rename} from 'fs/promises'
1
2
  import path from 'path'
2
3
  import {promisify} from 'util'
4
+ import {ExtractorMessage} from '@microsoft/api-extractor'
5
+ import cpx from 'cpx'
3
6
  import rimrafCallback from 'rimraf'
4
7
  import {_BuildContext} from '../../_core'
5
8
  import {_buildTypes} from './_buildTypes'
@@ -15,43 +18,72 @@ export async function _doExtract(
15
18
  ): Promise<_DtsResult> {
16
19
  const {config, cwd, dist, files, ts} = ctx
17
20
 
18
- if (!ts.config || !ts.configPath) return {type: 'dts', messages: []}
21
+ if (!ts.config || !ts.configPath) {
22
+ return {type: 'dts', messages: [], results: []}
23
+ }
19
24
 
20
- const sourcePath = task.sourcePath
21
- const exportPath = task.exportPath === '.' ? './index' : task.exportPath
22
25
  const distPath = path.resolve(cwd, dist)
23
- const filePath = path.relative(distPath, path.resolve(cwd, task.targetPath))
24
26
 
25
- const tmpDirPath = path.resolve(distPath, '__dts__')
26
- const tmpDir = {
27
- path: tmpDirPath,
28
- removeCallback: () => rimraf(tmpDirPath),
29
- }
27
+ const {outDir = distPath, rootDir = cwd} = ts.config.options
30
28
 
31
- const types = await _buildTypes({
29
+ await _buildTypes({
32
30
  cwd,
33
- outDir: tmpDir.path,
34
- sourcePath,
31
+ outDir: outDir,
35
32
  tsconfig: ts.config,
36
33
  })
37
34
 
38
- const {messages} = await _extractTypes({
39
- cwd,
40
- exportPath,
41
- files,
42
- filePath,
43
- projectPath: cwd,
44
- rules: config?.extract?.rules,
45
- sourcePath: types.path,
46
- tsconfigPath: path.resolve(cwd, ts.configPath),
47
- distPath,
48
- })
35
+ const messages: ExtractorMessage[] = []
36
+
37
+ const results: {sourcePath: string; filePath: string}[] = []
38
+
39
+ for (const entry of task.entries) {
40
+ const exportPath = entry.exportPath === '.' ? './index' : entry.exportPath
41
+
42
+ const sourcePath = path.resolve(
43
+ outDir,
44
+ path.relative(cwd, rootDir),
45
+ entry.sourcePath.replace(/\.ts$/, '.d.ts')
46
+ )
47
+
48
+ const filePath = path.relative(distPath, path.resolve(cwd, entry.targetPath))
49
+
50
+ const result = await _extractTypes({
51
+ cwd,
52
+ exportPath,
53
+ files,
54
+ filePath,
55
+ projectPath: cwd,
56
+ rules: config?.extract?.rules,
57
+ sourcePath,
58
+ tsconfigPath: path.resolve(cwd, ts.configPath),
59
+ distPath,
60
+ })
49
61
 
50
- await tmpDir.removeCallback()
62
+ results.push({sourcePath, filePath})
51
63
 
52
- if (messages.some((msg) => msg.logLevel === 'error')) {
53
- throw new _DtsError('encountered errors when extracting types', messages)
64
+ messages.push(...result.messages)
65
+
66
+ if (result.messages.some((msg) => msg.logLevel === 'error')) {
67
+ throw new _DtsError('encountered errors when extracting types', result.messages)
68
+ }
69
+ }
70
+
71
+ const tmpPath = path.resolve(distPath, '__tmp__')
72
+
73
+ await rename(outDir, tmpPath)
74
+
75
+ for (const result of results) {
76
+ const fromPath = path.resolve(
77
+ tmpPath,
78
+ path.relative(outDir, path.resolve(distPath, result.filePath))
79
+ )
80
+
81
+ const toPath = path.resolve(distPath, result.filePath)
82
+
83
+ cpx.copySync(fromPath, path.dirname(toPath))
54
84
  }
55
85
 
56
- return {type: 'dts', messages}
86
+ await rimraf(tmpPath)
87
+
88
+ return {type: 'dts', messages, results}
57
89
  }
@@ -11,7 +11,10 @@ export const _dtsTask: _TaskHandler<_DtsTask, _DtsResult> = {
11
11
  name: (_ctx, task) =>
12
12
  [
13
13
  `build type definitions`,
14
- ` ${chalk.blue(task.importId)}: ${task.sourcePath} -> ${task.targetPath}`,
14
+ ...task.entries.map(
15
+ (entry) =>
16
+ ` ${chalk.blue(entry.importId)}: ${entry.sourcePath} -> ${entry.targetPath}`
17
+ ),
15
18
  ].join('\n'),
16
19
  exec: (ctx, task) => {
17
20
  return new Observable((observer) => {
@@ -11,7 +11,10 @@ export const _dtsWatchTask: _TaskHandler<_DtsWatchTask, _DtsResult> = {
11
11
  name: (_ctx, task) =>
12
12
  [
13
13
  `build type definitions`,
14
- ` ${chalk.blue(task.importId)}: ${task.sourcePath} -> ${task.targetPath}`,
14
+ ...task.entries.map(
15
+ (entry) =>
16
+ ` ${chalk.blue(entry.importId)}: ${entry.sourcePath} -> ${entry.targetPath}`
17
+ ),
15
18
  ].join('\n'),
16
19
  exec: (ctx, task) => {
17
20
  return new Observable((observer) => {
@@ -3,23 +3,28 @@ import {ExtractorMessage} from '@microsoft/api-extractor'
3
3
  /** @internal */
4
4
  export interface _DtsWatchTask {
5
5
  type: 'watch:dts'
6
- exportPath: string
7
- importId: string
8
- sourcePath: string
9
- targetPath: string
6
+ entries: {
7
+ exportPath: string
8
+ importId: string
9
+ sourcePath: string
10
+ targetPath: string
11
+ }[]
10
12
  }
11
13
 
12
14
  /** @internal */
13
15
  export interface _DtsTask {
14
16
  type: 'build:dts'
15
- exportPath: string
16
- importId: string
17
- sourcePath: string
18
- targetPath: string
17
+ entries: {
18
+ exportPath: string
19
+ importId: string
20
+ sourcePath: string
21
+ targetPath: string
22
+ }[]
19
23
  }
20
24
 
21
25
  /** @internal */
22
26
  export interface _DtsResult {
23
27
  type: 'dts'
24
28
  messages: ExtractorMessage[]
29
+ results: {sourcePath: string; filePath: string}[]
25
30
  }
@@ -22,8 +22,8 @@ export function _resolveRollupConfig(
22
22
  buildTask: _RollupTask | _RollupWatchTask
23
23
  ): _RollupConfig {
24
24
  const {format, runtime, target} = buildTask
25
- const {config, cwd, external, dist: outDir, pkg, ts} = ctx
26
- const outputExt = format === 'commonjs' ? '.cjs' : pkg.type === 'module' ? '.mjs' : '.js'
25
+ const {config, cwd, exports: _exports, external, dist: outDir, logger, pkg, ts} = ctx
26
+ const outputExt = format === 'commonjs' ? '.cjs' : '.js'
27
27
  const minify = config?.minify ?? true
28
28
 
29
29
  const pathAliases = Object.fromEntries(
@@ -39,11 +39,37 @@ export function _resolveRollupConfig(
39
39
  }
40
40
  }, {})
41
41
 
42
+ const exportIds =
43
+ _exports && Object.keys(_exports).map((exportPath) => path.join(pkg.name, exportPath))
44
+
45
+ const sourcePaths = _exports && Object.values(_exports).map((e) => path.resolve(cwd, e.source))
46
+
42
47
  return {
43
48
  inputOptions: {
44
49
  context: cwd,
45
50
 
46
- external: (id) => {
51
+ external: (id, importer) => {
52
+ // Check if the id is a self-referencing import
53
+ if (exportIds?.includes(id)) {
54
+ return true
55
+ }
56
+
57
+ // Check if the id is a file path that points to an exported source file
58
+ if (importer && (id.startsWith('.') || id.startsWith('/'))) {
59
+ const idPath = path.resolve(path.dirname(importer), id)
60
+
61
+ if (sourcePaths?.includes(idPath)) {
62
+ logger.warn(
63
+ `detected self-referencing import – treating as external: ${path.relative(
64
+ cwd,
65
+ idPath
66
+ )}`
67
+ )
68
+
69
+ return true
70
+ }
71
+ }
72
+
47
73
  const idParts = id.split('/')
48
74
 
49
75
  const name = idParts[0].startsWith('@') ? `${idParts[0]}/${idParts[1]}` : idParts[0]
@@ -116,6 +142,7 @@ export function _resolveRollupConfig(
116
142
  tsconfig: ctx.ts.configPath || 'tsconfig.json',
117
143
  }),
118
144
  getBabelOutputPlugin({
145
+ babelrc: false,
119
146
  plugins: ['@babel/plugin-proposal-object-rest-spread'],
120
147
  presets: [['@babel/preset-env', {targets: pkg.browserslist || _DEFAULTS.browserslist}]],
121
148
  }),
@@ -1 +0,0 @@
1
- {"version":3,"file":"__resolveBuildContext-9b0aa9f9.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/_loadPkg.ts","../src/node/_core/pkg/_loadPkgWithReporting.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 fs from 'fs/promises'\nimport pkgUp from 'pkg-up'\nimport {z} from 'zod'\nimport {_PackageJSON} from './_types'\n\nconst pkgSchema = z.object({\n type: z.optional(z.enum(['module'])),\n name: z.string(),\n version: 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.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 require: z.optional(z.string()),\n import: z.optional(z.string()),\n })\n ),\n node: z.optional(\n z.object({\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\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 pkgSchema.parse(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 {_isRecord} from '../_isRecord'\nimport {PkgExport} from '../config'\nimport {_PackageJSON} from './_types'\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 || 'index.js',\n browser: pkg.browser && {\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 || './index.js',\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 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 return [rootExport, ...extraExports]\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","bin","record","dependencies","devDependencies","peerDependencies","source","main","browser","module","types","exports","import","node","array","_loadPkg","Error","buf","fs","readFile","parse","JSON","toString","_loadPkgWithReporting","err","ZodError","issue","issues","code","console","log","chalk","red","magenta","join","expected","received","error","process","exit","_parseExports","pkg","rootExport","_exported","_path","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-6e7deb31.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} from './_core'\nimport {_BuildTask, _DtsTask, _RollupTask, _RollupTaskEntry} from './_tasks'\n\n/** @internal */\nexport function _resolveBuildTasks(ctx: _BuildContext): _BuildTask[] {\n const {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 dtsTasks: Record<string, _DtsTask> = {}\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] = {\n type: 'build:js',\n buildId,\n entries: [entry],\n runtime,\n format,\n target: target[runtime],\n }\n } else {\n rollupTasks[buildId].entries.push(entry)\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 if (!dtsTasks[importId]) {\n dtsTasks[importId] = {\n type: 'build:dts',\n importId,\n exportPath: exp._path,\n sourcePath: exp.source,\n targetPath: exp.types,\n }\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 tasks.push(...Object.values(dtsTasks))\n tasks.push(...Object.values(rollupTasks))\n\n // Parse rollup:esm:browser tasks\n for (const exp of exports) {\n if (exp._exported && exp._path !== '.') {\n const relativeTargetPath = (exp.browser?.import || exp.import || '').replace(/\\.[^/.]+$/, '')\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}'`,\n ``,\n ].join('\\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","cwd","pkg","target","tasks","exports","Object","entries","map","_path","exp","dtsTasks","rollupTasks","_addRollupTaskEntry","format","runtime","entry","buildId","type","push","importId","path","join","name","types","exportPath","sourcePath","source","targetPath","output","require","browser","import","values","_exported","relativeTargetPath","replace","fs","writeFileSync","resolve","_spinner","msg","startTime","Date","now","console","log","chalk","yellow","complete","green","gray","error","red","build","options","tsconfig","_loadPkgWithReporting","config","_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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"}