@sanity/pkg-utils 2.2.13 → 2.2.15

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/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../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/config/defineConfig.ts","../src/node/core/pkg/validatePkg.ts","../src/node/core/pkg/loadPkg.ts","../src/node/core/pkg/helpers.ts","../src/node/core/pkg/loadPkgWithReporting.ts","../src/node/core/pkg/validateExports.ts","../src/node/core/pkg/parseExports.ts","../src/node/core/pkg/pkgExt.ts","../src/node/core/ts/loadTSConfig.ts","../src/node/logger.ts","../src/node/core/findCommonPath.ts","../src/node/resolveBrowserslistVersions.ts","../src/node/resolveBrowserTarget.ts","../src/node/resolveNodeTarget.ts","../src/node/resolveBuildContext.ts","../src/node/resolveBuildTasks.ts","../src/node/spinner.ts","../src/node/printExtractMessages.ts","../src/node/tasks/dts/printDiagnostic.ts","../src/node/tasks/dts/buildTypes.ts","../src/node/tasks/dts/DtsError.ts","../src/node/tasks/dts/createApiExtractorConfig.ts","../src/node/tasks/dts/createTSDocConfig.ts","../src/node/tasks/dts/extractModuleBlocks.ts","../src/node/tasks/dts/getExtractMessagesConfig.ts","../src/node/tasks/dts/extractTypes.ts","../src/node/tasks/dts/doExtract.ts","../src/node/tasks/dts/dtsTask.ts","../src/node/tasks/dts/dtsWatchTask.ts","../src/node/tasks/node/reexportCjsTask.ts","../src/node/tasks/rollup/consoleSpy.ts","../src/node/tasks/rollup/resolveRollupConfig.ts","../src/node/tasks/rollup/rollupTask.ts","../src/node/tasks/rollup/rollupWatchTask.ts","../src/node/tasks/index.ts","../src/node/build.ts","../src/node/getFilesize.ts","../src/node/printPackageTree.ts","../src/node/check.ts","../src/node/resolveWatchTasks.ts","../src/node/globFiles.ts","../src/node/watchFiles.ts","../src/node/watchConfigFiles.ts","../src/node/watch.ts"],"sourcesContent":["/** @public */\nexport const DEFAULT_BROWSERSLIST_QUERY = [\n '> 0.2% and supports es6-module and supports es6-module-dynamic-import',\n 'not dead',\n 'not IE 11',\n 'maintained node versions',\n]\n","/** @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 const esbuildOptions = {extensions: ['.js', '.mjs', '.ts']}\n\n const {unregister} = globalThis.__DEV__ ? {unregister: () => undefined} : register(esbuildOptions)\n\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const mod = require(configFile)\n\n unregister()\n\n return mod?.default || mod || undefined\n}\n","import {PkgConfigProperty, PkgConfigPropertyResolver} from './types'\n\n/** @internal */\nexport function resolveConfigProperty<T>(\n prop: PkgConfigProperty<T> | undefined,\n initialValue: T\n): T {\n if (!prop) return initialValue\n\n if (typeof prop === 'function') {\n return (prop as PkgConfigPropertyResolver<T>)(initialValue)\n }\n\n return prop\n}\n","import {PkgConfigOptions} from './types'\n\n/** @public */\nexport function defineConfig(configOptions: PkgConfigOptions): PkgConfigOptions {\n return configOptions\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.union([\n z.custom<`./${string}.json`>((val) => /^\\.\\/.*\\.json$/.test(val as string)),\n z.object({\n types: z.optional(z.string()),\n source: z.string(),\n require: z.optional(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.optional(z.string()),\n require: z.optional(z.string()),\n import: z.optional(z.string()),\n })\n ),\n import: z.optional(z.string()),\n default: z.string(),\n }),\n ])\n )\n ),\n browserslist: z.optional(z.array(z.string())),\n})\n\nexport function validatePkg(input: unknown): PackageJSON {\n return pkgSchema.parse(input)\n}\n","import 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 const raw = JSON.parse(buf.toString())\n\n validatePkg(raw)\n\n return raw\n}\n","/** @internal */\nexport function assertFirst<T>(a: T, arr: T[]): boolean {\n const aIdx = arr.indexOf(a)\n\n // if not found, then we don't care\n if (aIdx === -1) {\n return true\n }\n\n return aIdx === 0\n}\n\n/** @internal */\nexport function assertLast<T>(a: T, arr: T[]): boolean {\n const aIdx = arr.indexOf(a)\n\n // if not found, then we don't care\n if (aIdx === -1) {\n return true\n }\n\n return aIdx === arr.length - 1\n}\n\n/** @internal */\nexport function assertOrder<T>(a: T, b: T, arr: T[]): boolean {\n const aIdx = arr.indexOf(a)\n const bIdx = arr.indexOf(b)\n\n // if either is not found, then we don't care\n if (aIdx === -1 || bIdx === -1) {\n return true\n }\n\n return aIdx < bIdx\n}\n","import chalk from 'chalk'\nimport {ZodError} from 'zod'\nimport {Logger} from '../../logger'\nimport {assertFirst, assertLast, assertOrder} from './helpers'\nimport {loadPkg} from './loadPkg'\nimport {PackageJSON} from './types'\n\n/** @internal */\nexport async function loadPkgWithReporting(options: {\n cwd: string\n logger: Logger\n}): Promise<PackageJSON> {\n const {cwd, logger} = options\n\n try {\n const pkg = await loadPkg({cwd})\n\n // validate exports\n if (pkg.exports) {\n const _exports = Object.entries(pkg.exports)\n\n for (const [expPath, exp] of _exports) {\n if (typeof exp === 'string') {\n continue\n }\n\n const keys = Object.keys(exp)\n\n if (!assertFirst('types', keys)) {\n logger.warn(`exports[\"${expPath}\"]: the \\`types\\` property should be the first property`)\n }\n\n if (!assertOrder('require', 'import', keys)) {\n logger.warn(\n `exports[\"${expPath}\"]: the \\`require\\` property should come before the \\`import\\` property`\n )\n }\n\n if (!assertOrder('require', 'node', keys)) {\n logger.warn(\n `exports[\"${expPath}\"]: the \\`require\\` property should come before the \\`node\\` property`\n )\n }\n\n if (!assertOrder('node', 'import', keys)) {\n logger.warn(\n `exports[\"${expPath}\"]: the \\`node\\` property should come before \\`import\\` property`\n )\n }\n\n if (!assertLast('default', keys)) {\n logger.warn(`exports[\"${expPath}\"]: the \\`default\\` property should be the last property`)\n }\n }\n }\n\n return pkg\n } catch (err) {\n if (err instanceof ZodError) {\n for (const issue of err.issues) {\n if (issue.code === 'invalid_type') {\n logger.error(\n [\n `\\`${formatPath(issue.path)}\\` `,\n `in \\`./package.json\\` must be of type ${chalk.magenta(issue.expected)} `,\n `(received ${chalk.magenta(issue.received)})`,\n ].join('')\n )\n continue\n }\n\n logger.error(issue)\n }\n } else {\n logger.error(err)\n }\n\n process.exit(1)\n }\n}\n\nfunction formatPath(segments: Array<string | number>) {\n return segments\n .map((s, idx) => {\n if (idx === 0) return s\n\n if (typeof s === 'number') {\n return `[${s}]`\n }\n\n if (s.startsWith('.')) {\n return `[\"${s}\"]`\n }\n\n return `.${s}`\n })\n .join('')\n}\n","import {PkgExport} from '../config'\nimport {PkgExtMap} from './pkgExt'\nimport {PackageJSON} from './types'\n\nexport function validateExports(\n _exports: (PkgExport & {_path: string})[],\n options: {extMap: PkgExtMap; pkg: PackageJSON}\n): string[] {\n const {extMap, pkg} = options\n const ext = extMap[pkg.type || 'commonjs']\n\n const errors: string[] = []\n\n for (const exp of _exports) {\n if (exp.require && !exp.require.endsWith(ext.commonjs)) {\n errors.push(\n `package.json with \\`type: \"${pkg.type}\"\\` - \\`exports[\"${exp._path}\"].require\\` must end with \"${ext.commonjs}\"`\n )\n }\n\n if (exp.import && !exp.import.endsWith(ext.esm)) {\n errors.push(\n `package.json with \\`type: \"${pkg.type}\"\\` - \\`exports[\"${exp._path}\"].import\\` must end with \"${ext.esm}\"`\n )\n }\n }\n\n return errors\n}\n","import {PkgExport} from '../config'\nimport {isRecord} from '../isRecord'\nimport {PkgExtMap} from './pkgExt'\nimport {PackageJSON} from './types'\nimport {validateExports} from './validateExports'\n\n/** @internal */\nexport function parseExports(options: {\n extMap: PkgExtMap\n pkg: PackageJSON\n strict: boolean\n}): (PkgExport & {_path: string})[] {\n const {extMap, pkg, strict} = options\n\n const rootExport: PkgExport & {_path: string} = {\n _exported: true,\n _path: '.',\n types: pkg.types,\n source: pkg.source || '',\n browser: pkg.browser && {\n source: pkg.source || '',\n require: pkg.main && pkg.browser[pkg.main],\n import: pkg.module && pkg.browser[pkg.module],\n },\n require: pkg.main,\n import: pkg.module,\n default: pkg.module || pkg.main || '',\n }\n\n const extraExports: (PkgExport & {_path: string})[] = []\n\n const errors: string[] = []\n\n if (pkg.exports) {\n if (strict && !pkg.exports['./package.json']) {\n errors.push('package.json: `exports[\"./package.json\"] must be declared.')\n }\n\n for (const [exportPath, exportEntry] of Object.entries(pkg.exports)) {\n if (exportPath.endsWith('.json')) {\n if (exportPath === './package.json') {\n if (exportEntry !== './package.json') {\n errors.push('package.json: `exports[\"./package.json\"] must be \"./package.json\".')\n }\n }\n } else if (isRecord(exportEntry)) {\n if (exportPath === '.') {\n if (\n exportEntry.require &&\n rootExport.require &&\n exportEntry.require !== rootExport.require\n ) {\n errors.push(\n 'package.json: mismatch between \"main\" and \"exports.require\". These must be equal.'\n )\n }\n\n if (exportEntry.import && rootExport.import && exportEntry.import !== rootExport.import) {\n errors.push(\n 'package.json: mismatch between \"module\" and \"exports.import\" These must be equal.'\n )\n }\n\n if (exportEntry.types && rootExport.types && exportEntry.types !== rootExport.types) {\n errors.push(\n 'package.json: mismatch between \"types\" and \"exports.types\". These must be equal.'\n )\n }\n\n if (exportEntry.source && rootExport.source && exportEntry.source !== rootExport.source) {\n errors.push(\n 'package.json: mismatch between \"source\" and \"exports.source\". These must be equal.'\n )\n }\n\n Object.assign(rootExport, exportEntry)\n } else {\n const extraExport: PkgExport & {_path: string} = {\n _exported: true,\n _path: exportPath,\n ...exportEntry,\n }\n\n extraExports.push(extraExport)\n }\n } else {\n errors.push('package.json: exports must be an object')\n }\n }\n }\n\n const _exports = [rootExport, ...extraExports]\n\n errors.push(...validateExports(_exports, {extMap, pkg}))\n\n if (errors.length) {\n throw new Error('\\n- ' + errors.join('\\n- '))\n }\n\n return _exports\n}\n","/** @internal */\nexport interface PkgExtMap {\n commonjs: {commonjs: string; esm: string}\n module: {commonjs: string; esm: string}\n}\n\n/** @internal */\nexport const DEFAULT_PKG_EXT_MAP: PkgExtMap = {\n // pkg.type: \"commonjs\"\n commonjs: {\n commonjs: '.js',\n esm: '.mjs',\n },\n\n // pkg.type: \"module\"\n module: {\n commonjs: '.cjs',\n esm: '.js',\n },\n}\n\n/** @internal */\nexport function getPkgExtMap(options: {legacyExports: boolean}): PkgExtMap {\n const {legacyExports} = options\n\n const ret = {...DEFAULT_PKG_EXT_MAP}\n\n // Fall back to legacy file extensions for package.json with `\"type\": \"commonjs\"`\n // NOTE: Not supported by Node 14+ and will be removed in a future version\n if (legacyExports) {\n ret['commonjs'] = {\n commonjs: '.js',\n esm: '.esm.js',\n }\n }\n\n return ret\n}\n","import ts from 'typescript'\n\n/** @internal */\nexport async function loadTSConfig(options: {\n cwd: string\n tsconfigPath: string\n}): Promise<ts.ParsedCommandLine> {\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 chalk from 'chalk'\n\n/** @internal */\nexport interface Logger {\n log: (...args: unknown[]) => void\n info: (...args: unknown[]) => void\n warn: (...args: unknown[]) => void\n error: (...args: unknown[]) => void\n success: (...args: unknown[]) => void\n}\n\n/** @internal */\nexport function createLogger(): Logger {\n return {\n /* eslint-disable no-console */\n log: (...args) => {\n console.log(...args)\n },\n info: (...args) => {\n console.log(chalk.blue('[info]'), ...args)\n },\n warn: (...args) => {\n console.log(chalk.yellow('[warning]'), ...args)\n },\n error: (...args) => {\n console.log(chalk.red('[error]'), ...args)\n },\n success: (...args) => {\n console.log(chalk.green('[success]'), ...args)\n },\n /* eslint-enable no-console */\n }\n}\n","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 {\n PkgConfigOptions,\n PkgExports,\n PkgRuntime,\n BuildContext,\n DEFAULT_BROWSERSLIST_QUERY,\n loadTSConfig,\n PackageJSON,\n parseExports,\n resolveConfigProperty,\n PkgExtMap,\n} from './core'\nimport {findCommonDirPath, pathContains} from './core/findCommonPath'\nimport {Logger} from './logger'\nimport {resolveBrowserslistVersions} from './resolveBrowserslistVersions'\nimport {resolveBrowserTarget} from './resolveBrowserTarget'\nimport {resolveNodeTarget} from './resolveNodeTarget'\n\nexport async function resolveBuildContext(options: {\n config?: PkgConfigOptions\n cwd: string\n emitDeclarationOnly?: boolean\n extMap: PkgExtMap\n logger: Logger\n pkg: PackageJSON\n strict: boolean\n tsconfig: string\n}): Promise<BuildContext> {\n const {\n config,\n cwd,\n emitDeclarationOnly = false,\n extMap,\n logger,\n pkg,\n strict,\n tsconfig: tsconfigPath,\n } = options\n const tsconfig = await loadTSConfig({cwd, tsconfigPath})\n const targetVersions = resolveBrowserslistVersions(pkg.browserslist || DEFAULT_BROWSERSLIST_QUERY)\n const nodeTarget = resolveNodeTarget(targetVersions)\n const webTarget = resolveBrowserTarget(targetVersions)\n\n if (!nodeTarget) {\n throw new Error('no matching `node` target')\n }\n\n if (!webTarget) {\n throw new Error('no matching `web` target')\n }\n\n const target: Record<PkgRuntime, string[]> = {\n '*': webTarget.concat(nodeTarget),\n browser: webTarget,\n node: nodeTarget,\n }\n\n const parsedExports = parseExports({extMap, pkg, strict}).reduce<PkgExports>((acc, x) => {\n const {_path: exportPath, ...exportEntry} = x\n\n return {...acc, [exportPath]: exportEntry}\n }, {})\n\n const exports = resolveConfigProperty(config?.exports, parsedExports)\n\n const parsedExternal = [\n ...(pkg.dependencies ? Object.keys(pkg.dependencies) : []),\n ...(pkg.peerDependencies ? Object.keys(pkg.peerDependencies) : []),\n ]\n\n // Merge externals if an array is provided, replace if it's a function\n const external =\n config && Array.isArray(config.external)\n ? [...parsedExternal, ...config.external]\n : resolveConfigProperty(config?.external, parsedExternal)\n\n const outputPaths = Object.values(exports)\n .flatMap((exportEntry) => {\n return [\n exportEntry.import,\n exportEntry.require,\n exportEntry.browser?.import,\n exportEntry.browser?.require,\n exportEntry.node?.source && exportEntry.node.import,\n exportEntry.node?.source && exportEntry.node.require,\n ].filter(Boolean) as string[]\n })\n .map((p) => path.resolve(cwd, p))\n\n const commonDistPath = findCommonDirPath(outputPaths)\n\n if (commonDistPath === cwd) {\n throw new Error(\n 'all output files must share a common parent directory which is not the root package directory'\n )\n }\n\n if (commonDistPath && !pathContains(cwd, commonDistPath)) {\n throw new Error('all output files must be located within the package')\n }\n\n const configDistPath = config?.dist ? path.resolve(cwd, config.dist) : undefined\n\n if (\n configDistPath &&\n commonDistPath &&\n configDistPath !== commonDistPath &&\n !pathContains(configDistPath, commonDistPath)\n ) {\n logger.log(`did you mean to configure \\`dist: './${path.relative(cwd, commonDistPath)}'\\`?`)\n\n throw new Error('all output files must be located with the configured `dist` path')\n }\n\n const distPath = configDistPath || commonDistPath\n\n if (!distPath) {\n throw new Error('could not detect `dist` path')\n }\n\n const ctx: BuildContext = {\n config,\n cwd,\n distPath,\n emitDeclarationOnly,\n exports,\n external,\n extMap,\n files: [],\n logger,\n pkg,\n runtime: config?.runtime ?? '*',\n strict,\n target,\n ts: {\n config: tsconfig,\n configPath: tsconfigPath,\n },\n }\n\n return ctx\n}\n","import fs from 'fs'\nimport path from 'path'\nimport {PkgExport, PkgFormat, PkgRuntime, BuildContext} from './core'\nimport {BuildTask, DtsTask, NodeReExportFromCJSTask, RollupTask, RollupTaskEntry} from './tasks'\n\n/** @internal */\nexport function resolveBuildTasks(ctx: BuildContext): BuildTask[] {\n const {config, cwd, pkg, target} = ctx\n\n const bundles = config?.bundles || []\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 // Add dts task\n if (dtsTask.entries.length) {\n tasks.push(dtsTask)\n }\n\n if (!ctx.emitDeclarationOnly) {\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: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: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: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 for (const bundle of bundles) {\n if (bundle.require) {\n addRollupTaskEntry('commonjs', bundle.runtime || ctx.runtime, {\n path: '__bundle__',\n source: bundle.source,\n output: bundle.require,\n })\n }\n\n if (bundle.import) {\n addRollupTaskEntry('commonjs', bundle.runtime || ctx.runtime, {\n path: '__bundle__',\n source: bundle.source,\n output: bundle.import,\n })\n }\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\n if (relativeTargetPath) {\n fs.writeFileSync(\n path.resolve(cwd, `${exp._path}.js`),\n [`// AUTO-GENERATED – DO NOT EDIT`, `export * from '${relativeTargetPath}'`, ``].join(\n '\\n'\n )\n )\n }\n }\n }\n }\n }\n\n const nodeReexportCjsEntries: NodeReExportFromCJSTask['entries'] = []\n\n // Parse tasks to re-export from CommonJS for Node.js\n for (const exp of exports) {\n if (\n exp.node &&\n !exp.node.source &&\n exp.node.import &&\n exp.node.require &&\n (exp.node.import.endsWith('.cjs.js') || exp.node.import.endsWith('.cjs.mjs'))\n ) {\n const importId = path.join(pkg.name, exp._path)\n\n nodeReexportCjsEntries.push({\n importId,\n import: exp.node.import,\n require: exp.node.require,\n })\n }\n }\n\n if (nodeReexportCjsEntries.length) {\n tasks.push({\n type: 'node:reexport-cjs',\n entries: nodeReexportCjsEntries,\n })\n }\n\n return tasks\n}\n","/* eslint-disable no-console */\n\nimport chalk from 'chalk'\n\nexport function createSpinner(msg: string): {complete: () => void; error: () => void} {\n const startTime = Date.now()\n\n console.log(msg)\n\n return {\n complete: () => {\n console.log(`${chalk.green('[success]')} ${chalk.gray(`${Date.now() - startTime}ms`)}`)\n },\n error: () => {\n console.log(`${chalk.red(`[error]`)} ${chalk.gray(`${Date.now() - startTime}ms`)}`)\n },\n }\n}\n","import path from 'path'\nimport {ExtractorMessage} from '@microsoft/api-extractor'\nimport chalk from 'chalk'\nimport {BuildContext} from './core'\n\nexport function printExtractMessages(ctx: BuildContext, messages: ExtractorMessage[]): void {\n const {cwd, logger} = ctx\n\n const warnings = messages.filter((msg) => msg.logLevel === 'warning')\n\n if (warnings.length) {\n logger.log()\n }\n\n for (const msg of warnings) {\n const sourceFilePath = msg.sourceFilePath && path.relative(cwd, msg.sourceFilePath)\n\n if (msg.messageId === 'TS6307') {\n // Ignore this warning:\n // > TS6307: <filename> is not in project file list.\n // > Projects must list all files or use an 'include' pattern.\n continue\n }\n\n logger.log(\n [\n `${chalk.cyan(sourceFilePath || '?')}`,\n `:${chalk.yellow(msg.sourceFileLine)}:${chalk.yellow(msg.sourceFileColumn)}`,\n ` - ${chalk.yellow('warning')} ${chalk.gray(msg.messageId)}\\n`,\n msg.text,\n '\\n',\n ].join('')\n )\n }\n\n const errors: ExtractorMessage[] = messages.filter((msg) => msg.logLevel === 'error')\n\n if (!warnings.length && errors.length) {\n logger.log('')\n }\n\n for (const msg of errors) {\n const sourceFilePath = msg.sourceFilePath && path.relative(cwd, msg.sourceFilePath)\n\n logger.log(\n [\n `${chalk.cyan(sourceFilePath || '?')}`,\n `:${chalk.yellow(msg.sourceFileLine)}:${chalk.yellow(msg.sourceFileColumn)}`,\n ` - ${chalk.red('error')} ${chalk.gray(msg.messageId)}\\n`,\n msg.text,\n '\\n',\n ].join('')\n )\n }\n\n if (errors.length) {\n process.exit(1)\n }\n}\n","import path from 'path'\nimport chalk from 'chalk'\nimport ts from 'typescript'\nimport {Logger} from '../../logger'\n\nexport function printDiagnostic(options: {\n cwd: string\n logger: Logger\n diagnostic: ts.Diagnostic\n}): void {\n const {cwd, logger, diagnostic} = options\n\n if (diagnostic.file && diagnostic.start) {\n const {line, character} = ts.getLineAndCharacterOfPosition(diagnostic.file, diagnostic.start)\n const message = ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n')\n\n const file = path.relative(cwd, diagnostic.file.fileName)\n\n const output = [\n `${chalk.yellow(file)}:${chalk.blue(line + 1)}:${chalk.blue(character + 1)} - `,\n `${chalk.gray(`TS${diagnostic.code}:`)} ${message}`,\n ].join('')\n\n if (diagnostic.category === ts.DiagnosticCategory.Error) {\n logger.error(output)\n }\n\n if (diagnostic.category === ts.DiagnosticCategory.Warning) {\n logger.warn(output)\n }\n\n if (diagnostic.category === ts.DiagnosticCategory.Message) {\n logger.log(output)\n }\n\n if (diagnostic.category === ts.DiagnosticCategory.Suggestion) {\n logger.log(output)\n }\n } else {\n logger.log(ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n'))\n }\n}\n","import ts from 'typescript'\nimport {Logger} from '../../logger'\nimport {printDiagnostic} from './printDiagnostic'\n\n/** @internal */\nexport async function buildTypes(options: {\n cwd: string\n logger: Logger\n outDir: string\n tsconfig: ts.ParsedCommandLine\n strict: boolean\n}): Promise<void> {\n const {cwd, logger, outDir, tsconfig, strict = false} = options\n\n const compilerOptions: ts.CompilerOptions = {\n ...tsconfig.options,\n declaration: true,\n declarationDir: outDir,\n emitDeclarationOnly: true,\n noEmit: false,\n outDir,\n }\n\n const program = ts.createProgram(tsconfig.fileNames, compilerOptions)\n\n const emitResult = program.emit()\n\n const allDiagnostics = ts.getPreEmitDiagnostics(program).concat(emitResult.diagnostics)\n\n for (const diagnostic of allDiagnostics) {\n printDiagnostic({cwd, logger, diagnostic})\n }\n\n if (emitResult.emitSkipped) {\n const errors = allDiagnostics.filter((diag) => diag.category === ts.DiagnosticCategory.Error)\n\n if (errors.length) {\n if (strict) {\n throw new Error('failed to compile TypeScript definitions')\n }\n }\n }\n}\n","import {ExtractorMessage} from '@microsoft/api-extractor'\n\n/** @internal */\nexport class DtsError extends Error {\n messages: ExtractorMessage[]\n\n constructor(message: string, messages: ExtractorMessage[]) {\n super(message)\n this.messages = messages\n }\n}\n","import path from 'path'\nimport {IConfigFile, IExtractorMessagesConfig} from '@microsoft/api-extractor'\n\nexport function createApiExtractorConfig(options: {\n distPath: string\n exportPath: string\n filePath: string\n messages: IExtractorMessagesConfig\n projectFolder: string\n mainEntryPointFilePath: string\n tsconfigPath: string\n}): IConfigFile {\n const {\n distPath,\n exportPath,\n filePath,\n messages,\n projectFolder,\n mainEntryPointFilePath,\n tsconfigPath,\n } = options\n\n return {\n apiReport: {\n enabled: false,\n reportFileName: '<unscopedPackageName>.api.md',\n },\n // bundledPackages: [],\n compiler: {\n tsconfigFilePath: tsconfigPath,\n },\n docModel: {\n enabled: false,\n apiJsonFilePath: path.resolve(distPath, `${exportPath}.api.json`),\n },\n dtsRollup: {\n enabled: true,\n untrimmedFilePath: path.resolve(distPath, filePath),\n // betaTrimmedFilePath: path.resolve(distPath, filePath.replace('.d.ts', '-beta.d.ts')),\n // publicTrimmedFilePath: path.resolve(distPath, filePath.replace('.d.ts', '-public.d.ts')),\n },\n tsdocMetadata: {\n enabled: false,\n },\n messages,\n mainEntryPointFilePath,\n projectFolder,\n }\n}\n","import {readFile} from 'fs/promises'\nimport {TSDocConfigFile} from '@microsoft/tsdoc-config'\nimport {parse} from 'jsonc-parser'\n\n/** @public */\nexport interface TSDocCustomTag {\n name: string\n syntaxKind: 'block' | 'modifier'\n allowMultiple?: boolean\n}\n\n/** @internal */\nexport async function createTSDocConfig(opts: {\n customTags: TSDocCustomTag[]\n}): Promise<TSDocConfigFile | undefined> {\n const {customTags} = opts\n\n if (customTags.length === 0) {\n return undefined\n }\n\n const tsDocBaseBuf = await readFile(\n require.resolve('@microsoft/api-extractor/extends/tsdoc-base.json')\n )\n\n // Include the definitions that are required for API Extractor\n // extends: ['@microsoft/api-extractor/extends/tsdoc-base.json'],\n const tsDocBaseConfig = parse(tsDocBaseBuf.toString())\n\n // Define custom tags and specify how they should be parsed\n const tagDefinitions = (tsDocBaseConfig.tagDefinitions || []).concat(\n customTags.map((t) => ({\n tagName: `@${t.name}`,\n syntaxKind: t.syntaxKind,\n allowMultiple: t.allowMultiple,\n }))\n )\n\n // Indicate that custom tags are supported by your tooling.\n // (Without this, warnings may be reported saying that a tag is unsupported.)\n const supportForTags = {...tsDocBaseConfig.supportForTags}\n\n for (const customTag of customTags) {\n supportForTags[`@${customTag.name}`] = true\n }\n\n return TSDocConfigFile.loadFromObject({\n ...tsDocBaseConfig,\n noStandardTags: false,\n tagDefinitions,\n supportForTags,\n })\n}\n","import type {File} from '@babel/types'\nimport {ExtractorResult} from '@microsoft/api-extractor'\nimport {parse, print} from 'recast'\nimport typeScriptParser from 'recast/parsers/typescript'\nimport {Program} from 'typescript'\n\n/**\n * A workaround to find all module blocks in extract TS files.\n * @internal\n * */\nexport async function extractModuleBlocksFromTypes({\n tsOutDir,\n extractResult,\n}: {\n tsOutDir: string\n extractResult: ExtractorResult\n}): Promise<string[]> {\n const program = extractResult.compilerState.program as Program\n const moduleBlocks: string[] = []\n\n // all program files, including node_modules\n const allProgramFiles = [...program.getSourceFiles()]\n\n // just our compiled files used in the program\n const sourceFiles = allProgramFiles.filter((sourceFile) => sourceFile.fileName.includes(tsOutDir))\n\n for (const sourceFile of sourceFiles) {\n if (sourceFile.text.includes('declare module')) {\n moduleBlocks.push(...extractModuleBlocks(sourceFile.text))\n }\n }\n\n return moduleBlocks\n}\n\n/** @internal */\nexport function extractModuleBlocks(fileContent: string): string[] {\n const ast = parse(fileContent, {\n parser: typeScriptParser,\n }) as File\n\n return ast.program.body\n .filter((node) => node.type === 'TSModuleDeclaration')\n .map((node) => print(node).code)\n}\n","import {ExtractorLogLevel, IExtractorMessagesConfig} from '@microsoft/api-extractor'\nimport {PkgRuleLevel, PkgConfigOptions} from '../../core'\n\nconst LOG_LEVELS: Record<PkgRuleLevel, ExtractorLogLevel> = {\n error: 'error' as ExtractorLogLevel.Error,\n info: 'info' as ExtractorLogLevel.Info,\n off: 'none' as ExtractorLogLevel.None,\n warn: 'warning' as ExtractorLogLevel.Warning,\n}\n\n/** @internal */\nexport function getExtractMessagesConfig(options: {\n rules: NonNullable<PkgConfigOptions['extract']>['rules']\n}): IExtractorMessagesConfig {\n const {rules} = options\n\n function ruleToLogLevel(\n key: keyof NonNullable<NonNullable<PkgConfigOptions['extract']>['rules']>,\n defaultLevel?: ExtractorLogLevel\n ) {\n const r = rules?.[key]\n\n return (r ? LOG_LEVELS[r] : defaultLevel || 'warning') as ExtractorLogLevel\n }\n\n return {\n compilerMessageReporting: {\n default: {\n logLevel: 'warning' as ExtractorLogLevel,\n },\n },\n\n extractorMessageReporting: {\n default: {\n logLevel: 'warning' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n\n 'ae-forgotten-export': {\n logLevel: ruleToLogLevel('ae-forgotten-export', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-incompatible-release-tags': {\n logLevel: ruleToLogLevel('ae-incompatible-release-tags', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-internal-missing-underscore': {\n logLevel: ruleToLogLevel('ae-internal-missing-underscore'),\n addToApiReportFile: false,\n },\n\n 'ae-missing-release-tag': {\n logLevel: ruleToLogLevel('ae-missing-release-tag', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-wrong-input-file-type': {\n logLevel: 'none' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n },\n\n tsdocMessageReporting: {\n default: {\n logLevel: 'warning' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n\n 'tsdoc-link-tag-unescaped-text': {\n logLevel: ruleToLogLevel('tsdoc-link-tag-unescaped-text', 'warning' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'tsdoc-undefined-tag': {\n logLevel: ruleToLogLevel('tsdoc-undefined-tag', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'tsdoc-unsupported-tag': {\n logLevel: ruleToLogLevel('tsdoc-unsupported-tag', 'none' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n },\n }\n}\n","import fs from 'fs/promises'\nimport path from 'path'\nimport {\n Extractor,\n ExtractorConfig,\n ExtractorMessage,\n ExtractorResult,\n} from '@microsoft/api-extractor'\nimport mkdirp from 'mkdirp'\nimport prettier from 'prettier'\nimport {PkgConfigOptions, BuildFile} from '../../core'\nimport {createApiExtractorConfig} from './createApiExtractorConfig'\nimport {createTSDocConfig} from './createTSDocConfig'\nimport {extractModuleBlocksFromTypes} from './extractModuleBlocks'\nimport {getExtractMessagesConfig} from './getExtractMessagesConfig'\n\nexport async function extractTypes(options: {\n customTags: NonNullable<PkgConfigOptions['extract']>['customTags']\n cwd: string\n distPath: string\n exportPath: string\n filePath: string\n files: BuildFile[]\n projectPath: string\n rules?: NonNullable<PkgConfigOptions['extract']>['rules']\n sourceTypesPath: string\n tmpPath: string\n tsconfigPath: string\n}): Promise<{extractorResult: ExtractorResult; messages: ExtractorMessage[]}> {\n const {\n customTags,\n distPath,\n exportPath,\n files,\n filePath,\n projectPath,\n rules,\n sourceTypesPath,\n tmpPath,\n tsconfigPath,\n } = options\n\n const tsdocConfigFile = await createTSDocConfig({\n customTags: customTags || [],\n })\n\n const extractorConfig: ExtractorConfig = ExtractorConfig.prepare({\n configObject: createApiExtractorConfig({\n distPath,\n exportPath,\n filePath,\n messages: getExtractMessagesConfig({rules}),\n projectFolder: projectPath,\n mainEntryPointFilePath: sourceTypesPath,\n tsconfigPath,\n }),\n configObjectFullPath: undefined,\n tsdocConfigFile,\n packageJsonFullPath: path.resolve(projectPath, 'package.json'),\n })\n\n const messages: ExtractorMessage[] = []\n\n // Invoke API Extractor\n const extractorResult = Extractor.invoke(extractorConfig, {\n // Equivalent to the \"--local\" command-line parameter\n localBuild: true,\n // Equivalent to the \"--verbose\" command-line parameter\n showVerboseMessages: true,\n // handle messages\n messageCallback(message: ExtractorMessage) {\n messages.push(message)\n message.handled = true\n },\n })\n\n const typesPath = path.resolve(distPath, filePath)\n const typesBuf = await fs.readFile(typesPath)\n const prettierConfig = await prettier.resolveConfig(typesPath)\n\n await mkdirp(path.dirname(typesPath))\n\n const moduleBlocks = await extractModuleBlocksFromTypes({\n extractResult: extractorResult,\n tsOutDir: tmpPath,\n })\n\n const code = [typesBuf.toString(), ...moduleBlocks].join('\\n\\n')\n\n await fs.writeFile(\n typesPath,\n prettier.format(code, {\n ...prettierConfig,\n filepath: typesPath,\n })\n )\n\n // Add to `files` in context\n files.push({\n type: 'types',\n path: typesPath,\n })\n\n return {extractorResult, messages}\n}\n","import path from 'path'\nimport {ExtractorMessage} from '@microsoft/api-extractor'\nimport rimraf from 'rimraf'\nimport {BuildContext} from '../../core'\nimport {buildTypes} from './buildTypes'\nimport {DtsError} from './DtsError'\nimport {extractTypes} from './extractTypes'\nimport {DtsResult, DtsTask, DtsWatchTask} from './types'\n\n/**\n * - Build type definitions to a temporary directory using TypeScript compiler.\n * - Create a type definition bundle for each export entry.\n * - When done, remove the temporary directory.\n */\nexport async function doExtract(\n ctx: BuildContext,\n task: DtsTask | DtsWatchTask\n): Promise<DtsResult> {\n const {config, cwd, files, logger, strict, ts} = ctx\n\n if (!ts.config || !ts.configPath) {\n return {type: 'dts', messages: [], results: []}\n }\n\n const {outDir, rootDir = cwd} = ts.config.options\n\n if (!outDir) {\n throw new Error('tsconfig.json is missing `compilerOptions.outDir`')\n }\n\n const tmpPath = path.resolve(outDir, '__tmp__')\n\n await buildTypes({cwd, logger, outDir: tmpPath, strict, tsconfig: ts.config})\n const messages: ExtractorMessage[] = []\n\n const results: {sourcePath: string; filePath: string}[] = []\n\n for (const entry of task.entries) {\n const exportPath = entry.exportPath === '.' ? './index' : entry.exportPath\n\n const sourceTypesPath = path.resolve(\n tmpPath,\n path.relative(rootDir, path.resolve(cwd, entry.sourcePath)).replace(/\\.ts$/, '.d.ts')\n )\n\n const targetPath = path.resolve(cwd, entry.targetPath)\n const filePath = path.relative(outDir, targetPath)\n const result = await extractTypes({\n customTags: config?.extract?.customTags,\n cwd,\n distPath: outDir,\n exportPath,\n files,\n filePath: filePath,\n projectPath: cwd,\n rules: config?.extract?.rules,\n sourceTypesPath: sourceTypesPath,\n tmpPath,\n tsconfigPath: path.resolve(cwd, ts.configPath || 'tsconfig.json'),\n })\n\n messages.push(...result.messages)\n\n if (result.messages.some((msg) => msg.logLevel === 'error')) {\n await rimraf(tmpPath)\n\n throw new DtsError('encountered errors when extracting types', result.messages)\n }\n\n results.push({sourcePath: path.resolve(cwd, entry.sourcePath), filePath: targetPath})\n }\n\n await rimraf(tmpPath)\n\n return {type: 'dts', messages, results}\n}\n","import chalk from 'chalk'\nimport {Observable} from 'rxjs'\nimport {printExtractMessages} from '../../printExtractMessages'\nimport {TaskHandler} from '../types'\nimport {doExtract} from './doExtract'\nimport {DtsError} from './DtsError'\nimport {DtsResult, DtsTask} from './types'\n\n/** @internal */\nexport const dtsTask: TaskHandler<DtsTask, DtsResult> = {\n name: (_ctx, task) =>\n [\n `Build type definitions...`,\n ` entries:`,\n ...task.entries.map((entry) =>\n [\n ` - ${chalk.cyan(entry.importId)}: `,\n `${chalk.yellow(entry.sourcePath)} ${chalk.gray('→')} ${chalk.yellow(entry.targetPath)}`,\n ].join('')\n ),\n ].join('\\n'),\n exec: (ctx, task) => {\n return new Observable((observer) => {\n doExtract(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => {\n observer.error(err)\n })\n })\n },\n complete: (ctx, _task, result) => {\n printExtractMessages(ctx, result.messages)\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof DtsError) {\n printExtractMessages(ctx, err.messages)\n } else if (err instanceof Error) {\n logger.error(err)\n }\n },\n}\n","import chalk from 'chalk'\nimport {Observable} from 'rxjs'\nimport {printExtractMessages} from '../../printExtractMessages'\nimport {TaskHandler} from '../types'\nimport {doExtract} from './doExtract'\nimport {DtsError} from './DtsError'\nimport {DtsResult, DtsWatchTask} from './types'\n\n/** @internal */\nexport const dtsWatchTask: TaskHandler<DtsWatchTask, DtsResult> = {\n name: (_ctx, task) =>\n [\n `build type definitions`,\n ...task.entries.map(\n (entry) =>\n ` ${chalk.blue(entry.importId)}: ${entry.sourcePath} -> ${entry.targetPath}`\n ),\n ].join('\\n'),\n exec: (ctx, task) => {\n return new Observable((observer) => {\n doExtract(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => observer.error(err))\n })\n },\n complete: (ctx, _task, result) => {\n const {logger} = ctx\n\n printExtractMessages(ctx, result.messages)\n\n logger.warn('watching typescript definitions is currently not supported')\n logger.log()\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof DtsError) {\n printExtractMessages(ctx, err.messages)\n } else if (err instanceof Error) {\n logger.error(err)\n }\n },\n}\n","import {writeFile} from 'fs/promises'\nimport path from 'path'\nimport chalk from 'chalk'\nimport mkdirp from 'mkdirp'\nimport {from} from 'rxjs'\nimport {BuildContext} from '../../core'\nimport {NodeReExportFromCJSTask, TaskHandler} from '../types'\n\n/** @internal */\nexport const nodeReexportCjsTask: TaskHandler<NodeReExportFromCJSTask> = {\n name: (_ctx, task) =>\n [\n `Re-export CommonJS module in ESM wrapper…`,\n ` entries:`,\n ...task.entries.map((entry) =>\n [\n ` - ${chalk.cyan(entry.importId)}: `,\n `${chalk.yellow(entry.require)} ${chalk.gray('→')} ${chalk.yellow(entry.import)}`,\n ].join('')\n ),\n ].join('\\n'),\n exec: (ctx, task) => {\n return from(exec(ctx, task))\n },\n complete: () => {\n //\n },\n error: (_ctx, _task, err) => {\n // eslint-disable-next-line no-console\n console.error(err)\n },\n}\n\nasync function exec(ctx: BuildContext, task: NodeReExportFromCJSTask) {\n const {cwd} = ctx\n\n for (const entry of task.entries) {\n const sourcePath = path.resolve(cwd, entry.require)\n const targetPath = path.resolve(cwd, entry.import)\n const targetDir = path.dirname(targetPath)\n\n await mkdirp(targetDir)\n\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const mod = require(sourcePath)\n\n let relativeImport = `./${path.relative(targetDir, sourcePath)}`\n\n // Strip leading \"./\" from relative import\n if (relativeImport.startsWith('./.')) {\n relativeImport = relativeImport.slice(2)\n }\n\n const code = compileESMWrapper(mod, relativeImport)\n\n await writeFile(targetPath, code, 'utf8')\n }\n}\n\nfunction compileESMWrapper(mod: any, relativeImport: string) {\n const keys = Object.keys(mod).filter((k) => k !== '__esModule')\n\n let code = `import cjs from '${relativeImport}';\\n`\n\n if (keys.length) {\n code += `\\n`\n code += keys\n .filter((k) => (mod.__esModule ? k !== 'default' : true))\n .map((k) => `export const ${k} = cjs.${k};\\n`)\n .join('')\n }\n\n code += `\\n`\n\n if (mod.__esModule) {\n code += `export default cjs.default;\\n`\n } else {\n code += `export default cjs;\\n`\n }\n\n return code\n}\n","/* eslint-disable no-console */\n\nexport interface ConsoleSpyMsg {\n type: 'log' | 'warn' | 'error'\n code?: string\n args: unknown[]\n}\n\nexport interface ConsoleSpy {\n messages: ConsoleSpyMsg[]\n restore: () => void\n}\n\nexport function createConsoleSpy(options: {\n onRestored: (messages: ConsoleSpyMsg[]) => void\n}): ConsoleSpy {\n const {onRestored} = options\n\n const original = {\n log: console.log,\n warn: console.warn,\n error: console.error,\n }\n\n const messages: ConsoleSpyMsg[] = []\n\n console.log = (...args: unknown[]) => messages.push({type: 'log', args})\n console.warn = (...args: unknown[]) => messages.push({type: 'warn', args})\n console.error = (...args: unknown[]) => messages.push({type: 'error', args})\n\n return {\n messages,\n restore: () => {\n console.log = original.log\n console.warn = original.warn\n console.error = original.error\n\n onRestored(messages)\n },\n }\n}\n","import path from 'path'\nimport alias from '@rollup/plugin-alias'\nimport {getBabelOutputPlugin} from '@rollup/plugin-babel'\nimport commonjs from '@rollup/plugin-commonjs'\nimport json from '@rollup/plugin-json'\nimport {nodeResolve} from '@rollup/plugin-node-resolve'\nimport replace from '@rollup/plugin-replace'\nimport terser from '@rollup/plugin-terser'\nimport {InputOptions, OutputOptions, Plugin} from 'rollup'\nimport esbuild from 'rollup-plugin-esbuild'\nimport {BuildContext, DEFAULT_BROWSERSLIST_QUERY, resolveConfigProperty} from '../../core'\nimport {RollupTask, RollupWatchTask} from '../types'\n\nexport interface RollupConfig {\n inputOptions: InputOptions\n outputOptions: OutputOptions\n}\n\n/** @internal */\nexport function resolveRollupConfig(\n ctx: BuildContext,\n buildTask: RollupTask | RollupWatchTask\n): RollupConfig {\n const {format, runtime, target} = buildTask\n const {config, cwd, exports: _exports, extMap, external, distPath, logger, pkg, ts} = ctx\n const outputExt = extMap[pkg.type || 'commonjs'][format]\n const minify = config?.minify ?? false\n const outDir = path.relative(cwd, distPath)\n\n const pathAliases = Object.fromEntries(\n Object.entries(ts.config?.options.paths || {}).map(([key, val]) => {\n return [key, path.resolve(cwd, ts.config?.options.baseUrl || '.', val[0])]\n })\n )\n\n const entries = buildTask.entries.map((entry) => {\n return {\n ...entry,\n name: path.relative(outDir, entry.output).replace(/\\.[^/.]+$/, ''),\n }\n }, {})\n\n const exportIds =\n _exports && Object.keys(_exports).map((exportPath) => path.join(pkg.name, exportPath))\n\n const sourcePaths = _exports && Object.values(_exports).map((e) => path.resolve(cwd, e.source))\n\n const replacements = Object.fromEntries(\n Object.entries(config?.define || {}).map(([key, val]) => [key, JSON.stringify(val)])\n )\n\n const defaultPlugins = [\n replace({\n preventAssignment: true,\n values: {\n ...(pkg.name === '@sanity/pkg-utils'\n ? {...replacements}\n : {\n 'process.env.PKG_FILE_PATH': (arg) => {\n const sourcePath = './' + path.relative(cwd, arg)\n const entry = entries.find((e) => e.source === sourcePath)\n\n if (!entry) {\n // eslint-disable-next-line no-console\n console.error(`could not find source entry: ${sourcePath}`)\n\n return 'null'\n }\n\n return JSON.stringify(\n path.relative(cwd, path.resolve(outDir, entry.name + outputExt))\n )\n },\n 'process.env.PKG_FORMAT': JSON.stringify(format),\n 'process.env.PKG_RUNTIME': JSON.stringify(runtime),\n 'process.env.PKG_VERSION': JSON.stringify(process.env.PKG_VERSION || pkg.version),\n ...replacements,\n }),\n },\n }),\n alias({\n entries: {...pathAliases},\n }),\n nodeResolve({\n // mainFields: ['module', 'jsnext', 'main'],\n browser: runtime === 'browser',\n // exportConditions: [runtime === 'node' ? 'node' : 'browser'],\n extensions: ['.cjs', '.mjs', '.js', '.jsx', '.json', '.node'],\n preferBuiltins: true, // runtime === 'node',\n }),\n commonjs(),\n json(),\n esbuild({\n jsx: config?.jsx ?? 'automatic',\n jsxFactory: config?.jsxFactory ?? 'createElement',\n jsxFragment: config?.jsxFragment ?? 'Fragment',\n jsxImportSource: config?.jsxImportSource ?? 'react',\n target,\n tsconfig: ctx.ts.configPath || 'tsconfig.json',\n }),\n getBabelOutputPlugin({\n babelrc: false,\n plugins: config?.babel?.plugins,\n presets: [\n [\n '@babel/preset-env',\n {targets: pkg.browserslist || DEFAULT_BROWSERSLIST_QUERY, modules: false},\n ],\n ],\n }),\n minify &&\n terser({\n compress: {\n // Needed until https://github.com/terser/terser/issues/1320 is fixed\n directives: false,\n },\n output: {\n comments: (_node, comment) => {\n const text = comment.value\n const type = comment.type\n\n // Check if this is a multiline comment\n if (type == 'comment2') {\n // Keep licensing comments\n return /@preserve|@license|@cc_on/i.test(text)\n }\n\n return false\n },\n },\n }),\n ].filter(Boolean) as Plugin[]\n\n const userPlugins = config?.rollup?.plugins\n\n const plugins = Array.isArray(userPlugins)\n ? defaultPlugins.concat(userPlugins)\n : resolveConfigProperty(config?.rollup?.plugins, defaultPlugins)\n\n return {\n inputOptions: {\n context: cwd,\n\n external: (id, importer) => {\n // Check if the id is a self-referencing import\n if (exportIds?.includes(id)) {\n return true\n }\n\n // Check if the id is a file path that points to an exported source file\n if (importer && (id.startsWith('.') || id.startsWith('/'))) {\n const idPath = path.resolve(path.dirname(importer), id)\n\n if (sourcePaths?.includes(idPath)) {\n logger.warn(\n `detected self-referencing import – treating as external: ${path.relative(\n cwd,\n idPath\n )}`\n )\n\n return true\n }\n }\n\n const idParts = id.split('/')\n\n const name = idParts[0].startsWith('@') ? `${idParts[0]}/${idParts[1]}` : idParts[0]\n\n if (name && external.includes(name)) {\n return true\n }\n\n return false\n },\n\n input: entries.reduce<{[entryAlias: string]: string}>((acc, entry) => {\n return {...acc, [entry.name]: entry.source}\n }, {}),\n\n plugins,\n\n treeshake: {\n propertyReadSideEffects: false,\n },\n },\n outputOptions: {\n chunkFileNames: () => {\n const parts = outputExt.split('.')\n\n if (parts.length === 3) {\n return `_chunks/[name]-[hash].${parts[2]}`\n }\n\n return `_chunks/[name]-[hash]${outputExt}`\n },\n compact: minify,\n dir: outDir,\n entryFileNames: () => {\n const parts = outputExt.split('.')\n\n if (parts.length === 3) {\n return `[name].${parts[2]}`\n }\n\n return `[name]${outputExt}`\n },\n esModule: true,\n format,\n interop: 'compat',\n minifyInternalExports: minify,\n sourcemap: config?.sourcemap ?? true,\n hoistTransitiveImports: false,\n },\n }\n}\n","import path from 'path'\nimport chalk from 'chalk'\nimport {rollup} from 'rollup'\nimport {Observable} from 'rxjs'\nimport {BuildContext} from '../../core'\nimport {RollupTask, TaskHandler} from '../types'\nimport {createConsoleSpy} from './consoleSpy'\nimport {resolveRollupConfig} from './resolveRollupConfig'\n\n/** @internal */\nexport const rollupTask: TaskHandler<RollupTask> = {\n name: (ctx, task) =>\n [\n `Build javascript files...`,\n ` format: ${chalk.yellow(task.format)}`,\n ` target:`,\n ...task.target.map((t) => ` - ${chalk.yellow(t)}`),\n ` entries:`,\n ...task.entries.map((e) =>\n [\n ` - `,\n `${chalk.cyan(path.join(ctx.pkg.name, e.path))}: `,\n `${chalk.yellow(e.source)} ${chalk.gray('→')} ${chalk.yellow(e.output)}`,\n ].join('')\n ),\n ].join('\\n'),\n exec: (ctx, task) => {\n return new Observable((observer) => {\n execPromise(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => observer.error(err))\n })\n },\n complete: () => {\n //\n },\n error: (_ctx, _task, err) => {\n // eslint-disable-next-line no-console\n console.error(err)\n },\n}\n\nasync function execPromise(ctx: BuildContext, task: RollupTask) {\n const {distPath, files, logger} = ctx\n const outDir = path.relative(ctx.cwd, distPath)\n\n // Prevent rollup from printing directly to the console\n const consoleSpy = createConsoleSpy({\n onRestored: (messages) => {\n for (const msg of messages) {\n const text = String(msg.args[0])\n\n if (msg.code === 'CIRCULAR_DEPENDENCY') {\n continue // ignore\n }\n\n if (text.startsWith('Dynamic import can only')) {\n continue // ignore\n }\n\n if (text.startsWith('Sourcemap is likely to be incorrect')) {\n continue // ignore\n }\n\n if (msg.type === 'log') {\n logger.info(...msg.args)\n }\n\n if (msg.type === 'warn') {\n logger.warn(...msg.args)\n }\n\n if (msg.type === 'error') {\n logger.error(...msg.args)\n }\n }\n },\n })\n\n try {\n const {inputOptions, outputOptions} = resolveRollupConfig(ctx, task)\n\n // Create bundle\n const bundle = await rollup({\n ...inputOptions,\n onwarn(warning) {\n consoleSpy.messages.push({\n type: 'warn',\n code: warning.code,\n args: [warning.message],\n })\n },\n })\n\n // generate output specific code in-memory\n // you can call this function multiple times on the same bundle object\n const {output} = await bundle.generate(outputOptions)\n\n for (const chunkOrAsset of output) {\n if (chunkOrAsset.type === 'asset') {\n files.push({\n type: 'asset',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n } else {\n files.push({\n type: 'chunk',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n }\n }\n\n // or write the bundle to disk\n await bundle.write(outputOptions)\n\n // closes the bundle\n await bundle.close()\n\n // Restore console\n consoleSpy.restore()\n } catch (err) {\n // Restore console\n consoleSpy.restore()\n throw err\n }\n}\n","import path from 'path'\nimport chalk from 'chalk'\nimport {RollupWatcherEvent, RollupWatchOptions, watch as rollupWatch} from 'rollup'\nimport {Observable} from 'rxjs'\nimport {RollupWatchTask, TaskHandler} from '../types'\nimport {resolveRollupConfig} from './resolveRollupConfig'\n\n/** @internal */\nexport const rollupWatchTask: TaskHandler<RollupWatchTask, RollupWatcherEvent> = {\n name: (ctx, task) =>\n `build javascript files (target ${task.target.join(' + ')}, format ${\n task.format\n })\\n ${task.entries\n .map((e) => `${chalk.blue(path.join(ctx.pkg.name, e.path))}: ${e.source} -> ${e.output}`)\n .join('\\n ')}`,\n exec: (ctx, task) => {\n const {inputOptions, outputOptions} = resolveRollupConfig(ctx, task)\n\n return new Observable((observer) => {\n const watchOptions: RollupWatchOptions = {\n ...inputOptions,\n output: outputOptions,\n }\n\n const watcher = rollupWatch(watchOptions)\n\n watcher.on('event', (event) => {\n observer.next(event)\n })\n\n return () => {\n watcher.close()\n }\n })\n },\n complete: (ctx, task, event) => {\n const {logger} = ctx\n\n if (event.code === 'BUNDLE_END') {\n logger.success(\n `build javascript files (target ${task.target.join(' + ')}, format ${\n task.format\n })\\n ${task.entries\n .map((e) => `${chalk.blue(path.join(ctx.pkg.name, e.path))}: ${e.source} -> ${e.output}`)\n .join('\\n ')}`\n )\n logger.log('')\n\n return\n }\n\n if (event.code === 'BUNDLE_START') {\n return\n }\n\n if (event.code === 'END') {\n return\n }\n\n if (event.code === 'ERROR') {\n logger.error(event.code, event)\n\n return\n }\n\n if (event.code === 'START') {\n return\n }\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof Error) {\n logger.log(err)\n }\n },\n}\n","import {dtsTask, dtsWatchTask} from './dts'\nimport {nodeReexportCjsTask} from './node/reexportCjsTask'\nimport {rollupTask, rollupWatchTask} from './rollup'\nimport {BuildTaskHandlers, WatchTaskHandlers} from './types'\n\nexport * from './types'\nexport * from './dts'\nexport * from './rollup'\n\n/** @internal */\nexport const buildTaskHandlers: BuildTaskHandlers = {\n 'build:dts': dtsTask,\n 'build:js': rollupTask,\n 'node:reexport-cjs': nodeReexportCjsTask,\n}\n\n/** @internal */\nexport const watchTaskHandlers: WatchTaskHandlers = {\n 'watch:dts': dtsWatchTask,\n 'watch:js': rollupWatchTask,\n}\n","import {getPkgExtMap, loadConfig, loadPkgWithReporting} from './core'\nimport {createLogger} from './logger'\nimport {resolveBuildContext} from './resolveBuildContext'\nimport {resolveBuildTasks} from './resolveBuildTasks'\nimport {createSpinner} from './spinner'\nimport {BuildTask, TaskHandler, buildTaskHandlers} from './tasks'\n\n/**\n * Build the distribution files of a npm package.\n *\n * @example\n * ```ts\n * import {build} from '@sanity/pkg-utils'\n *\n * build({\n * cwd: process.cwd(),\n * tsconfig: 'tsconfig.dist.json,\n * }).then(() => {\n * console.log('successfully built')\n * }).catch((err) => {\n * console.log(`build error: ${err.message}`)\n * })\n * ```\n *\n * @public\n */\nexport async function build(options: {\n cwd: string\n emitDeclarationOnly?: boolean\n strict?: boolean\n tsconfig?: string\n}): Promise<void> {\n const {cwd, emitDeclarationOnly, strict = false, tsconfig: tsconfigOption} = options\n const logger = createLogger()\n\n const pkg = await loadPkgWithReporting({cwd, logger})\n const config = await loadConfig({cwd})\n const extMap = getPkgExtMap({legacyExports: config?.legacyExports ?? false})\n const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'\n\n const ctx = await resolveBuildContext({\n config,\n cwd,\n emitDeclarationOnly,\n extMap,\n logger,\n pkg,\n strict,\n tsconfig,\n })\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 = createSpinner(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","import {statSync} from 'fs'\nimport prettyBytes from 'pretty-bytes'\n\nexport function getFilesize(file: string): string {\n const stats = statSync(file)\n\n return prettyBytes(stats.size)\n}\n","import fs from 'fs'\nimport path from 'path'\nimport chalk from 'chalk'\nimport treeify from 'treeify'\nimport {PkgExport, BuildContext} from './core'\nimport {getFilesize} from './getFilesize'\n\nexport function fileExists(file: string): boolean {\n try {\n fs.accessSync(file)\n\n return true\n } catch (_) {\n return false\n }\n}\n\nfunction getFileInfo(cwd: string, filePath: string) {\n const p = path.resolve(cwd, filePath)\n const exists = fileExists(p)\n const size = exists ? getFilesize(p) : undefined\n\n return {exists, size}\n}\n\nexport function printPackageTree(ctx: BuildContext): void {\n const {cwd, exports, logger, pkg} = ctx\n\n if (!exports) return\n\n logger.log(`${chalk.blue(pkg.name)}@${chalk.green(pkg.version)}`)\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const tree: Record<string, unknown> = {}\n\n if (pkg.type) {\n tree.type = chalk.yellow(pkg.type)\n }\n\n if (pkg.bin) {\n tree.bin = Object.fromEntries(\n Object.entries(pkg.bin).map(([name, file]) => [chalk.cyan(name), fileInfo(file)])\n )\n }\n\n function fileInfo(file: string) {\n const info = getFileInfo(cwd, file)\n\n if (!info.size) {\n return `${chalk.gray(file)} ${chalk.red('does not exist')}`\n }\n\n return `${chalk.yellow(file)} ${chalk.gray(info.size)}`\n }\n\n tree.exports = Object.fromEntries(\n Object.entries(exports)\n .filter(([, entry]) => entry._exported)\n .map(([exportPath, entry]) => {\n const exp: Omit<PkgExport, '_exported'> = {\n types: undefined,\n source: fileInfo(entry.source),\n browser: undefined,\n require: undefined,\n node: undefined,\n import: undefined,\n default: fileInfo(entry.default),\n }\n\n if (entry.types) {\n exp.types = fileInfo(entry.types)\n } else {\n delete exp.types\n }\n\n if (entry.browser) {\n exp.browser = {source: fileInfo(entry.browser.source)}\n\n if (entry.browser.import) exp.browser.import = fileInfo(entry.browser.import)\n if (entry.browser.require) exp.browser.require = fileInfo(entry.browser.require)\n } else {\n delete exp.browser\n }\n\n if (entry.require) {\n exp.require = fileInfo(entry.require)\n } else {\n delete exp.require\n }\n\n if (entry.node) {\n exp.node = {}\n\n if (entry.node.source) exp.node.source = fileInfo(entry.node.source)\n if (entry.node.import) exp.node.import = fileInfo(entry.node.import)\n if (entry.node.require) exp.node.require = fileInfo(entry.node.require)\n } else {\n delete exp.node\n }\n\n if (entry.import) {\n exp.import = fileInfo(entry.import)\n } else {\n delete exp.import\n }\n\n return [chalk.cyan(path.join(pkg.name, exportPath)), exp]\n })\n )\n\n logger.log(treeify.asTree(tree as Record<string, any>, true, true))\n}\n","import path from 'path'\nimport esbuild, {BuildFailure} from 'esbuild'\nimport {getPkgExtMap, loadConfig, loadPkgWithReporting} from './core'\nimport {createLogger} from './logger'\nimport {fileExists, printPackageTree} from './printPackageTree'\nimport {resolveBuildContext} from './resolveBuildContext'\n\n/** @public */\nexport async function check(options: {\n cwd: string\n strict?: boolean\n tsconfig?: string\n}): Promise<void> {\n const {cwd, strict = false, tsconfig: tsconfigOption} = options\n const logger = createLogger()\n\n const pkg = await loadPkgWithReporting({cwd, logger})\n const config = await loadConfig({cwd})\n const extMap = getPkgExtMap({legacyExports: config?.legacyExports ?? false})\n const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'\n const ctx = await resolveBuildContext({config, cwd, extMap, logger, pkg, strict, tsconfig})\n\n printPackageTree(ctx)\n\n if (strict) {\n const missingFiles: string[] = []\n\n // Check if there are missing files\n for (const [, exp] of Object.entries(ctx.exports || {})) {\n if (exp.source && !fileExists(path.resolve(cwd, exp.source))) {\n missingFiles.push(exp.source)\n }\n\n if (exp.require && !fileExists(path.resolve(cwd, exp.require))) {\n missingFiles.push(exp.require)\n }\n\n if (exp.import && !fileExists(path.resolve(cwd, exp.import))) {\n missingFiles.push(exp.import)\n }\n\n if (exp.types && !fileExists(path.resolve(cwd, exp.types))) {\n missingFiles.push(exp.types)\n }\n }\n\n if (missingFiles.length) {\n logger.error('missing files')\n process.exit(1)\n }\n\n // Check if the files are resolved\n const _paths: {require: string[]; import: string[]} = {\n require: [],\n import: [],\n }\n\n for (const exp of Object.values(ctx.exports || {})) {\n if (!exp._exported) continue\n if (exp.require) _paths.require.push(exp.require)\n if (exp.import) _paths.import.push(exp.import)\n }\n\n const external = Object.keys(pkg.dependencies || {}).concat(\n Object.keys(pkg.devDependencies || {})\n )\n\n if (_paths.import.length) {\n const code = _paths.import.map((id) => `import('${id}')`).join('\\n')\n\n try {\n const esbuildResult = await esbuild.build({\n external,\n stdin: {\n contents: code,\n loader: 'js',\n resolveDir: cwd,\n },\n format: 'esm',\n bundle: true,\n logLevel: 'silent',\n // otherwise output maps to stdout as we're using stdin\n outfile: '/dev/null',\n platform: 'node',\n })\n\n if (esbuildResult.warnings.length > 0) {\n logger.warn(...esbuildResult.warnings)\n }\n } catch (err) {\n const {errors} = err as BuildFailure\n\n for (const _err of errors) {\n if (_err.location) {\n logger.error(_err.detail || _err.text)\n logger.error(`${_err.location.line} | ${_err.location.lineText}`)\n logger.error(\n 'in',\n `./${_err.location.file}:${_err.location.line}:${_err.location.column}`\n )\n } else {\n logger.error(_err.detail || _err.text)\n }\n\n logger.log()\n }\n\n process.exit(1)\n }\n }\n\n if (_paths.require.length) {\n const code = _paths.require.map((id) => `require('${id}')`).join('\\n')\n\n const esbuildResult = await esbuild.build({\n external,\n stdin: {\n contents: code,\n loader: 'js',\n resolveDir: cwd,\n },\n format: 'cjs',\n bundle: true,\n // otherwise output maps to stdout as we're using stdin\n outfile: '/dev/null',\n platform: 'node',\n })\n\n if (esbuildResult.errors.length > 0) {\n // throw new Error(esbuildResult.errors.join(', '))\n logger.error(esbuildResult.errors.join(', '))\n process.exit(1)\n }\n\n if (esbuildResult.warnings.length > 0) {\n logger.warn(...esbuildResult.warnings)\n }\n }\n }\n}\n","import fs from 'fs'\nimport path from 'path'\nimport {PkgExport, PkgFormat, PkgRuntime, BuildContext} from './core'\nimport {WatchTask, DtsWatchTask, RollupWatchTask, RollupTaskEntry} from './tasks'\n\n/** @internal */\nexport function resolveWatchTasks(ctx: BuildContext): WatchTask[] {\n const {config, cwd, pkg, target} = ctx\n const tasks: WatchTask[] = []\n\n const exports = Object.entries(ctx.exports || {}).map(\n ([_path, exp]) => ({_path, ...exp} as PkgExport & {_path: string})\n )\n\n const dtsTask: DtsWatchTask = {\n type: 'watch:dts',\n entries: [],\n }\n\n const rollupTasks: Record<string, RollupWatchTask> = {}\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: 'watch: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\n if (relativeTargetPath) {\n fs.writeFileSync(\n path.resolve(cwd, `${exp._path}.js`),\n [`// AUTO-GENERATED – DO NOT EDIT`, `export * from '${relativeTargetPath}'`, ``].join(\n '\\n'\n )\n )\n }\n }\n }\n }\n\n return tasks\n}\n","import path from 'path'\nimport globby from 'globby'\n\nexport function globFiles(patterns: string[]): Promise<string[]> {\n return globby(patterns.map((pattern) => pattern.split(path.sep).join(path.posix.sep)))\n}\n","import chokidar from 'chokidar'\nimport {Observable} from 'rxjs'\n\nexport interface FileEvent {\n type: 'add' | 'addDir' | 'change' | 'unlink' | 'unlinkDir'\n file: string\n}\n\nexport function watchFiles(patterns: string[]): Observable<FileEvent> {\n return new Observable((observer) => {\n const watcher = chokidar.watch(patterns, {\n ignoreInitial: true,\n })\n\n function handleFileEvent(\n type: 'add' | 'addDir' | 'change' | 'unlink' | 'unlinkDir',\n file: string\n ) {\n observer.next({type, file})\n }\n\n watcher.on('all', handleFileEvent)\n\n return () => {\n watcher.off('all', handleFileEvent)\n watcher.close()\n }\n })\n}\n","import path from 'path'\nimport {Observable} from 'rxjs'\nimport {distinctUntilChanged, scan, startWith} from 'rxjs/operators'\nimport {globFiles} from './globFiles'\nimport {Logger} from './logger'\nimport {watchFiles} from './watchFiles'\n\nexport async function watchConfigFiles(options: {\n cwd: string\n logger: Logger\n}): Promise<Observable<string[]>> {\n const {cwd, logger} = options\n\n const initialFiles = await globFiles([\n path.resolve(cwd, 'package.json'),\n path.resolve(cwd, 'package.config.cjs'),\n path.resolve(cwd, 'package.config.js'),\n path.resolve(cwd, 'package.config.ts'),\n ])\n\n const fileEvent$ = watchFiles([\n path.resolve(cwd, 'package.json'),\n path.resolve(cwd, 'package.config.cjs'),\n path.resolve(cwd, 'package.config.js'),\n path.resolve(cwd, 'package.config.ts'),\n ])\n\n return fileEvent$.pipe(\n scan((files, fileEvent) => {\n if (fileEvent.type === 'add') {\n return files.concat(fileEvent.file)\n }\n\n if (fileEvent.type === 'unlink') {\n return files.filter((f) => f !== fileEvent.file)\n }\n\n if (fileEvent.type === 'change') {\n logger.log(\n '--------------------------------------------------------------------------------'\n )\n logger.info(path.relative(cwd, fileEvent.file), 'changed')\n logger.log('')\n\n return files.slice(0) // trigger update\n }\n\n return files\n }, initialFiles),\n startWith(initialFiles),\n distinctUntilChanged()\n )\n}\n","import path from 'path'\nimport {switchMap} from 'rxjs'\nimport {getPkgExtMap, loadConfig, loadPkgWithReporting} from './core'\nimport {createLogger} from './logger'\nimport {resolveBuildContext} from './resolveBuildContext'\nimport {resolveWatchTasks} from './resolveWatchTasks'\nimport {WatchTask, TaskHandler, watchTaskHandlers} from './tasks'\nimport {watchConfigFiles} from './watchConfigFiles'\n\n/** @public */\nexport async function watch(options: {\n cwd: string\n strict?: boolean\n tsconfig?: string\n}): Promise<void> {\n const {cwd, strict = false, tsconfig: tsconfigOption} = options\n\n const logger = createLogger()\n\n const configFiles$ = await watchConfigFiles({cwd, logger})\n\n const ctx$ = configFiles$.pipe(\n switchMap(async (configFiles) => {\n const files = configFiles.map((f) => path.relative(cwd, f))\n\n const packageJsonPath = files.find((f) => f === 'package.json')\n\n if (!packageJsonPath) {\n throw new Error('missing package.json')\n }\n\n const pkg = await loadPkgWithReporting({cwd, logger})\n const config = await loadConfig({cwd})\n const extMap = getPkgExtMap({legacyExports: config?.legacyExports ?? false})\n const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'\n\n return resolveBuildContext({config, cwd, extMap, logger, pkg, strict, tsconfig})\n })\n )\n\n ctx$.subscribe(async (ctx) => {\n const watchTasks = resolveWatchTasks(ctx)\n\n for (const task of watchTasks) {\n const handler = watchTaskHandlers[task.type] as TaskHandler<WatchTask, unknown>\n const result$ = handler.exec(ctx, task)\n\n result$.subscribe({\n error: (err) => {\n ctx.logger.error(err)\n ctx.logger.log()\n\n process.exit(1)\n },\n next: (result) => {\n handler.complete(ctx, task, result)\n },\n complete: () => {\n ctx.logger.success(handler.name(ctx, task))\n ctx.logger.log()\n },\n })\n }\n })\n}\n"],"names":["DEFAULT_BROWSERSLIST_QUERY","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","esbuildOptions","extensions","unregister","globalThis","__DEV__","register","mod","require","default","resolveConfigProperty","prop","initialValue","defineConfig","configOptions","pkgSchema","z","object","type","optional","enum","name","string","version","license","bin","record","dependencies","devDependencies","peerDependencies","source","main","browser","module","types","exports","union","custom","val","test","import","node","browserslist","array","validatePkg","input","parse","loadPkg","Error","buf","fs","readFile","raw","JSON","toString","assertFirst","a","arr","aIdx","indexOf","assertLast","length","assertOrder","b","bIdx","loadPkgWithReporting","logger","pkg","_exports","Object","entries","expPath","exp","keys","warn","concat","err","ZodError","issue","issues","code","error","formatPath","chalk","magenta","expected","received","join","process","exit","segments","map","s","idx","validateExports","extMap","ext","errors","endsWith","commonjs","push","_path","esm","parseExports","strict","rootExport","_exported","extraExports","exportPath","exportEntry","assign","extraExport","DEFAULT_PKG_EXT_MAP","getPkgExtMap","legacyExports","ret","loadTSConfig","tsconfigPath","ts","sys","readConfigFile","parseJsonConfigFileContent","config","createLogger","log","console","arguments","info","_len","args","_key","blue","_len2","_key2","yellow","_len3","_key3","red","success","_len4","_key4","green","pathContains","containerPath","itemPath","relative","findCommonDirPath","filePaths","dirPath","sortAsNumber","aVersion","Number","bVersion","resolveBrowserslistVersions","query","result","key","split","andChr","filter","andFf","chrome","edge","ff","iosSaf","saf","opera","versions","sort","resolveBrowserTarget","target","resolveNodeTarget","resolveBuildContext","_ref","emitDeclarationOnly","tsconfig","targetVersions","nodeTarget","webTarget","parsedExports","reduce","acc","x","parsedExternal","external","outputPaths","values","flatMap","_a","_b","_c","_d","p","commonDistPath","configDistPath","dist","distPath","ctx","files","runtime","resolveBuildTasks","_e","bundles","tasks","_ref2","dtsTask","rollupTasks","addRollupTaskEntry","format","entry","buildId","importId","sourcePath","targetPath","output","bundle","relativeTargetPath","replace","writeFileSync","nodeReexportCjsEntries","createSpinner","msg","startTime","Date","now","complete","gray","printExtractMessages","messages","warnings","logLevel","sourceFilePath","messageId","cyan","sourceFileLine","sourceFileColumn","text","printDiagnostic","diagnostic","file","start","line","character","getLineAndCharacterOfPosition","message","flattenDiagnosticMessageText","messageText","category","DiagnosticCategory","Warning","Message","Suggestion","buildTypes","outDir","compilerOptions","declaration","declarationDir","noEmit","program","createProgram","fileNames","emitResult","emit","allDiagnostics","getPreEmitDiagnostics","diagnostics","emitSkipped","diag","DtsError","constructor","createApiExtractorConfig","projectFolder","mainEntryPointFilePath","apiReport","enabled","reportFileName","compiler","tsconfigFilePath","docModel","apiJsonFilePath","dtsRollup","untrimmedFilePath","tsdocMetadata","createTSDocConfig","opts","customTags","tsDocBaseBuf","tsDocBaseConfig","tagDefinitions","t","tagName","syntaxKind","allowMultiple","supportForTags","customTag","TSDocConfigFile","loadFromObject","noStandardTags","extractModuleBlocksFromTypes","_ref3","tsOutDir","extractResult","compilerState","moduleBlocks","allProgramFiles","getSourceFiles","sourceFiles","sourceFile","includes","extractModuleBlocks","fileContent","ast","parser","typeScriptParser","body","print","LOG_LEVELS","off","getExtractMessagesConfig","rules","ruleToLogLevel","defaultLevel","r","compilerMessageReporting","extractorMessageReporting","addToApiReportFile","tsdocMessageReporting","extractTypes","projectPath","sourceTypesPath","tmpPath","tsdocConfigFile","extractorConfig","ExtractorConfig","prepare","configObject","configObjectFullPath","packageJsonFullPath","extractorResult","Extractor","invoke","localBuild","showVerboseMessages","messageCallback","handled","typesPath","typesBuf","prettierConfig","prettier","resolveConfig","mkdirp","writeFile","filepath","doExtract","task","results","rootDir","extract","some","rimraf","_ctx","exec","Observable","observer","then","next","catch","_task","dtsWatchTask","nodeReexportCjsTask","from","targetDir","relativeImport","slice","compileESMWrapper","k","__esModule","createConsoleSpy","onRestored","original","_len5","_key5","_len6","_key6","_len7","_key7","restore","resolveRollupConfig","buildTask","_ref4","_ref7","_ref8","_ref9","_ref10","_ref11","outputExt","minify","pathAliases","fromEntries","paths","_ref5","baseUrl","exportIds","sourcePaths","e","replacements","define","_ref6","stringify","defaultPlugins","preventAssignment","arg","find","env","PKG_VERSION","alias","nodeResolve","preferBuiltins","json","esbuild","jsx","jsxFactory","jsxFragment","jsxImportSource","getBabelOutputPlugin","babelrc","plugins","babel","presets","targets","modules","terser","compress","directives","comments","_node","comment","userPlugins","rollup","inputOptions","context","id","importer","idPath","idParts","treeshake","propertyReadSideEffects","outputOptions","chunkFileNames","parts","compact","dir","entryFileNames","esModule","interop","minifyInternalExports","sourcemap","hoistTransitiveImports","rollupTask","execPromise","consoleSpy","String","onwarn","warning","generate","chunkOrAsset","write","close","rollupWatchTask","watchOptions","watcher","rollupWatch","on","event","buildTaskHandlers","watchTaskHandlers","build","_ref12","tsconfigOption","buildTasks","handler","taskName","spinner","toPromise","RE_CWD","RegExp","getFilesize","stats","statSync","prettyBytes","size","accessSync","getFileInfo","printPackageTree","tree","_ref13","fileInfo","_ref14","_ref15","treeify","asTree","check","_ref16","missingFiles","_paths","esbuildResult","stdin","contents","loader","resolveDir","outfile","platform","_err","location","detail","lineText","column","resolveWatchTasks","_ref17","globFiles","patterns","globby","pattern","sep","posix","watchFiles","chokidar","watch","ignoreInitial","handleFileEvent","watchConfigFiles","initialFiles","fileEvent$","pipe","scan","fileEvent","f","startWith","distinctUntilChanged","configFiles$","ctx$","switchMap","configFiles","_ref18","packageJsonPath","subscribe","watchTasks","result$"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../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/config/defineConfig.ts","../src/node/core/pkg/validatePkg.ts","../src/node/core/pkg/loadPkg.ts","../src/node/core/pkg/helpers.ts","../src/node/core/pkg/loadPkgWithReporting.ts","../src/node/core/pkg/validateExports.ts","../src/node/core/pkg/parseExports.ts","../src/node/core/pkg/pkgExt.ts","../src/node/core/ts/loadTSConfig.ts","../src/node/logger.ts","../src/node/core/findCommonPath.ts","../src/node/resolveBrowserslistVersions.ts","../src/node/resolveBrowserTarget.ts","../src/node/resolveNodeTarget.ts","../src/node/resolveBuildContext.ts","../src/node/resolveBuildTasks.ts","../src/node/spinner.ts","../src/node/printExtractMessages.ts","../src/node/tasks/dts/printDiagnostic.ts","../src/node/tasks/dts/buildTypes.ts","../src/node/tasks/dts/DtsError.ts","../src/node/tasks/dts/createApiExtractorConfig.ts","../src/node/tasks/dts/createTSDocConfig.ts","../src/node/tasks/dts/extractModuleBlocks.ts","../src/node/tasks/dts/getExtractMessagesConfig.ts","../src/node/tasks/dts/extractTypes.ts","../src/node/tasks/dts/doExtract.ts","../src/node/tasks/dts/dtsTask.ts","../src/node/tasks/dts/dtsWatchTask.ts","../src/node/tasks/node/reexportCjsTask.ts","../src/node/tasks/rollup/consoleSpy.ts","../src/node/tasks/rollup/resolveRollupConfig.ts","../src/node/tasks/rollup/rollupTask.ts","../src/node/tasks/rollup/rollupWatchTask.ts","../src/node/tasks/index.ts","../src/node/build.ts","../src/node/getFilesize.ts","../src/node/printPackageTree.ts","../src/node/check.ts","../src/node/resolveWatchTasks.ts","../src/node/globFiles.ts","../src/node/watchFiles.ts","../src/node/watchConfigFiles.ts","../src/node/watch.ts"],"sourcesContent":["/** @public */\nexport const DEFAULT_BROWSERSLIST_QUERY = [\n '> 0.2% and supports es6-module and supports es6-module-dynamic-import',\n 'not dead',\n 'not IE 11',\n 'maintained node versions',\n]\n","/** @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 const esbuildOptions = {extensions: ['.js', '.mjs', '.ts']}\n\n const {unregister} = globalThis.__DEV__ ? {unregister: () => undefined} : register(esbuildOptions)\n\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const mod = require(configFile)\n\n unregister()\n\n return mod?.default || mod || undefined\n}\n","import {PkgConfigProperty, PkgConfigPropertyResolver} from './types'\n\n/** @internal */\nexport function resolveConfigProperty<T>(\n prop: PkgConfigProperty<T> | undefined,\n initialValue: T\n): T {\n if (!prop) return initialValue\n\n if (typeof prop === 'function') {\n return (prop as PkgConfigPropertyResolver<T>)(initialValue)\n }\n\n return prop\n}\n","import {PkgConfigOptions} from './types'\n\n/** @public */\nexport function defineConfig(configOptions: PkgConfigOptions): PkgConfigOptions {\n return configOptions\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.union([\n z.custom<`./${string}.json`>((val) => /^\\.\\/.*\\.json$/.test(val as string)),\n z.object({\n types: z.optional(z.string()),\n source: z.string(),\n require: z.optional(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.optional(z.string()),\n require: z.optional(z.string()),\n import: z.optional(z.string()),\n })\n ),\n import: z.optional(z.string()),\n default: z.string(),\n }),\n ])\n )\n ),\n browserslist: z.optional(z.array(z.string())),\n})\n\nexport function validatePkg(input: unknown): PackageJSON {\n return pkgSchema.parse(input)\n}\n","import 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 const raw = JSON.parse(buf.toString())\n\n validatePkg(raw)\n\n return raw\n}\n","/** @internal */\nexport function assertFirst<T>(a: T, arr: T[]): boolean {\n const aIdx = arr.indexOf(a)\n\n // if not found, then we don't care\n if (aIdx === -1) {\n return true\n }\n\n return aIdx === 0\n}\n\n/** @internal */\nexport function assertLast<T>(a: T, arr: T[]): boolean {\n const aIdx = arr.indexOf(a)\n\n // if not found, then we don't care\n if (aIdx === -1) {\n return true\n }\n\n return aIdx === arr.length - 1\n}\n\n/** @internal */\nexport function assertOrder<T>(a: T, b: T, arr: T[]): boolean {\n const aIdx = arr.indexOf(a)\n const bIdx = arr.indexOf(b)\n\n // if either is not found, then we don't care\n if (aIdx === -1 || bIdx === -1) {\n return true\n }\n\n return aIdx < bIdx\n}\n","import chalk from 'chalk'\nimport {ZodError} from 'zod'\nimport {Logger} from '../../logger'\nimport {assertFirst, assertLast, assertOrder} from './helpers'\nimport {loadPkg} from './loadPkg'\nimport {PackageJSON} from './types'\n\n/** @internal */\nexport async function loadPkgWithReporting(options: {\n cwd: string\n logger: Logger\n}): Promise<PackageJSON> {\n const {cwd, logger} = options\n\n try {\n const pkg = await loadPkg({cwd})\n\n // validate exports\n if (pkg.exports) {\n const _exports = Object.entries(pkg.exports)\n\n for (const [expPath, exp] of _exports) {\n if (typeof exp === 'string') {\n continue\n }\n\n const keys = Object.keys(exp)\n\n if (!assertFirst('types', keys)) {\n logger.warn(`exports[\"${expPath}\"]: the \\`types\\` property should be the first property`)\n }\n\n if (!assertOrder('require', 'import', keys)) {\n logger.warn(\n `exports[\"${expPath}\"]: the \\`require\\` property should come before the \\`import\\` property`\n )\n }\n\n if (!assertOrder('require', 'node', keys)) {\n logger.warn(\n `exports[\"${expPath}\"]: the \\`require\\` property should come before the \\`node\\` property`\n )\n }\n\n if (!assertOrder('node', 'import', keys)) {\n logger.warn(\n `exports[\"${expPath}\"]: the \\`node\\` property should come before \\`import\\` property`\n )\n }\n\n if (!assertLast('default', keys)) {\n logger.warn(`exports[\"${expPath}\"]: the \\`default\\` property should be the last property`)\n }\n }\n }\n\n return pkg\n } catch (err) {\n if (err instanceof ZodError) {\n for (const issue of err.issues) {\n if (issue.code === 'invalid_type') {\n logger.error(\n [\n `\\`${formatPath(issue.path)}\\` `,\n `in \\`./package.json\\` must be of type ${chalk.magenta(issue.expected)} `,\n `(received ${chalk.magenta(issue.received)})`,\n ].join('')\n )\n continue\n }\n\n logger.error(issue)\n }\n } else {\n logger.error(err)\n }\n\n process.exit(1)\n }\n}\n\nfunction formatPath(segments: Array<string | number>) {\n return segments\n .map((s, idx) => {\n if (idx === 0) return s\n\n if (typeof s === 'number') {\n return `[${s}]`\n }\n\n if (s.startsWith('.')) {\n return `[\"${s}\"]`\n }\n\n return `.${s}`\n })\n .join('')\n}\n","import {PkgExport} from '../config'\nimport {PkgExtMap} from './pkgExt'\nimport {PackageJSON} from './types'\n\nexport function validateExports(\n _exports: (PkgExport & {_path: string})[],\n options: {extMap: PkgExtMap; pkg: PackageJSON}\n): string[] {\n const {extMap, pkg} = options\n const ext = extMap[pkg.type || 'commonjs']\n\n const errors: string[] = []\n\n for (const exp of _exports) {\n if (exp.require && !exp.require.endsWith(ext.commonjs)) {\n errors.push(\n `package.json with \\`type: \"${pkg.type}\"\\` - \\`exports[\"${exp._path}\"].require\\` must end with \"${ext.commonjs}\"`\n )\n }\n\n if (exp.import && !exp.import.endsWith(ext.esm)) {\n errors.push(\n `package.json with \\`type: \"${pkg.type}\"\\` - \\`exports[\"${exp._path}\"].import\\` must end with \"${ext.esm}\"`\n )\n }\n }\n\n return errors\n}\n","import {PkgExport} from '../config'\nimport {isRecord} from '../isRecord'\nimport {PkgExtMap} from './pkgExt'\nimport {PackageJSON} from './types'\nimport {validateExports} from './validateExports'\n\n/** @internal */\nexport function parseExports(options: {\n extMap: PkgExtMap\n pkg: PackageJSON\n strict: boolean\n}): (PkgExport & {_path: string})[] {\n const {extMap, pkg, strict} = options\n\n const rootExport: PkgExport & {_path: string} = {\n _exported: true,\n _path: '.',\n types: pkg.types,\n source: pkg.source || '',\n browser: pkg.browser && {\n source: pkg.source || '',\n require: pkg.main && pkg.browser[pkg.main],\n import: pkg.module && pkg.browser[pkg.module],\n },\n require: pkg.main,\n import: pkg.module,\n default: pkg.module || pkg.main || '',\n }\n\n const extraExports: (PkgExport & {_path: string})[] = []\n\n const errors: string[] = []\n\n if (pkg.exports) {\n if (strict && !pkg.exports['./package.json']) {\n errors.push('package.json: `exports[\"./package.json\"] must be declared.')\n }\n\n for (const [exportPath, exportEntry] of Object.entries(pkg.exports)) {\n if (exportPath.endsWith('.json')) {\n if (exportPath === './package.json') {\n if (exportEntry !== './package.json') {\n errors.push('package.json: `exports[\"./package.json\"] must be \"./package.json\".')\n }\n }\n } else if (isRecord(exportEntry)) {\n if (exportPath === '.') {\n if (\n exportEntry.require &&\n rootExport.require &&\n exportEntry.require !== rootExport.require\n ) {\n errors.push(\n 'package.json: mismatch between \"main\" and \"exports.require\". These must be equal.'\n )\n }\n\n if (exportEntry.import && rootExport.import && exportEntry.import !== rootExport.import) {\n errors.push(\n 'package.json: mismatch between \"module\" and \"exports.import\" These must be equal.'\n )\n }\n\n if (exportEntry.types && rootExport.types && exportEntry.types !== rootExport.types) {\n errors.push(\n 'package.json: mismatch between \"types\" and \"exports.types\". These must be equal.'\n )\n }\n\n if (exportEntry.source && rootExport.source && exportEntry.source !== rootExport.source) {\n errors.push(\n 'package.json: mismatch between \"source\" and \"exports.source\". These must be equal.'\n )\n }\n\n Object.assign(rootExport, exportEntry)\n } else {\n const extraExport: PkgExport & {_path: string} = {\n _exported: true,\n _path: exportPath,\n ...exportEntry,\n }\n\n extraExports.push(extraExport)\n }\n } else {\n errors.push('package.json: exports must be an object')\n }\n }\n }\n\n const _exports = [rootExport, ...extraExports]\n\n errors.push(...validateExports(_exports, {extMap, pkg}))\n\n if (errors.length) {\n throw new Error('\\n- ' + errors.join('\\n- '))\n }\n\n return _exports\n}\n","/** @internal */\nexport interface PkgExtMap {\n commonjs: {commonjs: string; esm: string}\n module: {commonjs: string; esm: string}\n}\n\n/** @internal */\nexport const DEFAULT_PKG_EXT_MAP: PkgExtMap = {\n // pkg.type: \"commonjs\"\n commonjs: {\n commonjs: '.js',\n esm: '.mjs',\n },\n\n // pkg.type: \"module\"\n module: {\n commonjs: '.cjs',\n esm: '.js',\n },\n}\n\n/** @internal */\nexport function getPkgExtMap(options: {legacyExports: boolean}): PkgExtMap {\n const {legacyExports} = options\n\n const ret = {...DEFAULT_PKG_EXT_MAP}\n\n // Fall back to legacy file extensions for package.json with `\"type\": \"commonjs\"`\n // NOTE: Not supported by Node 14+ and will be removed in a future version\n if (legacyExports) {\n ret['commonjs'] = {\n commonjs: '.js',\n esm: '.esm.js',\n }\n }\n\n return ret\n}\n","import ts from 'typescript'\n\n/** @internal */\nexport async function loadTSConfig(options: {\n cwd: string\n tsconfigPath: string\n}): Promise<ts.ParsedCommandLine> {\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 chalk from 'chalk'\n\n/** @internal */\nexport interface Logger {\n log: (...args: unknown[]) => void\n info: (...args: unknown[]) => void\n warn: (...args: unknown[]) => void\n error: (...args: unknown[]) => void\n success: (...args: unknown[]) => void\n}\n\n/** @internal */\nexport function createLogger(): Logger {\n return {\n /* eslint-disable no-console */\n log: (...args) => {\n console.log(...args)\n },\n info: (...args) => {\n console.log(chalk.blue('[info]'), ...args)\n },\n warn: (...args) => {\n console.log(chalk.yellow('[warning]'), ...args)\n },\n error: (...args) => {\n console.log(chalk.red('[error]'), ...args)\n },\n success: (...args) => {\n console.log(chalk.green('[success]'), ...args)\n },\n /* eslint-enable no-console */\n }\n}\n","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 {\n PkgConfigOptions,\n PkgExports,\n PkgRuntime,\n BuildContext,\n DEFAULT_BROWSERSLIST_QUERY,\n loadTSConfig,\n PackageJSON,\n parseExports,\n resolveConfigProperty,\n PkgExtMap,\n} from './core'\nimport {findCommonDirPath, pathContains} from './core/findCommonPath'\nimport {Logger} from './logger'\nimport {resolveBrowserslistVersions} from './resolveBrowserslistVersions'\nimport {resolveBrowserTarget} from './resolveBrowserTarget'\nimport {resolveNodeTarget} from './resolveNodeTarget'\n\nexport async function resolveBuildContext(options: {\n config?: PkgConfigOptions\n cwd: string\n emitDeclarationOnly?: boolean\n extMap: PkgExtMap\n logger: Logger\n pkg: PackageJSON\n strict: boolean\n tsconfig: string\n}): Promise<BuildContext> {\n const {\n config,\n cwd,\n emitDeclarationOnly = false,\n extMap,\n logger,\n pkg,\n strict,\n tsconfig: tsconfigPath,\n } = options\n const tsconfig = await loadTSConfig({cwd, tsconfigPath})\n const targetVersions = resolveBrowserslistVersions(pkg.browserslist || DEFAULT_BROWSERSLIST_QUERY)\n const nodeTarget = resolveNodeTarget(targetVersions)\n const webTarget = resolveBrowserTarget(targetVersions)\n\n if (!nodeTarget) {\n throw new Error('no matching `node` target')\n }\n\n if (!webTarget) {\n throw new Error('no matching `web` target')\n }\n\n const target: Record<PkgRuntime, string[]> = {\n '*': webTarget.concat(nodeTarget),\n browser: webTarget,\n node: nodeTarget,\n }\n\n const parsedExports = parseExports({extMap, pkg, strict}).reduce<PkgExports>((acc, x) => {\n const {_path: exportPath, ...exportEntry} = x\n\n return {...acc, [exportPath]: exportEntry}\n }, {})\n\n const exports = resolveConfigProperty(config?.exports, parsedExports)\n\n const parsedExternal = [\n ...(pkg.dependencies ? Object.keys(pkg.dependencies) : []),\n ...(pkg.peerDependencies ? Object.keys(pkg.peerDependencies) : []),\n ]\n\n // Merge externals if an array is provided, replace if it's a function\n const external =\n config && Array.isArray(config.external)\n ? [...parsedExternal, ...config.external]\n : resolveConfigProperty(config?.external, parsedExternal)\n\n const outputPaths = Object.values(exports)\n .flatMap((exportEntry) => {\n return [\n exportEntry.import,\n exportEntry.require,\n exportEntry.browser?.import,\n exportEntry.browser?.require,\n exportEntry.node?.source && exportEntry.node.import,\n exportEntry.node?.source && exportEntry.node.require,\n ].filter(Boolean) as string[]\n })\n .map((p) => path.resolve(cwd, p))\n\n const commonDistPath = findCommonDirPath(outputPaths)\n\n if (commonDistPath === cwd) {\n throw new Error(\n 'all output files must share a common parent directory which is not the root package directory'\n )\n }\n\n if (commonDistPath && !pathContains(cwd, commonDistPath)) {\n throw new Error('all output files must be located within the package')\n }\n\n const configDistPath = config?.dist ? path.resolve(cwd, config.dist) : undefined\n\n if (\n configDistPath &&\n commonDistPath &&\n configDistPath !== commonDistPath &&\n !pathContains(configDistPath, commonDistPath)\n ) {\n logger.log(`did you mean to configure \\`dist: './${path.relative(cwd, commonDistPath)}'\\`?`)\n\n throw new Error('all output files must be located with the configured `dist` path')\n }\n\n const distPath = configDistPath || commonDistPath\n\n if (!distPath) {\n throw new Error('could not detect `dist` path')\n }\n\n const ctx: BuildContext = {\n config,\n cwd,\n distPath,\n emitDeclarationOnly,\n exports,\n external,\n extMap,\n files: [],\n logger,\n pkg,\n runtime: config?.runtime ?? '*',\n strict,\n target,\n ts: {\n config: tsconfig,\n configPath: tsconfigPath,\n },\n }\n\n return ctx\n}\n","import fs from 'fs'\nimport path from 'path'\nimport {PkgExport, PkgFormat, PkgRuntime, BuildContext} from './core'\nimport {BuildTask, DtsTask, NodeReExportFromCJSTask, RollupTask, RollupTaskEntry} from './tasks'\n\n/** @internal */\nexport function resolveBuildTasks(ctx: BuildContext): BuildTask[] {\n const {config, cwd, pkg, target} = ctx\n\n const bundles = config?.bundles || []\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 // Add dts task\n if (dtsTask.entries.length) {\n tasks.push(dtsTask)\n }\n\n if (!ctx.emitDeclarationOnly) {\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: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: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: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 for (const bundle of bundles) {\n if (bundle.require) {\n addRollupTaskEntry('commonjs', bundle.runtime || ctx.runtime, {\n path: '__bundle__',\n source: bundle.source,\n output: bundle.require,\n })\n }\n\n if (bundle.import) {\n addRollupTaskEntry('commonjs', bundle.runtime || ctx.runtime, {\n path: '__bundle__',\n source: bundle.source,\n output: bundle.import,\n })\n }\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\n if (relativeTargetPath) {\n fs.writeFileSync(\n path.resolve(cwd, `${exp._path}.js`),\n [`// AUTO-GENERATED – DO NOT EDIT`, `export * from '${relativeTargetPath}'`, ``].join(\n '\\n'\n )\n )\n }\n }\n }\n }\n }\n\n const nodeReexportCjsEntries: NodeReExportFromCJSTask['entries'] = []\n\n // Parse tasks to re-export from CommonJS for Node.js\n for (const exp of exports) {\n if (\n exp.node &&\n !exp.node.source &&\n exp.node.import &&\n exp.node.require &&\n (exp.node.import.endsWith('.cjs.js') || exp.node.import.endsWith('.cjs.mjs'))\n ) {\n const importId = path.join(pkg.name, exp._path)\n\n nodeReexportCjsEntries.push({\n importId,\n import: exp.node.import,\n require: exp.node.require,\n })\n }\n }\n\n if (nodeReexportCjsEntries.length) {\n tasks.push({\n type: 'node:reexport-cjs',\n entries: nodeReexportCjsEntries,\n })\n }\n\n return tasks\n}\n","/* eslint-disable no-console */\n\nimport chalk from 'chalk'\n\nexport function createSpinner(msg: string): {complete: () => void; error: () => void} {\n const startTime = Date.now()\n\n console.log(msg)\n\n return {\n complete: () => {\n console.log(`${chalk.green('[success]')} ${chalk.gray(`${Date.now() - startTime}ms`)}`)\n },\n error: () => {\n console.log(`${chalk.red(`[error]`)} ${chalk.gray(`${Date.now() - startTime}ms`)}`)\n },\n }\n}\n","import path from 'path'\nimport {ExtractorMessage} from '@microsoft/api-extractor'\nimport chalk from 'chalk'\nimport {BuildContext} from './core'\n\nexport function printExtractMessages(ctx: BuildContext, messages: ExtractorMessage[]): void {\n const {cwd, logger} = ctx\n\n const warnings = messages.filter((msg) => msg.logLevel === 'warning')\n\n if (warnings.length) {\n logger.log()\n }\n\n for (const msg of warnings) {\n const sourceFilePath = msg.sourceFilePath && path.relative(cwd, msg.sourceFilePath)\n\n if (msg.messageId === 'TS6307') {\n // Ignore this warning:\n // > TS6307: <filename> is not in project file list.\n // > Projects must list all files or use an 'include' pattern.\n continue\n }\n\n logger.log(\n [\n `${chalk.cyan(sourceFilePath || '?')}`,\n `:${chalk.yellow(msg.sourceFileLine)}:${chalk.yellow(msg.sourceFileColumn)}`,\n ` - ${chalk.yellow('warning')} ${chalk.gray(msg.messageId)}\\n`,\n msg.text,\n '\\n',\n ].join('')\n )\n }\n\n const errors: ExtractorMessage[] = messages.filter((msg) => msg.logLevel === 'error')\n\n if (!warnings.length && errors.length) {\n logger.log('')\n }\n\n for (const msg of errors) {\n const sourceFilePath = msg.sourceFilePath && path.relative(cwd, msg.sourceFilePath)\n\n logger.log(\n [\n `${chalk.cyan(sourceFilePath || '?')}`,\n `:${chalk.yellow(msg.sourceFileLine)}:${chalk.yellow(msg.sourceFileColumn)}`,\n ` - ${chalk.red('error')} ${chalk.gray(msg.messageId)}\\n`,\n msg.text,\n '\\n',\n ].join('')\n )\n }\n\n if (errors.length) {\n process.exit(1)\n }\n}\n","import path from 'path'\nimport chalk from 'chalk'\nimport ts from 'typescript'\nimport {Logger} from '../../logger'\n\nexport function printDiagnostic(options: {\n cwd: string\n logger: Logger\n diagnostic: ts.Diagnostic\n}): void {\n const {cwd, logger, diagnostic} = options\n\n if (diagnostic.file && diagnostic.start) {\n const {line, character} = ts.getLineAndCharacterOfPosition(diagnostic.file, diagnostic.start)\n const message = ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n')\n\n const file = path.relative(cwd, diagnostic.file.fileName)\n\n const output = [\n `${chalk.yellow(file)}:${chalk.blue(line + 1)}:${chalk.blue(character + 1)} - `,\n `${chalk.gray(`TS${diagnostic.code}:`)} ${message}`,\n ].join('')\n\n if (diagnostic.category === ts.DiagnosticCategory.Error) {\n logger.error(output)\n }\n\n if (diagnostic.category === ts.DiagnosticCategory.Warning) {\n logger.warn(output)\n }\n\n if (diagnostic.category === ts.DiagnosticCategory.Message) {\n logger.log(output)\n }\n\n if (diagnostic.category === ts.DiagnosticCategory.Suggestion) {\n logger.log(output)\n }\n } else {\n logger.log(ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n'))\n }\n}\n","import ts from 'typescript'\nimport {Logger} from '../../logger'\nimport {printDiagnostic} from './printDiagnostic'\n\n/** @internal */\nexport async function buildTypes(options: {\n cwd: string\n logger: Logger\n outDir: string\n tsconfig: ts.ParsedCommandLine\n strict: boolean\n}): Promise<void> {\n const {cwd, logger, outDir, tsconfig, strict = false} = options\n\n const compilerOptions: ts.CompilerOptions = {\n ...tsconfig.options,\n declaration: true,\n declarationDir: outDir,\n emitDeclarationOnly: true,\n noEmit: false,\n outDir,\n }\n\n const program = ts.createProgram(tsconfig.fileNames, compilerOptions)\n\n const emitResult = program.emit()\n\n const allDiagnostics = ts.getPreEmitDiagnostics(program).concat(emitResult.diagnostics)\n\n for (const diagnostic of allDiagnostics) {\n printDiagnostic({cwd, logger, diagnostic})\n }\n\n if (emitResult.emitSkipped) {\n const errors = allDiagnostics.filter((diag) => diag.category === ts.DiagnosticCategory.Error)\n\n if (errors.length) {\n if (strict) {\n throw new Error('failed to compile TypeScript definitions')\n }\n }\n }\n}\n","import {ExtractorMessage} from '@microsoft/api-extractor'\n\n/** @internal */\nexport class DtsError extends Error {\n messages: ExtractorMessage[]\n\n constructor(message: string, messages: ExtractorMessage[]) {\n super(message)\n this.messages = messages\n }\n}\n","import path from 'path'\nimport {IConfigFile, IExtractorMessagesConfig} from '@microsoft/api-extractor'\n\nexport function createApiExtractorConfig(options: {\n distPath: string\n exportPath: string\n filePath: string\n messages: IExtractorMessagesConfig\n projectFolder: string\n mainEntryPointFilePath: string\n tsconfigPath: string\n}): IConfigFile {\n const {\n distPath,\n exportPath,\n filePath,\n messages,\n projectFolder,\n mainEntryPointFilePath,\n tsconfigPath,\n } = options\n\n return {\n apiReport: {\n enabled: false,\n reportFileName: '<unscopedPackageName>.api.md',\n },\n // bundledPackages: [],\n compiler: {\n tsconfigFilePath: tsconfigPath,\n },\n docModel: {\n enabled: false,\n apiJsonFilePath: path.resolve(distPath, `${exportPath}.api.json`),\n },\n dtsRollup: {\n enabled: true,\n untrimmedFilePath: path.resolve(distPath, filePath),\n // betaTrimmedFilePath: path.resolve(distPath, filePath.replace('.d.ts', '-beta.d.ts')),\n // publicTrimmedFilePath: path.resolve(distPath, filePath.replace('.d.ts', '-public.d.ts')),\n },\n tsdocMetadata: {\n enabled: false,\n },\n messages,\n mainEntryPointFilePath,\n projectFolder,\n }\n}\n","import {readFile} from 'fs/promises'\nimport {TSDocConfigFile} from '@microsoft/tsdoc-config'\nimport {parse} from 'jsonc-parser'\n\n/** @public */\nexport interface TSDocCustomTag {\n name: string\n syntaxKind: 'block' | 'modifier'\n allowMultiple?: boolean\n}\n\n/** @internal */\nexport async function createTSDocConfig(opts: {\n customTags: TSDocCustomTag[]\n}): Promise<TSDocConfigFile | undefined> {\n const {customTags} = opts\n\n if (customTags.length === 0) {\n return undefined\n }\n\n const tsDocBaseBuf = await readFile(\n require.resolve('@microsoft/api-extractor/extends/tsdoc-base.json')\n )\n\n // Include the definitions that are required for API Extractor\n // extends: ['@microsoft/api-extractor/extends/tsdoc-base.json'],\n const tsDocBaseConfig = parse(tsDocBaseBuf.toString())\n\n // Define custom tags and specify how they should be parsed\n const tagDefinitions = (tsDocBaseConfig.tagDefinitions || []).concat(\n customTags.map((t) => ({\n tagName: `@${t.name}`,\n syntaxKind: t.syntaxKind,\n allowMultiple: t.allowMultiple,\n }))\n )\n\n // Indicate that custom tags are supported by your tooling.\n // (Without this, warnings may be reported saying that a tag is unsupported.)\n const supportForTags = {...tsDocBaseConfig.supportForTags}\n\n for (const customTag of customTags) {\n supportForTags[`@${customTag.name}`] = true\n }\n\n return TSDocConfigFile.loadFromObject({\n ...tsDocBaseConfig,\n noStandardTags: false,\n tagDefinitions,\n supportForTags,\n })\n}\n","import type {File} from '@babel/types'\nimport {ExtractorResult} from '@microsoft/api-extractor'\nimport {parse, print} from 'recast'\nimport typeScriptParser from 'recast/parsers/typescript'\nimport {Program} from 'typescript'\n\n/**\n * A workaround to find all module blocks in extract TS files.\n * @internal\n * */\nexport async function extractModuleBlocksFromTypes({\n tsOutDir,\n extractResult,\n}: {\n tsOutDir: string\n extractResult: ExtractorResult\n}): Promise<string[]> {\n const program = extractResult.compilerState.program as Program\n const moduleBlocks: string[] = []\n\n // all program files, including node_modules\n const allProgramFiles = [...program.getSourceFiles()]\n\n // just our compiled files used in the program\n const sourceFiles = allProgramFiles.filter((sourceFile) => sourceFile.fileName.includes(tsOutDir))\n\n for (const sourceFile of sourceFiles) {\n if (sourceFile.text.includes('declare module')) {\n moduleBlocks.push(...extractModuleBlocks(sourceFile.text))\n }\n }\n\n return moduleBlocks\n}\n\n/** @internal */\nexport function extractModuleBlocks(fileContent: string): string[] {\n const ast = parse(fileContent, {\n parser: typeScriptParser,\n }) as File\n\n return ast.program.body\n .filter((node) => node.type === 'TSModuleDeclaration')\n .map((node) => print(node).code)\n}\n","import {ExtractorLogLevel, IExtractorMessagesConfig} from '@microsoft/api-extractor'\nimport {PkgRuleLevel, PkgConfigOptions} from '../../core'\n\nconst LOG_LEVELS: Record<PkgRuleLevel, ExtractorLogLevel> = {\n error: 'error' as ExtractorLogLevel.Error,\n info: 'info' as ExtractorLogLevel.Info,\n off: 'none' as ExtractorLogLevel.None,\n warn: 'warning' as ExtractorLogLevel.Warning,\n}\n\n/** @internal */\nexport function getExtractMessagesConfig(options: {\n rules: NonNullable<PkgConfigOptions['extract']>['rules']\n}): IExtractorMessagesConfig {\n const {rules} = options\n\n function ruleToLogLevel(\n key: keyof NonNullable<NonNullable<PkgConfigOptions['extract']>['rules']>,\n defaultLevel?: ExtractorLogLevel\n ) {\n const r = rules?.[key]\n\n return (r ? LOG_LEVELS[r] : defaultLevel || 'warning') as ExtractorLogLevel\n }\n\n return {\n compilerMessageReporting: {\n default: {\n logLevel: 'warning' as ExtractorLogLevel,\n },\n },\n\n extractorMessageReporting: {\n default: {\n logLevel: 'warning' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n\n 'ae-forgotten-export': {\n logLevel: ruleToLogLevel('ae-forgotten-export', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-incompatible-release-tags': {\n logLevel: ruleToLogLevel('ae-incompatible-release-tags', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-internal-missing-underscore': {\n logLevel: ruleToLogLevel('ae-internal-missing-underscore'),\n addToApiReportFile: false,\n },\n\n 'ae-missing-release-tag': {\n logLevel: ruleToLogLevel('ae-missing-release-tag', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-wrong-input-file-type': {\n logLevel: 'none' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n },\n\n tsdocMessageReporting: {\n default: {\n logLevel: 'warning' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n\n 'tsdoc-link-tag-unescaped-text': {\n logLevel: ruleToLogLevel('tsdoc-link-tag-unescaped-text', 'warning' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'tsdoc-undefined-tag': {\n logLevel: ruleToLogLevel('tsdoc-undefined-tag', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'tsdoc-unsupported-tag': {\n logLevel: ruleToLogLevel('tsdoc-unsupported-tag', 'none' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n },\n }\n}\n","import fs from 'fs/promises'\nimport path from 'path'\nimport {\n Extractor,\n ExtractorConfig,\n ExtractorMessage,\n ExtractorResult,\n} from '@microsoft/api-extractor'\nimport {mkdirp} from 'mkdirp'\nimport prettier from 'prettier'\nimport {PkgConfigOptions, BuildFile} from '../../core'\nimport {createApiExtractorConfig} from './createApiExtractorConfig'\nimport {createTSDocConfig} from './createTSDocConfig'\nimport {extractModuleBlocksFromTypes} from './extractModuleBlocks'\nimport {getExtractMessagesConfig} from './getExtractMessagesConfig'\n\nexport async function extractTypes(options: {\n customTags: NonNullable<PkgConfigOptions['extract']>['customTags']\n cwd: string\n distPath: string\n exportPath: string\n filePath: string\n files: BuildFile[]\n projectPath: string\n rules?: NonNullable<PkgConfigOptions['extract']>['rules']\n sourceTypesPath: string\n tmpPath: string\n tsconfigPath: string\n}): Promise<{extractorResult: ExtractorResult; messages: ExtractorMessage[]}> {\n const {\n customTags,\n distPath,\n exportPath,\n files,\n filePath,\n projectPath,\n rules,\n sourceTypesPath,\n tmpPath,\n tsconfigPath,\n } = options\n\n const tsdocConfigFile = await createTSDocConfig({\n customTags: customTags || [],\n })\n\n const extractorConfig: ExtractorConfig = ExtractorConfig.prepare({\n configObject: createApiExtractorConfig({\n distPath,\n exportPath,\n filePath,\n messages: getExtractMessagesConfig({rules}),\n projectFolder: projectPath,\n mainEntryPointFilePath: sourceTypesPath,\n tsconfigPath,\n }),\n configObjectFullPath: undefined,\n tsdocConfigFile,\n packageJsonFullPath: path.resolve(projectPath, 'package.json'),\n })\n\n const messages: ExtractorMessage[] = []\n\n // Invoke API Extractor\n const extractorResult = Extractor.invoke(extractorConfig, {\n // Equivalent to the \"--local\" command-line parameter\n localBuild: true,\n // Equivalent to the \"--verbose\" command-line parameter\n showVerboseMessages: true,\n // handle messages\n messageCallback(message: ExtractorMessage) {\n messages.push(message)\n message.handled = true\n },\n })\n\n const typesPath = path.resolve(distPath, filePath)\n const typesBuf = await fs.readFile(typesPath)\n const prettierConfig = await prettier.resolveConfig(typesPath)\n\n await mkdirp(path.dirname(typesPath))\n\n const moduleBlocks = await extractModuleBlocksFromTypes({\n extractResult: extractorResult,\n tsOutDir: tmpPath,\n })\n\n const code = [typesBuf.toString(), ...moduleBlocks].join('\\n\\n')\n\n await fs.writeFile(\n typesPath,\n prettier.format(code, {\n ...prettierConfig,\n filepath: typesPath,\n })\n )\n\n // Add to `files` in context\n files.push({\n type: 'types',\n path: typesPath,\n })\n\n return {extractorResult, messages}\n}\n","import path from 'path'\nimport {ExtractorMessage} from '@microsoft/api-extractor'\nimport {rimraf} from 'rimraf'\nimport {BuildContext} from '../../core'\nimport {buildTypes} from './buildTypes'\nimport {DtsError} from './DtsError'\nimport {extractTypes} from './extractTypes'\nimport {DtsResult, DtsTask, DtsWatchTask} from './types'\n\n/**\n * - Build type definitions to a temporary directory using TypeScript compiler.\n * - Create a type definition bundle for each export entry.\n * - When done, remove the temporary directory.\n */\nexport async function doExtract(\n ctx: BuildContext,\n task: DtsTask | DtsWatchTask\n): Promise<DtsResult> {\n const {config, cwd, files, logger, strict, ts} = ctx\n\n if (!ts.config || !ts.configPath) {\n return {type: 'dts', messages: [], results: []}\n }\n\n const {outDir, rootDir = cwd} = ts.config.options\n\n if (!outDir) {\n throw new Error('tsconfig.json is missing `compilerOptions.outDir`')\n }\n\n const tmpPath = path.resolve(outDir, '__tmp__')\n\n await buildTypes({cwd, logger, outDir: tmpPath, strict, tsconfig: ts.config})\n const messages: ExtractorMessage[] = []\n\n const results: {sourcePath: string; filePath: string}[] = []\n\n for (const entry of task.entries) {\n const exportPath = entry.exportPath === '.' ? './index' : entry.exportPath\n\n const sourceTypesPath = path.resolve(\n tmpPath,\n path.relative(rootDir, path.resolve(cwd, entry.sourcePath)).replace(/\\.ts$/, '.d.ts')\n )\n\n const targetPath = path.resolve(cwd, entry.targetPath)\n const filePath = path.relative(outDir, targetPath)\n const result = await extractTypes({\n customTags: config?.extract?.customTags,\n cwd,\n distPath: outDir,\n exportPath,\n files,\n filePath: filePath,\n projectPath: cwd,\n rules: config?.extract?.rules,\n sourceTypesPath: sourceTypesPath,\n tmpPath,\n tsconfigPath: path.resolve(cwd, ts.configPath || 'tsconfig.json'),\n })\n\n messages.push(...result.messages)\n\n if (result.messages.some((msg) => msg.logLevel === 'error')) {\n await rimraf(tmpPath)\n\n throw new DtsError('encountered errors when extracting types', result.messages)\n }\n\n results.push({sourcePath: path.resolve(cwd, entry.sourcePath), filePath: targetPath})\n }\n\n await rimraf(tmpPath)\n\n return {type: 'dts', messages, results}\n}\n","import chalk from 'chalk'\nimport {Observable} from 'rxjs'\nimport {printExtractMessages} from '../../printExtractMessages'\nimport {TaskHandler} from '../types'\nimport {doExtract} from './doExtract'\nimport {DtsError} from './DtsError'\nimport {DtsResult, DtsTask} from './types'\n\n/** @internal */\nexport const dtsTask: TaskHandler<DtsTask, DtsResult> = {\n name: (_ctx, task) =>\n [\n `Build type definitions...`,\n ` entries:`,\n ...task.entries.map((entry) =>\n [\n ` - ${chalk.cyan(entry.importId)}: `,\n `${chalk.yellow(entry.sourcePath)} ${chalk.gray('→')} ${chalk.yellow(entry.targetPath)}`,\n ].join('')\n ),\n ].join('\\n'),\n exec: (ctx, task) => {\n return new Observable((observer) => {\n doExtract(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => {\n observer.error(err)\n })\n })\n },\n complete: (ctx, _task, result) => {\n printExtractMessages(ctx, result.messages)\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof DtsError) {\n printExtractMessages(ctx, err.messages)\n } else if (err instanceof Error) {\n logger.error(err)\n }\n },\n}\n","import chalk from 'chalk'\nimport {Observable} from 'rxjs'\nimport {printExtractMessages} from '../../printExtractMessages'\nimport {TaskHandler} from '../types'\nimport {doExtract} from './doExtract'\nimport {DtsError} from './DtsError'\nimport {DtsResult, DtsWatchTask} from './types'\n\n/** @internal */\nexport const dtsWatchTask: TaskHandler<DtsWatchTask, DtsResult> = {\n name: (_ctx, task) =>\n [\n `build type definitions`,\n ...task.entries.map(\n (entry) =>\n ` ${chalk.blue(entry.importId)}: ${entry.sourcePath} -> ${entry.targetPath}`\n ),\n ].join('\\n'),\n exec: (ctx, task) => {\n return new Observable((observer) => {\n doExtract(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => observer.error(err))\n })\n },\n complete: (ctx, _task, result) => {\n const {logger} = ctx\n\n printExtractMessages(ctx, result.messages)\n\n logger.warn('watching typescript definitions is currently not supported')\n logger.log()\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof DtsError) {\n printExtractMessages(ctx, err.messages)\n } else if (err instanceof Error) {\n logger.error(err)\n }\n },\n}\n","import {writeFile} from 'fs/promises'\nimport path from 'path'\nimport chalk from 'chalk'\nimport {mkdirp} from 'mkdirp'\nimport {from} from 'rxjs'\nimport {BuildContext} from '../../core'\nimport {NodeReExportFromCJSTask, TaskHandler} from '../types'\n\n/** @internal */\nexport const nodeReexportCjsTask: TaskHandler<NodeReExportFromCJSTask> = {\n name: (_ctx, task) =>\n [\n `Re-export CommonJS module in ESM wrapper…`,\n ` entries:`,\n ...task.entries.map((entry) =>\n [\n ` - ${chalk.cyan(entry.importId)}: `,\n `${chalk.yellow(entry.require)} ${chalk.gray('→')} ${chalk.yellow(entry.import)}`,\n ].join('')\n ),\n ].join('\\n'),\n exec: (ctx, task) => {\n return from(exec(ctx, task))\n },\n complete: () => {\n //\n },\n error: (_ctx, _task, err) => {\n // eslint-disable-next-line no-console\n console.error(err)\n },\n}\n\nasync function exec(ctx: BuildContext, task: NodeReExportFromCJSTask) {\n const {cwd} = ctx\n\n for (const entry of task.entries) {\n const sourcePath = path.resolve(cwd, entry.require)\n const targetPath = path.resolve(cwd, entry.import)\n const targetDir = path.dirname(targetPath)\n\n await mkdirp(targetDir)\n\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const mod = require(sourcePath)\n\n let relativeImport = `./${path.relative(targetDir, sourcePath)}`\n\n // Strip leading \"./\" from relative import\n if (relativeImport.startsWith('./.')) {\n relativeImport = relativeImport.slice(2)\n }\n\n const code = compileESMWrapper(mod, relativeImport)\n\n await writeFile(targetPath, code, 'utf8')\n }\n}\n\nfunction compileESMWrapper(mod: any, relativeImport: string) {\n const keys = Object.keys(mod).filter((k) => k !== '__esModule')\n\n let code = `import cjs from '${relativeImport}';\\n`\n\n if (keys.length) {\n code += `\\n`\n code += keys\n .filter((k) => (mod.__esModule ? k !== 'default' : true))\n .map((k) => `export const ${k} = cjs.${k};\\n`)\n .join('')\n }\n\n code += `\\n`\n\n if (mod.__esModule) {\n code += `export default cjs.default;\\n`\n } else {\n code += `export default cjs;\\n`\n }\n\n return code\n}\n","/* eslint-disable no-console */\n\nexport interface ConsoleSpyMsg {\n type: 'log' | 'warn' | 'error'\n code?: string\n args: unknown[]\n}\n\nexport interface ConsoleSpy {\n messages: ConsoleSpyMsg[]\n restore: () => void\n}\n\nexport function createConsoleSpy(options: {\n onRestored: (messages: ConsoleSpyMsg[]) => void\n}): ConsoleSpy {\n const {onRestored} = options\n\n const original = {\n log: console.log,\n warn: console.warn,\n error: console.error,\n }\n\n const messages: ConsoleSpyMsg[] = []\n\n console.log = (...args: unknown[]) => messages.push({type: 'log', args})\n console.warn = (...args: unknown[]) => messages.push({type: 'warn', args})\n console.error = (...args: unknown[]) => messages.push({type: 'error', args})\n\n return {\n messages,\n restore: () => {\n console.log = original.log\n console.warn = original.warn\n console.error = original.error\n\n onRestored(messages)\n },\n }\n}\n","import path from 'path'\nimport alias from '@rollup/plugin-alias'\nimport {getBabelOutputPlugin} from '@rollup/plugin-babel'\nimport commonjs from '@rollup/plugin-commonjs'\nimport json from '@rollup/plugin-json'\nimport {nodeResolve} from '@rollup/plugin-node-resolve'\nimport replace from '@rollup/plugin-replace'\nimport terser from '@rollup/plugin-terser'\nimport {InputOptions, OutputOptions, Plugin} from 'rollup'\nimport esbuild from 'rollup-plugin-esbuild'\nimport {BuildContext, DEFAULT_BROWSERSLIST_QUERY, resolveConfigProperty} from '../../core'\nimport {RollupTask, RollupWatchTask} from '../types'\n\nexport interface RollupConfig {\n inputOptions: InputOptions\n outputOptions: OutputOptions\n}\n\n/** @internal */\nexport function resolveRollupConfig(\n ctx: BuildContext,\n buildTask: RollupTask | RollupWatchTask\n): RollupConfig {\n const {format, runtime, target} = buildTask\n const {config, cwd, exports: _exports, extMap, external, distPath, logger, pkg, ts} = ctx\n const outputExt = extMap[pkg.type || 'commonjs'][format]\n const minify = config?.minify ?? false\n const outDir = path.relative(cwd, distPath)\n\n const pathAliases = Object.fromEntries(\n Object.entries(ts.config?.options.paths || {}).map(([key, val]) => {\n return [key, path.resolve(cwd, ts.config?.options.baseUrl || '.', val[0])]\n })\n )\n\n const entries = buildTask.entries.map((entry) => {\n return {\n ...entry,\n name: path.relative(outDir, entry.output).replace(/\\.[^/.]+$/, ''),\n }\n }, {})\n\n const exportIds =\n _exports && Object.keys(_exports).map((exportPath) => path.join(pkg.name, exportPath))\n\n const sourcePaths = _exports && Object.values(_exports).map((e) => path.resolve(cwd, e.source))\n\n const replacements = Object.fromEntries(\n Object.entries(config?.define || {}).map(([key, val]) => [key, JSON.stringify(val)])\n )\n\n const defaultPlugins = [\n replace({\n preventAssignment: true,\n values: {\n ...(pkg.name === '@sanity/pkg-utils'\n ? {...replacements}\n : {\n 'process.env.PKG_FILE_PATH': (arg) => {\n const sourcePath = './' + path.relative(cwd, arg)\n const entry = entries.find((e) => e.source === sourcePath)\n\n if (!entry) {\n // eslint-disable-next-line no-console\n console.error(`could not find source entry: ${sourcePath}`)\n\n return 'null'\n }\n\n return JSON.stringify(\n path.relative(cwd, path.resolve(outDir, entry.name + outputExt))\n )\n },\n 'process.env.PKG_FORMAT': JSON.stringify(format),\n 'process.env.PKG_RUNTIME': JSON.stringify(runtime),\n 'process.env.PKG_VERSION': JSON.stringify(process.env.PKG_VERSION || pkg.version),\n ...replacements,\n }),\n },\n }),\n alias({\n entries: {...pathAliases},\n }),\n nodeResolve({\n // mainFields: ['module', 'jsnext', 'main'],\n browser: runtime === 'browser',\n // exportConditions: [runtime === 'node' ? 'node' : 'browser'],\n extensions: ['.cjs', '.mjs', '.js', '.jsx', '.json', '.node'],\n preferBuiltins: true, // runtime === 'node',\n }),\n commonjs(),\n json(),\n esbuild({\n jsx: config?.jsx ?? 'automatic',\n jsxFactory: config?.jsxFactory ?? 'createElement',\n jsxFragment: config?.jsxFragment ?? 'Fragment',\n jsxImportSource: config?.jsxImportSource ?? 'react',\n target,\n tsconfig: ctx.ts.configPath || 'tsconfig.json',\n }),\n getBabelOutputPlugin({\n babelrc: false,\n plugins: config?.babel?.plugins,\n presets: [\n [\n '@babel/preset-env',\n {targets: pkg.browserslist || DEFAULT_BROWSERSLIST_QUERY, modules: false},\n ],\n ],\n }),\n minify &&\n terser({\n compress: {\n // Needed until https://github.com/terser/terser/issues/1320 is fixed\n directives: false,\n },\n output: {\n comments: (_node, comment) => {\n const text = comment.value\n const type = comment.type\n\n // Check if this is a multiline comment\n if (type == 'comment2') {\n // Keep licensing comments\n return /@preserve|@license|@cc_on/i.test(text)\n }\n\n return false\n },\n },\n }),\n ].filter(Boolean) as Plugin[]\n\n const userPlugins = config?.rollup?.plugins\n\n const plugins = Array.isArray(userPlugins)\n ? defaultPlugins.concat(userPlugins)\n : resolveConfigProperty(config?.rollup?.plugins, defaultPlugins)\n\n return {\n inputOptions: {\n context: cwd,\n\n external: (id, importer) => {\n // Check if the id is a self-referencing import\n if (exportIds?.includes(id)) {\n return true\n }\n\n // Check if the id is a file path that points to an exported source file\n if (importer && (id.startsWith('.') || id.startsWith('/'))) {\n const idPath = path.resolve(path.dirname(importer), id)\n\n if (sourcePaths?.includes(idPath)) {\n logger.warn(\n `detected self-referencing import – treating as external: ${path.relative(\n cwd,\n idPath\n )}`\n )\n\n return true\n }\n }\n\n const idParts = id.split('/')\n\n const name = idParts[0].startsWith('@') ? `${idParts[0]}/${idParts[1]}` : idParts[0]\n\n if (name && external.includes(name)) {\n return true\n }\n\n return false\n },\n\n input: entries.reduce<{[entryAlias: string]: string}>((acc, entry) => {\n return {...acc, [entry.name]: entry.source}\n }, {}),\n\n plugins,\n\n treeshake: {\n propertyReadSideEffects: false,\n },\n },\n outputOptions: {\n chunkFileNames: () => {\n const parts = outputExt.split('.')\n\n if (parts.length === 3) {\n return `_chunks/[name]-[hash].${parts[2]}`\n }\n\n return `_chunks/[name]-[hash]${outputExt}`\n },\n compact: minify,\n dir: outDir,\n entryFileNames: () => {\n const parts = outputExt.split('.')\n\n if (parts.length === 3) {\n return `[name].${parts[2]}`\n }\n\n return `[name]${outputExt}`\n },\n esModule: true,\n format,\n interop: 'compat',\n minifyInternalExports: minify,\n sourcemap: config?.sourcemap ?? true,\n hoistTransitiveImports: false,\n },\n }\n}\n","import path from 'path'\nimport chalk from 'chalk'\nimport {rollup} from 'rollup'\nimport {Observable} from 'rxjs'\nimport {BuildContext} from '../../core'\nimport {RollupTask, TaskHandler} from '../types'\nimport {createConsoleSpy} from './consoleSpy'\nimport {resolveRollupConfig} from './resolveRollupConfig'\n\n/** @internal */\nexport const rollupTask: TaskHandler<RollupTask> = {\n name: (ctx, task) =>\n [\n `Build javascript files...`,\n ` format: ${chalk.yellow(task.format)}`,\n ` target:`,\n ...task.target.map((t) => ` - ${chalk.yellow(t)}`),\n ` entries:`,\n ...task.entries.map((e) =>\n [\n ` - `,\n `${chalk.cyan(path.join(ctx.pkg.name, e.path))}: `,\n `${chalk.yellow(e.source)} ${chalk.gray('→')} ${chalk.yellow(e.output)}`,\n ].join('')\n ),\n ].join('\\n'),\n exec: (ctx, task) => {\n return new Observable((observer) => {\n execPromise(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => observer.error(err))\n })\n },\n complete: () => {\n //\n },\n error: (_ctx, _task, err) => {\n // eslint-disable-next-line no-console\n console.error(err)\n },\n}\n\nasync function execPromise(ctx: BuildContext, task: RollupTask) {\n const {distPath, files, logger} = ctx\n const outDir = path.relative(ctx.cwd, distPath)\n\n // Prevent rollup from printing directly to the console\n const consoleSpy = createConsoleSpy({\n onRestored: (messages) => {\n for (const msg of messages) {\n const text = String(msg.args[0])\n\n if (msg.code === 'CIRCULAR_DEPENDENCY') {\n continue // ignore\n }\n\n if (text.startsWith('Dynamic import can only')) {\n continue // ignore\n }\n\n if (text.startsWith('Sourcemap is likely to be incorrect')) {\n continue // ignore\n }\n\n if (msg.type === 'log') {\n logger.info(...msg.args)\n }\n\n if (msg.type === 'warn') {\n logger.warn(...msg.args)\n }\n\n if (msg.type === 'error') {\n logger.error(...msg.args)\n }\n }\n },\n })\n\n try {\n const {inputOptions, outputOptions} = resolveRollupConfig(ctx, task)\n\n // Create bundle\n const bundle = await rollup({\n ...inputOptions,\n onwarn(warning) {\n consoleSpy.messages.push({\n type: 'warn',\n code: warning.code,\n args: [warning.message],\n })\n },\n })\n\n // generate output specific code in-memory\n // you can call this function multiple times on the same bundle object\n const {output} = await bundle.generate(outputOptions)\n\n for (const chunkOrAsset of output) {\n if (chunkOrAsset.type === 'asset') {\n files.push({\n type: 'asset',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n } else {\n files.push({\n type: 'chunk',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n }\n }\n\n // or write the bundle to disk\n await bundle.write(outputOptions)\n\n // closes the bundle\n await bundle.close()\n\n // Restore console\n consoleSpy.restore()\n } catch (err) {\n // Restore console\n consoleSpy.restore()\n throw err\n }\n}\n","import path from 'path'\nimport chalk from 'chalk'\nimport {RollupWatcherEvent, RollupWatchOptions, watch as rollupWatch} from 'rollup'\nimport {Observable} from 'rxjs'\nimport {RollupWatchTask, TaskHandler} from '../types'\nimport {resolveRollupConfig} from './resolveRollupConfig'\n\n/** @internal */\nexport const rollupWatchTask: TaskHandler<RollupWatchTask, RollupWatcherEvent> = {\n name: (ctx, task) =>\n `build javascript files (target ${task.target.join(' + ')}, format ${\n task.format\n })\\n ${task.entries\n .map((e) => `${chalk.blue(path.join(ctx.pkg.name, e.path))}: ${e.source} -> ${e.output}`)\n .join('\\n ')}`,\n exec: (ctx, task) => {\n const {inputOptions, outputOptions} = resolveRollupConfig(ctx, task)\n\n return new Observable((observer) => {\n const watchOptions: RollupWatchOptions = {\n ...inputOptions,\n output: outputOptions,\n }\n\n const watcher = rollupWatch(watchOptions)\n\n watcher.on('event', (event) => {\n observer.next(event)\n })\n\n return () => {\n watcher.close()\n }\n })\n },\n complete: (ctx, task, event) => {\n const {logger} = ctx\n\n if (event.code === 'BUNDLE_END') {\n logger.success(\n `build javascript files (target ${task.target.join(' + ')}, format ${\n task.format\n })\\n ${task.entries\n .map((e) => `${chalk.blue(path.join(ctx.pkg.name, e.path))}: ${e.source} -> ${e.output}`)\n .join('\\n ')}`\n )\n logger.log('')\n\n return\n }\n\n if (event.code === 'BUNDLE_START') {\n return\n }\n\n if (event.code === 'END') {\n return\n }\n\n if (event.code === 'ERROR') {\n logger.error(event.code, event)\n\n return\n }\n\n if (event.code === 'START') {\n return\n }\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof Error) {\n logger.log(err)\n }\n },\n}\n","import {dtsTask, dtsWatchTask} from './dts'\nimport {nodeReexportCjsTask} from './node/reexportCjsTask'\nimport {rollupTask, rollupWatchTask} from './rollup'\nimport {BuildTaskHandlers, WatchTaskHandlers} from './types'\n\nexport * from './types'\nexport * from './dts'\nexport * from './rollup'\n\n/** @internal */\nexport const buildTaskHandlers: BuildTaskHandlers = {\n 'build:dts': dtsTask,\n 'build:js': rollupTask,\n 'node:reexport-cjs': nodeReexportCjsTask,\n}\n\n/** @internal */\nexport const watchTaskHandlers: WatchTaskHandlers = {\n 'watch:dts': dtsWatchTask,\n 'watch:js': rollupWatchTask,\n}\n","import {getPkgExtMap, loadConfig, loadPkgWithReporting} from './core'\nimport {createLogger} from './logger'\nimport {resolveBuildContext} from './resolveBuildContext'\nimport {resolveBuildTasks} from './resolveBuildTasks'\nimport {createSpinner} from './spinner'\nimport {BuildTask, TaskHandler, buildTaskHandlers} from './tasks'\n\n/**\n * Build the distribution files of a npm package.\n *\n * @example\n * ```ts\n * import {build} from '@sanity/pkg-utils'\n *\n * build({\n * cwd: process.cwd(),\n * tsconfig: 'tsconfig.dist.json,\n * }).then(() => {\n * console.log('successfully built')\n * }).catch((err) => {\n * console.log(`build error: ${err.message}`)\n * })\n * ```\n *\n * @public\n */\nexport async function build(options: {\n cwd: string\n emitDeclarationOnly?: boolean\n strict?: boolean\n tsconfig?: string\n}): Promise<void> {\n const {cwd, emitDeclarationOnly, strict = false, tsconfig: tsconfigOption} = options\n const logger = createLogger()\n\n const pkg = await loadPkgWithReporting({cwd, logger})\n const config = await loadConfig({cwd})\n const extMap = getPkgExtMap({legacyExports: config?.legacyExports ?? false})\n const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'\n\n const ctx = await resolveBuildContext({\n config,\n cwd,\n emitDeclarationOnly,\n extMap,\n logger,\n pkg,\n strict,\n tsconfig,\n })\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 = createSpinner(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","import {statSync} from 'fs'\nimport prettyBytes from 'pretty-bytes'\n\nexport function getFilesize(file: string): string {\n const stats = statSync(file)\n\n return prettyBytes(stats.size)\n}\n","import fs from 'fs'\nimport path from 'path'\nimport chalk from 'chalk'\nimport treeify from 'treeify'\nimport {PkgExport, BuildContext} from './core'\nimport {getFilesize} from './getFilesize'\n\nexport function fileExists(file: string): boolean {\n try {\n fs.accessSync(file)\n\n return true\n } catch (_) {\n return false\n }\n}\n\nfunction getFileInfo(cwd: string, filePath: string) {\n const p = path.resolve(cwd, filePath)\n const exists = fileExists(p)\n const size = exists ? getFilesize(p) : undefined\n\n return {exists, size}\n}\n\nexport function printPackageTree(ctx: BuildContext): void {\n const {cwd, exports, logger, pkg} = ctx\n\n if (!exports) return\n\n logger.log(`${chalk.blue(pkg.name)}@${chalk.green(pkg.version)}`)\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const tree: Record<string, unknown> = {}\n\n if (pkg.type) {\n tree.type = chalk.yellow(pkg.type)\n }\n\n if (pkg.bin) {\n tree.bin = Object.fromEntries(\n Object.entries(pkg.bin).map(([name, file]) => [chalk.cyan(name), fileInfo(file)])\n )\n }\n\n function fileInfo(file: string) {\n const info = getFileInfo(cwd, file)\n\n if (!info.size) {\n return `${chalk.gray(file)} ${chalk.red('does not exist')}`\n }\n\n return `${chalk.yellow(file)} ${chalk.gray(info.size)}`\n }\n\n tree.exports = Object.fromEntries(\n Object.entries(exports)\n .filter(([, entry]) => entry._exported)\n .map(([exportPath, entry]) => {\n const exp: Omit<PkgExport, '_exported'> = {\n types: undefined,\n source: fileInfo(entry.source),\n browser: undefined,\n require: undefined,\n node: undefined,\n import: undefined,\n default: fileInfo(entry.default),\n }\n\n if (entry.types) {\n exp.types = fileInfo(entry.types)\n } else {\n delete exp.types\n }\n\n if (entry.browser) {\n exp.browser = {source: fileInfo(entry.browser.source)}\n\n if (entry.browser.import) exp.browser.import = fileInfo(entry.browser.import)\n if (entry.browser.require) exp.browser.require = fileInfo(entry.browser.require)\n } else {\n delete exp.browser\n }\n\n if (entry.require) {\n exp.require = fileInfo(entry.require)\n } else {\n delete exp.require\n }\n\n if (entry.node) {\n exp.node = {}\n\n if (entry.node.source) exp.node.source = fileInfo(entry.node.source)\n if (entry.node.import) exp.node.import = fileInfo(entry.node.import)\n if (entry.node.require) exp.node.require = fileInfo(entry.node.require)\n } else {\n delete exp.node\n }\n\n if (entry.import) {\n exp.import = fileInfo(entry.import)\n } else {\n delete exp.import\n }\n\n return [chalk.cyan(path.join(pkg.name, exportPath)), exp]\n })\n )\n\n logger.log(treeify.asTree(tree as Record<string, any>, true, true))\n}\n","import path from 'path'\nimport esbuild, {BuildFailure} from 'esbuild'\nimport {getPkgExtMap, loadConfig, loadPkgWithReporting} from './core'\nimport {createLogger} from './logger'\nimport {fileExists, printPackageTree} from './printPackageTree'\nimport {resolveBuildContext} from './resolveBuildContext'\n\n/** @public */\nexport async function check(options: {\n cwd: string\n strict?: boolean\n tsconfig?: string\n}): Promise<void> {\n const {cwd, strict = false, tsconfig: tsconfigOption} = options\n const logger = createLogger()\n\n const pkg = await loadPkgWithReporting({cwd, logger})\n const config = await loadConfig({cwd})\n const extMap = getPkgExtMap({legacyExports: config?.legacyExports ?? false})\n const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'\n const ctx = await resolveBuildContext({config, cwd, extMap, logger, pkg, strict, tsconfig})\n\n printPackageTree(ctx)\n\n if (strict) {\n const missingFiles: string[] = []\n\n // Check if there are missing files\n for (const [, exp] of Object.entries(ctx.exports || {})) {\n if (exp.source && !fileExists(path.resolve(cwd, exp.source))) {\n missingFiles.push(exp.source)\n }\n\n if (exp.require && !fileExists(path.resolve(cwd, exp.require))) {\n missingFiles.push(exp.require)\n }\n\n if (exp.import && !fileExists(path.resolve(cwd, exp.import))) {\n missingFiles.push(exp.import)\n }\n\n if (exp.types && !fileExists(path.resolve(cwd, exp.types))) {\n missingFiles.push(exp.types)\n }\n }\n\n if (missingFiles.length) {\n logger.error('missing files')\n process.exit(1)\n }\n\n // Check if the files are resolved\n const _paths: {require: string[]; import: string[]} = {\n require: [],\n import: [],\n }\n\n for (const exp of Object.values(ctx.exports || {})) {\n if (!exp._exported) continue\n if (exp.require) _paths.require.push(exp.require)\n if (exp.import) _paths.import.push(exp.import)\n }\n\n const external = Object.keys(pkg.dependencies || {}).concat(\n Object.keys(pkg.devDependencies || {})\n )\n\n if (_paths.import.length) {\n const code = _paths.import.map((id) => `import('${id}')`).join('\\n')\n\n try {\n const esbuildResult = await esbuild.build({\n external,\n stdin: {\n contents: code,\n loader: 'js',\n resolveDir: cwd,\n },\n format: 'esm',\n bundle: true,\n logLevel: 'silent',\n // otherwise output maps to stdout as we're using stdin\n outfile: '/dev/null',\n platform: 'node',\n })\n\n if (esbuildResult.warnings.length > 0) {\n logger.warn(...esbuildResult.warnings)\n }\n } catch (err) {\n const {errors} = err as BuildFailure\n\n for (const _err of errors) {\n if (_err.location) {\n logger.error(_err.detail || _err.text)\n logger.error(`${_err.location.line} | ${_err.location.lineText}`)\n logger.error(\n 'in',\n `./${_err.location.file}:${_err.location.line}:${_err.location.column}`\n )\n } else {\n logger.error(_err.detail || _err.text)\n }\n\n logger.log()\n }\n\n process.exit(1)\n }\n }\n\n if (_paths.require.length) {\n const code = _paths.require.map((id) => `require('${id}')`).join('\\n')\n\n const esbuildResult = await esbuild.build({\n external,\n stdin: {\n contents: code,\n loader: 'js',\n resolveDir: cwd,\n },\n format: 'cjs',\n bundle: true,\n // otherwise output maps to stdout as we're using stdin\n outfile: '/dev/null',\n platform: 'node',\n })\n\n if (esbuildResult.errors.length > 0) {\n // throw new Error(esbuildResult.errors.join(', '))\n logger.error(esbuildResult.errors.join(', '))\n process.exit(1)\n }\n\n if (esbuildResult.warnings.length > 0) {\n logger.warn(...esbuildResult.warnings)\n }\n }\n }\n}\n","import fs from 'fs'\nimport path from 'path'\nimport {PkgExport, PkgFormat, PkgRuntime, BuildContext} from './core'\nimport {WatchTask, DtsWatchTask, RollupWatchTask, RollupTaskEntry} from './tasks'\n\n/** @internal */\nexport function resolveWatchTasks(ctx: BuildContext): WatchTask[] {\n const {config, cwd, pkg, target} = ctx\n const tasks: WatchTask[] = []\n\n const exports = Object.entries(ctx.exports || {}).map(\n ([_path, exp]) => ({_path, ...exp} as PkgExport & {_path: string})\n )\n\n const dtsTask: DtsWatchTask = {\n type: 'watch:dts',\n entries: [],\n }\n\n const rollupTasks: Record<string, RollupWatchTask> = {}\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: 'watch: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\n if (relativeTargetPath) {\n fs.writeFileSync(\n path.resolve(cwd, `${exp._path}.js`),\n [`// AUTO-GENERATED – DO NOT EDIT`, `export * from '${relativeTargetPath}'`, ``].join(\n '\\n'\n )\n )\n }\n }\n }\n }\n\n return tasks\n}\n","import path from 'path'\nimport globby from 'globby'\n\nexport function globFiles(patterns: string[]): Promise<string[]> {\n return globby(patterns.map((pattern) => pattern.split(path.sep).join(path.posix.sep)))\n}\n","import chokidar from 'chokidar'\nimport {Observable} from 'rxjs'\n\nexport interface FileEvent {\n type: 'add' | 'addDir' | 'change' | 'unlink' | 'unlinkDir'\n file: string\n}\n\nexport function watchFiles(patterns: string[]): Observable<FileEvent> {\n return new Observable((observer) => {\n const watcher = chokidar.watch(patterns, {\n ignoreInitial: true,\n })\n\n function handleFileEvent(\n type: 'add' | 'addDir' | 'change' | 'unlink' | 'unlinkDir',\n file: string\n ) {\n observer.next({type, file})\n }\n\n watcher.on('all', handleFileEvent)\n\n return () => {\n watcher.off('all', handleFileEvent)\n watcher.close()\n }\n })\n}\n","import path from 'path'\nimport {Observable} from 'rxjs'\nimport {distinctUntilChanged, scan, startWith} from 'rxjs/operators'\nimport {globFiles} from './globFiles'\nimport {Logger} from './logger'\nimport {watchFiles} from './watchFiles'\n\nexport async function watchConfigFiles(options: {\n cwd: string\n logger: Logger\n}): Promise<Observable<string[]>> {\n const {cwd, logger} = options\n\n const initialFiles = await globFiles([\n path.resolve(cwd, 'package.json'),\n path.resolve(cwd, 'package.config.cjs'),\n path.resolve(cwd, 'package.config.js'),\n path.resolve(cwd, 'package.config.ts'),\n ])\n\n const fileEvent$ = watchFiles([\n path.resolve(cwd, 'package.json'),\n path.resolve(cwd, 'package.config.cjs'),\n path.resolve(cwd, 'package.config.js'),\n path.resolve(cwd, 'package.config.ts'),\n ])\n\n return fileEvent$.pipe(\n scan((files, fileEvent) => {\n if (fileEvent.type === 'add') {\n return files.concat(fileEvent.file)\n }\n\n if (fileEvent.type === 'unlink') {\n return files.filter((f) => f !== fileEvent.file)\n }\n\n if (fileEvent.type === 'change') {\n logger.log(\n '--------------------------------------------------------------------------------'\n )\n logger.info(path.relative(cwd, fileEvent.file), 'changed')\n logger.log('')\n\n return files.slice(0) // trigger update\n }\n\n return files\n }, initialFiles),\n startWith(initialFiles),\n distinctUntilChanged()\n )\n}\n","import path from 'path'\nimport {switchMap} from 'rxjs'\nimport {getPkgExtMap, loadConfig, loadPkgWithReporting} from './core'\nimport {createLogger} from './logger'\nimport {resolveBuildContext} from './resolveBuildContext'\nimport {resolveWatchTasks} from './resolveWatchTasks'\nimport {WatchTask, TaskHandler, watchTaskHandlers} from './tasks'\nimport {watchConfigFiles} from './watchConfigFiles'\n\n/** @public */\nexport async function watch(options: {\n cwd: string\n strict?: boolean\n tsconfig?: string\n}): Promise<void> {\n const {cwd, strict = false, tsconfig: tsconfigOption} = options\n\n const logger = createLogger()\n\n const configFiles$ = await watchConfigFiles({cwd, logger})\n\n const ctx$ = configFiles$.pipe(\n switchMap(async (configFiles) => {\n const files = configFiles.map((f) => path.relative(cwd, f))\n\n const packageJsonPath = files.find((f) => f === 'package.json')\n\n if (!packageJsonPath) {\n throw new Error('missing package.json')\n }\n\n const pkg = await loadPkgWithReporting({cwd, logger})\n const config = await loadConfig({cwd})\n const extMap = getPkgExtMap({legacyExports: config?.legacyExports ?? false})\n const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'\n\n return resolveBuildContext({config, cwd, extMap, logger, pkg, strict, tsconfig})\n })\n )\n\n ctx$.subscribe(async (ctx) => {\n const watchTasks = resolveWatchTasks(ctx)\n\n for (const task of watchTasks) {\n const handler = watchTaskHandlers[task.type] as TaskHandler<WatchTask, unknown>\n const result$ = handler.exec(ctx, task)\n\n result$.subscribe({\n error: (err) => {\n ctx.logger.error(err)\n ctx.logger.log()\n\n process.exit(1)\n },\n next: (result) => {\n handler.complete(ctx, task, result)\n },\n complete: () => {\n ctx.logger.success(handler.name(ctx, task))\n ctx.logger.log()\n },\n })\n }\n })\n}\n"],"names":["DEFAULT_BROWSERSLIST_QUERY","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","esbuildOptions","extensions","unregister","globalThis","__DEV__","register","mod","require","default","resolveConfigProperty","prop","initialValue","defineConfig","configOptions","pkgSchema","z","object","type","optional","enum","name","string","version","license","bin","record","dependencies","devDependencies","peerDependencies","source","main","browser","module","types","exports","union","custom","val","test","import","node","browserslist","array","validatePkg","input","parse","loadPkg","Error","buf","fs","readFile","raw","JSON","toString","assertFirst","a","arr","aIdx","indexOf","assertLast","length","assertOrder","b","bIdx","loadPkgWithReporting","logger","pkg","_exports","Object","entries","expPath","exp","keys","warn","concat","err","ZodError","issue","issues","code","error","formatPath","chalk","magenta","expected","received","join","process","exit","segments","map","s","idx","validateExports","extMap","ext","errors","endsWith","commonjs","push","_path","esm","parseExports","strict","rootExport","_exported","extraExports","exportPath","exportEntry","assign","extraExport","DEFAULT_PKG_EXT_MAP","getPkgExtMap","legacyExports","ret","loadTSConfig","tsconfigPath","ts","sys","readConfigFile","parseJsonConfigFileContent","config","createLogger","log","console","arguments","info","_len","args","_key","blue","_len2","_key2","yellow","_len3","_key3","red","success","_len4","_key4","green","pathContains","containerPath","itemPath","relative","findCommonDirPath","filePaths","dirPath","sortAsNumber","aVersion","Number","bVersion","resolveBrowserslistVersions","query","result","key","split","andChr","filter","andFf","chrome","edge","ff","iosSaf","saf","opera","versions","sort","resolveBrowserTarget","target","resolveNodeTarget","resolveBuildContext","_ref","emitDeclarationOnly","tsconfig","targetVersions","nodeTarget","webTarget","parsedExports","reduce","acc","x","parsedExternal","external","outputPaths","values","flatMap","_a","_b","_c","_d","p","commonDistPath","configDistPath","dist","distPath","ctx","files","runtime","resolveBuildTasks","_e","bundles","tasks","_ref2","dtsTask","rollupTasks","addRollupTaskEntry","format","entry","buildId","importId","sourcePath","targetPath","output","bundle","relativeTargetPath","replace","writeFileSync","nodeReexportCjsEntries","createSpinner","msg","startTime","Date","now","complete","gray","printExtractMessages","messages","warnings","logLevel","sourceFilePath","messageId","cyan","sourceFileLine","sourceFileColumn","text","printDiagnostic","diagnostic","file","start","line","character","getLineAndCharacterOfPosition","message","flattenDiagnosticMessageText","messageText","category","DiagnosticCategory","Warning","Message","Suggestion","buildTypes","outDir","compilerOptions","declaration","declarationDir","noEmit","program","createProgram","fileNames","emitResult","emit","allDiagnostics","getPreEmitDiagnostics","diagnostics","emitSkipped","diag","DtsError","constructor","createApiExtractorConfig","projectFolder","mainEntryPointFilePath","apiReport","enabled","reportFileName","compiler","tsconfigFilePath","docModel","apiJsonFilePath","dtsRollup","untrimmedFilePath","tsdocMetadata","createTSDocConfig","opts","customTags","tsDocBaseBuf","tsDocBaseConfig","tagDefinitions","t","tagName","syntaxKind","allowMultiple","supportForTags","customTag","TSDocConfigFile","loadFromObject","noStandardTags","extractModuleBlocksFromTypes","_ref3","tsOutDir","extractResult","compilerState","moduleBlocks","allProgramFiles","getSourceFiles","sourceFiles","sourceFile","includes","extractModuleBlocks","fileContent","ast","parser","typeScriptParser","body","print","LOG_LEVELS","off","getExtractMessagesConfig","rules","ruleToLogLevel","defaultLevel","r","compilerMessageReporting","extractorMessageReporting","addToApiReportFile","tsdocMessageReporting","extractTypes","projectPath","sourceTypesPath","tmpPath","tsdocConfigFile","extractorConfig","ExtractorConfig","prepare","configObject","configObjectFullPath","packageJsonFullPath","extractorResult","Extractor","invoke","localBuild","showVerboseMessages","messageCallback","handled","typesPath","typesBuf","prettierConfig","prettier","resolveConfig","mkdirp","writeFile","filepath","doExtract","task","results","rootDir","extract","some","rimraf","_ctx","exec","Observable","observer","then","next","catch","_task","dtsWatchTask","nodeReexportCjsTask","from","targetDir","relativeImport","slice","compileESMWrapper","k","__esModule","createConsoleSpy","onRestored","original","_len5","_key5","_len6","_key6","_len7","_key7","restore","resolveRollupConfig","buildTask","_ref4","_ref7","_ref8","_ref9","_ref10","_ref11","outputExt","minify","pathAliases","fromEntries","paths","_ref5","baseUrl","exportIds","sourcePaths","e","replacements","define","_ref6","stringify","defaultPlugins","preventAssignment","arg","find","env","PKG_VERSION","alias","nodeResolve","preferBuiltins","json","esbuild","jsx","jsxFactory","jsxFragment","jsxImportSource","getBabelOutputPlugin","babelrc","plugins","babel","presets","targets","modules","terser","compress","directives","comments","_node","comment","userPlugins","rollup","inputOptions","context","id","importer","idPath","idParts","treeshake","propertyReadSideEffects","outputOptions","chunkFileNames","parts","compact","dir","entryFileNames","esModule","interop","minifyInternalExports","sourcemap","hoistTransitiveImports","rollupTask","execPromise","consoleSpy","String","onwarn","warning","generate","chunkOrAsset","write","close","rollupWatchTask","watchOptions","watcher","rollupWatch","on","event","buildTaskHandlers","watchTaskHandlers","build","_ref12","tsconfigOption","buildTasks","handler","taskName","spinner","toPromise","RE_CWD","RegExp","getFilesize","stats","statSync","prettyBytes","size","accessSync","getFileInfo","printPackageTree","tree","_ref13","fileInfo","_ref14","_ref15","treeify","asTree","check","_ref16","missingFiles","_paths","esbuildResult","stdin","contents","loader","resolveDir","outfile","platform","_err","location","detail","lineText","column","resolveWatchTasks","_ref17","globFiles","patterns","globby","pattern","sep","posix","watchFiles","chokidar","watch","ignoreInitial","handleFileEvent","watchConfigFiles","initialFiles","fileEvent$","pipe","scan","fileEvent","f","startWith","distinctUntilChanged","configFiles$","ctx$","switchMap","configFiles","_ref18","packageJsonPath","subscribe","watchTasks","result$"],"mappings":"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"}