@sanity/pkg-utils 1.13.0 → 1.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/node/_core/_constants.ts","../src/node/_core/_defaults.ts","../src/node/_core/_isRecord.ts","../src/node/_core/config/_findConfigFile.ts","../src/node/_core/config/_loadConfig.ts","../src/node/_core/config/_resolveConfigProperty.ts","../src/node/_core/config/defineConfig.ts","../src/node/_core/pkg/_validatePkg.ts","../src/node/_core/pkg/_loadPkg.ts","../src/node/_core/pkg/_loadPkgWithReporting.ts","../src/node/_core/pkg/_validateExports.ts","../src/node/_core/pkg/_parseExports.ts","../src/node/_core/ts/_loadTSConfig.ts","../src/node/_resolveBuildTasks.ts","../src/node/_printExtractMessages.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/_extractTypes.ts","../src/node/_tasks/dts/_doExtract.ts","../src/node/_tasks/dts/_dtsTask.ts","../src/node/_tasks/dts/_dtsWatchTask.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/_core/_findCommonPath.ts","../src/node/_resolveBrowserslistVersions.ts","../src/node/_resolveBrowserTarget.ts","../src/node/_resolveNodeTarget.ts","../src/node/_resolveBuildContext.ts","../src/node/_spinner.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":["/** @internal */\nexport const _MODULE_EXT: Record<'commonjs' | 'module', {commonjs: string; esm: string}> = {\n // pkg.type: \"commonjs\"\n commonjs: {\n commonjs: '.js',\n // NOTE: using the `.mjs` extension causing issues in situations where\n // not every and all dependencies support ESM exports.\n // So for now, we require the ESM modules to have the `.esm.js` extension.\n esm: '.esm.js',\n },\n\n // pkg.type: \"module\"\n module: {\n commonjs: '.cjs',\n esm: '.js',\n },\n}\n","/** @internal */\nexport const _DEFAULTS = {\n browserslist: [\n '> 0.2% and supports es6-module and supports es6-module-dynamic-import',\n 'not dead',\n 'not IE 11',\n 'maintained node versions',\n ],\n}\n","/** @internal */\nexport function _isRecord(value: unknown): value is Record<string, unknown> {\n return Boolean(value) && !Array.isArray(value) && typeof value === 'object'\n}\n","import {stat} from 'fs/promises'\nimport path from 'path'\nimport findConfig from 'find-config'\n\nconst CONFIG_FILE_NAMES = [\n 'package.config.ts',\n 'package.config.js',\n 'package.config.cjs',\n 'package.config.mjs',\n]\n\nexport async function _findConfigFile(cwd: string): Promise<string | undefined> {\n const pkgJsonPath = findConfig('package.json', {cwd})\n\n if (!pkgJsonPath) return undefined\n\n const pkgPath = path.dirname(pkgJsonPath)\n\n for (const fileName of CONFIG_FILE_NAMES) {\n const configPath = path.resolve(pkgPath, fileName)\n\n const exists = await _fileExists(configPath)\n\n if (exists) {\n return configPath\n }\n }\n\n return undefined\n}\n\nasync function _fileExists(filePath: string) {\n try {\n await stat(filePath)\n\n return true\n } catch (_) {\n return false\n }\n}\n","import path from 'path'\nimport {register} from 'esbuild-register/dist/node'\nimport pkgUp from 'pkg-up'\nimport {_findConfigFile} from './_findConfigFile'\nimport {PkgConfigOptions} from './types'\n\n/** @internal */\nexport async function _loadConfig(options: {cwd: string}): Promise<PkgConfigOptions | undefined> {\n const {cwd} = options\n\n const pkgPath = await pkgUp({cwd})\n\n if (!pkgPath) return undefined\n\n const root = path.dirname(pkgPath)\n\n const configFile = await _findConfigFile(root)\n\n if (!configFile) {\n return undefined\n }\n\n // Do not accept config files outside of the root\n if (!configFile.startsWith(cwd)) {\n return undefined\n }\n\n try {\n const {unregister} = register({extensions: ['.js', '.mjs', '.ts']})\n\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const mod = require(configFile)\n\n unregister()\n\n return mod?.default || mod || undefined\n } catch (_) {\n return undefined\n }\n}\n","import {PkgConfigProperty, PkgConfigPropertyResolver} from './types'\n\n/** @internal */\nexport function _resolveConfigProperty<T>(\n prop: PkgConfigProperty<T> | undefined,\n initialValue: T\n): T {\n if (!prop) return initialValue\n\n if (typeof prop === 'function') {\n return (prop as PkgConfigPropertyResolver<T>)(initialValue)\n }\n\n return prop\n}\n","import {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.object({\n types: z.optional(z.string()),\n source: z.string(),\n browser: z.optional(\n z.object({\n source: z.string(),\n require: z.optional(z.string()),\n import: z.optional(z.string()),\n })\n ),\n node: z.optional(\n z.object({\n source: z.string(),\n require: z.optional(z.string()),\n import: z.optional(z.string()),\n })\n ),\n require: z.optional(z.string()),\n import: z.optional(z.string()),\n default: z.string(),\n })\n )\n ),\n browserslist: z.optional(z.array(z.string())),\n})\n\nexport function _validatePkg(input: unknown): _PackageJSON {\n const pkg = pkgSchema.parse(input)\n\n return {...pkg, type: pkg.type || 'commonjs'}\n}\n","import fs from 'fs/promises'\nimport pkgUp from 'pkg-up'\nimport {_PackageJSON} from './_types'\nimport {_validatePkg} from './_validatePkg'\n\n/** @internal */\nexport async function _loadPkg(options: {cwd: string}): Promise<_PackageJSON> {\n const {cwd} = options\n\n const pkgPath = await pkgUp({cwd})\n\n if (!pkgPath) throw new Error('no package.json found')\n\n const buf = await fs.readFile(pkgPath)\n\n return _validatePkg(JSON.parse(buf.toString()))\n}\n","/* eslint-disable no-console */\n\nimport chalk from 'chalk'\nimport {ZodError} from 'zod'\nimport {_loadPkg} from './_loadPkg'\nimport {_PackageJSON} from './_types'\n\n/** @internal */\nexport async function _loadPkgWithReporting(options: {cwd: string}): Promise<_PackageJSON> {\n try {\n return await _loadPkg(options)\n } catch (err) {\n if (err instanceof ZodError) {\n for (const issue of err.issues) {\n if (issue.code === 'invalid_type') {\n console.log(\n [\n `${chalk.red('fail')} \\`${_formatPath(issue.path)}\\` `,\n `in ./package.json must be of type ${chalk.magenta(issue.expected)} `,\n `(received ${chalk.magenta(issue.received)})`,\n ].join('')\n )\n }\n }\n } else {\n console.error(err)\n }\n\n process.exit(1)\n }\n}\n\nfunction _formatPath(segments: Array<string | number>) {\n return segments\n .map((s, idx) => {\n if (idx === 0) return s\n\n if (typeof s === 'number') {\n return `[${s}]`\n }\n\n if (s.startsWith('.')) {\n return `[\"${s}\"]`\n }\n\n return `.${s}`\n })\n .join('')\n}\n","import {_MODULE_EXT} from '../_constants'\nimport {PkgExport} from '../config'\nimport {_PackageJSON} from './_types'\n\nexport function _validateExports(\n _exports: (PkgExport & {_path: string})[],\n options: {pkg: _PackageJSON}\n): (PkgExport & {_path: string})[] {\n const {pkg} = options\n const ext = _MODULE_EXT[pkg.type]\n\n for (const exp of _exports) {\n if (exp.require && !exp.require.endsWith(ext.commonjs)) {\n throw new Error(\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 throw new Error(\n `package.json with \\`type: \"${pkg.type}\"\\` - \\`exports[\"${exp._path}\"].require\\` must end with \"${ext.esm}\"`\n )\n }\n }\n\n return _exports\n}\n","import {_isRecord} from '../_isRecord'\nimport {PkgExport} from '../config'\nimport {_PackageJSON} from './_types'\nimport {_validateExports} from './_validateExports'\n\n/** @internal */\nexport function _parseExports(options: {pkg: _PackageJSON}): (PkgExport & {_path: string})[] {\n const {pkg} = options\n\n const rootExport: PkgExport & {_path: string} = {\n _exported: true,\n _path: '.',\n types: pkg.types,\n source: pkg.source || '',\n browser: pkg.browser && {\n source: pkg.source || '',\n require: pkg.main && pkg.browser[pkg.main],\n import: pkg.module && pkg.browser[pkg.module],\n },\n import: pkg.module,\n require: pkg.main,\n default: pkg.module || pkg.main || '',\n }\n\n const extraExports: (PkgExport & {_path: string})[] = []\n\n if (pkg.exports) {\n for (const [exportPath, exportEntry] of Object.entries(pkg.exports)) {\n if (_isRecord(exportEntry)) {\n if (exportPath === '.') {\n if (\n exportEntry.require &&\n rootExport.require &&\n exportEntry.require !== rootExport.require\n ) {\n throw new Error('mismatch between \"main\" and \"require\"')\n }\n\n if (exportEntry.import && rootExport.import && exportEntry.import !== rootExport.import) {\n throw new Error('mismatch between \"module\" and \"import\"')\n }\n\n if (exportEntry.types && rootExport.types && exportEntry.types !== rootExport.types) {\n throw new Error('mismatch between \"types\" and \"types\"')\n }\n\n if (exportEntry.source && rootExport.source && exportEntry.source !== rootExport.source) {\n throw new Error('mismatch between \"source\" and \"source\"')\n }\n\n Object.assign(rootExport, exportEntry)\n } else {\n const extraExport: PkgExport & {_path: string} = {\n _exported: true,\n _path: exportPath,\n ...exportEntry,\n }\n\n extraExports.push(extraExport)\n }\n } else {\n throw new Error('string entries are not supported')\n }\n }\n }\n\n const _exports = [rootExport, ...extraExports]\n\n return _validateExports(_exports, {pkg})\n}\n","import ts from 'typescript'\n\n/** @internal */\nexport async function _loadTSConfig(options: {\n cwd: string\n tsconfigPath: string\n}): Promise<ts.ParsedCommandLine> {\n const {cwd, tsconfigPath} = options\n\n const configPath = ts.findConfigFile(cwd, ts.sys.fileExists, tsconfigPath)\n\n if (!configPath) {\n throw new Error(`could not find a valid '${tsconfigPath}'`)\n }\n\n const configFile = ts.readConfigFile(configPath, ts.sys.readFile)\n\n return ts.parseJsonConfigFileContent(configFile.config, ts.sys, cwd)\n}\n","import fs from 'fs'\nimport path from 'path'\nimport {PkgExport, PkgFormat, PkgRuntime, _BuildContext} from './_core'\nimport {_BuildTask, _DtsTask, _RollupTask, _RollupTaskEntry} from './_tasks'\n\n/** @internal */\nexport function _resolveBuildTasks(ctx: _BuildContext): _BuildTask[] {\n const {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 // 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 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 {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 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","/* eslint-disable no-console */\n\nimport ts from 'typescript'\n\nexport const formatHost: ts.FormatDiagnosticsHost = {\n getCurrentDirectory: () => ts.sys.getCurrentDirectory(),\n getNewLine: () => ts.sys.newLine,\n getCanonicalFileName: ts.sys.useCaseSensitiveFileNames ? (f) => f : (f) => f.toLowerCase(),\n}\n\n/** @internal */\nexport async function _buildTypes(options: {\n cwd: string\n outDir: string\n tsconfig: ts.ParsedCommandLine\n}): Promise<void> {\n const {outDir, tsconfig} = 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 // TODO: improve logging\n allDiagnostics.forEach((diagnostic) => {\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 console.log(`${diagnostic.file.fileName} ${line + 1}:${character + 1}\\n${message}`)\n } else {\n console.log(ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n'))\n }\n })\n\n if (emitResult.emitSkipped) {\n const errors = allDiagnostics.filter((diag) => diag.category === ts.DiagnosticCategory.Error)\n\n if (errors.length) {\n console.error(ts.formatDiagnostics(errors, formatHost))\n\n throw new Error('failed to compile')\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 fs from 'fs/promises'\nimport path from 'path'\nimport {\n Extractor,\n ExtractorConfig,\n ExtractorLogLevel,\n ExtractorMessage,\n ExtractorResult,\n IExtractorMessagesConfig,\n} from '@microsoft/api-extractor'\nimport mkdirp from 'mkdirp'\nimport prettier from 'prettier'\nimport {PkgRuleLevel, PkgConfigOptions, _BuildFile} from '../../_core'\nimport {_createApiExtractorConfig} from './_createApiExtractorConfig'\nimport {_createTSDocConfig} from './_createTSDocConfig'\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\nexport async function _extractTypes(options: {\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 tsconfigPath: string\n}): Promise<{extractorResult: ExtractorResult; messages: ExtractorMessage[]}> {\n const {distPath, exportPath, files, filePath, projectPath, rules, sourceTypesPath, tsconfigPath} =\n options\n\n const tsdocConfigFile = await _createTSDocConfig({\n customTags: [],\n })\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 const messagesConfig: IExtractorMessagesConfig = {\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 const extractorConfig: ExtractorConfig = ExtractorConfig.prepare({\n configObject: _createApiExtractorConfig({\n distPath,\n exportPath,\n filePath,\n messages: messagesConfig,\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 await fs.writeFile(\n typesPath,\n prettier.format(typesBuf.toString(), {\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 {promisify} from 'util'\nimport {ExtractorMessage} from '@microsoft/api-extractor'\nimport rimrafCallback 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\nconst rimraf = promisify(rimrafCallback)\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, 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, outDir: tmpPath, tsconfig: ts.config})\n\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\n const result = await _extractTypes({\n cwd,\n exportPath,\n files,\n filePath: path.relative(outDir, targetPath),\n projectPath: cwd,\n rules: config?.extract?.rules,\n sourceTypesPath: sourceTypesPath,\n tsconfigPath: path.resolve(cwd, ts.configPath || 'tsconfig.json'),\n distPath: outDir,\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 ...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) => {\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 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 {InputOptions, OutputOptions} from 'rollup'\nimport esbuild from 'rollup-plugin-esbuild'\nimport {terser} from 'rollup-plugin-terser'\nimport {_BuildContext, _DEFAULTS, _MODULE_EXT} 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, external, distPath, logger, pkg, ts} = ctx\n const outputExt = _MODULE_EXT[pkg.type][format]\n const minify = config?.minify ?? true\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 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 onwarn(warning, rollupWarn) {\n if (!warning.code || !['CIRCULAR_DEPENDENCY'].includes(warning.code)) {\n rollupWarn(warning)\n }\n },\n\n plugins: [\n replace({\n preventAssignment: true,\n values: {\n ...(pkg.name === '@sanity/pkg-utils'\n ? {}\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 throw new Error(`could not find source entry: ${sourcePath}`)\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 }),\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 esmExternals: false,\n extensions: ['.js'],\n // include: /\\/node_modules\\//,\n // requireReturnsDefault: 'namespace',\n }),\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: ['@babel/plugin-proposal-object-rest-spread'],\n presets: [['@babel/preset-env', {targets: pkg.browserslist || _DEFAULTS.browserslist}]],\n }),\n minify &&\n terser({\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\n ...(config?.rollup?.plugins || []),\n ].filter(Boolean),\n\n treeshake: {\n propertyReadSideEffects: false,\n },\n },\n outputOptions: {\n chunkFileNames: () => `_chunks/[name]-[hash]${outputExt}`,\n dir: outDir,\n entryFileNames: () => (outputExt === '.esm.js' ? `[name].js` : `[name]${outputExt}`),\n format,\n exports: 'auto',\n sourcemap: config?.sourcemap ?? true,\n },\n }\n}\n","/* eslint-disable no-console */\n\nimport 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 {_resolveRollupConfig} from './_resolveRollupConfig'\n\n/** @internal */\nexport const _rollupTask: _TaskHandler<_RollupTask> = {\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 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 if (err instanceof Error) {\n console.log(err)\n }\n },\n}\n\nasync function _execPromise(ctx: _BuildContext, task: _RollupTask) {\n const {files, distPath} = ctx\n const outDir = path.relative(ctx.cwd, distPath)\n\n const {inputOptions, outputOptions} = _resolveRollupConfig(ctx, task)\n\n // Create bundle\n const bundle = await rollup(inputOptions)\n\n // an array of file names this bundle depends on\n // console.log(bundle.watchFiles)\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","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.log('')\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 {_BuildTaskHandlers, _WatchTaskHandlers} from './_types'\nimport {_dtsTask, _dtsWatchTask} from './dts'\nimport {_rollupTask, _rollupWatchTask} from './rollup'\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}\n\n/** @internal */\nexport const _watchTaskHandlers: _WatchTaskHandlers = {\n 'watch:dts': _dtsWatchTask,\n 'watch:js': _rollupWatchTask,\n}\n","import path from 'path'\n\nexport function _pathContains(containerPath: string, itemPath: string): boolean {\n return !path.relative(containerPath, itemPath).startsWith('..')\n}\n\nexport function _findCommonDirPath(filePaths: string[]): string | undefined {\n let ret: string | undefined = undefined\n\n for (const filePath of filePaths) {\n let dirPath = path.dirname(filePath)\n\n if (!ret) {\n ret = dirPath\n continue\n }\n\n while (dirPath !== ret) {\n dirPath = path.dirname(dirPath)\n\n if (dirPath === ret) {\n break\n }\n\n if (_pathContains(dirPath, ret)) {\n ret = dirPath\n break\n }\n\n if (dirPath === '.') return undefined\n }\n }\n\n return ret\n}\n","import browserslist from 'browserslist'\n\nexport interface _PackageTargetVersions {\n chrome: string[]\n ff: string[]\n edge: string[]\n iosSaf: string[]\n saf: string[]\n opera: string[]\n node: string[]\n}\n\nfunction _sortAsNumber(a: string, b: string) {\n const aVersion = Number(a)\n const bVersion = Number(b)\n\n return aVersion - bVersion\n}\n\nexport function _resolveBrowserslistVersions(query: string[]): _PackageTargetVersions {\n const result = browserslist(query)\n\n const entries = result.map((key) => {\n const [name, version] = key.split(' ')\n\n return {name, version: version.split('-')[0].split('.')[0]}\n })\n\n const andChr = entries.filter((b) => b.name === 'and_chr')\n const andFf = entries.filter((b) => b.name === 'and_ff')\n const chrome = entries.filter((b) => b.name === 'chrome')\n const edge = entries.filter((b) => b.name === 'edge')\n const ff = entries.filter((b) => b.name === 'firefox')\n const iosSaf = entries.filter((b) => b.name === 'ios_saf')\n const saf = entries.filter((b) => b.name === 'safari')\n const opera = entries.filter((b) => b.name === 'opera')\n const node = entries.filter((b) => b.name === 'node')\n\n // versions\n const versions: _PackageTargetVersions = {\n chrome: andChr.concat(chrome).map((b) => b.version),\n ff: andFf.concat(ff).map((b) => b.version),\n edge: edge.map((b) => b.version),\n iosSaf: iosSaf.map((b) => b.version),\n saf: saf.map((b) => b.version),\n opera: opera.map((b) => b.version),\n node: node.map((b) => b.version),\n }\n\n // sort\n versions.chrome.sort(_sortAsNumber)\n versions.ff.sort(_sortAsNumber)\n versions.edge.sort(_sortAsNumber)\n versions.iosSaf.sort(_sortAsNumber)\n versions.saf.sort(_sortAsNumber)\n versions.opera.sort(_sortAsNumber)\n versions.node.sort(_sortAsNumber)\n\n return versions\n}\n","import {_PackageTargetVersions} from './_resolveBrowserslistVersions'\n\nexport function _resolveBrowserTarget(versions: _PackageTargetVersions): string[] | undefined {\n const target: string[] = []\n\n if (versions.chrome.length) {\n target.push(`chrome${versions.chrome[0]}`)\n }\n\n if (versions.ff.length) {\n target.push(`firefox${versions.ff[0]}`)\n }\n\n if (versions.edge.length) {\n target.push(`edge${versions.edge[0]}`)\n }\n\n if (versions.iosSaf.length) {\n target.push(`ios${versions.iosSaf[0]}`)\n }\n\n if (versions.saf.length) {\n target.push(`safari${versions.saf[0]}`)\n }\n\n if (versions.opera.length) {\n target.push(`opera${versions.opera[0]}`)\n }\n\n if (target.length === 0) {\n return undefined\n }\n\n return target\n}\n","import {_PackageTargetVersions} from './_resolveBrowserslistVersions'\n\nexport function _resolveNodeTarget(versions: _PackageTargetVersions): string[] | undefined {\n const target: string[] = []\n\n if (versions.node.length) {\n target.push(`node${versions.node[0]}`)\n }\n\n if (target.length === 0) {\n return undefined\n }\n\n return target\n}\n","import path from 'path'\nimport chalk from 'chalk'\nimport {\n PkgConfigOptions,\n PkgExports,\n PkgRuntime,\n _BuildContext,\n _DEFAULTS,\n _loadTSConfig,\n _PackageJSON,\n _parseExports,\n _resolveConfigProperty,\n} from './_core'\nimport {_findCommonDirPath, _pathContains} from './_core/_findCommonPath'\nimport {_resolveBrowserslistVersions} from './_resolveBrowserslistVersions'\nimport {_resolveBrowserTarget} from './_resolveBrowserTarget'\nimport {_resolveNodeTarget} from './_resolveNodeTarget'\n\nfunction _createLogger(): _BuildContext['logger'] {\n return {\n /* eslint-disable no-console */\n log: (...args) => {\n console.log(...args)\n },\n info: (...args) => {\n console.log(chalk.blue(' info'), ...args)\n },\n warn: (...args) => {\n console.log(chalk.yellow(' warn'), ...args)\n },\n error: (...args) => {\n console.log(chalk.red(' fail'), ...args)\n },\n success: (...args) => {\n console.log(chalk.green(' ok '), ...args)\n },\n /* eslint-enable no-console */\n }\n}\n\nexport async function _resolveBuildContext(options: {\n config?: PkgConfigOptions\n cwd: string\n pkg: _PackageJSON\n tsconfig: string\n}): Promise<_BuildContext> {\n const {config, cwd, pkg, tsconfig: tsconfigPath} = options\n const logger = _createLogger()\n const tsconfig = await _loadTSConfig({cwd, tsconfigPath})\n const targetVersions = _resolveBrowserslistVersions(pkg.browserslist || _DEFAULTS.browserslist)\n const nodeTarget = _resolveNodeTarget(targetVersions)\n const webTarget = _resolveBrowserTarget(targetVersions)\n\n if (!nodeTarget) {\n throw new Error('no matching `node` target')\n }\n\n if (!webTarget) {\n throw new Error('no matching `web` target')\n }\n\n const target: Record<PkgRuntime, string[]> = {\n '*': webTarget.concat(nodeTarget),\n browser: webTarget,\n node: nodeTarget,\n }\n\n const parsedExports = _parseExports({pkg}).reduce<PkgExports>((acc, x) => {\n const {_path: exportPath, ...exportEntry} = x\n\n return {...acc, [exportPath]: exportEntry}\n }, {})\n\n const exports = _resolveConfigProperty(config?.exports, parsedExports)\n\n const parsedExternal = [\n ...(pkg.dependencies ? Object.keys(pkg.dependencies) : []),\n ...(pkg.peerDependencies ? Object.keys(pkg.peerDependencies) : []),\n ]\n\n const external = _resolveConfigProperty(config?.external, parsedExternal)\n\n const outputPaths = Object.values(exports)\n .flatMap((exportEntry) => {\n return [\n exportEntry.import,\n exportEntry.require,\n exportEntry.browser?.import,\n exportEntry.browser?.require,\n exportEntry.node?.import,\n exportEntry.node?.require,\n ].filter(Boolean) as string[]\n })\n .map((p) => path.resolve(cwd, p))\n\n const commonDistPath = _findCommonDirPath(outputPaths)\n\n if (commonDistPath === cwd) {\n throw new Error(\n 'all output files must share a common parent directory which is not the root package directory'\n )\n }\n\n if (commonDistPath && !_pathContains(cwd, commonDistPath)) {\n throw new Error('all output files must be located within the package')\n }\n\n const configDistPath = config?.dist ? path.resolve(cwd, config.dist) : undefined\n\n if (\n configDistPath &&\n commonDistPath &&\n configDistPath !== commonDistPath &&\n !_pathContains(configDistPath, commonDistPath)\n ) {\n logger.log(`did you mean to configure \\`dist: './${path.relative(cwd, commonDistPath)}'\\`?`)\n\n throw new Error('all output files must be located with the configured `dist` path')\n }\n\n const distPath = configDistPath || commonDistPath\n\n if (!distPath) {\n throw new Error('could not detect `dist` path')\n }\n\n const ctx: _BuildContext = {\n config,\n cwd,\n distPath,\n exports,\n external,\n files: [],\n logger,\n pkg,\n runtime: config?.runtime ?? '*',\n target,\n ts: {\n config: tsconfig,\n configPath: tsconfigPath,\n },\n }\n\n return ctx\n}\n","/* eslint-disable no-console */\n\nimport chalk from 'chalk'\n\nexport function _spinner(msg: string): {complete: () => void; error: () => void} {\n const startTime = Date.now()\n\n console.log(`${chalk.yellow('run ')} ${msg}`)\n\n return {\n complete: () => {\n console.log(`${chalk.green('ok ')} ${chalk.gray(`${Date.now() - startTime}ms`)}`)\n },\n error: () => {\n console.log(`${chalk.red(`failed`)} ${chalk.gray(`${Date.now() - startTime}ms`)}`)\n },\n }\n}\n","import {_loadConfig, _loadPkgWithReporting} from './_core'\nimport {_resolveBuildContext} from './_resolveBuildContext'\nimport {_resolveBuildTasks} from './_resolveBuildTasks'\nimport {_spinner} from './_spinner'\nimport {_BuildTask, _TaskHandler, _buildTaskHandlers} from './_tasks'\n\n/** @public */\nexport async function build(options: {cwd: string; tsconfig?: string}): Promise<void> {\n const {cwd, tsconfig = 'tsconfig.json'} = options\n\n const pkg = await _loadPkgWithReporting({cwd})\n const config = await _loadConfig({cwd})\n\n const ctx = await _resolveBuildContext({config, cwd, pkg, tsconfig})\n\n const buildTasks = _resolveBuildTasks(ctx)\n\n for (const task of buildTasks) {\n const handler = _buildTaskHandlers[task.type] as _TaskHandler<_BuildTask>\n const taskName = handler.name(ctx, task)\n\n const spinner = _spinner(taskName)\n\n try {\n const result = await handler.exec(ctx, task).toPromise()\n\n spinner.complete()\n ctx.logger.log()\n\n handler.complete(ctx, task, result)\n } catch (err) {\n spinner.error()\n\n if (err instanceof Error) {\n const RE_CWD = new RegExp(`${cwd}`, 'g')\n\n ctx.logger.error(err.message.replace(RE_CWD, '.'))\n ctx.logger.log()\n }\n\n handler.error(ctx, task, err)\n\n process.exit(1)\n }\n }\n}\n","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, any> = {}\n\n if (pkg.bin) {\n tree.bin = pkg.bin\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 `${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 source: entry.source,\n types: undefined,\n browser: undefined,\n node: undefined,\n import: undefined,\n require: undefined,\n default: 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: 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.node) {\n exp.node = {source: entry.node.source}\n\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 if (entry.require) {\n exp.require = _fileInfo(entry.require)\n } else {\n delete exp.require\n }\n\n exp.default = _fileInfo(entry.default)\n\n return [chalk.green(path.join(pkg.name, exportPath)), exp]\n })\n )\n\n logger.log(treeify.asTree(tree, true, true))\n}\n","import path from 'path'\nimport esbuild, {BuildFailure} from 'esbuild'\nimport {_loadConfig, _loadPkgWithReporting} from './_core'\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, tsconfig = 'tsconfig.json'} = options\n\n const pkg = await _loadPkgWithReporting({cwd})\n const config = await _loadConfig({cwd})\n const ctx = await _resolveBuildContext({config, cwd, pkg, tsconfig})\n const {logger} = ctx\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 globby from 'globby'\n\nexport function _globFiles(patterns: string[]): Promise<string[]> {\n return globby(patterns)\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 chalk from 'chalk'\nimport {Observable} from 'rxjs'\nimport {distinctUntilChanged, scan, startWith} from 'rxjs/operators'\nimport {_globFiles} from './_globFiles'\nimport {_watchFiles} from './_watchFiles'\n\nexport async function _watchConfigFiles(options: {cwd: string}): Promise<Observable<string[]>> {\n const {cwd} = 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 /* eslint-disable no-console */\n console.log(\n '--------------------------------------------------------------------------------'\n )\n console.log(chalk.blue('info '), path.relative(cwd, fileEvent.file), 'changed')\n console.log('')\n /* eslint-enable no-console */\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 {_loadConfig, _loadPkgWithReporting} from './_core'\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: {cwd: string; tsconfig?: string}): Promise<void> {\n const {cwd, tsconfig = 'tsconfig.json'} = options\n\n const configFiles$ = await _watchConfigFiles({cwd})\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})\n const config = await _loadConfig({cwd})\n\n return _resolveBuildContext({config, cwd, pkg, 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":["_MODULE_EXT","commonjs","esm","module","_DEFAULTS","browserslist","_isRecord","value","Boolean","Array","isArray","CONFIG_FILE_NAMES","_findConfigFile","cwd","pkgJsonPath","findConfig","pkgPath","path","dirname","fileName","configPath","resolve","exists","_fileExists","filePath","stat","_","_loadConfig","options","pkgUp","root","configFile","startsWith","unregister","register","extensions","mod","require","default","_resolveConfigProperty","prop","initialValue","defineConfig","configOptions","pkgSchema","z","object","type","optional","enum","name","string","version","license","bin","record","dependencies","devDependencies","peerDependencies","source","main","browser","types","exports","import","node","array","_validatePkg","input","pkg","parse","_loadPkg","Error","buf","fs","readFile","JSON","toString","_loadPkgWithReporting","err","ZodError","issue","issues","code","console","log","chalk","red","_formatPath","magenta","expected","received","join","error","process","exit","segments","map","s","idx","_validateExports","_exports","ext","exp","endsWith","_path","_parseExports","rootExport","_exported","extraExports","exportPath","exportEntry","Object","entries","assign","extraExport","push","_loadTSConfig","tsconfigPath","ts","findConfigFile","sys","fileExists","readConfigFile","parseJsonConfigFileContent","config","_resolveBuildTasks","ctx","_a","_b","_c","_d","_e","target","bundles","tasks","dtsTask","rollupTasks","_addRollupTaskEntry","format","runtime","entry","buildId","importId","sourcePath","targetPath","output","bundle","length","values","legacyExports","relativeTargetPath","replace","writeFileSync","_printExtractMessages","messages","logger","warnings","filter","msg","logLevel","sourceFilePath","relative","messageId","cyan","yellow","sourceFileLine","sourceFileColumn","gray","text","errors","formatHost","getCurrentDirectory","getNewLine","newLine","getCanonicalFileName","useCaseSensitiveFileNames","f","toLowerCase","_buildTypes","outDir","tsconfig","compilerOptions","declaration","declarationDir","emitDeclarationOnly","noEmit","program","createProgram","fileNames","emitResult","emit","allDiagnostics","getPreEmitDiagnostics","concat","diagnostics","forEach","diagnostic","file","start","line","character","getLineAndCharacterOfPosition","message","flattenDiagnosticMessageText","messageText","emitSkipped","diag","category","DiagnosticCategory","formatDiagnostics","_DtsError","constructor","_createApiExtractorConfig","distPath","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","_LOG_LEVELS","info","off","warn","_extractTypes","files","projectPath","rules","sourceTypesPath","tsdocConfigFile","_ruleToLogLevel","key","defaultLevel","r","messagesConfig","compilerMessageReporting","extractorMessageReporting","addToApiReportFile","tsdocMessageReporting","extractorConfig","ExtractorConfig","prepare","configObject","configObjectFullPath","packageJsonFullPath","extractorResult","Extractor","invoke","localBuild","showVerboseMessages","messageCallback","handled","typesPath","typesBuf","prettierConfig","prettier","resolveConfig","mkdirp","writeFile","filepath","rimraf","promisify","rimrafCallback","_doExtract","task","results","rootDir","tmpPath","result","extract","some","_dtsTask","_ctx","blue","exec","Observable","observer","then","next","complete","catch","_task","_dtsWatchTask","_resolveRollupConfig","buildTask","external","outputExt","minify","pathAliases","fromEntries","paths","val","_a2","baseUrl","exportIds","keys","sourcePaths","e","inputOptions","context","id","importer","includes","idPath","idParts","split","reduce","acc","onwarn","warning","rollupWarn","plugins","preventAssignment","arg","find","stringify","env","PKG_VERSION","alias","nodeResolve","preferBuiltins","esmExternals","json","esbuild","jsx","jsxFactory","jsxFragment","jsxImportSource","getBabelOutputPlugin","babelrc","presets","targets","terser","comments","_node","comment","test","rollup","treeshake","propertyReadSideEffects","outputOptions","chunkFileNames","dir","entryFileNames","sourcemap","_rollupTask","_execPromise","generate","chunkOrAsset","write","close","_rollupWatchTask","watchOptions","watcher","rollupWatch","on","event","success","_buildTaskHandlers","_watchTaskHandlers","_pathContains","containerPath","itemPath","_findCommonDirPath","filePaths","ret","dirPath","_sortAsNumber","a","b","aVersion","Number","bVersion","_resolveBrowserslistVersions","query","andChr","andFf","chrome","edge","ff","iosSaf","saf","opera","versions","sort","_resolveBrowserTarget","_resolveNodeTarget","_createLogger","args","green","_resolveBuildContext","targetVersions","nodeTarget","webTarget","parsedExports","x","parsedExternal","outputPaths","flatMap","p","commonDistPath","configDistPath","dist","_spinner","startTime","Date","now","build","buildTasks","handler","taskName","spinner","toPromise","RE_CWD","RegExp","_getFilesize","stats","statSync","prettyBytes","size","accessSync","_getFileInfo","_printPackageTree","tree","_fileInfo","treeify","asTree","check","strict","missingFiles","_paths","esbuildResult","stdin","contents","loader","resolveDir","outfile","platform","_err","location","detail","lineText","column","_resolveWatchTasks","_globFiles","patterns","globby","_watchFiles","chokidar","watch","ignoreInitial","_handleFileEvent","_watchConfigFiles","initialFiles","fileEvent$","pipe","scan","fileEvent","slice","startWith","distinctUntilChanged","configFiles$","ctx$","switchMap","configFiles","_files","packageJsonPath","subscribe","watchTasks","result$"],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../src/node/_core/_constants.ts","../src/node/_core/_defaults.ts","../src/node/_core/_isRecord.ts","../src/node/_core/config/_findConfigFile.ts","../src/node/_core/config/_loadConfig.ts","../src/node/_core/config/_resolveConfigProperty.ts","../src/node/_core/config/defineConfig.ts","../src/node/_core/pkg/_validatePkg.ts","../src/node/_core/pkg/_loadPkg.ts","../src/node/_core/pkg/_loadPkgWithReporting.ts","../src/node/_core/pkg/_validateExports.ts","../src/node/_core/pkg/_parseExports.ts","../src/node/_core/ts/_loadTSConfig.ts","../src/node/_resolveBuildTasks.ts","../src/node/_printExtractMessages.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/_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/rollup/_resolveRollupConfig.ts","../src/node/_tasks/rollup/_rollupTask.ts","../src/node/_tasks/rollup/_rollupWatchTask.ts","../src/node/_tasks/index.ts","../src/node/_core/_findCommonPath.ts","../src/node/_resolveBrowserslistVersions.ts","../src/node/_resolveBrowserTarget.ts","../src/node/_resolveNodeTarget.ts","../src/node/_resolveBuildContext.ts","../src/node/_spinner.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":["/** @internal */\nexport const _MODULE_EXT: Record<'commonjs' | 'module', {commonjs: string; esm: string}> = {\n // pkg.type: \"commonjs\"\n commonjs: {\n commonjs: '.js',\n // NOTE: using the `.mjs` extension causing issues in situations where\n // not every and all dependencies support ESM exports.\n // So for now, we require the ESM modules to have the `.esm.js` extension.\n esm: '.esm.js',\n },\n\n // pkg.type: \"module\"\n module: {\n commonjs: '.cjs',\n esm: '.js',\n },\n}\n","/** @internal */\nexport const _DEFAULTS = {\n browserslist: [\n '> 0.2% and supports es6-module and supports es6-module-dynamic-import',\n 'not dead',\n 'not IE 11',\n 'maintained node versions',\n ],\n}\n","/** @internal */\nexport function _isRecord(value: unknown): value is Record<string, unknown> {\n return Boolean(value) && !Array.isArray(value) && typeof value === 'object'\n}\n","import {stat} from 'fs/promises'\nimport path from 'path'\nimport findConfig from 'find-config'\n\nconst CONFIG_FILE_NAMES = [\n 'package.config.ts',\n 'package.config.js',\n 'package.config.cjs',\n 'package.config.mjs',\n]\n\nexport async function _findConfigFile(cwd: string): Promise<string | undefined> {\n const pkgJsonPath = findConfig('package.json', {cwd})\n\n if (!pkgJsonPath) return undefined\n\n const pkgPath = path.dirname(pkgJsonPath)\n\n for (const fileName of CONFIG_FILE_NAMES) {\n const configPath = path.resolve(pkgPath, fileName)\n\n const exists = await _fileExists(configPath)\n\n if (exists) {\n return configPath\n }\n }\n\n return undefined\n}\n\nasync function _fileExists(filePath: string) {\n try {\n await stat(filePath)\n\n return true\n } catch (_) {\n return false\n }\n}\n","import path from 'path'\nimport {register} from 'esbuild-register/dist/node'\nimport pkgUp from 'pkg-up'\nimport {_findConfigFile} from './_findConfigFile'\nimport {PkgConfigOptions} from './types'\n\n/** @internal */\nexport async function _loadConfig(options: {cwd: string}): Promise<PkgConfigOptions | undefined> {\n const {cwd} = options\n\n const pkgPath = await pkgUp({cwd})\n\n if (!pkgPath) return undefined\n\n const root = path.dirname(pkgPath)\n\n const configFile = await _findConfigFile(root)\n\n if (!configFile) {\n return undefined\n }\n\n // Do not accept config files outside of the root\n if (!configFile.startsWith(cwd)) {\n return undefined\n }\n\n try {\n const {unregister} = register({extensions: ['.js', '.mjs', '.ts']})\n\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const mod = require(configFile)\n\n unregister()\n\n return mod?.default || mod || undefined\n } catch (_) {\n return undefined\n }\n}\n","import {PkgConfigProperty, PkgConfigPropertyResolver} from './types'\n\n/** @internal */\nexport function _resolveConfigProperty<T>(\n prop: PkgConfigProperty<T> | undefined,\n initialValue: T\n): T {\n if (!prop) return initialValue\n\n if (typeof prop === 'function') {\n return (prop as PkgConfigPropertyResolver<T>)(initialValue)\n }\n\n return prop\n}\n","import {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.object({\n types: z.optional(z.string()),\n source: z.string(),\n browser: z.optional(\n z.object({\n source: z.string(),\n require: z.optional(z.string()),\n import: z.optional(z.string()),\n })\n ),\n node: z.optional(\n z.object({\n source: z.string(),\n require: z.optional(z.string()),\n import: z.optional(z.string()),\n })\n ),\n require: z.optional(z.string()),\n import: z.optional(z.string()),\n default: z.string(),\n })\n )\n ),\n browserslist: z.optional(z.array(z.string())),\n})\n\nexport function _validatePkg(input: unknown): _PackageJSON {\n const pkg = pkgSchema.parse(input)\n\n return {...pkg, type: pkg.type || 'commonjs'}\n}\n","import fs from 'fs/promises'\nimport pkgUp from 'pkg-up'\nimport {_PackageJSON} from './_types'\nimport {_validatePkg} from './_validatePkg'\n\n/** @internal */\nexport async function _loadPkg(options: {cwd: string}): Promise<_PackageJSON> {\n const {cwd} = options\n\n const pkgPath = await pkgUp({cwd})\n\n if (!pkgPath) throw new Error('no package.json found')\n\n const buf = await fs.readFile(pkgPath)\n\n return _validatePkg(JSON.parse(buf.toString()))\n}\n","/* eslint-disable no-console */\n\nimport chalk from 'chalk'\nimport {ZodError} from 'zod'\nimport {_loadPkg} from './_loadPkg'\nimport {_PackageJSON} from './_types'\n\n/** @internal */\nexport async function _loadPkgWithReporting(options: {cwd: string}): Promise<_PackageJSON> {\n try {\n return await _loadPkg(options)\n } catch (err) {\n if (err instanceof ZodError) {\n for (const issue of err.issues) {\n if (issue.code === 'invalid_type') {\n console.log(\n [\n `${chalk.red('fail')} \\`${_formatPath(issue.path)}\\` `,\n `in ./package.json must be of type ${chalk.magenta(issue.expected)} `,\n `(received ${chalk.magenta(issue.received)})`,\n ].join('')\n )\n }\n }\n } else {\n console.error(err)\n }\n\n process.exit(1)\n }\n}\n\nfunction _formatPath(segments: Array<string | number>) {\n return segments\n .map((s, idx) => {\n if (idx === 0) return s\n\n if (typeof s === 'number') {\n return `[${s}]`\n }\n\n if (s.startsWith('.')) {\n return `[\"${s}\"]`\n }\n\n return `.${s}`\n })\n .join('')\n}\n","import {_MODULE_EXT} from '../_constants'\nimport {PkgExport} from '../config'\nimport {_PackageJSON} from './_types'\n\nexport function _validateExports(\n _exports: (PkgExport & {_path: string})[],\n options: {pkg: _PackageJSON}\n): (PkgExport & {_path: string})[] {\n const {pkg} = options\n const ext = _MODULE_EXT[pkg.type]\n\n for (const exp of _exports) {\n if (exp.require && !exp.require.endsWith(ext.commonjs)) {\n throw new Error(\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 throw new Error(\n `package.json with \\`type: \"${pkg.type}\"\\` - \\`exports[\"${exp._path}\"].require\\` must end with \"${ext.esm}\"`\n )\n }\n }\n\n return _exports\n}\n","import {_isRecord} from '../_isRecord'\nimport {PkgExport} from '../config'\nimport {_PackageJSON} from './_types'\nimport {_validateExports} from './_validateExports'\n\n/** @internal */\nexport function _parseExports(options: {pkg: _PackageJSON}): (PkgExport & {_path: string})[] {\n const {pkg} = options\n\n const rootExport: PkgExport & {_path: string} = {\n _exported: true,\n _path: '.',\n types: pkg.types,\n source: pkg.source || '',\n browser: pkg.browser && {\n source: pkg.source || '',\n require: pkg.main && pkg.browser[pkg.main],\n import: pkg.module && pkg.browser[pkg.module],\n },\n import: pkg.module,\n require: pkg.main,\n default: pkg.module || pkg.main || '',\n }\n\n const extraExports: (PkgExport & {_path: string})[] = []\n\n if (pkg.exports) {\n for (const [exportPath, exportEntry] of Object.entries(pkg.exports)) {\n if (_isRecord(exportEntry)) {\n if (exportPath === '.') {\n if (\n exportEntry.require &&\n rootExport.require &&\n exportEntry.require !== rootExport.require\n ) {\n throw new Error('mismatch between \"main\" and \"require\"')\n }\n\n if (exportEntry.import && rootExport.import && exportEntry.import !== rootExport.import) {\n throw new Error('mismatch between \"module\" and \"import\"')\n }\n\n if (exportEntry.types && rootExport.types && exportEntry.types !== rootExport.types) {\n throw new Error('mismatch between \"types\" and \"types\"')\n }\n\n if (exportEntry.source && rootExport.source && exportEntry.source !== rootExport.source) {\n throw new Error('mismatch between \"source\" and \"source\"')\n }\n\n Object.assign(rootExport, exportEntry)\n } else {\n const extraExport: PkgExport & {_path: string} = {\n _exported: true,\n _path: exportPath,\n ...exportEntry,\n }\n\n extraExports.push(extraExport)\n }\n } else {\n throw new Error('string entries are not supported')\n }\n }\n }\n\n const _exports = [rootExport, ...extraExports]\n\n return _validateExports(_exports, {pkg})\n}\n","import ts from 'typescript'\n\n/** @internal */\nexport async function _loadTSConfig(options: {\n cwd: string\n tsconfigPath: string\n}): Promise<ts.ParsedCommandLine> {\n const {cwd, tsconfigPath} = options\n\n const configPath = ts.findConfigFile(cwd, ts.sys.fileExists, tsconfigPath)\n\n if (!configPath) {\n throw new Error(`could not find a valid '${tsconfigPath}'`)\n }\n\n const configFile = ts.readConfigFile(configPath, ts.sys.readFile)\n\n return ts.parseJsonConfigFileContent(configFile.config, ts.sys, cwd)\n}\n","import fs from 'fs'\nimport path from 'path'\nimport {PkgExport, PkgFormat, PkgRuntime, _BuildContext} from './_core'\nimport {_BuildTask, _DtsTask, _RollupTask, _RollupTaskEntry} from './_tasks'\n\n/** @internal */\nexport function _resolveBuildTasks(ctx: _BuildContext): _BuildTask[] {\n const {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 // 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 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 {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 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","/* eslint-disable no-console */\n\nimport ts from 'typescript'\n\nexport const formatHost: ts.FormatDiagnosticsHost = {\n getCurrentDirectory: () => ts.sys.getCurrentDirectory(),\n getNewLine: () => ts.sys.newLine,\n getCanonicalFileName: ts.sys.useCaseSensitiveFileNames ? (f) => f : (f) => f.toLowerCase(),\n}\n\n/** @internal */\nexport async function _buildTypes(options: {\n cwd: string\n outDir: string\n tsconfig: ts.ParsedCommandLine\n}): Promise<void> {\n const {outDir, tsconfig} = 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 // TODO: improve logging\n allDiagnostics.forEach((diagnostic) => {\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 console.log(`${diagnostic.file.fileName} ${line + 1}:${character + 1}\\n${message}`)\n } else {\n console.log(ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n'))\n }\n })\n\n if (emitResult.emitSkipped) {\n const errors = allDiagnostics.filter((diag) => diag.category === ts.DiagnosticCategory.Error)\n\n if (errors.length) {\n console.error(ts.formatDiagnostics(errors, formatHost))\n\n throw new Error('failed to compile')\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 {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 {_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 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 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 await fs.writeFile(\n typesPath,\n prettier.format(typesBuf.toString(), {\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 {promisify} from 'util'\nimport {ExtractorMessage} from '@microsoft/api-extractor'\nimport rimrafCallback 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\nconst rimraf = promisify(rimrafCallback)\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, 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, outDir: tmpPath, tsconfig: ts.config})\n\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\n const result = await _extractTypes({\n customTags: config?.extract?.customTags,\n cwd,\n exportPath,\n files,\n filePath: path.relative(outDir, targetPath),\n projectPath: cwd,\n rules: config?.extract?.rules,\n sourceTypesPath: sourceTypesPath,\n tsconfigPath: path.resolve(cwd, ts.configPath || 'tsconfig.json'),\n distPath: outDir,\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 ...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) => {\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 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 {InputOptions, OutputOptions} from 'rollup'\nimport esbuild from 'rollup-plugin-esbuild'\nimport {terser} from 'rollup-plugin-terser'\nimport {_BuildContext, _DEFAULTS, _MODULE_EXT} 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, external, distPath, logger, pkg, ts} = ctx\n const outputExt = _MODULE_EXT[pkg.type][format]\n const minify = config?.minify ?? true\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 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 onwarn(warning, rollupWarn) {\n if (!warning.code || !['CIRCULAR_DEPENDENCY'].includes(warning.code)) {\n rollupWarn(warning)\n }\n },\n\n plugins: [\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 throw new Error(`could not find source entry: ${sourcePath}`)\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 esmExternals: false,\n extensions: ['.js'],\n // include: /\\/node_modules\\//,\n // requireReturnsDefault: 'namespace',\n }),\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: ['@babel/plugin-proposal-object-rest-spread'],\n presets: [['@babel/preset-env', {targets: pkg.browserslist || _DEFAULTS.browserslist}]],\n }),\n minify &&\n terser({\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\n ...(config?.rollup?.plugins || []),\n ].filter(Boolean),\n\n treeshake: {\n propertyReadSideEffects: false,\n },\n },\n outputOptions: {\n chunkFileNames: () => `_chunks/[name]-[hash]${outputExt}`,\n dir: outDir,\n entryFileNames: () => (outputExt === '.esm.js' ? `[name].js` : `[name]${outputExt}`),\n format,\n exports: 'auto',\n sourcemap: config?.sourcemap ?? true,\n },\n }\n}\n","/* eslint-disable no-console */\n\nimport 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 {_resolveRollupConfig} from './_resolveRollupConfig'\n\n/** @internal */\nexport const _rollupTask: _TaskHandler<_RollupTask> = {\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 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 if (err instanceof Error) {\n console.log(err)\n }\n },\n}\n\nasync function _execPromise(ctx: _BuildContext, task: _RollupTask) {\n const {files, distPath} = ctx\n const outDir = path.relative(ctx.cwd, distPath)\n\n const {inputOptions, outputOptions} = _resolveRollupConfig(ctx, task)\n\n // Create bundle\n const bundle = await rollup(inputOptions)\n\n // an array of file names this bundle depends on\n // console.log(bundle.watchFiles)\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","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.log('')\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 {_BuildTaskHandlers, _WatchTaskHandlers} from './_types'\nimport {_dtsTask, _dtsWatchTask} from './dts'\nimport {_rollupTask, _rollupWatchTask} from './rollup'\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}\n\n/** @internal */\nexport const _watchTaskHandlers: _WatchTaskHandlers = {\n 'watch:dts': _dtsWatchTask,\n 'watch:js': _rollupWatchTask,\n}\n","import path from 'path'\n\nexport function _pathContains(containerPath: string, itemPath: string): boolean {\n return !path.relative(containerPath, itemPath).startsWith('..')\n}\n\nexport function _findCommonDirPath(filePaths: string[]): string | undefined {\n let ret: string | undefined = undefined\n\n for (const filePath of filePaths) {\n let dirPath = path.dirname(filePath)\n\n if (!ret) {\n ret = dirPath\n continue\n }\n\n while (dirPath !== ret) {\n dirPath = path.dirname(dirPath)\n\n if (dirPath === ret) {\n break\n }\n\n if (_pathContains(dirPath, ret)) {\n ret = dirPath\n break\n }\n\n if (dirPath === '.') return undefined\n }\n }\n\n return ret\n}\n","import browserslist from 'browserslist'\n\nexport interface _PackageTargetVersions {\n chrome: string[]\n ff: string[]\n edge: string[]\n iosSaf: string[]\n saf: string[]\n opera: string[]\n node: string[]\n}\n\nfunction _sortAsNumber(a: string, b: string) {\n const aVersion = Number(a)\n const bVersion = Number(b)\n\n return aVersion - bVersion\n}\n\nexport function _resolveBrowserslistVersions(query: string[]): _PackageTargetVersions {\n const result = browserslist(query)\n\n const entries = result.map((key) => {\n const [name, version] = key.split(' ')\n\n return {name, version: version.split('-')[0].split('.')[0]}\n })\n\n const andChr = entries.filter((b) => b.name === 'and_chr')\n const andFf = entries.filter((b) => b.name === 'and_ff')\n const chrome = entries.filter((b) => b.name === 'chrome')\n const edge = entries.filter((b) => b.name === 'edge')\n const ff = entries.filter((b) => b.name === 'firefox')\n const iosSaf = entries.filter((b) => b.name === 'ios_saf')\n const saf = entries.filter((b) => b.name === 'safari')\n const opera = entries.filter((b) => b.name === 'opera')\n const node = entries.filter((b) => b.name === 'node')\n\n // versions\n const versions: _PackageTargetVersions = {\n chrome: andChr.concat(chrome).map((b) => b.version),\n ff: andFf.concat(ff).map((b) => b.version),\n edge: edge.map((b) => b.version),\n iosSaf: iosSaf.map((b) => b.version),\n saf: saf.map((b) => b.version),\n opera: opera.map((b) => b.version),\n node: node.map((b) => b.version),\n }\n\n // sort\n versions.chrome.sort(_sortAsNumber)\n versions.ff.sort(_sortAsNumber)\n versions.edge.sort(_sortAsNumber)\n versions.iosSaf.sort(_sortAsNumber)\n versions.saf.sort(_sortAsNumber)\n versions.opera.sort(_sortAsNumber)\n versions.node.sort(_sortAsNumber)\n\n return versions\n}\n","import {_PackageTargetVersions} from './_resolveBrowserslistVersions'\n\nexport function _resolveBrowserTarget(versions: _PackageTargetVersions): string[] | undefined {\n const target: string[] = []\n\n if (versions.chrome.length) {\n target.push(`chrome${versions.chrome[0]}`)\n }\n\n if (versions.ff.length) {\n target.push(`firefox${versions.ff[0]}`)\n }\n\n if (versions.edge.length) {\n target.push(`edge${versions.edge[0]}`)\n }\n\n if (versions.iosSaf.length) {\n target.push(`ios${versions.iosSaf[0]}`)\n }\n\n if (versions.saf.length) {\n target.push(`safari${versions.saf[0]}`)\n }\n\n if (versions.opera.length) {\n target.push(`opera${versions.opera[0]}`)\n }\n\n if (target.length === 0) {\n return undefined\n }\n\n return target\n}\n","import {_PackageTargetVersions} from './_resolveBrowserslistVersions'\n\nexport function _resolveNodeTarget(versions: _PackageTargetVersions): string[] | undefined {\n const target: string[] = []\n\n if (versions.node.length) {\n target.push(`node${versions.node[0]}`)\n }\n\n if (target.length === 0) {\n return undefined\n }\n\n return target\n}\n","import path from 'path'\nimport chalk from 'chalk'\nimport {\n PkgConfigOptions,\n PkgExports,\n PkgRuntime,\n _BuildContext,\n _DEFAULTS,\n _loadTSConfig,\n _PackageJSON,\n _parseExports,\n _resolveConfigProperty,\n} from './_core'\nimport {_findCommonDirPath, _pathContains} from './_core/_findCommonPath'\nimport {_resolveBrowserslistVersions} from './_resolveBrowserslistVersions'\nimport {_resolveBrowserTarget} from './_resolveBrowserTarget'\nimport {_resolveNodeTarget} from './_resolveNodeTarget'\n\nfunction _createLogger(): _BuildContext['logger'] {\n return {\n /* eslint-disable no-console */\n log: (...args) => {\n console.log(...args)\n },\n info: (...args) => {\n console.log(chalk.blue(' info'), ...args)\n },\n warn: (...args) => {\n console.log(chalk.yellow(' warn'), ...args)\n },\n error: (...args) => {\n console.log(chalk.red(' fail'), ...args)\n },\n success: (...args) => {\n console.log(chalk.green(' ok '), ...args)\n },\n /* eslint-enable no-console */\n }\n}\n\nexport async function _resolveBuildContext(options: {\n config?: PkgConfigOptions\n cwd: string\n pkg: _PackageJSON\n tsconfig: string\n}): Promise<_BuildContext> {\n const {config, cwd, pkg, tsconfig: tsconfigPath} = options\n const logger = _createLogger()\n const tsconfig = await _loadTSConfig({cwd, tsconfigPath})\n const targetVersions = _resolveBrowserslistVersions(pkg.browserslist || _DEFAULTS.browserslist)\n const nodeTarget = _resolveNodeTarget(targetVersions)\n const webTarget = _resolveBrowserTarget(targetVersions)\n\n if (!nodeTarget) {\n throw new Error('no matching `node` target')\n }\n\n if (!webTarget) {\n throw new Error('no matching `web` target')\n }\n\n const target: Record<PkgRuntime, string[]> = {\n '*': webTarget.concat(nodeTarget),\n browser: webTarget,\n node: nodeTarget,\n }\n\n const parsedExports = _parseExports({pkg}).reduce<PkgExports>((acc, x) => {\n const {_path: exportPath, ...exportEntry} = x\n\n return {...acc, [exportPath]: exportEntry}\n }, {})\n\n const exports = _resolveConfigProperty(config?.exports, parsedExports)\n\n const parsedExternal = [\n ...(pkg.dependencies ? Object.keys(pkg.dependencies) : []),\n ...(pkg.peerDependencies ? Object.keys(pkg.peerDependencies) : []),\n ]\n\n const external = _resolveConfigProperty(config?.external, parsedExternal)\n\n const outputPaths = Object.values(exports)\n .flatMap((exportEntry) => {\n return [\n exportEntry.import,\n exportEntry.require,\n exportEntry.browser?.import,\n exportEntry.browser?.require,\n exportEntry.node?.import,\n exportEntry.node?.require,\n ].filter(Boolean) as string[]\n })\n .map((p) => path.resolve(cwd, p))\n\n const commonDistPath = _findCommonDirPath(outputPaths)\n\n if (commonDistPath === cwd) {\n throw new Error(\n 'all output files must share a common parent directory which is not the root package directory'\n )\n }\n\n if (commonDistPath && !_pathContains(cwd, commonDistPath)) {\n throw new Error('all output files must be located within the package')\n }\n\n const configDistPath = config?.dist ? path.resolve(cwd, config.dist) : undefined\n\n if (\n configDistPath &&\n commonDistPath &&\n configDistPath !== commonDistPath &&\n !_pathContains(configDistPath, commonDistPath)\n ) {\n logger.log(`did you mean to configure \\`dist: './${path.relative(cwd, commonDistPath)}'\\`?`)\n\n throw new Error('all output files must be located with the configured `dist` path')\n }\n\n const distPath = configDistPath || commonDistPath\n\n if (!distPath) {\n throw new Error('could not detect `dist` path')\n }\n\n const ctx: _BuildContext = {\n config,\n cwd,\n distPath,\n exports,\n external,\n files: [],\n logger,\n pkg,\n runtime: config?.runtime ?? '*',\n target,\n ts: {\n config: tsconfig,\n configPath: tsconfigPath,\n },\n }\n\n return ctx\n}\n","/* eslint-disable no-console */\n\nimport chalk from 'chalk'\n\nexport function _spinner(msg: string): {complete: () => void; error: () => void} {\n const startTime = Date.now()\n\n console.log(`${chalk.yellow('run ')} ${msg}`)\n\n return {\n complete: () => {\n console.log(`${chalk.green('ok ')} ${chalk.gray(`${Date.now() - startTime}ms`)}`)\n },\n error: () => {\n console.log(`${chalk.red(`failed`)} ${chalk.gray(`${Date.now() - startTime}ms`)}`)\n },\n }\n}\n","import {_loadConfig, _loadPkgWithReporting} from './_core'\nimport {_resolveBuildContext} from './_resolveBuildContext'\nimport {_resolveBuildTasks} from './_resolveBuildTasks'\nimport {_spinner} from './_spinner'\nimport {_BuildTask, _TaskHandler, _buildTaskHandlers} from './_tasks'\n\n/**\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: {cwd: string; tsconfig?: string}): Promise<void> {\n const {cwd, tsconfig = 'tsconfig.json'} = options\n\n const pkg = await _loadPkgWithReporting({cwd})\n const config = await _loadConfig({cwd})\n\n const ctx = await _resolveBuildContext({config, cwd, pkg, tsconfig})\n\n const buildTasks = _resolveBuildTasks(ctx)\n\n for (const task of buildTasks) {\n const handler = _buildTaskHandlers[task.type] as _TaskHandler<_BuildTask>\n const taskName = handler.name(ctx, task)\n\n const spinner = _spinner(taskName)\n\n try {\n const result = await handler.exec(ctx, task).toPromise()\n\n spinner.complete()\n ctx.logger.log()\n\n handler.complete(ctx, task, result)\n } catch (err) {\n spinner.error()\n\n if (err instanceof Error) {\n const RE_CWD = new RegExp(`${cwd}`, 'g')\n\n ctx.logger.error(err.message.replace(RE_CWD, '.'))\n ctx.logger.log()\n }\n\n handler.error(ctx, task, err)\n\n process.exit(1)\n }\n }\n}\n","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, any> = {}\n\n if (pkg.bin) {\n tree.bin = pkg.bin\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 `${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 source: entry.source,\n types: undefined,\n browser: undefined,\n node: undefined,\n import: undefined,\n require: undefined,\n default: 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: 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.node) {\n exp.node = {source: entry.node.source}\n\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 if (entry.require) {\n exp.require = _fileInfo(entry.require)\n } else {\n delete exp.require\n }\n\n exp.default = _fileInfo(entry.default)\n\n return [chalk.green(path.join(pkg.name, exportPath)), exp]\n })\n )\n\n logger.log(treeify.asTree(tree, true, true))\n}\n","import path from 'path'\nimport esbuild, {BuildFailure} from 'esbuild'\nimport {_loadConfig, _loadPkgWithReporting} from './_core'\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, tsconfig = 'tsconfig.json'} = options\n\n const pkg = await _loadPkgWithReporting({cwd})\n const config = await _loadConfig({cwd})\n const ctx = await _resolveBuildContext({config, cwd, pkg, tsconfig})\n const {logger} = ctx\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 globby from 'globby'\n\nexport function _globFiles(patterns: string[]): Promise<string[]> {\n return globby(patterns)\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 chalk from 'chalk'\nimport {Observable} from 'rxjs'\nimport {distinctUntilChanged, scan, startWith} from 'rxjs/operators'\nimport {_globFiles} from './_globFiles'\nimport {_watchFiles} from './_watchFiles'\n\nexport async function _watchConfigFiles(options: {cwd: string}): Promise<Observable<string[]>> {\n const {cwd} = 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 /* eslint-disable no-console */\n console.log(\n '--------------------------------------------------------------------------------'\n )\n console.log(chalk.blue('info '), path.relative(cwd, fileEvent.file), 'changed')\n console.log('')\n /* eslint-enable no-console */\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 {_loadConfig, _loadPkgWithReporting} from './_core'\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: {cwd: string; tsconfig?: string}): Promise<void> {\n const {cwd, tsconfig = 'tsconfig.json'} = options\n\n const configFiles$ = await _watchConfigFiles({cwd})\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})\n const config = await _loadConfig({cwd})\n\n return _resolveBuildContext({config, cwd, pkg, 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":["_MODULE_EXT","commonjs","esm","module","_DEFAULTS","browserslist","_isRecord","value","Boolean","Array","isArray","CONFIG_FILE_NAMES","_findConfigFile","cwd","pkgJsonPath","findConfig","pkgPath","path","dirname","fileName","configPath","resolve","exists","_fileExists","filePath","stat","_","_loadConfig","options","pkgUp","root","configFile","startsWith","unregister","register","extensions","mod","require","default","_resolveConfigProperty","prop","initialValue","defineConfig","configOptions","pkgSchema","z","object","type","optional","enum","name","string","version","license","bin","record","dependencies","devDependencies","peerDependencies","source","main","browser","types","exports","import","node","array","_validatePkg","input","pkg","parse","_loadPkg","Error","buf","fs","readFile","JSON","toString","_loadPkgWithReporting","err","ZodError","issue","issues","code","console","log","chalk","red","_formatPath","magenta","expected","received","join","error","process","exit","segments","map","s","idx","_validateExports","_exports","ext","exp","endsWith","_path","_parseExports","rootExport","_exported","extraExports","exportPath","exportEntry","Object","entries","assign","extraExport","push","_loadTSConfig","tsconfigPath","ts","findConfigFile","sys","fileExists","readConfigFile","parseJsonConfigFileContent","config","_resolveBuildTasks","ctx","_a","_b","_c","_d","_e","target","bundles","tasks","dtsTask","rollupTasks","_addRollupTaskEntry","format","runtime","entry","buildId","importId","sourcePath","targetPath","output","bundle","length","values","legacyExports","relativeTargetPath","replace","writeFileSync","_printExtractMessages","messages","logger","warnings","filter","msg","logLevel","sourceFilePath","relative","messageId","cyan","yellow","sourceFileLine","sourceFileColumn","gray","text","errors","formatHost","getCurrentDirectory","getNewLine","newLine","getCanonicalFileName","useCaseSensitiveFileNames","f","toLowerCase","_buildTypes","outDir","tsconfig","compilerOptions","declaration","declarationDir","emitDeclarationOnly","noEmit","program","createProgram","fileNames","emitResult","emit","allDiagnostics","getPreEmitDiagnostics","concat","diagnostics","forEach","diagnostic","file","start","line","character","getLineAndCharacterOfPosition","message","flattenDiagnosticMessageText","messageText","emitSkipped","diag","category","DiagnosticCategory","formatDiagnostics","_DtsError","constructor","_createApiExtractorConfig","distPath","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","_LOG_LEVELS","info","off","warn","_getExtractMessagesConfig","rules","_ruleToLogLevel","key","defaultLevel","r","compilerMessageReporting","extractorMessageReporting","addToApiReportFile","tsdocMessageReporting","_extractTypes","files","projectPath","sourceTypesPath","tsdocConfigFile","extractorConfig","ExtractorConfig","prepare","configObject","configObjectFullPath","packageJsonFullPath","extractorResult","Extractor","invoke","localBuild","showVerboseMessages","messageCallback","handled","typesPath","typesBuf","prettierConfig","prettier","resolveConfig","mkdirp","writeFile","filepath","rimraf","promisify","rimrafCallback","_doExtract","task","results","rootDir","tmpPath","result","extract","some","_dtsTask","_ctx","blue","exec","Observable","observer","then","next","complete","catch","_task","_dtsWatchTask","_resolveRollupConfig","buildTask","external","outputExt","minify","pathAliases","fromEntries","paths","val","_a2","baseUrl","exportIds","keys","sourcePaths","e","replacements","define","stringify","inputOptions","context","id","importer","includes","idPath","idParts","split","reduce","acc","onwarn","warning","rollupWarn","plugins","preventAssignment","arg","find","env","PKG_VERSION","alias","nodeResolve","preferBuiltins","esmExternals","json","esbuild","jsx","jsxFactory","jsxFragment","jsxImportSource","getBabelOutputPlugin","babelrc","presets","targets","terser","comments","_node","comment","test","rollup","treeshake","propertyReadSideEffects","outputOptions","chunkFileNames","dir","entryFileNames","sourcemap","_rollupTask","_execPromise","generate","chunkOrAsset","write","close","_rollupWatchTask","watchOptions","watcher","rollupWatch","on","event","success","_buildTaskHandlers","_watchTaskHandlers","_pathContains","containerPath","itemPath","_findCommonDirPath","filePaths","ret","dirPath","_sortAsNumber","a","b","aVersion","Number","bVersion","_resolveBrowserslistVersions","query","andChr","andFf","chrome","edge","ff","iosSaf","saf","opera","versions","sort","_resolveBrowserTarget","_resolveNodeTarget","_createLogger","args","green","_resolveBuildContext","targetVersions","nodeTarget","webTarget","parsedExports","x","parsedExternal","outputPaths","flatMap","p","commonDistPath","configDistPath","dist","_spinner","startTime","Date","now","build","buildTasks","handler","taskName","spinner","toPromise","RE_CWD","RegExp","_getFilesize","stats","statSync","prettyBytes","size","accessSync","_getFileInfo","_printPackageTree","tree","_fileInfo","treeify","asTree","check","strict","missingFiles","_paths","esbuildResult","stdin","contents","loader","resolveDir","outfile","platform","_err","location","detail","lineText","column","_resolveWatchTasks","_globFiles","patterns","globby","_watchFiles","chokidar","watch","ignoreInitial","_handleFileEvent","_watchConfigFiles","initialFiles","fileEvent$","pipe","scan","fileEvent","slice","startWith","distinctUntilChanged","configFiles$","ctx$","switchMap","configFiles","_files","packageJsonPath","subscribe","watchTasks","result$"],"mappings":"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"}