@sanity/pkg-utils 6.13.3-canary.1 → 6.13.3-canary.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -1
- package/dist/_chunks-cjs/index.cjs +4 -17
- package/dist/_chunks-cjs/index.cjs.map +1 -1
- package/dist/cli.cjs +1 -1
- package/dist/index.d.cts +3 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +4 -17
- package/dist/index.js.map +1 -1
- package/package.json +3 -4
- package/src/node/core/config/types.ts +3 -0
- package/src/node/tasks/dts/createApiExtractorConfig.ts +1 -18
- package/src/node/tasks/dts/doExtract.ts +0 -2
- package/src/node/tasks/dts/dtsWatchTask.ts +0 -2
- package/src/node/tasks/dts/extractTypes.ts +0 -5
- package/src/node/tasks/dts/getExtractMessagesConfig.ts +1 -1
package/README.md
CHANGED
|
@@ -89,7 +89,6 @@ Override or modify the value of the `exports` before it’s parsed internally.
|
|
|
89
89
|
```ts
|
|
90
90
|
{
|
|
91
91
|
rules?: {
|
|
92
|
-
'ae-forgotten-export'?: PkgRuleLevel
|
|
93
92
|
'ae-incompatible-release-tags'?: PkgRuleLevel
|
|
94
93
|
'ae-internal-missing-underscore'?: PkgRuleLevel
|
|
95
94
|
'ae-missing-release-tag'?: PkgRuleLevel
|
|
@@ -102,22 +102,15 @@ function createApiExtractorConfig(options) {
|
|
|
102
102
|
messages,
|
|
103
103
|
projectFolder,
|
|
104
104
|
mainEntryPointFilePath,
|
|
105
|
-
tsconfig,
|
|
106
105
|
tsconfigPath
|
|
107
|
-
} = options
|
|
108
|
-
|
|
109
|
-
compilerOptions: {}
|
|
110
|
-
};
|
|
111
|
-
return workaroundPaths && Object.assign(overrideTsconfig.compilerOptions, {
|
|
112
|
-
// An empty object replaces whatever is in the original tsconfig file
|
|
113
|
-
paths: {}
|
|
114
|
-
}), {
|
|
106
|
+
} = options;
|
|
107
|
+
return {
|
|
115
108
|
apiReport: {
|
|
116
109
|
enabled: !1,
|
|
117
110
|
reportFileName: "<unscopedPackageName>.api.md"
|
|
118
111
|
},
|
|
119
112
|
bundledPackages,
|
|
120
|
-
compiler:
|
|
113
|
+
compiler: { tsconfigFilePath: tsconfigPath },
|
|
121
114
|
docModel: {
|
|
122
115
|
enabled: !1,
|
|
123
116
|
apiJsonFilePath: path__default.default.resolve(distPath, `${exportPath}.api.json`)
|
|
@@ -196,7 +189,7 @@ function getExtractMessagesConfig(options) {
|
|
|
196
189
|
addToApiReportFile: !1
|
|
197
190
|
},
|
|
198
191
|
"ae-forgotten-export": {
|
|
199
|
-
logLevel: ruleToLogLevel("ae-forgotten-export", "
|
|
192
|
+
logLevel: ruleToLogLevel("ae-forgotten-export", "none"),
|
|
200
193
|
addToApiReportFile: !1
|
|
201
194
|
},
|
|
202
195
|
"ae-incompatible-release-tags": {
|
|
@@ -248,7 +241,6 @@ async function extractTypes(options) {
|
|
|
248
241
|
rules,
|
|
249
242
|
sourceTypesPath,
|
|
250
243
|
tmpPath,
|
|
251
|
-
tsconfig,
|
|
252
244
|
tsconfigPath
|
|
253
245
|
} = options, tsdocConfigFile = await createTSDocConfig({
|
|
254
246
|
customTags: customTags || []
|
|
@@ -261,7 +253,6 @@ async function extractTypes(options) {
|
|
|
261
253
|
messages: getExtractMessagesConfig({ rules }),
|
|
262
254
|
projectFolder: projectPath,
|
|
263
255
|
mainEntryPointFilePath: sourceTypesPath,
|
|
264
|
-
tsconfig,
|
|
265
256
|
tsconfigPath
|
|
266
257
|
}),
|
|
267
258
|
configObjectFullPath: void 0,
|
|
@@ -313,7 +304,6 @@ async function doExtract(ctx, task) {
|
|
|
313
304
|
), targetPaths = entry.targetPaths.map((targetPath) => path__default.default.resolve(cwd, targetPath)), filePaths = targetPaths.map((targetPath) => path__default.default.relative(outDir, targetPath)), result = await extractTypes({
|
|
314
305
|
bundledPackages: bundledPackages || [],
|
|
315
306
|
customTags: config?.extract?.customTags,
|
|
316
|
-
cwd,
|
|
317
307
|
distPath: outDir,
|
|
318
308
|
exportPath,
|
|
319
309
|
files,
|
|
@@ -321,7 +311,6 @@ async function doExtract(ctx, task) {
|
|
|
321
311
|
projectPath: cwd,
|
|
322
312
|
rules: config?.extract?.rules,
|
|
323
313
|
sourceTypesPath,
|
|
324
|
-
tsconfig: ts2.config,
|
|
325
314
|
tmpPath,
|
|
326
315
|
tsconfigPath: path__default.default.resolve(cwd, ts2.configPath || "tsconfig.json")
|
|
327
316
|
});
|
|
@@ -423,7 +412,6 @@ const dtsTask = {
|
|
|
423
412
|
const result = await extractTypes({
|
|
424
413
|
bundledPackages: bundledPackages || [],
|
|
425
414
|
customTags: config?.extract?.customTags,
|
|
426
|
-
cwd,
|
|
427
415
|
distPath: outDir,
|
|
428
416
|
exportPath,
|
|
429
417
|
files,
|
|
@@ -431,7 +419,6 @@ const dtsTask = {
|
|
|
431
419
|
projectPath: cwd,
|
|
432
420
|
rules: config?.extract?.rules,
|
|
433
421
|
sourceTypesPath,
|
|
434
|
-
tsconfig: tsContext.config,
|
|
435
422
|
tmpPath,
|
|
436
423
|
tsconfigPath: path__default.default.resolve(cwd, tsContext.configPath || "tsconfig.json")
|
|
437
424
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../src/node/printExtractMessages.ts","../../src/node/tasks/dts/printDiagnostic.ts","../../src/node/tasks/dts/buildTypes.ts","../../src/node/tasks/dts/DtsError.ts","../../src/node/tasks/dts/createApiExtractorConfig.ts","../../src/node/tasks/dts/createTSDocConfig.ts","../../src/node/tasks/dts/extractModuleBlocks.ts","../../src/node/tasks/dts/getExtractMessagesConfig.ts","../../src/node/tasks/dts/extractTypes.ts","../../src/node/tasks/dts/doExtract.ts","../../src/node/tasks/dts/dtsTask.ts","../../src/node/tasks/dts/dtsWatchTask.ts","../../src/node/tasks/rollup/resolveRollupConfig.ts","../../src/node/tasks/rollup/rollupLegacyTask.ts","../../src/node/tasks/rollup/rollupReactCompilerTask.ts","../../src/node/tasks/rollup/rollupTask.ts","../../src/node/tasks/rollup/rollupWatchTask.ts","../../src/node/tasks/index.ts"],"sourcesContent":["import path from 'node:path'\n\nimport type {ExtractorMessage} from '@microsoft/api-extractor'\nimport chalk from 'chalk'\n\nimport type {BuildContext} from './core'\n\nexport function printExtractMessages(ctx: BuildContext, messages: ExtractorMessage[]): void {\n const {cwd, logger} = ctx\n\n const warnings = messages.filter((msg) => msg.logLevel === 'warning')\n\n if (warnings.length) {\n logger.log()\n }\n\n for (const msg of warnings) {\n const sourceFilePath = msg.sourceFilePath && path.relative(cwd, msg.sourceFilePath)\n\n if (msg.messageId === 'TS6307') {\n // Ignore this warning:\n // > TS6307: <filename> is not in project file list.\n // > Projects must list all files or use an 'include' pattern.\n continue\n }\n\n logger.log(\n [\n `${chalk.cyan(sourceFilePath || '?')}`,\n `:${chalk.yellow(msg.sourceFileLine)}:${chalk.yellow(msg.sourceFileColumn)}`,\n ` - ${chalk.yellow('warning')} ${chalk.gray(msg.messageId)}\\n`,\n msg.text,\n '\\n',\n ].join(''),\n )\n }\n\n const errors: ExtractorMessage[] = messages.filter((msg) => msg.logLevel === 'error')\n\n if (!warnings.length && errors.length) {\n logger.log('')\n }\n\n for (const msg of errors) {\n const sourceFilePath = msg.sourceFilePath && path.relative(cwd, msg.sourceFilePath)\n\n logger.log(\n [\n `${chalk.cyan(sourceFilePath || '?')}`,\n `:${chalk.yellow(msg.sourceFileLine)}:${chalk.yellow(msg.sourceFileColumn)}`,\n ` - ${chalk.red('error')} ${chalk.gray(msg.messageId)}\\n`,\n msg.text,\n '\\n',\n ].join(''),\n )\n }\n\n if (errors.length) {\n process.exit(1)\n }\n}\n","import path from 'node:path'\n\nimport chalk from 'chalk'\nimport ts from 'typescript'\n\nimport type {Logger} from '../../logger'\n\nexport function printDiagnostic(options: {\n cwd: string\n logger: Logger\n diagnostic: ts.Diagnostic\n}): void {\n const {cwd, logger, diagnostic} = options\n\n if (diagnostic.file && diagnostic.start) {\n const {line, character} = ts.getLineAndCharacterOfPosition(diagnostic.file, diagnostic.start)\n const message = ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n')\n\n const file = path.relative(cwd, diagnostic.file.fileName)\n\n const output = [\n `${chalk.yellow(file)}:${chalk.blue(line + 1)}:${chalk.blue(character + 1)} - `,\n `${chalk.gray(`TS${diagnostic.code}:`)} ${message}`,\n ].join('')\n\n if (diagnostic.category === ts.DiagnosticCategory.Error) {\n logger.error(output)\n }\n\n if (diagnostic.category === ts.DiagnosticCategory.Warning) {\n logger.warn(output)\n }\n\n if (diagnostic.category === ts.DiagnosticCategory.Message) {\n logger.log(output)\n }\n\n if (diagnostic.category === ts.DiagnosticCategory.Suggestion) {\n logger.log(output)\n }\n } else {\n logger.log(ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n'))\n }\n}\n","import ts from 'typescript'\n\nimport type {Logger} from '../../logger'\nimport {printDiagnostic} from './printDiagnostic'\n\n/** @internal */\nexport async function buildTypes(options: {\n cwd: string\n logger: Logger\n outDir: string\n tsconfig: ts.ParsedCommandLine\n strict: boolean\n}): Promise<void> {\n const {cwd, logger, outDir, tsconfig, strict = false} = options\n\n const compilerOptions: ts.CompilerOptions = {\n ...tsconfig.options,\n declaration: true,\n declarationDir: outDir,\n emitDeclarationOnly: true,\n noEmit: false,\n noEmitOnError: strict ? true : (tsconfig.options.noEmitOnError ?? true),\n outDir,\n }\n\n const program = ts.createProgram(tsconfig.fileNames, compilerOptions)\n\n const emitResult = program.emit()\n\n const allDiagnostics = ts.getPreEmitDiagnostics(program).concat(emitResult.diagnostics)\n\n for (const diagnostic of allDiagnostics) {\n printDiagnostic({cwd, logger, diagnostic})\n }\n\n if (emitResult.emitSkipped) {\n const errors = allDiagnostics.filter((diag) => diag.category === ts.DiagnosticCategory.Error)\n\n if (errors.length) {\n throw new Error('failed to compile TypeScript definitions')\n }\n }\n}\n","import type {ExtractorMessage} from '@microsoft/api-extractor'\n\n/** @internal */\nexport class DtsError extends Error {\n messages: ExtractorMessage[]\n\n constructor(message: string, messages: ExtractorMessage[]) {\n super(message)\n this.messages = messages\n }\n}\n","import path from 'node:path'\n\nimport type {IConfigFile, IExtractorMessagesConfig} from '@microsoft/api-extractor'\nimport ts from 'typescript'\n\nexport function createApiExtractorConfig(options: {\n bundledPackages?: string[]\n distPath: string\n exportPath: string\n filePath: string\n messages: IExtractorMessagesConfig\n projectFolder: string\n mainEntryPointFilePath: string\n tsconfig: ts.ParsedCommandLine\n tsconfigPath: string\n}): IConfigFile {\n const {\n bundledPackages,\n distPath,\n exportPath,\n filePath,\n messages,\n projectFolder,\n mainEntryPointFilePath,\n tsconfig,\n tsconfigPath,\n } = options\n // If `paths` are used for self-referencing imports (e.g. the module is named `sanity`, and the `sanity/structure` export is also importing from `sanity/router`),\n const workaroundPaths = !!tsconfig.options.paths\n\n const overrideTsconfig = {\n extends: tsconfigPath,\n compilerOptions: {},\n }\n\n if (workaroundPaths) {\n Object.assign(overrideTsconfig.compilerOptions, {\n // An empty object replaces whatever is in the original tsconfig file\n paths: {},\n })\n }\n\n return {\n apiReport: {\n enabled: false,\n reportFileName: '<unscopedPackageName>.api.md',\n },\n bundledPackages,\n compiler: workaroundPaths ? {overrideTsconfig} : {tsconfigFilePath: tsconfigPath},\n\n docModel: {\n enabled: false,\n apiJsonFilePath: path.resolve(distPath, `${exportPath}.api.json`),\n },\n dtsRollup: {\n enabled: true,\n untrimmedFilePath: path.resolve(distPath, filePath),\n // betaTrimmedFilePath: path.resolve(distPath, filePath.replace('.d.ts', '-beta.d.ts')),\n // publicTrimmedFilePath: path.resolve(distPath, filePath.replace('.d.ts', '-public.d.ts')),\n },\n tsdocMetadata: {\n enabled: false,\n },\n messages,\n mainEntryPointFilePath,\n projectFolder,\n }\n}\n","import {readFile} from 'node:fs/promises'\n\nimport {TSDocConfigFile} from '@microsoft/tsdoc-config'\nimport {parse} from 'jsonc-parser'\n\n/** @public */\nexport interface TSDocCustomTag {\n name: string\n syntaxKind: 'block' | 'modifier'\n allowMultiple?: boolean\n}\n\n/** @internal */\nexport async function createTSDocConfig(opts: {\n customTags: TSDocCustomTag[]\n}): Promise<TSDocConfigFile | undefined> {\n const {customTags} = opts\n\n if (customTags.length === 0) {\n return undefined\n }\n\n const tsDocBaseBuf = await readFile(\n require.resolve('@microsoft/api-extractor/extends/tsdoc-base.json'),\n )\n\n // Include the definitions that are required for API Extractor\n // extends: ['@microsoft/api-extractor/extends/tsdoc-base.json'],\n const tsDocBaseConfig = parse(tsDocBaseBuf.toString())\n\n // Define custom tags and specify how they should be parsed\n const tagDefinitions = (tsDocBaseConfig.tagDefinitions || []).concat(\n customTags.map((t) => ({\n tagName: `@${t.name}`,\n syntaxKind: t.syntaxKind,\n allowMultiple: t.allowMultiple,\n })),\n )\n\n // Indicate that custom tags are supported by your tooling.\n // (Without this, warnings may be reported saying that a tag is unsupported.)\n const supportForTags = {...tsDocBaseConfig.supportForTags}\n\n for (const customTag of customTags) {\n supportForTags[`@${customTag.name}`] = true\n }\n\n return TSDocConfigFile.loadFromObject({\n ...tsDocBaseConfig,\n noStandardTags: false,\n tagDefinitions,\n supportForTags,\n })\n}\n","import type {File} from '@babel/types'\nimport type {ExtractorResult} from '@microsoft/api-extractor'\nimport {parse, print} from 'recast'\nimport typeScriptParser from 'recast/parsers/typescript.js'\nimport type {Program} from 'typescript'\n\n/**\n * A workaround to find all module blocks in extract TS files.\n * @internal\n * */\nexport async function extractModuleBlocksFromTypes({\n tsOutDir,\n extractResult,\n}: {\n tsOutDir: string\n extractResult: ExtractorResult\n}): Promise<string[]> {\n const program = extractResult.compilerState.program as Program\n const moduleBlocks: string[] = []\n\n // all program files, including node_modules\n const allProgramFiles = [...program.getSourceFiles()]\n\n // just our compiled files used in the program\n const sourceFiles = allProgramFiles.filter((sourceFile) => sourceFile.fileName.includes(tsOutDir))\n\n for (const sourceFile of sourceFiles) {\n if (sourceFile.text.includes('declare module')) {\n moduleBlocks.push(...extractModuleBlocks(sourceFile.text))\n }\n }\n\n return moduleBlocks\n}\n\n/** @internal */\nexport function extractModuleBlocks(fileContent: string): string[] {\n const ast = parse(fileContent, {\n parser: typeScriptParser,\n }) as File\n\n return ast.program.body\n .filter((node) => node.type === 'TSModuleDeclaration')\n .map((node) => print(node).code)\n}\n","import type {ExtractorLogLevel, IExtractorMessagesConfig} from '@microsoft/api-extractor'\n\nimport type {PkgConfigOptions, PkgRuleLevel} from '../../core'\n\nconst LOG_LEVELS: Record<PkgRuleLevel, ExtractorLogLevel> = {\n error: 'error' as ExtractorLogLevel.Error,\n info: 'info' as ExtractorLogLevel.Info,\n off: 'none' as ExtractorLogLevel.None,\n warn: 'warning' as ExtractorLogLevel.Warning,\n}\n\n/** @internal */\nexport function getExtractMessagesConfig(options: {\n rules: NonNullable<PkgConfigOptions['extract']>['rules']\n}): IExtractorMessagesConfig {\n const {rules} = options\n\n function ruleToLogLevel(\n key: keyof NonNullable<NonNullable<PkgConfigOptions['extract']>['rules']>,\n defaultLevel?: ExtractorLogLevel,\n ) {\n const r = rules?.[key]\n\n return (r ? LOG_LEVELS[r] : defaultLevel || 'warning') as ExtractorLogLevel\n }\n\n return {\n compilerMessageReporting: {\n default: {\n logLevel: 'warning' as ExtractorLogLevel,\n },\n },\n\n extractorMessageReporting: {\n 'default': {\n logLevel: 'warning' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n\n 'ae-forgotten-export': {\n logLevel: ruleToLogLevel('ae-forgotten-export', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-incompatible-release-tags': {\n logLevel: ruleToLogLevel('ae-incompatible-release-tags', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-internal-missing-underscore': {\n logLevel: ruleToLogLevel('ae-internal-missing-underscore'),\n addToApiReportFile: false,\n },\n\n 'ae-missing-release-tag': {\n logLevel: ruleToLogLevel('ae-missing-release-tag', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-wrong-input-file-type': {\n logLevel: 'none' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n },\n\n tsdocMessageReporting: {\n 'default': {\n logLevel: 'warning' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n\n 'tsdoc-link-tag-unescaped-text': {\n logLevel: ruleToLogLevel('tsdoc-link-tag-unescaped-text', 'warning' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'tsdoc-undefined-tag': {\n logLevel: ruleToLogLevel('tsdoc-undefined-tag', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'tsdoc-unsupported-tag': {\n logLevel: ruleToLogLevel('tsdoc-unsupported-tag', 'none' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n },\n }\n}\n","import fs from 'node:fs/promises'\nimport path from 'node:path'\n\nimport {\n Extractor,\n ExtractorConfig,\n type ExtractorMessage,\n type ExtractorResult,\n} from '@microsoft/api-extractor'\nimport {mkdirp} from 'mkdirp'\nimport prettier from 'prettier'\nimport type ts from 'typescript'\n\nimport type {BuildFile, PkgConfigOptions} from '../../core'\nimport {createApiExtractorConfig} from './createApiExtractorConfig'\nimport {createTSDocConfig} from './createTSDocConfig'\nimport {extractModuleBlocksFromTypes} from './extractModuleBlocks'\nimport {getExtractMessagesConfig} from './getExtractMessagesConfig'\n\nexport async function extractTypes(options: {\n bundledPackages?: string[]\n customTags: NonNullable<PkgConfigOptions['extract']>['customTags']\n cwd: string\n distPath: string\n exportPath: string\n filePaths: string[]\n files: BuildFile[]\n projectPath: string\n rules?: NonNullable<PkgConfigOptions['extract']>['rules']\n sourceTypesPath: string\n tmpPath: string\n tsconfig: ts.ParsedCommandLine\n tsconfigPath: string\n}): Promise<{extractorResult: ExtractorResult; messages: ExtractorMessage[]}> {\n const {\n bundledPackages,\n customTags,\n distPath,\n exportPath,\n files,\n filePaths,\n projectPath,\n rules,\n sourceTypesPath,\n tmpPath,\n tsconfig,\n tsconfigPath,\n } = options\n\n const tsdocConfigFile = await createTSDocConfig({\n customTags: customTags || [],\n })\n\n const filePath = filePaths[0].replace(/\\.d\\.[mc]ts$/, '.d.ts')\n // If there are package.config.ts `bundles` we might not have something that should leave behind a `.d.ts` file and need to handle that\n const shouldCleanUpDts = !filePaths.includes(filePath)\n const extractorConfig: ExtractorConfig = ExtractorConfig.prepare({\n configObject: createApiExtractorConfig({\n bundledPackages,\n distPath,\n exportPath,\n filePath,\n messages: getExtractMessagesConfig({rules}),\n projectFolder: projectPath,\n mainEntryPointFilePath: sourceTypesPath,\n tsconfig,\n tsconfigPath,\n }),\n configObjectFullPath: undefined,\n tsdocConfigFile,\n packageJsonFullPath: path.resolve(projectPath, 'package.json'),\n })\n\n const messages: ExtractorMessage[] = []\n\n // Invoke API Extractor\n const extractorResult = Extractor.invoke(extractorConfig, {\n // Equivalent to the \"--local\" command-line parameter\n localBuild: true,\n // Equivalent to the \"--verbose\" command-line parameter\n showVerboseMessages: true,\n // handle messages\n messageCallback(message: ExtractorMessage) {\n messages.push(message)\n message.handled = true\n },\n })\n\n const typesPath = path.resolve(distPath, filePath)\n const typesBuf = await fs.readFile(typesPath)\n const prettierConfig = await prettier.resolveConfig(typesPath)\n\n await mkdirp(path.dirname(typesPath))\n\n const moduleBlocks = await extractModuleBlocksFromTypes({\n extractResult: extractorResult,\n tsOutDir: tmpPath,\n })\n\n const code = [typesBuf.toString(), ...moduleBlocks].join('\\n\\n')\n const prettyCode = await prettier.format(code, {\n ...prettierConfig,\n filepath: typesPath,\n })\n\n for (const expFilePath of filePaths) {\n const expTypesPath = path.resolve(distPath, expFilePath)\n\n await fs.writeFile(expTypesPath, prettyCode)\n\n // Add to `files` in context\n files.push({\n type: 'types',\n path: expTypesPath,\n })\n }\n\n if (shouldCleanUpDts) {\n await fs.unlink(typesPath)\n }\n\n return {extractorResult, messages}\n}\n","import path from 'node:path'\n\nimport type {ExtractorMessage} from '@microsoft/api-extractor'\nimport rimraf from 'rimraf'\n\nimport type {BuildContext} from '../../core'\nimport {buildTypes} from './buildTypes'\nimport {DtsError} from './DtsError'\nimport {extractTypes} from './extractTypes'\nimport type {DtsResult, DtsTask, DtsWatchTask} from './types'\n\n/**\n * - Build type definitions to a temporary directory using TypeScript compiler.\n * - Create a type definition bundle for each export entry.\n * - When done, remove the temporary directory.\n */\nexport async function doExtract(\n ctx: BuildContext,\n task: DtsTask | DtsWatchTask,\n): Promise<DtsResult> {\n const {config, cwd, files, logger, strict, ts, bundledPackages} = ctx\n\n if (!ts.config || !ts.configPath) {\n return {type: 'dts', messages: [], results: []}\n }\n\n const {outDir, rootDir = cwd} = ts.config.options\n\n if (!outDir) {\n throw new Error('tsconfig.json is missing `compilerOptions.outDir`')\n }\n\n const tmpPath = path.resolve(outDir, '__tmp__')\n\n await buildTypes({cwd, logger, outDir: tmpPath, strict, tsconfig: ts.config})\n const messages: ExtractorMessage[] = []\n\n const results: {sourcePath: string; filePaths: string[]}[] = []\n\n for (const entry of task.entries) {\n const exportPath = entry.exportPath === '.' ? './index' : entry.exportPath\n\n const sourceTypesPath = path.resolve(\n tmpPath,\n path.relative(rootDir, path.resolve(cwd, entry.sourcePath)).replace(/\\.ts$/, '.d.ts'),\n )\n\n const targetPaths = entry.targetPaths.map((targetPath) => path.resolve(cwd, targetPath))\n const filePaths = targetPaths.map((targetPath) => path.relative(outDir, targetPath))\n const result = await extractTypes({\n bundledPackages: bundledPackages || [],\n customTags: config?.extract?.customTags,\n cwd,\n distPath: outDir,\n exportPath,\n files,\n filePaths,\n projectPath: cwd,\n rules: config?.extract?.rules,\n sourceTypesPath: sourceTypesPath,\n tsconfig: ts.config,\n tmpPath,\n tsconfigPath: path.resolve(cwd, ts.configPath || 'tsconfig.json'),\n })\n\n messages.push(...result.messages)\n\n const errors = result.messages.filter((msg) => msg.logLevel === 'error')\n\n if (errors.length > 0) {\n await rimraf(tmpPath)\n throw new DtsError(`encountered ${errors.length} errors when extracting types`, errors)\n }\n\n results.push({sourcePath: path.resolve(cwd, entry.sourcePath), filePaths: targetPaths})\n }\n\n await rimraf(tmpPath)\n\n return {type: 'dts', messages, results}\n}\n","import chalk from 'chalk'\nimport {Observable} from 'rxjs'\n\nimport {printExtractMessages} from '../../printExtractMessages'\nimport type {TaskHandler} from '../types'\nimport {doExtract} from './doExtract'\nimport {DtsError} from './DtsError'\nimport type {DtsResult, DtsTask} from './types'\n\n/** @internal */\nexport const dtsTask: TaskHandler<DtsTask, DtsResult> = {\n name: (_ctx, task) =>\n [\n 'Build type definitions...',\n ' entries:',\n ...task.entries.map((entry) => {\n return entry.targetPaths\n .map((targetPath) => {\n return [\n ` - ${chalk.cyan(entry.importId)}: `,\n `${chalk.yellow(entry.sourcePath)} ${chalk.gray('→')} ${chalk.yellow(targetPath)}`,\n ].join('')\n })\n .join('\\n')\n }),\n ].join('\\n'),\n exec: (ctx, task) => {\n return new Observable((observer) => {\n doExtract(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => {\n observer.error(err)\n })\n })\n },\n complete: (ctx, _task, result) => {\n printExtractMessages(ctx, result.messages)\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof DtsError) {\n printExtractMessages(ctx, err.messages)\n } else if (err instanceof Error) {\n logger.error(err)\n }\n },\n}\n","import path from 'node:path'\n\nimport type {ExtractorMessage} from '@microsoft/api-extractor'\nimport chalk from 'chalk'\nimport rimraf from 'rimraf'\nimport {Observable} from 'rxjs'\nimport ts from 'typescript'\n\nimport {printExtractMessages} from '../../printExtractMessages'\nimport type {TaskHandler} from '../types'\nimport {buildTypes} from './buildTypes'\nimport {DtsError} from './DtsError'\nimport {extractTypes} from './extractTypes'\nimport type {DtsResult, DtsWatchTask} from './types'\n\n/** @internal */\nexport const dtsWatchTask: TaskHandler<DtsWatchTask, DtsResult> = {\n name: (_ctx, task) =>\n [\n 'build type definitions',\n ...task.entries.map((entry) => {\n return entry.targetPaths.map((targetPath) => {\n return [\n ` - ${chalk.cyan(entry.importId)}: `,\n `${chalk.yellow(entry.sourcePath)} ${chalk.gray('→')} ${chalk.yellow(targetPath)}`,\n ].join('')\n })\n }),\n ].join('\\n'),\n exec: (ctx, task) => {\n const {config, cwd, files, logger, strict, ts: tsContext, bundledPackages} = ctx\n\n return new Observable((observer) => {\n if (!tsContext.config || !tsContext.configPath) {\n observer.next({type: 'dts', messages: [], results: []})\n observer.complete()\n\n return\n }\n\n const {outDir, rootDir = cwd} = tsContext.config.options\n\n if (!outDir) {\n observer.error(new Error('tsconfig.json is missing `compilerOptions.outDir`'))\n\n return\n }\n\n const tmpPath = path.resolve(outDir, '__tmp__')\n\n buildTypes({\n cwd,\n logger,\n outDir: tmpPath,\n tsconfig: tsContext.config,\n strict,\n }).catch((err) => {\n observer.error(err)\n })\n\n const host = ts.createWatchCompilerHost(\n tsContext.configPath,\n {\n ...tsContext.config.options,\n declaration: true,\n declarationDir: tmpPath,\n emitDeclarationOnly: true,\n noEmit: false,\n noEmitOnError: strict ? true : (tsContext.config.options.noEmitOnError ?? true),\n outDir: tmpPath,\n },\n ts.sys,\n ts.createEmitAndSemanticDiagnosticsBuilderProgram,\n (diagnostic) => {\n logger.error(ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n'))\n },\n (diagnostic) => {\n logger.info(ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n'))\n },\n )\n\n const origPostProgramCreate = host.afterProgramCreate\n\n host.afterProgramCreate = async (program) => {\n origPostProgramCreate?.(program)\n\n const messages: ExtractorMessage[] = []\n const results: {sourcePath: string; filePaths: string[]}[] = []\n\n for (const entry of task.entries) {\n const exportPath = entry.exportPath === '.' ? './index' : entry.exportPath\n\n const sourceTypesPath = path.resolve(\n tmpPath,\n path.relative(rootDir, path.resolve(cwd, entry.sourcePath)).replace(/\\.ts$/, '.d.ts'),\n )\n\n const targetPaths = entry.targetPaths.map((targetPath) => path.resolve(cwd, targetPath))\n const filePaths = targetPaths.map((targetPath) => path.relative(outDir, targetPath))\n\n try {\n const result = await extractTypes({\n bundledPackages: bundledPackages || [],\n customTags: config?.extract?.customTags,\n cwd,\n distPath: outDir,\n exportPath,\n files,\n filePaths,\n projectPath: cwd,\n rules: config?.extract?.rules,\n sourceTypesPath: sourceTypesPath,\n tsconfig: tsContext.config!,\n tmpPath,\n tsconfigPath: path.resolve(cwd, tsContext.configPath || 'tsconfig.json'),\n })\n\n messages.push(...result.messages)\n results.push({sourcePath: path.resolve(cwd, entry.sourcePath), filePaths: targetPaths})\n } catch (err) {\n if (err instanceof DtsError) {\n messages.push(...err.messages)\n } else {\n observer.error(err)\n\n return\n }\n }\n }\n\n observer.next({type: 'dts', messages, results})\n }\n\n const watchProgram = ts.createWatchProgram(host)\n\n return () => {\n watchProgram.close()\n rimraf.sync(tmpPath)\n }\n })\n },\n complete: (ctx, task, result) => {\n const {logger} = ctx\n\n printExtractMessages(ctx, result.messages)\n\n logger.success(\n `build type definitions\\n ${task.entries\n .map(\n (entry) =>\n ` - ${chalk.cyan(entry.importId)}: ${chalk.yellow(entry.sourcePath)} ${chalk.gray('→')} ${chalk.yellow(entry.targetPaths.join(', '))}`,\n )\n .join('\\n ')}`,\n )\n logger.log('')\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof DtsError) {\n printExtractMessages(ctx, err.messages)\n } else if (err instanceof Error) {\n logger.error(err)\n }\n },\n}\n","import path from 'node:path'\n\nimport type {PluginItem} from '@babel/core'\nimport {optimizeLodashImports} from '@optimize-lodash/rollup-plugin'\nimport alias from '@rollup/plugin-alias'\nimport {babel, getBabelOutputPlugin} from '@rollup/plugin-babel'\nimport commonjs from '@rollup/plugin-commonjs'\nimport json from '@rollup/plugin-json'\nimport {nodeResolve} from '@rollup/plugin-node-resolve'\nimport replace from '@rollup/plugin-replace'\nimport terser from '@rollup/plugin-terser'\nimport type {InputOptions, OutputOptions, Plugin} from 'rollup'\nimport esbuild from 'rollup-plugin-esbuild'\n\nimport {pkgExtMap as extMap} from '../../../node/core/pkg/pkgExt'\nimport {type BuildContext, type PackageJSON, resolveConfigProperty} from '../../core'\nimport type {RollupLegacyTask, RollupReactCompilerTask, RollupTask, RollupWatchTask} from '../types'\n\nexport interface RollupConfig {\n inputOptions: InputOptions\n outputOptions: OutputOptions\n}\n\n/** @internal */\nexport function resolveRollupConfig(\n ctx: BuildContext,\n buildTask: RollupTask | RollupLegacyTask | RollupReactCompilerTask | RollupWatchTask,\n): RollupConfig {\n const {format, runtime, target} = buildTask\n const {config, cwd, exports: _exports, external, distPath, logger, pkg, ts} = ctx\n const isLegacyExports = buildTask.type === 'build:legacy'\n const isReactCompiler = buildTask.type === 'build:react-compiler'\n const outputExt = isLegacyExports ? extMap.legacy : extMap[pkg.type || 'commonjs'][format]\n const minify = config?.minify ?? false\n const outDir = path.relative(cwd, distPath)\n\n const pathAliases = Object.fromEntries(\n Object.entries(ts.config?.options.paths || {}).map(([key, val]) => {\n return [key, path.resolve(cwd, ts.config?.options.baseUrl || '.', val[0])]\n }),\n )\n\n const entries = buildTask.entries.map((entry) => {\n return {\n ...entry,\n name: path.relative(outDir, entry.output).replace(/\\.[^/.]+$/, ''),\n }\n }, {})\n\n const exportIds =\n _exports && Object.keys(_exports).map((exportPath) => path.join(pkg.name, exportPath))\n\n const sourcePaths = _exports && Object.values(_exports).map((e) => path.resolve(cwd, e.source))\n\n const replacements = Object.fromEntries(\n Object.entries(config?.define || {}).map(([key, val]) => [key, JSON.stringify(val)]),\n )\n\n const {optimizeLodash: enableOptimizeLodash = hasDependency(pkg, 'lodash')} = config?.rollup || {}\n\n const defaultPlugins = [\n replace({\n preventAssignment: true,\n values: {\n ...(pkg.name === '@sanity/pkg-utils'\n ? {...replacements}\n : {\n 'process.env.PKG_FILE_PATH': (arg) => {\n const sourcePath = `./${path.relative(cwd, arg)}`\n const entry = entries.find((e) => e.source === sourcePath)\n\n if (!entry) {\n // eslint-disable-next-line no-console\n console.error(`could not find source entry: ${sourcePath}`)\n\n return 'null'\n }\n\n return JSON.stringify(\n path.relative(cwd, path.resolve(outDir, entry.name + outputExt)),\n )\n },\n 'process.env.PKG_FORMAT': JSON.stringify(format),\n 'process.env.PKG_RUNTIME': JSON.stringify(runtime),\n 'process.env.PKG_VERSION': JSON.stringify(process.env['PKG_VERSION'] || pkg.version),\n ...replacements,\n }),\n },\n }),\n alias({\n entries: {...pathAliases},\n }),\n nodeResolve({\n browser: runtime === 'browser',\n extensions: ['.cjs', '.mjs', '.js', '.jsx', '.json', '.node'],\n preferBuiltins: true,\n }),\n commonjs(),\n json(),\n (isReactCompiler || config?.babel?.reactCompiler || config?.babel?.styledComponents) &&\n babel({\n babelrc: false,\n presets: ['@babel/preset-typescript'],\n babelHelpers: 'bundled',\n extensions: ['.ts', '.tsx', '.js', '.jsx'],\n plugins: [\n // The styled-components plugin needs to run before the react-compiler plugin, in case the css prop is used\n config?.babel?.styledComponents && [\n 'babel-plugin-styled-components',\n {\n // Unnecessary, as the way we use styled-components in Sanity is usually by wrapping `@sanity/ui` primitives, not declaring new ones like \"const Button = styled.button``\"\n fileName: false,\n // Native template literals take less space than this transpilation\n transpileTemplateLiterals: false,\n // Massively helps dead code elimination and tree-shaking\n pure: true,\n // disabled, as pkg-utils tends to be used for npm publishing, while other tooling, like `sanity dev`, `next dev`, etc are used for testing\n cssProp: false,\n ...(typeof config.babel.styledComponents === 'object'\n ? config.babel.styledComponents\n : {}),\n },\n ],\n (isReactCompiler || config?.babel?.reactCompiler) && [\n 'babel-plugin-react-compiler',\n config?.reactCompilerOptions || {},\n ],\n ].filter(Boolean) as PluginItem[],\n }),\n esbuild({\n jsx: config?.jsx ?? 'automatic',\n jsxFactory: config?.jsxFactory ?? 'createElement',\n jsxFragment: config?.jsxFragment ?? 'Fragment',\n jsxImportSource: config?.jsxImportSource ?? 'react',\n target,\n tsconfig: ctx.ts.configPath || 'tsconfig.json',\n treeShaking: true,\n minifySyntax: config?.minify !== false,\n supported: {\n 'template-literal': true,\n },\n }),\n Array.isArray(config?.babel?.plugins) &&\n getBabelOutputPlugin({\n babelrc: false,\n plugins: config.babel.plugins,\n }),\n enableOptimizeLodash &&\n optimizeLodashImports({\n useLodashEs: format === 'esm' && hasDependency(pkg, 'lodash-es') ? true : undefined,\n ...(typeof config?.rollup?.optimizeLodash === 'boolean'\n ? {}\n : config?.rollup?.optimizeLodash),\n }),\n minify &&\n terser({\n compress: {directives: false, passes: 10},\n ecma: 2020,\n output: {\n comments: (_node, comment) => {\n const text = comment.value\n const cType = comment.type\n\n // Check if this is a multiline comment\n if (cType === 'comment2') {\n // Keep licensing comments\n return /@preserve|@license|@cc_on/i.test(text)\n }\n\n return false\n },\n preserve_annotations: true,\n },\n }),\n ].filter(Boolean) as Plugin[]\n\n const userPlugins = config?.rollup?.plugins\n\n const plugins = Array.isArray(userPlugins)\n ? defaultPlugins.concat(userPlugins)\n : resolveConfigProperty(config?.rollup?.plugins, defaultPlugins)\n\n const hashChunkFileNames = config?.rollup?.hashChunkFileNames ?? false\n const chunksFolder = isReactCompiler\n ? '_compiled'\n : isLegacyExports\n ? '_legacy'\n : hashChunkFileNames\n ? '_chunks'\n : '_chunks-[format]'\n const chunkFileNames = `${chunksFolder}/${hashChunkFileNames ? '[name]-[hash]' : '[name]'}${outputExt}`\n const entryFileNames = isLegacyExports ? '[name].js' : `[name]${outputExt}`\n\n return {\n inputOptions: {\n context: cwd,\n\n external: (id, importer) => {\n // Check if the id is a self-referencing import\n if (exportIds?.includes(id)) {\n return true\n }\n\n // Check if the id is a file path that points to an exported source file\n if (importer && (id.startsWith('.') || id.startsWith('/'))) {\n const idPath = path.resolve(path.dirname(importer), id)\n\n if (sourcePaths?.includes(idPath)) {\n logger.warn(\n `detected self-referencing import – treating as external: ${path.relative(\n cwd,\n idPath,\n )}`,\n )\n\n return true\n }\n }\n\n const idParts = id.split('/')\n\n const name = idParts[0].startsWith('@') ? `${idParts[0]}/${idParts[1]}` : idParts[0]\n\n if (name && external.includes(name)) {\n return true\n }\n\n return false\n },\n\n input: entries.reduce<{[entryAlias: string]: string}>((acc, entry) => {\n return {...acc, [entry.name]: entry.source}\n }, {}),\n\n watch: {\n chokidar: {\n usePolling: true,\n },\n },\n\n plugins,\n\n treeshake: {\n preset: 'recommended',\n propertyReadSideEffects: false,\n moduleSideEffects: 'no-external',\n ...config?.rollup?.treeshake,\n },\n experimentalLogSideEffects: config?.rollup?.experimentalLogSideEffects,\n },\n outputOptions: {\n chunkFileNames,\n compact: minify,\n dir: outDir,\n entryFileNames,\n esModule: true,\n format,\n interop: 'compat',\n sourcemap: config?.sourcemap ?? true,\n hoistTransitiveImports: false,\n minifyInternalExports: minify,\n ...config?.rollup?.output,\n },\n }\n}\n\nfunction hasDependency(pkg: PackageJSON, packageName: string): boolean {\n return pkg.dependencies\n ? packageName in pkg.dependencies\n : pkg.peerDependencies\n ? packageName in pkg.peerDependencies\n : false\n}\n","import path from 'node:path'\n\nimport chalk from 'chalk'\nimport {rollup} from 'rollup'\nimport {Observable} from 'rxjs'\n\nimport {createConsoleSpy} from '../../consoleSpy'\nimport type {BuildContext} from '../../core'\nimport type {RollupLegacyTask, TaskHandler} from '../types'\nimport {resolveRollupConfig} from './resolveRollupConfig'\n\n/** @internal */\nexport const rollupLegacyTask: TaskHandler<RollupLegacyTask> = {\n name: (ctx, task) => {\n const entries = task.entries.filter((e) => !e.path.includes('__$$bundle_'))\n\n const targetLines = task.target.length\n ? [' target:', ...task.target.map((t) => ` - ${chalk.yellow(t)}`)]\n : []\n\n const entriesLines = entries.length\n ? [\n ' entries:',\n ...entries.map((e) =>\n [\n ' - ',\n `${chalk.cyan(path.join(ctx.pkg.name, e.path))}: `,\n `${chalk.yellow(e.source)} ${chalk.gray('→')} ${chalk.yellow(e.output)}`,\n ].join(''),\n ),\n ]\n : []\n\n // @TODO list out the root level files that are generated\n\n return [\n 'Build legacy exports...',\n ` format: ${chalk.yellow(task.format)}`,\n ...targetLines,\n ...entriesLines,\n ].join('\\n')\n },\n exec: (ctx, task) => {\n return new Observable((observer) => {\n execPromise(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => observer.error(err))\n })\n },\n complete: () => {\n //\n },\n error: (_ctx, _task, err) => {\n // eslint-disable-next-line no-console\n console.error(err)\n },\n}\n\nasync function execPromise(ctx: BuildContext, task: RollupLegacyTask) {\n const {distPath, files, logger} = ctx\n const outDir = path.relative(ctx.cwd, distPath)\n\n // Prevent rollup from printing directly to the console\n const consoleSpy = createConsoleSpy({\n onRestored: (messages) => {\n for (const msg of messages) {\n const text = String(msg.args[0])\n\n if (msg.code === 'CIRCULAR_DEPENDENCY') {\n continue // ignore\n }\n\n if (text.startsWith('Dynamic import can only')) {\n continue // ignore\n }\n\n if (text.startsWith('Sourcemap is likely to be incorrect')) {\n continue // ignore\n }\n\n if (msg.type === 'log') {\n logger.info(...msg.args)\n }\n\n if (msg.type === 'warn') {\n logger.warn(...msg.args)\n }\n\n if (msg.type === 'error') {\n logger.error(...msg.args)\n }\n }\n },\n })\n\n try {\n const {inputOptions, outputOptions} = resolveRollupConfig(ctx, task)\n\n // Create bundle\n const bundle = await rollup({\n ...inputOptions,\n onwarn(warning) {\n consoleSpy.messages.push({\n type: 'warn',\n code: warning.code,\n args: [warning.message],\n })\n },\n })\n\n // generate output specific code in-memory\n // you can call this function multiple times on the same bundle object\n const {output} = await bundle.generate(outputOptions)\n\n for (const chunkOrAsset of output) {\n if (chunkOrAsset.type === 'asset') {\n files.push({\n type: 'asset',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n } else {\n files.push({\n type: 'chunk',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n }\n }\n\n // or write the bundle to disk\n await bundle.write(outputOptions)\n\n // closes the bundle\n await bundle.close()\n\n // Restore console\n consoleSpy.restore()\n } catch (err) {\n // Restore console\n consoleSpy.restore()\n throw err\n }\n}\n","import path from 'node:path'\n\nimport chalk from 'chalk'\nimport {rollup} from 'rollup'\nimport {Observable} from 'rxjs'\n\nimport {createConsoleSpy} from '../../consoleSpy'\nimport type {BuildContext} from '../../core'\nimport type {RollupReactCompilerTask, TaskHandler} from '../types'\nimport {resolveRollupConfig} from './resolveRollupConfig'\n\n/** @internal */\nexport const rollupReactCompilerTask: TaskHandler<RollupReactCompilerTask> = {\n name: (ctx, task) => {\n const entries = task.entries.filter((e) => !e.path.includes('__$$bundle_'))\n\n const targetLines = task.target.length\n ? [' target:', ...task.target.map((t) => ` - ${chalk.yellow(t)}`)]\n : []\n\n const entriesLines = entries.length\n ? [\n ' entries:',\n ...entries.map((e) =>\n [\n ' - ',\n `${chalk.cyan(path.join(ctx.pkg.name, e.path))}: `,\n `${chalk.yellow(e.source)} ${chalk.gray('→')} ${chalk.yellow(e.output)}`,\n ].join(''),\n ),\n ]\n : []\n\n // @TODO list out the root level files that are generated\n\n return ['Build react compiler exports...', ...targetLines, ...entriesLines].join('\\n')\n },\n exec: (ctx, task) => {\n return new Observable((observer) => {\n execPromise(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => observer.error(err))\n })\n },\n complete: () => {\n //\n },\n error: (_ctx, _task, err) => {\n // eslint-disable-next-line no-console\n console.error(err)\n },\n}\n\nasync function execPromise(ctx: BuildContext, task: RollupReactCompilerTask) {\n const {distPath, files, logger} = ctx\n const outDir = path.relative(ctx.cwd, distPath)\n\n // Prevent rollup from printing directly to the console\n const consoleSpy = createConsoleSpy({\n onRestored: (messages) => {\n for (const msg of messages) {\n const text = String(msg.args[0])\n\n if (msg.code === 'CIRCULAR_DEPENDENCY') {\n continue // ignore\n }\n\n if (text.startsWith('Dynamic import can only')) {\n continue // ignore\n }\n\n if (text.startsWith('Sourcemap is likely to be incorrect')) {\n continue // ignore\n }\n\n if (msg.type === 'log') {\n logger.info(...msg.args)\n }\n\n if (msg.type === 'warn') {\n logger.warn(...msg.args)\n }\n\n if (msg.type === 'error') {\n logger.error(...msg.args)\n }\n }\n },\n })\n\n try {\n const {inputOptions, outputOptions} = resolveRollupConfig(ctx, task)\n\n // Create bundle\n const bundle = await rollup({\n ...inputOptions,\n onwarn(warning) {\n consoleSpy.messages.push({\n type: 'warn',\n code: warning.code,\n args: [warning.message],\n })\n },\n })\n\n // generate output specific code in-memory\n // you can call this function multiple times on the same bundle object\n const {output} = await bundle.generate(outputOptions)\n\n for (const chunkOrAsset of output) {\n if (chunkOrAsset.type === 'asset') {\n files.push({\n type: 'asset',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n } else {\n files.push({\n type: 'chunk',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n }\n }\n\n // or write the bundle to disk\n await bundle.write(outputOptions)\n\n // closes the bundle\n await bundle.close()\n\n // Restore console\n consoleSpy.restore()\n } catch (err) {\n // Restore console\n consoleSpy.restore()\n throw err\n }\n}\n","import path from 'node:path'\n\nimport chalk from 'chalk'\nimport {rollup} from 'rollup'\nimport {Observable} from 'rxjs'\n\nimport {createConsoleSpy} from '../../consoleSpy'\nimport type {BuildContext} from '../../core'\nimport type {RollupTask, TaskHandler} from '../types'\nimport {resolveRollupConfig} from './resolveRollupConfig'\n\n/** @internal */\nexport const rollupTask: TaskHandler<RollupTask> = {\n name: (ctx, task) => {\n const bundleEntries = task.entries.filter((e) => e.path.includes('__$$bundle_'))\n const entries = task.entries.filter((e) => !e.path.includes('__$$bundle_'))\n\n const targetLines = task.target.length\n ? [` target:`, ...task.target.map((t) => ` - ${chalk.yellow(t)}`)]\n : []\n\n const bundlesLines = bundleEntries.length\n ? [\n ' bundles:',\n ...bundleEntries.map((e) =>\n [\n ` - `,\n `${chalk.yellow(e.source)} ${chalk.gray('→')} ${chalk.yellow(e.output)}`,\n ].join(''),\n ),\n ]\n : []\n\n const entriesLines = entries.length\n ? [\n ' entries:',\n ...entries.map((e) =>\n [\n ` - `,\n `${chalk.cyan(path.join(ctx.pkg.name, e.path))}: `,\n `${chalk.yellow(e.source)} ${chalk.gray('→')} ${chalk.yellow(e.output)}`,\n ].join(''),\n ),\n ]\n : []\n\n return [\n `Build javascript files...`,\n ` format: ${chalk.yellow(task.format)}`,\n ...targetLines,\n ...bundlesLines,\n ...entriesLines,\n ].join('\\n')\n },\n exec: (ctx, task) => {\n return new Observable((observer) => {\n execPromise(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => observer.error(err))\n })\n },\n complete: () => {\n //\n },\n error: (_ctx, _task, err) => {\n // eslint-disable-next-line no-console\n console.error(err)\n },\n}\n\nasync function execPromise(ctx: BuildContext, task: RollupTask) {\n const {distPath, files, logger} = ctx\n const outDir = path.relative(ctx.cwd, distPath)\n\n // Prevent rollup from printing directly to the console\n const consoleSpy = createConsoleSpy({\n onRestored: (messages) => {\n for (const msg of messages) {\n const text = String(msg.args[0])\n\n if (msg.code === 'CIRCULAR_DEPENDENCY') {\n continue // ignore\n }\n\n if (text.startsWith('Dynamic import can only')) {\n continue // ignore\n }\n\n if (text.startsWith('Sourcemap is likely to be incorrect')) {\n continue // ignore\n }\n\n if (msg.type === 'log') {\n logger.info(...msg.args)\n }\n\n if (msg.type === 'warn') {\n logger.warn(...msg.args)\n }\n\n if (msg.type === 'error') {\n logger.error(...msg.args)\n }\n }\n },\n })\n\n try {\n const {inputOptions, outputOptions} = resolveRollupConfig(ctx, task)\n\n // Create bundle\n const bundle = await rollup({\n ...inputOptions,\n onwarn(warning) {\n consoleSpy.messages.push({\n type: 'warn',\n code: warning.code,\n args: [warning.message],\n })\n },\n })\n\n // generate output specific code in-memory\n // you can call this function multiple times on the same bundle object\n const {output} = await bundle.generate(outputOptions)\n\n for (const chunkOrAsset of output) {\n if (chunkOrAsset.type === 'asset') {\n files.push({\n type: 'asset',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n } else {\n files.push({\n type: 'chunk',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n }\n }\n\n // or write the bundle to disk\n await bundle.write(outputOptions)\n\n // closes the bundle\n await bundle.close()\n\n // Restore console\n consoleSpy.restore()\n } catch (err) {\n // Restore console\n consoleSpy.restore()\n throw err\n }\n}\n","import path from 'node:path'\n\nimport chalk from 'chalk'\nimport {type RollupWatcherEvent, type RollupWatchOptions, watch as rollupWatch} from 'rollup'\nimport {Observable} from 'rxjs'\n\nimport type {RollupWatchTask, TaskHandler} from '../types'\nimport {resolveRollupConfig} from './resolveRollupConfig'\n\n/** @internal */\nexport const rollupWatchTask: TaskHandler<RollupWatchTask, RollupWatcherEvent> = {\n name: (ctx, task) =>\n `build javascript files (target ${task.target.join(' + ')}, format ${\n task.format\n })\\n ${task.entries\n .map((e) => `${chalk.blue(path.join(ctx.pkg.name, e.path))}: ${e.source} -> ${e.output}`)\n .join('\\n ')}`,\n exec: (ctx, task) => {\n const {inputOptions, outputOptions} = resolveRollupConfig(ctx, task)\n\n return new Observable((observer) => {\n const watchOptions: RollupWatchOptions = {\n ...inputOptions,\n output: outputOptions,\n }\n\n const watcher = rollupWatch(watchOptions)\n\n watcher.on('event', (event) => {\n observer.next(event)\n })\n\n return () => {\n watcher.close()\n }\n })\n },\n complete: (ctx, task, event) => {\n const {logger} = ctx\n\n if (event.code === 'BUNDLE_END') {\n logger.success(\n `build javascript files (target ${task.target.join(' + ')}, format ${\n task.format\n })\\n ${task.entries\n .map((e) => `${chalk.blue(path.join(ctx.pkg.name, e.path))}: ${e.source} -> ${e.output}`)\n .join('\\n ')}`,\n )\n logger.log('')\n\n return\n }\n\n if (event.code === 'BUNDLE_START') {\n return\n }\n\n if (event.code === 'END') {\n return\n }\n\n if (event.code === 'ERROR') {\n logger.error(event.code, event)\n\n return\n }\n\n if (event.code === 'START') {\n return\n }\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof Error) {\n logger.log(err)\n }\n },\n}\n","import {dtsTask, dtsWatchTask} from './dts'\nimport {rollupLegacyTask, rollupReactCompilerTask, rollupTask, rollupWatchTask} from './rollup'\nimport type {BuildTaskHandlers, WatchTaskHandlers} from './types'\n\nexport * from './dts'\nexport * from './rollup'\nexport * from './types'\n\n/** @internal */\nexport const buildTaskHandlers: BuildTaskHandlers = {\n 'build:dts': dtsTask,\n 'build:js': rollupTask,\n 'build:legacy': rollupLegacyTask,\n 'build:react-compiler': rollupReactCompilerTask,\n}\n\n/** @internal */\nexport const watchTaskHandlers: WatchTaskHandlers = {\n 'watch:dts': dtsWatchTask,\n 'watch:js': rollupWatchTask,\n}\n"],"names":["path","chalk","ts","readFile","parse","TSDocConfigFile","typeScriptParser","print","ExtractorConfig","Extractor","fs","prettier","mkdirp","rimraf","Observable","extMap","replace","alias","nodeResolve","commonjs","json","babel","esbuild","getBabelOutputPlugin","optimizeLodashImports","terser","resolveConfigProperty","execPromise","consoleSpy","createConsoleSpy","rollup","rollupWatch"],"mappings":"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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'\n\nexport function createApiExtractorConfig(options: {\n bundledPackages?: string[]\n distPath: string\n exportPath: string\n filePath: string\n messages: IExtractorMessagesConfig\n projectFolder: string\n mainEntryPointFilePath: string\n tsconfigPath: string\n}): IConfigFile {\n const {\n bundledPackages,\n distPath,\n exportPath,\n filePath,\n messages,\n projectFolder,\n mainEntryPointFilePath,\n tsconfigPath,\n } = options\n\n return {\n apiReport: {\n enabled: false,\n reportFileName: '<unscopedPackageName>.api.md',\n },\n bundledPackages,\n compiler: {tsconfigFilePath: tsconfigPath},\n\n docModel: {\n enabled: false,\n apiJsonFilePath: path.resolve(distPath, `${exportPath}.api.json`),\n },\n dtsRollup: {\n enabled: true,\n untrimmedFilePath: path.resolve(distPath, filePath),\n // betaTrimmedFilePath: path.resolve(distPath, filePath.replace('.d.ts', '-beta.d.ts')),\n // publicTrimmedFilePath: path.resolve(distPath, filePath.replace('.d.ts', '-public.d.ts')),\n },\n tsdocMetadata: {\n enabled: false,\n },\n messages,\n mainEntryPointFilePath,\n projectFolder,\n }\n}\n","import {readFile} from 'node:fs/promises'\n\nimport {TSDocConfigFile} from '@microsoft/tsdoc-config'\nimport {parse} from 'jsonc-parser'\n\n/** @public */\nexport interface TSDocCustomTag {\n name: string\n syntaxKind: 'block' | 'modifier'\n allowMultiple?: boolean\n}\n\n/** @internal */\nexport async function createTSDocConfig(opts: {\n customTags: TSDocCustomTag[]\n}): Promise<TSDocConfigFile | undefined> {\n const {customTags} = opts\n\n if (customTags.length === 0) {\n return undefined\n }\n\n const tsDocBaseBuf = await readFile(\n require.resolve('@microsoft/api-extractor/extends/tsdoc-base.json'),\n )\n\n // Include the definitions that are required for API Extractor\n // extends: ['@microsoft/api-extractor/extends/tsdoc-base.json'],\n const tsDocBaseConfig = parse(tsDocBaseBuf.toString())\n\n // Define custom tags and specify how they should be parsed\n const tagDefinitions = (tsDocBaseConfig.tagDefinitions || []).concat(\n customTags.map((t) => ({\n tagName: `@${t.name}`,\n syntaxKind: t.syntaxKind,\n allowMultiple: t.allowMultiple,\n })),\n )\n\n // Indicate that custom tags are supported by your tooling.\n // (Without this, warnings may be reported saying that a tag is unsupported.)\n const supportForTags = {...tsDocBaseConfig.supportForTags}\n\n for (const customTag of customTags) {\n supportForTags[`@${customTag.name}`] = true\n }\n\n return TSDocConfigFile.loadFromObject({\n ...tsDocBaseConfig,\n noStandardTags: false,\n tagDefinitions,\n supportForTags,\n })\n}\n","import type {File} from '@babel/types'\nimport type {ExtractorResult} from '@microsoft/api-extractor'\nimport {parse, print} from 'recast'\nimport typeScriptParser from 'recast/parsers/typescript.js'\nimport type {Program} from 'typescript'\n\n/**\n * A workaround to find all module blocks in extract TS files.\n * @internal\n * */\nexport async function extractModuleBlocksFromTypes({\n tsOutDir,\n extractResult,\n}: {\n tsOutDir: string\n extractResult: ExtractorResult\n}): Promise<string[]> {\n const program = extractResult.compilerState.program as Program\n const moduleBlocks: string[] = []\n\n // all program files, including node_modules\n const allProgramFiles = [...program.getSourceFiles()]\n\n // just our compiled files used in the program\n const sourceFiles = allProgramFiles.filter((sourceFile) => sourceFile.fileName.includes(tsOutDir))\n\n for (const sourceFile of sourceFiles) {\n if (sourceFile.text.includes('declare module')) {\n moduleBlocks.push(...extractModuleBlocks(sourceFile.text))\n }\n }\n\n return moduleBlocks\n}\n\n/** @internal */\nexport function extractModuleBlocks(fileContent: string): string[] {\n const ast = parse(fileContent, {\n parser: typeScriptParser,\n }) as File\n\n return ast.program.body\n .filter((node) => node.type === 'TSModuleDeclaration')\n .map((node) => print(node).code)\n}\n","import type {ExtractorLogLevel, IExtractorMessagesConfig} from '@microsoft/api-extractor'\n\nimport type {PkgConfigOptions, PkgRuleLevel} from '../../core'\n\nconst LOG_LEVELS: Record<PkgRuleLevel, ExtractorLogLevel> = {\n error: 'error' as ExtractorLogLevel.Error,\n info: 'info' as ExtractorLogLevel.Info,\n off: 'none' as ExtractorLogLevel.None,\n warn: 'warning' as ExtractorLogLevel.Warning,\n}\n\n/** @internal */\nexport function getExtractMessagesConfig(options: {\n rules: NonNullable<PkgConfigOptions['extract']>['rules']\n}): IExtractorMessagesConfig {\n const {rules} = options\n\n function ruleToLogLevel(\n key: keyof NonNullable<NonNullable<PkgConfigOptions['extract']>['rules']>,\n defaultLevel?: ExtractorLogLevel,\n ) {\n const r = rules?.[key]\n\n return (r ? LOG_LEVELS[r] : defaultLevel || 'warning') as ExtractorLogLevel\n }\n\n return {\n compilerMessageReporting: {\n default: {\n logLevel: 'warning' as ExtractorLogLevel,\n },\n },\n\n extractorMessageReporting: {\n 'default': {\n logLevel: 'warning' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n\n 'ae-forgotten-export': {\n logLevel: ruleToLogLevel('ae-forgotten-export', 'none' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-incompatible-release-tags': {\n logLevel: ruleToLogLevel('ae-incompatible-release-tags', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-internal-missing-underscore': {\n logLevel: ruleToLogLevel('ae-internal-missing-underscore'),\n addToApiReportFile: false,\n },\n\n 'ae-missing-release-tag': {\n logLevel: ruleToLogLevel('ae-missing-release-tag', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-wrong-input-file-type': {\n logLevel: 'none' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n },\n\n tsdocMessageReporting: {\n 'default': {\n logLevel: 'warning' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n\n 'tsdoc-link-tag-unescaped-text': {\n logLevel: ruleToLogLevel('tsdoc-link-tag-unescaped-text', 'warning' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'tsdoc-undefined-tag': {\n logLevel: ruleToLogLevel('tsdoc-undefined-tag', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'tsdoc-unsupported-tag': {\n logLevel: ruleToLogLevel('tsdoc-unsupported-tag', 'none' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n },\n }\n}\n","import fs from 'node:fs/promises'\nimport path from 'node:path'\n\nimport {\n Extractor,\n ExtractorConfig,\n type ExtractorMessage,\n type ExtractorResult,\n} from '@microsoft/api-extractor'\nimport {mkdirp} from 'mkdirp'\nimport prettier from 'prettier'\n\nimport type {BuildFile, PkgConfigOptions} from '../../core'\nimport {createApiExtractorConfig} from './createApiExtractorConfig'\nimport {createTSDocConfig} from './createTSDocConfig'\nimport {extractModuleBlocksFromTypes} from './extractModuleBlocks'\nimport {getExtractMessagesConfig} from './getExtractMessagesConfig'\n\nexport async function extractTypes(options: {\n bundledPackages?: string[]\n customTags: NonNullable<PkgConfigOptions['extract']>['customTags']\n distPath: string\n exportPath: string\n filePaths: string[]\n files: BuildFile[]\n projectPath: string\n rules?: NonNullable<PkgConfigOptions['extract']>['rules']\n sourceTypesPath: string\n tmpPath: string\n tsconfigPath: string\n}): Promise<{extractorResult: ExtractorResult; messages: ExtractorMessage[]}> {\n const {\n bundledPackages,\n customTags,\n distPath,\n exportPath,\n files,\n filePaths,\n projectPath,\n rules,\n sourceTypesPath,\n tmpPath,\n tsconfigPath,\n } = options\n\n const tsdocConfigFile = await createTSDocConfig({\n customTags: customTags || [],\n })\n\n const filePath = filePaths[0].replace(/\\.d\\.[mc]ts$/, '.d.ts')\n // If there are package.config.ts `bundles` we might not have something that should leave behind a `.d.ts` file and need to handle that\n const shouldCleanUpDts = !filePaths.includes(filePath)\n const extractorConfig: ExtractorConfig = ExtractorConfig.prepare({\n configObject: createApiExtractorConfig({\n bundledPackages,\n distPath,\n exportPath,\n filePath,\n messages: getExtractMessagesConfig({rules}),\n projectFolder: projectPath,\n mainEntryPointFilePath: sourceTypesPath,\n tsconfigPath,\n }),\n configObjectFullPath: undefined,\n tsdocConfigFile,\n packageJsonFullPath: path.resolve(projectPath, 'package.json'),\n })\n\n const messages: ExtractorMessage[] = []\n\n // Invoke API Extractor\n const extractorResult = Extractor.invoke(extractorConfig, {\n // Equivalent to the \"--local\" command-line parameter\n localBuild: true,\n // Equivalent to the \"--verbose\" command-line parameter\n showVerboseMessages: true,\n // handle messages\n messageCallback(message: ExtractorMessage) {\n messages.push(message)\n message.handled = true\n },\n })\n\n const typesPath = path.resolve(distPath, filePath)\n const typesBuf = await fs.readFile(typesPath)\n const prettierConfig = await prettier.resolveConfig(typesPath)\n\n await mkdirp(path.dirname(typesPath))\n\n const moduleBlocks = await extractModuleBlocksFromTypes({\n extractResult: extractorResult,\n tsOutDir: tmpPath,\n })\n\n const code = [typesBuf.toString(), ...moduleBlocks].join('\\n\\n')\n const prettyCode = await prettier.format(code, {\n ...prettierConfig,\n filepath: typesPath,\n })\n\n for (const expFilePath of filePaths) {\n const expTypesPath = path.resolve(distPath, expFilePath)\n\n await fs.writeFile(expTypesPath, prettyCode)\n\n // Add to `files` in context\n files.push({\n type: 'types',\n path: expTypesPath,\n })\n }\n\n if (shouldCleanUpDts) {\n await fs.unlink(typesPath)\n }\n\n return {extractorResult, messages}\n}\n","import path from 'node:path'\n\nimport type {ExtractorMessage} from '@microsoft/api-extractor'\nimport rimraf from 'rimraf'\n\nimport type {BuildContext} from '../../core'\nimport {buildTypes} from './buildTypes'\nimport {DtsError} from './DtsError'\nimport {extractTypes} from './extractTypes'\nimport type {DtsResult, DtsTask, DtsWatchTask} from './types'\n\n/**\n * - Build type definitions to a temporary directory using TypeScript compiler.\n * - Create a type definition bundle for each export entry.\n * - When done, remove the temporary directory.\n */\nexport async function doExtract(\n ctx: BuildContext,\n task: DtsTask | DtsWatchTask,\n): Promise<DtsResult> {\n const {config, cwd, files, logger, strict, ts, bundledPackages} = ctx\n\n if (!ts.config || !ts.configPath) {\n return {type: 'dts', messages: [], results: []}\n }\n\n const {outDir, rootDir = cwd} = ts.config.options\n\n if (!outDir) {\n throw new Error('tsconfig.json is missing `compilerOptions.outDir`')\n }\n\n const tmpPath = path.resolve(outDir, '__tmp__')\n\n await buildTypes({cwd, logger, outDir: tmpPath, strict, tsconfig: ts.config})\n const messages: ExtractorMessage[] = []\n\n const results: {sourcePath: string; filePaths: string[]}[] = []\n\n for (const entry of task.entries) {\n const exportPath = entry.exportPath === '.' ? './index' : entry.exportPath\n\n const sourceTypesPath = path.resolve(\n tmpPath,\n path.relative(rootDir, path.resolve(cwd, entry.sourcePath)).replace(/\\.ts$/, '.d.ts'),\n )\n\n const targetPaths = entry.targetPaths.map((targetPath) => path.resolve(cwd, targetPath))\n const filePaths = targetPaths.map((targetPath) => path.relative(outDir, targetPath))\n const result = await extractTypes({\n bundledPackages: bundledPackages || [],\n customTags: config?.extract?.customTags,\n distPath: outDir,\n exportPath,\n files,\n filePaths,\n projectPath: cwd,\n rules: config?.extract?.rules,\n sourceTypesPath: sourceTypesPath,\n tmpPath,\n tsconfigPath: path.resolve(cwd, ts.configPath || 'tsconfig.json'),\n })\n\n messages.push(...result.messages)\n\n const errors = result.messages.filter((msg) => msg.logLevel === 'error')\n\n if (errors.length > 0) {\n await rimraf(tmpPath)\n throw new DtsError(`encountered ${errors.length} errors when extracting types`, errors)\n }\n\n results.push({sourcePath: path.resolve(cwd, entry.sourcePath), filePaths: targetPaths})\n }\n\n await rimraf(tmpPath)\n\n return {type: 'dts', messages, results}\n}\n","import chalk from 'chalk'\nimport {Observable} from 'rxjs'\n\nimport {printExtractMessages} from '../../printExtractMessages'\nimport type {TaskHandler} from '../types'\nimport {doExtract} from './doExtract'\nimport {DtsError} from './DtsError'\nimport type {DtsResult, DtsTask} from './types'\n\n/** @internal */\nexport const dtsTask: TaskHandler<DtsTask, DtsResult> = {\n name: (_ctx, task) =>\n [\n 'Build type definitions...',\n ' entries:',\n ...task.entries.map((entry) => {\n return entry.targetPaths\n .map((targetPath) => {\n return [\n ` - ${chalk.cyan(entry.importId)}: `,\n `${chalk.yellow(entry.sourcePath)} ${chalk.gray('→')} ${chalk.yellow(targetPath)}`,\n ].join('')\n })\n .join('\\n')\n }),\n ].join('\\n'),\n exec: (ctx, task) => {\n return new Observable((observer) => {\n doExtract(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => {\n observer.error(err)\n })\n })\n },\n complete: (ctx, _task, result) => {\n printExtractMessages(ctx, result.messages)\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof DtsError) {\n printExtractMessages(ctx, err.messages)\n } else if (err instanceof Error) {\n logger.error(err)\n }\n },\n}\n","import path from 'node:path'\n\nimport type {ExtractorMessage} from '@microsoft/api-extractor'\nimport chalk from 'chalk'\nimport rimraf from 'rimraf'\nimport {Observable} from 'rxjs'\nimport ts from 'typescript'\n\nimport {printExtractMessages} from '../../printExtractMessages'\nimport type {TaskHandler} from '../types'\nimport {buildTypes} from './buildTypes'\nimport {DtsError} from './DtsError'\nimport {extractTypes} from './extractTypes'\nimport type {DtsResult, DtsWatchTask} from './types'\n\n/** @internal */\nexport const dtsWatchTask: TaskHandler<DtsWatchTask, DtsResult> = {\n name: (_ctx, task) =>\n [\n 'build type definitions',\n ...task.entries.map((entry) => {\n return entry.targetPaths.map((targetPath) => {\n return [\n ` - ${chalk.cyan(entry.importId)}: `,\n `${chalk.yellow(entry.sourcePath)} ${chalk.gray('→')} ${chalk.yellow(targetPath)}`,\n ].join('')\n })\n }),\n ].join('\\n'),\n exec: (ctx, task) => {\n const {config, cwd, files, logger, strict, ts: tsContext, bundledPackages} = ctx\n\n return new Observable((observer) => {\n if (!tsContext.config || !tsContext.configPath) {\n observer.next({type: 'dts', messages: [], results: []})\n observer.complete()\n\n return\n }\n\n const {outDir, rootDir = cwd} = tsContext.config.options\n\n if (!outDir) {\n observer.error(new Error('tsconfig.json is missing `compilerOptions.outDir`'))\n\n return\n }\n\n const tmpPath = path.resolve(outDir, '__tmp__')\n\n buildTypes({\n cwd,\n logger,\n outDir: tmpPath,\n tsconfig: tsContext.config,\n strict,\n }).catch((err) => {\n observer.error(err)\n })\n\n const host = ts.createWatchCompilerHost(\n tsContext.configPath,\n {\n ...tsContext.config.options,\n declaration: true,\n declarationDir: tmpPath,\n emitDeclarationOnly: true,\n noEmit: false,\n noEmitOnError: strict ? true : (tsContext.config.options.noEmitOnError ?? true),\n outDir: tmpPath,\n },\n ts.sys,\n ts.createEmitAndSemanticDiagnosticsBuilderProgram,\n (diagnostic) => {\n logger.error(ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n'))\n },\n (diagnostic) => {\n logger.info(ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n'))\n },\n )\n\n const origPostProgramCreate = host.afterProgramCreate\n\n host.afterProgramCreate = async (program) => {\n origPostProgramCreate?.(program)\n\n const messages: ExtractorMessage[] = []\n const results: {sourcePath: string; filePaths: string[]}[] = []\n\n for (const entry of task.entries) {\n const exportPath = entry.exportPath === '.' ? './index' : entry.exportPath\n\n const sourceTypesPath = path.resolve(\n tmpPath,\n path.relative(rootDir, path.resolve(cwd, entry.sourcePath)).replace(/\\.ts$/, '.d.ts'),\n )\n\n const targetPaths = entry.targetPaths.map((targetPath) => path.resolve(cwd, targetPath))\n const filePaths = targetPaths.map((targetPath) => path.relative(outDir, targetPath))\n\n try {\n const result = await extractTypes({\n bundledPackages: bundledPackages || [],\n customTags: config?.extract?.customTags,\n distPath: outDir,\n exportPath,\n files,\n filePaths,\n projectPath: cwd,\n rules: config?.extract?.rules,\n sourceTypesPath: sourceTypesPath,\n tmpPath,\n tsconfigPath: path.resolve(cwd, tsContext.configPath || 'tsconfig.json'),\n })\n\n messages.push(...result.messages)\n results.push({sourcePath: path.resolve(cwd, entry.sourcePath), filePaths: targetPaths})\n } catch (err) {\n if (err instanceof DtsError) {\n messages.push(...err.messages)\n } else {\n observer.error(err)\n\n return\n }\n }\n }\n\n observer.next({type: 'dts', messages, results})\n }\n\n const watchProgram = ts.createWatchProgram(host)\n\n return () => {\n watchProgram.close()\n rimraf.sync(tmpPath)\n }\n })\n },\n complete: (ctx, task, result) => {\n const {logger} = ctx\n\n printExtractMessages(ctx, result.messages)\n\n logger.success(\n `build type definitions\\n ${task.entries\n .map(\n (entry) =>\n ` - ${chalk.cyan(entry.importId)}: ${chalk.yellow(entry.sourcePath)} ${chalk.gray('→')} ${chalk.yellow(entry.targetPaths.join(', '))}`,\n )\n .join('\\n ')}`,\n )\n logger.log('')\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof DtsError) {\n printExtractMessages(ctx, err.messages)\n } else if (err instanceof Error) {\n logger.error(err)\n }\n },\n}\n","import path from 'node:path'\n\nimport type {PluginItem} from '@babel/core'\nimport {optimizeLodashImports} from '@optimize-lodash/rollup-plugin'\nimport alias from '@rollup/plugin-alias'\nimport {babel, getBabelOutputPlugin} from '@rollup/plugin-babel'\nimport commonjs from '@rollup/plugin-commonjs'\nimport json from '@rollup/plugin-json'\nimport {nodeResolve} from '@rollup/plugin-node-resolve'\nimport replace from '@rollup/plugin-replace'\nimport terser from '@rollup/plugin-terser'\nimport type {InputOptions, OutputOptions, Plugin} from 'rollup'\nimport esbuild from 'rollup-plugin-esbuild'\n\nimport {pkgExtMap as extMap} from '../../../node/core/pkg/pkgExt'\nimport {type BuildContext, type PackageJSON, resolveConfigProperty} from '../../core'\nimport type {RollupLegacyTask, RollupReactCompilerTask, RollupTask, RollupWatchTask} from '../types'\n\nexport interface RollupConfig {\n inputOptions: InputOptions\n outputOptions: OutputOptions\n}\n\n/** @internal */\nexport function resolveRollupConfig(\n ctx: BuildContext,\n buildTask: RollupTask | RollupLegacyTask | RollupReactCompilerTask | RollupWatchTask,\n): RollupConfig {\n const {format, runtime, target} = buildTask\n const {config, cwd, exports: _exports, external, distPath, logger, pkg, ts} = ctx\n const isLegacyExports = buildTask.type === 'build:legacy'\n const isReactCompiler = buildTask.type === 'build:react-compiler'\n const outputExt = isLegacyExports ? extMap.legacy : extMap[pkg.type || 'commonjs'][format]\n const minify = config?.minify ?? false\n const outDir = path.relative(cwd, distPath)\n\n const pathAliases = Object.fromEntries(\n Object.entries(ts.config?.options.paths || {}).map(([key, val]) => {\n return [key, path.resolve(cwd, ts.config?.options.baseUrl || '.', val[0])]\n }),\n )\n\n const entries = buildTask.entries.map((entry) => {\n return {\n ...entry,\n name: path.relative(outDir, entry.output).replace(/\\.[^/.]+$/, ''),\n }\n }, {})\n\n const exportIds =\n _exports && Object.keys(_exports).map((exportPath) => path.join(pkg.name, exportPath))\n\n const sourcePaths = _exports && Object.values(_exports).map((e) => path.resolve(cwd, e.source))\n\n const replacements = Object.fromEntries(\n Object.entries(config?.define || {}).map(([key, val]) => [key, JSON.stringify(val)]),\n )\n\n const {optimizeLodash: enableOptimizeLodash = hasDependency(pkg, 'lodash')} = config?.rollup || {}\n\n const defaultPlugins = [\n replace({\n preventAssignment: true,\n values: {\n ...(pkg.name === '@sanity/pkg-utils'\n ? {...replacements}\n : {\n 'process.env.PKG_FILE_PATH': (arg) => {\n const sourcePath = `./${path.relative(cwd, arg)}`\n const entry = entries.find((e) => e.source === sourcePath)\n\n if (!entry) {\n // eslint-disable-next-line no-console\n console.error(`could not find source entry: ${sourcePath}`)\n\n return 'null'\n }\n\n return JSON.stringify(\n path.relative(cwd, path.resolve(outDir, entry.name + outputExt)),\n )\n },\n 'process.env.PKG_FORMAT': JSON.stringify(format),\n 'process.env.PKG_RUNTIME': JSON.stringify(runtime),\n 'process.env.PKG_VERSION': JSON.stringify(process.env['PKG_VERSION'] || pkg.version),\n ...replacements,\n }),\n },\n }),\n alias({\n entries: {...pathAliases},\n }),\n nodeResolve({\n browser: runtime === 'browser',\n extensions: ['.cjs', '.mjs', '.js', '.jsx', '.json', '.node'],\n preferBuiltins: true,\n }),\n commonjs(),\n json(),\n (isReactCompiler || config?.babel?.reactCompiler || config?.babel?.styledComponents) &&\n babel({\n babelrc: false,\n presets: ['@babel/preset-typescript'],\n babelHelpers: 'bundled',\n extensions: ['.ts', '.tsx', '.js', '.jsx'],\n plugins: [\n // The styled-components plugin needs to run before the react-compiler plugin, in case the css prop is used\n config?.babel?.styledComponents && [\n 'babel-plugin-styled-components',\n {\n // Unnecessary, as the way we use styled-components in Sanity is usually by wrapping `@sanity/ui` primitives, not declaring new ones like \"const Button = styled.button``\"\n fileName: false,\n // Native template literals take less space than this transpilation\n transpileTemplateLiterals: false,\n // Massively helps dead code elimination and tree-shaking\n pure: true,\n // disabled, as pkg-utils tends to be used for npm publishing, while other tooling, like `sanity dev`, `next dev`, etc are used for testing\n cssProp: false,\n ...(typeof config.babel.styledComponents === 'object'\n ? config.babel.styledComponents\n : {}),\n },\n ],\n (isReactCompiler || config?.babel?.reactCompiler) && [\n 'babel-plugin-react-compiler',\n config?.reactCompilerOptions || {},\n ],\n ].filter(Boolean) as PluginItem[],\n }),\n esbuild({\n jsx: config?.jsx ?? 'automatic',\n jsxFactory: config?.jsxFactory ?? 'createElement',\n jsxFragment: config?.jsxFragment ?? 'Fragment',\n jsxImportSource: config?.jsxImportSource ?? 'react',\n target,\n tsconfig: ctx.ts.configPath || 'tsconfig.json',\n treeShaking: true,\n minifySyntax: config?.minify !== false,\n supported: {\n 'template-literal': true,\n },\n }),\n Array.isArray(config?.babel?.plugins) &&\n getBabelOutputPlugin({\n babelrc: false,\n plugins: config.babel.plugins,\n }),\n enableOptimizeLodash &&\n optimizeLodashImports({\n useLodashEs: format === 'esm' && hasDependency(pkg, 'lodash-es') ? true : undefined,\n ...(typeof config?.rollup?.optimizeLodash === 'boolean'\n ? {}\n : config?.rollup?.optimizeLodash),\n }),\n minify &&\n terser({\n compress: {directives: false, passes: 10},\n ecma: 2020,\n output: {\n comments: (_node, comment) => {\n const text = comment.value\n const cType = comment.type\n\n // Check if this is a multiline comment\n if (cType === 'comment2') {\n // Keep licensing comments\n return /@preserve|@license|@cc_on/i.test(text)\n }\n\n return false\n },\n preserve_annotations: true,\n },\n }),\n ].filter(Boolean) as Plugin[]\n\n const userPlugins = config?.rollup?.plugins\n\n const plugins = Array.isArray(userPlugins)\n ? defaultPlugins.concat(userPlugins)\n : resolveConfigProperty(config?.rollup?.plugins, defaultPlugins)\n\n const hashChunkFileNames = config?.rollup?.hashChunkFileNames ?? false\n const chunksFolder = isReactCompiler\n ? '_compiled'\n : isLegacyExports\n ? '_legacy'\n : hashChunkFileNames\n ? '_chunks'\n : '_chunks-[format]'\n const chunkFileNames = `${chunksFolder}/${hashChunkFileNames ? '[name]-[hash]' : '[name]'}${outputExt}`\n const entryFileNames = isLegacyExports ? '[name].js' : `[name]${outputExt}`\n\n return {\n inputOptions: {\n context: cwd,\n\n external: (id, importer) => {\n // Check if the id is a self-referencing import\n if (exportIds?.includes(id)) {\n return true\n }\n\n // Check if the id is a file path that points to an exported source file\n if (importer && (id.startsWith('.') || id.startsWith('/'))) {\n const idPath = path.resolve(path.dirname(importer), id)\n\n if (sourcePaths?.includes(idPath)) {\n logger.warn(\n `detected self-referencing import – treating as external: ${path.relative(\n cwd,\n idPath,\n )}`,\n )\n\n return true\n }\n }\n\n const idParts = id.split('/')\n\n const name = idParts[0].startsWith('@') ? `${idParts[0]}/${idParts[1]}` : idParts[0]\n\n if (name && external.includes(name)) {\n return true\n }\n\n return false\n },\n\n input: entries.reduce<{[entryAlias: string]: string}>((acc, entry) => {\n return {...acc, [entry.name]: entry.source}\n }, {}),\n\n watch: {\n chokidar: {\n usePolling: true,\n },\n },\n\n plugins,\n\n treeshake: {\n preset: 'recommended',\n propertyReadSideEffects: false,\n moduleSideEffects: 'no-external',\n ...config?.rollup?.treeshake,\n },\n experimentalLogSideEffects: config?.rollup?.experimentalLogSideEffects,\n },\n outputOptions: {\n chunkFileNames,\n compact: minify,\n dir: outDir,\n entryFileNames,\n esModule: true,\n format,\n interop: 'compat',\n sourcemap: config?.sourcemap ?? true,\n hoistTransitiveImports: false,\n minifyInternalExports: minify,\n ...config?.rollup?.output,\n },\n }\n}\n\nfunction hasDependency(pkg: PackageJSON, packageName: string): boolean {\n return pkg.dependencies\n ? packageName in pkg.dependencies\n : pkg.peerDependencies\n ? packageName in pkg.peerDependencies\n : false\n}\n","import path from 'node:path'\n\nimport chalk from 'chalk'\nimport {rollup} from 'rollup'\nimport {Observable} from 'rxjs'\n\nimport {createConsoleSpy} from '../../consoleSpy'\nimport type {BuildContext} from '../../core'\nimport type {RollupLegacyTask, TaskHandler} from '../types'\nimport {resolveRollupConfig} from './resolveRollupConfig'\n\n/** @internal */\nexport const rollupLegacyTask: TaskHandler<RollupLegacyTask> = {\n name: (ctx, task) => {\n const entries = task.entries.filter((e) => !e.path.includes('__$$bundle_'))\n\n const targetLines = task.target.length\n ? [' target:', ...task.target.map((t) => ` - ${chalk.yellow(t)}`)]\n : []\n\n const entriesLines = entries.length\n ? [\n ' entries:',\n ...entries.map((e) =>\n [\n ' - ',\n `${chalk.cyan(path.join(ctx.pkg.name, e.path))}: `,\n `${chalk.yellow(e.source)} ${chalk.gray('→')} ${chalk.yellow(e.output)}`,\n ].join(''),\n ),\n ]\n : []\n\n // @TODO list out the root level files that are generated\n\n return [\n 'Build legacy exports...',\n ` format: ${chalk.yellow(task.format)}`,\n ...targetLines,\n ...entriesLines,\n ].join('\\n')\n },\n exec: (ctx, task) => {\n return new Observable((observer) => {\n execPromise(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => observer.error(err))\n })\n },\n complete: () => {\n //\n },\n error: (_ctx, _task, err) => {\n // eslint-disable-next-line no-console\n console.error(err)\n },\n}\n\nasync function execPromise(ctx: BuildContext, task: RollupLegacyTask) {\n const {distPath, files, logger} = ctx\n const outDir = path.relative(ctx.cwd, distPath)\n\n // Prevent rollup from printing directly to the console\n const consoleSpy = createConsoleSpy({\n onRestored: (messages) => {\n for (const msg of messages) {\n const text = String(msg.args[0])\n\n if (msg.code === 'CIRCULAR_DEPENDENCY') {\n continue // ignore\n }\n\n if (text.startsWith('Dynamic import can only')) {\n continue // ignore\n }\n\n if (text.startsWith('Sourcemap is likely to be incorrect')) {\n continue // ignore\n }\n\n if (msg.type === 'log') {\n logger.info(...msg.args)\n }\n\n if (msg.type === 'warn') {\n logger.warn(...msg.args)\n }\n\n if (msg.type === 'error') {\n logger.error(...msg.args)\n }\n }\n },\n })\n\n try {\n const {inputOptions, outputOptions} = resolveRollupConfig(ctx, task)\n\n // Create bundle\n const bundle = await rollup({\n ...inputOptions,\n onwarn(warning) {\n consoleSpy.messages.push({\n type: 'warn',\n code: warning.code,\n args: [warning.message],\n })\n },\n })\n\n // generate output specific code in-memory\n // you can call this function multiple times on the same bundle object\n const {output} = await bundle.generate(outputOptions)\n\n for (const chunkOrAsset of output) {\n if (chunkOrAsset.type === 'asset') {\n files.push({\n type: 'asset',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n } else {\n files.push({\n type: 'chunk',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n }\n }\n\n // or write the bundle to disk\n await bundle.write(outputOptions)\n\n // closes the bundle\n await bundle.close()\n\n // Restore console\n consoleSpy.restore()\n } catch (err) {\n // Restore console\n consoleSpy.restore()\n throw err\n }\n}\n","import path from 'node:path'\n\nimport chalk from 'chalk'\nimport {rollup} from 'rollup'\nimport {Observable} from 'rxjs'\n\nimport {createConsoleSpy} from '../../consoleSpy'\nimport type {BuildContext} from '../../core'\nimport type {RollupReactCompilerTask, TaskHandler} from '../types'\nimport {resolveRollupConfig} from './resolveRollupConfig'\n\n/** @internal */\nexport const rollupReactCompilerTask: TaskHandler<RollupReactCompilerTask> = {\n name: (ctx, task) => {\n const entries = task.entries.filter((e) => !e.path.includes('__$$bundle_'))\n\n const targetLines = task.target.length\n ? [' target:', ...task.target.map((t) => ` - ${chalk.yellow(t)}`)]\n : []\n\n const entriesLines = entries.length\n ? [\n ' entries:',\n ...entries.map((e) =>\n [\n ' - ',\n `${chalk.cyan(path.join(ctx.pkg.name, e.path))}: `,\n `${chalk.yellow(e.source)} ${chalk.gray('→')} ${chalk.yellow(e.output)}`,\n ].join(''),\n ),\n ]\n : []\n\n // @TODO list out the root level files that are generated\n\n return ['Build react compiler exports...', ...targetLines, ...entriesLines].join('\\n')\n },\n exec: (ctx, task) => {\n return new Observable((observer) => {\n execPromise(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => observer.error(err))\n })\n },\n complete: () => {\n //\n },\n error: (_ctx, _task, err) => {\n // eslint-disable-next-line no-console\n console.error(err)\n },\n}\n\nasync function execPromise(ctx: BuildContext, task: RollupReactCompilerTask) {\n const {distPath, files, logger} = ctx\n const outDir = path.relative(ctx.cwd, distPath)\n\n // Prevent rollup from printing directly to the console\n const consoleSpy = createConsoleSpy({\n onRestored: (messages) => {\n for (const msg of messages) {\n const text = String(msg.args[0])\n\n if (msg.code === 'CIRCULAR_DEPENDENCY') {\n continue // ignore\n }\n\n if (text.startsWith('Dynamic import can only')) {\n continue // ignore\n }\n\n if (text.startsWith('Sourcemap is likely to be incorrect')) {\n continue // ignore\n }\n\n if (msg.type === 'log') {\n logger.info(...msg.args)\n }\n\n if (msg.type === 'warn') {\n logger.warn(...msg.args)\n }\n\n if (msg.type === 'error') {\n logger.error(...msg.args)\n }\n }\n },\n })\n\n try {\n const {inputOptions, outputOptions} = resolveRollupConfig(ctx, task)\n\n // Create bundle\n const bundle = await rollup({\n ...inputOptions,\n onwarn(warning) {\n consoleSpy.messages.push({\n type: 'warn',\n code: warning.code,\n args: [warning.message],\n })\n },\n })\n\n // generate output specific code in-memory\n // you can call this function multiple times on the same bundle object\n const {output} = await bundle.generate(outputOptions)\n\n for (const chunkOrAsset of output) {\n if (chunkOrAsset.type === 'asset') {\n files.push({\n type: 'asset',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n } else {\n files.push({\n type: 'chunk',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n }\n }\n\n // or write the bundle to disk\n await bundle.write(outputOptions)\n\n // closes the bundle\n await bundle.close()\n\n // Restore console\n consoleSpy.restore()\n } catch (err) {\n // Restore console\n consoleSpy.restore()\n throw err\n }\n}\n","import path from 'node:path'\n\nimport chalk from 'chalk'\nimport {rollup} from 'rollup'\nimport {Observable} from 'rxjs'\n\nimport {createConsoleSpy} from '../../consoleSpy'\nimport type {BuildContext} from '../../core'\nimport type {RollupTask, TaskHandler} from '../types'\nimport {resolveRollupConfig} from './resolveRollupConfig'\n\n/** @internal */\nexport const rollupTask: TaskHandler<RollupTask> = {\n name: (ctx, task) => {\n const bundleEntries = task.entries.filter((e) => e.path.includes('__$$bundle_'))\n const entries = task.entries.filter((e) => !e.path.includes('__$$bundle_'))\n\n const targetLines = task.target.length\n ? [` target:`, ...task.target.map((t) => ` - ${chalk.yellow(t)}`)]\n : []\n\n const bundlesLines = bundleEntries.length\n ? [\n ' bundles:',\n ...bundleEntries.map((e) =>\n [\n ` - `,\n `${chalk.yellow(e.source)} ${chalk.gray('→')} ${chalk.yellow(e.output)}`,\n ].join(''),\n ),\n ]\n : []\n\n const entriesLines = entries.length\n ? [\n ' entries:',\n ...entries.map((e) =>\n [\n ` - `,\n `${chalk.cyan(path.join(ctx.pkg.name, e.path))}: `,\n `${chalk.yellow(e.source)} ${chalk.gray('→')} ${chalk.yellow(e.output)}`,\n ].join(''),\n ),\n ]\n : []\n\n return [\n `Build javascript files...`,\n ` format: ${chalk.yellow(task.format)}`,\n ...targetLines,\n ...bundlesLines,\n ...entriesLines,\n ].join('\\n')\n },\n exec: (ctx, task) => {\n return new Observable((observer) => {\n execPromise(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => observer.error(err))\n })\n },\n complete: () => {\n //\n },\n error: (_ctx, _task, err) => {\n // eslint-disable-next-line no-console\n console.error(err)\n },\n}\n\nasync function execPromise(ctx: BuildContext, task: RollupTask) {\n const {distPath, files, logger} = ctx\n const outDir = path.relative(ctx.cwd, distPath)\n\n // Prevent rollup from printing directly to the console\n const consoleSpy = createConsoleSpy({\n onRestored: (messages) => {\n for (const msg of messages) {\n const text = String(msg.args[0])\n\n if (msg.code === 'CIRCULAR_DEPENDENCY') {\n continue // ignore\n }\n\n if (text.startsWith('Dynamic import can only')) {\n continue // ignore\n }\n\n if (text.startsWith('Sourcemap is likely to be incorrect')) {\n continue // ignore\n }\n\n if (msg.type === 'log') {\n logger.info(...msg.args)\n }\n\n if (msg.type === 'warn') {\n logger.warn(...msg.args)\n }\n\n if (msg.type === 'error') {\n logger.error(...msg.args)\n }\n }\n },\n })\n\n try {\n const {inputOptions, outputOptions} = resolveRollupConfig(ctx, task)\n\n // Create bundle\n const bundle = await rollup({\n ...inputOptions,\n onwarn(warning) {\n consoleSpy.messages.push({\n type: 'warn',\n code: warning.code,\n args: [warning.message],\n })\n },\n })\n\n // generate output specific code in-memory\n // you can call this function multiple times on the same bundle object\n const {output} = await bundle.generate(outputOptions)\n\n for (const chunkOrAsset of output) {\n if (chunkOrAsset.type === 'asset') {\n files.push({\n type: 'asset',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n } else {\n files.push({\n type: 'chunk',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n }\n }\n\n // or write the bundle to disk\n await bundle.write(outputOptions)\n\n // closes the bundle\n await bundle.close()\n\n // Restore console\n consoleSpy.restore()\n } catch (err) {\n // Restore console\n consoleSpy.restore()\n throw err\n }\n}\n","import path from 'node:path'\n\nimport chalk from 'chalk'\nimport {type RollupWatcherEvent, type RollupWatchOptions, watch as rollupWatch} from 'rollup'\nimport {Observable} from 'rxjs'\n\nimport type {RollupWatchTask, TaskHandler} from '../types'\nimport {resolveRollupConfig} from './resolveRollupConfig'\n\n/** @internal */\nexport const rollupWatchTask: TaskHandler<RollupWatchTask, RollupWatcherEvent> = {\n name: (ctx, task) =>\n `build javascript files (target ${task.target.join(' + ')}, format ${\n task.format\n })\\n ${task.entries\n .map((e) => `${chalk.blue(path.join(ctx.pkg.name, e.path))}: ${e.source} -> ${e.output}`)\n .join('\\n ')}`,\n exec: (ctx, task) => {\n const {inputOptions, outputOptions} = resolveRollupConfig(ctx, task)\n\n return new Observable((observer) => {\n const watchOptions: RollupWatchOptions = {\n ...inputOptions,\n output: outputOptions,\n }\n\n const watcher = rollupWatch(watchOptions)\n\n watcher.on('event', (event) => {\n observer.next(event)\n })\n\n return () => {\n watcher.close()\n }\n })\n },\n complete: (ctx, task, event) => {\n const {logger} = ctx\n\n if (event.code === 'BUNDLE_END') {\n logger.success(\n `build javascript files (target ${task.target.join(' + ')}, format ${\n task.format\n })\\n ${task.entries\n .map((e) => `${chalk.blue(path.join(ctx.pkg.name, e.path))}: ${e.source} -> ${e.output}`)\n .join('\\n ')}`,\n )\n logger.log('')\n\n return\n }\n\n if (event.code === 'BUNDLE_START') {\n return\n }\n\n if (event.code === 'END') {\n return\n }\n\n if (event.code === 'ERROR') {\n logger.error(event.code, event)\n\n return\n }\n\n if (event.code === 'START') {\n return\n }\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof Error) {\n logger.log(err)\n }\n },\n}\n","import {dtsTask, dtsWatchTask} from './dts'\nimport {rollupLegacyTask, rollupReactCompilerTask, rollupTask, rollupWatchTask} from './rollup'\nimport type {BuildTaskHandlers, WatchTaskHandlers} from './types'\n\nexport * from './dts'\nexport * from './rollup'\nexport * from './types'\n\n/** @internal */\nexport const buildTaskHandlers: BuildTaskHandlers = {\n 'build:dts': dtsTask,\n 'build:js': rollupTask,\n 'build:legacy': rollupLegacyTask,\n 'build:react-compiler': rollupReactCompilerTask,\n}\n\n/** @internal */\nexport const watchTaskHandlers: WatchTaskHandlers = {\n 'watch:dts': dtsWatchTask,\n 'watch:js': rollupWatchTask,\n}\n"],"names":["path","chalk","ts","readFile","parse","TSDocConfigFile","typeScriptParser","print","ExtractorConfig","Extractor","fs","prettier","mkdirp","rimraf","Observable","extMap","replace","alias","nodeResolve","commonjs","json","babel","esbuild","getBabelOutputPlugin","optimizeLodashImports","terser","resolveConfigProperty","execPromise","consoleSpy","createConsoleSpy","rollup","rollupWatch"],"mappings":"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"}
|
package/dist/cli.cjs
CHANGED
|
@@ -3,7 +3,7 @@ var cac = require("cac");
|
|
|
3
3
|
function _interopDefaultCompat(e) {
|
|
4
4
|
return e && typeof e == "object" && "default" in e ? e : { default: e };
|
|
5
5
|
}
|
|
6
|
-
var cac__default = /* @__PURE__ */ _interopDefaultCompat(cac), version = "6.13.3-canary.
|
|
6
|
+
var cac__default = /* @__PURE__ */ _interopDefaultCompat(cac), version = "6.13.3-canary.3";
|
|
7
7
|
const cli = cac__default.default();
|
|
8
8
|
cli.command("", "Check").alias("check").option("--strict", "Strict mode").option("--tsconfig [tsconfig]", "[string] tsconfig.json").action(async (options) => {
|
|
9
9
|
const { checkAction } = await Promise.resolve().then(function() {
|
package/dist/index.d.cts
CHANGED
|
@@ -347,6 +347,9 @@ export declare interface PkgConfigOptions {
|
|
|
347
347
|
bundledPackages?: PkgConfigProperty<string[]>
|
|
348
348
|
customTags?: TSDocCustomTag[]
|
|
349
349
|
rules?: {
|
|
350
|
+
/**
|
|
351
|
+
* @deprecated no longer needed since TypeScript 5.5 https://devblogs.microsoft.com/typescript/announcing-typescript-5-5/#consulting-package.json-dependencies-for-declaration-file-generation
|
|
352
|
+
*/
|
|
350
353
|
'ae-forgotten-export'?: PkgRuleLevel
|
|
351
354
|
'ae-incompatible-release-tags'?: PkgRuleLevel
|
|
352
355
|
'ae-internal-missing-underscore'?: PkgRuleLevel
|
package/dist/index.d.ts
CHANGED
|
@@ -347,6 +347,9 @@ export declare interface PkgConfigOptions {
|
|
|
347
347
|
bundledPackages?: PkgConfigProperty<string[]>
|
|
348
348
|
customTags?: TSDocCustomTag[]
|
|
349
349
|
rules?: {
|
|
350
|
+
/**
|
|
351
|
+
* @deprecated no longer needed since TypeScript 5.5 https://devblogs.microsoft.com/typescript/announcing-typescript-5-5/#consulting-package.json-dependencies-for-declaration-file-generation
|
|
352
|
+
*/
|
|
350
353
|
'ae-forgotten-export'?: PkgRuleLevel
|
|
351
354
|
'ae-incompatible-release-tags'?: PkgRuleLevel
|
|
352
355
|
'ae-internal-missing-underscore'?: PkgRuleLevel
|
package/dist/index.js
CHANGED
|
@@ -905,22 +905,15 @@ function createApiExtractorConfig(options) {
|
|
|
905
905
|
messages,
|
|
906
906
|
projectFolder,
|
|
907
907
|
mainEntryPointFilePath,
|
|
908
|
-
tsconfig,
|
|
909
908
|
tsconfigPath
|
|
910
|
-
} = options
|
|
911
|
-
|
|
912
|
-
compilerOptions: {}
|
|
913
|
-
};
|
|
914
|
-
return workaroundPaths && Object.assign(overrideTsconfig.compilerOptions, {
|
|
915
|
-
// An empty object replaces whatever is in the original tsconfig file
|
|
916
|
-
paths: {}
|
|
917
|
-
}), {
|
|
909
|
+
} = options;
|
|
910
|
+
return {
|
|
918
911
|
apiReport: {
|
|
919
912
|
enabled: !1,
|
|
920
913
|
reportFileName: "<unscopedPackageName>.api.md"
|
|
921
914
|
},
|
|
922
915
|
bundledPackages,
|
|
923
|
-
compiler:
|
|
916
|
+
compiler: { tsconfigFilePath: tsconfigPath },
|
|
924
917
|
docModel: {
|
|
925
918
|
enabled: !1,
|
|
926
919
|
apiJsonFilePath: path.resolve(distPath, `${exportPath}.api.json`)
|
|
@@ -999,7 +992,7 @@ function getExtractMessagesConfig(options) {
|
|
|
999
992
|
addToApiReportFile: !1
|
|
1000
993
|
},
|
|
1001
994
|
"ae-forgotten-export": {
|
|
1002
|
-
logLevel: ruleToLogLevel("ae-forgotten-export", "
|
|
995
|
+
logLevel: ruleToLogLevel("ae-forgotten-export", "none"),
|
|
1003
996
|
addToApiReportFile: !1
|
|
1004
997
|
},
|
|
1005
998
|
"ae-incompatible-release-tags": {
|
|
@@ -1051,7 +1044,6 @@ async function extractTypes(options) {
|
|
|
1051
1044
|
rules,
|
|
1052
1045
|
sourceTypesPath,
|
|
1053
1046
|
tmpPath,
|
|
1054
|
-
tsconfig,
|
|
1055
1047
|
tsconfigPath
|
|
1056
1048
|
} = options, tsdocConfigFile = await createTSDocConfig({
|
|
1057
1049
|
customTags: customTags || []
|
|
@@ -1064,7 +1056,6 @@ async function extractTypes(options) {
|
|
|
1064
1056
|
messages: getExtractMessagesConfig({ rules }),
|
|
1065
1057
|
projectFolder: projectPath,
|
|
1066
1058
|
mainEntryPointFilePath: sourceTypesPath,
|
|
1067
|
-
tsconfig,
|
|
1068
1059
|
tsconfigPath
|
|
1069
1060
|
}),
|
|
1070
1061
|
configObjectFullPath: void 0,
|
|
@@ -1116,7 +1107,6 @@ async function doExtract(ctx, task) {
|
|
|
1116
1107
|
), targetPaths = entry.targetPaths.map((targetPath) => path.resolve(cwd, targetPath)), filePaths = targetPaths.map((targetPath) => path.relative(outDir, targetPath)), result = await extractTypes({
|
|
1117
1108
|
bundledPackages: bundledPackages || [],
|
|
1118
1109
|
customTags: config2?.extract?.customTags,
|
|
1119
|
-
cwd,
|
|
1120
1110
|
distPath: outDir,
|
|
1121
1111
|
exportPath,
|
|
1122
1112
|
files,
|
|
@@ -1124,7 +1114,6 @@ async function doExtract(ctx, task) {
|
|
|
1124
1114
|
projectPath: cwd,
|
|
1125
1115
|
rules: config2?.extract?.rules,
|
|
1126
1116
|
sourceTypesPath,
|
|
1127
|
-
tsconfig: ts2.config,
|
|
1128
1117
|
tmpPath,
|
|
1129
1118
|
tsconfigPath: path.resolve(cwd, ts2.configPath || "tsconfig.json")
|
|
1130
1119
|
});
|
|
@@ -1226,7 +1215,6 @@ const dtsTask = {
|
|
|
1226
1215
|
const result = await extractTypes({
|
|
1227
1216
|
bundledPackages: bundledPackages || [],
|
|
1228
1217
|
customTags: config2?.extract?.customTags,
|
|
1229
|
-
cwd,
|
|
1230
1218
|
distPath: outDir,
|
|
1231
1219
|
exportPath,
|
|
1232
1220
|
files,
|
|
@@ -1234,7 +1222,6 @@ const dtsTask = {
|
|
|
1234
1222
|
projectPath: cwd,
|
|
1235
1223
|
rules: config2?.extract?.rules,
|
|
1236
1224
|
sourceTypesPath,
|
|
1237
|
-
tsconfig: tsContext.config,
|
|
1238
1225
|
tmpPath,
|
|
1239
1226
|
tsconfigPath: path.resolve(cwd, tsContext.configPath || "tsconfig.json")
|
|
1240
1227
|
});
|