@sanity/pkg-utils 6.12.3 → 6.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -511,12 +511,32 @@ function resolveRollupConfig(ctx, buildTask) {
511
511
  }),
512
512
  commonjs__default.default(),
513
513
  json__default.default(),
514
- (isReactCompiler || config?.babel?.reactCompiler) && pluginBabel.babel({
514
+ (isReactCompiler || config?.babel?.reactCompiler || config?.babel?.styledComponents) && pluginBabel.babel({
515
515
  babelrc: !1,
516
516
  presets: ["@babel/preset-typescript"],
517
517
  babelHelpers: "bundled",
518
518
  extensions: [".ts", ".tsx", ".js", ".jsx"],
519
- plugins: [["babel-plugin-react-compiler", config?.reactCompilerOptions || {}]]
519
+ plugins: [
520
+ // The styled-components plugin needs to run before the react-compiler plugin, in case the css prop is used
521
+ config?.babel?.styledComponents && [
522
+ "babel-plugin-styled-components",
523
+ {
524
+ // 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``"
525
+ fileName: !1,
526
+ // Native template literals take less space than this transpilation
527
+ transpileTemplateLiterals: !1,
528
+ // Massively helps dead code elimination and tree-shaking
529
+ pure: !0,
530
+ // disabled, as pkg-utils tends to be used for npm publishing, while other tooling, like `sanity dev`, `next dev`, etc are used for testing
531
+ cssProp: !1,
532
+ ...typeof config.babel.styledComponents == "object" ? config.babel.styledComponents : {}
533
+ }
534
+ ],
535
+ (isReactCompiler || config?.babel?.reactCompiler) && [
536
+ "babel-plugin-react-compiler",
537
+ config?.reactCompilerOptions || {}
538
+ ]
539
+ ].filter(Boolean)
520
540
  }),
521
541
  esbuild__default.default({
522
542
  jsx: config?.jsx ?? "automatic",
@@ -540,12 +560,14 @@ function resolveRollupConfig(ctx, buildTask) {
540
560
  ...typeof config?.rollup?.optimizeLodash == "boolean" ? {} : config?.rollup?.optimizeLodash
541
561
  }),
542
562
  minify && terser__default.default({
543
- compress: { directives: !1 },
563
+ compress: { directives: !1, passes: 10 },
564
+ ecma: 2020,
544
565
  output: {
545
566
  comments: (_node, comment) => {
546
567
  const text = comment.value;
547
568
  return comment.type === "comment2" ? /@preserve|@license|@cc_on/i.test(text) : !1;
548
- }
569
+ },
570
+ preserve_annotations: !0
549
571
  }
550
572
  })
551
573
  ].filter(Boolean), userPlugins = config?.rollup?.plugins, plugins = Array.isArray(userPlugins) ? defaultPlugins.concat(userPlugins) : consoleSpy.resolveConfigProperty(config?.rollup?.plugins, defaultPlugins), hashChunkFileNames = config?.rollup?.hashChunkFileNames ?? !1, chunkFileNames = `${isReactCompiler ? "_compiled" : isLegacyExports ? "_legacy" : hashChunkFileNames ? "_chunks" : "_chunks-[format]"}/${hashChunkFileNames ? "[name]-[hash]" : "[name]"}${outputExt}`, entryFileNames = isLegacyExports ? "[name].js" : `[name]${outputExt}`;
@@ -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\n // When the module is 'preserve' it's necessary to override the tsconfig file as api-extractor doesn't handle it out of the box\n const workaroundModulePreserve = tsconfig.options.module === ts.ModuleKind.Preserve\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 (workaroundModulePreserve) {\n Object.assign(overrideTsconfig.compilerOptions, {\n // Set the equivalent options to `module: 'Preserve'`\n // https://github.com/microsoft/TypeScript/pull/56785/files?file-filters%5B%5D=.js&file-filters%5B%5D=.json&file-filters%5B%5D=.symbols&file-filters%5B%5D=.ts&file-filters%5B%5D=.types&show-viewed-files=true#diff-31d3c12bafea26bc9e8c8a77920c41af0c593206442add70c45a06c063767445\n module: 'ESNext',\n moduleResolution: 'Bundler',\n esModuleInterop: true,\n resolveJsonModule: true,\n })\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:\n workaroundModulePreserve || workaroundPaths\n ? {overrideTsconfig}\n : {tsconfigFilePath: tsconfigPath},\n\n docModel: {\n enabled: false,\n apiJsonFilePath: path.resolve(distPath, `${exportPath}.api.json`),\n },\n dtsRollup: {\n enabled: true,\n untrimmedFilePath: path.resolve(distPath, filePath),\n // betaTrimmedFilePath: path.resolve(distPath, filePath.replace('.d.ts', '-beta.d.ts')),\n // publicTrimmedFilePath: path.resolve(distPath, filePath.replace('.d.ts', '-public.d.ts')),\n },\n tsdocMetadata: {\n enabled: false,\n },\n messages,\n mainEntryPointFilePath,\n projectFolder,\n }\n}\n","import {readFile} from '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 {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) &&\n babel({\n babelrc: false,\n presets: ['@babel/preset-typescript'],\n babelHelpers: 'bundled',\n extensions: ['.ts', '.tsx', '.js', '.jsx'],\n plugins: [['babel-plugin-react-compiler', config?.reactCompilerOptions || {}]],\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},\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 },\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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"}
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\n // When the module is 'preserve' it's necessary to override the tsconfig file as api-extractor doesn't handle it out of the box\n const workaroundModulePreserve = tsconfig.options.module === ts.ModuleKind.Preserve\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 (workaroundModulePreserve) {\n Object.assign(overrideTsconfig.compilerOptions, {\n // Set the equivalent options to `module: 'Preserve'`\n // https://github.com/microsoft/TypeScript/pull/56785/files?file-filters%5B%5D=.js&file-filters%5B%5D=.json&file-filters%5B%5D=.symbols&file-filters%5B%5D=.ts&file-filters%5B%5D=.types&show-viewed-files=true#diff-31d3c12bafea26bc9e8c8a77920c41af0c593206442add70c45a06c063767445\n module: 'ESNext',\n moduleResolution: 'Bundler',\n esModuleInterop: true,\n resolveJsonModule: true,\n })\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:\n workaroundModulePreserve || workaroundPaths\n ? {overrideTsconfig}\n : {tsconfigFilePath: tsconfigPath},\n\n docModel: {\n enabled: false,\n apiJsonFilePath: path.resolve(distPath, `${exportPath}.api.json`),\n },\n dtsRollup: {\n enabled: true,\n untrimmedFilePath: path.resolve(distPath, filePath),\n // betaTrimmedFilePath: path.resolve(distPath, filePath.replace('.d.ts', '-beta.d.ts')),\n // publicTrimmedFilePath: path.resolve(distPath, filePath.replace('.d.ts', '-public.d.ts')),\n },\n tsdocMetadata: {\n enabled: false,\n },\n messages,\n mainEntryPointFilePath,\n projectFolder,\n }\n}\n","import {readFile} from '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":"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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.12.3";
6
+ var cac__default = /* @__PURE__ */ _interopDefaultCompat(cac), version = "6.13.0";
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
@@ -295,6 +295,31 @@ export declare interface PkgConfigOptions {
295
295
  plugins?: PluginItem[] | null | undefined
296
296
  /** @alpha */
297
297
  reactCompiler?: boolean
298
+ /** @alpha */
299
+ styledComponents?:
300
+ | boolean
301
+ | {
302
+ /** @defaultValue true */
303
+ displayName?: boolean
304
+ /**
305
+ * @defaultValue []
306
+ * @example ["@xstyled/styled-components", "@xstyled/styled-components/*"]
307
+ */
308
+ topLevelImportPaths?: string[]
309
+ /** @defaultValue true */
310
+ ssr?: boolean
311
+ /** @defaultValue fale */
312
+ fileName?: boolean
313
+ /** @defaultValue ["index"] */
314
+ meaninglessFileNames?: string[]
315
+ /** @defaultValue true */
316
+ minify?: boolean
317
+ /** @defaultValue false */
318
+ transpileTemplateLiterals?: boolean
319
+ namespace?: string
320
+ /** @defaultValue true */
321
+ pure?: boolean
322
+ }
298
323
  }
299
324
  /**
300
325
  * Configure the React Compiler.
package/dist/index.d.ts CHANGED
@@ -295,6 +295,31 @@ export declare interface PkgConfigOptions {
295
295
  plugins?: PluginItem[] | null | undefined
296
296
  /** @alpha */
297
297
  reactCompiler?: boolean
298
+ /** @alpha */
299
+ styledComponents?:
300
+ | boolean
301
+ | {
302
+ /** @defaultValue true */
303
+ displayName?: boolean
304
+ /**
305
+ * @defaultValue []
306
+ * @example ["@xstyled/styled-components", "@xstyled/styled-components/*"]
307
+ */
308
+ topLevelImportPaths?: string[]
309
+ /** @defaultValue true */
310
+ ssr?: boolean
311
+ /** @defaultValue fale */
312
+ fileName?: boolean
313
+ /** @defaultValue ["index"] */
314
+ meaninglessFileNames?: string[]
315
+ /** @defaultValue true */
316
+ minify?: boolean
317
+ /** @defaultValue false */
318
+ transpileTemplateLiterals?: boolean
319
+ namespace?: string
320
+ /** @defaultValue true */
321
+ pure?: boolean
322
+ }
298
323
  }
299
324
  /**
300
325
  * Configure the React Compiler.
package/dist/index.js CHANGED
@@ -1327,12 +1327,32 @@ function resolveRollupConfig(ctx, buildTask) {
1327
1327
  }),
1328
1328
  commonjs(),
1329
1329
  json(),
1330
- (isReactCompiler || config2?.babel?.reactCompiler) && babel({
1330
+ (isReactCompiler || config2?.babel?.reactCompiler || config2?.babel?.styledComponents) && babel({
1331
1331
  babelrc: !1,
1332
1332
  presets: ["@babel/preset-typescript"],
1333
1333
  babelHelpers: "bundled",
1334
1334
  extensions: [".ts", ".tsx", ".js", ".jsx"],
1335
- plugins: [["babel-plugin-react-compiler", config2?.reactCompilerOptions || {}]]
1335
+ plugins: [
1336
+ // The styled-components plugin needs to run before the react-compiler plugin, in case the css prop is used
1337
+ config2?.babel?.styledComponents && [
1338
+ "babel-plugin-styled-components",
1339
+ {
1340
+ // 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``"
1341
+ fileName: !1,
1342
+ // Native template literals take less space than this transpilation
1343
+ transpileTemplateLiterals: !1,
1344
+ // Massively helps dead code elimination and tree-shaking
1345
+ pure: !0,
1346
+ // disabled, as pkg-utils tends to be used for npm publishing, while other tooling, like `sanity dev`, `next dev`, etc are used for testing
1347
+ cssProp: !1,
1348
+ ...typeof config2.babel.styledComponents == "object" ? config2.babel.styledComponents : {}
1349
+ }
1350
+ ],
1351
+ (isReactCompiler || config2?.babel?.reactCompiler) && [
1352
+ "babel-plugin-react-compiler",
1353
+ config2?.reactCompilerOptions || {}
1354
+ ]
1355
+ ].filter(Boolean)
1336
1356
  }),
1337
1357
  esbuild({
1338
1358
  jsx: config2?.jsx ?? "automatic",
@@ -1356,12 +1376,14 @@ function resolveRollupConfig(ctx, buildTask) {
1356
1376
  ...typeof config2?.rollup?.optimizeLodash == "boolean" ? {} : config2?.rollup?.optimizeLodash
1357
1377
  }),
1358
1378
  minify && terser({
1359
- compress: { directives: !1 },
1379
+ compress: { directives: !1, passes: 10 },
1380
+ ecma: 2020,
1360
1381
  output: {
1361
1382
  comments: (_node, comment) => {
1362
1383
  const text = comment.value;
1363
1384
  return comment.type === "comment2" ? /@preserve|@license|@cc_on/i.test(text) : !1;
1364
- }
1385
+ },
1386
+ preserve_annotations: !0
1365
1387
  }
1366
1388
  })
1367
1389
  ].filter(Boolean), userPlugins = config2?.rollup?.plugins, plugins = Array.isArray(userPlugins) ? defaultPlugins.concat(userPlugins) : resolveConfigProperty(config2?.rollup?.plugins, defaultPlugins), hashChunkFileNames = config2?.rollup?.hashChunkFileNames ?? !1, chunkFileNames = `${isReactCompiler ? "_compiled" : isLegacyExports ? "_legacy" : hashChunkFileNames ? "_chunks" : "_chunks-[format]"}/${hashChunkFileNames ? "[name]-[hash]" : "[name]"}${outputExt}`, entryFileNames = isLegacyExports ? "[name].js" : `[name]${outputExt}`;