@sanity/pkg-utils 2.3.14 → 2.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/dist/_chunks/{build-bf3729c7.cjs → build-93e5df18.cjs} +3 -3
  2. package/dist/_chunks/{build-bf3729c7.cjs.map → build-93e5df18.cjs.map} +1 -1
  3. package/dist/_chunks/{buildAction-e721d08b.cjs → buildAction-ec6e1721.cjs} +2 -2
  4. package/dist/_chunks/{buildAction-e721d08b.cjs.map → buildAction-ec6e1721.cjs.map} +1 -1
  5. package/dist/_chunks/{check-332a2bb9.cjs → check-e47150c8.cjs} +2 -2
  6. package/dist/_chunks/{check-332a2bb9.cjs.map → check-e47150c8.cjs.map} +1 -1
  7. package/dist/_chunks/{checkAction-c39d7dbf.cjs → checkAction-a5e7c797.cjs} +2 -2
  8. package/dist/_chunks/{checkAction-c39d7dbf.cjs.map → checkAction-a5e7c797.cjs.map} +1 -1
  9. package/dist/_chunks/{consoleSpy-686c350b.cjs → consoleSpy-c7845903.cjs} +3 -3
  10. package/dist/_chunks/consoleSpy-c7845903.cjs.map +1 -0
  11. package/dist/_chunks/{index-c026daa9.cjs → index-e55646e0.cjs} +24 -6
  12. package/dist/_chunks/index-e55646e0.cjs.map +1 -0
  13. package/dist/_chunks/{watch-d7a9e8b7.cjs → watch-48f461bb.cjs} +3 -3
  14. package/dist/_chunks/{watch-d7a9e8b7.cjs.map → watch-48f461bb.cjs.map} +1 -1
  15. package/dist/_chunks/{watchAction-06f283b6.cjs → watchAction-a50ebb99.cjs} +2 -2
  16. package/dist/_chunks/{watchAction-06f283b6.cjs.map → watchAction-a50ebb99.cjs.map} +1 -1
  17. package/dist/cli.cjs +4 -4
  18. package/dist/index.cjs +5 -5
  19. package/dist/index.d.ts +5 -0
  20. package/dist/index.js +23 -6
  21. package/dist/index.js.map +1 -1
  22. package/package.json +4 -3
  23. package/src/node/core/config/types.ts +5 -0
  24. package/src/node/core/pkg/loadPkgWithReporting.ts +6 -2
  25. package/src/node/tasks/rollup/resolveRollupConfig.ts +10 -4
  26. package/src/node/tasks/rollup/rollupTask.ts +20 -0
  27. package/dist/_chunks/consoleSpy-686c350b.cjs.map +0 -1
  28. package/dist/_chunks/index-c026daa9.cjs.map +0 -1
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/node/core/config/defineConfig.ts","../src/node/fileExists.ts","../src/node/core/config/findConfigFile.ts","../src/node/core/config/loadConfig.ts","../src/node/core/config/resolveConfigProperty.ts","../src/node/core/defaults.ts","../src/node/core/isRecord.ts","../src/node/core/pkg/validatePkg.ts","../src/node/core/pkg/loadPkg.ts","../src/node/core/pkg/helpers.ts","../src/node/core/pkg/loadPkgWithReporting.ts","../src/node/core/pkg/validateExports.ts","../src/node/core/pkg/parseExports.ts","../src/node/core/pkg/pkgExt.ts","../src/node/core/template/createFromTemplate.ts","../src/node/core/template/define.ts","../src/node/core/ts/loadTSConfig.ts","../src/node/logger.ts","../src/node/core/findCommonPath.ts","../src/node/resolveBrowserslistVersions.ts","../src/node/resolveBrowserTarget.ts","../src/node/resolveNodeTarget.ts","../src/node/resolveBuildContext.ts","../src/node/resolveBuildTasks.ts","../src/node/spinner.ts","../src/node/printExtractMessages.ts","../src/node/tasks/dts/printDiagnostic.ts","../src/node/tasks/dts/buildTypes.ts","../src/node/tasks/dts/DtsError.ts","../src/node/tasks/dts/createApiExtractorConfig.ts","../src/node/tasks/dts/createTSDocConfig.ts","../src/node/tasks/dts/extractModuleBlocks.ts","../src/node/tasks/dts/getExtractMessagesConfig.ts","../src/node/tasks/dts/extractTypes.ts","../src/node/tasks/dts/doExtract.ts","../src/node/tasks/dts/dtsTask.ts","../src/node/tasks/dts/dtsWatchTask.ts","../src/node/tasks/node/reexportCjsTask.ts","../src/node/consoleSpy.ts","../src/node/tasks/rollup/resolveRollupConfig.ts","../src/node/tasks/rollup/rollupTask.ts","../src/node/tasks/rollup/rollupWatchTask.ts","../src/node/tasks/index.ts","../src/node/build.ts","../src/node/getFilesize.ts","../src/node/printPackageTree.ts","../src/node/check.ts","../src/node/isEmptyDirectory.ts","../src/node/templates/default/template.ts","../src/node/init.ts","../src/node/resolveWatchTasks.ts","../src/node/globFiles.ts","../src/node/watchFiles.ts","../src/node/watchConfigFiles.ts","../src/node/watch.ts"],"sourcesContent":["import {PkgConfigOptions} from './types'\n\n/** @public */\nexport function defineConfig(configOptions: PkgConfigOptions): PkgConfigOptions {\n return configOptions\n}\n","import {statSync} from 'fs'\n\n/** @internal */\nexport function fileExists(filePath: string): boolean {\n try {\n statSync(filePath)\n\n return true\n } catch (_) {\n return false\n }\n}\n","import findConfig from 'find-config'\nimport path from 'path'\n\nimport {fileExists} from '../../fileExists'\n\nconst CONFIG_FILE_NAMES = [\n 'package.config.ts',\n 'package.config.js',\n 'package.config.cjs',\n 'package.config.mjs',\n]\n\n/** @internal */\nexport function findConfigFile(cwd: string): 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 = fileExists(configPath)\n\n if (exists) {\n return configPath\n }\n }\n\n return undefined\n}\n","import {register} from 'esbuild-register/dist/node'\nimport path from 'path'\nimport pkgUp from 'pkg-up'\n\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","/** @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 {z} from 'zod'\n\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 import: z.optional(z.string()),\n require: z.optional(z.string()),\n }),\n ),\n node: z.optional(\n z.object({\n source: z.optional(z.string()),\n module: z.optional(z.string()),\n import: z.optional(z.string()),\n require: z.optional(z.string()),\n }),\n ),\n module: z.optional(z.string()),\n import: z.optional(z.string()),\n require: z.optional(z.string()),\n default: z.string(),\n }),\n ]),\n ),\n ),\n browserslist: z.optional(z.array(z.string())),\n})\n\nexport function validatePkg(input: unknown): PackageJSON {\n return pkgSchema.parse(input)\n}\n","import fs from 'fs/promises'\nimport pkgUp from 'pkg-up'\n\nimport {PackageJSON} from './types'\nimport {validatePkg} from './validatePkg'\n\n/** @internal */\nexport async function loadPkg(options: {cwd: string}): Promise<PackageJSON> {\n const {cwd} = options\n\n const pkgPath = await pkgUp({cwd})\n\n if (!pkgPath) throw new Error('no package.json found')\n\n const buf = await fs.readFile(pkgPath)\n\n const raw = JSON.parse(buf.toString())\n\n validatePkg(raw)\n\n return raw\n}\n","/** @internal */\nexport function assertFirst<T>(a: T, arr: T[]): boolean {\n const aIdx = arr.indexOf(a)\n\n // if not found, then we don't care\n if (aIdx === -1) {\n return true\n }\n\n return aIdx === 0\n}\n\n/** @internal */\nexport function assertLast<T>(a: T, arr: T[]): boolean {\n const aIdx = arr.indexOf(a)\n\n // if not found, then we don't care\n if (aIdx === -1) {\n return true\n }\n\n return aIdx === arr.length - 1\n}\n\n/** @internal */\nexport function assertOrder<T>(a: T, b: T, arr: T[]): boolean {\n const aIdx = arr.indexOf(a)\n const bIdx = arr.indexOf(b)\n\n // if either is not found, then we don't care\n if (aIdx === -1 || bIdx === -1) {\n return true\n }\n\n return aIdx < bIdx\n}\n","import chalk from 'chalk'\nimport {ZodError} from 'zod'\n\nimport {Logger} from '../../logger'\nimport {assertFirst, assertLast, assertOrder} from './helpers'\nimport {loadPkg} from './loadPkg'\nimport {PackageJSON} from './types'\n\n/** @internal */\nexport async function loadPkgWithReporting(options: {\n cwd: string\n logger: Logger\n}): Promise<PackageJSON> {\n const {cwd, logger} = options\n\n try {\n const pkg = await loadPkg({cwd})\n let shouldError = false\n\n // validate exports\n if (pkg.exports) {\n const _exports = Object.entries(pkg.exports)\n\n for (const [expPath, exp] of _exports) {\n if (typeof exp === 'string') {\n continue\n }\n\n const keys = Object.keys(exp)\n\n if (!assertFirst('types', keys)) {\n shouldError = true\n logger.error(`exports[\"${expPath}\"]: the \\`types\\` property should be the first property`)\n }\n\n if (exp.node) {\n const nodeKeys = Object.keys(exp.node)\n\n if (!assertOrder('module', 'import', nodeKeys)) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node.module\\` property should come before the \\`node.import\\` property`,\n )\n }\n\n if (!assertOrder('import', 'require', nodeKeys)) {\n logger.warn(\n `exports[\"${expPath}\"]: the \\`node.import\\` property should come before the \\`node.require\\` property`,\n )\n }\n\n if (!assertOrder('module', 'require', nodeKeys)) {\n logger.warn(\n `exports[\"${expPath}\"]: the \\`node.module\\` property should come before \\`node.require\\` property`,\n )\n }\n\n if (exp.import && exp.node.import && !assertOrder('node', 'import', keys)) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node\\` property should come before the \\`import\\` property`,\n )\n }\n\n if (exp.module && exp.node.module && !assertOrder('node', 'module', keys)) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node\\` property should come before the \\`module\\` property`,\n )\n }\n\n // If there's a `node.import` property but not a `node.require` we can assume `node.import` is wrapping `import` and `node.module` should be added for bundlers\n if (exp.node.import && !exp.node.require && !exp.node.module) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node.module\\` property should be added so bundlers don't unintentionally try to bundle \\`node.import\\``,\n )\n }\n\n if (\n exp.node.import &&\n !exp.node.require &&\n exp.node.module &&\n exp.import &&\n exp.node.module !== exp.import\n ) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node.module\\` property should match \\`import\\``,\n )\n }\n\n if (exp.require && exp.node.require && exp.require === exp.node.require) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node.require\\` property isn't necessary as it's identical to \\`require\\``,\n )\n } else if (exp.require && exp.node.require && !assertOrder('node', 'require', keys)) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node\\` property should come before the \\`require\\` property`,\n )\n }\n } else {\n if (!assertOrder('import', 'require', keys)) {\n logger.warn(\n `exports[\"${expPath}\"]: the \\`import\\` property should come before the \\`require\\` property`,\n )\n }\n\n if (!assertOrder('module', 'import', keys)) {\n logger.warn(\n `exports[\"${expPath}\"]: the \\`module\\` property should come before \\`import\\` property`,\n )\n }\n }\n\n if (!assertLast('default', keys)) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`default\\` property should be the last property`,\n )\n }\n }\n }\n\n if (shouldError) {\n process.exit(1)\n }\n\n return pkg\n } catch (err) {\n if (err instanceof ZodError) {\n for (const issue of err.issues) {\n if (issue.code === 'invalid_type') {\n logger.error(\n [\n `\\`${formatPath(issue.path)}\\` `,\n `in \\`./package.json\\` must be of type ${chalk.magenta(issue.expected)} `,\n `(received ${chalk.magenta(issue.received)})`,\n ].join(''),\n )\n continue\n }\n\n logger.error(issue)\n }\n } else {\n logger.error(err)\n }\n\n process.exit(1)\n }\n}\n\nfunction formatPath(segments: Array<string | number>) {\n return segments\n .map((s, idx) => {\n if (idx === 0) return s\n\n if (typeof s === 'number') {\n return `[${s}]`\n }\n\n if (s.startsWith('.')) {\n return `[\"${s}\"]`\n }\n\n return `.${s}`\n })\n .join('')\n}\n","import {PkgExport} from '../config'\nimport {PkgExtMap} from './pkgExt'\nimport {PackageJSON} from './types'\n\nexport function validateExports(\n _exports: (PkgExport & {_path: string})[],\n options: {extMap: PkgExtMap; pkg: PackageJSON},\n): string[] {\n const {extMap, pkg} = options\n const ext = extMap[pkg.type || 'commonjs']\n\n const errors: string[] = []\n\n for (const exp of _exports) {\n if (exp.require && !exp.require.endsWith(ext.commonjs)) {\n errors.push(\n `package.json with \\`type: \"${pkg.type}\"\\` - \\`exports[\"${exp._path}\"].require\\` must end with \"${ext.commonjs}\"`,\n )\n }\n\n if (exp.import && !exp.import.endsWith(ext.esm)) {\n errors.push(\n `package.json with \\`type: \"${pkg.type}\"\\` - \\`exports[\"${exp._path}\"].import\\` must end with \"${ext.esm}\"`,\n )\n }\n }\n\n return errors\n}\n","import {PkgExport} from '../config'\nimport {isRecord} from '../isRecord'\nimport {PkgExtMap} from './pkgExt'\nimport {PackageJSON} from './types'\nimport {validateExports} from './validateExports'\n\n/** @internal */\nexport function parseExports(options: {\n extMap: PkgExtMap\n pkg: PackageJSON\n strict: boolean\n}): (PkgExport & {_path: string})[] {\n const {extMap, pkg, strict} = options\n\n const rootExport: PkgExport & {_path: string} = {\n _exported: true,\n _path: '.',\n types: pkg.types,\n source: pkg.source || '',\n browser: pkg.browser && {\n source: pkg.source || '',\n require: pkg.main && pkg.browser[pkg.main],\n import: pkg.module && pkg.browser[pkg.module],\n },\n require: pkg.main,\n import: pkg.module,\n default: pkg.module || pkg.main || '',\n }\n\n const extraExports: (PkgExport & {_path: string})[] = []\n\n const errors: string[] = []\n\n if (pkg.exports) {\n if (strict && !pkg.exports['./package.json']) {\n errors.push('package.json: `exports[\"./package.json\"] must be declared.')\n }\n\n for (const [exportPath, exportEntry] of Object.entries(pkg.exports)) {\n if (exportPath.endsWith('.json')) {\n if (exportPath === './package.json') {\n if (exportEntry !== './package.json') {\n errors.push('package.json: `exports[\"./package.json\"] must be \"./package.json\".')\n }\n }\n } else if (isRecord(exportEntry)) {\n if (exportPath === '.') {\n if (\n exportEntry.require &&\n rootExport.require &&\n exportEntry.require !== rootExport.require\n ) {\n errors.push(\n 'package.json: mismatch between \"main\" and \"exports.require\". These must be equal.',\n )\n }\n\n if (exportEntry.import && rootExport.import && exportEntry.import !== rootExport.import) {\n errors.push(\n 'package.json: mismatch between \"module\" and \"exports.import\" These must be equal.',\n )\n }\n\n if (exportEntry.types && rootExport.types && exportEntry.types !== rootExport.types) {\n errors.push(\n 'package.json: mismatch between \"types\" and \"exports.types\". These must be equal.',\n )\n }\n\n if (exportEntry.source && rootExport.source && exportEntry.source !== rootExport.source) {\n errors.push(\n 'package.json: mismatch between \"source\" and \"exports.source\". These must be equal.',\n )\n }\n\n Object.assign(rootExport, exportEntry)\n } else {\n const extraExport: PkgExport & {_path: string} = {\n _exported: true,\n _path: exportPath,\n ...exportEntry,\n }\n\n extraExports.push(extraExport)\n }\n } else {\n errors.push('package.json: exports must be an object')\n }\n }\n }\n\n const _exports = [rootExport, ...extraExports]\n\n errors.push(...validateExports(_exports, {extMap, pkg}))\n\n if (errors.length) {\n throw new Error('\\n- ' + errors.join('\\n- '))\n }\n\n return _exports\n}\n","/** @internal */\nexport interface PkgExtMap {\n commonjs: {commonjs: string; esm: string}\n module: {commonjs: string; esm: string}\n}\n\n/** @internal */\nexport const DEFAULT_PKG_EXT_MAP: PkgExtMap = {\n // pkg.type: \"commonjs\"\n commonjs: {\n commonjs: '.js',\n esm: '.mjs',\n },\n\n // pkg.type: \"module\"\n module: {\n commonjs: '.cjs',\n esm: '.js',\n },\n}\n\n/** @internal */\nexport function getPkgExtMap(options: {legacyExports: boolean}): PkgExtMap {\n const {legacyExports} = options\n\n const ret = {...DEFAULT_PKG_EXT_MAP}\n\n // Fall back to legacy file extensions for package.json with `\"type\": \"commonjs\"`\n // NOTE: Not supported by Node 14+ and will be removed in a future version\n if (legacyExports) {\n ret['commonjs'] = {\n commonjs: '.js',\n esm: '.esm.js',\n }\n }\n\n return ret\n}\n","import {writeFile} from 'fs/promises'\nimport {mkdirp} from 'mkdirp'\nimport {dirname, relative, resolve} from 'path'\nimport prompts from 'prompts'\n\nimport {Logger} from '../../logger'\nimport {PkgTemplate} from './types'\n\nconst promptsTypes = {\n string: 'text' as const,\n}\n\n/** @internal */\nexport async function createFromTemplate(options: {\n cwd: string\n logger: Logger\n packagePath: string\n template: PkgTemplate\n}): Promise<void> {\n const {cwd, logger, packagePath, template: templateOrResolver} = options\n\n const template =\n typeof templateOrResolver === 'function'\n ? await templateOrResolver({cwd, logger, packagePath})\n : templateOrResolver\n\n logger.log('create new package at', relative(cwd, packagePath))\n\n const templateOptions: Record<string, string> = {}\n\n for (const templateOption of template.options) {\n const templateValidate = templateOption.validate\n\n const res = await prompts(\n {\n type: promptsTypes[templateOption.type],\n name: templateOption.name,\n message: templateOption.description,\n validate: templateValidate ? (prev) => templateValidate(prev) : undefined,\n initial:\n typeof templateOption.initial === 'function'\n ? templateOption.initial(templateOptions)\n : templateOption.initial,\n },\n {onCancel: () => process.exit(0)},\n )\n\n templateOptions[templateOption.name] = templateOption.parse\n ? templateOption.parse(res[templateOption.name])\n : res[templateOption.name]\n }\n\n const features: Record<string, boolean> = {}\n\n for (const templateFeature of template.features) {\n const res = templateFeature.optional\n ? await prompts(\n {\n type: 'confirm',\n name: 'confirm',\n message: `use ${templateFeature.name}?`,\n initial: templateFeature.initial,\n },\n {onCancel: () => process.exit(0)},\n )\n : undefined\n\n features[templateFeature.name] = res?.confirm || !templateFeature.optional\n }\n\n const files = await template.getFiles(templateOptions, features)\n\n files.sort((a, b) => {\n return a.name.localeCompare(b.name)\n })\n\n for (const file of files) {\n const filePath = resolve(packagePath, file.name)\n\n await mkdirp(dirname(filePath))\n await writeFile(filePath, file.contents.trim() + '\\n')\n\n logger.success(`wrote ${relative(cwd, filePath)}`)\n }\n}\n","import {PkgTemplateOption} from './types'\n\n/** @public */\nexport function defineTemplateOption<T>(option: PkgTemplateOption<T>): PkgTemplateOption<T> {\n return option\n}\n","import ts from 'typescript'\n\n/** @internal */\nexport async function loadTSConfig(options: {\n cwd: string\n tsconfigPath: string\n}): Promise<ts.ParsedCommandLine> {\n const {cwd, tsconfigPath} = options\n\n const configPath = ts.findConfigFile(cwd, ts.sys.fileExists, tsconfigPath)\n\n if (!configPath) {\n throw new Error(`could not find a valid '${tsconfigPath}'`)\n }\n\n const configFile = ts.readConfigFile(configPath, ts.sys.readFile)\n\n return ts.parseJsonConfigFileContent(configFile.config, ts.sys, cwd)\n}\n","import chalk from 'chalk'\n\n/** @internal */\nexport interface Logger {\n log: (...args: unknown[]) => void\n info: (...args: unknown[]) => void\n warn: (...args: unknown[]) => void\n error: (...args: unknown[]) => void\n success: (...args: unknown[]) => void\n}\n\n/** @internal */\nexport function createLogger(): Logger {\n return {\n /* eslint-disable no-console */\n log: (...args) => {\n console.log(...args)\n },\n info: (...args) => {\n console.log(chalk.blue('[info]'), ...args)\n },\n warn: (...args) => {\n console.log(chalk.yellow('[warning]'), ...args)\n },\n error: (...args) => {\n console.log(chalk.red('[error]'), ...args)\n },\n success: (...args) => {\n console.log(chalk.green('[success]'), ...args)\n },\n /* eslint-enable no-console */\n }\n}\n","import path from 'path'\n\nexport function pathContains(containerPath: string, itemPath: string): boolean {\n return !path.relative(containerPath, itemPath).startsWith('..')\n}\n\nexport function findCommonDirPath(filePaths: string[]): string | undefined {\n let ret: string | undefined = undefined\n\n for (const filePath of filePaths) {\n let dirPath = path.dirname(filePath)\n\n if (!ret) {\n ret = dirPath\n continue\n }\n\n while (dirPath !== ret) {\n dirPath = path.dirname(dirPath)\n\n if (dirPath === ret) {\n break\n }\n\n if (pathContains(dirPath, ret)) {\n ret = dirPath\n break\n }\n\n if (dirPath === '.') return undefined\n }\n }\n\n return ret\n}\n","import browserslist from 'browserslist'\n\nexport interface PackageTargetVersions {\n chrome: string[]\n ff: string[]\n edge: string[]\n iosSaf: string[]\n saf: string[]\n opera: string[]\n node: string[]\n}\n\nfunction sortAsNumber(a: string, b: string) {\n const aVersion = Number(a)\n const bVersion = Number(b)\n\n return aVersion - bVersion\n}\n\nexport function resolveBrowserslistVersions(query: string[]): PackageTargetVersions {\n const result = browserslist(query)\n\n const entries = result.map((key) => {\n const [name, version] = key.split(' ')\n\n return {name, version: version.split('-')[0].split('.')[0]}\n })\n\n const andChr = entries.filter((b) => b.name === 'and_chr')\n const andFf = entries.filter((b) => b.name === 'and_ff')\n const chrome = entries.filter((b) => b.name === 'chrome')\n const edge = entries.filter((b) => b.name === 'edge')\n const ff = entries.filter((b) => b.name === 'firefox')\n const iosSaf = entries.filter((b) => b.name === 'ios_saf')\n const saf = entries.filter((b) => b.name === 'safari')\n const opera = entries.filter((b) => b.name === 'opera')\n const node = entries.filter((b) => b.name === 'node')\n\n // versions\n const versions: PackageTargetVersions = {\n chrome: andChr.concat(chrome).map((b) => b.version),\n ff: andFf.concat(ff).map((b) => b.version),\n edge: edge.map((b) => b.version),\n iosSaf: iosSaf.map((b) => b.version),\n saf: saf.map((b) => b.version),\n opera: opera.map((b) => b.version),\n node: node.map((b) => b.version),\n }\n\n // sort\n versions.chrome.sort(sortAsNumber)\n versions.ff.sort(sortAsNumber)\n versions.edge.sort(sortAsNumber)\n versions.iosSaf.sort(sortAsNumber)\n versions.saf.sort(sortAsNumber)\n versions.opera.sort(sortAsNumber)\n versions.node.sort(sortAsNumber)\n\n return versions\n}\n","import {PackageTargetVersions} from './resolveBrowserslistVersions'\n\nexport function resolveBrowserTarget(versions: PackageTargetVersions): string[] | undefined {\n const target: string[] = []\n\n if (versions.chrome.length) {\n target.push(`chrome${versions.chrome[0]}`)\n }\n\n if (versions.ff.length) {\n target.push(`firefox${versions.ff[0]}`)\n }\n\n if (versions.edge.length) {\n target.push(`edge${versions.edge[0]}`)\n }\n\n if (versions.iosSaf.length) {\n target.push(`ios${versions.iosSaf[0]}`)\n }\n\n if (versions.saf.length) {\n target.push(`safari${versions.saf[0]}`)\n }\n\n if (versions.opera.length) {\n target.push(`opera${versions.opera[0]}`)\n }\n\n if (target.length === 0) {\n return undefined\n }\n\n return target\n}\n","import {PackageTargetVersions} from './resolveBrowserslistVersions'\n\nexport function resolveNodeTarget(versions: PackageTargetVersions): string[] | undefined {\n const target: string[] = []\n\n if (versions.node.length) {\n target.push(`node${versions.node[0]}`)\n }\n\n if (target.length === 0) {\n return undefined\n }\n\n return target\n}\n","import path from 'path'\n\nimport {\n BuildContext,\n DEFAULT_BROWSERSLIST_QUERY,\n loadTSConfig,\n PackageJSON,\n parseExports,\n PkgConfigOptions,\n PkgExports,\n PkgExtMap,\n PkgRuntime,\n resolveConfigProperty,\n} from './core'\nimport {findCommonDirPath, pathContains} from './core/findCommonPath'\nimport {Logger} from './logger'\nimport {resolveBrowserslistVersions} from './resolveBrowserslistVersions'\nimport {resolveBrowserTarget} from './resolveBrowserTarget'\nimport {resolveNodeTarget} from './resolveNodeTarget'\n\nexport async function resolveBuildContext(options: {\n config?: PkgConfigOptions\n cwd: string\n emitDeclarationOnly?: boolean\n extMap: PkgExtMap\n logger: Logger\n pkg: PackageJSON\n strict: boolean\n tsconfig: string\n}): Promise<BuildContext> {\n const {\n config,\n cwd,\n emitDeclarationOnly = false,\n extMap,\n logger,\n pkg,\n strict,\n tsconfig: tsconfigPath,\n } = options\n const tsconfig = await loadTSConfig({cwd, tsconfigPath})\n const targetVersions = resolveBrowserslistVersions(pkg.browserslist || DEFAULT_BROWSERSLIST_QUERY)\n const nodeTarget = resolveNodeTarget(targetVersions)\n const webTarget = resolveBrowserTarget(targetVersions)\n\n if (!nodeTarget) {\n throw new Error('no matching `node` target')\n }\n\n if (!webTarget) {\n throw new Error('no matching `web` target')\n }\n\n const target: Record<PkgRuntime, string[]> = {\n '*': webTarget.concat(nodeTarget),\n browser: webTarget,\n node: nodeTarget,\n }\n\n const parsedExports = parseExports({extMap, pkg, strict}).reduce<PkgExports>((acc, x) => {\n const {_path: exportPath, ...exportEntry} = x\n\n return {...acc, [exportPath]: exportEntry}\n }, {})\n\n const exports = resolveConfigProperty(config?.exports, parsedExports)\n\n const parsedExternal = [\n ...(pkg.dependencies ? Object.keys(pkg.dependencies) : []),\n ...(pkg.peerDependencies ? Object.keys(pkg.peerDependencies) : []),\n ]\n\n // Merge externals if an array is provided, replace if it's a function\n const external =\n config && Array.isArray(config.external)\n ? [...parsedExternal, ...config.external]\n : resolveConfigProperty(config?.external, parsedExternal)\n\n const outputPaths = Object.values(exports)\n .flatMap((exportEntry) => {\n return [\n exportEntry.import,\n exportEntry.require,\n exportEntry.browser?.import,\n exportEntry.browser?.require,\n exportEntry.node?.source && exportEntry.node.import,\n exportEntry.node?.source && exportEntry.node.require,\n ].filter(Boolean) as string[]\n })\n .map((p) => path.resolve(cwd, p))\n\n const commonDistPath = findCommonDirPath(outputPaths)\n\n if (commonDistPath === cwd) {\n throw new Error(\n 'all output files must share a common parent directory which is not the root package directory',\n )\n }\n\n if (commonDistPath && !pathContains(cwd, commonDistPath)) {\n throw new Error('all output files must be located within the package')\n }\n\n const configDistPath = config?.dist ? path.resolve(cwd, config.dist) : undefined\n\n if (\n configDistPath &&\n commonDistPath &&\n configDistPath !== commonDistPath &&\n !pathContains(configDistPath, commonDistPath)\n ) {\n logger.log(`did you mean to configure \\`dist: './${path.relative(cwd, commonDistPath)}'\\`?`)\n\n throw new Error('all output files must be located with the configured `dist` path')\n }\n\n const distPath = configDistPath || commonDistPath\n\n if (!distPath) {\n throw new Error('could not detect `dist` path')\n }\n\n const ctx: BuildContext = {\n config,\n cwd,\n distPath,\n emitDeclarationOnly,\n exports,\n external,\n extMap,\n files: [],\n logger,\n pkg,\n runtime: config?.runtime ?? '*',\n strict,\n target,\n ts: {\n config: tsconfig,\n configPath: tsconfigPath,\n },\n }\n\n return ctx\n}\n","import fs from 'fs'\nimport path from 'path'\n\nimport {BuildContext, PkgExport, PkgFormat, PkgRuntime} from './core'\nimport {BuildTask, DtsTask, NodeReExportFromCJSTask, RollupTask, RollupTaskEntry} from './tasks'\n\n/** @internal */\nexport function resolveBuildTasks(ctx: BuildContext): BuildTask[] {\n const {config, cwd, pkg, target} = ctx\n\n const bundles = config?.bundles || []\n\n const tasks: BuildTask[] = []\n\n const exports = Object.entries(ctx.exports || {}).map(\n ([_path, exp]) => ({_path, ...exp}) as PkgExport & {_path: string},\n )\n\n const dtsTask: DtsTask = {\n type: 'build:dts',\n entries: [],\n }\n\n const rollupTasks: Record<string, RollupTask> = {}\n\n function addRollupTaskEntry(format: PkgFormat, runtime: PkgRuntime, entry: RollupTaskEntry) {\n const buildId = `${format}:${runtime}`\n\n if (rollupTasks[buildId]) {\n rollupTasks[buildId].entries.push(entry)\n } else {\n rollupTasks[buildId] = {\n type: 'build:js',\n buildId,\n entries: [entry],\n runtime,\n format,\n target: target[runtime],\n }\n }\n }\n\n // Parse `dts` tasks\n for (const exp of exports) {\n const importId = path.join(pkg.name, exp._path)\n\n if (exp.types) {\n dtsTask.entries.push({\n importId,\n exportPath: exp._path,\n sourcePath: exp.source,\n targetPath: exp.types,\n })\n }\n }\n\n // Add dts task\n if (dtsTask.entries.length) {\n tasks.push(dtsTask)\n }\n\n if (!ctx.emitDeclarationOnly) {\n // Parse rollup:commonjs:* tasks\n for (const exp of exports) {\n const output = exp.require\n\n if (!output) continue\n\n addRollupTaskEntry('commonjs', ctx.runtime, {\n path: exp._path,\n source: exp.source,\n output,\n })\n }\n\n // Parse rollup:esm:* tasks\n for (const exp of exports) {\n const output = exp.import\n\n if (!output) continue\n\n addRollupTaskEntry('esm', ctx.runtime, {\n path: exp._path,\n source: exp.source,\n output,\n })\n }\n\n // Parse rollup:commonjs:browser tasks\n for (const exp of exports) {\n const output = exp.browser?.require\n\n if (!output) continue\n\n addRollupTaskEntry('commonjs', 'browser', {\n path: exp._path,\n source: exp.browser?.source || exp.source,\n output,\n })\n }\n\n // Parse rollup:esm:browser tasks\n for (const exp of exports) {\n const output = exp.browser?.import\n\n if (!output) continue\n\n addRollupTaskEntry('esm', 'browser', {\n path: exp._path,\n source: exp.browser?.source || exp.source,\n output,\n })\n }\n\n for (const bundle of bundles) {\n const idx = bundles.indexOf(bundle)\n\n if (bundle.require) {\n addRollupTaskEntry('commonjs', bundle.runtime || ctx.runtime, {\n path: `__$$bundle_cjs_${idx}$$__`,\n source: bundle.source,\n output: bundle.require,\n })\n }\n\n if (bundle.import) {\n addRollupTaskEntry('esm', bundle.runtime || ctx.runtime, {\n path: `__$$bundle_esm_${idx}$$__`,\n source: bundle.source,\n output: bundle.import,\n })\n }\n }\n\n tasks.push(...Object.values(rollupTasks))\n\n // Write legacy exports files\n if (config?.legacyExports) {\n for (const exp of exports) {\n if (exp._exported && exp._path !== '.') {\n const relativeTargetPath = (exp.browser?.import || exp.import || '').replace(\n /\\.[^/.]+$/,\n '',\n )\n\n if (relativeTargetPath) {\n fs.writeFileSync(\n path.resolve(cwd, `${exp._path}.js`),\n [`// AUTO-GENERATED – DO NOT EDIT`, `export * from '${relativeTargetPath}'`, ``].join(\n '\\n',\n ),\n )\n }\n }\n }\n }\n }\n\n const nodeReexportCjsEntries: NodeReExportFromCJSTask['entries'] = []\n\n // Parse tasks to re-export from CommonJS for Node.js\n for (const exp of exports) {\n if (\n exp.node &&\n !exp.node.source &&\n exp.node.import &&\n (exp.node.require || exp.require) &&\n (exp.node.import.endsWith('.cjs.js') || exp.node.import.endsWith('.cjs.mjs'))\n ) {\n const importId = path.join(pkg.name, exp._path)\n\n nodeReexportCjsEntries.push({\n importId,\n import: exp.node.import,\n require: (exp.node.require || exp.require)!,\n })\n }\n }\n\n if (nodeReexportCjsEntries.length) {\n tasks.push({\n type: 'node:reexport-cjs',\n entries: nodeReexportCjsEntries,\n })\n }\n\n return tasks\n}\n","/* eslint-disable no-console */\n\nimport chalk from 'chalk'\n\nexport function createSpinner(msg: string): {complete: () => void; error: () => void} {\n const startTime = Date.now()\n\n console.log(msg)\n\n return {\n complete: () => {\n console.log(`${chalk.green('[success]')} ${chalk.gray(`${Date.now() - startTime}ms`)}`)\n },\n error: () => {\n console.log(`${chalk.red(`[error]`)} ${chalk.gray(`${Date.now() - startTime}ms`)}`)\n },\n }\n}\n","import {ExtractorMessage} from '@microsoft/api-extractor'\nimport chalk from 'chalk'\nimport path from 'path'\n\nimport {BuildContext} from './core'\n\nexport function printExtractMessages(ctx: BuildContext, messages: ExtractorMessage[]): void {\n const {cwd, logger} = ctx\n\n const warnings = messages.filter((msg) => msg.logLevel === 'warning')\n\n if (warnings.length) {\n logger.log()\n }\n\n for (const msg of warnings) {\n const sourceFilePath = msg.sourceFilePath && path.relative(cwd, msg.sourceFilePath)\n\n if (msg.messageId === 'TS6307') {\n // Ignore this warning:\n // > TS6307: <filename> is not in project file list.\n // > Projects must list all files or use an 'include' pattern.\n continue\n }\n\n logger.log(\n [\n `${chalk.cyan(sourceFilePath || '?')}`,\n `:${chalk.yellow(msg.sourceFileLine)}:${chalk.yellow(msg.sourceFileColumn)}`,\n ` - ${chalk.yellow('warning')} ${chalk.gray(msg.messageId)}\\n`,\n msg.text,\n '\\n',\n ].join(''),\n )\n }\n\n const errors: ExtractorMessage[] = messages.filter((msg) => msg.logLevel === 'error')\n\n if (!warnings.length && errors.length) {\n logger.log('')\n }\n\n for (const msg of errors) {\n const sourceFilePath = msg.sourceFilePath && path.relative(cwd, msg.sourceFilePath)\n\n logger.log(\n [\n `${chalk.cyan(sourceFilePath || '?')}`,\n `:${chalk.yellow(msg.sourceFileLine)}:${chalk.yellow(msg.sourceFileColumn)}`,\n ` - ${chalk.red('error')} ${chalk.gray(msg.messageId)}\\n`,\n msg.text,\n '\\n',\n ].join(''),\n )\n }\n\n if (errors.length) {\n process.exit(1)\n }\n}\n","import chalk from 'chalk'\nimport path from 'path'\nimport ts from 'typescript'\n\nimport {Logger} from '../../logger'\n\nexport function printDiagnostic(options: {\n cwd: string\n logger: Logger\n diagnostic: ts.Diagnostic\n}): void {\n const {cwd, logger, diagnostic} = options\n\n if (diagnostic.file && diagnostic.start) {\n const {line, character} = ts.getLineAndCharacterOfPosition(diagnostic.file, diagnostic.start)\n const message = ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n')\n\n const file = path.relative(cwd, diagnostic.file.fileName)\n\n const output = [\n `${chalk.yellow(file)}:${chalk.blue(line + 1)}:${chalk.blue(character + 1)} - `,\n `${chalk.gray(`TS${diagnostic.code}:`)} ${message}`,\n ].join('')\n\n if (diagnostic.category === ts.DiagnosticCategory.Error) {\n logger.error(output)\n }\n\n if (diagnostic.category === ts.DiagnosticCategory.Warning) {\n logger.warn(output)\n }\n\n if (diagnostic.category === ts.DiagnosticCategory.Message) {\n logger.log(output)\n }\n\n if (diagnostic.category === ts.DiagnosticCategory.Suggestion) {\n logger.log(output)\n }\n } else {\n logger.log(ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n'))\n }\n}\n","import ts from 'typescript'\n\nimport {Logger} from '../../logger'\nimport {printDiagnostic} from './printDiagnostic'\n\n/** @internal */\nexport async function buildTypes(options: {\n cwd: string\n logger: Logger\n outDir: string\n tsconfig: ts.ParsedCommandLine\n strict: boolean\n}): Promise<void> {\n const {cwd, logger, outDir, tsconfig, strict = false} = options\n\n const compilerOptions: ts.CompilerOptions = {\n ...tsconfig.options,\n declaration: true,\n declarationDir: outDir,\n emitDeclarationOnly: true,\n noEmit: false,\n outDir,\n }\n\n const program = ts.createProgram(tsconfig.fileNames, compilerOptions)\n\n const emitResult = program.emit()\n\n const allDiagnostics = ts.getPreEmitDiagnostics(program).concat(emitResult.diagnostics)\n\n for (const diagnostic of allDiagnostics) {\n printDiagnostic({cwd, logger, diagnostic})\n }\n\n if (emitResult.emitSkipped) {\n const errors = allDiagnostics.filter((diag) => diag.category === ts.DiagnosticCategory.Error)\n\n if (errors.length) {\n if (strict) {\n throw new Error('failed to compile TypeScript definitions')\n }\n }\n }\n}\n","import {ExtractorMessage} from '@microsoft/api-extractor'\n\n/** @internal */\nexport class DtsError extends Error {\n messages: ExtractorMessage[]\n\n constructor(message: string, messages: ExtractorMessage[]) {\n super(message)\n this.messages = messages\n }\n}\n","import {IConfigFile, IExtractorMessagesConfig} from '@microsoft/api-extractor'\nimport path from 'path'\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 {TSDocConfigFile} from '@microsoft/tsdoc-config'\nimport {readFile} from 'fs/promises'\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'\n\nimport {PkgConfigOptions, PkgRuleLevel} 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 {\n Extractor,\n ExtractorConfig,\n ExtractorMessage,\n ExtractorResult,\n} from '@microsoft/api-extractor'\nimport fs from 'fs/promises'\nimport {mkdirp} from 'mkdirp'\nimport path from 'path'\nimport prettier from 'prettier'\n\nimport {BuildFile, PkgConfigOptions} 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 await 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 {ExtractorMessage} from '@microsoft/api-extractor'\nimport path from 'path'\nimport rimraf from 'rimraf'\n\nimport {BuildContext} from '../../core'\nimport {buildTypes} from './buildTypes'\nimport {DtsError} from './DtsError'\nimport {extractTypes} from './extractTypes'\nimport {DtsResult, DtsTask, DtsWatchTask} from './types'\n\n/**\n * - Build type definitions to a temporary directory using TypeScript compiler.\n * - Create a type definition bundle for each export entry.\n * - When done, remove the temporary directory.\n */\nexport async function doExtract(\n ctx: BuildContext,\n task: DtsTask | DtsWatchTask,\n): Promise<DtsResult> {\n const {config, cwd, files, logger, strict, ts} = ctx\n\n if (!ts.config || !ts.configPath) {\n return {type: 'dts', messages: [], results: []}\n }\n\n const {outDir, rootDir = cwd} = ts.config.options\n\n if (!outDir) {\n throw new Error('tsconfig.json is missing `compilerOptions.outDir`')\n }\n\n const tmpPath = path.resolve(outDir, '__tmp__')\n\n await buildTypes({cwd, logger, outDir: tmpPath, strict, tsconfig: ts.config})\n const messages: ExtractorMessage[] = []\n\n const results: {sourcePath: string; filePath: string}[] = []\n\n for (const entry of task.entries) {\n const exportPath = entry.exportPath === '.' ? './index' : entry.exportPath\n\n const sourceTypesPath = path.resolve(\n tmpPath,\n path.relative(rootDir, path.resolve(cwd, entry.sourcePath)).replace(/\\.ts$/, '.d.ts'),\n )\n\n const targetPath = path.resolve(cwd, entry.targetPath)\n const filePath = path.relative(outDir, targetPath)\n const result = await extractTypes({\n customTags: config?.extract?.customTags,\n cwd,\n distPath: outDir,\n exportPath,\n files,\n filePath: filePath,\n projectPath: cwd,\n rules: config?.extract?.rules,\n sourceTypesPath: sourceTypesPath,\n tmpPath,\n tsconfigPath: path.resolve(cwd, ts.configPath || 'tsconfig.json'),\n })\n\n messages.push(...result.messages)\n\n if (result.messages.some((msg) => msg.logLevel === 'error')) {\n await rimraf(tmpPath)\n\n throw new DtsError('encountered errors when extracting types', result.messages)\n }\n\n results.push({sourcePath: path.resolve(cwd, entry.sourcePath), filePath: targetPath})\n }\n\n await rimraf(tmpPath)\n\n return {type: 'dts', messages, results}\n}\n","import chalk from 'chalk'\nimport {Observable} from 'rxjs'\n\nimport {printExtractMessages} from '../../printExtractMessages'\nimport {TaskHandler} from '../types'\nimport {doExtract} from './doExtract'\nimport {DtsError} from './DtsError'\nimport {DtsResult, DtsTask} from './types'\n\n/** @internal */\nexport const dtsTask: TaskHandler<DtsTask, DtsResult> = {\n name: (_ctx, task) =>\n [\n `Build type definitions...`,\n ` entries:`,\n ...task.entries.map((entry) =>\n [\n ` - ${chalk.cyan(entry.importId)}: `,\n `${chalk.yellow(entry.sourcePath)} ${chalk.gray('→')} ${chalk.yellow(entry.targetPath)}`,\n ].join(''),\n ),\n ].join('\\n'),\n exec: (ctx, task) => {\n return new Observable((observer) => {\n doExtract(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => {\n observer.error(err)\n })\n })\n },\n complete: (ctx, _task, result) => {\n printExtractMessages(ctx, result.messages)\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof DtsError) {\n printExtractMessages(ctx, err.messages)\n } else if (err instanceof Error) {\n logger.error(err)\n }\n },\n}\n","import chalk from 'chalk'\nimport {Observable} from 'rxjs'\n\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 chalk from 'chalk'\nimport {writeFile} from 'fs/promises'\nimport {mkdirp} from 'mkdirp'\nimport path from 'path'\nimport {from} from 'rxjs'\n\nimport {BuildContext} from '../../core'\nimport {NodeReExportFromCJSTask, TaskHandler} from '../types'\n\n/** @internal */\nexport const nodeReexportCjsTask: TaskHandler<NodeReExportFromCJSTask> = {\n name: (_ctx, task) =>\n [\n `Re-export CommonJS module in ESM wrapper…`,\n ` entries:`,\n ...task.entries.map((entry) =>\n [\n ` - ${chalk.cyan(entry.importId)}: `,\n `${chalk.yellow(entry.require)} ${chalk.gray('→')} ${chalk.yellow(entry.import)}`,\n ].join(''),\n ),\n ].join('\\n'),\n exec: (ctx, task) => {\n return from(exec(ctx, task))\n },\n complete: () => {\n //\n },\n error: (_ctx, _task, err) => {\n // eslint-disable-next-line no-console\n console.error(err)\n },\n}\n\nasync function exec(ctx: BuildContext, task: NodeReExportFromCJSTask) {\n const {cwd} = ctx\n\n for (const entry of task.entries) {\n const sourcePath = path.resolve(cwd, entry.require)\n const targetPath = path.resolve(cwd, entry.import)\n const targetDir = path.dirname(targetPath)\n\n await mkdirp(targetDir)\n\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const mod = require(sourcePath)\n\n let relativeImport = `./${path.relative(targetDir, sourcePath)}`\n\n // Strip leading \"./\" from relative import\n if (relativeImport.startsWith('./.')) {\n relativeImport = relativeImport.slice(2)\n }\n\n const code = compileESMWrapper(mod, relativeImport)\n\n await writeFile(targetPath, code, 'utf8')\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction compileESMWrapper(mod: any, relativeImport: string) {\n const keys = Object.keys(mod).filter((k) => k !== '__esModule')\n\n let code = `import cjs from '${relativeImport}';\\n`\n\n if (keys.length) {\n code += `\\n`\n code += keys\n .filter((k) => (mod.__esModule ? k !== 'default' : true))\n .map((k) => `export const ${k} = cjs.${k};\\n`)\n .join('')\n }\n\n code += `\\n`\n\n if (mod.__esModule) {\n // If there is no default export, we shouldn't add it as it'll be undefined\n if ('default' in mod) {\n code += `export default cjs.default;\\n`\n }\n } else {\n code += `export default cjs;\\n`\n }\n\n return code\n}\n","/* eslint-disable no-console */\n\nexport interface ConsoleSpyMsg {\n type: 'log' | 'warn' | 'error'\n code?: string\n args: unknown[]\n}\n\nexport interface ConsoleSpy {\n messages: ConsoleSpyMsg[]\n restore: () => void\n}\n\nexport function createConsoleSpy(options?: {\n onRestored?: (messages: ConsoleSpyMsg[]) => void\n}): ConsoleSpy {\n const {onRestored} = options || {}\n\n const original = {\n log: console.log,\n warn: console.warn,\n error: console.error,\n }\n\n const messages: ConsoleSpyMsg[] = []\n\n console.log = (...args: unknown[]) => messages.push({type: 'log', args})\n console.warn = (...args: unknown[]) => messages.push({type: 'warn', args})\n console.error = (...args: unknown[]) => messages.push({type: 'error', args})\n\n return {\n messages,\n restore: () => {\n console.log = original.log\n console.warn = original.warn\n console.error = original.error\n\n onRestored?.(messages)\n },\n }\n}\n","import 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 path from 'path'\nimport {InputOptions, OutputOptions, Plugin} from 'rollup'\nimport esbuild from 'rollup-plugin-esbuild'\n\nimport {BuildContext, DEFAULT_BROWSERSLIST_QUERY, resolveConfigProperty} from '../../core'\nimport {RollupTask, RollupWatchTask} from '../types'\n\nexport interface RollupConfig {\n inputOptions: InputOptions\n outputOptions: OutputOptions\n}\n\n/** @internal */\nexport function resolveRollupConfig(\n ctx: BuildContext,\n buildTask: RollupTask | RollupWatchTask,\n): RollupConfig {\n const {format, runtime, target} = buildTask\n const {config, cwd, exports: _exports, extMap, external, distPath, logger, pkg, ts} = ctx\n const outputExt = extMap[pkg.type || 'commonjs'][format]\n const minify = config?.minify ?? false\n const outDir = path.relative(cwd, distPath)\n\n const pathAliases = Object.fromEntries(\n Object.entries(ts.config?.options.paths || {}).map(([key, val]) => {\n return [key, path.resolve(cwd, ts.config?.options.baseUrl || '.', val[0])]\n }),\n )\n\n const entries = buildTask.entries.map((entry) => {\n return {\n ...entry,\n name: path.relative(outDir, entry.output).replace(/\\.[^/.]+$/, ''),\n }\n }, {})\n\n const exportIds =\n _exports && Object.keys(_exports).map((exportPath) => path.join(pkg.name, exportPath))\n\n const sourcePaths = _exports && Object.values(_exports).map((e) => path.resolve(cwd, e.source))\n\n const replacements = Object.fromEntries(\n Object.entries(config?.define || {}).map(([key, val]) => [key, JSON.stringify(val)]),\n )\n\n const defaultPlugins = [\n replace({\n preventAssignment: true,\n values: {\n ...(pkg.name === '@sanity/pkg-utils'\n ? {...replacements}\n : {\n 'process.env.PKG_FILE_PATH': (arg) => {\n const sourcePath = './' + path.relative(cwd, arg)\n const entry = entries.find((e) => e.source === sourcePath)\n\n if (!entry) {\n // eslint-disable-next-line no-console\n console.error(`could not find source entry: ${sourcePath}`)\n\n return 'null'\n }\n\n return JSON.stringify(\n path.relative(cwd, path.resolve(outDir, entry.name + outputExt)),\n )\n },\n 'process.env.PKG_FORMAT': JSON.stringify(format),\n 'process.env.PKG_RUNTIME': JSON.stringify(runtime),\n 'process.env.PKG_VERSION': JSON.stringify(process.env.PKG_VERSION || pkg.version),\n ...replacements,\n }),\n },\n }),\n alias({\n entries: {...pathAliases},\n }),\n nodeResolve({\n // mainFields: ['module', 'jsnext', 'main'],\n browser: runtime === 'browser',\n // exportConditions: [runtime === 'node' ? 'node' : 'browser'],\n extensions: ['.cjs', '.mjs', '.js', '.jsx', '.json', '.node'],\n preferBuiltins: true, // runtime === 'node',\n }),\n commonjs(),\n json(),\n esbuild({\n jsx: config?.jsx ?? 'automatic',\n jsxFactory: config?.jsxFactory ?? 'createElement',\n jsxFragment: config?.jsxFragment ?? 'Fragment',\n jsxImportSource: config?.jsxImportSource ?? 'react',\n target,\n tsconfig: ctx.ts.configPath || 'tsconfig.json',\n }),\n getBabelOutputPlugin({\n babelrc: false,\n plugins: config?.babel?.plugins,\n presets: [\n [\n '@babel/preset-env',\n {targets: pkg.browserslist || DEFAULT_BROWSERSLIST_QUERY, modules: false},\n ],\n ],\n }),\n minify &&\n terser({\n compress: {\n // Needed until https://github.com/terser/terser/issues/1320 is fixed\n directives: false,\n },\n output: {\n comments: (_node, comment) => {\n const text = comment.value\n const type = comment.type\n\n // Check if this is a multiline comment\n if (type == 'comment2') {\n // Keep licensing comments\n return /@preserve|@license|@cc_on/i.test(text)\n }\n\n return false\n },\n },\n }),\n ].filter(Boolean) as Plugin[]\n\n const userPlugins = config?.rollup?.plugins\n\n const plugins = Array.isArray(userPlugins)\n ? defaultPlugins.concat(userPlugins)\n : resolveConfigProperty(config?.rollup?.plugins, defaultPlugins)\n\n return {\n inputOptions: {\n context: cwd,\n\n external: (id, importer) => {\n // Check if the id is a self-referencing import\n if (exportIds?.includes(id)) {\n return true\n }\n\n // Check if the id is a file path that points to an exported source file\n if (importer && (id.startsWith('.') || id.startsWith('/'))) {\n const idPath = path.resolve(path.dirname(importer), id)\n\n if (sourcePaths?.includes(idPath)) {\n logger.warn(\n `detected self-referencing import – treating as external: ${path.relative(\n cwd,\n idPath,\n )}`,\n )\n\n return true\n }\n }\n\n const idParts = id.split('/')\n\n const name = idParts[0].startsWith('@') ? `${idParts[0]}/${idParts[1]}` : idParts[0]\n\n if (name && external.includes(name)) {\n return true\n }\n\n return false\n },\n\n input: entries.reduce<{[entryAlias: string]: string}>((acc, entry) => {\n return {...acc, [entry.name]: entry.source}\n }, {}),\n\n plugins,\n\n treeshake: {\n propertyReadSideEffects: false,\n },\n },\n outputOptions: {\n chunkFileNames: () => {\n const parts = outputExt.split('.')\n\n if (parts.length === 3) {\n return `_chunks/[name]-[hash].${parts[2]}`\n }\n\n return `_chunks/[name]-[hash]${outputExt}`\n },\n compact: minify,\n dir: outDir,\n entryFileNames: () => {\n const parts = outputExt.split('.')\n\n if (parts.length === 3) {\n return `[name].${parts[2]}`\n }\n\n return `[name]${outputExt}`\n },\n esModule: true,\n format,\n interop: 'compat',\n minifyInternalExports: minify,\n sourcemap: config?.sourcemap ?? true,\n hoistTransitiveImports: false,\n },\n }\n}\n","import chalk from 'chalk'\nimport path from 'path'\nimport {rollup} from 'rollup'\nimport {Observable} from 'rxjs'\n\nimport {createConsoleSpy} from '../../consoleSpy'\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 const bundleEntries = task.entries.filter((e) => e.path.includes('__$$bundle_'))\n const entries = task.entries.filter((e) => !e.path.includes('__$$bundle_'))\n\n const targetLines = task.target.length\n ? [` target:`, ...task.target.map((t) => ` - ${chalk.yellow(t)}`)]\n : []\n\n const bundlesLines = bundleEntries.length\n ? [\n ' bundles:',\n ...bundleEntries.map((e) =>\n [\n ` - `,\n `${chalk.yellow(e.source)} ${chalk.gray('→')} ${chalk.yellow(e.output)}`,\n ].join(''),\n ),\n ]\n : []\n\n const entriesLines = entries.length\n ? [\n ' entries:',\n ...entries.map((e) =>\n [\n ` - `,\n `${chalk.cyan(path.join(ctx.pkg.name, e.path))}: `,\n `${chalk.yellow(e.source)} ${chalk.gray('→')} ${chalk.yellow(e.output)}`,\n ].join(''),\n ),\n ]\n : []\n\n return [\n `Build javascript files...`,\n ` format: ${chalk.yellow(task.format)}`,\n ...targetLines,\n ...bundlesLines,\n ...entriesLines,\n ].join('\\n')\n },\n exec: (ctx, task) => {\n return new Observable((observer) => {\n execPromise(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => observer.error(err))\n })\n },\n complete: () => {\n //\n },\n error: (_ctx, _task, err) => {\n // eslint-disable-next-line no-console\n console.error(err)\n },\n}\n\nasync function execPromise(ctx: BuildContext, task: RollupTask) {\n const {distPath, files, logger} = ctx\n const outDir = path.relative(ctx.cwd, distPath)\n\n // Prevent rollup from printing directly to the console\n const consoleSpy = createConsoleSpy({\n onRestored: (messages) => {\n for (const msg of messages) {\n const text = String(msg.args[0])\n\n if (msg.code === 'CIRCULAR_DEPENDENCY') {\n continue // ignore\n }\n\n if (text.startsWith('Dynamic import can only')) {\n continue // ignore\n }\n\n if (text.startsWith('Sourcemap is likely to be incorrect')) {\n continue // ignore\n }\n\n if (msg.type === 'log') {\n logger.info(...msg.args)\n }\n\n if (msg.type === 'warn') {\n logger.warn(...msg.args)\n }\n\n if (msg.type === 'error') {\n logger.error(...msg.args)\n }\n }\n },\n })\n\n try {\n const {inputOptions, outputOptions} = resolveRollupConfig(ctx, task)\n\n // Create bundle\n const bundle = await rollup({\n ...inputOptions,\n onwarn(warning) {\n consoleSpy.messages.push({\n type: 'warn',\n code: warning.code,\n args: [warning.message],\n })\n },\n })\n\n // generate output specific code in-memory\n // you can call this function multiple times on the same bundle object\n const {output} = await bundle.generate(outputOptions)\n\n for (const chunkOrAsset of output) {\n if (chunkOrAsset.type === 'asset') {\n files.push({\n type: 'asset',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n } else {\n files.push({\n type: 'chunk',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n }\n }\n\n // or write the bundle to disk\n await bundle.write(outputOptions)\n\n // closes the bundle\n await bundle.close()\n\n // Restore console\n consoleSpy.restore()\n } catch (err) {\n // Restore console\n consoleSpy.restore()\n throw err\n }\n}\n","import chalk from 'chalk'\nimport path from 'path'\nimport {RollupWatcherEvent, RollupWatchOptions, watch as rollupWatch} from 'rollup'\nimport {Observable} from 'rxjs'\n\nimport {RollupWatchTask, TaskHandler} from '../types'\nimport {resolveRollupConfig} from './resolveRollupConfig'\n\n/** @internal */\nexport const rollupWatchTask: TaskHandler<RollupWatchTask, RollupWatcherEvent> = {\n name: (ctx, task) =>\n `build javascript files (target ${task.target.join(' + ')}, format ${\n task.format\n })\\n ${task.entries\n .map((e) => `${chalk.blue(path.join(ctx.pkg.name, e.path))}: ${e.source} -> ${e.output}`)\n .join('\\n ')}`,\n exec: (ctx, task) => {\n const {inputOptions, outputOptions} = resolveRollupConfig(ctx, task)\n\n return new Observable((observer) => {\n const watchOptions: RollupWatchOptions = {\n ...inputOptions,\n output: outputOptions,\n }\n\n const watcher = rollupWatch(watchOptions)\n\n watcher.on('event', (event) => {\n observer.next(event)\n })\n\n return () => {\n watcher.close()\n }\n })\n },\n complete: (ctx, task, event) => {\n const {logger} = ctx\n\n if (event.code === 'BUNDLE_END') {\n logger.success(\n `build javascript files (target ${task.target.join(' + ')}, format ${\n task.format\n })\\n ${task.entries\n .map((e) => `${chalk.blue(path.join(ctx.pkg.name, e.path))}: ${e.source} -> ${e.output}`)\n .join('\\n ')}`,\n )\n logger.log('')\n\n return\n }\n\n if (event.code === 'BUNDLE_START') {\n return\n }\n\n if (event.code === 'END') {\n return\n }\n\n if (event.code === 'ERROR') {\n logger.error(event.code, event)\n\n return\n }\n\n if (event.code === 'START') {\n return\n }\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof Error) {\n logger.log(err)\n }\n },\n}\n","import {dtsTask, dtsWatchTask} from './dts'\nimport {nodeReexportCjsTask} from './node/reexportCjsTask'\nimport {rollupTask, rollupWatchTask} from './rollup'\nimport {BuildTaskHandlers, WatchTaskHandlers} from './types'\n\nexport * from './dts'\nexport * from './rollup'\nexport * from './types'\n\n/** @internal */\nexport const buildTaskHandlers: BuildTaskHandlers = {\n 'build:dts': dtsTask,\n 'build:js': rollupTask,\n 'node:reexport-cjs': nodeReexportCjsTask,\n}\n\n/** @internal */\nexport const watchTaskHandlers: WatchTaskHandlers = {\n 'watch:dts': dtsWatchTask,\n 'watch:js': rollupWatchTask,\n}\n","import {getPkgExtMap, loadConfig, loadPkgWithReporting} from './core'\nimport {createLogger} from './logger'\nimport {resolveBuildContext} from './resolveBuildContext'\nimport {resolveBuildTasks} from './resolveBuildTasks'\nimport {createSpinner} from './spinner'\nimport {BuildTask, buildTaskHandlers, TaskHandler} from './tasks'\n\n/**\n * Build the distribution files of a npm package.\n *\n * @example\n * ```ts\n * import {build} from '@sanity/pkg-utils'\n *\n * build({\n * cwd: process.cwd(),\n * tsconfig: 'tsconfig.dist.json,\n * }).then(() => {\n * console.log('successfully built')\n * }).catch((err) => {\n * console.log(`build error: ${err.message}`)\n * })\n * ```\n *\n * @public\n */\nexport async function build(options: {\n cwd: string\n emitDeclarationOnly?: boolean\n strict?: boolean\n tsconfig?: string\n}): Promise<void> {\n const {cwd, emitDeclarationOnly, strict = false, tsconfig: tsconfigOption} = options\n const logger = createLogger()\n\n const pkg = await loadPkgWithReporting({cwd, logger})\n const config = await loadConfig({cwd})\n const extMap = getPkgExtMap({legacyExports: config?.legacyExports ?? false})\n const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'\n\n const ctx = await resolveBuildContext({\n config,\n cwd,\n emitDeclarationOnly,\n extMap,\n logger,\n pkg,\n strict,\n tsconfig,\n })\n\n const buildTasks = resolveBuildTasks(ctx)\n\n for (const task of buildTasks) {\n const handler = buildTaskHandlers[task.type] as TaskHandler<BuildTask>\n const taskName = handler.name(ctx, task)\n\n const spinner = createSpinner(taskName)\n\n try {\n const result = await handler.exec(ctx, task).toPromise()\n\n spinner.complete()\n ctx.logger.log()\n\n handler.complete(ctx, task, result)\n } catch (err) {\n spinner.error()\n\n if (err instanceof Error) {\n const RE_CWD = new RegExp(`${cwd}`, 'g')\n\n ctx.logger.error(err.message.replace(RE_CWD, '.'))\n ctx.logger.log()\n }\n\n handler.error(ctx, task, err)\n\n process.exit(1)\n }\n }\n}\n","import {statSync} from 'fs'\nimport prettyBytes from 'pretty-bytes'\n\nexport function getFilesize(file: string): string {\n const stats = statSync(file)\n\n return prettyBytes(stats.size)\n}\n","import chalk from 'chalk'\nimport path from 'path'\nimport treeify from 'treeify'\n\nimport {BuildContext, PkgExport} from './core'\nimport {fileExists} from './fileExists'\nimport {getFilesize} from './getFilesize'\n\nfunction getFileInfo(cwd: string, filePath: string) {\n const p = path.resolve(cwd, filePath)\n const exists = fileExists(p)\n const size = exists ? getFilesize(p) : undefined\n\n return {exists, size}\n}\n\nexport function printPackageTree(ctx: BuildContext): void {\n const {cwd, exports, logger, pkg} = ctx\n\n if (!exports) return\n\n logger.log(`${chalk.blue(pkg.name)}@${chalk.green(pkg.version)}`)\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const tree: Record<string, unknown> = {}\n\n if (pkg.type) {\n tree.type = chalk.yellow(pkg.type)\n }\n\n if (pkg.bin) {\n tree.bin = Object.fromEntries(\n Object.entries(pkg.bin).map(([name, file]) => [chalk.cyan(name), fileInfo(file)]),\n )\n }\n\n function fileInfo(file: string) {\n const info = getFileInfo(cwd, file)\n\n if (!info.size) {\n return `${chalk.gray(file)} ${chalk.red('does not exist')}`\n }\n\n return `${chalk.yellow(file)} ${chalk.gray(info.size)}`\n }\n\n tree.exports = Object.fromEntries(\n Object.entries(exports)\n .filter(([, entry]) => entry._exported)\n .map(([exportPath, entry]) => {\n const exp: Omit<PkgExport, '_exported'> = {\n types: undefined,\n source: fileInfo(entry.source),\n browser: undefined,\n require: undefined,\n node: undefined,\n import: undefined,\n default: fileInfo(entry.default),\n }\n\n if (entry.types) {\n exp.types = fileInfo(entry.types)\n } else {\n delete exp.types\n }\n\n if (entry.browser) {\n exp.browser = {source: fileInfo(entry.browser.source)}\n\n if (entry.browser.import) exp.browser.import = fileInfo(entry.browser.import)\n if (entry.browser.require) exp.browser.require = fileInfo(entry.browser.require)\n } else {\n delete exp.browser\n }\n\n if (entry.require) {\n exp.require = fileInfo(entry.require)\n } else {\n delete exp.require\n }\n\n if (entry.node) {\n exp.node = {}\n\n if (entry.node.source) exp.node.source = fileInfo(entry.node.source)\n if (entry.node.import) exp.node.import = fileInfo(entry.node.import)\n if (entry.node.require) exp.node.require = fileInfo(entry.node.require)\n } else {\n delete exp.node\n }\n\n if (entry.import) {\n exp.import = fileInfo(entry.import)\n } else {\n delete exp.import\n }\n\n return [chalk.cyan(path.join(pkg.name, exportPath)), exp]\n }),\n )\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n logger.log(treeify.asTree(tree as Record<string, any>, true, true))\n}\n","import esbuild, {BuildFailure} from 'esbuild'\nimport path from 'path'\n\nimport {createConsoleSpy} from './consoleSpy'\nimport {getPkgExtMap, loadConfig, loadPkgWithReporting} from './core'\nimport {fileExists} from './fileExists'\nimport {createLogger, Logger} from './logger'\nimport {printPackageTree} from './printPackageTree'\nimport {resolveBuildContext} from './resolveBuildContext'\n\n/** @public */\nexport async function check(options: {\n cwd: string\n strict?: boolean\n tsconfig?: string\n}): Promise<void> {\n const {cwd, strict = false, tsconfig: tsconfigOption} = options\n const logger = createLogger()\n\n const pkg = await loadPkgWithReporting({cwd, logger})\n const config = await loadConfig({cwd})\n const extMap = getPkgExtMap({legacyExports: config?.legacyExports ?? false})\n const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'\n const ctx = await resolveBuildContext({config, cwd, extMap, logger, pkg, strict, tsconfig})\n\n printPackageTree(ctx)\n\n if (strict) {\n const missingFiles: string[] = []\n\n // Check if there are missing files\n for (const [, exp] of Object.entries(ctx.exports || {})) {\n if (exp.source && !fileExists(path.resolve(cwd, exp.source))) {\n missingFiles.push(exp.source)\n }\n\n if (exp.require && !fileExists(path.resolve(cwd, exp.require))) {\n missingFiles.push(exp.require)\n }\n\n if (exp.import && !fileExists(path.resolve(cwd, exp.import))) {\n missingFiles.push(exp.import)\n }\n\n if (exp.types && !fileExists(path.resolve(cwd, exp.types))) {\n missingFiles.push(exp.types)\n }\n }\n\n if (missingFiles.length) {\n logger.error('missing files')\n process.exit(1)\n }\n\n // Check if the files are resolved\n const exportPaths: {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) exportPaths.require.push(exp.require)\n if (exp.import) exportPaths.import.push(exp.import)\n }\n\n const external = [\n ...Object.keys(pkg.dependencies || {}),\n ...Object.keys(pkg.devDependencies || {}),\n ]\n\n const consoleSpy = createConsoleSpy()\n\n if (exportPaths.import.length) {\n checkExports(exportPaths.import, {cwd, external, format: 'esm', logger})\n }\n\n if (exportPaths.require.length) {\n checkExports(exportPaths.require, {cwd, external, format: 'cjs', logger})\n }\n\n consoleSpy.restore()\n }\n}\n\nasync function checkExports(\n exportPaths: string[],\n options: {cwd: string; external: string[]; format: 'esm' | 'cjs'; logger: Logger},\n) {\n const {cwd, external, format, logger} = options\n\n const code = exportPaths\n .map((id) => (format ? `import('${id}');` : `require('${id}');`))\n .join('\\n')\n\n try {\n const esbuildResult = await esbuild.build({\n bundle: true,\n external,\n format,\n logLevel: 'silent',\n // otherwise output maps to stdout as we're using stdin\n outfile: '/dev/null',\n platform: 'node',\n stdin: {\n contents: code,\n loader: 'js',\n resolveDir: cwd,\n },\n })\n\n if (esbuildResult.errors.length > 0) {\n for (const msg of esbuildResult.errors) {\n printEsbuildMessage(logger.warn, msg)\n\n logger.log()\n }\n\n process.exit(1)\n }\n\n const esbuildWarnings = esbuildResult.warnings.filter((msg) => {\n !(msg.detail || msg.text).includes(`does not affect esbuild's own target setting`)\n })\n\n for (const msg of esbuildWarnings) {\n printEsbuildMessage(logger.warn, msg)\n\n logger.log()\n }\n } catch (err) {\n const {errors} = err as BuildFailure\n\n for (const msg of errors) {\n printEsbuildMessage(logger.error, msg)\n\n logger.log()\n }\n\n process.exit(1)\n }\n}\n\nfunction printEsbuildMessage(log: (...args: unknown[]) => void, msg: esbuild.Message) {\n if (msg.location) {\n log(\n [\n `${msg.detail || msg.text}\\n`,\n `${msg.location.line} | ${msg.location.lineText}\\n`,\n `in ./${msg.location.file}:${msg.location.line}:${msg.location.column}`,\n ].join(''),\n )\n } else {\n log(msg.detail || msg.text)\n }\n}\n","import {readdir} from 'fs/promises'\n\nexport async function isEmptyDirectory(dirPath: string): Promise<boolean> {\n return (await readdir(dirPath)).length === 0\n}\n","import getLatestVersion from 'get-latest-version'\nimport gitUrlParse from 'git-url-parse'\nimport {outdent} from 'outdent'\nimport parseGitConfig from 'parse-git-config'\nimport {resolve} from 'path'\nimport prettier, {Config as PrettierConfig} from 'prettier'\n\nimport {defineTemplateOption, isRecord, PackageJSON, PkgTemplate, PkgTemplateFile} from '../../core'\n\nconst RE_NAME = /^(?:@(?:[a-z0-9-*~][a-z0-9-*._~]*)\\/)?[a-z0-9-~][a-z0-9-._~]*$/i\n\nexport const defaultTemplate: PkgTemplate = async ({cwd, logger, packagePath}) => {\n const gitConfig = await parseGitConfig({cwd, type: 'global'})\n\n return {\n options: [\n defineTemplateOption<{owner: string; name: string}>({\n name: 'repo',\n type: 'string',\n description: 'git url',\n validate: (v) => {\n if (!v) return true\n\n try {\n gitUrlParse(v)\n\n return true\n } catch (err) {\n return 'invalid git url'\n }\n },\n parse: (v) => {\n if (!v) return null\n\n const result = gitUrlParse(v)\n\n return {source: result.source, owner: result.owner, name: result.name}\n },\n }),\n defineTemplateOption({\n name: 'pkgName',\n type: 'string',\n description: 'package name',\n initial: (options) => options.repo?.name || undefined,\n validate: (v) => {\n if (!v) return 'package name is required'\n\n const match = RE_NAME.exec(v)\n\n if (!match) {\n return 'invalid package name'\n }\n\n return true\n },\n parse: (v) => {\n if (!v) {\n throw new Error('package name is required')\n }\n\n const match = RE_NAME.exec(v)\n\n if (!match) {\n throw new Error('invalid package name')\n }\n\n const [scope, name] = v.split('/')\n\n return {scope, name, fullName: v}\n },\n }),\n defineTemplateOption({\n name: 'description',\n type: 'string',\n description: 'package description',\n }),\n defineTemplateOption({\n name: 'authorName',\n type: 'string',\n description: 'package author name',\n initial: gitConfig?.user?.name,\n }),\n defineTemplateOption({\n name: 'authorEmail',\n type: 'string',\n description: 'package author email',\n initial: gitConfig?.user?.email,\n }),\n defineTemplateOption({\n name: 'license',\n type: 'string',\n description: 'package license',\n initial: 'MIT',\n validate: (v) => {\n if (!v) return 'license is required'\n\n return true\n },\n }),\n ],\n\n features: [\n {\n name: 'eslint',\n optional: true,\n initial: true,\n },\n {\n name: 'typescript',\n optional: true,\n initial: true,\n },\n ],\n\n async getFiles(options, features) {\n const {pkgName, repo} = options\n const {fullName: name} = pkgName\n\n const author =\n [options.authorName, options.authorEmail && `<${options.authorEmail}>`]\n .filter(Boolean)\n .join(' ') ?? undefined\n\n const prettierConfig: PrettierConfig = {\n bracketSpacing: false,\n printWidth: 100,\n semi: false,\n singleQuote: true,\n tabWidth: 2,\n plugins: ['prettier-plugin-packagejson'],\n overrides: [\n {\n files: ['*.yml'],\n options: {\n singleQuote: false,\n },\n },\n ],\n }\n\n const pkgJson: PackageJSON & {\n prettier?: PrettierConfig\n ['lint-staged']?: Record<string, string[]>\n } = {\n name,\n version: '0.0.0',\n description: options.description ?? undefined,\n keywords: [],\n license: options.license,\n author,\n type: 'module',\n exports: {\n '.': {\n types: undefined,\n source: features.typescript ? './src/index.ts' : './src/index.js',\n require: './dist/index.cjs',\n import: './dist/index.js',\n default: './dist/index.js',\n },\n './package.json': './package.json',\n },\n main: './dist/index.cjs',\n module: './dist/index.js',\n source: features.typescript ? './src/index.ts' : './src/index.js',\n files: ['dist', 'src'],\n scripts: {\n build: 'run-s clean pkg:build pkg:check',\n clean: 'rimraf dist',\n format: 'prettier --write --cache --ignore-unknown .',\n 'pkg:build': 'pkg build --strict',\n 'pkg:check': 'pkg check --strict',\n },\n prettier: prettierConfig,\n 'lint-staged': {\n '*': ['prettier --write --cache --ignore-unknown'],\n },\n dependencies: {},\n devDependencies: {\n '@sanity/pkg-utils': '*',\n 'lint-staged': '*',\n 'npm-run-all': '*',\n prettier: '*',\n 'prettier-plugin-packagejson': '*',\n rimraf: '*',\n },\n engines: {\n node: '>=18.0.0',\n },\n }\n\n const files: PkgTemplateFile[] = []\n\n // .editorconfig\n files.push({\n name: '.editorconfig',\n contents: outdent`\n root = true\n\n [*]\n charset = utf-8\n indent_style = space\n indent_size = 2\n end_of_line = lf\n insert_final_newline = true\n trim_trailing_whitespace = true\n `,\n })\n\n // .gitignore\n files.push({\n name: '.gitignore',\n contents: outdent`\n *.local\n *.log\n\n .DS_Store\n etc\n dist\n node_modules\n `,\n })\n\n files.push({\n name: '.prettierignore',\n contents: outdent`\n /dist\n /pnpm-lock.yaml\n `,\n })\n\n if (repo) {\n pkgJson.repository = {\n type: 'git',\n url: `git+ssh://git@${repo.source}/${repo.owner}/${repo.name}.git`,\n }\n pkgJson.bugs = {\n url: `https://${repo.source}/${repo.owner}/${repo.name}/issues`,\n }\n pkgJson.homepage = `https://${repo.source}/${repo.owner}/${repo.name}#readme`\n }\n\n if (features.typescript) {\n pkgJson.types = './dist/index.d.ts'\n\n const mainExport = pkgJson.exports?.['.']\n\n if (isRecord(mainExport)) {\n mainExport.types = './dist/index.d.ts'\n }\n\n pkgJson.scripts = {\n ...pkgJson.scripts,\n ['type:check']: 'tsc --build',\n }\n\n const devDependencies = pkgJson.devDependencies\n\n if (isRecord(devDependencies)) {\n devDependencies['typescript'] = '*'\n }\n }\n\n if (features.eslint) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const eslintConfig: any = {\n root: true,\n env: {\n browser: true,\n es6: true,\n node: true,\n },\n extends: ['eslint:recommended', 'plugin:prettier/recommended'],\n parserOptions: {\n ecmaVersion: 2020,\n sourceType: 'module',\n },\n plugins: ['import', 'prettier'],\n rules: {\n 'no-console': 'error',\n 'no-shadow': 'error',\n 'no-warning-comments': ['warn', {location: 'start', terms: ['todo', 'fixme']}],\n },\n }\n\n files.push({\n name: '.eslintignore',\n contents: outdent`\n /dist\n `,\n })\n\n pkgJson.scripts = {\n ...pkgJson.scripts,\n lint: features.typescript\n ? 'eslint . --ext .cjs,.js,.ts,.tsx'\n : 'eslint . --ext .cjs,.js',\n }\n\n pkgJson.devDependencies = {\n ...pkgJson.devDependencies,\n eslint: '*',\n 'eslint-config-prettier': '*',\n 'eslint-plugin-import': '*',\n 'eslint-plugin-prettier': '*',\n }\n\n if (features.typescript) {\n pkgJson.devDependencies = {\n ...pkgJson.devDependencies,\n '@typescript-eslint/eslint-plugin': '*',\n '@typescript-eslint/parser': '*',\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const eslintConfigOverride: any = {\n files: ['**/*.ts', '**/*.tsx'],\n parser: '@typescript-eslint/parser',\n parserOptions: {\n project: ['./tsconfig.json'],\n },\n extends: [\n 'eslint:recommended',\n 'plugin:prettier/recommended',\n 'plugin:@typescript-eslint/eslint-recommended',\n 'plugin:@typescript-eslint/recommended',\n ].filter(Boolean),\n plugins: ['import', '@typescript-eslint', 'prettier'].filter(Boolean),\n rules: {\n '@typescript-eslint/explicit-module-boundary-types': 'error',\n '@typescript-eslint/interface-name-prefix': 'off',\n '@typescript-eslint/member-delimiter-style': 'off',\n '@typescript-eslint/no-empty-interface': 'off',\n },\n }\n\n eslintConfig.overrides = [eslintConfigOverride]\n }\n\n files.push({\n name: '.eslintrc.cjs',\n contents: await format(\n resolve(packagePath, '.eslintrc.cjs'),\n outdent`\n 'use strict'\n\n /** @type import('eslint').Linter.Config */\n module.exports = ${JSON.stringify(eslintConfig, null, 2)}\n `,\n prettierConfig,\n ),\n })\n }\n\n if (features.typescript) {\n files.push({\n name: 'tsconfig.settings.json',\n contents: await format(\n resolve(packagePath, 'tsconfig.settings.json'),\n outdent`\n {\n \"compilerOptions\": {\n \"module\": \"ES2020\",\n \"target\": \"ES2020\",\n \"declaration\": true,\n \"declarationMap\": true,\n \"sourceMap\": true,\n\n // Strict type-checking\n \"strict\": true,\n \"noImplicitAny\": true,\n \"strictNullChecks\": true,\n \"strictFunctionTypes\": true,\n \"strictPropertyInitialization\": true,\n \"noImplicitThis\": true,\n \"alwaysStrict\": true,\n\n // Additional checks\n \"noUnusedLocals\": true,\n \"noUnusedParameters\": true,\n \"noImplicitReturns\": true,\n \"noFallthroughCasesInSwitch\": true,\n \"skipLibCheck\": true,\n\n // Module resolution\n \"moduleResolution\": \"node\",\n \"allowSyntheticDefaultImports\": true,\n \"esModuleInterop\": true\n }\n }\n `,\n prettierConfig,\n ),\n })\n\n files.push({\n name: 'tsconfig.dist.json',\n contents: await format(\n resolve(packagePath, 'tsconfig.dist.json'),\n outdent`\n {\n \"extends\": \"./tsconfig.settings\",\n \"include\": [\"./src\"],\n \"compilerOptions\": {\n \"rootDir\": \".\",\n \"outDir\": \"./dist\",\n \"emitDeclarationOnly\": true,\n \"resolveJsonModule\": true\n }\n }\n `,\n prettierConfig,\n ),\n })\n\n files.push({\n name: 'tsconfig.json',\n contents: await format(\n resolve(packagePath, 'tsconfig.json'),\n outdent`\n {\n \"extends\": \"./tsconfig.settings\",\n \"include\": [\"./*.cjs\", \"./*.ts\", \"./package.config.ts\", \"./src\"],\n \"compilerOptions\": {\n \"rootDir\": \".\",\n \"outDir\": \"./dist\",\n \"noEmit\": true,\n \"allowJs\": true,\n \"resolveJsonModule\": true,\n }\n }\n `,\n prettierConfig,\n ),\n })\n }\n\n // source file\n if (features.typescript) {\n files.push({\n name: 'package.config.ts',\n contents: await format(\n resolve(packagePath, 'package.config.ts'),\n outdent`\n import {defineConfig} from '@sanity/pkg-utils'\n\n export default defineConfig({\n extract: {\n rules: {\n // do not require internal members to be prefixed with \\`_\\`\n 'ae-internal-missing-underscore': 'off',\n },\n },\n\n // the path to the tsconfig file for distributed builds\n tsconfig: 'tsconfig.dist.json',\n })\n `,\n prettierConfig,\n ),\n })\n\n files.push({\n name: 'src/index.ts',\n contents: await format(\n resolve(packagePath, 'src/index.ts'),\n outdent`\n /** @public */\n export function main(): void {\n //\n }\n `,\n prettierConfig,\n ),\n })\n } else {\n files.push({\n name: 'package.config.js',\n contents: await format(\n resolve(packagePath, 'package.config.js'),\n outdent`\n import {defineConfig} from '@sanity/pkg-utils'\n\n export default defineConfig({\n extract: {\n rules: {\n // do not require internal members to be prefixed with \\`_\\`\n 'ae-internal-missing-underscore': 'off',\n },\n },\n })\n `,\n prettierConfig,\n ),\n })\n\n files.push({\n name: 'src/index.js',\n contents: await format(\n resolve(packagePath, 'src/index.js'),\n outdent`\n /** @public */\n export function main() {\n //\n }\n `,\n prettierConfig,\n ),\n })\n }\n\n // Resolve latest dependencies\n try {\n pkgJson.dependencies = await resolveLatestDeps(pkgJson.dependencies ?? {})\n } catch (error) {\n logger.warn(error instanceof Error ? error.message : error)\n }\n\n // Resolve latest devDependencies\n try {\n pkgJson.devDependencies = await resolveLatestDeps(pkgJson.devDependencies ?? {})\n } catch (error) {\n logger.warn(error instanceof Error ? error.message : error)\n }\n\n files.push({\n name: 'package.json',\n contents: await format(\n resolve(packagePath, 'package.json'),\n JSON.stringify(pkgJson, null, 2),\n prettierConfig,\n ),\n })\n\n return files\n },\n }\n}\n\nfunction format(filepath: string, input: string, prettierOptions: PrettierConfig) {\n return prettier.format(input, {...prettierOptions, filepath})\n}\n\nasync function resolveLatestDeps(deps: Record<string, string>) {\n const depsEntries = Object.entries(deps)\n const latestDeps: Record<string, string> = {}\n\n for (const entry of depsEntries) {\n const [name, version] = entry\n const latestVersion = await getLatestVersion(name, version)\n\n latestDeps[name] = latestVersion ? `^${latestVersion}` : version\n }\n\n return latestDeps\n}\n","import {lstat} from 'fs/promises'\nimport {mkdirp} from 'mkdirp'\nimport {resolve} from 'path'\n\nimport {createFromTemplate} from './core/template'\nimport {fileExists} from './fileExists'\nimport {isEmptyDirectory} from './isEmptyDirectory'\nimport {createLogger} from './logger'\nimport {defaultTemplate} from './templates'\n\n/** @public */\nexport async function init(options: {cwd: string; path: string}): Promise<void> {\n if (!options.cwd) {\n throw new Error('Missing required option: cwd')\n }\n\n if (!options.path) {\n throw new Error('Missing required option: path')\n }\n\n const logger = createLogger()\n\n const packagePath = resolve(options.cwd, options.path)\n\n await ensurePackagePath(packagePath)\n\n await createFromTemplate({\n cwd: options.cwd,\n logger,\n template: defaultTemplate,\n packagePath,\n })\n}\n\nasync function ensurePackagePath(packagePath: string): Promise<void> {\n const exists = fileExists(packagePath)\n\n if (!exists) {\n await mkdirp(packagePath)\n\n return\n }\n\n const dir = (await lstat(packagePath)).isDirectory()\n\n if (!dir) {\n throw new Error('the package path is a file, not a directory')\n }\n\n const empty = await isEmptyDirectory(packagePath)\n\n if (!empty) {\n throw new Error('the package directory is not empty')\n }\n}\n","import fs from 'fs'\nimport path from 'path'\n\nimport {BuildContext, PkgExport, PkgFormat, PkgRuntime} from './core'\nimport {DtsWatchTask, RollupTaskEntry, RollupWatchTask, WatchTask} 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'\nimport path from 'path'\n\nexport function globFiles(patterns: string[]): Promise<string[]> {\n return globby(patterns.map((pattern) => pattern.split(path.sep).join(path.posix.sep)))\n}\n","import chokidar from 'chokidar'\nimport {Observable} from 'rxjs'\n\nexport interface FileEvent {\n type: 'add' | 'addDir' | 'change' | 'unlink' | 'unlinkDir'\n file: string\n}\n\nexport function watchFiles(patterns: string[]): Observable<FileEvent> {\n return new Observable((observer) => {\n const watcher = chokidar.watch(patterns, {\n ignoreInitial: true,\n })\n\n function handleFileEvent(\n type: 'add' | 'addDir' | 'change' | 'unlink' | 'unlinkDir',\n file: string,\n ) {\n observer.next({type, file})\n }\n\n watcher.on('all', handleFileEvent)\n\n return () => {\n watcher.off('all', handleFileEvent)\n watcher.close()\n }\n })\n}\n","import path from 'path'\nimport {Observable} from 'rxjs'\nimport {distinctUntilChanged, scan, startWith} from 'rxjs/operators'\n\nimport {globFiles} from './globFiles'\nimport {Logger} from './logger'\nimport {watchFiles} from './watchFiles'\n\nexport async function watchConfigFiles(options: {\n cwd: string\n logger: Logger\n}): Promise<Observable<string[]>> {\n const {cwd, logger} = options\n\n const initialFiles = await globFiles([\n path.resolve(cwd, 'package.json'),\n path.resolve(cwd, 'package.config.cjs'),\n path.resolve(cwd, 'package.config.js'),\n path.resolve(cwd, 'package.config.ts'),\n ])\n\n const fileEvent$ = watchFiles([\n path.resolve(cwd, 'package.json'),\n path.resolve(cwd, 'package.config.cjs'),\n path.resolve(cwd, 'package.config.js'),\n path.resolve(cwd, 'package.config.ts'),\n ])\n\n return fileEvent$.pipe(\n scan((files, fileEvent) => {\n if (fileEvent.type === 'add') {\n return files.concat(fileEvent.file)\n }\n\n if (fileEvent.type === 'unlink') {\n return files.filter((f) => f !== fileEvent.file)\n }\n\n if (fileEvent.type === 'change') {\n logger.log(\n '--------------------------------------------------------------------------------',\n )\n logger.info(path.relative(cwd, fileEvent.file), 'changed')\n logger.log('')\n\n return files.slice(0) // trigger update\n }\n\n return files\n }, initialFiles),\n startWith(initialFiles),\n distinctUntilChanged(),\n )\n}\n","import path from 'path'\nimport {switchMap} from 'rxjs'\n\nimport {getPkgExtMap, loadConfig, loadPkgWithReporting} from './core'\nimport {createLogger} from './logger'\nimport {resolveBuildContext} from './resolveBuildContext'\nimport {resolveWatchTasks} from './resolveWatchTasks'\nimport {TaskHandler, WatchTask, watchTaskHandlers} from './tasks'\nimport {watchConfigFiles} from './watchConfigFiles'\n\n/** @public */\nexport async function watch(options: {\n cwd: string\n strict?: boolean\n tsconfig?: string\n}): Promise<void> {\n const {cwd, strict = false, tsconfig: tsconfigOption} = options\n\n const logger = createLogger()\n\n const configFiles$ = await watchConfigFiles({cwd, logger})\n\n const ctx$ = configFiles$.pipe(\n switchMap(async (configFiles) => {\n const files = configFiles.map((f) => path.relative(cwd, f))\n\n const packageJsonPath = files.find((f) => f === 'package.json')\n\n if (!packageJsonPath) {\n throw new Error('missing package.json')\n }\n\n const pkg = await loadPkgWithReporting({cwd, logger})\n const config = await loadConfig({cwd})\n const extMap = getPkgExtMap({legacyExports: config?.legacyExports ?? false})\n const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'\n\n return resolveBuildContext({config, cwd, extMap, logger, pkg, strict, tsconfig})\n }),\n )\n\n ctx$.subscribe(async (ctx) => {\n const watchTasks = resolveWatchTasks(ctx)\n\n for (const task of watchTasks) {\n const handler = watchTaskHandlers[task.type] as TaskHandler<WatchTask, unknown>\n const result$ = handler.exec(ctx, task)\n\n result$.subscribe({\n error: (err) => {\n ctx.logger.error(err)\n ctx.logger.log()\n\n process.exit(1)\n },\n next: (result) => {\n handler.complete(ctx, task, result)\n },\n complete: () => {\n ctx.logger.success(handler.name(ctx, task))\n ctx.logger.log()\n },\n })\n }\n })\n}\n"],"names":["defineConfig","configOptions","fileExists","filePath","statSync","_","CONFIG_FILE_NAMES","findConfigFile","cwd","pkgJsonPath","findConfig","pkgPath","path","dirname","fileName","configPath","resolve","exists","loadConfig","options","pkgUp","root","configFile","startsWith","esbuildOptions","extensions","unregister","globalThis","__DEV__","register","mod","require","default","resolveConfigProperty","prop","initialValue","DEFAULT_BROWSERSLIST_QUERY","isRecord","value","Boolean","Array","isArray","pkgSchema","z","object","type","optional","enum","name","string","version","license","bin","record","dependencies","devDependencies","peerDependencies","source","main","browser","module","types","exports","union","custom","val","test","import","node","browserslist","array","validatePkg","input","parse","loadPkg","Error","buf","fs","readFile","raw","JSON","toString","assertFirst","a","arr","aIdx","indexOf","assertLast","length","assertOrder","b","bIdx","loadPkgWithReporting","logger","pkg","shouldError","_exports","Object","entries","expPath","exp","keys","error","concat","nodeKeys","warn","process","exit","err","ZodError","issue","issues","code","formatPath","chalk","magenta","expected","received","join","segments","map","s","idx","validateExports","extMap","ext","errors","endsWith","commonjs","push","_path","esm","parseExports","strict","rootExport","_exported","extraExports","exportPath","exportEntry","assign","extraExport","DEFAULT_PKG_EXT_MAP","getPkgExtMap","legacyExports","ret","promptsTypes","createFromTemplate","packagePath","template","templateOrResolver","log","relative","templateOptions","templateOption","templateValidate","validate","res","prompts","message","description","prev","initial","onCancel","features","templateFeature","confirm","files","getFiles","sort","localeCompare","file","mkdirp","writeFile","contents","trim","success","defineTemplateOption","option","loadTSConfig","tsconfigPath","ts","sys","readConfigFile","parseJsonConfigFileContent","config","createLogger","console","arguments","info","_len","args","_key","blue","_len2","_key2","yellow","_len3","_key3","red","_len4","_key4","green","pathContains","containerPath","itemPath","findCommonDirPath","filePaths","dirPath","sortAsNumber","aVersion","Number","bVersion","resolveBrowserslistVersions","query","result","key","split","andChr","filter","andFf","chrome","edge","ff","iosSaf","saf","opera","versions","resolveBrowserTarget","target","resolveNodeTarget","resolveBuildContext","_ref","emitDeclarationOnly","tsconfig","targetVersions","nodeTarget","webTarget","parsedExports","reduce","acc","x","parsedExternal","external","outputPaths","values","flatMap","_a","_b","_c","_d","p","commonDistPath","configDistPath","dist","distPath","ctx","runtime","resolveBuildTasks","_e","bundles","tasks","_ref2","dtsTask","rollupTasks","addRollupTaskEntry","format","entry","buildId","importId","sourcePath","targetPath","output","bundle","relativeTargetPath","replace","writeFileSync","nodeReexportCjsEntries","createSpinner","msg","startTime","Date","now","complete","gray","printExtractMessages","messages","warnings","logLevel","sourceFilePath","messageId","cyan","sourceFileLine","sourceFileColumn","text","printDiagnostic","diagnostic","start","line","character","getLineAndCharacterOfPosition","flattenDiagnosticMessageText","messageText","category","DiagnosticCategory","Warning","Message","Suggestion","buildTypes","outDir","compilerOptions","declaration","declarationDir","noEmit","program","createProgram","fileNames","emitResult","emit","allDiagnostics","getPreEmitDiagnostics","diagnostics","emitSkipped","diag","DtsError","constructor","_defineProperty","createApiExtractorConfig","projectFolder","mainEntryPointFilePath","apiReport","enabled","reportFileName","compiler","tsconfigFilePath","docModel","apiJsonFilePath","dtsRollup","untrimmedFilePath","tsdocMetadata","createTSDocConfig","opts","customTags","tsDocBaseBuf","tsDocBaseConfig","tagDefinitions","t","tagName","syntaxKind","allowMultiple","supportForTags","customTag","TSDocConfigFile","loadFromObject","noStandardTags","extractModuleBlocksFromTypes","_ref3","tsOutDir","extractResult","compilerState","moduleBlocks","allProgramFiles","getSourceFiles","sourceFiles","sourceFile","includes","extractModuleBlocks","fileContent","ast","parser","typeScriptParser","body","print","LOG_LEVELS","off","getExtractMessagesConfig","rules","ruleToLogLevel","defaultLevel","r","compilerMessageReporting","extractorMessageReporting","addToApiReportFile","tsdocMessageReporting","extractTypes","projectPath","sourceTypesPath","tmpPath","tsdocConfigFile","extractorConfig","ExtractorConfig","prepare","configObject","configObjectFullPath","packageJsonFullPath","extractorResult","Extractor","invoke","localBuild","showVerboseMessages","messageCallback","handled","typesPath","typesBuf","prettierConfig","prettier","resolveConfig","filepath","doExtract","task","results","rootDir","extract","some","rimraf","_ctx","exec","Observable","observer","then","next","catch","_task","dtsWatchTask","nodeReexportCjsTask","from","targetDir","relativeImport","slice","compileESMWrapper","k","__esModule","createConsoleSpy","onRestored","original","_len5","_key5","_len6","_key6","_len7","_key7","restore","resolveRollupConfig","buildTask","_ref4","_ref7","_ref8","_ref9","_ref10","_ref11","outputExt","minify","pathAliases","fromEntries","paths","_ref5","baseUrl","exportIds","sourcePaths","e","replacements","define","_ref6","stringify","defaultPlugins","preventAssignment","arg","find","env","PKG_VERSION","alias","nodeResolve","preferBuiltins","json","esbuild","jsx","jsxFactory","jsxFragment","jsxImportSource","getBabelOutputPlugin","babelrc","plugins","babel","presets","targets","modules","terser","compress","directives","comments","_node","comment","userPlugins","rollup","inputOptions","context","id","importer","idPath","idParts","treeshake","propertyReadSideEffects","outputOptions","chunkFileNames","parts","compact","dir","entryFileNames","esModule","interop","minifyInternalExports","sourcemap","hoistTransitiveImports","rollupTask","bundleEntries","targetLines","bundlesLines","entriesLines","execPromise","consoleSpy","String","onwarn","warning","generate","chunkOrAsset","write","close","rollupWatchTask","watchOptions","watcher","rollupWatch","on","event","buildTaskHandlers","watchTaskHandlers","build","_ref12","tsconfigOption","buildTasks","handler","taskName","spinner","toPromise","RE_CWD","RegExp","getFilesize","stats","prettyBytes","size","getFileInfo","printPackageTree","tree","_ref13","fileInfo","_ref14","_ref15","treeify","asTree","check","_ref16","missingFiles","exportPaths","checkExports","esbuildResult","outfile","platform","stdin","loader","resolveDir","printEsbuildMessage","esbuildWarnings","detail","location","lineText","column","isEmptyDirectory","readdir","RE_NAME","defaultTemplate","_ref17","gitConfig","parseGitConfig","v","gitUrlParse","owner","repo","match","scope","fullName","user","email","_filter$join","_options$description","pkgName","author","authorName","authorEmail","bracketSpacing","printWidth","semi","singleQuote","tabWidth","overrides","pkgJson","keywords","typescript","scripts","clean","engines","outdent","_templateObject","_taggedTemplateLiteral","_templateObject2","_templateObject3","repository","url","bugs","homepage","mainExport","eslint","eslintConfig","es6","extends","parserOptions","ecmaVersion","sourceType","terms","_templateObject4","lint","eslintConfigOverride","project","_templateObject5","_templateObject6","_templateObject7","_templateObject8","_templateObject9","_templateObject10","_templateObject11","_templateObject12","_pkgJson$dependencies","resolveLatestDeps","_pkgJson$devDependenc","prettierOptions","deps","depsEntries","latestDeps","latestVersion","getLatestVersion","init","ensurePackagePath","lstat","isDirectory","empty","resolveWatchTasks","_ref18","globFiles","patterns","globby","pattern","sep","posix","watchFiles","chokidar","watch","ignoreInitial","handleFileEvent","watchConfigFiles","initialFiles","fileEvent$","pipe","scan","fileEvent","f","startWith","distinctUntilChanged","configFiles$","ctx$","switchMap","configFiles","_ref19","packageJsonPath","subscribe","watchTasks","result$"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/node/core/config/defineConfig.ts","../src/node/fileExists.ts","../src/node/core/config/findConfigFile.ts","../src/node/core/config/loadConfig.ts","../src/node/core/config/resolveConfigProperty.ts","../src/node/core/defaults.ts","../src/node/core/isRecord.ts","../src/node/core/pkg/validatePkg.ts","../src/node/core/pkg/loadPkg.ts","../src/node/core/pkg/helpers.ts","../src/node/core/pkg/loadPkgWithReporting.ts","../src/node/core/pkg/validateExports.ts","../src/node/core/pkg/parseExports.ts","../src/node/core/pkg/pkgExt.ts","../src/node/core/template/createFromTemplate.ts","../src/node/core/template/define.ts","../src/node/core/ts/loadTSConfig.ts","../src/node/logger.ts","../src/node/core/findCommonPath.ts","../src/node/resolveBrowserslistVersions.ts","../src/node/resolveBrowserTarget.ts","../src/node/resolveNodeTarget.ts","../src/node/resolveBuildContext.ts","../src/node/resolveBuildTasks.ts","../src/node/spinner.ts","../src/node/printExtractMessages.ts","../src/node/tasks/dts/printDiagnostic.ts","../src/node/tasks/dts/buildTypes.ts","../src/node/tasks/dts/DtsError.ts","../src/node/tasks/dts/createApiExtractorConfig.ts","../src/node/tasks/dts/createTSDocConfig.ts","../src/node/tasks/dts/extractModuleBlocks.ts","../src/node/tasks/dts/getExtractMessagesConfig.ts","../src/node/tasks/dts/extractTypes.ts","../src/node/tasks/dts/doExtract.ts","../src/node/tasks/dts/dtsTask.ts","../src/node/tasks/dts/dtsWatchTask.ts","../src/node/tasks/node/reexportCjsTask.ts","../src/node/consoleSpy.ts","../src/node/tasks/rollup/resolveRollupConfig.ts","../src/node/tasks/rollup/rollupTask.ts","../src/node/tasks/rollup/rollupWatchTask.ts","../src/node/tasks/index.ts","../src/node/build.ts","../src/node/getFilesize.ts","../src/node/printPackageTree.ts","../src/node/check.ts","../src/node/isEmptyDirectory.ts","../src/node/templates/default/template.ts","../src/node/init.ts","../src/node/resolveWatchTasks.ts","../src/node/globFiles.ts","../src/node/watchFiles.ts","../src/node/watchConfigFiles.ts","../src/node/watch.ts"],"sourcesContent":["import {PkgConfigOptions} from './types'\n\n/** @public */\nexport function defineConfig(configOptions: PkgConfigOptions): PkgConfigOptions {\n return configOptions\n}\n","import {statSync} from 'fs'\n\n/** @internal */\nexport function fileExists(filePath: string): boolean {\n try {\n statSync(filePath)\n\n return true\n } catch (_) {\n return false\n }\n}\n","import findConfig from 'find-config'\nimport path from 'path'\n\nimport {fileExists} from '../../fileExists'\n\nconst CONFIG_FILE_NAMES = [\n 'package.config.ts',\n 'package.config.js',\n 'package.config.cjs',\n 'package.config.mjs',\n]\n\n/** @internal */\nexport function findConfigFile(cwd: string): 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 = fileExists(configPath)\n\n if (exists) {\n return configPath\n }\n }\n\n return undefined\n}\n","import {register} from 'esbuild-register/dist/node'\nimport path from 'path'\nimport pkgUp from 'pkg-up'\n\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","/** @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 {z} from 'zod'\n\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 import: z.optional(z.string()),\n require: z.optional(z.string()),\n }),\n ),\n node: z.optional(\n z.object({\n source: z.optional(z.string()),\n module: z.optional(z.string()),\n import: z.optional(z.string()),\n require: z.optional(z.string()),\n }),\n ),\n module: z.optional(z.string()),\n import: z.optional(z.string()),\n require: z.optional(z.string()),\n default: z.string(),\n }),\n ]),\n ),\n ),\n browserslist: z.optional(z.array(z.string())),\n})\n\nexport function validatePkg(input: unknown): PackageJSON {\n return pkgSchema.parse(input)\n}\n","import fs from 'fs/promises'\nimport pkgUp from 'pkg-up'\n\nimport {PackageJSON} from './types'\nimport {validatePkg} from './validatePkg'\n\n/** @internal */\nexport async function loadPkg(options: {cwd: string}): Promise<PackageJSON> {\n const {cwd} = options\n\n const pkgPath = await pkgUp({cwd})\n\n if (!pkgPath) throw new Error('no package.json found')\n\n const buf = await fs.readFile(pkgPath)\n\n const raw = JSON.parse(buf.toString())\n\n validatePkg(raw)\n\n return raw\n}\n","/** @internal */\nexport function assertFirst<T>(a: T, arr: T[]): boolean {\n const aIdx = arr.indexOf(a)\n\n // if not found, then we don't care\n if (aIdx === -1) {\n return true\n }\n\n return aIdx === 0\n}\n\n/** @internal */\nexport function assertLast<T>(a: T, arr: T[]): boolean {\n const aIdx = arr.indexOf(a)\n\n // if not found, then we don't care\n if (aIdx === -1) {\n return true\n }\n\n return aIdx === arr.length - 1\n}\n\n/** @internal */\nexport function assertOrder<T>(a: T, b: T, arr: T[]): boolean {\n const aIdx = arr.indexOf(a)\n const bIdx = arr.indexOf(b)\n\n // if either is not found, then we don't care\n if (aIdx === -1 || bIdx === -1) {\n return true\n }\n\n return aIdx < bIdx\n}\n","import chalk from 'chalk'\nimport {ZodError} from 'zod'\n\nimport {Logger} from '../../logger'\nimport {assertFirst, assertLast, assertOrder} from './helpers'\nimport {loadPkg} from './loadPkg'\nimport {PackageJSON} from './types'\n\n/** @internal */\nexport async function loadPkgWithReporting(options: {\n cwd: string\n logger: Logger\n}): Promise<PackageJSON> {\n const {cwd, logger} = options\n\n try {\n const pkg = await loadPkg({cwd})\n let shouldError = false\n\n // validate exports\n if (pkg.exports) {\n const _exports = Object.entries(pkg.exports)\n\n for (const [expPath, exp] of _exports) {\n if (typeof exp === 'string') {\n continue\n }\n\n const keys = Object.keys(exp)\n\n if (!assertFirst('types', keys)) {\n shouldError = true\n logger.error(`exports[\"${expPath}\"]: the \\`types\\` property should be the first property`)\n }\n\n if (exp.node) {\n const nodeKeys = Object.keys(exp.node)\n\n if (!assertOrder('module', 'import', nodeKeys)) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node.module\\` property should come before the \\`node.import\\` property`,\n )\n }\n\n if (!assertOrder('import', 'require', nodeKeys)) {\n logger.warn(\n `exports[\"${expPath}\"]: the \\`node.import\\` property should come before the \\`node.require\\` property`,\n )\n }\n\n if (!assertOrder('module', 'require', nodeKeys)) {\n logger.warn(\n `exports[\"${expPath}\"]: the \\`node.module\\` property should come before \\`node.require\\` property`,\n )\n }\n\n if (exp.import && exp.node.import && !assertOrder('node', 'import', keys)) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node\\` property should come before the \\`import\\` property`,\n )\n }\n\n if (exp.module && exp.node.module && !assertOrder('node', 'module', keys)) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node\\` property should come before the \\`module\\` property`,\n )\n }\n\n // If there's a `node.import` property but not a `node.require` we can assume `node.import` is wrapping `import` and `node.module` should be added for bundlers\n if (\n exp.node.import &&\n (!exp.node.require || exp.require === exp.node.require) &&\n !exp.node.module\n ) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node.module\\` property should be added so bundlers don't unintentionally try to bundle \\`node.import\\`. Its value should be \\`\"module\": \"${exp.import}\"\\``,\n )\n }\n\n if (\n exp.node.import &&\n !exp.node.require &&\n exp.node.module &&\n exp.import &&\n exp.node.module !== exp.import\n ) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node.module\\` property should match \\`import\\``,\n )\n }\n\n if (exp.require && exp.node.require && exp.require === exp.node.require) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node.require\\` property isn't necessary as it's identical to \\`require\\``,\n )\n } else if (exp.require && exp.node.require && !assertOrder('node', 'require', keys)) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node\\` property should come before the \\`require\\` property`,\n )\n }\n } else {\n if (!assertOrder('import', 'require', keys)) {\n logger.warn(\n `exports[\"${expPath}\"]: the \\`import\\` property should come before the \\`require\\` property`,\n )\n }\n\n if (!assertOrder('module', 'import', keys)) {\n logger.warn(\n `exports[\"${expPath}\"]: the \\`module\\` property should come before \\`import\\` property`,\n )\n }\n }\n\n if (!assertLast('default', keys)) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`default\\` property should be the last property`,\n )\n }\n }\n }\n\n if (shouldError) {\n process.exit(1)\n }\n\n return pkg\n } catch (err) {\n if (err instanceof ZodError) {\n for (const issue of err.issues) {\n if (issue.code === 'invalid_type') {\n logger.error(\n [\n `\\`${formatPath(issue.path)}\\` `,\n `in \\`./package.json\\` must be of type ${chalk.magenta(issue.expected)} `,\n `(received ${chalk.magenta(issue.received)})`,\n ].join(''),\n )\n continue\n }\n\n logger.error(issue)\n }\n } else {\n logger.error(err)\n }\n\n process.exit(1)\n }\n}\n\nfunction formatPath(segments: Array<string | number>) {\n return segments\n .map((s, idx) => {\n if (idx === 0) return s\n\n if (typeof s === 'number') {\n return `[${s}]`\n }\n\n if (s.startsWith('.')) {\n return `[\"${s}\"]`\n }\n\n return `.${s}`\n })\n .join('')\n}\n","import {PkgExport} from '../config'\nimport {PkgExtMap} from './pkgExt'\nimport {PackageJSON} from './types'\n\nexport function validateExports(\n _exports: (PkgExport & {_path: string})[],\n options: {extMap: PkgExtMap; pkg: PackageJSON},\n): string[] {\n const {extMap, pkg} = options\n const ext = extMap[pkg.type || 'commonjs']\n\n const errors: string[] = []\n\n for (const exp of _exports) {\n if (exp.require && !exp.require.endsWith(ext.commonjs)) {\n errors.push(\n `package.json with \\`type: \"${pkg.type}\"\\` - \\`exports[\"${exp._path}\"].require\\` must end with \"${ext.commonjs}\"`,\n )\n }\n\n if (exp.import && !exp.import.endsWith(ext.esm)) {\n errors.push(\n `package.json with \\`type: \"${pkg.type}\"\\` - \\`exports[\"${exp._path}\"].import\\` must end with \"${ext.esm}\"`,\n )\n }\n }\n\n return errors\n}\n","import {PkgExport} from '../config'\nimport {isRecord} from '../isRecord'\nimport {PkgExtMap} from './pkgExt'\nimport {PackageJSON} from './types'\nimport {validateExports} from './validateExports'\n\n/** @internal */\nexport function parseExports(options: {\n extMap: PkgExtMap\n pkg: PackageJSON\n strict: boolean\n}): (PkgExport & {_path: string})[] {\n const {extMap, pkg, strict} = options\n\n const rootExport: PkgExport & {_path: string} = {\n _exported: true,\n _path: '.',\n types: pkg.types,\n source: pkg.source || '',\n browser: pkg.browser && {\n source: pkg.source || '',\n require: pkg.main && pkg.browser[pkg.main],\n import: pkg.module && pkg.browser[pkg.module],\n },\n require: pkg.main,\n import: pkg.module,\n default: pkg.module || pkg.main || '',\n }\n\n const extraExports: (PkgExport & {_path: string})[] = []\n\n const errors: string[] = []\n\n if (pkg.exports) {\n if (strict && !pkg.exports['./package.json']) {\n errors.push('package.json: `exports[\"./package.json\"] must be declared.')\n }\n\n for (const [exportPath, exportEntry] of Object.entries(pkg.exports)) {\n if (exportPath.endsWith('.json')) {\n if (exportPath === './package.json') {\n if (exportEntry !== './package.json') {\n errors.push('package.json: `exports[\"./package.json\"] must be \"./package.json\".')\n }\n }\n } else if (isRecord(exportEntry)) {\n if (exportPath === '.') {\n if (\n exportEntry.require &&\n rootExport.require &&\n exportEntry.require !== rootExport.require\n ) {\n errors.push(\n 'package.json: mismatch between \"main\" and \"exports.require\". These must be equal.',\n )\n }\n\n if (exportEntry.import && rootExport.import && exportEntry.import !== rootExport.import) {\n errors.push(\n 'package.json: mismatch between \"module\" and \"exports.import\" These must be equal.',\n )\n }\n\n if (exportEntry.types && rootExport.types && exportEntry.types !== rootExport.types) {\n errors.push(\n 'package.json: mismatch between \"types\" and \"exports.types\". These must be equal.',\n )\n }\n\n if (exportEntry.source && rootExport.source && exportEntry.source !== rootExport.source) {\n errors.push(\n 'package.json: mismatch between \"source\" and \"exports.source\". These must be equal.',\n )\n }\n\n Object.assign(rootExport, exportEntry)\n } else {\n const extraExport: PkgExport & {_path: string} = {\n _exported: true,\n _path: exportPath,\n ...exportEntry,\n }\n\n extraExports.push(extraExport)\n }\n } else {\n errors.push('package.json: exports must be an object')\n }\n }\n }\n\n const _exports = [rootExport, ...extraExports]\n\n errors.push(...validateExports(_exports, {extMap, pkg}))\n\n if (errors.length) {\n throw new Error('\\n- ' + errors.join('\\n- '))\n }\n\n return _exports\n}\n","/** @internal */\nexport interface PkgExtMap {\n commonjs: {commonjs: string; esm: string}\n module: {commonjs: string; esm: string}\n}\n\n/** @internal */\nexport const DEFAULT_PKG_EXT_MAP: PkgExtMap = {\n // pkg.type: \"commonjs\"\n commonjs: {\n commonjs: '.js',\n esm: '.mjs',\n },\n\n // pkg.type: \"module\"\n module: {\n commonjs: '.cjs',\n esm: '.js',\n },\n}\n\n/** @internal */\nexport function getPkgExtMap(options: {legacyExports: boolean}): PkgExtMap {\n const {legacyExports} = options\n\n const ret = {...DEFAULT_PKG_EXT_MAP}\n\n // Fall back to legacy file extensions for package.json with `\"type\": \"commonjs\"`\n // NOTE: Not supported by Node 14+ and will be removed in a future version\n if (legacyExports) {\n ret['commonjs'] = {\n commonjs: '.js',\n esm: '.esm.js',\n }\n }\n\n return ret\n}\n","import {writeFile} from 'fs/promises'\nimport {mkdirp} from 'mkdirp'\nimport {dirname, relative, resolve} from 'path'\nimport prompts from 'prompts'\n\nimport {Logger} from '../../logger'\nimport {PkgTemplate} from './types'\n\nconst promptsTypes = {\n string: 'text' as const,\n}\n\n/** @internal */\nexport async function createFromTemplate(options: {\n cwd: string\n logger: Logger\n packagePath: string\n template: PkgTemplate\n}): Promise<void> {\n const {cwd, logger, packagePath, template: templateOrResolver} = options\n\n const template =\n typeof templateOrResolver === 'function'\n ? await templateOrResolver({cwd, logger, packagePath})\n : templateOrResolver\n\n logger.log('create new package at', relative(cwd, packagePath))\n\n const templateOptions: Record<string, string> = {}\n\n for (const templateOption of template.options) {\n const templateValidate = templateOption.validate\n\n const res = await prompts(\n {\n type: promptsTypes[templateOption.type],\n name: templateOption.name,\n message: templateOption.description,\n validate: templateValidate ? (prev) => templateValidate(prev) : undefined,\n initial:\n typeof templateOption.initial === 'function'\n ? templateOption.initial(templateOptions)\n : templateOption.initial,\n },\n {onCancel: () => process.exit(0)},\n )\n\n templateOptions[templateOption.name] = templateOption.parse\n ? templateOption.parse(res[templateOption.name])\n : res[templateOption.name]\n }\n\n const features: Record<string, boolean> = {}\n\n for (const templateFeature of template.features) {\n const res = templateFeature.optional\n ? await prompts(\n {\n type: 'confirm',\n name: 'confirm',\n message: `use ${templateFeature.name}?`,\n initial: templateFeature.initial,\n },\n {onCancel: () => process.exit(0)},\n )\n : undefined\n\n features[templateFeature.name] = res?.confirm || !templateFeature.optional\n }\n\n const files = await template.getFiles(templateOptions, features)\n\n files.sort((a, b) => {\n return a.name.localeCompare(b.name)\n })\n\n for (const file of files) {\n const filePath = resolve(packagePath, file.name)\n\n await mkdirp(dirname(filePath))\n await writeFile(filePath, file.contents.trim() + '\\n')\n\n logger.success(`wrote ${relative(cwd, filePath)}`)\n }\n}\n","import {PkgTemplateOption} from './types'\n\n/** @public */\nexport function defineTemplateOption<T>(option: PkgTemplateOption<T>): PkgTemplateOption<T> {\n return option\n}\n","import ts from 'typescript'\n\n/** @internal */\nexport async function loadTSConfig(options: {\n cwd: string\n tsconfigPath: string\n}): Promise<ts.ParsedCommandLine> {\n const {cwd, tsconfigPath} = options\n\n const configPath = ts.findConfigFile(cwd, ts.sys.fileExists, tsconfigPath)\n\n if (!configPath) {\n throw new Error(`could not find a valid '${tsconfigPath}'`)\n }\n\n const configFile = ts.readConfigFile(configPath, ts.sys.readFile)\n\n return ts.parseJsonConfigFileContent(configFile.config, ts.sys, cwd)\n}\n","import chalk from 'chalk'\n\n/** @internal */\nexport interface Logger {\n log: (...args: unknown[]) => void\n info: (...args: unknown[]) => void\n warn: (...args: unknown[]) => void\n error: (...args: unknown[]) => void\n success: (...args: unknown[]) => void\n}\n\n/** @internal */\nexport function createLogger(): Logger {\n return {\n /* eslint-disable no-console */\n log: (...args) => {\n console.log(...args)\n },\n info: (...args) => {\n console.log(chalk.blue('[info]'), ...args)\n },\n warn: (...args) => {\n console.log(chalk.yellow('[warning]'), ...args)\n },\n error: (...args) => {\n console.log(chalk.red('[error]'), ...args)\n },\n success: (...args) => {\n console.log(chalk.green('[success]'), ...args)\n },\n /* eslint-enable no-console */\n }\n}\n","import path from 'path'\n\nexport function pathContains(containerPath: string, itemPath: string): boolean {\n return !path.relative(containerPath, itemPath).startsWith('..')\n}\n\nexport function findCommonDirPath(filePaths: string[]): string | undefined {\n let ret: string | undefined = undefined\n\n for (const filePath of filePaths) {\n let dirPath = path.dirname(filePath)\n\n if (!ret) {\n ret = dirPath\n continue\n }\n\n while (dirPath !== ret) {\n dirPath = path.dirname(dirPath)\n\n if (dirPath === ret) {\n break\n }\n\n if (pathContains(dirPath, ret)) {\n ret = dirPath\n break\n }\n\n if (dirPath === '.') return undefined\n }\n }\n\n return ret\n}\n","import browserslist from 'browserslist'\n\nexport interface PackageTargetVersions {\n chrome: string[]\n ff: string[]\n edge: string[]\n iosSaf: string[]\n saf: string[]\n opera: string[]\n node: string[]\n}\n\nfunction sortAsNumber(a: string, b: string) {\n const aVersion = Number(a)\n const bVersion = Number(b)\n\n return aVersion - bVersion\n}\n\nexport function resolveBrowserslistVersions(query: string[]): PackageTargetVersions {\n const result = browserslist(query)\n\n const entries = result.map((key) => {\n const [name, version] = key.split(' ')\n\n return {name, version: version.split('-')[0].split('.')[0]}\n })\n\n const andChr = entries.filter((b) => b.name === 'and_chr')\n const andFf = entries.filter((b) => b.name === 'and_ff')\n const chrome = entries.filter((b) => b.name === 'chrome')\n const edge = entries.filter((b) => b.name === 'edge')\n const ff = entries.filter((b) => b.name === 'firefox')\n const iosSaf = entries.filter((b) => b.name === 'ios_saf')\n const saf = entries.filter((b) => b.name === 'safari')\n const opera = entries.filter((b) => b.name === 'opera')\n const node = entries.filter((b) => b.name === 'node')\n\n // versions\n const versions: PackageTargetVersions = {\n chrome: andChr.concat(chrome).map((b) => b.version),\n ff: andFf.concat(ff).map((b) => b.version),\n edge: edge.map((b) => b.version),\n iosSaf: iosSaf.map((b) => b.version),\n saf: saf.map((b) => b.version),\n opera: opera.map((b) => b.version),\n node: node.map((b) => b.version),\n }\n\n // sort\n versions.chrome.sort(sortAsNumber)\n versions.ff.sort(sortAsNumber)\n versions.edge.sort(sortAsNumber)\n versions.iosSaf.sort(sortAsNumber)\n versions.saf.sort(sortAsNumber)\n versions.opera.sort(sortAsNumber)\n versions.node.sort(sortAsNumber)\n\n return versions\n}\n","import {PackageTargetVersions} from './resolveBrowserslistVersions'\n\nexport function resolveBrowserTarget(versions: PackageTargetVersions): string[] | undefined {\n const target: string[] = []\n\n if (versions.chrome.length) {\n target.push(`chrome${versions.chrome[0]}`)\n }\n\n if (versions.ff.length) {\n target.push(`firefox${versions.ff[0]}`)\n }\n\n if (versions.edge.length) {\n target.push(`edge${versions.edge[0]}`)\n }\n\n if (versions.iosSaf.length) {\n target.push(`ios${versions.iosSaf[0]}`)\n }\n\n if (versions.saf.length) {\n target.push(`safari${versions.saf[0]}`)\n }\n\n if (versions.opera.length) {\n target.push(`opera${versions.opera[0]}`)\n }\n\n if (target.length === 0) {\n return undefined\n }\n\n return target\n}\n","import {PackageTargetVersions} from './resolveBrowserslistVersions'\n\nexport function resolveNodeTarget(versions: PackageTargetVersions): string[] | undefined {\n const target: string[] = []\n\n if (versions.node.length) {\n target.push(`node${versions.node[0]}`)\n }\n\n if (target.length === 0) {\n return undefined\n }\n\n return target\n}\n","import path from 'path'\n\nimport {\n BuildContext,\n DEFAULT_BROWSERSLIST_QUERY,\n loadTSConfig,\n PackageJSON,\n parseExports,\n PkgConfigOptions,\n PkgExports,\n PkgExtMap,\n PkgRuntime,\n resolveConfigProperty,\n} from './core'\nimport {findCommonDirPath, pathContains} from './core/findCommonPath'\nimport {Logger} from './logger'\nimport {resolveBrowserslistVersions} from './resolveBrowserslistVersions'\nimport {resolveBrowserTarget} from './resolveBrowserTarget'\nimport {resolveNodeTarget} from './resolveNodeTarget'\n\nexport async function resolveBuildContext(options: {\n config?: PkgConfigOptions\n cwd: string\n emitDeclarationOnly?: boolean\n extMap: PkgExtMap\n logger: Logger\n pkg: PackageJSON\n strict: boolean\n tsconfig: string\n}): Promise<BuildContext> {\n const {\n config,\n cwd,\n emitDeclarationOnly = false,\n extMap,\n logger,\n pkg,\n strict,\n tsconfig: tsconfigPath,\n } = options\n const tsconfig = await loadTSConfig({cwd, tsconfigPath})\n const targetVersions = resolveBrowserslistVersions(pkg.browserslist || DEFAULT_BROWSERSLIST_QUERY)\n const nodeTarget = resolveNodeTarget(targetVersions)\n const webTarget = resolveBrowserTarget(targetVersions)\n\n if (!nodeTarget) {\n throw new Error('no matching `node` target')\n }\n\n if (!webTarget) {\n throw new Error('no matching `web` target')\n }\n\n const target: Record<PkgRuntime, string[]> = {\n '*': webTarget.concat(nodeTarget),\n browser: webTarget,\n node: nodeTarget,\n }\n\n const parsedExports = parseExports({extMap, pkg, strict}).reduce<PkgExports>((acc, x) => {\n const {_path: exportPath, ...exportEntry} = x\n\n return {...acc, [exportPath]: exportEntry}\n }, {})\n\n const exports = resolveConfigProperty(config?.exports, parsedExports)\n\n const parsedExternal = [\n ...(pkg.dependencies ? Object.keys(pkg.dependencies) : []),\n ...(pkg.peerDependencies ? Object.keys(pkg.peerDependencies) : []),\n ]\n\n // Merge externals if an array is provided, replace if it's a function\n const external =\n config && Array.isArray(config.external)\n ? [...parsedExternal, ...config.external]\n : resolveConfigProperty(config?.external, parsedExternal)\n\n const outputPaths = Object.values(exports)\n .flatMap((exportEntry) => {\n return [\n exportEntry.import,\n exportEntry.require,\n exportEntry.browser?.import,\n exportEntry.browser?.require,\n exportEntry.node?.source && exportEntry.node.import,\n exportEntry.node?.source && exportEntry.node.require,\n ].filter(Boolean) as string[]\n })\n .map((p) => path.resolve(cwd, p))\n\n const commonDistPath = findCommonDirPath(outputPaths)\n\n if (commonDistPath === cwd) {\n throw new Error(\n 'all output files must share a common parent directory which is not the root package directory',\n )\n }\n\n if (commonDistPath && !pathContains(cwd, commonDistPath)) {\n throw new Error('all output files must be located within the package')\n }\n\n const configDistPath = config?.dist ? path.resolve(cwd, config.dist) : undefined\n\n if (\n configDistPath &&\n commonDistPath &&\n configDistPath !== commonDistPath &&\n !pathContains(configDistPath, commonDistPath)\n ) {\n logger.log(`did you mean to configure \\`dist: './${path.relative(cwd, commonDistPath)}'\\`?`)\n\n throw new Error('all output files must be located with the configured `dist` path')\n }\n\n const distPath = configDistPath || commonDistPath\n\n if (!distPath) {\n throw new Error('could not detect `dist` path')\n }\n\n const ctx: BuildContext = {\n config,\n cwd,\n distPath,\n emitDeclarationOnly,\n exports,\n external,\n extMap,\n files: [],\n logger,\n pkg,\n runtime: config?.runtime ?? '*',\n strict,\n target,\n ts: {\n config: tsconfig,\n configPath: tsconfigPath,\n },\n }\n\n return ctx\n}\n","import fs from 'fs'\nimport path from 'path'\n\nimport {BuildContext, PkgExport, PkgFormat, PkgRuntime} from './core'\nimport {BuildTask, DtsTask, NodeReExportFromCJSTask, RollupTask, RollupTaskEntry} from './tasks'\n\n/** @internal */\nexport function resolveBuildTasks(ctx: BuildContext): BuildTask[] {\n const {config, cwd, pkg, target} = ctx\n\n const bundles = config?.bundles || []\n\n const tasks: BuildTask[] = []\n\n const exports = Object.entries(ctx.exports || {}).map(\n ([_path, exp]) => ({_path, ...exp}) as PkgExport & {_path: string},\n )\n\n const dtsTask: DtsTask = {\n type: 'build:dts',\n entries: [],\n }\n\n const rollupTasks: Record<string, RollupTask> = {}\n\n function addRollupTaskEntry(format: PkgFormat, runtime: PkgRuntime, entry: RollupTaskEntry) {\n const buildId = `${format}:${runtime}`\n\n if (rollupTasks[buildId]) {\n rollupTasks[buildId].entries.push(entry)\n } else {\n rollupTasks[buildId] = {\n type: 'build:js',\n buildId,\n entries: [entry],\n runtime,\n format,\n target: target[runtime],\n }\n }\n }\n\n // Parse `dts` tasks\n for (const exp of exports) {\n const importId = path.join(pkg.name, exp._path)\n\n if (exp.types) {\n dtsTask.entries.push({\n importId,\n exportPath: exp._path,\n sourcePath: exp.source,\n targetPath: exp.types,\n })\n }\n }\n\n // Add dts task\n if (dtsTask.entries.length) {\n tasks.push(dtsTask)\n }\n\n if (!ctx.emitDeclarationOnly) {\n // Parse rollup:commonjs:* tasks\n for (const exp of exports) {\n const output = exp.require\n\n if (!output) continue\n\n addRollupTaskEntry('commonjs', ctx.runtime, {\n path: exp._path,\n source: exp.source,\n output,\n })\n }\n\n // Parse rollup:esm:* tasks\n for (const exp of exports) {\n const output = exp.import\n\n if (!output) continue\n\n addRollupTaskEntry('esm', ctx.runtime, {\n path: exp._path,\n source: exp.source,\n output,\n })\n }\n\n // Parse rollup:commonjs:browser tasks\n for (const exp of exports) {\n const output = exp.browser?.require\n\n if (!output) continue\n\n addRollupTaskEntry('commonjs', 'browser', {\n path: exp._path,\n source: exp.browser?.source || exp.source,\n output,\n })\n }\n\n // Parse rollup:esm:browser tasks\n for (const exp of exports) {\n const output = exp.browser?.import\n\n if (!output) continue\n\n addRollupTaskEntry('esm', 'browser', {\n path: exp._path,\n source: exp.browser?.source || exp.source,\n output,\n })\n }\n\n for (const bundle of bundles) {\n const idx = bundles.indexOf(bundle)\n\n if (bundle.require) {\n addRollupTaskEntry('commonjs', bundle.runtime || ctx.runtime, {\n path: `__$$bundle_cjs_${idx}$$__`,\n source: bundle.source,\n output: bundle.require,\n })\n }\n\n if (bundle.import) {\n addRollupTaskEntry('esm', bundle.runtime || ctx.runtime, {\n path: `__$$bundle_esm_${idx}$$__`,\n source: bundle.source,\n output: bundle.import,\n })\n }\n }\n\n tasks.push(...Object.values(rollupTasks))\n\n // Write legacy exports files\n if (config?.legacyExports) {\n for (const exp of exports) {\n if (exp._exported && exp._path !== '.') {\n const relativeTargetPath = (exp.browser?.import || exp.import || '').replace(\n /\\.[^/.]+$/,\n '',\n )\n\n if (relativeTargetPath) {\n fs.writeFileSync(\n path.resolve(cwd, `${exp._path}.js`),\n [`// AUTO-GENERATED – DO NOT EDIT`, `export * from '${relativeTargetPath}'`, ``].join(\n '\\n',\n ),\n )\n }\n }\n }\n }\n }\n\n const nodeReexportCjsEntries: NodeReExportFromCJSTask['entries'] = []\n\n // Parse tasks to re-export from CommonJS for Node.js\n for (const exp of exports) {\n if (\n exp.node &&\n !exp.node.source &&\n exp.node.import &&\n (exp.node.require || exp.require) &&\n (exp.node.import.endsWith('.cjs.js') || exp.node.import.endsWith('.cjs.mjs'))\n ) {\n const importId = path.join(pkg.name, exp._path)\n\n nodeReexportCjsEntries.push({\n importId,\n import: exp.node.import,\n require: (exp.node.require || exp.require)!,\n })\n }\n }\n\n if (nodeReexportCjsEntries.length) {\n tasks.push({\n type: 'node:reexport-cjs',\n entries: nodeReexportCjsEntries,\n })\n }\n\n return tasks\n}\n","/* eslint-disable no-console */\n\nimport chalk from 'chalk'\n\nexport function createSpinner(msg: string): {complete: () => void; error: () => void} {\n const startTime = Date.now()\n\n console.log(msg)\n\n return {\n complete: () => {\n console.log(`${chalk.green('[success]')} ${chalk.gray(`${Date.now() - startTime}ms`)}`)\n },\n error: () => {\n console.log(`${chalk.red(`[error]`)} ${chalk.gray(`${Date.now() - startTime}ms`)}`)\n },\n }\n}\n","import {ExtractorMessage} from '@microsoft/api-extractor'\nimport chalk from 'chalk'\nimport path from 'path'\n\nimport {BuildContext} from './core'\n\nexport function printExtractMessages(ctx: BuildContext, messages: ExtractorMessage[]): void {\n const {cwd, logger} = ctx\n\n const warnings = messages.filter((msg) => msg.logLevel === 'warning')\n\n if (warnings.length) {\n logger.log()\n }\n\n for (const msg of warnings) {\n const sourceFilePath = msg.sourceFilePath && path.relative(cwd, msg.sourceFilePath)\n\n if (msg.messageId === 'TS6307') {\n // Ignore this warning:\n // > TS6307: <filename> is not in project file list.\n // > Projects must list all files or use an 'include' pattern.\n continue\n }\n\n logger.log(\n [\n `${chalk.cyan(sourceFilePath || '?')}`,\n `:${chalk.yellow(msg.sourceFileLine)}:${chalk.yellow(msg.sourceFileColumn)}`,\n ` - ${chalk.yellow('warning')} ${chalk.gray(msg.messageId)}\\n`,\n msg.text,\n '\\n',\n ].join(''),\n )\n }\n\n const errors: ExtractorMessage[] = messages.filter((msg) => msg.logLevel === 'error')\n\n if (!warnings.length && errors.length) {\n logger.log('')\n }\n\n for (const msg of errors) {\n const sourceFilePath = msg.sourceFilePath && path.relative(cwd, msg.sourceFilePath)\n\n logger.log(\n [\n `${chalk.cyan(sourceFilePath || '?')}`,\n `:${chalk.yellow(msg.sourceFileLine)}:${chalk.yellow(msg.sourceFileColumn)}`,\n ` - ${chalk.red('error')} ${chalk.gray(msg.messageId)}\\n`,\n msg.text,\n '\\n',\n ].join(''),\n )\n }\n\n if (errors.length) {\n process.exit(1)\n }\n}\n","import chalk from 'chalk'\nimport path from 'path'\nimport ts from 'typescript'\n\nimport {Logger} from '../../logger'\n\nexport function printDiagnostic(options: {\n cwd: string\n logger: Logger\n diagnostic: ts.Diagnostic\n}): void {\n const {cwd, logger, diagnostic} = options\n\n if (diagnostic.file && diagnostic.start) {\n const {line, character} = ts.getLineAndCharacterOfPosition(diagnostic.file, diagnostic.start)\n const message = ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n')\n\n const file = path.relative(cwd, diagnostic.file.fileName)\n\n const output = [\n `${chalk.yellow(file)}:${chalk.blue(line + 1)}:${chalk.blue(character + 1)} - `,\n `${chalk.gray(`TS${diagnostic.code}:`)} ${message}`,\n ].join('')\n\n if (diagnostic.category === ts.DiagnosticCategory.Error) {\n logger.error(output)\n }\n\n if (diagnostic.category === ts.DiagnosticCategory.Warning) {\n logger.warn(output)\n }\n\n if (diagnostic.category === ts.DiagnosticCategory.Message) {\n logger.log(output)\n }\n\n if (diagnostic.category === ts.DiagnosticCategory.Suggestion) {\n logger.log(output)\n }\n } else {\n logger.log(ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n'))\n }\n}\n","import ts from 'typescript'\n\nimport {Logger} from '../../logger'\nimport {printDiagnostic} from './printDiagnostic'\n\n/** @internal */\nexport async function buildTypes(options: {\n cwd: string\n logger: Logger\n outDir: string\n tsconfig: ts.ParsedCommandLine\n strict: boolean\n}): Promise<void> {\n const {cwd, logger, outDir, tsconfig, strict = false} = options\n\n const compilerOptions: ts.CompilerOptions = {\n ...tsconfig.options,\n declaration: true,\n declarationDir: outDir,\n emitDeclarationOnly: true,\n noEmit: false,\n outDir,\n }\n\n const program = ts.createProgram(tsconfig.fileNames, compilerOptions)\n\n const emitResult = program.emit()\n\n const allDiagnostics = ts.getPreEmitDiagnostics(program).concat(emitResult.diagnostics)\n\n for (const diagnostic of allDiagnostics) {\n printDiagnostic({cwd, logger, diagnostic})\n }\n\n if (emitResult.emitSkipped) {\n const errors = allDiagnostics.filter((diag) => diag.category === ts.DiagnosticCategory.Error)\n\n if (errors.length) {\n if (strict) {\n throw new Error('failed to compile TypeScript definitions')\n }\n }\n }\n}\n","import {ExtractorMessage} from '@microsoft/api-extractor'\n\n/** @internal */\nexport class DtsError extends Error {\n messages: ExtractorMessage[]\n\n constructor(message: string, messages: ExtractorMessage[]) {\n super(message)\n this.messages = messages\n }\n}\n","import {IConfigFile, IExtractorMessagesConfig} from '@microsoft/api-extractor'\nimport path from 'path'\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 {TSDocConfigFile} from '@microsoft/tsdoc-config'\nimport {readFile} from 'fs/promises'\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'\n\nimport {PkgConfigOptions, PkgRuleLevel} 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 {\n Extractor,\n ExtractorConfig,\n ExtractorMessage,\n ExtractorResult,\n} from '@microsoft/api-extractor'\nimport fs from 'fs/promises'\nimport {mkdirp} from 'mkdirp'\nimport path from 'path'\nimport prettier from 'prettier'\n\nimport {BuildFile, PkgConfigOptions} 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 await 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 {ExtractorMessage} from '@microsoft/api-extractor'\nimport path from 'path'\nimport rimraf from 'rimraf'\n\nimport {BuildContext} from '../../core'\nimport {buildTypes} from './buildTypes'\nimport {DtsError} from './DtsError'\nimport {extractTypes} from './extractTypes'\nimport {DtsResult, DtsTask, DtsWatchTask} from './types'\n\n/**\n * - Build type definitions to a temporary directory using TypeScript compiler.\n * - Create a type definition bundle for each export entry.\n * - When done, remove the temporary directory.\n */\nexport async function doExtract(\n ctx: BuildContext,\n task: DtsTask | DtsWatchTask,\n): Promise<DtsResult> {\n const {config, cwd, files, logger, strict, ts} = ctx\n\n if (!ts.config || !ts.configPath) {\n return {type: 'dts', messages: [], results: []}\n }\n\n const {outDir, rootDir = cwd} = ts.config.options\n\n if (!outDir) {\n throw new Error('tsconfig.json is missing `compilerOptions.outDir`')\n }\n\n const tmpPath = path.resolve(outDir, '__tmp__')\n\n await buildTypes({cwd, logger, outDir: tmpPath, strict, tsconfig: ts.config})\n const messages: ExtractorMessage[] = []\n\n const results: {sourcePath: string; filePath: string}[] = []\n\n for (const entry of task.entries) {\n const exportPath = entry.exportPath === '.' ? './index' : entry.exportPath\n\n const sourceTypesPath = path.resolve(\n tmpPath,\n path.relative(rootDir, path.resolve(cwd, entry.sourcePath)).replace(/\\.ts$/, '.d.ts'),\n )\n\n const targetPath = path.resolve(cwd, entry.targetPath)\n const filePath = path.relative(outDir, targetPath)\n const result = await extractTypes({\n customTags: config?.extract?.customTags,\n cwd,\n distPath: outDir,\n exportPath,\n files,\n filePath: filePath,\n projectPath: cwd,\n rules: config?.extract?.rules,\n sourceTypesPath: sourceTypesPath,\n tmpPath,\n tsconfigPath: path.resolve(cwd, ts.configPath || 'tsconfig.json'),\n })\n\n messages.push(...result.messages)\n\n if (result.messages.some((msg) => msg.logLevel === 'error')) {\n await rimraf(tmpPath)\n\n throw new DtsError('encountered errors when extracting types', result.messages)\n }\n\n results.push({sourcePath: path.resolve(cwd, entry.sourcePath), filePath: targetPath})\n }\n\n await rimraf(tmpPath)\n\n return {type: 'dts', messages, results}\n}\n","import chalk from 'chalk'\nimport {Observable} from 'rxjs'\n\nimport {printExtractMessages} from '../../printExtractMessages'\nimport {TaskHandler} from '../types'\nimport {doExtract} from './doExtract'\nimport {DtsError} from './DtsError'\nimport {DtsResult, DtsTask} from './types'\n\n/** @internal */\nexport const dtsTask: TaskHandler<DtsTask, DtsResult> = {\n name: (_ctx, task) =>\n [\n `Build type definitions...`,\n ` entries:`,\n ...task.entries.map((entry) =>\n [\n ` - ${chalk.cyan(entry.importId)}: `,\n `${chalk.yellow(entry.sourcePath)} ${chalk.gray('→')} ${chalk.yellow(entry.targetPath)}`,\n ].join(''),\n ),\n ].join('\\n'),\n exec: (ctx, task) => {\n return new Observable((observer) => {\n doExtract(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => {\n observer.error(err)\n })\n })\n },\n complete: (ctx, _task, result) => {\n printExtractMessages(ctx, result.messages)\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof DtsError) {\n printExtractMessages(ctx, err.messages)\n } else if (err instanceof Error) {\n logger.error(err)\n }\n },\n}\n","import chalk from 'chalk'\nimport {Observable} from 'rxjs'\n\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 chalk from 'chalk'\nimport {writeFile} from 'fs/promises'\nimport {mkdirp} from 'mkdirp'\nimport path from 'path'\nimport {from} from 'rxjs'\n\nimport {BuildContext} from '../../core'\nimport {NodeReExportFromCJSTask, TaskHandler} from '../types'\n\n/** @internal */\nexport const nodeReexportCjsTask: TaskHandler<NodeReExportFromCJSTask> = {\n name: (_ctx, task) =>\n [\n `Re-export CommonJS module in ESM wrapper…`,\n ` entries:`,\n ...task.entries.map((entry) =>\n [\n ` - ${chalk.cyan(entry.importId)}: `,\n `${chalk.yellow(entry.require)} ${chalk.gray('→')} ${chalk.yellow(entry.import)}`,\n ].join(''),\n ),\n ].join('\\n'),\n exec: (ctx, task) => {\n return from(exec(ctx, task))\n },\n complete: () => {\n //\n },\n error: (_ctx, _task, err) => {\n // eslint-disable-next-line no-console\n console.error(err)\n },\n}\n\nasync function exec(ctx: BuildContext, task: NodeReExportFromCJSTask) {\n const {cwd} = ctx\n\n for (const entry of task.entries) {\n const sourcePath = path.resolve(cwd, entry.require)\n const targetPath = path.resolve(cwd, entry.import)\n const targetDir = path.dirname(targetPath)\n\n await mkdirp(targetDir)\n\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const mod = require(sourcePath)\n\n let relativeImport = `./${path.relative(targetDir, sourcePath)}`\n\n // Strip leading \"./\" from relative import\n if (relativeImport.startsWith('./.')) {\n relativeImport = relativeImport.slice(2)\n }\n\n const code = compileESMWrapper(mod, relativeImport)\n\n await writeFile(targetPath, code, 'utf8')\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction compileESMWrapper(mod: any, relativeImport: string) {\n const keys = Object.keys(mod).filter((k) => k !== '__esModule')\n\n let code = `import cjs from '${relativeImport}';\\n`\n\n if (keys.length) {\n code += `\\n`\n code += keys\n .filter((k) => (mod.__esModule ? k !== 'default' : true))\n .map((k) => `export const ${k} = cjs.${k};\\n`)\n .join('')\n }\n\n code += `\\n`\n\n if (mod.__esModule) {\n // If there is no default export, we shouldn't add it as it'll be undefined\n if ('default' in mod) {\n code += `export default cjs.default;\\n`\n }\n } else {\n code += `export default cjs;\\n`\n }\n\n return code\n}\n","/* eslint-disable no-console */\n\nexport interface ConsoleSpyMsg {\n type: 'log' | 'warn' | 'error'\n code?: string\n args: unknown[]\n}\n\nexport interface ConsoleSpy {\n messages: ConsoleSpyMsg[]\n restore: () => void\n}\n\nexport function createConsoleSpy(options?: {\n onRestored?: (messages: ConsoleSpyMsg[]) => void\n}): ConsoleSpy {\n const {onRestored} = options || {}\n\n const original = {\n log: console.log,\n warn: console.warn,\n error: console.error,\n }\n\n const messages: ConsoleSpyMsg[] = []\n\n console.log = (...args: unknown[]) => messages.push({type: 'log', args})\n console.warn = (...args: unknown[]) => messages.push({type: 'warn', args})\n console.error = (...args: unknown[]) => messages.push({type: 'error', args})\n\n return {\n messages,\n restore: () => {\n console.log = original.log\n console.warn = original.warn\n console.error = original.error\n\n onRestored?.(messages)\n },\n }\n}\n","import 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 path from 'path'\nimport {InputOptions, OutputOptions, Plugin} from 'rollup'\nimport esbuild from 'rollup-plugin-esbuild'\nimport preserveDirectives from 'rollup-plugin-preserve-directives'\n\nimport {BuildContext, DEFAULT_BROWSERSLIST_QUERY, resolveConfigProperty} from '../../core'\nimport {RollupTask, RollupWatchTask} from '../types'\n\nexport interface RollupConfig {\n inputOptions: InputOptions\n outputOptions: OutputOptions\n}\n\n/** @internal */\nexport function resolveRollupConfig(\n ctx: BuildContext,\n buildTask: RollupTask | RollupWatchTask,\n): RollupConfig {\n const {format, runtime, target} = buildTask\n const {config, cwd, exports: _exports, extMap, external, distPath, logger, pkg, ts} = ctx\n const outputExt = extMap[pkg.type || 'commonjs'][format]\n const minify = config?.minify ?? false\n const outDir = path.relative(cwd, distPath)\n\n const pathAliases = Object.fromEntries(\n Object.entries(ts.config?.options.paths || {}).map(([key, val]) => {\n return [key, path.resolve(cwd, ts.config?.options.baseUrl || '.', val[0])]\n }),\n )\n\n const entries = buildTask.entries.map((entry) => {\n return {\n ...entry,\n name: path.relative(outDir, entry.output).replace(/\\.[^/.]+$/, ''),\n }\n }, {})\n\n const exportIds =\n _exports && Object.keys(_exports).map((exportPath) => path.join(pkg.name, exportPath))\n\n const sourcePaths = _exports && Object.values(_exports).map((e) => path.resolve(cwd, e.source))\n\n const replacements = Object.fromEntries(\n Object.entries(config?.define || {}).map(([key, val]) => [key, JSON.stringify(val)]),\n )\n\n const defaultPlugins = [\n replace({\n preventAssignment: true,\n values: {\n ...(pkg.name === '@sanity/pkg-utils'\n ? {...replacements}\n : {\n 'process.env.PKG_FILE_PATH': (arg) => {\n const sourcePath = './' + path.relative(cwd, arg)\n const entry = entries.find((e) => e.source === sourcePath)\n\n if (!entry) {\n // eslint-disable-next-line no-console\n console.error(`could not find source entry: ${sourcePath}`)\n\n return 'null'\n }\n\n return JSON.stringify(\n path.relative(cwd, path.resolve(outDir, entry.name + outputExt)),\n )\n },\n 'process.env.PKG_FORMAT': JSON.stringify(format),\n 'process.env.PKG_RUNTIME': JSON.stringify(runtime),\n 'process.env.PKG_VERSION': JSON.stringify(process.env.PKG_VERSION || pkg.version),\n ...replacements,\n }),\n },\n }),\n alias({\n entries: {...pathAliases},\n }),\n nodeResolve({\n // mainFields: ['module', 'jsnext', 'main'],\n browser: runtime === 'browser',\n // exportConditions: [runtime === 'node' ? 'node' : 'browser'],\n extensions: ['.cjs', '.mjs', '.js', '.jsx', '.json', '.node'],\n preferBuiltins: true, // runtime === 'node',\n }),\n commonjs(),\n json(),\n esbuild({\n jsx: config?.jsx ?? 'automatic',\n jsxFactory: config?.jsxFactory ?? 'createElement',\n jsxFragment: config?.jsxFragment ?? 'Fragment',\n jsxImportSource: config?.jsxImportSource ?? 'react',\n target,\n tsconfig: ctx.ts.configPath || 'tsconfig.json',\n }),\n getBabelOutputPlugin({\n babelrc: false,\n plugins: config?.babel?.plugins,\n presets: [\n [\n '@babel/preset-env',\n {targets: pkg.browserslist || DEFAULT_BROWSERSLIST_QUERY, modules: false},\n ],\n ],\n }),\n minify &&\n terser({\n compress: config?.preserveModuleDirectives\n ? {\n // Needed until https://github.com/terser/terser/issues/1320 is fixed\n directives: false,\n }\n : true,\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 // Allows marking export files with `'use client'` at the top\n config?.preserveModuleDirectives && preserveDirectives(),\n ].filter(Boolean) as Plugin[]\n\n const userPlugins = config?.rollup?.plugins\n\n const plugins = Array.isArray(userPlugins)\n ? defaultPlugins.concat(userPlugins)\n : resolveConfigProperty(config?.rollup?.plugins, defaultPlugins)\n\n return {\n inputOptions: {\n context: cwd,\n\n external: (id, importer) => {\n // Check if the id is a self-referencing import\n if (exportIds?.includes(id)) {\n return true\n }\n\n // Check if the id is a file path that points to an exported source file\n if (importer && (id.startsWith('.') || id.startsWith('/'))) {\n const idPath = path.resolve(path.dirname(importer), id)\n\n if (sourcePaths?.includes(idPath)) {\n logger.warn(\n `detected self-referencing import – treating as external: ${path.relative(\n cwd,\n idPath,\n )}`,\n )\n\n return true\n }\n }\n\n const idParts = id.split('/')\n\n const name = idParts[0].startsWith('@') ? `${idParts[0]}/${idParts[1]}` : idParts[0]\n\n if (name && external.includes(name)) {\n return true\n }\n\n return false\n },\n\n input: entries.reduce<{[entryAlias: string]: string}>((acc, entry) => {\n return {...acc, [entry.name]: entry.source}\n }, {}),\n\n plugins,\n\n treeshake: {\n propertyReadSideEffects: false,\n },\n },\n outputOptions: {\n chunkFileNames: () => {\n const parts = outputExt.split('.')\n\n if (parts.length === 3) {\n return `_chunks/[name]-[hash].${parts[2]}`\n }\n\n return `_chunks/[name]-[hash]${outputExt}`\n },\n compact: minify,\n dir: outDir,\n entryFileNames: () => {\n const parts = outputExt.split('.')\n\n if (parts.length === 3) {\n return `[name].${parts[2]}`\n }\n\n return `[name]${outputExt}`\n },\n esModule: true,\n format,\n interop: 'compat',\n minifyInternalExports: minify,\n sourcemap: config?.sourcemap ?? true,\n hoistTransitiveImports: false,\n preserveModules: config?.preserveModuleDirectives ? true : false,\n },\n }\n}\n","import chalk from 'chalk'\nimport path from 'path'\nimport {rollup} from 'rollup'\nimport {Observable} from 'rxjs'\n\nimport {createConsoleSpy} from '../../consoleSpy'\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 const bundleEntries = task.entries.filter((e) => e.path.includes('__$$bundle_'))\n const entries = task.entries.filter((e) => !e.path.includes('__$$bundle_'))\n\n const targetLines = task.target.length\n ? [` target:`, ...task.target.map((t) => ` - ${chalk.yellow(t)}`)]\n : []\n\n const bundlesLines = bundleEntries.length\n ? [\n ' bundles:',\n ...bundleEntries.map((e) =>\n [\n ` - `,\n `${chalk.yellow(e.source)} ${chalk.gray('→')} ${chalk.yellow(e.output)}`,\n ].join(''),\n ),\n ]\n : []\n\n const entriesLines = entries.length\n ? [\n ' entries:',\n ...entries.map((e) =>\n [\n ` - `,\n `${chalk.cyan(path.join(ctx.pkg.name, e.path))}: `,\n `${chalk.yellow(e.source)} ${chalk.gray('→')} ${chalk.yellow(e.output)}`,\n ].join(''),\n ),\n ]\n : []\n\n return [\n `Build javascript files...`,\n ` format: ${chalk.yellow(task.format)}`,\n ...targetLines,\n ...bundlesLines,\n ...entriesLines,\n ].join('\\n')\n },\n exec: (ctx, task) => {\n return new Observable((observer) => {\n execPromise(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => observer.error(err))\n })\n },\n complete: () => {\n //\n },\n error: (_ctx, _task, err) => {\n // eslint-disable-next-line no-console\n console.error(err)\n },\n}\n\nasync function execPromise(ctx: BuildContext, task: RollupTask) {\n const {distPath, files, logger} = ctx\n const outDir = path.relative(ctx.cwd, distPath)\n\n // Prevent rollup from printing directly to the console\n const consoleSpy = createConsoleSpy({\n onRestored: (messages) => {\n for (const msg of messages) {\n const text = String(msg.args[0])\n\n if (msg.code === 'CIRCULAR_DEPENDENCY') {\n continue // ignore\n }\n\n if (text.startsWith('Dynamic import can only')) {\n continue // ignore\n }\n\n if (text.startsWith('Sourcemap is likely to be incorrect')) {\n continue // ignore\n }\n\n if (msg.type === 'log') {\n logger.info(...msg.args)\n }\n\n if (msg.type === 'warn') {\n logger.warn(...msg.args)\n }\n\n if (msg.type === 'error') {\n logger.error(...msg.args)\n }\n }\n },\n })\n\n try {\n const {inputOptions, outputOptions} = resolveRollupConfig(ctx, task)\n\n // Create bundle\n const bundle = await rollup({\n ...inputOptions,\n onwarn(warning) {\n if (\n // Ignore the directive warning until the preserveDirectives plugin does it automatically: https://github.com/Ephem/rollup-plugin-preserve-directives#rollup-plugin-preserve-directives-warning\n warning.message.includes(\n 'Module level directives cause errors when bundled, \"use client\" in',\n )\n ) {\n // If the preserve option isn't enabled, then extend the message with a note about how to enable\n if (!ctx.config?.preserveModuleDirectives) {\n consoleSpy.messages.push({\n type: 'warn',\n code: warning.code,\n args: [\n `${warning.message} You can preserve it by setting \"preserveModuleDirectives: true\" in your \"package.config.ts\"`,\n ],\n })\n }\n\n return\n }\n\n consoleSpy.messages.push({\n type: 'warn',\n code: warning.code,\n args: [warning.message],\n })\n },\n })\n\n // generate output specific code in-memory\n // you can call this function multiple times on the same bundle object\n const {output} = await bundle.generate(outputOptions)\n\n for (const chunkOrAsset of output) {\n if (chunkOrAsset.type === 'asset') {\n files.push({\n type: 'asset',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n } else {\n files.push({\n type: 'chunk',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n }\n }\n\n // or write the bundle to disk\n await bundle.write(outputOptions)\n\n // closes the bundle\n await bundle.close()\n\n // Restore console\n consoleSpy.restore()\n } catch (err) {\n // Restore console\n consoleSpy.restore()\n throw err\n }\n}\n","import chalk from 'chalk'\nimport path from 'path'\nimport {RollupWatcherEvent, RollupWatchOptions, watch as rollupWatch} from 'rollup'\nimport {Observable} from 'rxjs'\n\nimport {RollupWatchTask, TaskHandler} from '../types'\nimport {resolveRollupConfig} from './resolveRollupConfig'\n\n/** @internal */\nexport const rollupWatchTask: TaskHandler<RollupWatchTask, RollupWatcherEvent> = {\n name: (ctx, task) =>\n `build javascript files (target ${task.target.join(' + ')}, format ${\n task.format\n })\\n ${task.entries\n .map((e) => `${chalk.blue(path.join(ctx.pkg.name, e.path))}: ${e.source} -> ${e.output}`)\n .join('\\n ')}`,\n exec: (ctx, task) => {\n const {inputOptions, outputOptions} = resolveRollupConfig(ctx, task)\n\n return new Observable((observer) => {\n const watchOptions: RollupWatchOptions = {\n ...inputOptions,\n output: outputOptions,\n }\n\n const watcher = rollupWatch(watchOptions)\n\n watcher.on('event', (event) => {\n observer.next(event)\n })\n\n return () => {\n watcher.close()\n }\n })\n },\n complete: (ctx, task, event) => {\n const {logger} = ctx\n\n if (event.code === 'BUNDLE_END') {\n logger.success(\n `build javascript files (target ${task.target.join(' + ')}, format ${\n task.format\n })\\n ${task.entries\n .map((e) => `${chalk.blue(path.join(ctx.pkg.name, e.path))}: ${e.source} -> ${e.output}`)\n .join('\\n ')}`,\n )\n logger.log('')\n\n return\n }\n\n if (event.code === 'BUNDLE_START') {\n return\n }\n\n if (event.code === 'END') {\n return\n }\n\n if (event.code === 'ERROR') {\n logger.error(event.code, event)\n\n return\n }\n\n if (event.code === 'START') {\n return\n }\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof Error) {\n logger.log(err)\n }\n },\n}\n","import {dtsTask, dtsWatchTask} from './dts'\nimport {nodeReexportCjsTask} from './node/reexportCjsTask'\nimport {rollupTask, rollupWatchTask} from './rollup'\nimport {BuildTaskHandlers, WatchTaskHandlers} from './types'\n\nexport * from './dts'\nexport * from './rollup'\nexport * from './types'\n\n/** @internal */\nexport const buildTaskHandlers: BuildTaskHandlers = {\n 'build:dts': dtsTask,\n 'build:js': rollupTask,\n 'node:reexport-cjs': nodeReexportCjsTask,\n}\n\n/** @internal */\nexport const watchTaskHandlers: WatchTaskHandlers = {\n 'watch:dts': dtsWatchTask,\n 'watch:js': rollupWatchTask,\n}\n","import {getPkgExtMap, loadConfig, loadPkgWithReporting} from './core'\nimport {createLogger} from './logger'\nimport {resolveBuildContext} from './resolveBuildContext'\nimport {resolveBuildTasks} from './resolveBuildTasks'\nimport {createSpinner} from './spinner'\nimport {BuildTask, buildTaskHandlers, TaskHandler} from './tasks'\n\n/**\n * Build the distribution files of a npm package.\n *\n * @example\n * ```ts\n * import {build} from '@sanity/pkg-utils'\n *\n * build({\n * cwd: process.cwd(),\n * tsconfig: 'tsconfig.dist.json,\n * }).then(() => {\n * console.log('successfully built')\n * }).catch((err) => {\n * console.log(`build error: ${err.message}`)\n * })\n * ```\n *\n * @public\n */\nexport async function build(options: {\n cwd: string\n emitDeclarationOnly?: boolean\n strict?: boolean\n tsconfig?: string\n}): Promise<void> {\n const {cwd, emitDeclarationOnly, strict = false, tsconfig: tsconfigOption} = options\n const logger = createLogger()\n\n const pkg = await loadPkgWithReporting({cwd, logger})\n const config = await loadConfig({cwd})\n const extMap = getPkgExtMap({legacyExports: config?.legacyExports ?? false})\n const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'\n\n const ctx = await resolveBuildContext({\n config,\n cwd,\n emitDeclarationOnly,\n extMap,\n logger,\n pkg,\n strict,\n tsconfig,\n })\n\n const buildTasks = resolveBuildTasks(ctx)\n\n for (const task of buildTasks) {\n const handler = buildTaskHandlers[task.type] as TaskHandler<BuildTask>\n const taskName = handler.name(ctx, task)\n\n const spinner = createSpinner(taskName)\n\n try {\n const result = await handler.exec(ctx, task).toPromise()\n\n spinner.complete()\n ctx.logger.log()\n\n handler.complete(ctx, task, result)\n } catch (err) {\n spinner.error()\n\n if (err instanceof Error) {\n const RE_CWD = new RegExp(`${cwd}`, 'g')\n\n ctx.logger.error(err.message.replace(RE_CWD, '.'))\n ctx.logger.log()\n }\n\n handler.error(ctx, task, err)\n\n process.exit(1)\n }\n }\n}\n","import {statSync} from 'fs'\nimport prettyBytes from 'pretty-bytes'\n\nexport function getFilesize(file: string): string {\n const stats = statSync(file)\n\n return prettyBytes(stats.size)\n}\n","import chalk from 'chalk'\nimport path from 'path'\nimport treeify from 'treeify'\n\nimport {BuildContext, PkgExport} from './core'\nimport {fileExists} from './fileExists'\nimport {getFilesize} from './getFilesize'\n\nfunction getFileInfo(cwd: string, filePath: string) {\n const p = path.resolve(cwd, filePath)\n const exists = fileExists(p)\n const size = exists ? getFilesize(p) : undefined\n\n return {exists, size}\n}\n\nexport function printPackageTree(ctx: BuildContext): void {\n const {cwd, exports, logger, pkg} = ctx\n\n if (!exports) return\n\n logger.log(`${chalk.blue(pkg.name)}@${chalk.green(pkg.version)}`)\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const tree: Record<string, unknown> = {}\n\n if (pkg.type) {\n tree.type = chalk.yellow(pkg.type)\n }\n\n if (pkg.bin) {\n tree.bin = Object.fromEntries(\n Object.entries(pkg.bin).map(([name, file]) => [chalk.cyan(name), fileInfo(file)]),\n )\n }\n\n function fileInfo(file: string) {\n const info = getFileInfo(cwd, file)\n\n if (!info.size) {\n return `${chalk.gray(file)} ${chalk.red('does not exist')}`\n }\n\n return `${chalk.yellow(file)} ${chalk.gray(info.size)}`\n }\n\n tree.exports = Object.fromEntries(\n Object.entries(exports)\n .filter(([, entry]) => entry._exported)\n .map(([exportPath, entry]) => {\n const exp: Omit<PkgExport, '_exported'> = {\n types: undefined,\n source: fileInfo(entry.source),\n browser: undefined,\n require: undefined,\n node: undefined,\n import: undefined,\n default: fileInfo(entry.default),\n }\n\n if (entry.types) {\n exp.types = fileInfo(entry.types)\n } else {\n delete exp.types\n }\n\n if (entry.browser) {\n exp.browser = {source: fileInfo(entry.browser.source)}\n\n if (entry.browser.import) exp.browser.import = fileInfo(entry.browser.import)\n if (entry.browser.require) exp.browser.require = fileInfo(entry.browser.require)\n } else {\n delete exp.browser\n }\n\n if (entry.require) {\n exp.require = fileInfo(entry.require)\n } else {\n delete exp.require\n }\n\n if (entry.node) {\n exp.node = {}\n\n if (entry.node.source) exp.node.source = fileInfo(entry.node.source)\n if (entry.node.import) exp.node.import = fileInfo(entry.node.import)\n if (entry.node.require) exp.node.require = fileInfo(entry.node.require)\n } else {\n delete exp.node\n }\n\n if (entry.import) {\n exp.import = fileInfo(entry.import)\n } else {\n delete exp.import\n }\n\n return [chalk.cyan(path.join(pkg.name, exportPath)), exp]\n }),\n )\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n logger.log(treeify.asTree(tree as Record<string, any>, true, true))\n}\n","import esbuild, {BuildFailure} from 'esbuild'\nimport path from 'path'\n\nimport {createConsoleSpy} from './consoleSpy'\nimport {getPkgExtMap, loadConfig, loadPkgWithReporting} from './core'\nimport {fileExists} from './fileExists'\nimport {createLogger, Logger} from './logger'\nimport {printPackageTree} from './printPackageTree'\nimport {resolveBuildContext} from './resolveBuildContext'\n\n/** @public */\nexport async function check(options: {\n cwd: string\n strict?: boolean\n tsconfig?: string\n}): Promise<void> {\n const {cwd, strict = false, tsconfig: tsconfigOption} = options\n const logger = createLogger()\n\n const pkg = await loadPkgWithReporting({cwd, logger})\n const config = await loadConfig({cwd})\n const extMap = getPkgExtMap({legacyExports: config?.legacyExports ?? false})\n const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'\n const ctx = await resolveBuildContext({config, cwd, extMap, logger, pkg, strict, tsconfig})\n\n printPackageTree(ctx)\n\n if (strict) {\n const missingFiles: string[] = []\n\n // Check if there are missing files\n for (const [, exp] of Object.entries(ctx.exports || {})) {\n if (exp.source && !fileExists(path.resolve(cwd, exp.source))) {\n missingFiles.push(exp.source)\n }\n\n if (exp.require && !fileExists(path.resolve(cwd, exp.require))) {\n missingFiles.push(exp.require)\n }\n\n if (exp.import && !fileExists(path.resolve(cwd, exp.import))) {\n missingFiles.push(exp.import)\n }\n\n if (exp.types && !fileExists(path.resolve(cwd, exp.types))) {\n missingFiles.push(exp.types)\n }\n }\n\n if (missingFiles.length) {\n logger.error('missing files')\n process.exit(1)\n }\n\n // Check if the files are resolved\n const exportPaths: {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) exportPaths.require.push(exp.require)\n if (exp.import) exportPaths.import.push(exp.import)\n }\n\n const external = [\n ...Object.keys(pkg.dependencies || {}),\n ...Object.keys(pkg.devDependencies || {}),\n ]\n\n const consoleSpy = createConsoleSpy()\n\n if (exportPaths.import.length) {\n checkExports(exportPaths.import, {cwd, external, format: 'esm', logger})\n }\n\n if (exportPaths.require.length) {\n checkExports(exportPaths.require, {cwd, external, format: 'cjs', logger})\n }\n\n consoleSpy.restore()\n }\n}\n\nasync function checkExports(\n exportPaths: string[],\n options: {cwd: string; external: string[]; format: 'esm' | 'cjs'; logger: Logger},\n) {\n const {cwd, external, format, logger} = options\n\n const code = exportPaths\n .map((id) => (format ? `import('${id}');` : `require('${id}');`))\n .join('\\n')\n\n try {\n const esbuildResult = await esbuild.build({\n bundle: true,\n external,\n format,\n logLevel: 'silent',\n // otherwise output maps to stdout as we're using stdin\n outfile: '/dev/null',\n platform: 'node',\n stdin: {\n contents: code,\n loader: 'js',\n resolveDir: cwd,\n },\n })\n\n if (esbuildResult.errors.length > 0) {\n for (const msg of esbuildResult.errors) {\n printEsbuildMessage(logger.warn, msg)\n\n logger.log()\n }\n\n process.exit(1)\n }\n\n const esbuildWarnings = esbuildResult.warnings.filter((msg) => {\n !(msg.detail || msg.text).includes(`does not affect esbuild's own target setting`)\n })\n\n for (const msg of esbuildWarnings) {\n printEsbuildMessage(logger.warn, msg)\n\n logger.log()\n }\n } catch (err) {\n const {errors} = err as BuildFailure\n\n for (const msg of errors) {\n printEsbuildMessage(logger.error, msg)\n\n logger.log()\n }\n\n process.exit(1)\n }\n}\n\nfunction printEsbuildMessage(log: (...args: unknown[]) => void, msg: esbuild.Message) {\n if (msg.location) {\n log(\n [\n `${msg.detail || msg.text}\\n`,\n `${msg.location.line} | ${msg.location.lineText}\\n`,\n `in ./${msg.location.file}:${msg.location.line}:${msg.location.column}`,\n ].join(''),\n )\n } else {\n log(msg.detail || msg.text)\n }\n}\n","import {readdir} from 'fs/promises'\n\nexport async function isEmptyDirectory(dirPath: string): Promise<boolean> {\n return (await readdir(dirPath)).length === 0\n}\n","import getLatestVersion from 'get-latest-version'\nimport gitUrlParse from 'git-url-parse'\nimport {outdent} from 'outdent'\nimport parseGitConfig from 'parse-git-config'\nimport {resolve} from 'path'\nimport prettier, {Config as PrettierConfig} from 'prettier'\n\nimport {defineTemplateOption, isRecord, PackageJSON, PkgTemplate, PkgTemplateFile} from '../../core'\n\nconst RE_NAME = /^(?:@(?:[a-z0-9-*~][a-z0-9-*._~]*)\\/)?[a-z0-9-~][a-z0-9-._~]*$/i\n\nexport const defaultTemplate: PkgTemplate = async ({cwd, logger, packagePath}) => {\n const gitConfig = await parseGitConfig({cwd, type: 'global'})\n\n return {\n options: [\n defineTemplateOption<{owner: string; name: string}>({\n name: 'repo',\n type: 'string',\n description: 'git url',\n validate: (v) => {\n if (!v) return true\n\n try {\n gitUrlParse(v)\n\n return true\n } catch (err) {\n return 'invalid git url'\n }\n },\n parse: (v) => {\n if (!v) return null\n\n const result = gitUrlParse(v)\n\n return {source: result.source, owner: result.owner, name: result.name}\n },\n }),\n defineTemplateOption({\n name: 'pkgName',\n type: 'string',\n description: 'package name',\n initial: (options) => options.repo?.name || undefined,\n validate: (v) => {\n if (!v) return 'package name is required'\n\n const match = RE_NAME.exec(v)\n\n if (!match) {\n return 'invalid package name'\n }\n\n return true\n },\n parse: (v) => {\n if (!v) {\n throw new Error('package name is required')\n }\n\n const match = RE_NAME.exec(v)\n\n if (!match) {\n throw new Error('invalid package name')\n }\n\n const [scope, name] = v.split('/')\n\n return {scope, name, fullName: v}\n },\n }),\n defineTemplateOption({\n name: 'description',\n type: 'string',\n description: 'package description',\n }),\n defineTemplateOption({\n name: 'authorName',\n type: 'string',\n description: 'package author name',\n initial: gitConfig?.user?.name,\n }),\n defineTemplateOption({\n name: 'authorEmail',\n type: 'string',\n description: 'package author email',\n initial: gitConfig?.user?.email,\n }),\n defineTemplateOption({\n name: 'license',\n type: 'string',\n description: 'package license',\n initial: 'MIT',\n validate: (v) => {\n if (!v) return 'license is required'\n\n return true\n },\n }),\n ],\n\n features: [\n {\n name: 'eslint',\n optional: true,\n initial: true,\n },\n {\n name: 'typescript',\n optional: true,\n initial: true,\n },\n ],\n\n async getFiles(options, features) {\n const {pkgName, repo} = options\n const {fullName: name} = pkgName\n\n const author =\n [options.authorName, options.authorEmail && `<${options.authorEmail}>`]\n .filter(Boolean)\n .join(' ') ?? undefined\n\n const prettierConfig: PrettierConfig = {\n bracketSpacing: false,\n printWidth: 100,\n semi: false,\n singleQuote: true,\n tabWidth: 2,\n plugins: ['prettier-plugin-packagejson'],\n overrides: [\n {\n files: ['*.yml'],\n options: {\n singleQuote: false,\n },\n },\n ],\n }\n\n const pkgJson: PackageJSON & {\n prettier?: PrettierConfig\n ['lint-staged']?: Record<string, string[]>\n } = {\n name,\n version: '0.0.0',\n description: options.description ?? undefined,\n keywords: [],\n license: options.license,\n author,\n type: 'module',\n exports: {\n '.': {\n types: undefined,\n source: features.typescript ? './src/index.ts' : './src/index.js',\n require: './dist/index.cjs',\n import: './dist/index.js',\n default: './dist/index.js',\n },\n './package.json': './package.json',\n },\n main: './dist/index.cjs',\n module: './dist/index.js',\n source: features.typescript ? './src/index.ts' : './src/index.js',\n files: ['dist', 'src'],\n scripts: {\n build: 'run-s clean pkg:build pkg:check',\n clean: 'rimraf dist',\n format: 'prettier --write --cache --ignore-unknown .',\n 'pkg:build': 'pkg build --strict',\n 'pkg:check': 'pkg check --strict',\n },\n prettier: prettierConfig,\n 'lint-staged': {\n '*': ['prettier --write --cache --ignore-unknown'],\n },\n dependencies: {},\n devDependencies: {\n '@sanity/pkg-utils': '*',\n 'lint-staged': '*',\n 'npm-run-all': '*',\n prettier: '*',\n 'prettier-plugin-packagejson': '*',\n rimraf: '*',\n },\n engines: {\n node: '>=18.0.0',\n },\n }\n\n const files: PkgTemplateFile[] = []\n\n // .editorconfig\n files.push({\n name: '.editorconfig',\n contents: outdent`\n root = true\n\n [*]\n charset = utf-8\n indent_style = space\n indent_size = 2\n end_of_line = lf\n insert_final_newline = true\n trim_trailing_whitespace = true\n `,\n })\n\n // .gitignore\n files.push({\n name: '.gitignore',\n contents: outdent`\n *.local\n *.log\n\n .DS_Store\n etc\n dist\n node_modules\n `,\n })\n\n files.push({\n name: '.prettierignore',\n contents: outdent`\n /dist\n /pnpm-lock.yaml\n `,\n })\n\n if (repo) {\n pkgJson.repository = {\n type: 'git',\n url: `git+ssh://git@${repo.source}/${repo.owner}/${repo.name}.git`,\n }\n pkgJson.bugs = {\n url: `https://${repo.source}/${repo.owner}/${repo.name}/issues`,\n }\n pkgJson.homepage = `https://${repo.source}/${repo.owner}/${repo.name}#readme`\n }\n\n if (features.typescript) {\n pkgJson.types = './dist/index.d.ts'\n\n const mainExport = pkgJson.exports?.['.']\n\n if (isRecord(mainExport)) {\n mainExport.types = './dist/index.d.ts'\n }\n\n pkgJson.scripts = {\n ...pkgJson.scripts,\n ['type:check']: 'tsc --build',\n }\n\n const devDependencies = pkgJson.devDependencies\n\n if (isRecord(devDependencies)) {\n devDependencies['typescript'] = '*'\n }\n }\n\n if (features.eslint) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const eslintConfig: any = {\n root: true,\n env: {\n browser: true,\n es6: true,\n node: true,\n },\n extends: ['eslint:recommended', 'plugin:prettier/recommended'],\n parserOptions: {\n ecmaVersion: 2020,\n sourceType: 'module',\n },\n plugins: ['import', 'prettier'],\n rules: {\n 'no-console': 'error',\n 'no-shadow': 'error',\n 'no-warning-comments': ['warn', {location: 'start', terms: ['todo', 'fixme']}],\n },\n }\n\n files.push({\n name: '.eslintignore',\n contents: outdent`\n /dist\n `,\n })\n\n pkgJson.scripts = {\n ...pkgJson.scripts,\n lint: features.typescript\n ? 'eslint . --ext .cjs,.js,.ts,.tsx'\n : 'eslint . --ext .cjs,.js',\n }\n\n pkgJson.devDependencies = {\n ...pkgJson.devDependencies,\n eslint: '*',\n 'eslint-config-prettier': '*',\n 'eslint-plugin-import': '*',\n 'eslint-plugin-prettier': '*',\n }\n\n if (features.typescript) {\n pkgJson.devDependencies = {\n ...pkgJson.devDependencies,\n '@typescript-eslint/eslint-plugin': '*',\n '@typescript-eslint/parser': '*',\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const eslintConfigOverride: any = {\n files: ['**/*.ts', '**/*.tsx'],\n parser: '@typescript-eslint/parser',\n parserOptions: {\n project: ['./tsconfig.json'],\n },\n extends: [\n 'eslint:recommended',\n 'plugin:prettier/recommended',\n 'plugin:@typescript-eslint/eslint-recommended',\n 'plugin:@typescript-eslint/recommended',\n ].filter(Boolean),\n plugins: ['import', '@typescript-eslint', 'prettier'].filter(Boolean),\n rules: {\n '@typescript-eslint/explicit-module-boundary-types': 'error',\n '@typescript-eslint/interface-name-prefix': 'off',\n '@typescript-eslint/member-delimiter-style': 'off',\n '@typescript-eslint/no-empty-interface': 'off',\n },\n }\n\n eslintConfig.overrides = [eslintConfigOverride]\n }\n\n files.push({\n name: '.eslintrc.cjs',\n contents: await format(\n resolve(packagePath, '.eslintrc.cjs'),\n outdent`\n 'use strict'\n\n /** @type import('eslint').Linter.Config */\n module.exports = ${JSON.stringify(eslintConfig, null, 2)}\n `,\n prettierConfig,\n ),\n })\n }\n\n if (features.typescript) {\n files.push({\n name: 'tsconfig.settings.json',\n contents: await format(\n resolve(packagePath, 'tsconfig.settings.json'),\n outdent`\n {\n \"compilerOptions\": {\n \"module\": \"ES2020\",\n \"target\": \"ES2020\",\n \"declaration\": true,\n \"declarationMap\": true,\n \"sourceMap\": true,\n\n // Strict type-checking\n \"strict\": true,\n \"noImplicitAny\": true,\n \"strictNullChecks\": true,\n \"strictFunctionTypes\": true,\n \"strictPropertyInitialization\": true,\n \"noImplicitThis\": true,\n \"alwaysStrict\": true,\n\n // Additional checks\n \"noUnusedLocals\": true,\n \"noUnusedParameters\": true,\n \"noImplicitReturns\": true,\n \"noFallthroughCasesInSwitch\": true,\n \"skipLibCheck\": true,\n\n // Module resolution\n \"moduleResolution\": \"node\",\n \"allowSyntheticDefaultImports\": true,\n \"esModuleInterop\": true\n }\n }\n `,\n prettierConfig,\n ),\n })\n\n files.push({\n name: 'tsconfig.dist.json',\n contents: await format(\n resolve(packagePath, 'tsconfig.dist.json'),\n outdent`\n {\n \"extends\": \"./tsconfig.settings\",\n \"include\": [\"./src\"],\n \"compilerOptions\": {\n \"rootDir\": \".\",\n \"outDir\": \"./dist\",\n \"emitDeclarationOnly\": true,\n \"resolveJsonModule\": true\n }\n }\n `,\n prettierConfig,\n ),\n })\n\n files.push({\n name: 'tsconfig.json',\n contents: await format(\n resolve(packagePath, 'tsconfig.json'),\n outdent`\n {\n \"extends\": \"./tsconfig.settings\",\n \"include\": [\"./*.cjs\", \"./*.ts\", \"./package.config.ts\", \"./src\"],\n \"compilerOptions\": {\n \"rootDir\": \".\",\n \"outDir\": \"./dist\",\n \"noEmit\": true,\n \"allowJs\": true,\n \"resolveJsonModule\": true,\n }\n }\n `,\n prettierConfig,\n ),\n })\n }\n\n // source file\n if (features.typescript) {\n files.push({\n name: 'package.config.ts',\n contents: await format(\n resolve(packagePath, 'package.config.ts'),\n outdent`\n import {defineConfig} from '@sanity/pkg-utils'\n\n export default defineConfig({\n extract: {\n rules: {\n // do not require internal members to be prefixed with \\`_\\`\n 'ae-internal-missing-underscore': 'off',\n },\n },\n\n // the path to the tsconfig file for distributed builds\n tsconfig: 'tsconfig.dist.json',\n })\n `,\n prettierConfig,\n ),\n })\n\n files.push({\n name: 'src/index.ts',\n contents: await format(\n resolve(packagePath, 'src/index.ts'),\n outdent`\n /** @public */\n export function main(): void {\n //\n }\n `,\n prettierConfig,\n ),\n })\n } else {\n files.push({\n name: 'package.config.js',\n contents: await format(\n resolve(packagePath, 'package.config.js'),\n outdent`\n import {defineConfig} from '@sanity/pkg-utils'\n\n export default defineConfig({\n extract: {\n rules: {\n // do not require internal members to be prefixed with \\`_\\`\n 'ae-internal-missing-underscore': 'off',\n },\n },\n })\n `,\n prettierConfig,\n ),\n })\n\n files.push({\n name: 'src/index.js',\n contents: await format(\n resolve(packagePath, 'src/index.js'),\n outdent`\n /** @public */\n export function main() {\n //\n }\n `,\n prettierConfig,\n ),\n })\n }\n\n // Resolve latest dependencies\n try {\n pkgJson.dependencies = await resolveLatestDeps(pkgJson.dependencies ?? {})\n } catch (error) {\n logger.warn(error instanceof Error ? error.message : error)\n }\n\n // Resolve latest devDependencies\n try {\n pkgJson.devDependencies = await resolveLatestDeps(pkgJson.devDependencies ?? {})\n } catch (error) {\n logger.warn(error instanceof Error ? error.message : error)\n }\n\n files.push({\n name: 'package.json',\n contents: await format(\n resolve(packagePath, 'package.json'),\n JSON.stringify(pkgJson, null, 2),\n prettierConfig,\n ),\n })\n\n return files\n },\n }\n}\n\nfunction format(filepath: string, input: string, prettierOptions: PrettierConfig) {\n return prettier.format(input, {...prettierOptions, filepath})\n}\n\nasync function resolveLatestDeps(deps: Record<string, string>) {\n const depsEntries = Object.entries(deps)\n const latestDeps: Record<string, string> = {}\n\n for (const entry of depsEntries) {\n const [name, version] = entry\n const latestVersion = await getLatestVersion(name, version)\n\n latestDeps[name] = latestVersion ? `^${latestVersion}` : version\n }\n\n return latestDeps\n}\n","import {lstat} from 'fs/promises'\nimport {mkdirp} from 'mkdirp'\nimport {resolve} from 'path'\n\nimport {createFromTemplate} from './core/template'\nimport {fileExists} from './fileExists'\nimport {isEmptyDirectory} from './isEmptyDirectory'\nimport {createLogger} from './logger'\nimport {defaultTemplate} from './templates'\n\n/** @public */\nexport async function init(options: {cwd: string; path: string}): Promise<void> {\n if (!options.cwd) {\n throw new Error('Missing required option: cwd')\n }\n\n if (!options.path) {\n throw new Error('Missing required option: path')\n }\n\n const logger = createLogger()\n\n const packagePath = resolve(options.cwd, options.path)\n\n await ensurePackagePath(packagePath)\n\n await createFromTemplate({\n cwd: options.cwd,\n logger,\n template: defaultTemplate,\n packagePath,\n })\n}\n\nasync function ensurePackagePath(packagePath: string): Promise<void> {\n const exists = fileExists(packagePath)\n\n if (!exists) {\n await mkdirp(packagePath)\n\n return\n }\n\n const dir = (await lstat(packagePath)).isDirectory()\n\n if (!dir) {\n throw new Error('the package path is a file, not a directory')\n }\n\n const empty = await isEmptyDirectory(packagePath)\n\n if (!empty) {\n throw new Error('the package directory is not empty')\n }\n}\n","import fs from 'fs'\nimport path from 'path'\n\nimport {BuildContext, PkgExport, PkgFormat, PkgRuntime} from './core'\nimport {DtsWatchTask, RollupTaskEntry, RollupWatchTask, WatchTask} 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'\nimport path from 'path'\n\nexport function globFiles(patterns: string[]): Promise<string[]> {\n return globby(patterns.map((pattern) => pattern.split(path.sep).join(path.posix.sep)))\n}\n","import chokidar from 'chokidar'\nimport {Observable} from 'rxjs'\n\nexport interface FileEvent {\n type: 'add' | 'addDir' | 'change' | 'unlink' | 'unlinkDir'\n file: string\n}\n\nexport function watchFiles(patterns: string[]): Observable<FileEvent> {\n return new Observable((observer) => {\n const watcher = chokidar.watch(patterns, {\n ignoreInitial: true,\n })\n\n function handleFileEvent(\n type: 'add' | 'addDir' | 'change' | 'unlink' | 'unlinkDir',\n file: string,\n ) {\n observer.next({type, file})\n }\n\n watcher.on('all', handleFileEvent)\n\n return () => {\n watcher.off('all', handleFileEvent)\n watcher.close()\n }\n })\n}\n","import path from 'path'\nimport {Observable} from 'rxjs'\nimport {distinctUntilChanged, scan, startWith} from 'rxjs/operators'\n\nimport {globFiles} from './globFiles'\nimport {Logger} from './logger'\nimport {watchFiles} from './watchFiles'\n\nexport async function watchConfigFiles(options: {\n cwd: string\n logger: Logger\n}): Promise<Observable<string[]>> {\n const {cwd, logger} = options\n\n const initialFiles = await globFiles([\n path.resolve(cwd, 'package.json'),\n path.resolve(cwd, 'package.config.cjs'),\n path.resolve(cwd, 'package.config.js'),\n path.resolve(cwd, 'package.config.ts'),\n ])\n\n const fileEvent$ = watchFiles([\n path.resolve(cwd, 'package.json'),\n path.resolve(cwd, 'package.config.cjs'),\n path.resolve(cwd, 'package.config.js'),\n path.resolve(cwd, 'package.config.ts'),\n ])\n\n return fileEvent$.pipe(\n scan((files, fileEvent) => {\n if (fileEvent.type === 'add') {\n return files.concat(fileEvent.file)\n }\n\n if (fileEvent.type === 'unlink') {\n return files.filter((f) => f !== fileEvent.file)\n }\n\n if (fileEvent.type === 'change') {\n logger.log(\n '--------------------------------------------------------------------------------',\n )\n logger.info(path.relative(cwd, fileEvent.file), 'changed')\n logger.log('')\n\n return files.slice(0) // trigger update\n }\n\n return files\n }, initialFiles),\n startWith(initialFiles),\n distinctUntilChanged(),\n )\n}\n","import path from 'path'\nimport {switchMap} from 'rxjs'\n\nimport {getPkgExtMap, loadConfig, loadPkgWithReporting} from './core'\nimport {createLogger} from './logger'\nimport {resolveBuildContext} from './resolveBuildContext'\nimport {resolveWatchTasks} from './resolveWatchTasks'\nimport {TaskHandler, WatchTask, watchTaskHandlers} from './tasks'\nimport {watchConfigFiles} from './watchConfigFiles'\n\n/** @public */\nexport async function watch(options: {\n cwd: string\n strict?: boolean\n tsconfig?: string\n}): Promise<void> {\n const {cwd, strict = false, tsconfig: tsconfigOption} = options\n\n const logger = createLogger()\n\n const configFiles$ = await watchConfigFiles({cwd, logger})\n\n const ctx$ = configFiles$.pipe(\n switchMap(async (configFiles) => {\n const files = configFiles.map((f) => path.relative(cwd, f))\n\n const packageJsonPath = files.find((f) => f === 'package.json')\n\n if (!packageJsonPath) {\n throw new Error('missing package.json')\n }\n\n const pkg = await loadPkgWithReporting({cwd, logger})\n const config = await loadConfig({cwd})\n const extMap = getPkgExtMap({legacyExports: config?.legacyExports ?? false})\n const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'\n\n return resolveBuildContext({config, cwd, extMap, logger, pkg, strict, tsconfig})\n }),\n )\n\n ctx$.subscribe(async (ctx) => {\n const watchTasks = resolveWatchTasks(ctx)\n\n for (const task of watchTasks) {\n const handler = watchTaskHandlers[task.type] as TaskHandler<WatchTask, unknown>\n const result$ = handler.exec(ctx, task)\n\n result$.subscribe({\n error: (err) => {\n ctx.logger.error(err)\n ctx.logger.log()\n\n process.exit(1)\n },\n next: (result) => {\n handler.complete(ctx, task, result)\n },\n complete: () => {\n ctx.logger.success(handler.name(ctx, task))\n ctx.logger.log()\n },\n })\n }\n })\n}\n"],"names":["defineConfig","configOptions","fileExists","filePath","statSync","_","CONFIG_FILE_NAMES","findConfigFile","cwd","pkgJsonPath","findConfig","pkgPath","path","dirname","fileName","configPath","resolve","exists","loadConfig","options","pkgUp","root","configFile","startsWith","esbuildOptions","extensions","unregister","globalThis","__DEV__","register","mod","require","default","resolveConfigProperty","prop","initialValue","DEFAULT_BROWSERSLIST_QUERY","isRecord","value","Boolean","Array","isArray","pkgSchema","z","object","type","optional","enum","name","string","version","license","bin","record","dependencies","devDependencies","peerDependencies","source","main","browser","module","types","exports","union","custom","val","test","import","node","browserslist","array","validatePkg","input","parse","loadPkg","Error","buf","fs","readFile","raw","JSON","toString","assertFirst","a","arr","aIdx","indexOf","assertLast","length","assertOrder","b","bIdx","loadPkgWithReporting","logger","pkg","shouldError","_exports","Object","entries","expPath","exp","keys","error","concat","nodeKeys","warn","process","exit","err","ZodError","issue","issues","code","formatPath","chalk","magenta","expected","received","join","segments","map","s","idx","validateExports","extMap","ext","errors","endsWith","commonjs","push","_path","esm","parseExports","strict","rootExport","_exported","extraExports","exportPath","exportEntry","assign","extraExport","DEFAULT_PKG_EXT_MAP","getPkgExtMap","legacyExports","ret","promptsTypes","createFromTemplate","packagePath","template","templateOrResolver","log","relative","templateOptions","templateOption","templateValidate","validate","res","prompts","message","description","prev","initial","onCancel","features","templateFeature","confirm","files","getFiles","sort","localeCompare","file","mkdirp","writeFile","contents","trim","success","defineTemplateOption","option","loadTSConfig","tsconfigPath","ts","sys","readConfigFile","parseJsonConfigFileContent","config","createLogger","console","arguments","info","_len","args","_key","blue","_len2","_key2","yellow","_len3","_key3","red","_len4","_key4","green","pathContains","containerPath","itemPath","findCommonDirPath","filePaths","dirPath","sortAsNumber","aVersion","Number","bVersion","resolveBrowserslistVersions","query","result","key","split","andChr","filter","andFf","chrome","edge","ff","iosSaf","saf","opera","versions","resolveBrowserTarget","target","resolveNodeTarget","resolveBuildContext","_ref","emitDeclarationOnly","tsconfig","targetVersions","nodeTarget","webTarget","parsedExports","reduce","acc","x","parsedExternal","external","outputPaths","values","flatMap","_a","_b","_c","_d","p","commonDistPath","configDistPath","dist","distPath","ctx","runtime","resolveBuildTasks","_e","bundles","tasks","_ref2","dtsTask","rollupTasks","addRollupTaskEntry","format","entry","buildId","importId","sourcePath","targetPath","output","bundle","relativeTargetPath","replace","writeFileSync","nodeReexportCjsEntries","createSpinner","msg","startTime","Date","now","complete","gray","printExtractMessages","messages","warnings","logLevel","sourceFilePath","messageId","cyan","sourceFileLine","sourceFileColumn","text","printDiagnostic","diagnostic","start","line","character","getLineAndCharacterOfPosition","flattenDiagnosticMessageText","messageText","category","DiagnosticCategory","Warning","Message","Suggestion","buildTypes","outDir","compilerOptions","declaration","declarationDir","noEmit","program","createProgram","fileNames","emitResult","emit","allDiagnostics","getPreEmitDiagnostics","diagnostics","emitSkipped","diag","DtsError","constructor","_defineProperty","createApiExtractorConfig","projectFolder","mainEntryPointFilePath","apiReport","enabled","reportFileName","compiler","tsconfigFilePath","docModel","apiJsonFilePath","dtsRollup","untrimmedFilePath","tsdocMetadata","createTSDocConfig","opts","customTags","tsDocBaseBuf","tsDocBaseConfig","tagDefinitions","t","tagName","syntaxKind","allowMultiple","supportForTags","customTag","TSDocConfigFile","loadFromObject","noStandardTags","extractModuleBlocksFromTypes","_ref3","tsOutDir","extractResult","compilerState","moduleBlocks","allProgramFiles","getSourceFiles","sourceFiles","sourceFile","includes","extractModuleBlocks","fileContent","ast","parser","typeScriptParser","body","print","LOG_LEVELS","off","getExtractMessagesConfig","rules","ruleToLogLevel","defaultLevel","r","compilerMessageReporting","extractorMessageReporting","addToApiReportFile","tsdocMessageReporting","extractTypes","projectPath","sourceTypesPath","tmpPath","tsdocConfigFile","extractorConfig","ExtractorConfig","prepare","configObject","configObjectFullPath","packageJsonFullPath","extractorResult","Extractor","invoke","localBuild","showVerboseMessages","messageCallback","handled","typesPath","typesBuf","prettierConfig","prettier","resolveConfig","filepath","doExtract","task","results","rootDir","extract","some","rimraf","_ctx","exec","Observable","observer","then","next","catch","_task","dtsWatchTask","nodeReexportCjsTask","from","targetDir","relativeImport","slice","compileESMWrapper","k","__esModule","createConsoleSpy","onRestored","original","_len5","_key5","_len6","_key6","_len7","_key7","restore","resolveRollupConfig","buildTask","_ref4","_ref7","_ref8","_ref9","_ref10","_ref11","outputExt","minify","pathAliases","fromEntries","paths","_ref5","baseUrl","exportIds","sourcePaths","e","replacements","define","_ref6","stringify","defaultPlugins","preventAssignment","arg","find","env","PKG_VERSION","alias","nodeResolve","preferBuiltins","json","esbuild","jsx","jsxFactory","jsxFragment","jsxImportSource","getBabelOutputPlugin","babelrc","plugins","babel","presets","targets","modules","terser","compress","preserveModuleDirectives","directives","comments","_node","comment","preserveDirectives","userPlugins","rollup","inputOptions","context","id","importer","idPath","idParts","treeshake","propertyReadSideEffects","outputOptions","chunkFileNames","parts","compact","dir","entryFileNames","esModule","interop","minifyInternalExports","sourcemap","hoistTransitiveImports","preserveModules","rollupTask","bundleEntries","targetLines","bundlesLines","entriesLines","execPromise","consoleSpy","String","onwarn","warning","generate","chunkOrAsset","write","close","rollupWatchTask","watchOptions","watcher","rollupWatch","on","event","buildTaskHandlers","watchTaskHandlers","build","_ref12","tsconfigOption","buildTasks","handler","taskName","spinner","toPromise","RE_CWD","RegExp","getFilesize","stats","prettyBytes","size","getFileInfo","printPackageTree","tree","_ref13","fileInfo","_ref14","_ref15","treeify","asTree","check","_ref16","missingFiles","exportPaths","checkExports","esbuildResult","outfile","platform","stdin","loader","resolveDir","printEsbuildMessage","esbuildWarnings","detail","location","lineText","column","isEmptyDirectory","readdir","RE_NAME","defaultTemplate","_ref17","gitConfig","parseGitConfig","v","gitUrlParse","owner","repo","match","scope","fullName","user","email","_filter$join","_options$description","pkgName","author","authorName","authorEmail","bracketSpacing","printWidth","semi","singleQuote","tabWidth","overrides","pkgJson","keywords","typescript","scripts","clean","engines","outdent","_templateObject","_taggedTemplateLiteral","_templateObject2","_templateObject3","repository","url","bugs","homepage","mainExport","eslint","eslintConfig","es6","extends","parserOptions","ecmaVersion","sourceType","terms","_templateObject4","lint","eslintConfigOverride","project","_templateObject5","_templateObject6","_templateObject7","_templateObject8","_templateObject9","_templateObject10","_templateObject11","_templateObject12","_pkgJson$dependencies","resolveLatestDeps","_pkgJson$devDependenc","prettierOptions","deps","depsEntries","latestDeps","latestVersion","getLatestVersion","init","ensurePackagePath","lstat","isDirectory","empty","resolveWatchTasks","_ref18","globFiles","patterns","globby","pattern","sep","posix","watchFiles","chokidar","watch","ignoreInitial","handleFileEvent","watchConfigFiles","initialFiles","fileEvent$","pipe","scan","fileEvent","f","startWith","distinctUntilChanged","configFiles$","ctx$","switchMap","configFiles","_ref19","packageJsonPath","subscribe","watchTasks","result$"],"mappings":"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"}