@sanity/pkg-utils 1.20.3 → 1.20.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_chunks/{build-983490bb.js → build-f3246aa2.js} +2 -2
- package/dist/_chunks/{build-983490bb.js.map → build-f3246aa2.js.map} +1 -1
- package/dist/_chunks/{buildAction-240dc427.js → buildAction-e3aabe6b.js} +3 -3
- package/dist/_chunks/{buildAction-240dc427.js.map → buildAction-e3aabe6b.js.map} +1 -1
- package/dist/_chunks/{index-60a8ccaf.js → index-b617f475.js} +2 -2
- package/dist/_chunks/index-b617f475.js.map +1 -0
- package/dist/_chunks/{watch-580faef0.js → watch-15eb636a.js} +2 -2
- package/dist/_chunks/{watch-580faef0.js.map → watch-15eb636a.js.map} +1 -1
- package/dist/_chunks/{watchAction-aabcb0fb.js → watchAction-4d513a4c.js} +3 -3
- package/dist/_chunks/{watchAction-aabcb0fb.js.map → watchAction-4d513a4c.js.map} +1 -1
- package/dist/cli.js +3 -3
- package/dist/index.esm.js +1 -1
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +3 -3
- package/package.json +1 -1
- package/src/node/tasks/rollup/resolveRollupConfig.ts +4 -1
- package/dist/_chunks/index-60a8ccaf.js.map +0 -1
package/dist/index.esm.js.map
CHANGED
|
@@ -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/extractModuleBlocks.ts","../src/node/tasks/dts/getExtractMessagesConfig.ts","../src/node/tasks/dts/extractTypes.ts","../src/node/tasks/dts/doExtract.ts","../src/node/tasks/dts/dtsTask.ts","../src/node/tasks/dts/dtsWatchTask.ts","../src/node/tasks/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","/** @public */\nexport const DEFAULT_BROWSERSLIST_QUERY = [\n '> 0.2% and supports es6-module and supports es6-module-dynamic-import',\n 'not dead',\n 'not IE 11',\n 'maintained node versions',\n]\n","/** @internal */\nexport function isRecord(value: unknown): value is Record<string, unknown> {\n return Boolean(value) && !Array.isArray(value) && typeof value === 'object'\n}\n","import {stat} from 'fs/promises'\nimport path from 'path'\nimport findConfig from 'find-config'\n\nconst CONFIG_FILE_NAMES = [\n 'package.config.ts',\n 'package.config.js',\n 'package.config.cjs',\n 'package.config.mjs',\n]\n\nexport async function findConfigFile(cwd: string): Promise<string | undefined> {\n const pkgJsonPath = findConfig('package.json', {cwd})\n\n if (!pkgJsonPath) return undefined\n\n const pkgPath = path.dirname(pkgJsonPath)\n\n for (const fileName of CONFIG_FILE_NAMES) {\n const configPath = path.resolve(pkgPath, fileName)\n\n const exists = await fileExists(configPath)\n\n if (exists) {\n return configPath\n }\n }\n\n return undefined\n}\n\nasync function fileExists(filePath: string) {\n try {\n await stat(filePath)\n\n return true\n } catch (_) {\n return false\n }\n}\n","import path from 'path'\nimport {register} from 'esbuild-register/dist/node'\nimport pkgUp from 'pkg-up'\nimport {findConfigFile} from './findConfigFile'\nimport {PkgConfigOptions} from './types'\n\n/** @internal */\nexport async function loadConfig(options: {cwd: string}): Promise<PkgConfigOptions | undefined> {\n const {cwd} = options\n\n const pkgPath = await pkgUp({cwd})\n\n if (!pkgPath) return undefined\n\n const root = path.dirname(pkgPath)\n\n const configFile = await findConfigFile(root)\n\n if (!configFile) {\n return undefined\n }\n\n // Do not accept config files outside of the root\n if (!configFile.startsWith(cwd)) {\n return undefined\n }\n\n const esbuildOptions = {extensions: ['.js', '.mjs', '.ts']}\n\n const {unregister} = globalThis.__DEV__ ? {unregister: () => undefined} : register(esbuildOptions)\n\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const mod = require(configFile)\n\n unregister()\n\n return mod?.default || mod || undefined\n}\n","import {PkgConfigProperty, PkgConfigPropertyResolver} from './types'\n\n/** @internal */\nexport function resolveConfigProperty<T>(\n prop: PkgConfigProperty<T> | undefined,\n initialValue: T\n): T {\n if (!prop) return initialValue\n\n if (typeof prop === 'function') {\n return (prop as PkgConfigPropertyResolver<T>)(initialValue)\n }\n\n return prop\n}\n","import {PkgConfigOptions} from './types'\n\n/** @public */\nexport function defineConfig(configOptions: PkgConfigOptions): PkgConfigOptions {\n return configOptions\n}\n","import {z} from 'zod'\nimport {PackageJSON} from './types'\n\nconst pkgSchema = z.object({\n type: z.optional(z.enum(['commonjs', 'module'])),\n name: z.string(),\n version: z.string(),\n license: z.string(),\n bin: z.optional(z.record(z.string())),\n dependencies: z.optional(z.record(z.string())),\n devDependencies: z.optional(z.record(z.string())),\n peerDependencies: z.optional(z.record(z.string())),\n source: z.optional(z.string()),\n main: z.optional(z.string()),\n browser: z.optional(z.record(z.string())),\n module: z.optional(z.string()),\n types: z.optional(z.string()),\n exports: z.optional(\n z.record(\n z.union([\n z.custom<`./${string}.json`>((val) => /^\\.\\/.*\\.json$/.test(val as string)),\n z.object({\n types: z.optional(z.string()),\n source: z.string(),\n 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 ),\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 {PkgExport} from '../config'\nimport {MODULE_EXT} from '../constants'\nimport {PackageJSON} from './types'\n\nexport function validateExports(\n _exports: (PkgExport & {_path: string})[],\n options: {pkg: PackageJSON}\n): string[] {\n const {pkg} = options\n const ext = MODULE_EXT[pkg.type]\n\n const errors: string[] = []\n\n for (const exp of _exports) {\n if (exp.require && !exp.require.endsWith(ext.commonjs)) {\n errors.push(\n `package.json with \\`type: \"${pkg.type}\"\\` - \\`exports[\"${exp._path}\"].require\\` must end with \"${ext.commonjs}\"`\n )\n }\n\n if (exp.import && !exp.import.endsWith(ext.esm)) {\n errors.push(\n `package.json with \\`type: \"${pkg.type}\"\\` - \\`exports[\"${exp._path}\"].import\\` must end with \"${ext.esm}\"`\n )\n }\n }\n\n return errors\n}\n","import {PkgExport} from '../config'\nimport {isRecord} from '../isRecord'\nimport {PackageJSON} from './types'\nimport {validateExports} from './validateExports'\n\n/** @internal */\nexport function parseExports(options: {\n pkg: PackageJSON\n strict: boolean\n}): (PkgExport & {_path: string})[] {\n const {pkg, strict} = options\n\n const rootExport: PkgExport & {_path: string} = {\n _exported: true,\n _path: '.',\n types: pkg.types,\n source: pkg.source || '',\n browser: pkg.browser && {\n source: pkg.source || '',\n require: pkg.main && pkg.browser[pkg.main],\n import: pkg.module && pkg.browser[pkg.module],\n },\n import: pkg.module,\n require: pkg.main,\n default: pkg.module || pkg.main || '',\n }\n\n const extraExports: (PkgExport & {_path: string})[] = []\n\n const errors: string[] = []\n\n if (pkg.exports) {\n if (strict && !pkg.exports['./package.json']) {\n errors.push('package.json: `exports[\"./package.json\"] must be declared.')\n }\n\n for (const [exportPath, exportEntry] of Object.entries(pkg.exports)) {\n if (exportPath.endsWith('.json')) {\n if (exportPath === './package.json') {\n if (exportEntry !== './package.json') {\n errors.push('package.json: `exports[\"./package.json\"] must be \"./package.json\".')\n }\n }\n } else if (isRecord(exportEntry)) {\n if (exportPath === '.') {\n if (\n exportEntry.require &&\n rootExport.require &&\n exportEntry.require !== rootExport.require\n ) {\n errors.push(\n 'package.json: mismatch between \"main\" and \"exports.require\". These must be equal.'\n )\n }\n\n if (exportEntry.import && rootExport.import && exportEntry.import !== rootExport.import) {\n errors.push(\n 'package.json: mismatch between \"module\" and \"exports.import\" These must be equal.'\n )\n }\n\n if (exportEntry.types && rootExport.types && exportEntry.types !== rootExport.types) {\n errors.push(\n 'package.json: mismatch between \"types\" and \"exports.types\". These must be equal.'\n )\n }\n\n if (exportEntry.source && rootExport.source && exportEntry.source !== rootExport.source) {\n errors.push(\n 'package.json: mismatch between \"source\" and \"exports.source\". These must be equal.'\n )\n }\n\n Object.assign(rootExport, exportEntry)\n } else {\n const extraExport: PkgExport & {_path: string} = {\n _exported: true,\n _path: exportPath,\n ...exportEntry,\n }\n\n extraExports.push(extraExport)\n }\n } else {\n errors.push('package.json: exports must be an object')\n }\n }\n }\n\n const _exports = [rootExport, ...extraExports]\n\n errors.push(...validateExports(_exports, {pkg}))\n\n if (errors.length) {\n throw new Error('\\n- ' + errors.join('\\n- '))\n }\n\n return _exports\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 // Add dts task\n if (dtsTask.entries.length) {\n tasks.push(dtsTask)\n }\n\n if (!ctx.emitDeclarationOnly) {\n // Parse rollup:commonjs:* tasks\n for (const exp of exports) {\n const output = exp.require\n\n if (!output) continue\n\n addRollupTaskEntry('commonjs', ctx.runtime, {\n path: exp._path,\n source: exp.source,\n output,\n })\n }\n\n // Parse rollup:esm:* tasks\n for (const exp of exports) {\n const output = exp.import\n\n if (!output) continue\n\n addRollupTaskEntry('esm', ctx.runtime, {\n path: exp._path,\n source: exp.source,\n output,\n })\n }\n\n // Parse rollup:commonjs:browser tasks\n for (const exp of exports) {\n const output = exp.browser?.require\n\n if (!output) continue\n\n addRollupTaskEntry('commonjs', 'browser', {\n path: exp._path,\n source: exp.browser?.source || exp.source,\n output,\n })\n }\n\n // Parse rollup:esm:browser tasks\n for (const exp of exports) {\n const output = exp.browser?.import\n\n if (!output) continue\n\n addRollupTaskEntry('esm', 'browser', {\n path: exp._path,\n source: exp.browser?.source || exp.source,\n output,\n })\n }\n\n for (const bundle of bundles) {\n if (bundle.require) {\n addRollupTaskEntry('commonjs', bundle.runtime || ctx.runtime, {\n path: '__bundle__',\n source: bundle.source,\n output: bundle.require,\n })\n }\n\n if (bundle.import) {\n addRollupTaskEntry('commonjs', bundle.runtime || ctx.runtime, {\n path: '__bundle__',\n source: bundle.source,\n output: bundle.import,\n })\n }\n }\n\n tasks.push(...Object.values(rollupTasks))\n\n // Write legacy exports files\n if (config?.legacyExports) {\n for (const exp of exports) {\n if (exp._exported && exp._path !== '.') {\n const relativeTargetPath = (exp.browser?.import || exp.import || '').replace(\n /\\.[^/.]+$/,\n ''\n )\n\n if (relativeTargetPath) {\n fs.writeFileSync(\n path.resolve(cwd, `${exp._path}.js`),\n [`// AUTO-GENERATED – DO NOT EDIT`, `export * from '${relativeTargetPath}'`, ``].join(\n '\\n'\n )\n )\n }\n }\n }\n }\n }\n\n 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 // Ignore this warning:\n // > TS6307: <filename> is not in project file list.\n // > Projects must list all files or use an 'include' pattern.\n continue\n }\n\n logger.log(\n [\n `${chalk.cyan(sourceFilePath || '?')}`,\n `:${chalk.yellow(msg.sourceFileLine)}:${chalk.yellow(msg.sourceFileColumn)}`,\n ` - ${chalk.yellow('warning')} ${chalk.gray(msg.messageId)}\\n`,\n msg.text,\n '\\n',\n ].join('')\n )\n }\n\n const errors: ExtractorMessage[] = messages.filter((msg) => msg.logLevel === 'error')\n\n if (!warnings.length && errors.length) {\n logger.log('')\n }\n\n for (const msg of errors) {\n const sourceFilePath = msg.sourceFilePath && path.relative(cwd, msg.sourceFilePath)\n\n logger.log(\n [\n `${chalk.cyan(sourceFilePath || '?')}`,\n `:${chalk.yellow(msg.sourceFileLine)}:${chalk.yellow(msg.sourceFileColumn)}`,\n ` - ${chalk.red('error')} ${chalk.gray(msg.messageId)}\\n`,\n msg.text,\n '\\n',\n ].join('')\n )\n }\n\n if (errors.length) {\n process.exit(1)\n }\n}\n","/* 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 strict: boolean\n}): Promise<void> {\n const {outDir, tsconfig, strict = false} = options\n\n const compilerOptions: ts.CompilerOptions = {\n ...tsconfig.options,\n declaration: true,\n declarationDir: outDir,\n emitDeclarationOnly: true,\n noEmit: false,\n outDir,\n }\n\n const program = ts.createProgram(tsconfig.fileNames, compilerOptions)\n\n const emitResult = program.emit()\n\n const allDiagnostics = ts.getPreEmitDiagnostics(program).concat(emitResult.diagnostics)\n\n // 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 if (strict) {\n throw new Error('failed to compile TypeScript definitions')\n }\n }\n }\n}\n","import {ExtractorMessage} from '@microsoft/api-extractor'\n\n/** @internal */\nexport class DtsError extends Error {\n messages: ExtractorMessage[]\n\n constructor(message: string, messages: ExtractorMessage[]) {\n super(message)\n this.messages = messages\n }\n}\n","import path from 'path'\nimport {IConfigFile, IExtractorMessagesConfig} from '@microsoft/api-extractor'\n\nexport function createApiExtractorConfig(options: {\n distPath: string\n exportPath: string\n filePath: string\n messages: IExtractorMessagesConfig\n projectFolder: string\n mainEntryPointFilePath: string\n tsconfigPath: string\n}): IConfigFile {\n const {\n distPath,\n exportPath,\n filePath,\n messages,\n projectFolder,\n mainEntryPointFilePath,\n tsconfigPath,\n } = options\n\n return {\n apiReport: {\n enabled: false,\n reportFileName: '<unscopedPackageName>.api.md',\n },\n // bundledPackages: [],\n compiler: {\n tsconfigFilePath: tsconfigPath,\n },\n docModel: {\n enabled: false,\n apiJsonFilePath: path.resolve(distPath, `${exportPath}.api.json`),\n },\n dtsRollup: {\n enabled: true,\n untrimmedFilePath: path.resolve(distPath, filePath),\n // betaTrimmedFilePath: path.resolve(distPath, filePath.replace('.d.ts', '-beta.d.ts')),\n // publicTrimmedFilePath: path.resolve(distPath, filePath.replace('.d.ts', '-public.d.ts')),\n },\n tsdocMetadata: {\n enabled: false,\n },\n messages,\n mainEntryPointFilePath,\n projectFolder,\n }\n}\n","import {readFile} from 'fs/promises'\nimport {TSDocConfigFile} from '@microsoft/tsdoc-config'\nimport {parse} from 'jsonc-parser'\n\n/** @public */\nexport interface TSDocCustomTag {\n name: string\n syntaxKind: 'block' | 'modifier'\n allowMultiple?: boolean\n}\n\n/** @internal */\nexport async function createTSDocConfig(opts: {\n customTags: TSDocCustomTag[]\n}): Promise<TSDocConfigFile | undefined> {\n const {customTags} = opts\n\n if (customTags.length === 0) {\n return undefined\n }\n\n const tsDocBaseBuf = await readFile(\n require.resolve('@microsoft/api-extractor/extends/tsdoc-base.json')\n )\n\n // Include the definitions that are required for API Extractor\n // extends: ['@microsoft/api-extractor/extends/tsdoc-base.json'],\n const tsDocBaseConfig = parse(tsDocBaseBuf.toString())\n\n // Define custom tags and specify how they should be parsed\n const tagDefinitions = (tsDocBaseConfig.tagDefinitions || []).concat(\n customTags.map((t) => ({\n tagName: `@${t.name}`,\n syntaxKind: t.syntaxKind,\n allowMultiple: t.allowMultiple,\n }))\n )\n\n // Indicate that custom tags are supported by your tooling.\n // (Without this, warnings may be reported saying that a tag is unsupported.)\n const supportForTags = {...tsDocBaseConfig.supportForTags}\n\n for (const customTag of customTags) {\n supportForTags[`@${customTag.name}`] = true\n }\n\n return TSDocConfigFile.loadFromObject({\n ...tsDocBaseConfig,\n noStandardTags: false,\n tagDefinitions,\n supportForTags,\n })\n}\n","import type {File} from '@babel/types'\nimport {ExtractorResult} from '@microsoft/api-extractor'\nimport {parse, print} from 'recast'\nimport typeScriptParser from 'recast/parsers/typescript'\nimport {Program} from 'typescript'\n\n/**\n * A workaround to find all module blocks in extract TS files.\n * @internal\n * */\nexport async function extractModuleBlocksFromTypes({\n tsOutDir,\n extractResult,\n}: {\n tsOutDir: string\n extractResult: ExtractorResult\n}): Promise<string[]> {\n const program = extractResult.compilerState.program as Program\n const moduleBlocks: string[] = []\n\n // all program files, including node_modules\n const allProgramFiles = [...program.getSourceFiles()]\n\n // just our compiled files used in the program\n const sourceFiles = allProgramFiles.filter((sourceFile) => sourceFile.fileName.includes(tsOutDir))\n\n for (const sourceFile of sourceFiles) {\n if (sourceFile.text.includes('declare module')) {\n moduleBlocks.push(...extractModuleBlocks(sourceFile.text))\n }\n }\n\n return moduleBlocks\n}\n\n/** @internal */\nexport function extractModuleBlocks(fileContent: string): string[] {\n const ast = parse(fileContent, {\n parser: typeScriptParser,\n }) as File\n\n return ast.program.body\n .filter((node) => node.type === 'TSModuleDeclaration')\n .map((node) => print(node).code)\n}\n","import {ExtractorLogLevel, IExtractorMessagesConfig} from '@microsoft/api-extractor'\nimport {PkgRuleLevel, PkgConfigOptions} from '../../core'\n\nconst LOG_LEVELS: Record<PkgRuleLevel, ExtractorLogLevel> = {\n error: 'error' as ExtractorLogLevel.Error,\n info: 'info' as ExtractorLogLevel.Info,\n off: 'none' as ExtractorLogLevel.None,\n warn: 'warning' as ExtractorLogLevel.Warning,\n}\n\n/** @internal */\nexport function getExtractMessagesConfig(options: {\n rules: NonNullable<PkgConfigOptions['extract']>['rules']\n}): IExtractorMessagesConfig {\n const {rules} = options\n\n function ruleToLogLevel(\n key: keyof NonNullable<NonNullable<PkgConfigOptions['extract']>['rules']>,\n defaultLevel?: ExtractorLogLevel\n ) {\n const r = rules?.[key]\n\n return (r ? LOG_LEVELS[r] : defaultLevel || 'warning') as ExtractorLogLevel\n }\n\n return {\n compilerMessageReporting: {\n default: {\n logLevel: 'warning' as ExtractorLogLevel,\n },\n },\n\n extractorMessageReporting: {\n default: {\n logLevel: 'warning' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n\n 'ae-forgotten-export': {\n logLevel: ruleToLogLevel('ae-forgotten-export', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-incompatible-release-tags': {\n logLevel: ruleToLogLevel('ae-incompatible-release-tags', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-internal-missing-underscore': {\n logLevel: ruleToLogLevel('ae-internal-missing-underscore'),\n addToApiReportFile: false,\n },\n\n 'ae-missing-release-tag': {\n logLevel: ruleToLogLevel('ae-missing-release-tag', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-wrong-input-file-type': {\n logLevel: 'none' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n },\n\n tsdocMessageReporting: {\n default: {\n logLevel: 'warning' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n\n 'tsdoc-link-tag-unescaped-text': {\n logLevel: ruleToLogLevel('tsdoc-link-tag-unescaped-text', 'warning' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'tsdoc-undefined-tag': {\n logLevel: ruleToLogLevel('tsdoc-undefined-tag', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'tsdoc-unsupported-tag': {\n logLevel: ruleToLogLevel('tsdoc-unsupported-tag', 'none' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n },\n }\n}\n","import fs from 'fs/promises'\nimport path from 'path'\nimport {\n Extractor,\n ExtractorConfig,\n ExtractorMessage,\n ExtractorResult,\n} from '@microsoft/api-extractor'\nimport mkdirp from 'mkdirp'\nimport prettier from 'prettier'\nimport {PkgConfigOptions, BuildFile} from '../../core'\nimport {createApiExtractorConfig} from './createApiExtractorConfig'\nimport {createTSDocConfig} from './createTSDocConfig'\nimport {extractModuleBlocksFromTypes} from './extractModuleBlocks'\nimport {getExtractMessagesConfig} from './getExtractMessagesConfig'\n\nexport async function extractTypes(options: {\n customTags: NonNullable<PkgConfigOptions['extract']>['customTags']\n cwd: string\n distPath: string\n exportPath: string\n filePath: string\n files: BuildFile[]\n projectPath: string\n rules?: NonNullable<PkgConfigOptions['extract']>['rules']\n sourceTypesPath: string\n tmpPath: string\n tsconfigPath: string\n}): Promise<{extractorResult: ExtractorResult; messages: ExtractorMessage[]}> {\n const {\n customTags,\n distPath,\n exportPath,\n files,\n filePath,\n projectPath,\n rules,\n sourceTypesPath,\n tmpPath,\n tsconfigPath,\n } = options\n\n const tsdocConfigFile = await createTSDocConfig({\n customTags: customTags || [],\n })\n\n const extractorConfig: ExtractorConfig = ExtractorConfig.prepare({\n configObject: createApiExtractorConfig({\n distPath,\n exportPath,\n filePath,\n messages: getExtractMessagesConfig({rules}),\n projectFolder: projectPath,\n mainEntryPointFilePath: sourceTypesPath,\n tsconfigPath,\n }),\n configObjectFullPath: undefined,\n tsdocConfigFile,\n packageJsonFullPath: path.resolve(projectPath, 'package.json'),\n })\n\n const messages: ExtractorMessage[] = []\n\n // Invoke API Extractor\n const extractorResult = Extractor.invoke(extractorConfig, {\n // Equivalent to the \"--local\" command-line parameter\n localBuild: true,\n // Equivalent to the \"--verbose\" command-line parameter\n showVerboseMessages: true,\n // handle messages\n messageCallback(message: ExtractorMessage) {\n messages.push(message)\n message.handled = true\n },\n })\n\n const typesPath = path.resolve(distPath, filePath)\n const typesBuf = await fs.readFile(typesPath)\n const prettierConfig = await prettier.resolveConfig(typesPath)\n\n await mkdirp(path.dirname(typesPath))\n\n const moduleBlocks = await extractModuleBlocksFromTypes({\n extractResult: extractorResult,\n tsOutDir: tmpPath,\n })\n\n const code = [typesBuf.toString(), ...moduleBlocks].join('\\n\\n')\n\n await fs.writeFile(\n typesPath,\n prettier.format(code, {\n ...prettierConfig,\n filepath: typesPath,\n })\n )\n\n // Add to `files` in context\n files.push({\n type: 'types',\n path: typesPath,\n })\n\n return {extractorResult, messages}\n}\n","import path from 'path'\nimport {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, strict, ts} = ctx\n\n if (!ts.config || !ts.configPath) {\n return {type: 'dts', messages: [], results: []}\n }\n\n const {outDir, rootDir = cwd} = ts.config.options\n\n if (!outDir) {\n throw new Error('tsconfig.json is missing `compilerOptions.outDir`')\n }\n\n const tmpPath = path.resolve(outDir, '__tmp__')\n\n await buildTypes({cwd, outDir: tmpPath, strict, tsconfig: ts.config})\n const messages: ExtractorMessage[] = []\n\n const results: {sourcePath: string; filePath: string}[] = []\n\n for (const entry of task.entries) {\n const exportPath = entry.exportPath === '.' ? './index' : entry.exportPath\n\n const sourceTypesPath = path.resolve(\n tmpPath,\n path.relative(rootDir, path.resolve(cwd, entry.sourcePath)).replace(/\\.ts$/, '.d.ts')\n )\n\n const targetPath = path.resolve(cwd, entry.targetPath)\n const filePath = path.relative(outDir, targetPath)\n const result = await extractTypes({\n customTags: config?.extract?.customTags,\n cwd,\n distPath: outDir,\n exportPath,\n files,\n filePath: filePath,\n projectPath: cwd,\n rules: config?.extract?.rules,\n sourceTypesPath: sourceTypesPath,\n tmpPath,\n tsconfigPath: path.resolve(cwd, ts.configPath || 'tsconfig.json'),\n })\n\n messages.push(...result.messages)\n\n if (result.messages.some((msg) => msg.logLevel === 'error')) {\n await rimraf(tmpPath)\n\n throw new DtsError('encountered errors when extracting types', result.messages)\n }\n\n results.push({sourcePath: path.resolve(cwd, entry.sourcePath), filePath: targetPath})\n }\n\n await rimraf(tmpPath)\n\n return {type: 'dts', messages, results}\n}\n","import chalk from 'chalk'\nimport {Observable} from 'rxjs'\nimport {printExtractMessages} from '../../printExtractMessages'\nimport {TaskHandler} from '../types'\nimport {doExtract} from './doExtract'\nimport {DtsError} from './DtsError'\nimport {DtsResult, DtsTask} from './types'\n\n/** @internal */\nexport const dtsTask: TaskHandler<DtsTask, DtsResult> = {\n name: (_ctx, task) =>\n [\n `build type definitions`,\n ...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 terser from '@rollup/plugin-terser'\nimport {InputOptions, OutputOptions, Plugin} from 'rollup'\nimport esbuild from 'rollup-plugin-esbuild'\nimport {\n BuildContext,\n DEFAULT_BROWSERSLIST_QUERY,\n MODULE_EXT,\n resolveConfigProperty,\n} 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 const defaultPlugins = [\n replace({\n preventAssignment: true,\n values: {\n ...(pkg.name === '@sanity/pkg-utils'\n ? {...replacements}\n : {\n 'process.env.PKG_FILE_PATH': (arg) => {\n const sourcePath = './' + path.relative(cwd, arg)\n const entry = entries.find((e) => e.source === sourcePath)\n\n if (!entry) {\n // eslint-disable-next-line no-console\n console.error(`could not find source entry: ${sourcePath}`)\n\n return 'null'\n }\n\n return JSON.stringify(\n path.relative(cwd, path.resolve(outDir, entry.name + outputExt))\n )\n },\n 'process.env.PKG_FORMAT': JSON.stringify(format),\n 'process.env.PKG_RUNTIME': JSON.stringify(runtime),\n 'process.env.PKG_VERSION': JSON.stringify(process.env.PKG_VERSION || pkg.version),\n ...replacements,\n }),\n },\n }),\n alias({\n entries: {...pathAliases},\n }),\n nodeResolve({\n // mainFields: ['module', 'jsnext', 'main'],\n browser: runtime === 'browser',\n // exportConditions: [runtime === 'node' ? 'node' : 'browser'],\n extensions: ['.cjs', '.mjs', '.js', '.jsx', '.json', '.node'],\n preferBuiltins: true, // runtime === 'node',\n }),\n commonjs({\n 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 || DEFAULT_BROWSERSLIST_QUERY}]],\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 ].filter(Boolean) as Plugin[]\n\n const userPlugins = config?.rollup?.plugins\n\n const plugins = Array.isArray(userPlugins)\n ? defaultPlugins.concat(userPlugins)\n : resolveConfigProperty(config?.rollup?.plugins, defaultPlugins)\n\n return {\n inputOptions: {\n context: cwd,\n\n external: (id, importer) => {\n // Check if the id is a self-referencing import\n if (exportIds?.includes(id)) {\n return true\n }\n\n // Check if the id is a file path that points to an exported source file\n if (importer && (id.startsWith('.') || id.startsWith('/'))) {\n const idPath = path.resolve(path.dirname(importer), id)\n\n if (sourcePaths?.includes(idPath)) {\n logger.warn(\n `detected self-referencing import – treating as external: ${path.relative(\n cwd,\n idPath\n )}`\n )\n\n return true\n }\n }\n\n const idParts = id.split('/')\n\n const name = idParts[0].startsWith('@') ? `${idParts[0]}/${idParts[1]}` : idParts[0]\n\n if (name && external.includes(name)) {\n return true\n }\n\n return false\n },\n\n input: entries.reduce<{[entryAlias: string]: string}>((acc, entry) => {\n return {...acc, [entry.name]: entry.source}\n }, {}),\n\n plugins,\n\n treeshake: {\n propertyReadSideEffects: false,\n },\n },\n outputOptions: {\n chunkFileNames: () => `_chunks/[name]-[hash]${outputExt}`,\n compact: minify,\n dir: outDir,\n entryFileNames: () => (outputExt === '.esm.js' ? `[name].js` : `[name]${outputExt}`),\n esModule: true,\n format,\n interop: 'compat',\n minifyInternalExports: minify,\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 _console = {\n log: console.log,\n warn: console.warn,\n error: console.error,\n }\n\n const {inputOptions, outputOptions} = resolveRollupConfig(ctx, task)\n\n console.log = () => undefined\n console.warn = () => undefined\n console.error = () => undefined\n\n // Create bundle\n const bundle = await rollup({\n ...inputOptions,\n onwarn(warning) {\n if (!warning.code || !['CIRCULAR_DEPENDENCY'].includes(warning.code)) {\n // rollupWarn(warning)\n _console.warn.bind(console)(chalk.yellow('warn '), warning.message)\n }\n },\n })\n\n // generate output specific code in-memory\n // you can call this function multiple times on the same bundle object\n const {output} = await bundle.generate(outputOptions)\n\n console.log = _console.log\n console.warn = _console.warn\n console.error = _console.error\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 {dtsTask, dtsWatchTask} from './dts'\nimport {rollupTask, rollupWatchTask} from './rollup'\nimport {BuildTaskHandlers, WatchTaskHandlers} from './types'\n\nexport * from './types'\nexport * from './dts'\nexport * from './rollup'\n\n/** @internal */\nexport const buildTaskHandlers: BuildTaskHandlers = {\n 'build:dts': dtsTask,\n 'build:js': rollupTask,\n}\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 DEFAULT_BROWSERSLIST_QUERY,\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 emitDeclarationOnly?: boolean\n pkg: PackageJSON\n strict: boolean\n tsconfig: string\n}): Promise<BuildContext> {\n const {config, cwd, emitDeclarationOnly = false, pkg, strict, tsconfig: tsconfigPath} = options\n const logger = createLogger()\n const tsconfig = await loadTSConfig({cwd, tsconfigPath})\n const targetVersions = resolveBrowserslistVersions(pkg.browserslist || DEFAULT_BROWSERSLIST_QUERY)\n const nodeTarget = resolveNodeTarget(targetVersions)\n const webTarget = resolveBrowserTarget(targetVersions)\n\n if (!nodeTarget) {\n throw new Error('no matching `node` target')\n }\n\n if (!webTarget) {\n throw new Error('no matching `web` target')\n }\n\n const target: Record<PkgRuntime, string[]> = {\n '*': webTarget.concat(nodeTarget),\n browser: webTarget,\n node: nodeTarget,\n }\n\n const parsedExports = parseExports({pkg, strict}).reduce<PkgExports>((acc, x) => {\n const {_path: exportPath, ...exportEntry} = x\n\n return {...acc, [exportPath]: exportEntry}\n }, {})\n\n const exports = resolveConfigProperty(config?.exports, parsedExports)\n\n const parsedExternal = [\n ...(pkg.dependencies ? Object.keys(pkg.dependencies) : []),\n ...(pkg.peerDependencies ? Object.keys(pkg.peerDependencies) : []),\n ]\n\n // Merge externals if an array is provided, replace if it's a function\n const external =\n config && Array.isArray(config.external)\n ? [...parsedExternal, ...config.external]\n : resolveConfigProperty(config?.external, parsedExternal)\n\n const outputPaths = Object.values(exports)\n .flatMap((exportEntry) => {\n return [\n exportEntry.import,\n exportEntry.require,\n exportEntry.browser?.import,\n exportEntry.browser?.require,\n exportEntry.node?.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 emitDeclarationOnly,\n exports,\n external,\n files: [],\n logger,\n pkg,\n runtime: config?.runtime ?? '*',\n strict,\n target,\n ts: {\n config: tsconfig,\n configPath: tsconfigPath,\n },\n }\n\n return ctx\n}\n","/* eslint-disable no-console */\n\nimport chalk from 'chalk'\n\nexport function createSpinner(msg: string): {complete: () => void; error: () => void} {\n const startTime = Date.now()\n\n console.log(` ${msg}`)\n\n return {\n complete: () => {\n console.log(`${chalk.green('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 {createSpinner} from './spinner'\nimport {BuildTask, TaskHandler, buildTaskHandlers} from './tasks'\n\n/**\n * Build the distribution files of a npm package.\n *\n * @example\n * ```ts\n * import {build} from '@sanity/pkg-utils'\n *\n * build({\n * cwd: process.cwd(),\n * tsconfig: 'tsconfig.dist.json,\n * }).then(() => {\n * console.log('successfully built')\n * }).catch((err) => {\n * console.log(`build error: ${err.message}`)\n * })\n * ```\n *\n * @public\n */\nexport async function build(options: {\n cwd: string\n emitDeclarationOnly?: boolean\n strict?: boolean\n tsconfig?: string\n}): Promise<void> {\n const {cwd, emitDeclarationOnly, strict = false, tsconfig: tsconfigOption} = options\n\n const pkg = await loadPkgWithReporting({cwd})\n const config = await loadConfig({cwd})\n const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'\n const ctx = await resolveBuildContext({config, cwd, emitDeclarationOnly, pkg, strict, 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 = createSpinner(taskName)\n\n try {\n const result = await handler.exec(ctx, task).toPromise()\n\n spinner.complete()\n ctx.logger.log()\n\n handler.complete(ctx, task, result)\n } catch (err) {\n spinner.error()\n\n if (err instanceof Error) {\n const RE_CWD = new RegExp(`${cwd}`, 'g')\n\n ctx.logger.error(err.message.replace(RE_CWD, '.'))\n ctx.logger.log()\n }\n\n handler.error(ctx, task, err)\n\n process.exit(1)\n }\n }\n}\n","import {statSync} from 'fs'\nimport prettyBytes from 'pretty-bytes'\n\nexport function getFilesize(file: string): string {\n const stats = statSync(file)\n\n return prettyBytes(stats.size)\n}\n","import fs from 'fs'\nimport path from 'path'\nimport chalk from 'chalk'\nimport treeify from 'treeify'\nimport {PkgExport, BuildContext} from './core'\nimport {getFilesize} from './getFilesize'\n\nexport function fileExists(file: string): boolean {\n try {\n fs.accessSync(file)\n\n return true\n } catch (_) {\n return false\n }\n}\n\nfunction getFileInfo(cwd: string, filePath: string) {\n const p = path.resolve(cwd, filePath)\n const exists = fileExists(p)\n const size = exists ? getFilesize(p) : undefined\n\n return {exists, size}\n}\n\nexport function printPackageTree(ctx: BuildContext): void {\n const {cwd, exports, logger, pkg} = ctx\n\n if (!exports) return\n\n logger.log(`${chalk.blue(pkg.name)}@${chalk.green(pkg.version)}`)\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const tree: Record<string, 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 = false, tsconfig: tsconfigOption} = options\n\n const pkg = await loadPkgWithReporting({cwd})\n const config = await loadConfig({cwd})\n const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'\n const ctx = await resolveBuildContext({config, cwd, pkg, strict, 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: {\n cwd: string\n strict?: boolean\n tsconfig?: string\n}): Promise<void> {\n const {cwd, strict = false, tsconfig: tsconfigOption} = 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 const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'\n\n return resolveBuildContext({config, cwd, pkg, strict, tsconfig})\n })\n )\n\n ctx$.subscribe(async (ctx) => {\n const watchTasks = resolveWatchTasks(ctx)\n\n for (const task of watchTasks) {\n const handler = watchTaskHandlers[task.type] as TaskHandler<WatchTask, unknown>\n const result$ = handler.exec(ctx, task)\n\n result$.subscribe({\n error: (err) => {\n ctx.logger.error(err)\n ctx.logger.log()\n\n process.exit(1)\n },\n next: (result) => {\n handler.complete(ctx, task, result)\n },\n complete: () => {\n ctx.logger.success(handler.name(ctx, task))\n ctx.logger.log()\n },\n })\n }\n })\n}\n"],"names":["MODULE_EXT","commonjs","esm","module","DEFAULT_BROWSERSLIST_QUERY","isRecord","value","Boolean","Array","isArray","CONFIG_FILE_NAMES","findConfigFile","cwd","pkgJsonPath","findConfig","pkgPath","path","dirname","fileName","configPath","resolve","exists","fileExists","filePath","stat","_","loadConfig","options","pkgUp","root","configFile","startsWith","esbuildOptions","extensions","unregister","globalThis","__DEV__","register","mod","require","default","resolveConfigProperty","prop","initialValue","defineConfig","configOptions","pkgSchema","z","object","type","optional","enum","name","string","version","license","bin","record","dependencies","devDependencies","peerDependencies","source","main","browser","types","exports","union","custom","val","test","import","node","browserslist","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","errors","exp","endsWith","push","_path","parseExports","strict","rootExport","_exported","extraExports","exportPath","exportEntry","Object","entries","assign","extraExport","length","loadTSConfig","tsconfigPath","ts","sys","readConfigFile","parseJsonConfigFileContent","config","resolveBuildTasks","ctx","_a","_b","_c","_d","_e","target","bundles","tasks","dtsTask","rollupTasks","addRollupTaskEntry","format","runtime","entry","buildId","importId","sourcePath","targetPath","emitDeclarationOnly","output","bundle","values","legacyExports","relativeTargetPath","replace","writeFileSync","printExtractMessages","messages","logger","warnings","filter","msg","logLevel","sourceFilePath","relative","messageId","cyan","yellow","sourceFileLine","sourceFileColumn","gray","text","formatHost","getCurrentDirectory","getNewLine","newLine","getCanonicalFileName","useCaseSensitiveFileNames","f","toLowerCase","buildTypes","outDir","tsconfig","compilerOptions","declaration","declarationDir","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","extractModuleBlocksFromTypes","tsOutDir","extractResult","compilerState","moduleBlocks","allProgramFiles","getSourceFiles","sourceFiles","sourceFile","includes","extractModuleBlocks","fileContent","ast","parser","typeScriptParser","body","print","LOG_LEVELS","info","off","warn","getExtractMessagesConfig","rules","ruleToLogLevel","key","defaultLevel","r","compilerMessageReporting","extractorMessageReporting","addToApiReportFile","tsdocMessageReporting","extractTypes","files","projectPath","sourceTypesPath","tmpPath","tsdocConfigFile","extractorConfig","ExtractorConfig","prepare","configObject","configObjectFullPath","packageJsonFullPath","extractorResult","Extractor","invoke","localBuild","showVerboseMessages","messageCallback","handled","typesPath","typesBuf","prettierConfig","prettier","resolveConfig","mkdirp","writeFile","filepath","rimraf","promisify","rimrafCallback","doExtract","task","results","rootDir","result","extract","some","_ctx","blue","exec","Observable","observer","then","next","complete","catch","_task","dtsWatchTask","resolveRollupConfig","buildTask","external","outputExt","minify","pathAliases","fromEntries","paths","baseUrl","exportIds","keys","sourcePaths","e","replacements","define","stringify","defaultPlugins","preventAssignment","arg","find","env","PKG_VERSION","alias","nodeResolve","preferBuiltins","esmExternals","json","esbuild","jsx","jsxFactory","jsxFragment","jsxImportSource","getBabelOutputPlugin","babelrc","plugins","presets","targets","terser","comments","_node","comment","userPlugins","rollup","inputOptions","context","id","importer","idPath","idParts","split","reduce","acc","treeshake","propertyReadSideEffects","outputOptions","chunkFileNames","compact","dir","entryFileNames","esModule","interop","minifyInternalExports","sourcemap","rollupTask","execPromise","_console","onwarn","warning","bind","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","createSpinner","startTime","Date","now","build","tsconfigOption","buildTasks","handler","taskName","spinner","toPromise","RE_CWD","RegExp","getFilesize","stats","statSync","prettyBytes","size","accessSync","getFileInfo","printPackageTree","tree","fileInfo","treeify","asTree","check","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","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/extractModuleBlocks.ts","../src/node/tasks/dts/getExtractMessagesConfig.ts","../src/node/tasks/dts/extractTypes.ts","../src/node/tasks/dts/doExtract.ts","../src/node/tasks/dts/dtsTask.ts","../src/node/tasks/dts/dtsWatchTask.ts","../src/node/tasks/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","/** @public */\nexport const DEFAULT_BROWSERSLIST_QUERY = [\n '> 0.2% and supports es6-module and supports es6-module-dynamic-import',\n 'not dead',\n 'not IE 11',\n 'maintained node versions',\n]\n","/** @internal */\nexport function isRecord(value: unknown): value is Record<string, unknown> {\n return Boolean(value) && !Array.isArray(value) && typeof value === 'object'\n}\n","import {stat} from 'fs/promises'\nimport path from 'path'\nimport findConfig from 'find-config'\n\nconst CONFIG_FILE_NAMES = [\n 'package.config.ts',\n 'package.config.js',\n 'package.config.cjs',\n 'package.config.mjs',\n]\n\nexport async function findConfigFile(cwd: string): Promise<string | undefined> {\n const pkgJsonPath = findConfig('package.json', {cwd})\n\n if (!pkgJsonPath) return undefined\n\n const pkgPath = path.dirname(pkgJsonPath)\n\n for (const fileName of CONFIG_FILE_NAMES) {\n const configPath = path.resolve(pkgPath, fileName)\n\n const exists = await fileExists(configPath)\n\n if (exists) {\n return configPath\n }\n }\n\n return undefined\n}\n\nasync function fileExists(filePath: string) {\n try {\n await stat(filePath)\n\n return true\n } catch (_) {\n return false\n }\n}\n","import path from 'path'\nimport {register} from 'esbuild-register/dist/node'\nimport pkgUp from 'pkg-up'\nimport {findConfigFile} from './findConfigFile'\nimport {PkgConfigOptions} from './types'\n\n/** @internal */\nexport async function loadConfig(options: {cwd: string}): Promise<PkgConfigOptions | undefined> {\n const {cwd} = options\n\n const pkgPath = await pkgUp({cwd})\n\n if (!pkgPath) return undefined\n\n const root = path.dirname(pkgPath)\n\n const configFile = await findConfigFile(root)\n\n if (!configFile) {\n return undefined\n }\n\n // Do not accept config files outside of the root\n if (!configFile.startsWith(cwd)) {\n return undefined\n }\n\n const esbuildOptions = {extensions: ['.js', '.mjs', '.ts']}\n\n const {unregister} = globalThis.__DEV__ ? {unregister: () => undefined} : register(esbuildOptions)\n\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const mod = require(configFile)\n\n unregister()\n\n return mod?.default || mod || undefined\n}\n","import {PkgConfigProperty, PkgConfigPropertyResolver} from './types'\n\n/** @internal */\nexport function resolveConfigProperty<T>(\n prop: PkgConfigProperty<T> | undefined,\n initialValue: T\n): T {\n if (!prop) return initialValue\n\n if (typeof prop === 'function') {\n return (prop as PkgConfigPropertyResolver<T>)(initialValue)\n }\n\n return prop\n}\n","import {PkgConfigOptions} from './types'\n\n/** @public */\nexport function defineConfig(configOptions: PkgConfigOptions): PkgConfigOptions {\n return configOptions\n}\n","import {z} from 'zod'\nimport {PackageJSON} from './types'\n\nconst pkgSchema = z.object({\n type: z.optional(z.enum(['commonjs', 'module'])),\n name: z.string(),\n version: z.string(),\n license: z.string(),\n bin: z.optional(z.record(z.string())),\n dependencies: z.optional(z.record(z.string())),\n devDependencies: z.optional(z.record(z.string())),\n peerDependencies: z.optional(z.record(z.string())),\n source: z.optional(z.string()),\n main: z.optional(z.string()),\n browser: z.optional(z.record(z.string())),\n module: z.optional(z.string()),\n types: z.optional(z.string()),\n exports: z.optional(\n z.record(\n z.union([\n z.custom<`./${string}.json`>((val) => /^\\.\\/.*\\.json$/.test(val as string)),\n z.object({\n types: z.optional(z.string()),\n source: z.string(),\n 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 ),\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 {PkgExport} from '../config'\nimport {MODULE_EXT} from '../constants'\nimport {PackageJSON} from './types'\n\nexport function validateExports(\n _exports: (PkgExport & {_path: string})[],\n options: {pkg: PackageJSON}\n): string[] {\n const {pkg} = options\n const ext = MODULE_EXT[pkg.type]\n\n const errors: string[] = []\n\n for (const exp of _exports) {\n if (exp.require && !exp.require.endsWith(ext.commonjs)) {\n errors.push(\n `package.json with \\`type: \"${pkg.type}\"\\` - \\`exports[\"${exp._path}\"].require\\` must end with \"${ext.commonjs}\"`\n )\n }\n\n if (exp.import && !exp.import.endsWith(ext.esm)) {\n errors.push(\n `package.json with \\`type: \"${pkg.type}\"\\` - \\`exports[\"${exp._path}\"].import\\` must end with \"${ext.esm}\"`\n )\n }\n }\n\n return errors\n}\n","import {PkgExport} from '../config'\nimport {isRecord} from '../isRecord'\nimport {PackageJSON} from './types'\nimport {validateExports} from './validateExports'\n\n/** @internal */\nexport function parseExports(options: {\n pkg: PackageJSON\n strict: boolean\n}): (PkgExport & {_path: string})[] {\n const {pkg, strict} = options\n\n const rootExport: PkgExport & {_path: string} = {\n _exported: true,\n _path: '.',\n types: pkg.types,\n source: pkg.source || '',\n browser: pkg.browser && {\n source: pkg.source || '',\n require: pkg.main && pkg.browser[pkg.main],\n import: pkg.module && pkg.browser[pkg.module],\n },\n import: pkg.module,\n require: pkg.main,\n default: pkg.module || pkg.main || '',\n }\n\n const extraExports: (PkgExport & {_path: string})[] = []\n\n const errors: string[] = []\n\n if (pkg.exports) {\n if (strict && !pkg.exports['./package.json']) {\n errors.push('package.json: `exports[\"./package.json\"] must be declared.')\n }\n\n for (const [exportPath, exportEntry] of Object.entries(pkg.exports)) {\n if (exportPath.endsWith('.json')) {\n if (exportPath === './package.json') {\n if (exportEntry !== './package.json') {\n errors.push('package.json: `exports[\"./package.json\"] must be \"./package.json\".')\n }\n }\n } else if (isRecord(exportEntry)) {\n if (exportPath === '.') {\n if (\n exportEntry.require &&\n rootExport.require &&\n exportEntry.require !== rootExport.require\n ) {\n errors.push(\n 'package.json: mismatch between \"main\" and \"exports.require\". These must be equal.'\n )\n }\n\n if (exportEntry.import && rootExport.import && exportEntry.import !== rootExport.import) {\n errors.push(\n 'package.json: mismatch between \"module\" and \"exports.import\" These must be equal.'\n )\n }\n\n if (exportEntry.types && rootExport.types && exportEntry.types !== rootExport.types) {\n errors.push(\n 'package.json: mismatch between \"types\" and \"exports.types\". These must be equal.'\n )\n }\n\n if (exportEntry.source && rootExport.source && exportEntry.source !== rootExport.source) {\n errors.push(\n 'package.json: mismatch between \"source\" and \"exports.source\". These must be equal.'\n )\n }\n\n Object.assign(rootExport, exportEntry)\n } else {\n const extraExport: PkgExport & {_path: string} = {\n _exported: true,\n _path: exportPath,\n ...exportEntry,\n }\n\n extraExports.push(extraExport)\n }\n } else {\n errors.push('package.json: exports must be an object')\n }\n }\n }\n\n const _exports = [rootExport, ...extraExports]\n\n errors.push(...validateExports(_exports, {pkg}))\n\n if (errors.length) {\n throw new Error('\\n- ' + errors.join('\\n- '))\n }\n\n return _exports\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 // Add dts task\n if (dtsTask.entries.length) {\n tasks.push(dtsTask)\n }\n\n if (!ctx.emitDeclarationOnly) {\n // Parse rollup:commonjs:* tasks\n for (const exp of exports) {\n const output = exp.require\n\n if (!output) continue\n\n addRollupTaskEntry('commonjs', ctx.runtime, {\n path: exp._path,\n source: exp.source,\n output,\n })\n }\n\n // Parse rollup:esm:* tasks\n for (const exp of exports) {\n const output = exp.import\n\n if (!output) continue\n\n addRollupTaskEntry('esm', ctx.runtime, {\n path: exp._path,\n source: exp.source,\n output,\n })\n }\n\n // Parse rollup:commonjs:browser tasks\n for (const exp of exports) {\n const output = exp.browser?.require\n\n if (!output) continue\n\n addRollupTaskEntry('commonjs', 'browser', {\n path: exp._path,\n source: exp.browser?.source || exp.source,\n output,\n })\n }\n\n // Parse rollup:esm:browser tasks\n for (const exp of exports) {\n const output = exp.browser?.import\n\n if (!output) continue\n\n addRollupTaskEntry('esm', 'browser', {\n path: exp._path,\n source: exp.browser?.source || exp.source,\n output,\n })\n }\n\n for (const bundle of bundles) {\n if (bundle.require) {\n addRollupTaskEntry('commonjs', bundle.runtime || ctx.runtime, {\n path: '__bundle__',\n source: bundle.source,\n output: bundle.require,\n })\n }\n\n if (bundle.import) {\n addRollupTaskEntry('commonjs', bundle.runtime || ctx.runtime, {\n path: '__bundle__',\n source: bundle.source,\n output: bundle.import,\n })\n }\n }\n\n tasks.push(...Object.values(rollupTasks))\n\n // Write legacy exports files\n if (config?.legacyExports) {\n for (const exp of exports) {\n if (exp._exported && exp._path !== '.') {\n const relativeTargetPath = (exp.browser?.import || exp.import || '').replace(\n /\\.[^/.]+$/,\n ''\n )\n\n if (relativeTargetPath) {\n fs.writeFileSync(\n path.resolve(cwd, `${exp._path}.js`),\n [`// AUTO-GENERATED – DO NOT EDIT`, `export * from '${relativeTargetPath}'`, ``].join(\n '\\n'\n )\n )\n }\n }\n }\n }\n }\n\n 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 // Ignore this warning:\n // > TS6307: <filename> is not in project file list.\n // > Projects must list all files or use an 'include' pattern.\n continue\n }\n\n logger.log(\n [\n `${chalk.cyan(sourceFilePath || '?')}`,\n `:${chalk.yellow(msg.sourceFileLine)}:${chalk.yellow(msg.sourceFileColumn)}`,\n ` - ${chalk.yellow('warning')} ${chalk.gray(msg.messageId)}\\n`,\n msg.text,\n '\\n',\n ].join('')\n )\n }\n\n const errors: ExtractorMessage[] = messages.filter((msg) => msg.logLevel === 'error')\n\n if (!warnings.length && errors.length) {\n logger.log('')\n }\n\n for (const msg of errors) {\n const sourceFilePath = msg.sourceFilePath && path.relative(cwd, msg.sourceFilePath)\n\n logger.log(\n [\n `${chalk.cyan(sourceFilePath || '?')}`,\n `:${chalk.yellow(msg.sourceFileLine)}:${chalk.yellow(msg.sourceFileColumn)}`,\n ` - ${chalk.red('error')} ${chalk.gray(msg.messageId)}\\n`,\n msg.text,\n '\\n',\n ].join('')\n )\n }\n\n if (errors.length) {\n process.exit(1)\n }\n}\n","/* 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 strict: boolean\n}): Promise<void> {\n const {outDir, tsconfig, strict = false} = options\n\n const compilerOptions: ts.CompilerOptions = {\n ...tsconfig.options,\n declaration: true,\n declarationDir: outDir,\n emitDeclarationOnly: true,\n noEmit: false,\n outDir,\n }\n\n const program = ts.createProgram(tsconfig.fileNames, compilerOptions)\n\n const emitResult = program.emit()\n\n const allDiagnostics = ts.getPreEmitDiagnostics(program).concat(emitResult.diagnostics)\n\n // 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 if (strict) {\n throw new Error('failed to compile TypeScript definitions')\n }\n }\n }\n}\n","import {ExtractorMessage} from '@microsoft/api-extractor'\n\n/** @internal */\nexport class DtsError extends Error {\n messages: ExtractorMessage[]\n\n constructor(message: string, messages: ExtractorMessage[]) {\n super(message)\n this.messages = messages\n }\n}\n","import path from 'path'\nimport {IConfigFile, IExtractorMessagesConfig} from '@microsoft/api-extractor'\n\nexport function createApiExtractorConfig(options: {\n distPath: string\n exportPath: string\n filePath: string\n messages: IExtractorMessagesConfig\n projectFolder: string\n mainEntryPointFilePath: string\n tsconfigPath: string\n}): IConfigFile {\n const {\n distPath,\n exportPath,\n filePath,\n messages,\n projectFolder,\n mainEntryPointFilePath,\n tsconfigPath,\n } = options\n\n return {\n apiReport: {\n enabled: false,\n reportFileName: '<unscopedPackageName>.api.md',\n },\n // bundledPackages: [],\n compiler: {\n tsconfigFilePath: tsconfigPath,\n },\n docModel: {\n enabled: false,\n apiJsonFilePath: path.resolve(distPath, `${exportPath}.api.json`),\n },\n dtsRollup: {\n enabled: true,\n untrimmedFilePath: path.resolve(distPath, filePath),\n // betaTrimmedFilePath: path.resolve(distPath, filePath.replace('.d.ts', '-beta.d.ts')),\n // publicTrimmedFilePath: path.resolve(distPath, filePath.replace('.d.ts', '-public.d.ts')),\n },\n tsdocMetadata: {\n enabled: false,\n },\n messages,\n mainEntryPointFilePath,\n projectFolder,\n }\n}\n","import {readFile} from 'fs/promises'\nimport {TSDocConfigFile} from '@microsoft/tsdoc-config'\nimport {parse} from 'jsonc-parser'\n\n/** @public */\nexport interface TSDocCustomTag {\n name: string\n syntaxKind: 'block' | 'modifier'\n allowMultiple?: boolean\n}\n\n/** @internal */\nexport async function createTSDocConfig(opts: {\n customTags: TSDocCustomTag[]\n}): Promise<TSDocConfigFile | undefined> {\n const {customTags} = opts\n\n if (customTags.length === 0) {\n return undefined\n }\n\n const tsDocBaseBuf = await readFile(\n require.resolve('@microsoft/api-extractor/extends/tsdoc-base.json')\n )\n\n // Include the definitions that are required for API Extractor\n // extends: ['@microsoft/api-extractor/extends/tsdoc-base.json'],\n const tsDocBaseConfig = parse(tsDocBaseBuf.toString())\n\n // Define custom tags and specify how they should be parsed\n const tagDefinitions = (tsDocBaseConfig.tagDefinitions || []).concat(\n customTags.map((t) => ({\n tagName: `@${t.name}`,\n syntaxKind: t.syntaxKind,\n allowMultiple: t.allowMultiple,\n }))\n )\n\n // Indicate that custom tags are supported by your tooling.\n // (Without this, warnings may be reported saying that a tag is unsupported.)\n const supportForTags = {...tsDocBaseConfig.supportForTags}\n\n for (const customTag of customTags) {\n supportForTags[`@${customTag.name}`] = true\n }\n\n return TSDocConfigFile.loadFromObject({\n ...tsDocBaseConfig,\n noStandardTags: false,\n tagDefinitions,\n supportForTags,\n })\n}\n","import type {File} from '@babel/types'\nimport {ExtractorResult} from '@microsoft/api-extractor'\nimport {parse, print} from 'recast'\nimport typeScriptParser from 'recast/parsers/typescript'\nimport {Program} from 'typescript'\n\n/**\n * A workaround to find all module blocks in extract TS files.\n * @internal\n * */\nexport async function extractModuleBlocksFromTypes({\n tsOutDir,\n extractResult,\n}: {\n tsOutDir: string\n extractResult: ExtractorResult\n}): Promise<string[]> {\n const program = extractResult.compilerState.program as Program\n const moduleBlocks: string[] = []\n\n // all program files, including node_modules\n const allProgramFiles = [...program.getSourceFiles()]\n\n // just our compiled files used in the program\n const sourceFiles = allProgramFiles.filter((sourceFile) => sourceFile.fileName.includes(tsOutDir))\n\n for (const sourceFile of sourceFiles) {\n if (sourceFile.text.includes('declare module')) {\n moduleBlocks.push(...extractModuleBlocks(sourceFile.text))\n }\n }\n\n return moduleBlocks\n}\n\n/** @internal */\nexport function extractModuleBlocks(fileContent: string): string[] {\n const ast = parse(fileContent, {\n parser: typeScriptParser,\n }) as File\n\n return ast.program.body\n .filter((node) => node.type === 'TSModuleDeclaration')\n .map((node) => print(node).code)\n}\n","import {ExtractorLogLevel, IExtractorMessagesConfig} from '@microsoft/api-extractor'\nimport {PkgRuleLevel, PkgConfigOptions} from '../../core'\n\nconst LOG_LEVELS: Record<PkgRuleLevel, ExtractorLogLevel> = {\n error: 'error' as ExtractorLogLevel.Error,\n info: 'info' as ExtractorLogLevel.Info,\n off: 'none' as ExtractorLogLevel.None,\n warn: 'warning' as ExtractorLogLevel.Warning,\n}\n\n/** @internal */\nexport function getExtractMessagesConfig(options: {\n rules: NonNullable<PkgConfigOptions['extract']>['rules']\n}): IExtractorMessagesConfig {\n const {rules} = options\n\n function ruleToLogLevel(\n key: keyof NonNullable<NonNullable<PkgConfigOptions['extract']>['rules']>,\n defaultLevel?: ExtractorLogLevel\n ) {\n const r = rules?.[key]\n\n return (r ? LOG_LEVELS[r] : defaultLevel || 'warning') as ExtractorLogLevel\n }\n\n return {\n compilerMessageReporting: {\n default: {\n logLevel: 'warning' as ExtractorLogLevel,\n },\n },\n\n extractorMessageReporting: {\n default: {\n logLevel: 'warning' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n\n 'ae-forgotten-export': {\n logLevel: ruleToLogLevel('ae-forgotten-export', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-incompatible-release-tags': {\n logLevel: ruleToLogLevel('ae-incompatible-release-tags', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-internal-missing-underscore': {\n logLevel: ruleToLogLevel('ae-internal-missing-underscore'),\n addToApiReportFile: false,\n },\n\n 'ae-missing-release-tag': {\n logLevel: ruleToLogLevel('ae-missing-release-tag', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-wrong-input-file-type': {\n logLevel: 'none' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n },\n\n tsdocMessageReporting: {\n default: {\n logLevel: 'warning' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n\n 'tsdoc-link-tag-unescaped-text': {\n logLevel: ruleToLogLevel('tsdoc-link-tag-unescaped-text', 'warning' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'tsdoc-undefined-tag': {\n logLevel: ruleToLogLevel('tsdoc-undefined-tag', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'tsdoc-unsupported-tag': {\n logLevel: ruleToLogLevel('tsdoc-unsupported-tag', 'none' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n },\n }\n}\n","import fs from 'fs/promises'\nimport path from 'path'\nimport {\n Extractor,\n ExtractorConfig,\n ExtractorMessage,\n ExtractorResult,\n} from '@microsoft/api-extractor'\nimport mkdirp from 'mkdirp'\nimport prettier from 'prettier'\nimport {PkgConfigOptions, BuildFile} from '../../core'\nimport {createApiExtractorConfig} from './createApiExtractorConfig'\nimport {createTSDocConfig} from './createTSDocConfig'\nimport {extractModuleBlocksFromTypes} from './extractModuleBlocks'\nimport {getExtractMessagesConfig} from './getExtractMessagesConfig'\n\nexport async function extractTypes(options: {\n customTags: NonNullable<PkgConfigOptions['extract']>['customTags']\n cwd: string\n distPath: string\n exportPath: string\n filePath: string\n files: BuildFile[]\n projectPath: string\n rules?: NonNullable<PkgConfigOptions['extract']>['rules']\n sourceTypesPath: string\n tmpPath: string\n tsconfigPath: string\n}): Promise<{extractorResult: ExtractorResult; messages: ExtractorMessage[]}> {\n const {\n customTags,\n distPath,\n exportPath,\n files,\n filePath,\n projectPath,\n rules,\n sourceTypesPath,\n tmpPath,\n tsconfigPath,\n } = options\n\n const tsdocConfigFile = await createTSDocConfig({\n customTags: customTags || [],\n })\n\n const extractorConfig: ExtractorConfig = ExtractorConfig.prepare({\n configObject: createApiExtractorConfig({\n distPath,\n exportPath,\n filePath,\n messages: getExtractMessagesConfig({rules}),\n projectFolder: projectPath,\n mainEntryPointFilePath: sourceTypesPath,\n tsconfigPath,\n }),\n configObjectFullPath: undefined,\n tsdocConfigFile,\n packageJsonFullPath: path.resolve(projectPath, 'package.json'),\n })\n\n const messages: ExtractorMessage[] = []\n\n // Invoke API Extractor\n const extractorResult = Extractor.invoke(extractorConfig, {\n // Equivalent to the \"--local\" command-line parameter\n localBuild: true,\n // Equivalent to the \"--verbose\" command-line parameter\n showVerboseMessages: true,\n // handle messages\n messageCallback(message: ExtractorMessage) {\n messages.push(message)\n message.handled = true\n },\n })\n\n const typesPath = path.resolve(distPath, filePath)\n const typesBuf = await fs.readFile(typesPath)\n const prettierConfig = await prettier.resolveConfig(typesPath)\n\n await mkdirp(path.dirname(typesPath))\n\n const moduleBlocks = await extractModuleBlocksFromTypes({\n extractResult: extractorResult,\n tsOutDir: tmpPath,\n })\n\n const code = [typesBuf.toString(), ...moduleBlocks].join('\\n\\n')\n\n await fs.writeFile(\n typesPath,\n prettier.format(code, {\n ...prettierConfig,\n filepath: typesPath,\n })\n )\n\n // Add to `files` in context\n files.push({\n type: 'types',\n path: typesPath,\n })\n\n return {extractorResult, messages}\n}\n","import path from 'path'\nimport {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, strict, ts} = ctx\n\n if (!ts.config || !ts.configPath) {\n return {type: 'dts', messages: [], results: []}\n }\n\n const {outDir, rootDir = cwd} = ts.config.options\n\n if (!outDir) {\n throw new Error('tsconfig.json is missing `compilerOptions.outDir`')\n }\n\n const tmpPath = path.resolve(outDir, '__tmp__')\n\n await buildTypes({cwd, outDir: tmpPath, strict, tsconfig: ts.config})\n const messages: ExtractorMessage[] = []\n\n const results: {sourcePath: string; filePath: string}[] = []\n\n for (const entry of task.entries) {\n const exportPath = entry.exportPath === '.' ? './index' : entry.exportPath\n\n const sourceTypesPath = path.resolve(\n tmpPath,\n path.relative(rootDir, path.resolve(cwd, entry.sourcePath)).replace(/\\.ts$/, '.d.ts')\n )\n\n const targetPath = path.resolve(cwd, entry.targetPath)\n const filePath = path.relative(outDir, targetPath)\n const result = await extractTypes({\n customTags: config?.extract?.customTags,\n cwd,\n distPath: outDir,\n exportPath,\n files,\n filePath: filePath,\n projectPath: cwd,\n rules: config?.extract?.rules,\n sourceTypesPath: sourceTypesPath,\n tmpPath,\n tsconfigPath: path.resolve(cwd, ts.configPath || 'tsconfig.json'),\n })\n\n messages.push(...result.messages)\n\n if (result.messages.some((msg) => msg.logLevel === 'error')) {\n await rimraf(tmpPath)\n\n throw new DtsError('encountered errors when extracting types', result.messages)\n }\n\n results.push({sourcePath: path.resolve(cwd, entry.sourcePath), filePath: targetPath})\n }\n\n await rimraf(tmpPath)\n\n return {type: 'dts', messages, results}\n}\n","import chalk from 'chalk'\nimport {Observable} from 'rxjs'\nimport {printExtractMessages} from '../../printExtractMessages'\nimport {TaskHandler} from '../types'\nimport {doExtract} from './doExtract'\nimport {DtsError} from './DtsError'\nimport {DtsResult, DtsTask} from './types'\n\n/** @internal */\nexport const dtsTask: TaskHandler<DtsTask, DtsResult> = {\n name: (_ctx, task) =>\n [\n `build type definitions`,\n ...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 terser from '@rollup/plugin-terser'\nimport {InputOptions, OutputOptions, Plugin} from 'rollup'\nimport esbuild from 'rollup-plugin-esbuild'\nimport {\n BuildContext,\n DEFAULT_BROWSERSLIST_QUERY,\n MODULE_EXT,\n resolveConfigProperty,\n} 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 const defaultPlugins = [\n replace({\n preventAssignment: true,\n values: {\n ...(pkg.name === '@sanity/pkg-utils'\n ? {...replacements}\n : {\n 'process.env.PKG_FILE_PATH': (arg) => {\n const sourcePath = './' + path.relative(cwd, arg)\n const entry = entries.find((e) => e.source === sourcePath)\n\n if (!entry) {\n // eslint-disable-next-line no-console\n console.error(`could not find source entry: ${sourcePath}`)\n\n return 'null'\n }\n\n return JSON.stringify(\n path.relative(\n cwd,\n path.resolve(outDir, entry.name + (outputExt === '.esm.js' ? '.js' : outputExt))\n )\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 || DEFAULT_BROWSERSLIST_QUERY}]],\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 ].filter(Boolean) as Plugin[]\n\n const userPlugins = config?.rollup?.plugins\n\n const plugins = Array.isArray(userPlugins)\n ? defaultPlugins.concat(userPlugins)\n : resolveConfigProperty(config?.rollup?.plugins, defaultPlugins)\n\n return {\n inputOptions: {\n context: cwd,\n\n external: (id, importer) => {\n // Check if the id is a self-referencing import\n if (exportIds?.includes(id)) {\n return true\n }\n\n // Check if the id is a file path that points to an exported source file\n if (importer && (id.startsWith('.') || id.startsWith('/'))) {\n const idPath = path.resolve(path.dirname(importer), id)\n\n if (sourcePaths?.includes(idPath)) {\n logger.warn(\n `detected self-referencing import – treating as external: ${path.relative(\n cwd,\n idPath\n )}`\n )\n\n return true\n }\n }\n\n const idParts = id.split('/')\n\n const name = idParts[0].startsWith('@') ? `${idParts[0]}/${idParts[1]}` : idParts[0]\n\n if (name && external.includes(name)) {\n return true\n }\n\n return false\n },\n\n input: entries.reduce<{[entryAlias: string]: string}>((acc, entry) => {\n return {...acc, [entry.name]: entry.source}\n }, {}),\n\n plugins,\n\n treeshake: {\n propertyReadSideEffects: false,\n },\n },\n outputOptions: {\n chunkFileNames: () => `_chunks/[name]-[hash]${outputExt}`,\n compact: minify,\n dir: outDir,\n entryFileNames: () => (outputExt === '.esm.js' ? `[name].js` : `[name]${outputExt}`),\n esModule: true,\n format,\n interop: 'compat',\n minifyInternalExports: minify,\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 _console = {\n log: console.log,\n warn: console.warn,\n error: console.error,\n }\n\n const {inputOptions, outputOptions} = resolveRollupConfig(ctx, task)\n\n console.log = () => undefined\n console.warn = () => undefined\n console.error = () => undefined\n\n // Create bundle\n const bundle = await rollup({\n ...inputOptions,\n onwarn(warning) {\n if (!warning.code || !['CIRCULAR_DEPENDENCY'].includes(warning.code)) {\n // rollupWarn(warning)\n _console.warn.bind(console)(chalk.yellow('warn '), warning.message)\n }\n },\n })\n\n // generate output specific code in-memory\n // you can call this function multiple times on the same bundle object\n const {output} = await bundle.generate(outputOptions)\n\n console.log = _console.log\n console.warn = _console.warn\n console.error = _console.error\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 {dtsTask, dtsWatchTask} from './dts'\nimport {rollupTask, rollupWatchTask} from './rollup'\nimport {BuildTaskHandlers, WatchTaskHandlers} from './types'\n\nexport * from './types'\nexport * from './dts'\nexport * from './rollup'\n\n/** @internal */\nexport const buildTaskHandlers: BuildTaskHandlers = {\n 'build:dts': dtsTask,\n 'build:js': rollupTask,\n}\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 DEFAULT_BROWSERSLIST_QUERY,\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 emitDeclarationOnly?: boolean\n pkg: PackageJSON\n strict: boolean\n tsconfig: string\n}): Promise<BuildContext> {\n const {config, cwd, emitDeclarationOnly = false, pkg, strict, tsconfig: tsconfigPath} = options\n const logger = createLogger()\n const tsconfig = await loadTSConfig({cwd, tsconfigPath})\n const targetVersions = resolveBrowserslistVersions(pkg.browserslist || DEFAULT_BROWSERSLIST_QUERY)\n const nodeTarget = resolveNodeTarget(targetVersions)\n const webTarget = resolveBrowserTarget(targetVersions)\n\n if (!nodeTarget) {\n throw new Error('no matching `node` target')\n }\n\n if (!webTarget) {\n throw new Error('no matching `web` target')\n }\n\n const target: Record<PkgRuntime, string[]> = {\n '*': webTarget.concat(nodeTarget),\n browser: webTarget,\n node: nodeTarget,\n }\n\n const parsedExports = parseExports({pkg, strict}).reduce<PkgExports>((acc, x) => {\n const {_path: exportPath, ...exportEntry} = x\n\n return {...acc, [exportPath]: exportEntry}\n }, {})\n\n const exports = resolveConfigProperty(config?.exports, parsedExports)\n\n const parsedExternal = [\n ...(pkg.dependencies ? Object.keys(pkg.dependencies) : []),\n ...(pkg.peerDependencies ? Object.keys(pkg.peerDependencies) : []),\n ]\n\n // Merge externals if an array is provided, replace if it's a function\n const external =\n config && Array.isArray(config.external)\n ? [...parsedExternal, ...config.external]\n : resolveConfigProperty(config?.external, parsedExternal)\n\n const outputPaths = Object.values(exports)\n .flatMap((exportEntry) => {\n return [\n exportEntry.import,\n exportEntry.require,\n exportEntry.browser?.import,\n exportEntry.browser?.require,\n exportEntry.node?.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 emitDeclarationOnly,\n exports,\n external,\n files: [],\n logger,\n pkg,\n runtime: config?.runtime ?? '*',\n strict,\n target,\n ts: {\n config: tsconfig,\n configPath: tsconfigPath,\n },\n }\n\n return ctx\n}\n","/* eslint-disable no-console */\n\nimport chalk from 'chalk'\n\nexport function createSpinner(msg: string): {complete: () => void; error: () => void} {\n const startTime = Date.now()\n\n console.log(` ${msg}`)\n\n return {\n complete: () => {\n console.log(`${chalk.green('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 {createSpinner} from './spinner'\nimport {BuildTask, TaskHandler, buildTaskHandlers} from './tasks'\n\n/**\n * Build the distribution files of a npm package.\n *\n * @example\n * ```ts\n * import {build} from '@sanity/pkg-utils'\n *\n * build({\n * cwd: process.cwd(),\n * tsconfig: 'tsconfig.dist.json,\n * }).then(() => {\n * console.log('successfully built')\n * }).catch((err) => {\n * console.log(`build error: ${err.message}`)\n * })\n * ```\n *\n * @public\n */\nexport async function build(options: {\n cwd: string\n emitDeclarationOnly?: boolean\n strict?: boolean\n tsconfig?: string\n}): Promise<void> {\n const {cwd, emitDeclarationOnly, strict = false, tsconfig: tsconfigOption} = options\n\n const pkg = await loadPkgWithReporting({cwd})\n const config = await loadConfig({cwd})\n const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'\n const ctx = await resolveBuildContext({config, cwd, emitDeclarationOnly, pkg, strict, 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 = createSpinner(taskName)\n\n try {\n const result = await handler.exec(ctx, task).toPromise()\n\n spinner.complete()\n ctx.logger.log()\n\n handler.complete(ctx, task, result)\n } catch (err) {\n spinner.error()\n\n if (err instanceof Error) {\n const RE_CWD = new RegExp(`${cwd}`, 'g')\n\n ctx.logger.error(err.message.replace(RE_CWD, '.'))\n ctx.logger.log()\n }\n\n handler.error(ctx, task, err)\n\n process.exit(1)\n }\n }\n}\n","import {statSync} from 'fs'\nimport prettyBytes from 'pretty-bytes'\n\nexport function getFilesize(file: string): string {\n const stats = statSync(file)\n\n return prettyBytes(stats.size)\n}\n","import fs from 'fs'\nimport path from 'path'\nimport chalk from 'chalk'\nimport treeify from 'treeify'\nimport {PkgExport, BuildContext} from './core'\nimport {getFilesize} from './getFilesize'\n\nexport function fileExists(file: string): boolean {\n try {\n fs.accessSync(file)\n\n return true\n } catch (_) {\n return false\n }\n}\n\nfunction getFileInfo(cwd: string, filePath: string) {\n const p = path.resolve(cwd, filePath)\n const exists = fileExists(p)\n const size = exists ? getFilesize(p) : undefined\n\n return {exists, size}\n}\n\nexport function printPackageTree(ctx: BuildContext): void {\n const {cwd, exports, logger, pkg} = ctx\n\n if (!exports) return\n\n logger.log(`${chalk.blue(pkg.name)}@${chalk.green(pkg.version)}`)\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const tree: Record<string, 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 = false, tsconfig: tsconfigOption} = options\n\n const pkg = await loadPkgWithReporting({cwd})\n const config = await loadConfig({cwd})\n const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'\n const ctx = await resolveBuildContext({config, cwd, pkg, strict, 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: {\n cwd: string\n strict?: boolean\n tsconfig?: string\n}): Promise<void> {\n const {cwd, strict = false, tsconfig: tsconfigOption} = 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 const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'\n\n return resolveBuildContext({config, cwd, pkg, strict, tsconfig})\n })\n )\n\n ctx$.subscribe(async (ctx) => {\n const watchTasks = resolveWatchTasks(ctx)\n\n for (const task of watchTasks) {\n const handler = watchTaskHandlers[task.type] as TaskHandler<WatchTask, unknown>\n const result$ = handler.exec(ctx, task)\n\n result$.subscribe({\n error: (err) => {\n ctx.logger.error(err)\n ctx.logger.log()\n\n process.exit(1)\n },\n next: (result) => {\n handler.complete(ctx, task, result)\n },\n complete: () => {\n ctx.logger.success(handler.name(ctx, task))\n ctx.logger.log()\n },\n })\n }\n })\n}\n"],"names":["MODULE_EXT","commonjs","esm","module","DEFAULT_BROWSERSLIST_QUERY","isRecord","value","Boolean","Array","isArray","CONFIG_FILE_NAMES","findConfigFile","cwd","pkgJsonPath","findConfig","pkgPath","path","dirname","fileName","configPath","resolve","exists","fileExists","filePath","stat","_","loadConfig","options","pkgUp","root","configFile","startsWith","esbuildOptions","extensions","unregister","globalThis","__DEV__","register","mod","require","default","resolveConfigProperty","prop","initialValue","defineConfig","configOptions","pkgSchema","z","object","type","optional","enum","name","string","version","license","bin","record","dependencies","devDependencies","peerDependencies","source","main","browser","types","exports","union","custom","val","test","import","node","browserslist","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","errors","exp","endsWith","push","_path","parseExports","strict","rootExport","_exported","extraExports","exportPath","exportEntry","Object","entries","assign","extraExport","length","loadTSConfig","tsconfigPath","ts","sys","readConfigFile","parseJsonConfigFileContent","config","resolveBuildTasks","ctx","_a","_b","_c","_d","_e","target","bundles","tasks","dtsTask","rollupTasks","addRollupTaskEntry","format","runtime","entry","buildId","importId","sourcePath","targetPath","emitDeclarationOnly","output","bundle","values","legacyExports","relativeTargetPath","replace","writeFileSync","printExtractMessages","messages","logger","warnings","filter","msg","logLevel","sourceFilePath","relative","messageId","cyan","yellow","sourceFileLine","sourceFileColumn","gray","text","formatHost","getCurrentDirectory","getNewLine","newLine","getCanonicalFileName","useCaseSensitiveFileNames","f","toLowerCase","buildTypes","outDir","tsconfig","compilerOptions","declaration","declarationDir","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","extractModuleBlocksFromTypes","tsOutDir","extractResult","compilerState","moduleBlocks","allProgramFiles","getSourceFiles","sourceFiles","sourceFile","includes","extractModuleBlocks","fileContent","ast","parser","typeScriptParser","body","print","LOG_LEVELS","info","off","warn","getExtractMessagesConfig","rules","ruleToLogLevel","key","defaultLevel","r","compilerMessageReporting","extractorMessageReporting","addToApiReportFile","tsdocMessageReporting","extractTypes","files","projectPath","sourceTypesPath","tmpPath","tsdocConfigFile","extractorConfig","ExtractorConfig","prepare","configObject","configObjectFullPath","packageJsonFullPath","extractorResult","Extractor","invoke","localBuild","showVerboseMessages","messageCallback","handled","typesPath","typesBuf","prettierConfig","prettier","resolveConfig","mkdirp","writeFile","filepath","rimraf","promisify","rimrafCallback","doExtract","task","results","rootDir","result","extract","some","_ctx","blue","exec","Observable","observer","then","next","complete","catch","_task","dtsWatchTask","resolveRollupConfig","buildTask","external","outputExt","minify","pathAliases","fromEntries","paths","baseUrl","exportIds","keys","sourcePaths","e","replacements","define","stringify","defaultPlugins","preventAssignment","arg","find","env","PKG_VERSION","alias","nodeResolve","preferBuiltins","esmExternals","json","esbuild","jsx","jsxFactory","jsxFragment","jsxImportSource","getBabelOutputPlugin","babelrc","plugins","presets","targets","terser","comments","_node","comment","userPlugins","rollup","inputOptions","context","id","importer","idPath","idParts","split","reduce","acc","treeshake","propertyReadSideEffects","outputOptions","chunkFileNames","compact","dir","entryFileNames","esModule","interop","minifyInternalExports","sourcemap","rollupTask","execPromise","_console","onwarn","warning","bind","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","createSpinner","startTime","Date","now","build","tsconfigOption","buildTasks","handler","taskName","spinner","toPromise","RE_CWD","RegExp","getFilesize","stats","statSync","prettyBytes","size","accessSync","getFileInfo","printPackageTree","tree","fileInfo","treeify","asTree","check","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","packageJsonPath","subscribe","watchTasks","result$"],"mappings":"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"}
|