@sanity/pkg-utils 6.13.3-canary.1 → 6.13.3-canary.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -89,7 +89,6 @@ Override or modify the value of the `exports` before it’s parsed internally.
89
89
  ```ts
90
90
  {
91
91
  rules?: {
92
- 'ae-forgotten-export'?: PkgRuleLevel
93
92
  'ae-incompatible-release-tags'?: PkgRuleLevel
94
93
  'ae-internal-missing-underscore'?: PkgRuleLevel
95
94
  'ae-missing-release-tag'?: PkgRuleLevel
@@ -102,22 +102,15 @@ function createApiExtractorConfig(options) {
102
102
  messages,
103
103
  projectFolder,
104
104
  mainEntryPointFilePath,
105
- tsconfig,
106
105
  tsconfigPath
107
- } = options, workaroundPaths = !!tsconfig.options.paths, overrideTsconfig = {
108
- extends: tsconfigPath,
109
- compilerOptions: {}
110
- };
111
- return workaroundPaths && Object.assign(overrideTsconfig.compilerOptions, {
112
- // An empty object replaces whatever is in the original tsconfig file
113
- paths: {}
114
- }), {
106
+ } = options;
107
+ return {
115
108
  apiReport: {
116
109
  enabled: !1,
117
110
  reportFileName: "<unscopedPackageName>.api.md"
118
111
  },
119
112
  bundledPackages,
120
- compiler: workaroundPaths ? { overrideTsconfig } : { tsconfigFilePath: tsconfigPath },
113
+ compiler: { tsconfigFilePath: tsconfigPath },
121
114
  docModel: {
122
115
  enabled: !1,
123
116
  apiJsonFilePath: path__default.default.resolve(distPath, `${exportPath}.api.json`)
@@ -196,7 +189,7 @@ function getExtractMessagesConfig(options) {
196
189
  addToApiReportFile: !1
197
190
  },
198
191
  "ae-forgotten-export": {
199
- logLevel: ruleToLogLevel("ae-forgotten-export", "error"),
192
+ logLevel: ruleToLogLevel("ae-forgotten-export", "none"),
200
193
  addToApiReportFile: !1
201
194
  },
202
195
  "ae-incompatible-release-tags": {
@@ -248,7 +241,6 @@ async function extractTypes(options) {
248
241
  rules,
249
242
  sourceTypesPath,
250
243
  tmpPath,
251
- tsconfig,
252
244
  tsconfigPath
253
245
  } = options, tsdocConfigFile = await createTSDocConfig({
254
246
  customTags: customTags || []
@@ -261,7 +253,6 @@ async function extractTypes(options) {
261
253
  messages: getExtractMessagesConfig({ rules }),
262
254
  projectFolder: projectPath,
263
255
  mainEntryPointFilePath: sourceTypesPath,
264
- tsconfig,
265
256
  tsconfigPath
266
257
  }),
267
258
  configObjectFullPath: void 0,
@@ -313,7 +304,6 @@ async function doExtract(ctx, task) {
313
304
  ), targetPaths = entry.targetPaths.map((targetPath) => path__default.default.resolve(cwd, targetPath)), filePaths = targetPaths.map((targetPath) => path__default.default.relative(outDir, targetPath)), result = await extractTypes({
314
305
  bundledPackages: bundledPackages || [],
315
306
  customTags: config?.extract?.customTags,
316
- cwd,
317
307
  distPath: outDir,
318
308
  exportPath,
319
309
  files,
@@ -321,7 +311,6 @@ async function doExtract(ctx, task) {
321
311
  projectPath: cwd,
322
312
  rules: config?.extract?.rules,
323
313
  sourceTypesPath,
324
- tsconfig: ts2.config,
325
314
  tmpPath,
326
315
  tsconfigPath: path__default.default.resolve(cwd, ts2.configPath || "tsconfig.json")
327
316
  });
@@ -423,7 +412,6 @@ const dtsTask = {
423
412
  const result = await extractTypes({
424
413
  bundledPackages: bundledPackages || [],
425
414
  customTags: config?.extract?.customTags,
426
- cwd,
427
415
  distPath: outDir,
428
416
  exportPath,
429
417
  files,
@@ -431,7 +419,6 @@ const dtsTask = {
431
419
  projectPath: cwd,
432
420
  rules: config?.extract?.rules,
433
421
  sourceTypesPath,
434
- tsconfig: tsContext.config,
435
422
  tmpPath,
436
423
  tsconfigPath: path__default.default.resolve(cwd, tsContext.configPath || "tsconfig.json")
437
424
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../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/rollup/resolveRollupConfig.ts","../../src/node/tasks/rollup/rollupLegacyTask.ts","../../src/node/tasks/rollup/rollupReactCompilerTask.ts","../../src/node/tasks/rollup/rollupTask.ts","../../src/node/tasks/rollup/rollupWatchTask.ts","../../src/node/tasks/index.ts"],"sourcesContent":["import path from 'node:path'\n\nimport type {ExtractorMessage} from '@microsoft/api-extractor'\nimport chalk from 'chalk'\n\nimport type {BuildContext} from './core'\n\nexport function printExtractMessages(ctx: BuildContext, messages: ExtractorMessage[]): void {\n const {cwd, logger} = ctx\n\n const warnings = messages.filter((msg) => msg.logLevel === 'warning')\n\n if (warnings.length) {\n logger.log()\n }\n\n for (const msg of warnings) {\n const sourceFilePath = msg.sourceFilePath && path.relative(cwd, msg.sourceFilePath)\n\n if (msg.messageId === 'TS6307') {\n // Ignore this warning:\n // > TS6307: <filename> is not in project file list.\n // > Projects must list all files or use an 'include' pattern.\n continue\n }\n\n logger.log(\n [\n `${chalk.cyan(sourceFilePath || '?')}`,\n `:${chalk.yellow(msg.sourceFileLine)}:${chalk.yellow(msg.sourceFileColumn)}`,\n ` - ${chalk.yellow('warning')} ${chalk.gray(msg.messageId)}\\n`,\n msg.text,\n '\\n',\n ].join(''),\n )\n }\n\n const errors: ExtractorMessage[] = messages.filter((msg) => msg.logLevel === 'error')\n\n if (!warnings.length && errors.length) {\n logger.log('')\n }\n\n for (const msg of errors) {\n const sourceFilePath = msg.sourceFilePath && path.relative(cwd, msg.sourceFilePath)\n\n logger.log(\n [\n `${chalk.cyan(sourceFilePath || '?')}`,\n `:${chalk.yellow(msg.sourceFileLine)}:${chalk.yellow(msg.sourceFileColumn)}`,\n ` - ${chalk.red('error')} ${chalk.gray(msg.messageId)}\\n`,\n msg.text,\n '\\n',\n ].join(''),\n )\n }\n\n if (errors.length) {\n process.exit(1)\n }\n}\n","import path from 'node:path'\n\nimport chalk from 'chalk'\nimport ts from 'typescript'\n\nimport type {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 type {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 noEmitOnError: strict ? true : (tsconfig.options.noEmitOnError ?? true),\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 throw new Error('failed to compile TypeScript definitions')\n }\n }\n}\n","import type {ExtractorMessage} from '@microsoft/api-extractor'\n\n/** @internal */\nexport class DtsError extends Error {\n messages: ExtractorMessage[]\n\n constructor(message: string, messages: ExtractorMessage[]) {\n super(message)\n this.messages = messages\n }\n}\n","import path from 'node:path'\n\nimport type {IConfigFile, IExtractorMessagesConfig} from '@microsoft/api-extractor'\nimport ts from 'typescript'\n\nexport function createApiExtractorConfig(options: {\n bundledPackages?: string[]\n distPath: string\n exportPath: string\n filePath: string\n messages: IExtractorMessagesConfig\n projectFolder: string\n mainEntryPointFilePath: string\n tsconfig: ts.ParsedCommandLine\n tsconfigPath: string\n}): IConfigFile {\n const {\n bundledPackages,\n distPath,\n exportPath,\n filePath,\n messages,\n projectFolder,\n mainEntryPointFilePath,\n tsconfig,\n tsconfigPath,\n } = options\n // If `paths` are used for self-referencing imports (e.g. the module is named `sanity`, and the `sanity/structure` export is also importing from `sanity/router`),\n const workaroundPaths = !!tsconfig.options.paths\n\n const overrideTsconfig = {\n extends: tsconfigPath,\n compilerOptions: {},\n }\n\n if (workaroundPaths) {\n Object.assign(overrideTsconfig.compilerOptions, {\n // An empty object replaces whatever is in the original tsconfig file\n paths: {},\n })\n }\n\n return {\n apiReport: {\n enabled: false,\n reportFileName: '<unscopedPackageName>.api.md',\n },\n bundledPackages,\n compiler: workaroundPaths ? {overrideTsconfig} : {tsconfigFilePath: tsconfigPath},\n\n docModel: {\n enabled: false,\n apiJsonFilePath: path.resolve(distPath, `${exportPath}.api.json`),\n },\n dtsRollup: {\n enabled: true,\n untrimmedFilePath: path.resolve(distPath, filePath),\n // betaTrimmedFilePath: path.resolve(distPath, filePath.replace('.d.ts', '-beta.d.ts')),\n // publicTrimmedFilePath: path.resolve(distPath, filePath.replace('.d.ts', '-public.d.ts')),\n },\n tsdocMetadata: {\n enabled: false,\n },\n messages,\n mainEntryPointFilePath,\n projectFolder,\n }\n}\n","import {readFile} from 'node:fs/promises'\n\nimport {TSDocConfigFile} from '@microsoft/tsdoc-config'\nimport {parse} from 'jsonc-parser'\n\n/** @public */\nexport interface TSDocCustomTag {\n name: string\n syntaxKind: 'block' | 'modifier'\n allowMultiple?: boolean\n}\n\n/** @internal */\nexport async function createTSDocConfig(opts: {\n customTags: TSDocCustomTag[]\n}): Promise<TSDocConfigFile | undefined> {\n const {customTags} = opts\n\n if (customTags.length === 0) {\n return undefined\n }\n\n const tsDocBaseBuf = await readFile(\n require.resolve('@microsoft/api-extractor/extends/tsdoc-base.json'),\n )\n\n // Include the definitions that are required for API Extractor\n // extends: ['@microsoft/api-extractor/extends/tsdoc-base.json'],\n const tsDocBaseConfig = parse(tsDocBaseBuf.toString())\n\n // Define custom tags and specify how they should be parsed\n const tagDefinitions = (tsDocBaseConfig.tagDefinitions || []).concat(\n customTags.map((t) => ({\n tagName: `@${t.name}`,\n syntaxKind: t.syntaxKind,\n allowMultiple: t.allowMultiple,\n })),\n )\n\n // Indicate that custom tags are supported by your tooling.\n // (Without this, warnings may be reported saying that a tag is unsupported.)\n const supportForTags = {...tsDocBaseConfig.supportForTags}\n\n for (const customTag of customTags) {\n supportForTags[`@${customTag.name}`] = true\n }\n\n return TSDocConfigFile.loadFromObject({\n ...tsDocBaseConfig,\n noStandardTags: false,\n tagDefinitions,\n supportForTags,\n })\n}\n","import type {File} from '@babel/types'\nimport type {ExtractorResult} from '@microsoft/api-extractor'\nimport {parse, print} from 'recast'\nimport typeScriptParser from 'recast/parsers/typescript.js'\nimport type {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 type {ExtractorLogLevel, IExtractorMessagesConfig} from '@microsoft/api-extractor'\n\nimport type {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 fs from 'node:fs/promises'\nimport path from 'node:path'\n\nimport {\n Extractor,\n ExtractorConfig,\n type ExtractorMessage,\n type ExtractorResult,\n} from '@microsoft/api-extractor'\nimport {mkdirp} from 'mkdirp'\nimport prettier from 'prettier'\nimport type ts from 'typescript'\n\nimport type {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 bundledPackages?: string[]\n customTags: NonNullable<PkgConfigOptions['extract']>['customTags']\n cwd: string\n distPath: string\n exportPath: string\n filePaths: string[]\n files: BuildFile[]\n projectPath: string\n rules?: NonNullable<PkgConfigOptions['extract']>['rules']\n sourceTypesPath: string\n tmpPath: string\n tsconfig: ts.ParsedCommandLine\n tsconfigPath: string\n}): Promise<{extractorResult: ExtractorResult; messages: ExtractorMessage[]}> {\n const {\n bundledPackages,\n customTags,\n distPath,\n exportPath,\n files,\n filePaths,\n projectPath,\n rules,\n sourceTypesPath,\n tmpPath,\n tsconfig,\n tsconfigPath,\n } = options\n\n const tsdocConfigFile = await createTSDocConfig({\n customTags: customTags || [],\n })\n\n const filePath = filePaths[0].replace(/\\.d\\.[mc]ts$/, '.d.ts')\n // If there are package.config.ts `bundles` we might not have something that should leave behind a `.d.ts` file and need to handle that\n const shouldCleanUpDts = !filePaths.includes(filePath)\n const extractorConfig: ExtractorConfig = ExtractorConfig.prepare({\n configObject: createApiExtractorConfig({\n bundledPackages,\n distPath,\n exportPath,\n filePath,\n messages: getExtractMessagesConfig({rules}),\n projectFolder: projectPath,\n mainEntryPointFilePath: sourceTypesPath,\n tsconfig,\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 const prettyCode = await prettier.format(code, {\n ...prettierConfig,\n filepath: typesPath,\n })\n\n for (const expFilePath of filePaths) {\n const expTypesPath = path.resolve(distPath, expFilePath)\n\n await fs.writeFile(expTypesPath, prettyCode)\n\n // Add to `files` in context\n files.push({\n type: 'types',\n path: expTypesPath,\n })\n }\n\n if (shouldCleanUpDts) {\n await fs.unlink(typesPath)\n }\n\n return {extractorResult, messages}\n}\n","import path from 'node:path'\n\nimport type {ExtractorMessage} from '@microsoft/api-extractor'\nimport rimraf from 'rimraf'\n\nimport type {BuildContext} from '../../core'\nimport {buildTypes} from './buildTypes'\nimport {DtsError} from './DtsError'\nimport {extractTypes} from './extractTypes'\nimport type {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, bundledPackages} = 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; filePaths: 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 targetPaths = entry.targetPaths.map((targetPath) => path.resolve(cwd, targetPath))\n const filePaths = targetPaths.map((targetPath) => path.relative(outDir, targetPath))\n const result = await extractTypes({\n bundledPackages: bundledPackages || [],\n customTags: config?.extract?.customTags,\n cwd,\n distPath: outDir,\n exportPath,\n files,\n filePaths,\n projectPath: cwd,\n rules: config?.extract?.rules,\n sourceTypesPath: sourceTypesPath,\n tsconfig: ts.config,\n tmpPath,\n tsconfigPath: path.resolve(cwd, ts.configPath || 'tsconfig.json'),\n })\n\n messages.push(...result.messages)\n\n const errors = result.messages.filter((msg) => msg.logLevel === 'error')\n\n if (errors.length > 0) {\n await rimraf(tmpPath)\n throw new DtsError(`encountered ${errors.length} errors when extracting types`, errors)\n }\n\n results.push({sourcePath: path.resolve(cwd, entry.sourcePath), filePaths: targetPaths})\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 type {TaskHandler} from '../types'\nimport {doExtract} from './doExtract'\nimport {DtsError} from './DtsError'\nimport type {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 return entry.targetPaths\n .map((targetPath) => {\n return [\n ` - ${chalk.cyan(entry.importId)}: `,\n `${chalk.yellow(entry.sourcePath)} ${chalk.gray('→')} ${chalk.yellow(targetPath)}`,\n ].join('')\n })\n .join('\\n')\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 path from 'node:path'\n\nimport type {ExtractorMessage} from '@microsoft/api-extractor'\nimport chalk from 'chalk'\nimport rimraf from 'rimraf'\nimport {Observable} from 'rxjs'\nimport ts from 'typescript'\n\nimport {printExtractMessages} from '../../printExtractMessages'\nimport type {TaskHandler} from '../types'\nimport {buildTypes} from './buildTypes'\nimport {DtsError} from './DtsError'\nimport {extractTypes} from './extractTypes'\nimport type {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((entry) => {\n return entry.targetPaths.map((targetPath) => {\n return [\n ` - ${chalk.cyan(entry.importId)}: `,\n `${chalk.yellow(entry.sourcePath)} ${chalk.gray('→')} ${chalk.yellow(targetPath)}`,\n ].join('')\n })\n }),\n ].join('\\n'),\n exec: (ctx, task) => {\n const {config, cwd, files, logger, strict, ts: tsContext, bundledPackages} = ctx\n\n return new Observable((observer) => {\n if (!tsContext.config || !tsContext.configPath) {\n observer.next({type: 'dts', messages: [], results: []})\n observer.complete()\n\n return\n }\n\n const {outDir, rootDir = cwd} = tsContext.config.options\n\n if (!outDir) {\n observer.error(new Error('tsconfig.json is missing `compilerOptions.outDir`'))\n\n return\n }\n\n const tmpPath = path.resolve(outDir, '__tmp__')\n\n buildTypes({\n cwd,\n logger,\n outDir: tmpPath,\n tsconfig: tsContext.config,\n strict,\n }).catch((err) => {\n observer.error(err)\n })\n\n const host = ts.createWatchCompilerHost(\n tsContext.configPath,\n {\n ...tsContext.config.options,\n declaration: true,\n declarationDir: tmpPath,\n emitDeclarationOnly: true,\n noEmit: false,\n noEmitOnError: strict ? true : (tsContext.config.options.noEmitOnError ?? true),\n outDir: tmpPath,\n },\n ts.sys,\n ts.createEmitAndSemanticDiagnosticsBuilderProgram,\n (diagnostic) => {\n logger.error(ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n'))\n },\n (diagnostic) => {\n logger.info(ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n'))\n },\n )\n\n const origPostProgramCreate = host.afterProgramCreate\n\n host.afterProgramCreate = async (program) => {\n origPostProgramCreate?.(program)\n\n const messages: ExtractorMessage[] = []\n const results: {sourcePath: string; filePaths: 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 targetPaths = entry.targetPaths.map((targetPath) => path.resolve(cwd, targetPath))\n const filePaths = targetPaths.map((targetPath) => path.relative(outDir, targetPath))\n\n try {\n const result = await extractTypes({\n bundledPackages: bundledPackages || [],\n customTags: config?.extract?.customTags,\n cwd,\n distPath: outDir,\n exportPath,\n files,\n filePaths,\n projectPath: cwd,\n rules: config?.extract?.rules,\n sourceTypesPath: sourceTypesPath,\n tsconfig: tsContext.config!,\n tmpPath,\n tsconfigPath: path.resolve(cwd, tsContext.configPath || 'tsconfig.json'),\n })\n\n messages.push(...result.messages)\n results.push({sourcePath: path.resolve(cwd, entry.sourcePath), filePaths: targetPaths})\n } catch (err) {\n if (err instanceof DtsError) {\n messages.push(...err.messages)\n } else {\n observer.error(err)\n\n return\n }\n }\n }\n\n observer.next({type: 'dts', messages, results})\n }\n\n const watchProgram = ts.createWatchProgram(host)\n\n return () => {\n watchProgram.close()\n rimraf.sync(tmpPath)\n }\n })\n },\n complete: (ctx, task, result) => {\n const {logger} = ctx\n\n printExtractMessages(ctx, result.messages)\n\n logger.success(\n `build type definitions\\n ${task.entries\n .map(\n (entry) =>\n ` - ${chalk.cyan(entry.importId)}: ${chalk.yellow(entry.sourcePath)} ${chalk.gray('→')} ${chalk.yellow(entry.targetPaths.join(', '))}`,\n )\n .join('\\n ')}`,\n )\n logger.log('')\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof DtsError) {\n printExtractMessages(ctx, err.messages)\n } else if (err instanceof Error) {\n logger.error(err)\n }\n },\n}\n","import path from 'node:path'\n\nimport type {PluginItem} from '@babel/core'\nimport {optimizeLodashImports} from '@optimize-lodash/rollup-plugin'\nimport alias from '@rollup/plugin-alias'\nimport {babel, 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 type {InputOptions, OutputOptions, Plugin} from 'rollup'\nimport esbuild from 'rollup-plugin-esbuild'\n\nimport {pkgExtMap as extMap} from '../../../node/core/pkg/pkgExt'\nimport {type BuildContext, type PackageJSON, resolveConfigProperty} from '../../core'\nimport type {RollupLegacyTask, RollupReactCompilerTask, 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 | RollupLegacyTask | RollupReactCompilerTask | RollupWatchTask,\n): RollupConfig {\n const {format, runtime, target} = buildTask\n const {config, cwd, exports: _exports, external, distPath, logger, pkg, ts} = ctx\n const isLegacyExports = buildTask.type === 'build:legacy'\n const isReactCompiler = buildTask.type === 'build:react-compiler'\n const outputExt = isLegacyExports ? extMap.legacy : 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 {optimizeLodash: enableOptimizeLodash = hasDependency(pkg, 'lodash')} = config?.rollup || {}\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 browser: runtime === 'browser',\n extensions: ['.cjs', '.mjs', '.js', '.jsx', '.json', '.node'],\n preferBuiltins: true,\n }),\n commonjs(),\n json(),\n (isReactCompiler || config?.babel?.reactCompiler || config?.babel?.styledComponents) &&\n babel({\n babelrc: false,\n presets: ['@babel/preset-typescript'],\n babelHelpers: 'bundled',\n extensions: ['.ts', '.tsx', '.js', '.jsx'],\n plugins: [\n // The styled-components plugin needs to run before the react-compiler plugin, in case the css prop is used\n config?.babel?.styledComponents && [\n 'babel-plugin-styled-components',\n {\n // Unnecessary, as the way we use styled-components in Sanity is usually by wrapping `@sanity/ui` primitives, not declaring new ones like \"const Button = styled.button``\"\n fileName: false,\n // Native template literals take less space than this transpilation\n transpileTemplateLiterals: false,\n // Massively helps dead code elimination and tree-shaking\n pure: true,\n // disabled, as pkg-utils tends to be used for npm publishing, while other tooling, like `sanity dev`, `next dev`, etc are used for testing\n cssProp: false,\n ...(typeof config.babel.styledComponents === 'object'\n ? config.babel.styledComponents\n : {}),\n },\n ],\n (isReactCompiler || config?.babel?.reactCompiler) && [\n 'babel-plugin-react-compiler',\n config?.reactCompilerOptions || {},\n ],\n ].filter(Boolean) as PluginItem[],\n }),\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 treeShaking: true,\n minifySyntax: config?.minify !== false,\n supported: {\n 'template-literal': true,\n },\n }),\n Array.isArray(config?.babel?.plugins) &&\n getBabelOutputPlugin({\n babelrc: false,\n plugins: config.babel.plugins,\n }),\n enableOptimizeLodash &&\n optimizeLodashImports({\n useLodashEs: format === 'esm' && hasDependency(pkg, 'lodash-es') ? true : undefined,\n ...(typeof config?.rollup?.optimizeLodash === 'boolean'\n ? {}\n : config?.rollup?.optimizeLodash),\n }),\n minify &&\n terser({\n compress: {directives: false, passes: 10},\n ecma: 2020,\n output: {\n comments: (_node, comment) => {\n const text = comment.value\n const cType = comment.type\n\n // Check if this is a multiline comment\n if (cType === 'comment2') {\n // Keep licensing comments\n return /@preserve|@license|@cc_on/i.test(text)\n }\n\n return false\n },\n preserve_annotations: true,\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 const hashChunkFileNames = config?.rollup?.hashChunkFileNames ?? false\n const chunksFolder = isReactCompiler\n ? '_compiled'\n : isLegacyExports\n ? '_legacy'\n : hashChunkFileNames\n ? '_chunks'\n : '_chunks-[format]'\n const chunkFileNames = `${chunksFolder}/${hashChunkFileNames ? '[name]-[hash]' : '[name]'}${outputExt}`\n const entryFileNames = isLegacyExports ? '[name].js' : `[name]${outputExt}`\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 watch: {\n chokidar: {\n usePolling: true,\n },\n },\n\n plugins,\n\n treeshake: {\n preset: 'recommended',\n propertyReadSideEffects: false,\n moduleSideEffects: 'no-external',\n ...config?.rollup?.treeshake,\n },\n experimentalLogSideEffects: config?.rollup?.experimentalLogSideEffects,\n },\n outputOptions: {\n chunkFileNames,\n compact: minify,\n dir: outDir,\n entryFileNames,\n esModule: true,\n format,\n interop: 'compat',\n sourcemap: config?.sourcemap ?? true,\n hoistTransitiveImports: false,\n minifyInternalExports: minify,\n ...config?.rollup?.output,\n },\n }\n}\n\nfunction hasDependency(pkg: PackageJSON, packageName: string): boolean {\n return pkg.dependencies\n ? packageName in pkg.dependencies\n : pkg.peerDependencies\n ? packageName in pkg.peerDependencies\n : false\n}\n","import path from 'node:path'\n\nimport chalk from 'chalk'\nimport {rollup} from 'rollup'\nimport {Observable} from 'rxjs'\n\nimport {createConsoleSpy} from '../../consoleSpy'\nimport type {BuildContext} from '../../core'\nimport type {RollupLegacyTask, TaskHandler} from '../types'\nimport {resolveRollupConfig} from './resolveRollupConfig'\n\n/** @internal */\nexport const rollupLegacyTask: TaskHandler<RollupLegacyTask> = {\n name: (ctx, task) => {\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 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 // @TODO list out the root level files that are generated\n\n return [\n 'Build legacy exports...',\n ` format: ${chalk.yellow(task.format)}`,\n ...targetLines,\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: RollupLegacyTask) {\n const {distPath, files, logger} = ctx\n const outDir = path.relative(ctx.cwd, distPath)\n\n // Prevent rollup from printing directly to the console\n const consoleSpy = createConsoleSpy({\n onRestored: (messages) => {\n for (const msg of messages) {\n const text = String(msg.args[0])\n\n if (msg.code === 'CIRCULAR_DEPENDENCY') {\n continue // ignore\n }\n\n if (text.startsWith('Dynamic import can only')) {\n continue // ignore\n }\n\n if (text.startsWith('Sourcemap is likely to be incorrect')) {\n continue // ignore\n }\n\n if (msg.type === 'log') {\n logger.info(...msg.args)\n }\n\n if (msg.type === 'warn') {\n logger.warn(...msg.args)\n }\n\n if (msg.type === 'error') {\n logger.error(...msg.args)\n }\n }\n },\n })\n\n try {\n const {inputOptions, outputOptions} = resolveRollupConfig(ctx, task)\n\n // Create bundle\n const bundle = await rollup({\n ...inputOptions,\n onwarn(warning) {\n consoleSpy.messages.push({\n type: 'warn',\n code: warning.code,\n args: [warning.message],\n })\n },\n })\n\n // generate output specific code in-memory\n // you can call this function multiple times on the same bundle object\n const {output} = await bundle.generate(outputOptions)\n\n for (const chunkOrAsset of output) {\n if (chunkOrAsset.type === 'asset') {\n files.push({\n type: 'asset',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n } else {\n files.push({\n type: 'chunk',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n }\n }\n\n // or write the bundle to disk\n await bundle.write(outputOptions)\n\n // closes the bundle\n await bundle.close()\n\n // Restore console\n consoleSpy.restore()\n } catch (err) {\n // Restore console\n consoleSpy.restore()\n throw err\n }\n}\n","import path from 'node:path'\n\nimport chalk from 'chalk'\nimport {rollup} from 'rollup'\nimport {Observable} from 'rxjs'\n\nimport {createConsoleSpy} from '../../consoleSpy'\nimport type {BuildContext} from '../../core'\nimport type {RollupReactCompilerTask, TaskHandler} from '../types'\nimport {resolveRollupConfig} from './resolveRollupConfig'\n\n/** @internal */\nexport const rollupReactCompilerTask: TaskHandler<RollupReactCompilerTask> = {\n name: (ctx, task) => {\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 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 // @TODO list out the root level files that are generated\n\n return ['Build react compiler exports...', ...targetLines, ...entriesLines].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: RollupReactCompilerTask) {\n const {distPath, files, logger} = ctx\n const outDir = path.relative(ctx.cwd, distPath)\n\n // Prevent rollup from printing directly to the console\n const consoleSpy = createConsoleSpy({\n onRestored: (messages) => {\n for (const msg of messages) {\n const text = String(msg.args[0])\n\n if (msg.code === 'CIRCULAR_DEPENDENCY') {\n continue // ignore\n }\n\n if (text.startsWith('Dynamic import can only')) {\n continue // ignore\n }\n\n if (text.startsWith('Sourcemap is likely to be incorrect')) {\n continue // ignore\n }\n\n if (msg.type === 'log') {\n logger.info(...msg.args)\n }\n\n if (msg.type === 'warn') {\n logger.warn(...msg.args)\n }\n\n if (msg.type === 'error') {\n logger.error(...msg.args)\n }\n }\n },\n })\n\n try {\n const {inputOptions, outputOptions} = resolveRollupConfig(ctx, task)\n\n // Create bundle\n const bundle = await rollup({\n ...inputOptions,\n onwarn(warning) {\n consoleSpy.messages.push({\n type: 'warn',\n code: warning.code,\n args: [warning.message],\n })\n },\n })\n\n // generate output specific code in-memory\n // you can call this function multiple times on the same bundle object\n const {output} = await bundle.generate(outputOptions)\n\n for (const chunkOrAsset of output) {\n if (chunkOrAsset.type === 'asset') {\n files.push({\n type: 'asset',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n } else {\n files.push({\n type: 'chunk',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n }\n }\n\n // or write the bundle to disk\n await bundle.write(outputOptions)\n\n // closes the bundle\n await bundle.close()\n\n // Restore console\n consoleSpy.restore()\n } catch (err) {\n // Restore console\n consoleSpy.restore()\n throw err\n }\n}\n","import path from 'node:path'\n\nimport chalk from 'chalk'\nimport {rollup} from 'rollup'\nimport {Observable} from 'rxjs'\n\nimport {createConsoleSpy} from '../../consoleSpy'\nimport type {BuildContext} from '../../core'\nimport type {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 path from 'node:path'\n\nimport chalk from 'chalk'\nimport {type RollupWatcherEvent, type RollupWatchOptions, watch as rollupWatch} from 'rollup'\nimport {Observable} from 'rxjs'\n\nimport type {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 {rollupLegacyTask, rollupReactCompilerTask, rollupTask, rollupWatchTask} from './rollup'\nimport type {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 'build:legacy': rollupLegacyTask,\n 'build:react-compiler': rollupReactCompilerTask,\n}\n\n/** @internal */\nexport const watchTaskHandlers: WatchTaskHandlers = {\n 'watch:dts': dtsWatchTask,\n 'watch:js': rollupWatchTask,\n}\n"],"names":["path","chalk","ts","readFile","parse","TSDocConfigFile","typeScriptParser","print","ExtractorConfig","Extractor","fs","prettier","mkdirp","rimraf","Observable","extMap","replace","alias","nodeResolve","commonjs","json","babel","esbuild","getBabelOutputPlugin","optimizeLodashImports","terser","resolveConfigProperty","execPromise","consoleSpy","createConsoleSpy","rollup","rollupWatch"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAOgB,SAAA,qBAAqB,KAAmB,UAAoC;AAC1F,QAAM,EAAC,KAAK,OAAM,IAAI,KAEhB,WAAW,SAAS,OAAO,CAAC,QAAQ,IAAI,aAAa,SAAS;AAEhE,WAAS,UACX,OAAO,IAAI;AAGb,aAAW,OAAO,UAAU;AAC1B,UAAM,iBAAiB,IAAI,kBAAkBA,cAAAA,QAAK,SAAS,KAAK,IAAI,cAAc;AAE9E,QAAI,cAAc,YAOtB,OAAO;AAAA,MACL;AAAA,QACE,GAAGC,eAAAA,QAAM,KAAK,kBAAkB,GAAG,CAAC;AAAA,QACpC,IAAIA,eAAAA,QAAM,OAAO,IAAI,cAAc,CAAC,IAAIA,eAAM,QAAA,OAAO,IAAI,gBAAgB,CAAC;AAAA,QAC1E,MAAMA,uBAAM,OAAO,SAAS,CAAC,IAAIA,uBAAM,KAAK,IAAI,SAAS,CAAC;AAAA;AAAA,QAC1D,IAAI;AAAA,QACJ;AAAA;AAAA,MACF,EAAE,KAAK,EAAE;AAAA,IACX;AAAA,EAAA;AAGF,QAAM,SAA6B,SAAS,OAAO,CAAC,QAAQ,IAAI,aAAa,OAAO;AAEhF,GAAC,SAAS,UAAU,OAAO,UAC7B,OAAO,IAAI,EAAE;AAGf,aAAW,OAAO,QAAQ;AACxB,UAAM,iBAAiB,IAAI,kBAAkBD,cAAAA,QAAK,SAAS,KAAK,IAAI,cAAc;AAE3E,WAAA;AAAA,MACL;AAAA,QACE,GAAGC,eAAAA,QAAM,KAAK,kBAAkB,GAAG,CAAC;AAAA,QACpC,IAAIA,eAAAA,QAAM,OAAO,IAAI,cAAc,CAAC,IAAIA,eAAM,QAAA,OAAO,IAAI,gBAAgB,CAAC;AAAA,QAC1E,MAAMA,uBAAM,IAAI,OAAO,CAAC,IAAIA,uBAAM,KAAK,IAAI,SAAS,CAAC;AAAA;AAAA,QACrD,IAAI;AAAA,QACJ;AAAA;AAAA,MACF,EAAE,KAAK,EAAE;AAAA,IACX;AAAA,EAAA;AAGE,SAAO,UACT,QAAQ,KAAK,CAAC;AAElB;ACrDO,SAAS,gBAAgB,SAIvB;AACP,QAAM,EAAC,KAAK,QAAQ,WAAc,IAAA;AAE9B,MAAA,WAAW,QAAQ,WAAW,OAAO;AACvC,UAAM,EAAC,MAAM,UAAS,IAAIC,YAAAA,QAAG,8BAA8B,WAAW,MAAM,WAAW,KAAK,GACtF,UAAUA,YAAG,QAAA,6BAA6B,WAAW,aAAa;AAAA,CAAI,GAEtE,OAAOF,cAAK,QAAA,SAAS,KAAK,WAAW,KAAK,QAAQ,GAElD,SAAS;AAAA,MACb,GAAGC,eAAM,QAAA,OAAO,IAAI,CAAC,IAAIA,eAAM,QAAA,KAAK,OAAO,CAAC,CAAC,IAAIA,uBAAM,KAAK,YAAY,CAAC,CAAC;AAAA,MAC1E,GAAGA,uBAAM,KAAK,KAAK,WAAW,IAAI,GAAG,CAAC,IAAI,OAAO;AAAA,IAAA,EACjD,KAAK,EAAE;AAEL,eAAW,aAAaC,YAAG,QAAA,mBAAmB,SAChD,OAAO,MAAM,MAAM,GAGjB,WAAW,aAAaA,oBAAG,mBAAmB,WAChD,OAAO,KAAK,MAAM,GAGhB,WAAW,aAAaA,YAAAA,QAAG,mBAAmB,WAChD,OAAO,IAAI,MAAM,GAGf,WAAW,aAAaA,YAAAA,QAAG,mBAAmB,cAChD,OAAO,IAAI,MAAM;AAAA,EAErB;AACE,WAAO,IAAIA,YAAAA,QAAG,6BAA6B,WAAW,aAAa;AAAA,CAAI,CAAC;AAE5E;ACrCA,eAAsB,WAAW,SAMf;AACV,QAAA,EAAC,KAAK,QAAQ,QAAQ,UAAU,SAAS,GAAA,IAAS,SAElD,kBAAsC;AAAA,IAC1C,GAAG,SAAS;AAAA,IACZ,aAAa;AAAA,IACb,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,QAAQ;AAAA,IACR,eAAe,SAAS,KAAQ,SAAS,QAAQ,iBAAiB;AAAA,IAClE;AAAA,EAAA,GAGI,UAAUA,YAAAA,QAAG,cAAc,SAAS,WAAW,eAAe,GAE9D,aAAa,QAAQ,QAErB,iBAAiBA,YAAAA,QAAG,sBAAsB,OAAO,EAAE,OAAO,WAAW,WAAW;AAEtF,aAAW,cAAc;AACvB,oBAAgB,EAAC,KAAK,QAAQ,WAAA,CAAW;AAGvC,MAAA,WAAW,eACE,eAAe,OAAO,CAAC,SAAS,KAAK,aAAaA,YAAA,QAAG,mBAAmB,KAAK,EAEjF;AACH,UAAA,IAAI,MAAM,0CAA0C;AAGhE;ACvCO,MAAM,iBAAiB,MAAM;AAAA,EAClC;AAAA,EAEA,YAAY,SAAiB,UAA8B;AACnD,UAAA,OAAO,GACb,KAAK,WAAW;AAAA,EAAA;AAEpB;ACLO,SAAS,yBAAyB,SAUzB;AACR,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACE,SAEE,kBAAkB,CAAC,CAAC,SAAS,QAAQ,OAErC,mBAAmB;AAAA,IACvB,SAAS;AAAA,IACT,iBAAiB,CAAA;AAAA,EACnB;AAEA,SAAI,mBACF,OAAO,OAAO,iBAAiB,iBAAiB;AAAA;AAAA,IAE9C,OAAO,CAAA;AAAA,EAAC,CACT,GAGI;AAAA,IACL,WAAW;AAAA,MACT,SAAS;AAAA,MACT,gBAAgB;AAAA,IAClB;AAAA,IACA;AAAA,IACA,UAAU,kBAAkB,EAAC,iBAAoB,IAAA,EAAC,kBAAkB,aAAY;AAAA,IAEhF,UAAU;AAAA,MACR,SAAS;AAAA,MACT,iBAAiBF,cAAK,QAAA,QAAQ,UAAU,GAAG,UAAU,WAAW;AAAA,IAClE;AAAA,IACA,WAAW;AAAA,MACT,SAAS;AAAA,MACT,mBAAmBA,cAAA,QAAK,QAAQ,UAAU,QAAQ;AAAA;AAAA;AAAA,IAGpD;AAAA,IACA,eAAe;AAAA,MACb,SAAS;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;ACtDA,eAAsB,kBAAkB,MAEC;AACjC,QAAA,EAAC,eAAc;AAErB,MAAI,WAAW,WAAW;AACxB;AAGF,QAAM,eAAe,MAAMG,GAAA;AAAA,IACzB,gBAAgB,kDAAkD;AAAA,EACpE,GAIM,kBAAkBC,YAAAA,MAAM,aAAa,SAAU,CAAA,GAG/C,kBAAkB,gBAAgB,kBAAkB,CAAA,GAAI;AAAA,IAC5D,WAAW,IAAI,CAAC,OAAO;AAAA,MACrB,SAAS,IAAI,EAAE,IAAI;AAAA,MACnB,YAAY,EAAE;AAAA,MACd,eAAe,EAAE;AAAA,IAAA,EACjB;AAAA,EAKE,GAAA,iBAAiB,EAAC,GAAG,gBAAgB,eAAc;AAEzD,aAAW,aAAa;AACtB,mBAAe,IAAI,UAAU,IAAI,EAAE,IAAI;AAGzC,SAAOC,YAAAA,gBAAgB,eAAe;AAAA,IACpC,GAAG;AAAA,IACH,gBAAgB;AAAA,IAChB;AAAA,IACA;AAAA,EAAA,CACD;AACH;AC3CA,eAAsB,6BAA6B;AAAA,EACjD;AAAA,EACA;AACF,GAGsB;AACd,QAAA,UAAU,cAAc,cAAc,SACtC,eAAyB,CAAC,GAM1B,cAHkB,CAAC,GAAG,QAAQ,gBAAgB,EAGhB,OAAO,CAAC,eAAe,WAAW,SAAS,SAAS,QAAQ,CAAC;AAEjG,aAAW,cAAc;AACnB,eAAW,KAAK,SAAS,gBAAgB,KAC3C,aAAa,KAAK,GAAG,oBAAoB,WAAW,IAAI,CAAC;AAItD,SAAA;AACT;AAGO,SAAS,oBAAoB,aAA+B;AAKjE,SAJYD,OAAAA,MAAM,aAAa;AAAA,IAC7B,QAAQE,0BAAAA;AAAAA,EAAA,CACT,EAEU,QAAQ,KAChB,OAAO,CAAC,SAAS,KAAK,SAAS,qBAAqB,EACpD,IAAI,CAAC,SAASC,OAAAA,MAAM,IAAI,EAAE,IAAI;AACnC;ACxCA,MAAM,aAAsD;AAAA,EAC1D,OAAO;AAAA,EACP,MAAM;AAAA,EACN,KAAK;AAAA,EACL,MAAM;AACR;AAGO,SAAS,yBAAyB,SAEZ;AACrB,QAAA,EAAC,UAAS;AAEP,WAAA,eACP,KACA,cACA;AACM,UAAA,IAAI,QAAQ,GAAG;AAErB,WAAQ,IAAI,WAAW,CAAC,IAAI,gBAAgB;AAAA,EAAA;AAGvC,SAAA;AAAA,IACL,0BAA0B;AAAA,MACxB,SAAS;AAAA,QACP,UAAU;AAAA,MAAA;AAAA,IAEd;AAAA,IAEA,2BAA2B;AAAA,MACzB,SAAW;AAAA,QACT,UAAU;AAAA,QACV,oBAAoB;AAAA,MACtB;AAAA,MAEA,uBAAuB;AAAA,QACrB,UAAU,eAAe,uBAAuB,OAA4B;AAAA,QAC5E,oBAAoB;AAAA,MACtB;AAAA,MAEA,gCAAgC;AAAA,QAC9B,UAAU,eAAe,gCAAgC,OAA4B;AAAA,QACrF,oBAAoB;AAAA,MACtB;AAAA,MAEA,kCAAkC;AAAA,QAChC,UAAU,eAAe,gCAAgC;AAAA,QACzD,oBAAoB;AAAA,MACtB;AAAA,MAEA,0BAA0B;AAAA,QACxB,UAAU,eAAe,0BAA0B,OAA4B;AAAA,QAC/E,oBAAoB;AAAA,MACtB;AAAA,MAEA,4BAA4B;AAAA,QAC1B,UAAU;AAAA,QACV,oBAAoB;AAAA,MAAA;AAAA,IAExB;AAAA,IAEA,uBAAuB;AAAA,MACrB,SAAW;AAAA,QACT,UAAU;AAAA,QACV,oBAAoB;AAAA,MACtB;AAAA,MAEA,iCAAiC;AAAA,QAC/B,UAAU,eAAe,iCAAiC,SAA8B;AAAA,QACxF,oBAAoB;AAAA,MACtB;AAAA,MAEA,uBAAuB;AAAA,QACrB,UAAU,eAAe,uBAAuB,OAA4B;AAAA,QAC5E,oBAAoB;AAAA,MACtB;AAAA,MAEA,yBAAyB;AAAA,QACvB,UAAU,eAAe,yBAAyB,MAA2B;AAAA,QAC7E,oBAAoB;AAAA,MAAA;AAAA,IACtB;AAAA,EAEJ;AACF;ACpEA,eAAsB,aAAa,SAc2C;AACtE,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACE,SAEE,kBAAkB,MAAM,kBAAkB;AAAA,IAC9C,YAAY,cAAc,CAAA;AAAA,EAAC,CAC5B,GAEK,WAAW,UAAU,CAAC,EAAE,QAAQ,gBAAgB,OAAO,GAEvD,mBAAmB,CAAC,UAAU,SAAS,QAAQ,GAC/C,kBAAmCC,6BAAgB,QAAQ;AAAA,IAC/D,cAAc,yBAAyB;AAAA,MACrC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,UAAU,yBAAyB,EAAC,OAAM;AAAA,MAC1C,eAAe;AAAA,MACf,wBAAwB;AAAA,MACxB;AAAA,MACA;AAAA,IAAA,CACD;AAAA,IACD,sBAAsB;AAAA,IACtB;AAAA,IACA,qBAAqBR,cAAA,QAAK,QAAQ,aAAa,cAAc;AAAA,EAAA,CAC9D,GAEK,WAA+B,IAG/B,kBAAkBS,aAAA,UAAU,OAAO,iBAAiB;AAAA;AAAA,IAExD,YAAY;AAAA;AAAA,IAEZ,qBAAqB;AAAA;AAAA,IAErB,gBAAgB,SAA2B;AACzC,eAAS,KAAK,OAAO,GACrB,QAAQ,UAAU;AAAA,IAAA;AAAA,EACpB,CACD,GAEK,YAAYT,sBAAK,QAAQ,UAAU,QAAQ,GAC3C,WAAW,MAAMU,YAAAA,QAAG,SAAS,SAAS,GACtC,iBAAiB,MAAMC,kBAAA,QAAS,cAAc,SAAS;AAE7D,QAAMC,cAAOZ,cAAAA,QAAK,QAAQ,SAAS,CAAC;AAE9B,QAAA,eAAe,MAAM,6BAA6B;AAAA,IACtD,eAAe;AAAA,IACf,UAAU;AAAA,EAAA,CACX,GAEK,OAAO,CAAC,SAAS,YAAY,GAAG,YAAY,EAAE,KAAK;AAAA;AAAA,CAAM,GACzD,aAAa,MAAMW,0BAAS,OAAO,MAAM;AAAA,IAC7C,GAAG;AAAA,IACH,UAAU;AAAA,EAAA,CACX;AAED,aAAW,eAAe,WAAW;AACnC,UAAM,eAAeX,cAAA,QAAK,QAAQ,UAAU,WAAW;AAEvD,UAAMU,YAAAA,QAAG,UAAU,cAAc,UAAU,GAG3C,MAAM,KAAK;AAAA,MACT,MAAM;AAAA,MACN,MAAM;AAAA,IAAA,CACP;AAAA,EAAA;AAGC,SAAA,oBACF,MAAMA,oBAAG,OAAO,SAAS,GAGpB,EAAC,iBAAiB,SAAQ;AACnC;AC1GsB,eAAA,UACpB,KACA,MACoB;AACd,QAAA,EAAC,QAAQ,KAAK,OAAO,QAAQ,QAAQ,IAAAR,KAAI,oBAAmB;AAElE,MAAI,CAACA,IAAG,UAAU,CAACA,IAAG;AACb,WAAA,EAAC,MAAM,OAAO,UAAU,CAAI,GAAA,SAAS,GAAE;AAGhD,QAAM,EAAC,QAAQ,UAAU,IAAG,IAAIA,IAAG,OAAO;AAE1C,MAAI,CAAC;AACG,UAAA,IAAI,MAAM,mDAAmD;AAGrE,QAAM,UAAUF,cAAA,QAAK,QAAQ,QAAQ,SAAS;AAExC,QAAA,WAAW,EAAC,KAAK,QAAQ,QAAQ,SAAS,QAAQ,UAAUE,IAAG,QAAO;AAC5E,QAAM,WAA+B,IAE/B,UAAuD,CAAC;AAEnD,aAAA,SAAS,KAAK,SAAS;AAC1B,UAAA,aAAa,MAAM,eAAe,MAAM,YAAY,MAAM,YAE1D,kBAAkBF,cAAAA,QAAK;AAAA,MAC3B;AAAA,MACAA,cAAAA,QAAK,SAAS,SAASA,cAAAA,QAAK,QAAQ,KAAK,MAAM,UAAU,CAAC,EAAE,QAAQ,SAAS,OAAO;AAAA,IACtF,GAEM,cAAc,MAAM,YAAY,IAAI,CAAC,eAAeA,cAAAA,QAAK,QAAQ,KAAK,UAAU,CAAC,GACjF,YAAY,YAAY,IAAI,CAAC,eAAeA,sBAAK,SAAS,QAAQ,UAAU,CAAC,GAC7E,SAAS,MAAM,aAAa;AAAA,MAChC,iBAAiB,mBAAmB,CAAC;AAAA,MACrC,YAAY,QAAQ,SAAS;AAAA,MAC7B;AAAA,MACA,UAAU;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA,aAAa;AAAA,MACb,OAAO,QAAQ,SAAS;AAAA,MACxB;AAAA,MACA,UAAUE,IAAG;AAAA,MACb;AAAA,MACA,cAAcF,cAAK,QAAA,QAAQ,KAAKE,IAAG,cAAc,eAAe;AAAA,IAAA,CACjE;AAEQ,aAAA,KAAK,GAAG,OAAO,QAAQ;AAE1B,UAAA,SAAS,OAAO,SAAS,OAAO,CAAC,QAAQ,IAAI,aAAa,OAAO;AAEvE,QAAI,OAAO,SAAS;AACZ,YAAA,MAAAW,gBAAA,QAAO,OAAO,GACd,IAAI,SAAS,eAAe,OAAO,MAAM,iCAAiC,MAAM;AAGhF,YAAA,KAAK,EAAC,YAAYb,cAAK,QAAA,QAAQ,KAAK,MAAM,UAAU,GAAG,WAAW,YAAA,CAAY;AAAA,EAAA;AAGxF,SAAA,MAAMa,wBAAO,OAAO,GAEb,EAAC,MAAM,OAAO,UAAU,QAAO;AACxC;ACtEO,MAAM,UAA2C;AAAA,EACtD,MAAM,CAAC,MAAM,SACX;AAAA,IACE;AAAA,IACA;AAAA,IACA,GAAG,KAAK,QAAQ,IAAI,CAAC,UACZ,MAAM,YACV,IAAI,CAAC,eACG;AAAA,MACL,SAASZ,eAAAA,QAAM,KAAK,MAAM,QAAQ,CAAC;AAAA,MACnC,GAAGA,eAAA,QAAM,OAAO,MAAM,UAAU,CAAC,IAAIA,eAAAA,QAAM,KAAK,QAAG,CAAC,IAAIA,eAAM,QAAA,OAAO,UAAU,CAAC;AAAA,IAChF,EAAA,KAAK,EAAE,CACV,EACA,KAAK;AAAA,CAAI,CACb;AAAA,IACD,KAAK;AAAA,CAAI;AAAA,EACb,MAAM,CAAC,KAAK,SACH,IAAIa,KAAA,WAAW,CAAC,aAAa;AAClC,cAAU,KAAK,IAAI,EAChB,KAAK,CAAC,WAAW;AAChB,eAAS,KAAK,MAAM,GACpB,SAAS,SAAS;AAAA,IAAA,CACnB,EACA,MAAM,CAAC,QAAQ;AACd,eAAS,MAAM,GAAG;AAAA,IAAA,CACnB;AAAA,EAAA,CACJ;AAAA,EAEH,UAAU,CAAC,KAAK,OAAO,WAAW;AACX,yBAAA,KAAK,OAAO,QAAQ;AAAA,EAC3C;AAAA,EACA,OAAO,CAAC,KAAK,OAAO,QAAQ;AACpB,UAAA,EAAC,WAAU;AAEb,mBAAe,WACjB,qBAAqB,KAAK,IAAI,QAAQ,IAC7B,eAAe,SACxB,OAAO,MAAM,GAAG;AAAA,EAAA;AAGtB,GClCa,eAAqD;AAAA,EAChE,MAAM,CAAC,MAAM,SACX;AAAA,IACE;AAAA,IACA,GAAG,KAAK,QAAQ,IAAI,CAAC,UACZ,MAAM,YAAY,IAAI,CAAC,eACrB;AAAA,MACL,SAASb,eAAAA,QAAM,KAAK,MAAM,QAAQ,CAAC;AAAA,MACnC,GAAGA,eAAA,QAAM,OAAO,MAAM,UAAU,CAAC,IAAIA,eAAAA,QAAM,KAAK,QAAG,CAAC,IAAIA,eAAM,QAAA,OAAO,UAAU,CAAC;AAAA,IAAA,EAChF,KAAK,EAAE,CACV,CACF;AAAA,IACD,KAAK;AAAA,CAAI;AAAA,EACb,MAAM,CAAC,KAAK,SAAS;AACb,UAAA,EAAC,QAAQ,KAAK,OAAO,QAAQ,QAAQ,IAAI,WAAW,gBAAA,IAAmB;AAEtE,WAAA,IAAIa,KAAAA,WAAW,CAAC,aAAa;AAClC,UAAI,CAAC,UAAU,UAAU,CAAC,UAAU,YAAY;AAC9C,iBAAS,KAAK,EAAC,MAAM,OAAO,UAAU,IAAI,SAAS,CAAC,EAAA,CAAE,GACtD,SAAS,SAAS;AAElB;AAAA,MAAA;AAGF,YAAM,EAAC,QAAQ,UAAU,IAAG,IAAI,UAAU,OAAO;AAEjD,UAAI,CAAC,QAAQ;AACX,iBAAS,MAAM,IAAI,MAAM,mDAAmD,CAAC;AAE7E;AAAA,MAAA;AAGF,YAAM,UAAUd,cAAA,QAAK,QAAQ,QAAQ,SAAS;AAEnC,iBAAA;AAAA,QACT;AAAA,QACA;AAAA,QACA,QAAQ;AAAA,QACR,UAAU,UAAU;AAAA,QACpB;AAAA,MAAA,CACD,EAAE,MAAM,CAAC,QAAQ;AAChB,iBAAS,MAAM,GAAG;AAAA,MAAA,CACnB;AAED,YAAM,OAAOE,YAAAA,QAAG;AAAA,QACd,UAAU;AAAA,QACV;AAAA,UACE,GAAG,UAAU,OAAO;AAAA,UACpB,aAAa;AAAA,UACb,gBAAgB;AAAA,UAChB,qBAAqB;AAAA,UACrB,QAAQ;AAAA,UACR,eAAe,SAAS,KAAQ,UAAU,OAAO,QAAQ,iBAAiB;AAAA,UAC1E,QAAQ;AAAA,QACV;AAAA,QACAA,YAAAA,QAAG;AAAA,QACHA,YAAAA,QAAG;AAAA,QACH,CAAC,eAAe;AACd,iBAAO,MAAMA,YAAAA,QAAG,6BAA6B,WAAW,aAAa;AAAA,CAAI,CAAC;AAAA,QAC5E;AAAA,QACA,CAAC,eAAe;AACd,iBAAO,KAAKA,YAAAA,QAAG,6BAA6B,WAAW,aAAa;AAAA,CAAI,CAAC;AAAA,QAAA;AAAA,MAC3E,GAGI,wBAAwB,KAAK;AAE9B,WAAA,qBAAqB,OAAO,YAAY;AAC3C,gCAAwB,OAAO;AAE/B,cAAM,WAA+B,IAC/B,UAAuD,CAAC;AAEnD,mBAAA,SAAS,KAAK,SAAS;AAC1B,gBAAA,aAAa,MAAM,eAAe,MAAM,YAAY,MAAM,YAE1D,kBAAkBF,cAAAA,QAAK;AAAA,YAC3B;AAAA,YACAA,cAAAA,QAAK,SAAS,SAASA,cAAAA,QAAK,QAAQ,KAAK,MAAM,UAAU,CAAC,EAAE,QAAQ,SAAS,OAAO;AAAA,UAAA,GAGhF,cAAc,MAAM,YAAY,IAAI,CAAC,eAAeA,cAAAA,QAAK,QAAQ,KAAK,UAAU,CAAC,GACjF,YAAY,YAAY,IAAI,CAAC,eAAeA,cAAAA,QAAK,SAAS,QAAQ,UAAU,CAAC;AAE/E,cAAA;AACI,kBAAA,SAAS,MAAM,aAAa;AAAA,cAChC,iBAAiB,mBAAmB,CAAC;AAAA,cACrC,YAAY,QAAQ,SAAS;AAAA,cAC7B;AAAA,cACA,UAAU;AAAA,cACV;AAAA,cACA;AAAA,cACA;AAAA,cACA,aAAa;AAAA,cACb,OAAO,QAAQ,SAAS;AAAA,cACxB;AAAA,cACA,UAAU,UAAU;AAAA,cACpB;AAAA,cACA,cAAcA,cAAK,QAAA,QAAQ,KAAK,UAAU,cAAc,eAAe;AAAA,YAAA,CACxE;AAED,qBAAS,KAAK,GAAG,OAAO,QAAQ,GAChC,QAAQ,KAAK,EAAC,YAAYA,cAAAA,QAAK,QAAQ,KAAK,MAAM,UAAU,GAAG,WAAW,aAAY;AAAA,mBAC/E,KAAK;AACZ,gBAAI,eAAe;AACR,uBAAA,KAAK,GAAG,IAAI,QAAQ;AAAA,iBACxB;AACL,uBAAS,MAAM,GAAG;AAElB;AAAA,YAAA;AAAA,UACF;AAAA,QACF;AAGF,iBAAS,KAAK,EAAC,MAAM,OAAO,UAAU,SAAQ;AAAA,MAChD;AAEM,YAAA,eAAeE,YAAAA,QAAG,mBAAmB,IAAI;AAE/C,aAAO,MAAM;AACX,qBAAa,MAAM,GACnBW,wBAAO,KAAK,OAAO;AAAA,MACrB;AAAA,IAAA,CACD;AAAA,EACH;AAAA,EACA,UAAU,CAAC,KAAK,MAAM,WAAW;AACzB,UAAA,EAAC,WAAU;AAEjB,yBAAqB,KAAK,OAAO,QAAQ,GAEzC,OAAO;AAAA,MACL;AAAA,SAAkC,KAAK,QACpC;AAAA,QACC,CAAC,UACC,SAASZ,eAAAA,QAAM,KAAK,MAAM,QAAQ,CAAC,KAAKA,eAAAA,QAAM,OAAO,MAAM,UAAU,CAAC,IAAIA,uBAAM,KAAK,QAAG,CAAC,IAAIA,eAAAA,QAAM,OAAO,MAAM,YAAY,KAAK,IAAI,CAAC,CAAC;AAAA,QAE1I,KAAK;AAAA,QAAW,CAAC;AAAA,IAAA,GAEtB,OAAO,IAAI,EAAE;AAAA,EACf;AAAA,EACA,OAAO,CAAC,KAAK,OAAO,QAAQ;AACpB,UAAA,EAAC,WAAU;AAEb,mBAAe,WACjB,qBAAqB,KAAK,IAAI,QAAQ,IAC7B,eAAe,SACxB,OAAO,MAAM,GAAG;AAAA,EAAA;AAGtB;AC7IgB,SAAA,oBACd,KACA,WACc;AACR,QAAA,EAAC,QAAQ,SAAS,WAAU,WAC5B,EAAC,QAAQ,KAAK,SAAS,UAAU,UAAU,UAAU,QAAQ,KAAK,IAAAC,IAAE,IAAI,KACxE,kBAAkB,UAAU,SAAS,gBACrC,kBAAkB,UAAU,SAAS,wBACrC,YAAY,kBAAkBa,WAAO,UAAA,SAASA,WAAAA,UAAO,IAAI,QAAQ,UAAU,EAAE,MAAM,GACnF,SAAS,QAAQ,UAAU,IAC3B,SAASf,sBAAK,SAAS,KAAK,QAAQ,GAEpC,cAAc,OAAO;AAAA,IACzB,OAAO,QAAQE,IAAG,QAAQ,QAAQ,SAAS,CAAE,CAAA,EAAE,IAAI,CAAC,CAAC,KAAK,GAAG,MACpD,CAAC,KAAKF,sBAAK,QAAQ,KAAKE,IAAG,QAAQ,QAAQ,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,CAC1E;AAAA,KAGG,UAAU,UAAU,QAAQ,IAAI,CAAC,WAC9B;AAAA,IACL,GAAG;AAAA,IACH,MAAMF,cAAAA,QAAK,SAAS,QAAQ,MAAM,MAAM,EAAE,QAAQ,aAAa,EAAE;AAAA,EAAA,IAElE,CAAE,CAAA,GAEC,YACJ,YAAY,OAAO,KAAK,QAAQ,EAAE,IAAI,CAAC,eAAeA,cAAK,QAAA,KAAK,IAAI,MAAM,UAAU,CAAC,GAEjF,cAAc,YAAY,OAAO,OAAO,QAAQ,EAAE,IAAI,CAAC,MAAMA,cAAA,QAAK,QAAQ,KAAK,EAAE,MAAM,CAAC,GAExF,eAAe,OAAO;AAAA,IAC1B,OAAO,QAAQ,QAAQ,UAAU,CAAE,CAAA,EAAE,IAAI,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,KAAK,UAAU,GAAG,CAAC,CAAC;AAAA,EAG/E,GAAA,EAAC,gBAAgB,uBAAuB,cAAc,KAAK,QAAQ,EAAA,IAAK,QAAQ,UAAU,CAAA,GAE1F,iBAAiB;AAAA,IACrBgB,yBAAQ;AAAA,MACN,mBAAmB;AAAA,MACnB,QAAQ;AAAA,QACN,GAAI,IAAI,SAAS,sBACb,EAAC,GAAG,iBACJ;AAAA,UACE,6BAA6B,CAAC,QAAQ;AACpC,kBAAM,aAAa,KAAKhB,cAAK,QAAA,SAAS,KAAK,GAAG,CAAC,IACzC,QAAQ,QAAQ,KAAK,CAAC,MAAM,EAAE,WAAW,UAAU;AAEzD,mBAAK,QAOE,KAAK;AAAA,cACVA,sBAAK,SAAS,KAAKA,cAAA,QAAK,QAAQ,QAAQ,MAAM,OAAO,SAAS,CAAC;AAAA,YAAA,KAN/D,QAAQ,MAAM,gCAAgC,UAAU,EAAE,GAEnD;AAAA,UAMX;AAAA,UACA,0BAA0B,KAAK,UAAU,MAAM;AAAA,UAC/C,2BAA2B,KAAK,UAAU,OAAO;AAAA,UACjD,2BAA2B,KAAK,UAAU,QAAQ,IAAI,eAAkB,IAAI,OAAO;AAAA,UACnF,GAAG;AAAA,QAAA;AAAA,MACL;AAAA,IACN,CACD;AAAA,IACDiB,uBAAM;AAAA,MACJ,SAAS,EAAC,GAAG,YAAW;AAAA,IAAA,CACzB;AAAA,IACDC,8BAAY;AAAA,MACV,SAAS,YAAY;AAAA,MACrB,YAAY,CAAC,QAAQ,QAAQ,OAAO,QAAQ,SAAS,OAAO;AAAA,MAC5D,gBAAgB;AAAA,IAAA,CACjB;AAAA,IACDC,0BAAS;AAAA,IACTC,sBAAK;AAAA,KACJ,mBAAmB,QAAQ,OAAO,iBAAiB,QAAQ,OAAO,qBACjEC,kBAAM;AAAA,MACJ,SAAS;AAAA,MACT,SAAS,CAAC,0BAA0B;AAAA,MACpC,cAAc;AAAA,MACd,YAAY,CAAC,OAAO,QAAQ,OAAO,MAAM;AAAA,MACzC,SAAS;AAAA;AAAA,QAEP,QAAQ,OAAO,oBAAoB;AAAA,UACjC;AAAA,UACA;AAAA;AAAA,YAEE,UAAU;AAAA;AAAA,YAEV,2BAA2B;AAAA;AAAA,YAE3B,MAAM;AAAA;AAAA,YAEN,SAAS;AAAA,YACT,GAAI,OAAO,OAAO,MAAM,oBAAqB,WACzC,OAAO,MAAM,mBACb,CAAA;AAAA,UAAC;AAAA,QAET;AAAA,SACC,mBAAmB,QAAQ,OAAO,kBAAkB;AAAA,UACnD;AAAA,UACA,QAAQ,wBAAwB,CAAA;AAAA,QAAC;AAAA,MAErC,EAAE,OAAO,OAAO;AAAA,IAAA,CACjB;AAAA,IACHC,yBAAQ;AAAA,MACN,KAAK,QAAQ,OAAO;AAAA,MACpB,YAAY,QAAQ,cAAc;AAAA,MAClC,aAAa,QAAQ,eAAe;AAAA,MACpC,iBAAiB,QAAQ,mBAAmB;AAAA,MAC5C;AAAA,MACA,UAAU,IAAI,GAAG,cAAc;AAAA,MAC/B,aAAa;AAAA,MACb,cAAc,QAAQ,WAAW;AAAA,MACjC,WAAW;AAAA,QACT,oBAAoB;AAAA,MAAA;AAAA,IACtB,CACD;AAAA,IACD,MAAM,QAAQ,QAAQ,OAAO,OAAO,KAClCC,YAAAA,qBAAqB;AAAA,MACnB,SAAS;AAAA,MACT,SAAS,OAAO,MAAM;AAAA,IAAA,CACvB;AAAA,IACH,wBACEC,aAAAA,sBAAsB;AAAA,MACpB,aAAa,WAAW,SAAS,cAAc,KAAK,WAAW,IAAI,KAAO;AAAA,MAC1E,GAAI,OAAO,QAAQ,QAAQ,kBAAmB,YAC1C,CACA,IAAA,QAAQ,QAAQ;AAAA,IAAA,CACrB;AAAA,IACH,UACEC,gBAAAA,QAAO;AAAA,MACL,UAAU,EAAC,YAAY,IAAO,QAAQ,GAAE;AAAA,MACxC,MAAM;AAAA,MACN,QAAQ;AAAA,QACN,UAAU,CAAC,OAAO,YAAY;AAC5B,gBAAM,OAAO,QAAQ;AAIrB,iBAHc,QAAQ,SAGR,aAEL,6BAA6B,KAAK,IAAI,IAGxC;AAAA,QACT;AAAA,QACA,sBAAsB;AAAA,MAAA;AAAA,IAEzB,CAAA;AAAA,EACL,EAAE,OAAO,OAAO,GAEV,cAAc,QAAQ,QAAQ,SAE9B,UAAU,MAAM,QAAQ,WAAW,IACrC,eAAe,OAAO,WAAW,IACjCC,WAAAA,sBAAsB,QAAQ,QAAQ,SAAS,cAAc,GAE3D,qBAAqB,QAAQ,QAAQ,sBAAsB,IAQ3D,iBAAiB,GAPF,kBACjB,cACA,kBACE,YACA,qBACE,YACA,kBAC8B,IAAI,qBAAqB,kBAAkB,QAAQ,GAAG,SAAS,IAC/F,iBAAiB,kBAAkB,cAAc,SAAS,SAAS;AAElE,SAAA;AAAA,IACL,cAAc;AAAA,MACZ,SAAS;AAAA,MAET,UAAU,CAAC,IAAI,aAAa;AAEtB,YAAA,WAAW,SAAS,EAAE;AACjB,iBAAA;AAIL,YAAA,aAAa,GAAG,WAAW,GAAG,KAAK,GAAG,WAAW,GAAG,IAAI;AAC1D,gBAAM,SAAS1B,cAAAA,QAAK,QAAQA,sBAAK,QAAQ,QAAQ,GAAG,EAAE;AAElD,cAAA,aAAa,SAAS,MAAM;AACvB,mBAAA,OAAA;AAAA,cACL,iEAA4DA,cAAAA,QAAK;AAAA,gBAC/D;AAAA,gBACA;AAAA,cAAA,CACD;AAAA,YAAA,GAGI;AAAA,QAAA;AAIL,cAAA,UAAU,GAAG,MAAM,GAAG,GAEtB,OAAO,QAAQ,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,KAAK,QAAQ,CAAC;AAE/E,eAAA,CAAA,EAAA,QAAQ,SAAS,SAAS,IAAI;AAAA,MAKpC;AAAA,MAEA,OAAO,QAAQ,OAAuC,CAAC,KAAK,WACnD,EAAC,GAAG,KAAK,CAAC,MAAM,IAAI,GAAG,MAAM,OAAM,IACzC,CAAA,CAAE;AAAA,MAEL,OAAO;AAAA,QACL,UAAU;AAAA,UACR,YAAY;AAAA,QAAA;AAAA,MAEhB;AAAA,MAEA;AAAA,MAEA,WAAW;AAAA,QACT,QAAQ;AAAA,QACR,yBAAyB;AAAA,QACzB,mBAAmB;AAAA,QACnB,GAAG,QAAQ,QAAQ;AAAA,MACrB;AAAA,MACA,4BAA4B,QAAQ,QAAQ;AAAA,IAC9C;AAAA,IACA,eAAe;AAAA,MACb;AAAA,MACA,SAAS;AAAA,MACT,KAAK;AAAA,MACL;AAAA,MACA,UAAU;AAAA,MACV;AAAA,MACA,SAAS;AAAA,MACT,WAAW,QAAQ,aAAa;AAAA,MAChC,wBAAwB;AAAA,MACxB,uBAAuB;AAAA,MACvB,GAAG,QAAQ,QAAQ;AAAA,IAAA;AAAA,EAEvB;AACF;AAEA,SAAS,cAAc,KAAkB,aAA8B;AAC9D,SAAA,IAAI,eACP,eAAe,IAAI,eACnB,IAAI,mBACF,eAAe,IAAI,mBACnB;AACR;ACpQO,MAAM,mBAAkD;AAAA,EAC7D,MAAM,CAAC,KAAK,SAAS;AACnB,UAAM,UAAU,KAAK,QAAQ,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,SAAS,aAAa,CAAC,GAEpE,cAAc,KAAK,OAAO,SAC5B,CAAC,aAAa,GAAG,KAAK,OAAO,IAAI,CAAC,MAAM,SAASC,eAAM,QAAA,OAAO,CAAC,CAAC,EAAE,CAAC,IACnE,CAEE,GAAA,eAAe,QAAQ,SACzB;AAAA,MACE;AAAA,MACA,GAAG,QAAQ;AAAA,QAAI,CAAC,MACd;AAAA,UACE;AAAA,UACA,GAAGA,eAAM,QAAA,KAAKD,cAAAA,QAAK,KAAK,IAAI,IAAI,MAAM,EAAE,IAAI,CAAC,CAAC;AAAA,UAC9C,GAAGC,eAAM,QAAA,OAAO,EAAE,MAAM,CAAC,IAAIA,eAAA,QAAM,KAAK,QAAG,CAAC,IAAIA,eAAAA,QAAM,OAAO,EAAE,MAAM,CAAC;AAAA,QACxE,EAAE,KAAK,EAAE;AAAA,MAAA;AAAA,IACX,IAEF,CAAC;AAIE,WAAA;AAAA,MACL;AAAA,MACA,aAAaA,eAAAA,QAAM,OAAO,KAAK,MAAM,CAAC;AAAA,MACtC,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,CAAI;AAAA,EACb;AAAA,EACA,MAAM,CAAC,KAAK,SACH,IAAIa,KAAA,WAAW,CAAC,aAAa;AAClCa,kBAAY,KAAK,IAAI,EAClB,KAAK,CAAC,WAAW;AAChB,eAAS,KAAK,MAAM,GACpB,SAAS,SAAS;AAAA,IAAA,CACnB,EACA,MAAM,CAAC,QAAQ,SAAS,MAAM,GAAG,CAAC;AAAA,EAAA,CACtC;AAAA,EAEH,UAAU,MAAM;AAAA,EAEhB;AAAA,EACA,OAAO,CAAC,MAAM,OAAO,QAAQ;AAE3B,YAAQ,MAAM,GAAG;AAAA,EAAA;AAErB;AAEA,eAAeA,cAAY,KAAmB,MAAwB;AACpE,QAAM,EAAC,UAAU,OAAO,WAAU,KAC5B,SAAS3B,cAAK,QAAA,SAAS,IAAI,KAAK,QAAQ,GAGxC4B,eAAaC,WAAAA,iBAAiB;AAAA,IAClC,YAAY,CAAC,aAAa;AACxB,iBAAW,OAAO,UAAU;AAC1B,cAAM,OAAO,OAAO,IAAI,KAAK,CAAC,CAAC;AAE3B,YAAI,SAAS,0BAIb,KAAK,WAAW,yBAAyB,KAIzC,KAAK,WAAW,qCAAqC,MAIrD,IAAI,SAAS,SACf,OAAO,KAAK,GAAG,IAAI,IAAI,GAGrB,IAAI,SAAS,UACf,OAAO,KAAK,GAAG,IAAI,IAAI,GAGrB,IAAI,SAAS,WACf,OAAO,MAAM,GAAG,IAAI,IAAI;AAAA,MAAA;AAAA,IAE5B;AAAA,EACF,CACD;AAEG,MAAA;AACI,UAAA,EAAC,cAAc,cAAA,IAAiB,oBAAoB,KAAK,IAAI,GAG7D,SAAS,MAAMC,cAAO;AAAA,MAC1B,GAAG;AAAA,MACH,OAAO,SAAS;AACdF,qBAAW,SAAS,KAAK;AAAA,UACvB,MAAM;AAAA,UACN,MAAM,QAAQ;AAAA,UACd,MAAM,CAAC,QAAQ,OAAO;AAAA,QAAA,CACvB;AAAA,MAAA;AAAA,IACH,CACD,GAIK,EAAC,WAAU,MAAM,OAAO,SAAS,aAAa;AAEpD,eAAW,gBAAgB;AACrB,mBAAa,SAAS,UACxB,MAAM,KAAK;AAAA,QACT,MAAM;AAAA,QACN,MAAM5B,cAAAA,QAAK,QAAQ,QAAQ,aAAa,QAAQ;AAAA,MAAA,CACjD,IAED,MAAM,KAAK;AAAA,QACT,MAAM;AAAA,QACN,MAAMA,cAAAA,QAAK,QAAQ,QAAQ,aAAa,QAAQ;AAAA,MAAA,CACjD;AAKC,UAAA,OAAO,MAAM,aAAa,GAGhC,MAAM,OAAO,MAAA,GAGb4B,aAAW,QAAQ;AAAA,WACZ,KAAK;AAEZ,UAAAA,aAAW,WACL;AAAA,EAAA;AAEV;ACpIO,MAAM,0BAAgE;AAAA,EAC3E,MAAM,CAAC,KAAK,SAAS;AACnB,UAAM,UAAU,KAAK,QAAQ,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,SAAS,aAAa,CAAC,GAEpE,cAAc,KAAK,OAAO,SAC5B,CAAC,aAAa,GAAG,KAAK,OAAO,IAAI,CAAC,MAAM,SAAS3B,eAAM,QAAA,OAAO,CAAC,CAAC,EAAE,CAAC,IACnE,CAEE,GAAA,eAAe,QAAQ,SACzB;AAAA,MACE;AAAA,MACA,GAAG,QAAQ;AAAA,QAAI,CAAC,MACd;AAAA,UACE;AAAA,UACA,GAAGA,eAAM,QAAA,KAAKD,cAAAA,QAAK,KAAK,IAAI,IAAI,MAAM,EAAE,IAAI,CAAC,CAAC;AAAA,UAC9C,GAAGC,eAAM,QAAA,OAAO,EAAE,MAAM,CAAC,IAAIA,eAAA,QAAM,KAAK,QAAG,CAAC,IAAIA,eAAAA,QAAM,OAAO,EAAE,MAAM,CAAC;AAAA,QACxE,EAAE,KAAK,EAAE;AAAA,MAAA;AAAA,IACX,IAEF,CAAC;AAIL,WAAO,CAAC,mCAAmC,GAAG,aAAa,GAAG,YAAY,EAAE,KAAK;AAAA,CAAI;AAAA,EACvF;AAAA,EACA,MAAM,CAAC,KAAK,SACH,IAAIa,KAAA,WAAW,CAAC,aAAa;AAClCa,kBAAY,KAAK,IAAI,EAClB,KAAK,CAAC,WAAW;AAChB,eAAS,KAAK,MAAM,GACpB,SAAS,SAAS;AAAA,IAAA,CACnB,EACA,MAAM,CAAC,QAAQ,SAAS,MAAM,GAAG,CAAC;AAAA,EAAA,CACtC;AAAA,EAEH,UAAU,MAAM;AAAA,EAEhB;AAAA,EACA,OAAO,CAAC,MAAM,OAAO,QAAQ;AAE3B,YAAQ,MAAM,GAAG;AAAA,EAAA;AAErB;AAEA,eAAeA,cAAY,KAAmB,MAA+B;AAC3E,QAAM,EAAC,UAAU,OAAO,WAAU,KAC5B,SAAS3B,cAAK,QAAA,SAAS,IAAI,KAAK,QAAQ,GAGxC4B,eAAaC,WAAAA,iBAAiB;AAAA,IAClC,YAAY,CAAC,aAAa;AACxB,iBAAW,OAAO,UAAU;AAC1B,cAAM,OAAO,OAAO,IAAI,KAAK,CAAC,CAAC;AAE3B,YAAI,SAAS,0BAIb,KAAK,WAAW,yBAAyB,KAIzC,KAAK,WAAW,qCAAqC,MAIrD,IAAI,SAAS,SACf,OAAO,KAAK,GAAG,IAAI,IAAI,GAGrB,IAAI,SAAS,UACf,OAAO,KAAK,GAAG,IAAI,IAAI,GAGrB,IAAI,SAAS,WACf,OAAO,MAAM,GAAG,IAAI,IAAI;AAAA,MAAA;AAAA,IAE5B;AAAA,EACF,CACD;AAEG,MAAA;AACI,UAAA,EAAC,cAAc,cAAA,IAAiB,oBAAoB,KAAK,IAAI,GAG7D,SAAS,MAAMC,cAAO;AAAA,MAC1B,GAAG;AAAA,MACH,OAAO,SAAS;AACdF,qBAAW,SAAS,KAAK;AAAA,UACvB,MAAM;AAAA,UACN,MAAM,QAAQ;AAAA,UACd,MAAM,CAAC,QAAQ,OAAO;AAAA,QAAA,CACvB;AAAA,MAAA;AAAA,IACH,CACD,GAIK,EAAC,WAAU,MAAM,OAAO,SAAS,aAAa;AAEpD,eAAW,gBAAgB;AACrB,mBAAa,SAAS,UACxB,MAAM,KAAK;AAAA,QACT,MAAM;AAAA,QACN,MAAM5B,cAAAA,QAAK,QAAQ,QAAQ,aAAa,QAAQ;AAAA,MAAA,CACjD,IAED,MAAM,KAAK;AAAA,QACT,MAAM;AAAA,QACN,MAAMA,cAAAA,QAAK,QAAQ,QAAQ,aAAa,QAAQ;AAAA,MAAA,CACjD;AAKC,UAAA,OAAO,MAAM,aAAa,GAGhC,MAAM,OAAO,MAAA,GAGb4B,aAAW,QAAQ;AAAA,WACZ,KAAK;AAEZ,UAAAA,aAAW,WACL;AAAA,EAAA;AAEV;AC/HO,MAAM,aAAsC;AAAA,EACjD,MAAM,CAAC,KAAK,SAAS;AACb,UAAA,gBAAgB,KAAK,QAAQ,OAAO,CAAC,MAAM,EAAE,KAAK,SAAS,aAAa,CAAC,GACzE,UAAU,KAAK,QAAQ,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,SAAS,aAAa,CAAC,GAEpE,cAAc,KAAK,OAAO,SAC5B,CAAC,aAAa,GAAG,KAAK,OAAO,IAAI,CAAC,MAAM,SAAS3B,eAAM,QAAA,OAAO,CAAC,CAAC,EAAE,CAAC,IACnE,IAEE,eAAe,cAAc,SAC/B;AAAA,MACE;AAAA,MACA,GAAG,cAAc;AAAA,QAAI,CAAC,MACpB;AAAA,UACE;AAAA,UACA,GAAGA,eAAM,QAAA,OAAO,EAAE,MAAM,CAAC,IAAIA,eAAA,QAAM,KAAK,QAAG,CAAC,IAAIA,eAAAA,QAAM,OAAO,EAAE,MAAM,CAAC;AAAA,QACxE,EAAE,KAAK,EAAE;AAAA,MAAA;AAAA,IAGb,IAAA,IAEE,eAAe,QAAQ,SACzB;AAAA,MACE;AAAA,MACA,GAAG,QAAQ;AAAA,QAAI,CAAC,MACd;AAAA,UACE;AAAA,UACA,GAAGA,eAAM,QAAA,KAAKD,cAAAA,QAAK,KAAK,IAAI,IAAI,MAAM,EAAE,IAAI,CAAC,CAAC;AAAA,UAC9C,GAAGC,eAAM,QAAA,OAAO,EAAE,MAAM,CAAC,IAAIA,eAAA,QAAM,KAAK,QAAG,CAAC,IAAIA,eAAAA,QAAM,OAAO,EAAE,MAAM,CAAC;AAAA,QACxE,EAAE,KAAK,EAAE;AAAA,MAAA;AAAA,IACX,IAEF,CAAC;AAEE,WAAA;AAAA,MACL;AAAA,MACA,aAAaA,eAAAA,QAAM,OAAO,KAAK,MAAM,CAAC;AAAA,MACtC,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,CAAI;AAAA,EACb;AAAA,EACA,MAAM,CAAC,KAAK,SACH,IAAIa,KAAA,WAAW,CAAC,aAAa;AAClC,gBAAY,KAAK,IAAI,EAClB,KAAK,CAAC,WAAW;AAChB,eAAS,KAAK,MAAM,GACpB,SAAS,SAAS;AAAA,IAAA,CACnB,EACA,MAAM,CAAC,QAAQ,SAAS,MAAM,GAAG,CAAC;AAAA,EAAA,CACtC;AAAA,EAEH,UAAU,MAAM;AAAA,EAEhB;AAAA,EACA,OAAO,CAAC,MAAM,OAAO,QAAQ;AAE3B,YAAQ,MAAM,GAAG;AAAA,EAAA;AAErB;AAEA,eAAe,YAAY,KAAmB,MAAkB;AAC9D,QAAM,EAAC,UAAU,OAAO,WAAU,KAC5B,SAASd,cAAK,QAAA,SAAS,IAAI,KAAK,QAAQ,GAGxC4B,eAAaC,WAAAA,iBAAiB;AAAA,IAClC,YAAY,CAAC,aAAa;AACxB,iBAAW,OAAO,UAAU;AAC1B,cAAM,OAAO,OAAO,IAAI,KAAK,CAAC,CAAC;AAE3B,YAAI,SAAS,0BAIb,KAAK,WAAW,yBAAyB,KAIzC,KAAK,WAAW,qCAAqC,MAIrD,IAAI,SAAS,SACf,OAAO,KAAK,GAAG,IAAI,IAAI,GAGrB,IAAI,SAAS,UACf,OAAO,KAAK,GAAG,IAAI,IAAI,GAGrB,IAAI,SAAS,WACf,OAAO,MAAM,GAAG,IAAI,IAAI;AAAA,MAAA;AAAA,IAE5B;AAAA,EACF,CACD;AAEG,MAAA;AACI,UAAA,EAAC,cAAc,cAAA,IAAiB,oBAAoB,KAAK,IAAI,GAG7D,SAAS,MAAMC,cAAO;AAAA,MAC1B,GAAG;AAAA,MACH,OAAO,SAAS;AACdF,qBAAW,SAAS,KAAK;AAAA,UACvB,MAAM;AAAA,UACN,MAAM,QAAQ;AAAA,UACd,MAAM,CAAC,QAAQ,OAAO;AAAA,QAAA,CACvB;AAAA,MAAA;AAAA,IACH,CACD,GAIK,EAAC,WAAU,MAAM,OAAO,SAAS,aAAa;AAEpD,eAAW,gBAAgB;AACrB,mBAAa,SAAS,UACxB,MAAM,KAAK;AAAA,QACT,MAAM;AAAA,QACN,MAAM5B,cAAAA,QAAK,QAAQ,QAAQ,aAAa,QAAQ;AAAA,MAAA,CACjD,IAED,MAAM,KAAK;AAAA,QACT,MAAM;AAAA,QACN,MAAMA,cAAAA,QAAK,QAAQ,QAAQ,aAAa,QAAQ;AAAA,MAAA,CACjD;AAKC,UAAA,OAAO,MAAM,aAAa,GAGhC,MAAM,OAAO,MAAA,GAGb4B,aAAW,QAAQ;AAAA,WACZ,KAAK;AAEZ,UAAAA,aAAW,WACL;AAAA,EAAA;AAEV;AClJO,MAAM,kBAAoE;AAAA,EAC/E,MAAM,CAAC,KAAK,SACV,kCAAkC,KAAK,OAAO,KAAK,KAAK,CAAC,YACvD,KAAK,MACP;AAAA,SAAa,KAAK,QACf,IAAI,CAAC,MAAM,GAAG3B,eAAM,QAAA,KAAKD,cAAAA,QAAK,KAAK,IAAI,IAAI,MAAM,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,OAAO,EAAE,MAAM,EAAE,EACvF,KAAK;AAAA,QAAW,CAAC;AAAA,EACtB,MAAM,CAAC,KAAK,SAAS;AACnB,UAAM,EAAC,cAAc,cAAA,IAAiB,oBAAoB,KAAK,IAAI;AAE5D,WAAA,IAAIc,KAAAA,WAAW,CAAC,aAAa;AAClC,YAAM,eAAmC;AAAA,QACvC,GAAG;AAAA,QACH,QAAQ;AAAA,MAAA,GAGJ,UAAUiB,OAAA,MAAY,YAAY;AAEhC,aAAA,QAAA,GAAG,SAAS,CAAC,UAAU;AAC7B,iBAAS,KAAK,KAAK;AAAA,MACpB,CAAA,GAEM,MAAM;AACX,gBAAQ,MAAM;AAAA,MAChB;AAAA,IAAA,CACD;AAAA,EACH;AAAA,EACA,UAAU,CAAC,KAAK,MAAM,UAAU;AACxB,UAAA,EAAC,WAAU;AAEb,QAAA,MAAM,SAAS,cAAc;AACxB,aAAA;AAAA,QACL,kCAAkC,KAAK,OAAO,KAAK,KAAK,CAAC,YACvD,KAAK,MACP;AAAA,SAAa,KAAK,QACf,IAAI,CAAC,MAAM,GAAG9B,eAAM,QAAA,KAAKD,cAAAA,QAAK,KAAK,IAAI,IAAI,MAAM,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,OAAO,EAAE,MAAM,EAAE,EACvF,KAAK;AAAA,QAAW,CAAC;AAAA,MAAA,GAEtB,OAAO,IAAI,EAAE;AAEb;AAAA,IAAA;AAGF,QAAI,MAAM,SAAS,kBAIf,MAAM,SAAS,SAIf,MAAM,SAAS,SAAS;AACnB,aAAA,MAAM,MAAM,MAAM,KAAK;AAE9B;AAAA,IAAA;AAAA,EAMJ;AAAA,EACA,OAAO,CAAC,KAAK,OAAO,QAAQ;AACpB,UAAA,EAAC,WAAU;AAEb,mBAAe,SACjB,OAAO,IAAI,GAAG;AAAA,EAAA;AAGpB,GCrEa,oBAAuC;AAAA,EAClD,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,gBAAgB;AAAA,EAChB,wBAAwB;AAC1B,GAGa,oBAAuC;AAAA,EAClD,aAAa;AAAA,EACb,YAAY;AACd;;;;;;;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../../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/rollup/resolveRollupConfig.ts","../../src/node/tasks/rollup/rollupLegacyTask.ts","../../src/node/tasks/rollup/rollupReactCompilerTask.ts","../../src/node/tasks/rollup/rollupTask.ts","../../src/node/tasks/rollup/rollupWatchTask.ts","../../src/node/tasks/index.ts"],"sourcesContent":["import path from 'node:path'\n\nimport type {ExtractorMessage} from '@microsoft/api-extractor'\nimport chalk from 'chalk'\n\nimport type {BuildContext} from './core'\n\nexport function printExtractMessages(ctx: BuildContext, messages: ExtractorMessage[]): void {\n const {cwd, logger} = ctx\n\n const warnings = messages.filter((msg) => msg.logLevel === 'warning')\n\n if (warnings.length) {\n logger.log()\n }\n\n for (const msg of warnings) {\n const sourceFilePath = msg.sourceFilePath && path.relative(cwd, msg.sourceFilePath)\n\n if (msg.messageId === 'TS6307') {\n // Ignore this warning:\n // > TS6307: <filename> is not in project file list.\n // > Projects must list all files or use an 'include' pattern.\n continue\n }\n\n logger.log(\n [\n `${chalk.cyan(sourceFilePath || '?')}`,\n `:${chalk.yellow(msg.sourceFileLine)}:${chalk.yellow(msg.sourceFileColumn)}`,\n ` - ${chalk.yellow('warning')} ${chalk.gray(msg.messageId)}\\n`,\n msg.text,\n '\\n',\n ].join(''),\n )\n }\n\n const errors: ExtractorMessage[] = messages.filter((msg) => msg.logLevel === 'error')\n\n if (!warnings.length && errors.length) {\n logger.log('')\n }\n\n for (const msg of errors) {\n const sourceFilePath = msg.sourceFilePath && path.relative(cwd, msg.sourceFilePath)\n\n logger.log(\n [\n `${chalk.cyan(sourceFilePath || '?')}`,\n `:${chalk.yellow(msg.sourceFileLine)}:${chalk.yellow(msg.sourceFileColumn)}`,\n ` - ${chalk.red('error')} ${chalk.gray(msg.messageId)}\\n`,\n msg.text,\n '\\n',\n ].join(''),\n )\n }\n\n if (errors.length) {\n process.exit(1)\n }\n}\n","import path from 'node:path'\n\nimport chalk from 'chalk'\nimport ts from 'typescript'\n\nimport type {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 type {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 noEmitOnError: strict ? true : (tsconfig.options.noEmitOnError ?? true),\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 throw new Error('failed to compile TypeScript definitions')\n }\n }\n}\n","import type {ExtractorMessage} from '@microsoft/api-extractor'\n\n/** @internal */\nexport class DtsError extends Error {\n messages: ExtractorMessage[]\n\n constructor(message: string, messages: ExtractorMessage[]) {\n super(message)\n this.messages = messages\n }\n}\n","import path from 'node:path'\n\nimport type {IConfigFile, IExtractorMessagesConfig} from '@microsoft/api-extractor'\n\nexport function createApiExtractorConfig(options: {\n bundledPackages?: string[]\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 bundledPackages,\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: {tsconfigFilePath: tsconfigPath},\n\n docModel: {\n enabled: false,\n apiJsonFilePath: path.resolve(distPath, `${exportPath}.api.json`),\n },\n dtsRollup: {\n enabled: true,\n untrimmedFilePath: path.resolve(distPath, filePath),\n // betaTrimmedFilePath: path.resolve(distPath, filePath.replace('.d.ts', '-beta.d.ts')),\n // publicTrimmedFilePath: path.resolve(distPath, filePath.replace('.d.ts', '-public.d.ts')),\n },\n tsdocMetadata: {\n enabled: false,\n },\n messages,\n mainEntryPointFilePath,\n projectFolder,\n }\n}\n","import {readFile} from 'node:fs/promises'\n\nimport {TSDocConfigFile} from '@microsoft/tsdoc-config'\nimport {parse} from 'jsonc-parser'\n\n/** @public */\nexport interface TSDocCustomTag {\n name: string\n syntaxKind: 'block' | 'modifier'\n allowMultiple?: boolean\n}\n\n/** @internal */\nexport async function createTSDocConfig(opts: {\n customTags: TSDocCustomTag[]\n}): Promise<TSDocConfigFile | undefined> {\n const {customTags} = opts\n\n if (customTags.length === 0) {\n return undefined\n }\n\n const tsDocBaseBuf = await readFile(\n require.resolve('@microsoft/api-extractor/extends/tsdoc-base.json'),\n )\n\n // Include the definitions that are required for API Extractor\n // extends: ['@microsoft/api-extractor/extends/tsdoc-base.json'],\n const tsDocBaseConfig = parse(tsDocBaseBuf.toString())\n\n // Define custom tags and specify how they should be parsed\n const tagDefinitions = (tsDocBaseConfig.tagDefinitions || []).concat(\n customTags.map((t) => ({\n tagName: `@${t.name}`,\n syntaxKind: t.syntaxKind,\n allowMultiple: t.allowMultiple,\n })),\n )\n\n // Indicate that custom tags are supported by your tooling.\n // (Without this, warnings may be reported saying that a tag is unsupported.)\n const supportForTags = {...tsDocBaseConfig.supportForTags}\n\n for (const customTag of customTags) {\n supportForTags[`@${customTag.name}`] = true\n }\n\n return TSDocConfigFile.loadFromObject({\n ...tsDocBaseConfig,\n noStandardTags: false,\n tagDefinitions,\n supportForTags,\n })\n}\n","import type {File} from '@babel/types'\nimport type {ExtractorResult} from '@microsoft/api-extractor'\nimport {parse, print} from 'recast'\nimport typeScriptParser from 'recast/parsers/typescript.js'\nimport type {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 type {ExtractorLogLevel, IExtractorMessagesConfig} from '@microsoft/api-extractor'\n\nimport type {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', 'none' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-incompatible-release-tags': {\n logLevel: ruleToLogLevel('ae-incompatible-release-tags', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-internal-missing-underscore': {\n logLevel: ruleToLogLevel('ae-internal-missing-underscore'),\n addToApiReportFile: false,\n },\n\n 'ae-missing-release-tag': {\n logLevel: ruleToLogLevel('ae-missing-release-tag', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-wrong-input-file-type': {\n logLevel: 'none' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n },\n\n tsdocMessageReporting: {\n 'default': {\n logLevel: 'warning' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n\n 'tsdoc-link-tag-unescaped-text': {\n logLevel: ruleToLogLevel('tsdoc-link-tag-unescaped-text', 'warning' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'tsdoc-undefined-tag': {\n logLevel: ruleToLogLevel('tsdoc-undefined-tag', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'tsdoc-unsupported-tag': {\n logLevel: ruleToLogLevel('tsdoc-unsupported-tag', 'none' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n },\n }\n}\n","import fs from 'node:fs/promises'\nimport path from 'node:path'\n\nimport {\n Extractor,\n ExtractorConfig,\n type ExtractorMessage,\n type ExtractorResult,\n} from '@microsoft/api-extractor'\nimport {mkdirp} from 'mkdirp'\nimport prettier from 'prettier'\n\nimport type {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 bundledPackages?: string[]\n customTags: NonNullable<PkgConfigOptions['extract']>['customTags']\n distPath: string\n exportPath: string\n filePaths: 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 bundledPackages,\n customTags,\n distPath,\n exportPath,\n files,\n filePaths,\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 filePath = filePaths[0].replace(/\\.d\\.[mc]ts$/, '.d.ts')\n // If there are package.config.ts `bundles` we might not have something that should leave behind a `.d.ts` file and need to handle that\n const shouldCleanUpDts = !filePaths.includes(filePath)\n const extractorConfig: ExtractorConfig = ExtractorConfig.prepare({\n configObject: createApiExtractorConfig({\n bundledPackages,\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 const prettyCode = await prettier.format(code, {\n ...prettierConfig,\n filepath: typesPath,\n })\n\n for (const expFilePath of filePaths) {\n const expTypesPath = path.resolve(distPath, expFilePath)\n\n await fs.writeFile(expTypesPath, prettyCode)\n\n // Add to `files` in context\n files.push({\n type: 'types',\n path: expTypesPath,\n })\n }\n\n if (shouldCleanUpDts) {\n await fs.unlink(typesPath)\n }\n\n return {extractorResult, messages}\n}\n","import path from 'node:path'\n\nimport type {ExtractorMessage} from '@microsoft/api-extractor'\nimport rimraf from 'rimraf'\n\nimport type {BuildContext} from '../../core'\nimport {buildTypes} from './buildTypes'\nimport {DtsError} from './DtsError'\nimport {extractTypes} from './extractTypes'\nimport type {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, bundledPackages} = 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; filePaths: 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 targetPaths = entry.targetPaths.map((targetPath) => path.resolve(cwd, targetPath))\n const filePaths = targetPaths.map((targetPath) => path.relative(outDir, targetPath))\n const result = await extractTypes({\n bundledPackages: bundledPackages || [],\n customTags: config?.extract?.customTags,\n distPath: outDir,\n exportPath,\n files,\n filePaths,\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 const errors = result.messages.filter((msg) => msg.logLevel === 'error')\n\n if (errors.length > 0) {\n await rimraf(tmpPath)\n throw new DtsError(`encountered ${errors.length} errors when extracting types`, errors)\n }\n\n results.push({sourcePath: path.resolve(cwd, entry.sourcePath), filePaths: targetPaths})\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 type {TaskHandler} from '../types'\nimport {doExtract} from './doExtract'\nimport {DtsError} from './DtsError'\nimport type {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 return entry.targetPaths\n .map((targetPath) => {\n return [\n ` - ${chalk.cyan(entry.importId)}: `,\n `${chalk.yellow(entry.sourcePath)} ${chalk.gray('→')} ${chalk.yellow(targetPath)}`,\n ].join('')\n })\n .join('\\n')\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 path from 'node:path'\n\nimport type {ExtractorMessage} from '@microsoft/api-extractor'\nimport chalk from 'chalk'\nimport rimraf from 'rimraf'\nimport {Observable} from 'rxjs'\nimport ts from 'typescript'\n\nimport {printExtractMessages} from '../../printExtractMessages'\nimport type {TaskHandler} from '../types'\nimport {buildTypes} from './buildTypes'\nimport {DtsError} from './DtsError'\nimport {extractTypes} from './extractTypes'\nimport type {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((entry) => {\n return entry.targetPaths.map((targetPath) => {\n return [\n ` - ${chalk.cyan(entry.importId)}: `,\n `${chalk.yellow(entry.sourcePath)} ${chalk.gray('→')} ${chalk.yellow(targetPath)}`,\n ].join('')\n })\n }),\n ].join('\\n'),\n exec: (ctx, task) => {\n const {config, cwd, files, logger, strict, ts: tsContext, bundledPackages} = ctx\n\n return new Observable((observer) => {\n if (!tsContext.config || !tsContext.configPath) {\n observer.next({type: 'dts', messages: [], results: []})\n observer.complete()\n\n return\n }\n\n const {outDir, rootDir = cwd} = tsContext.config.options\n\n if (!outDir) {\n observer.error(new Error('tsconfig.json is missing `compilerOptions.outDir`'))\n\n return\n }\n\n const tmpPath = path.resolve(outDir, '__tmp__')\n\n buildTypes({\n cwd,\n logger,\n outDir: tmpPath,\n tsconfig: tsContext.config,\n strict,\n }).catch((err) => {\n observer.error(err)\n })\n\n const host = ts.createWatchCompilerHost(\n tsContext.configPath,\n {\n ...tsContext.config.options,\n declaration: true,\n declarationDir: tmpPath,\n emitDeclarationOnly: true,\n noEmit: false,\n noEmitOnError: strict ? true : (tsContext.config.options.noEmitOnError ?? true),\n outDir: tmpPath,\n },\n ts.sys,\n ts.createEmitAndSemanticDiagnosticsBuilderProgram,\n (diagnostic) => {\n logger.error(ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n'))\n },\n (diagnostic) => {\n logger.info(ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n'))\n },\n )\n\n const origPostProgramCreate = host.afterProgramCreate\n\n host.afterProgramCreate = async (program) => {\n origPostProgramCreate?.(program)\n\n const messages: ExtractorMessage[] = []\n const results: {sourcePath: string; filePaths: 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 targetPaths = entry.targetPaths.map((targetPath) => path.resolve(cwd, targetPath))\n const filePaths = targetPaths.map((targetPath) => path.relative(outDir, targetPath))\n\n try {\n const result = await extractTypes({\n bundledPackages: bundledPackages || [],\n customTags: config?.extract?.customTags,\n distPath: outDir,\n exportPath,\n files,\n filePaths,\n projectPath: cwd,\n rules: config?.extract?.rules,\n sourceTypesPath: sourceTypesPath,\n tmpPath,\n tsconfigPath: path.resolve(cwd, tsContext.configPath || 'tsconfig.json'),\n })\n\n messages.push(...result.messages)\n results.push({sourcePath: path.resolve(cwd, entry.sourcePath), filePaths: targetPaths})\n } catch (err) {\n if (err instanceof DtsError) {\n messages.push(...err.messages)\n } else {\n observer.error(err)\n\n return\n }\n }\n }\n\n observer.next({type: 'dts', messages, results})\n }\n\n const watchProgram = ts.createWatchProgram(host)\n\n return () => {\n watchProgram.close()\n rimraf.sync(tmpPath)\n }\n })\n },\n complete: (ctx, task, result) => {\n const {logger} = ctx\n\n printExtractMessages(ctx, result.messages)\n\n logger.success(\n `build type definitions\\n ${task.entries\n .map(\n (entry) =>\n ` - ${chalk.cyan(entry.importId)}: ${chalk.yellow(entry.sourcePath)} ${chalk.gray('→')} ${chalk.yellow(entry.targetPaths.join(', '))}`,\n )\n .join('\\n ')}`,\n )\n logger.log('')\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof DtsError) {\n printExtractMessages(ctx, err.messages)\n } else if (err instanceof Error) {\n logger.error(err)\n }\n },\n}\n","import path from 'node:path'\n\nimport type {PluginItem} from '@babel/core'\nimport {optimizeLodashImports} from '@optimize-lodash/rollup-plugin'\nimport alias from '@rollup/plugin-alias'\nimport {babel, 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 type {InputOptions, OutputOptions, Plugin} from 'rollup'\nimport esbuild from 'rollup-plugin-esbuild'\n\nimport {pkgExtMap as extMap} from '../../../node/core/pkg/pkgExt'\nimport {type BuildContext, type PackageJSON, resolveConfigProperty} from '../../core'\nimport type {RollupLegacyTask, RollupReactCompilerTask, 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 | RollupLegacyTask | RollupReactCompilerTask | RollupWatchTask,\n): RollupConfig {\n const {format, runtime, target} = buildTask\n const {config, cwd, exports: _exports, external, distPath, logger, pkg, ts} = ctx\n const isLegacyExports = buildTask.type === 'build:legacy'\n const isReactCompiler = buildTask.type === 'build:react-compiler'\n const outputExt = isLegacyExports ? extMap.legacy : 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 {optimizeLodash: enableOptimizeLodash = hasDependency(pkg, 'lodash')} = config?.rollup || {}\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 browser: runtime === 'browser',\n extensions: ['.cjs', '.mjs', '.js', '.jsx', '.json', '.node'],\n preferBuiltins: true,\n }),\n commonjs(),\n json(),\n (isReactCompiler || config?.babel?.reactCompiler || config?.babel?.styledComponents) &&\n babel({\n babelrc: false,\n presets: ['@babel/preset-typescript'],\n babelHelpers: 'bundled',\n extensions: ['.ts', '.tsx', '.js', '.jsx'],\n plugins: [\n // The styled-components plugin needs to run before the react-compiler plugin, in case the css prop is used\n config?.babel?.styledComponents && [\n 'babel-plugin-styled-components',\n {\n // Unnecessary, as the way we use styled-components in Sanity is usually by wrapping `@sanity/ui` primitives, not declaring new ones like \"const Button = styled.button``\"\n fileName: false,\n // Native template literals take less space than this transpilation\n transpileTemplateLiterals: false,\n // Massively helps dead code elimination and tree-shaking\n pure: true,\n // disabled, as pkg-utils tends to be used for npm publishing, while other tooling, like `sanity dev`, `next dev`, etc are used for testing\n cssProp: false,\n ...(typeof config.babel.styledComponents === 'object'\n ? config.babel.styledComponents\n : {}),\n },\n ],\n (isReactCompiler || config?.babel?.reactCompiler) && [\n 'babel-plugin-react-compiler',\n config?.reactCompilerOptions || {},\n ],\n ].filter(Boolean) as PluginItem[],\n }),\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 treeShaking: true,\n minifySyntax: config?.minify !== false,\n supported: {\n 'template-literal': true,\n },\n }),\n Array.isArray(config?.babel?.plugins) &&\n getBabelOutputPlugin({\n babelrc: false,\n plugins: config.babel.plugins,\n }),\n enableOptimizeLodash &&\n optimizeLodashImports({\n useLodashEs: format === 'esm' && hasDependency(pkg, 'lodash-es') ? true : undefined,\n ...(typeof config?.rollup?.optimizeLodash === 'boolean'\n ? {}\n : config?.rollup?.optimizeLodash),\n }),\n minify &&\n terser({\n compress: {directives: false, passes: 10},\n ecma: 2020,\n output: {\n comments: (_node, comment) => {\n const text = comment.value\n const cType = comment.type\n\n // Check if this is a multiline comment\n if (cType === 'comment2') {\n // Keep licensing comments\n return /@preserve|@license|@cc_on/i.test(text)\n }\n\n return false\n },\n preserve_annotations: true,\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 const hashChunkFileNames = config?.rollup?.hashChunkFileNames ?? false\n const chunksFolder = isReactCompiler\n ? '_compiled'\n : isLegacyExports\n ? '_legacy'\n : hashChunkFileNames\n ? '_chunks'\n : '_chunks-[format]'\n const chunkFileNames = `${chunksFolder}/${hashChunkFileNames ? '[name]-[hash]' : '[name]'}${outputExt}`\n const entryFileNames = isLegacyExports ? '[name].js' : `[name]${outputExt}`\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 watch: {\n chokidar: {\n usePolling: true,\n },\n },\n\n plugins,\n\n treeshake: {\n preset: 'recommended',\n propertyReadSideEffects: false,\n moduleSideEffects: 'no-external',\n ...config?.rollup?.treeshake,\n },\n experimentalLogSideEffects: config?.rollup?.experimentalLogSideEffects,\n },\n outputOptions: {\n chunkFileNames,\n compact: minify,\n dir: outDir,\n entryFileNames,\n esModule: true,\n format,\n interop: 'compat',\n sourcemap: config?.sourcemap ?? true,\n hoistTransitiveImports: false,\n minifyInternalExports: minify,\n ...config?.rollup?.output,\n },\n }\n}\n\nfunction hasDependency(pkg: PackageJSON, packageName: string): boolean {\n return pkg.dependencies\n ? packageName in pkg.dependencies\n : pkg.peerDependencies\n ? packageName in pkg.peerDependencies\n : false\n}\n","import path from 'node:path'\n\nimport chalk from 'chalk'\nimport {rollup} from 'rollup'\nimport {Observable} from 'rxjs'\n\nimport {createConsoleSpy} from '../../consoleSpy'\nimport type {BuildContext} from '../../core'\nimport type {RollupLegacyTask, TaskHandler} from '../types'\nimport {resolveRollupConfig} from './resolveRollupConfig'\n\n/** @internal */\nexport const rollupLegacyTask: TaskHandler<RollupLegacyTask> = {\n name: (ctx, task) => {\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 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 // @TODO list out the root level files that are generated\n\n return [\n 'Build legacy exports...',\n ` format: ${chalk.yellow(task.format)}`,\n ...targetLines,\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: RollupLegacyTask) {\n const {distPath, files, logger} = ctx\n const outDir = path.relative(ctx.cwd, distPath)\n\n // Prevent rollup from printing directly to the console\n const consoleSpy = createConsoleSpy({\n onRestored: (messages) => {\n for (const msg of messages) {\n const text = String(msg.args[0])\n\n if (msg.code === 'CIRCULAR_DEPENDENCY') {\n continue // ignore\n }\n\n if (text.startsWith('Dynamic import can only')) {\n continue // ignore\n }\n\n if (text.startsWith('Sourcemap is likely to be incorrect')) {\n continue // ignore\n }\n\n if (msg.type === 'log') {\n logger.info(...msg.args)\n }\n\n if (msg.type === 'warn') {\n logger.warn(...msg.args)\n }\n\n if (msg.type === 'error') {\n logger.error(...msg.args)\n }\n }\n },\n })\n\n try {\n const {inputOptions, outputOptions} = resolveRollupConfig(ctx, task)\n\n // Create bundle\n const bundle = await rollup({\n ...inputOptions,\n onwarn(warning) {\n consoleSpy.messages.push({\n type: 'warn',\n code: warning.code,\n args: [warning.message],\n })\n },\n })\n\n // generate output specific code in-memory\n // you can call this function multiple times on the same bundle object\n const {output} = await bundle.generate(outputOptions)\n\n for (const chunkOrAsset of output) {\n if (chunkOrAsset.type === 'asset') {\n files.push({\n type: 'asset',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n } else {\n files.push({\n type: 'chunk',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n }\n }\n\n // or write the bundle to disk\n await bundle.write(outputOptions)\n\n // closes the bundle\n await bundle.close()\n\n // Restore console\n consoleSpy.restore()\n } catch (err) {\n // Restore console\n consoleSpy.restore()\n throw err\n }\n}\n","import path from 'node:path'\n\nimport chalk from 'chalk'\nimport {rollup} from 'rollup'\nimport {Observable} from 'rxjs'\n\nimport {createConsoleSpy} from '../../consoleSpy'\nimport type {BuildContext} from '../../core'\nimport type {RollupReactCompilerTask, TaskHandler} from '../types'\nimport {resolveRollupConfig} from './resolveRollupConfig'\n\n/** @internal */\nexport const rollupReactCompilerTask: TaskHandler<RollupReactCompilerTask> = {\n name: (ctx, task) => {\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 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 // @TODO list out the root level files that are generated\n\n return ['Build react compiler exports...', ...targetLines, ...entriesLines].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: RollupReactCompilerTask) {\n const {distPath, files, logger} = ctx\n const outDir = path.relative(ctx.cwd, distPath)\n\n // Prevent rollup from printing directly to the console\n const consoleSpy = createConsoleSpy({\n onRestored: (messages) => {\n for (const msg of messages) {\n const text = String(msg.args[0])\n\n if (msg.code === 'CIRCULAR_DEPENDENCY') {\n continue // ignore\n }\n\n if (text.startsWith('Dynamic import can only')) {\n continue // ignore\n }\n\n if (text.startsWith('Sourcemap is likely to be incorrect')) {\n continue // ignore\n }\n\n if (msg.type === 'log') {\n logger.info(...msg.args)\n }\n\n if (msg.type === 'warn') {\n logger.warn(...msg.args)\n }\n\n if (msg.type === 'error') {\n logger.error(...msg.args)\n }\n }\n },\n })\n\n try {\n const {inputOptions, outputOptions} = resolveRollupConfig(ctx, task)\n\n // Create bundle\n const bundle = await rollup({\n ...inputOptions,\n onwarn(warning) {\n consoleSpy.messages.push({\n type: 'warn',\n code: warning.code,\n args: [warning.message],\n })\n },\n })\n\n // generate output specific code in-memory\n // you can call this function multiple times on the same bundle object\n const {output} = await bundle.generate(outputOptions)\n\n for (const chunkOrAsset of output) {\n if (chunkOrAsset.type === 'asset') {\n files.push({\n type: 'asset',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n } else {\n files.push({\n type: 'chunk',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n }\n }\n\n // or write the bundle to disk\n await bundle.write(outputOptions)\n\n // closes the bundle\n await bundle.close()\n\n // Restore console\n consoleSpy.restore()\n } catch (err) {\n // Restore console\n consoleSpy.restore()\n throw err\n }\n}\n","import path from 'node:path'\n\nimport chalk from 'chalk'\nimport {rollup} from 'rollup'\nimport {Observable} from 'rxjs'\n\nimport {createConsoleSpy} from '../../consoleSpy'\nimport type {BuildContext} from '../../core'\nimport type {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 path from 'node:path'\n\nimport chalk from 'chalk'\nimport {type RollupWatcherEvent, type RollupWatchOptions, watch as rollupWatch} from 'rollup'\nimport {Observable} from 'rxjs'\n\nimport type {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 {rollupLegacyTask, rollupReactCompilerTask, rollupTask, rollupWatchTask} from './rollup'\nimport type {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 'build:legacy': rollupLegacyTask,\n 'build:react-compiler': rollupReactCompilerTask,\n}\n\n/** @internal */\nexport const watchTaskHandlers: WatchTaskHandlers = {\n 'watch:dts': dtsWatchTask,\n 'watch:js': rollupWatchTask,\n}\n"],"names":["path","chalk","ts","readFile","parse","TSDocConfigFile","typeScriptParser","print","ExtractorConfig","Extractor","fs","prettier","mkdirp","rimraf","Observable","extMap","replace","alias","nodeResolve","commonjs","json","babel","esbuild","getBabelOutputPlugin","optimizeLodashImports","terser","resolveConfigProperty","execPromise","consoleSpy","createConsoleSpy","rollup","rollupWatch"],"mappings":"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"}
package/dist/cli.cjs CHANGED
@@ -3,7 +3,7 @@ var cac = require("cac");
3
3
  function _interopDefaultCompat(e) {
4
4
  return e && typeof e == "object" && "default" in e ? e : { default: e };
5
5
  }
6
- var cac__default = /* @__PURE__ */ _interopDefaultCompat(cac), version = "6.13.3-canary.1";
6
+ var cac__default = /* @__PURE__ */ _interopDefaultCompat(cac), version = "6.13.3-canary.3";
7
7
  const cli = cac__default.default();
8
8
  cli.command("", "Check").alias("check").option("--strict", "Strict mode").option("--tsconfig [tsconfig]", "[string] tsconfig.json").action(async (options) => {
9
9
  const { checkAction } = await Promise.resolve().then(function() {
package/dist/index.d.cts CHANGED
@@ -347,6 +347,9 @@ export declare interface PkgConfigOptions {
347
347
  bundledPackages?: PkgConfigProperty<string[]>
348
348
  customTags?: TSDocCustomTag[]
349
349
  rules?: {
350
+ /**
351
+ * @deprecated no longer needed since TypeScript 5.5 https://devblogs.microsoft.com/typescript/announcing-typescript-5-5/#consulting-package.json-dependencies-for-declaration-file-generation
352
+ */
350
353
  'ae-forgotten-export'?: PkgRuleLevel
351
354
  'ae-incompatible-release-tags'?: PkgRuleLevel
352
355
  'ae-internal-missing-underscore'?: PkgRuleLevel
package/dist/index.d.ts CHANGED
@@ -347,6 +347,9 @@ export declare interface PkgConfigOptions {
347
347
  bundledPackages?: PkgConfigProperty<string[]>
348
348
  customTags?: TSDocCustomTag[]
349
349
  rules?: {
350
+ /**
351
+ * @deprecated no longer needed since TypeScript 5.5 https://devblogs.microsoft.com/typescript/announcing-typescript-5-5/#consulting-package.json-dependencies-for-declaration-file-generation
352
+ */
350
353
  'ae-forgotten-export'?: PkgRuleLevel
351
354
  'ae-incompatible-release-tags'?: PkgRuleLevel
352
355
  'ae-internal-missing-underscore'?: PkgRuleLevel
package/dist/index.js CHANGED
@@ -905,22 +905,15 @@ function createApiExtractorConfig(options) {
905
905
  messages,
906
906
  projectFolder,
907
907
  mainEntryPointFilePath,
908
- tsconfig,
909
908
  tsconfigPath
910
- } = options, workaroundPaths = !!tsconfig.options.paths, overrideTsconfig = {
911
- extends: tsconfigPath,
912
- compilerOptions: {}
913
- };
914
- return workaroundPaths && Object.assign(overrideTsconfig.compilerOptions, {
915
- // An empty object replaces whatever is in the original tsconfig file
916
- paths: {}
917
- }), {
909
+ } = options;
910
+ return {
918
911
  apiReport: {
919
912
  enabled: !1,
920
913
  reportFileName: "<unscopedPackageName>.api.md"
921
914
  },
922
915
  bundledPackages,
923
- compiler: workaroundPaths ? { overrideTsconfig } : { tsconfigFilePath: tsconfigPath },
916
+ compiler: { tsconfigFilePath: tsconfigPath },
924
917
  docModel: {
925
918
  enabled: !1,
926
919
  apiJsonFilePath: path.resolve(distPath, `${exportPath}.api.json`)
@@ -999,7 +992,7 @@ function getExtractMessagesConfig(options) {
999
992
  addToApiReportFile: !1
1000
993
  },
1001
994
  "ae-forgotten-export": {
1002
- logLevel: ruleToLogLevel("ae-forgotten-export", "error"),
995
+ logLevel: ruleToLogLevel("ae-forgotten-export", "none"),
1003
996
  addToApiReportFile: !1
1004
997
  },
1005
998
  "ae-incompatible-release-tags": {
@@ -1051,7 +1044,6 @@ async function extractTypes(options) {
1051
1044
  rules,
1052
1045
  sourceTypesPath,
1053
1046
  tmpPath,
1054
- tsconfig,
1055
1047
  tsconfigPath
1056
1048
  } = options, tsdocConfigFile = await createTSDocConfig({
1057
1049
  customTags: customTags || []
@@ -1064,7 +1056,6 @@ async function extractTypes(options) {
1064
1056
  messages: getExtractMessagesConfig({ rules }),
1065
1057
  projectFolder: projectPath,
1066
1058
  mainEntryPointFilePath: sourceTypesPath,
1067
- tsconfig,
1068
1059
  tsconfigPath
1069
1060
  }),
1070
1061
  configObjectFullPath: void 0,
@@ -1116,7 +1107,6 @@ async function doExtract(ctx, task) {
1116
1107
  ), targetPaths = entry.targetPaths.map((targetPath) => path.resolve(cwd, targetPath)), filePaths = targetPaths.map((targetPath) => path.relative(outDir, targetPath)), result = await extractTypes({
1117
1108
  bundledPackages: bundledPackages || [],
1118
1109
  customTags: config2?.extract?.customTags,
1119
- cwd,
1120
1110
  distPath: outDir,
1121
1111
  exportPath,
1122
1112
  files,
@@ -1124,7 +1114,6 @@ async function doExtract(ctx, task) {
1124
1114
  projectPath: cwd,
1125
1115
  rules: config2?.extract?.rules,
1126
1116
  sourceTypesPath,
1127
- tsconfig: ts2.config,
1128
1117
  tmpPath,
1129
1118
  tsconfigPath: path.resolve(cwd, ts2.configPath || "tsconfig.json")
1130
1119
  });
@@ -1226,7 +1215,6 @@ const dtsTask = {
1226
1215
  const result = await extractTypes({
1227
1216
  bundledPackages: bundledPackages || [],
1228
1217
  customTags: config2?.extract?.customTags,
1229
- cwd,
1230
1218
  distPath: outDir,
1231
1219
  exportPath,
1232
1220
  files,
@@ -1234,7 +1222,6 @@ const dtsTask = {
1234
1222
  projectPath: cwd,
1235
1223
  rules: config2?.extract?.rules,
1236
1224
  sourceTypesPath,
1237
- tsconfig: tsContext.config,
1238
1225
  tmpPath,
1239
1226
  tsconfigPath: path.resolve(cwd, tsContext.configPath || "tsconfig.json")
1240
1227
  });