@sanity/pkg-utils 2.3.1 → 2.3.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sanity/pkg-utils",
3
- "version": "2.3.1",
3
+ "version": "2.3.3",
4
4
  "description": "Simple utilities for modern npm packages.",
5
5
  "keywords": [
6
6
  "sanity-io",
@@ -123,7 +123,7 @@
123
123
  "@babel/core": "^7.22.1",
124
124
  "@babel/preset-env": "^7.22.4",
125
125
  "@babel/types": "^7.22.4",
126
- "@microsoft/api-extractor": "^7.35.1",
126
+ "@microsoft/api-extractor": "^7.35.2",
127
127
  "@microsoft/tsdoc-config": "^0.16.2",
128
128
  "@rollup/plugin-alias": "^5.0.0",
129
129
  "@rollup/plugin-babel": "^6.0.3",
@@ -136,7 +136,7 @@
136
136
  "cac": "^6.7.14",
137
137
  "chalk": "^4.1.2",
138
138
  "chokidar": "^3.5.3",
139
- "esbuild": "^0.17.19",
139
+ "esbuild": "^0.18.0",
140
140
  "esbuild-register": "^3.4.2",
141
141
  "find-config": "^1.0.0",
142
142
  "get-latest-version": "^5.0.1",
@@ -152,8 +152,8 @@
152
152
  "pretty-bytes": "^5.6.0",
153
153
  "prompts": "^2.4.2",
154
154
  "recast": "^0.23.2",
155
- "rimraf": "^5.0.1",
156
- "rollup": "^3.23.0",
155
+ "rimraf": "^4.4.0",
156
+ "rollup": "^3.24.0",
157
157
  "rollup-plugin-esbuild": "^5.0.0",
158
158
  "rxjs": "^7.8.1",
159
159
  "treeify": "^1.1.0",
@@ -173,10 +173,11 @@
173
173
  "@types/parse-git-config": "^3.0.1",
174
174
  "@types/prettier": "^2.7.3",
175
175
  "@types/prompts": "^2.4.4",
176
+ "@types/rimraf": "^3.0.2",
176
177
  "@types/treeify": "^1.0.0",
177
178
  "@types/uuid": "^9.0.1",
178
- "@typescript-eslint/eslint-plugin": "^5.59.8",
179
- "@typescript-eslint/parser": "^5.59.8",
179
+ "@typescript-eslint/eslint-plugin": "^5.59.9",
180
+ "@typescript-eslint/parser": "^5.59.9",
180
181
  "commitizen": "^4.3.0",
181
182
  "cpx": "^1.5.0",
182
183
  "cz-conventional-changelog": "^3.3.0",
@@ -193,12 +194,12 @@
193
194
  "semantic-release": "^21.0.3",
194
195
  "ts-node": "^10.9.1",
195
196
  "typescript": "^5.1.3",
196
- "vitest": "^0.31.4"
197
+ "vitest": "^0.32.0"
197
198
  },
198
199
  "peerDependencies": {
199
200
  "typescript": "^4.7 || ^5"
200
201
  },
201
- "packageManager": "pnpm@8.6.0",
202
+ "packageManager": "pnpm@8.6.1",
202
203
  "engines": {
203
204
  "node": ">=16.0.0"
204
205
  },
@@ -1,6 +1,6 @@
1
1
  import {ExtractorMessage} from '@microsoft/api-extractor'
2
2
  import path from 'path'
3
- import {rimraf} from 'rimraf'
3
+ import rimraf from 'rimraf'
4
4
 
5
5
  import {BuildContext} from '../../core'
6
6
  import {buildTypes} from './buildTypes'
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-984e18d1.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/node/reexportCjsTask.ts","../../src/node/tasks/rollup/consoleSpy.ts","../../src/node/tasks/rollup/resolveRollupConfig.ts","../../src/node/tasks/rollup/rollupTask.ts","../../src/node/tasks/rollup/rollupWatchTask.ts","../../src/node/tasks/index.ts"],"sourcesContent":["import {ExtractorMessage} from '@microsoft/api-extractor'\nimport chalk from 'chalk'\nimport path from 'path'\n\nimport {BuildContext} from './core'\n\nexport function printExtractMessages(ctx: BuildContext, messages: ExtractorMessage[]): void {\n const {cwd, logger} = ctx\n\n const warnings = messages.filter((msg) => msg.logLevel === 'warning')\n\n if (warnings.length) {\n logger.log()\n }\n\n for (const msg of warnings) {\n const sourceFilePath = msg.sourceFilePath && path.relative(cwd, msg.sourceFilePath)\n\n if (msg.messageId === 'TS6307') {\n // Ignore this warning:\n // > TS6307: <filename> is not in project file list.\n // > Projects must list all files or use an 'include' pattern.\n continue\n }\n\n logger.log(\n [\n `${chalk.cyan(sourceFilePath || '?')}`,\n `:${chalk.yellow(msg.sourceFileLine)}:${chalk.yellow(msg.sourceFileColumn)}`,\n ` - ${chalk.yellow('warning')} ${chalk.gray(msg.messageId)}\\n`,\n msg.text,\n '\\n',\n ].join('')\n )\n }\n\n const errors: ExtractorMessage[] = messages.filter((msg) => msg.logLevel === 'error')\n\n if (!warnings.length && errors.length) {\n logger.log('')\n }\n\n for (const msg of errors) {\n const sourceFilePath = msg.sourceFilePath && path.relative(cwd, msg.sourceFilePath)\n\n logger.log(\n [\n `${chalk.cyan(sourceFilePath || '?')}`,\n `:${chalk.yellow(msg.sourceFileLine)}:${chalk.yellow(msg.sourceFileColumn)}`,\n ` - ${chalk.red('error')} ${chalk.gray(msg.messageId)}\\n`,\n msg.text,\n '\\n',\n ].join('')\n )\n }\n\n if (errors.length) {\n process.exit(1)\n }\n}\n","import chalk from 'chalk'\nimport path from 'path'\nimport ts from 'typescript'\n\nimport {Logger} from '../../logger'\n\nexport function printDiagnostic(options: {\n cwd: string\n logger: Logger\n diagnostic: ts.Diagnostic\n}): void {\n const {cwd, logger, diagnostic} = options\n\n if (diagnostic.file && diagnostic.start) {\n const {line, character} = ts.getLineAndCharacterOfPosition(diagnostic.file, diagnostic.start)\n const message = ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n')\n\n const file = path.relative(cwd, diagnostic.file.fileName)\n\n const output = [\n `${chalk.yellow(file)}:${chalk.blue(line + 1)}:${chalk.blue(character + 1)} - `,\n `${chalk.gray(`TS${diagnostic.code}:`)} ${message}`,\n ].join('')\n\n if (diagnostic.category === ts.DiagnosticCategory.Error) {\n logger.error(output)\n }\n\n if (diagnostic.category === ts.DiagnosticCategory.Warning) {\n logger.warn(output)\n }\n\n if (diagnostic.category === ts.DiagnosticCategory.Message) {\n logger.log(output)\n }\n\n if (diagnostic.category === ts.DiagnosticCategory.Suggestion) {\n logger.log(output)\n }\n } else {\n logger.log(ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n'))\n }\n}\n","import ts from 'typescript'\n\nimport {Logger} from '../../logger'\nimport {printDiagnostic} from './printDiagnostic'\n\n/** @internal */\nexport async function buildTypes(options: {\n cwd: string\n logger: Logger\n outDir: string\n tsconfig: ts.ParsedCommandLine\n strict: boolean\n}): Promise<void> {\n const {cwd, logger, outDir, tsconfig, strict = false} = options\n\n const compilerOptions: ts.CompilerOptions = {\n ...tsconfig.options,\n declaration: true,\n declarationDir: outDir,\n emitDeclarationOnly: true,\n noEmit: false,\n outDir,\n }\n\n const program = ts.createProgram(tsconfig.fileNames, compilerOptions)\n\n const emitResult = program.emit()\n\n const allDiagnostics = ts.getPreEmitDiagnostics(program).concat(emitResult.diagnostics)\n\n for (const diagnostic of allDiagnostics) {\n printDiagnostic({cwd, logger, diagnostic})\n }\n\n if (emitResult.emitSkipped) {\n const errors = allDiagnostics.filter((diag) => diag.category === ts.DiagnosticCategory.Error)\n\n if (errors.length) {\n if (strict) {\n throw new Error('failed to compile TypeScript definitions')\n }\n }\n }\n}\n","import {ExtractorMessage} from '@microsoft/api-extractor'\n\n/** @internal */\nexport class DtsError extends Error {\n messages: ExtractorMessage[]\n\n constructor(message: string, messages: ExtractorMessage[]) {\n super(message)\n this.messages = messages\n }\n}\n","import {IConfigFile, IExtractorMessagesConfig} from '@microsoft/api-extractor'\nimport path from 'path'\n\nexport function createApiExtractorConfig(options: {\n distPath: string\n exportPath: string\n filePath: string\n messages: IExtractorMessagesConfig\n projectFolder: string\n mainEntryPointFilePath: string\n tsconfigPath: string\n}): IConfigFile {\n const {\n distPath,\n exportPath,\n filePath,\n messages,\n projectFolder,\n mainEntryPointFilePath,\n tsconfigPath,\n } = options\n\n return {\n apiReport: {\n enabled: false,\n reportFileName: '<unscopedPackageName>.api.md',\n },\n // bundledPackages: [],\n compiler: {\n tsconfigFilePath: tsconfigPath,\n },\n docModel: {\n enabled: false,\n apiJsonFilePath: path.resolve(distPath, `${exportPath}.api.json`),\n },\n dtsRollup: {\n enabled: true,\n untrimmedFilePath: path.resolve(distPath, filePath),\n // betaTrimmedFilePath: path.resolve(distPath, filePath.replace('.d.ts', '-beta.d.ts')),\n // publicTrimmedFilePath: path.resolve(distPath, filePath.replace('.d.ts', '-public.d.ts')),\n },\n tsdocMetadata: {\n enabled: false,\n },\n messages,\n mainEntryPointFilePath,\n projectFolder,\n }\n}\n","import {TSDocConfigFile} from '@microsoft/tsdoc-config'\nimport {readFile} from 'fs/promises'\nimport {parse} from 'jsonc-parser'\n\n/** @public */\nexport interface TSDocCustomTag {\n name: string\n syntaxKind: 'block' | 'modifier'\n allowMultiple?: boolean\n}\n\n/** @internal */\nexport async function createTSDocConfig(opts: {\n customTags: TSDocCustomTag[]\n}): Promise<TSDocConfigFile | undefined> {\n const {customTags} = opts\n\n if (customTags.length === 0) {\n return undefined\n }\n\n const tsDocBaseBuf = await readFile(\n require.resolve('@microsoft/api-extractor/extends/tsdoc-base.json')\n )\n\n // Include the definitions that are required for API Extractor\n // extends: ['@microsoft/api-extractor/extends/tsdoc-base.json'],\n const tsDocBaseConfig = parse(tsDocBaseBuf.toString())\n\n // Define custom tags and specify how they should be parsed\n const tagDefinitions = (tsDocBaseConfig.tagDefinitions || []).concat(\n customTags.map((t) => ({\n tagName: `@${t.name}`,\n syntaxKind: t.syntaxKind,\n allowMultiple: t.allowMultiple,\n }))\n )\n\n // Indicate that custom tags are supported by your tooling.\n // (Without this, warnings may be reported saying that a tag is unsupported.)\n const supportForTags = {...tsDocBaseConfig.supportForTags}\n\n for (const customTag of customTags) {\n supportForTags[`@${customTag.name}`] = true\n }\n\n return TSDocConfigFile.loadFromObject({\n ...tsDocBaseConfig,\n noStandardTags: false,\n tagDefinitions,\n supportForTags,\n })\n}\n","import type {File} from '@babel/types'\nimport {ExtractorResult} from '@microsoft/api-extractor'\nimport {parse, print} from 'recast'\nimport typeScriptParser from 'recast/parsers/typescript'\nimport {Program} from 'typescript'\n\n/**\n * A workaround to find all module blocks in extract TS files.\n * @internal\n * */\nexport async function extractModuleBlocksFromTypes({\n tsOutDir,\n extractResult,\n}: {\n tsOutDir: string\n extractResult: ExtractorResult\n}): Promise<string[]> {\n const program = extractResult.compilerState.program as Program\n const moduleBlocks: string[] = []\n\n // all program files, including node_modules\n const allProgramFiles = [...program.getSourceFiles()]\n\n // just our compiled files used in the program\n const sourceFiles = allProgramFiles.filter((sourceFile) => sourceFile.fileName.includes(tsOutDir))\n\n for (const sourceFile of sourceFiles) {\n if (sourceFile.text.includes('declare module')) {\n moduleBlocks.push(...extractModuleBlocks(sourceFile.text))\n }\n }\n\n return moduleBlocks\n}\n\n/** @internal */\nexport function extractModuleBlocks(fileContent: string): string[] {\n const ast = parse(fileContent, {\n parser: typeScriptParser,\n }) as File\n\n return ast.program.body\n .filter((node) => node.type === 'TSModuleDeclaration')\n .map((node) => print(node).code)\n}\n","import {ExtractorLogLevel, IExtractorMessagesConfig} from '@microsoft/api-extractor'\n\nimport {PkgConfigOptions, PkgRuleLevel} from '../../core'\n\nconst LOG_LEVELS: Record<PkgRuleLevel, ExtractorLogLevel> = {\n error: 'error' as ExtractorLogLevel.Error,\n info: 'info' as ExtractorLogLevel.Info,\n off: 'none' as ExtractorLogLevel.None,\n warn: 'warning' as ExtractorLogLevel.Warning,\n}\n\n/** @internal */\nexport function getExtractMessagesConfig(options: {\n rules: NonNullable<PkgConfigOptions['extract']>['rules']\n}): IExtractorMessagesConfig {\n const {rules} = options\n\n function ruleToLogLevel(\n key: keyof NonNullable<NonNullable<PkgConfigOptions['extract']>['rules']>,\n defaultLevel?: ExtractorLogLevel\n ) {\n const r = rules?.[key]\n\n return (r ? LOG_LEVELS[r] : defaultLevel || 'warning') as ExtractorLogLevel\n }\n\n return {\n compilerMessageReporting: {\n default: {\n logLevel: 'warning' as ExtractorLogLevel,\n },\n },\n\n extractorMessageReporting: {\n default: {\n logLevel: 'warning' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n\n 'ae-forgotten-export': {\n logLevel: ruleToLogLevel('ae-forgotten-export', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-incompatible-release-tags': {\n logLevel: ruleToLogLevel('ae-incompatible-release-tags', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-internal-missing-underscore': {\n logLevel: ruleToLogLevel('ae-internal-missing-underscore'),\n addToApiReportFile: false,\n },\n\n 'ae-missing-release-tag': {\n logLevel: ruleToLogLevel('ae-missing-release-tag', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-wrong-input-file-type': {\n logLevel: 'none' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n },\n\n tsdocMessageReporting: {\n default: {\n logLevel: 'warning' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n\n 'tsdoc-link-tag-unescaped-text': {\n logLevel: ruleToLogLevel('tsdoc-link-tag-unescaped-text', 'warning' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'tsdoc-undefined-tag': {\n logLevel: ruleToLogLevel('tsdoc-undefined-tag', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'tsdoc-unsupported-tag': {\n logLevel: ruleToLogLevel('tsdoc-unsupported-tag', 'none' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n },\n }\n}\n","import {\n Extractor,\n ExtractorConfig,\n ExtractorMessage,\n ExtractorResult,\n} from '@microsoft/api-extractor'\nimport fs from 'fs/promises'\nimport {mkdirp} from 'mkdirp'\nimport path from 'path'\nimport prettier from 'prettier'\n\nimport {BuildFile, PkgConfigOptions} from '../../core'\nimport {createApiExtractorConfig} from './createApiExtractorConfig'\nimport {createTSDocConfig} from './createTSDocConfig'\nimport {extractModuleBlocksFromTypes} from './extractModuleBlocks'\nimport {getExtractMessagesConfig} from './getExtractMessagesConfig'\n\nexport async function extractTypes(options: {\n customTags: NonNullable<PkgConfigOptions['extract']>['customTags']\n cwd: string\n distPath: string\n exportPath: string\n filePath: string\n files: BuildFile[]\n projectPath: string\n rules?: NonNullable<PkgConfigOptions['extract']>['rules']\n sourceTypesPath: string\n tmpPath: string\n tsconfigPath: string\n}): Promise<{extractorResult: ExtractorResult; messages: ExtractorMessage[]}> {\n const {\n customTags,\n distPath,\n exportPath,\n files,\n filePath,\n projectPath,\n rules,\n sourceTypesPath,\n tmpPath,\n tsconfigPath,\n } = options\n\n const tsdocConfigFile = await createTSDocConfig({\n customTags: customTags || [],\n })\n\n const extractorConfig: ExtractorConfig = ExtractorConfig.prepare({\n configObject: createApiExtractorConfig({\n distPath,\n exportPath,\n filePath,\n messages: getExtractMessagesConfig({rules}),\n projectFolder: projectPath,\n mainEntryPointFilePath: sourceTypesPath,\n tsconfigPath,\n }),\n configObjectFullPath: undefined,\n tsdocConfigFile,\n packageJsonFullPath: path.resolve(projectPath, 'package.json'),\n })\n\n const messages: ExtractorMessage[] = []\n\n // Invoke API Extractor\n const extractorResult = Extractor.invoke(extractorConfig, {\n // Equivalent to the \"--local\" command-line parameter\n localBuild: true,\n // Equivalent to the \"--verbose\" command-line parameter\n showVerboseMessages: true,\n // handle messages\n messageCallback(message: ExtractorMessage) {\n messages.push(message)\n message.handled = true\n },\n })\n\n const typesPath = path.resolve(distPath, filePath)\n const typesBuf = await fs.readFile(typesPath)\n const prettierConfig = await prettier.resolveConfig(typesPath)\n\n await mkdirp(path.dirname(typesPath))\n\n const moduleBlocks = await extractModuleBlocksFromTypes({\n extractResult: extractorResult,\n tsOutDir: tmpPath,\n })\n\n const code = [typesBuf.toString(), ...moduleBlocks].join('\\n\\n')\n\n await fs.writeFile(\n typesPath,\n prettier.format(code, {\n ...prettierConfig,\n filepath: typesPath,\n })\n )\n\n // Add to `files` in context\n files.push({\n type: 'types',\n path: typesPath,\n })\n\n return {extractorResult, messages}\n}\n","import {ExtractorMessage} from '@microsoft/api-extractor'\nimport path from 'path'\nimport {rimraf} from 'rimraf'\n\nimport {BuildContext} from '../../core'\nimport {buildTypes} from './buildTypes'\nimport {DtsError} from './DtsError'\nimport {extractTypes} from './extractTypes'\nimport {DtsResult, DtsTask, DtsWatchTask} from './types'\n\n/**\n * - Build type definitions to a temporary directory using TypeScript compiler.\n * - Create a type definition bundle for each export entry.\n * - When done, remove the temporary directory.\n */\nexport async function doExtract(\n ctx: BuildContext,\n task: DtsTask | DtsWatchTask\n): Promise<DtsResult> {\n const {config, cwd, files, logger, strict, ts} = ctx\n\n if (!ts.config || !ts.configPath) {\n return {type: 'dts', messages: [], results: []}\n }\n\n const {outDir, rootDir = cwd} = ts.config.options\n\n if (!outDir) {\n throw new Error('tsconfig.json is missing `compilerOptions.outDir`')\n }\n\n const tmpPath = path.resolve(outDir, '__tmp__')\n\n await buildTypes({cwd, logger, outDir: tmpPath, strict, tsconfig: ts.config})\n const messages: ExtractorMessage[] = []\n\n const results: {sourcePath: string; filePath: string}[] = []\n\n for (const entry of task.entries) {\n const exportPath = entry.exportPath === '.' ? './index' : entry.exportPath\n\n const sourceTypesPath = path.resolve(\n tmpPath,\n path.relative(rootDir, path.resolve(cwd, entry.sourcePath)).replace(/\\.ts$/, '.d.ts')\n )\n\n const targetPath = path.resolve(cwd, entry.targetPath)\n const filePath = path.relative(outDir, targetPath)\n const result = await extractTypes({\n customTags: config?.extract?.customTags,\n cwd,\n distPath: outDir,\n exportPath,\n files,\n filePath: filePath,\n projectPath: cwd,\n rules: config?.extract?.rules,\n sourceTypesPath: sourceTypesPath,\n tmpPath,\n tsconfigPath: path.resolve(cwd, ts.configPath || 'tsconfig.json'),\n })\n\n messages.push(...result.messages)\n\n if (result.messages.some((msg) => msg.logLevel === 'error')) {\n await rimraf(tmpPath)\n\n throw new DtsError('encountered errors when extracting types', result.messages)\n }\n\n results.push({sourcePath: path.resolve(cwd, entry.sourcePath), filePath: targetPath})\n }\n\n await rimraf(tmpPath)\n\n return {type: 'dts', messages, results}\n}\n","import chalk from 'chalk'\nimport {Observable} from 'rxjs'\n\nimport {printExtractMessages} from '../../printExtractMessages'\nimport {TaskHandler} from '../types'\nimport {doExtract} from './doExtract'\nimport {DtsError} from './DtsError'\nimport {DtsResult, DtsTask} from './types'\n\n/** @internal */\nexport const dtsTask: TaskHandler<DtsTask, DtsResult> = {\n name: (_ctx, task) =>\n [\n `Build type definitions...`,\n ` entries:`,\n ...task.entries.map((entry) =>\n [\n ` - ${chalk.cyan(entry.importId)}: `,\n `${chalk.yellow(entry.sourcePath)} ${chalk.gray('→')} ${chalk.yellow(entry.targetPath)}`,\n ].join('')\n ),\n ].join('\\n'),\n exec: (ctx, task) => {\n return new Observable((observer) => {\n doExtract(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => {\n observer.error(err)\n })\n })\n },\n complete: (ctx, _task, result) => {\n printExtractMessages(ctx, result.messages)\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof DtsError) {\n printExtractMessages(ctx, err.messages)\n } else if (err instanceof Error) {\n logger.error(err)\n }\n },\n}\n","import chalk from 'chalk'\nimport {Observable} from 'rxjs'\n\nimport {printExtractMessages} from '../../printExtractMessages'\nimport {TaskHandler} from '../types'\nimport {doExtract} from './doExtract'\nimport {DtsError} from './DtsError'\nimport {DtsResult, DtsWatchTask} from './types'\n\n/** @internal */\nexport const dtsWatchTask: TaskHandler<DtsWatchTask, DtsResult> = {\n name: (_ctx, task) =>\n [\n `build type definitions`,\n ...task.entries.map(\n (entry) =>\n ` ${chalk.blue(entry.importId)}: ${entry.sourcePath} -> ${entry.targetPath}`\n ),\n ].join('\\n'),\n exec: (ctx, task) => {\n return new Observable((observer) => {\n doExtract(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => observer.error(err))\n })\n },\n complete: (ctx, _task, result) => {\n const {logger} = ctx\n\n printExtractMessages(ctx, result.messages)\n\n logger.warn('watching typescript definitions is currently not supported')\n logger.log()\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof DtsError) {\n printExtractMessages(ctx, err.messages)\n } else if (err instanceof Error) {\n logger.error(err)\n }\n },\n}\n","import chalk from 'chalk'\nimport {writeFile} from 'fs/promises'\nimport {mkdirp} from 'mkdirp'\nimport path from 'path'\nimport {from} from 'rxjs'\n\nimport {BuildContext} from '../../core'\nimport {NodeReExportFromCJSTask, TaskHandler} from '../types'\n\n/** @internal */\nexport const nodeReexportCjsTask: TaskHandler<NodeReExportFromCJSTask> = {\n name: (_ctx, task) =>\n [\n `Re-export CommonJS module in ESM wrapper…`,\n ` entries:`,\n ...task.entries.map((entry) =>\n [\n ` - ${chalk.cyan(entry.importId)}: `,\n `${chalk.yellow(entry.require)} ${chalk.gray('→')} ${chalk.yellow(entry.import)}`,\n ].join('')\n ),\n ].join('\\n'),\n exec: (ctx, task) => {\n return from(exec(ctx, task))\n },\n complete: () => {\n //\n },\n error: (_ctx, _task, err) => {\n // eslint-disable-next-line no-console\n console.error(err)\n },\n}\n\nasync function exec(ctx: BuildContext, task: NodeReExportFromCJSTask) {\n const {cwd} = ctx\n\n for (const entry of task.entries) {\n const sourcePath = path.resolve(cwd, entry.require)\n const targetPath = path.resolve(cwd, entry.import)\n const targetDir = path.dirname(targetPath)\n\n await mkdirp(targetDir)\n\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const mod = require(sourcePath)\n\n let relativeImport = `./${path.relative(targetDir, sourcePath)}`\n\n // Strip leading \"./\" from relative import\n if (relativeImport.startsWith('./.')) {\n relativeImport = relativeImport.slice(2)\n }\n\n const code = compileESMWrapper(mod, relativeImport)\n\n await writeFile(targetPath, code, 'utf8')\n }\n}\n\nfunction compileESMWrapper(mod: any, relativeImport: string) {\n const keys = Object.keys(mod).filter((k) => k !== '__esModule')\n\n let code = `import cjs from '${relativeImport}';\\n`\n\n if (keys.length) {\n code += `\\n`\n code += keys\n .filter((k) => (mod.__esModule ? k !== 'default' : true))\n .map((k) => `export const ${k} = cjs.${k};\\n`)\n .join('')\n }\n\n code += `\\n`\n\n if (mod.__esModule) {\n code += `export default cjs.default;\\n`\n } else {\n code += `export default cjs;\\n`\n }\n\n return code\n}\n","/* eslint-disable no-console */\n\nexport interface ConsoleSpyMsg {\n type: 'log' | 'warn' | 'error'\n code?: string\n args: unknown[]\n}\n\nexport interface ConsoleSpy {\n messages: ConsoleSpyMsg[]\n restore: () => void\n}\n\nexport function createConsoleSpy(options: {\n onRestored: (messages: ConsoleSpyMsg[]) => void\n}): ConsoleSpy {\n const {onRestored} = options\n\n const original = {\n log: console.log,\n warn: console.warn,\n error: console.error,\n }\n\n const messages: ConsoleSpyMsg[] = []\n\n console.log = (...args: unknown[]) => messages.push({type: 'log', args})\n console.warn = (...args: unknown[]) => messages.push({type: 'warn', args})\n console.error = (...args: unknown[]) => messages.push({type: 'error', args})\n\n return {\n messages,\n restore: () => {\n console.log = original.log\n console.warn = original.warn\n console.error = original.error\n\n onRestored(messages)\n },\n }\n}\n","import alias from '@rollup/plugin-alias'\nimport {getBabelOutputPlugin} from '@rollup/plugin-babel'\nimport commonjs from '@rollup/plugin-commonjs'\nimport json from '@rollup/plugin-json'\nimport {nodeResolve} from '@rollup/plugin-node-resolve'\nimport replace from '@rollup/plugin-replace'\nimport terser from '@rollup/plugin-terser'\nimport path from 'path'\nimport {InputOptions, OutputOptions, Plugin} from 'rollup'\nimport esbuild from 'rollup-plugin-esbuild'\n\nimport {BuildContext, DEFAULT_BROWSERSLIST_QUERY, resolveConfigProperty} from '../../core'\nimport {RollupTask, RollupWatchTask} from '../types'\n\nexport interface RollupConfig {\n inputOptions: InputOptions\n outputOptions: OutputOptions\n}\n\n/** @internal */\nexport function resolveRollupConfig(\n ctx: BuildContext,\n buildTask: RollupTask | RollupWatchTask\n): RollupConfig {\n const {format, runtime, target} = buildTask\n const {config, cwd, exports: _exports, extMap, external, distPath, logger, pkg, ts} = ctx\n const outputExt = extMap[pkg.type || 'commonjs'][format]\n const minify = config?.minify ?? false\n const outDir = path.relative(cwd, distPath)\n\n const pathAliases = Object.fromEntries(\n Object.entries(ts.config?.options.paths || {}).map(([key, val]) => {\n return [key, path.resolve(cwd, ts.config?.options.baseUrl || '.', val[0])]\n })\n )\n\n const entries = buildTask.entries.map((entry) => {\n return {\n ...entry,\n name: path.relative(outDir, entry.output).replace(/\\.[^/.]+$/, ''),\n }\n }, {})\n\n const exportIds =\n _exports && Object.keys(_exports).map((exportPath) => path.join(pkg.name, exportPath))\n\n const sourcePaths = _exports && Object.values(_exports).map((e) => path.resolve(cwd, e.source))\n\n const replacements = Object.fromEntries(\n Object.entries(config?.define || {}).map(([key, val]) => [key, JSON.stringify(val)])\n )\n\n const defaultPlugins = [\n replace({\n preventAssignment: true,\n values: {\n ...(pkg.name === '@sanity/pkg-utils'\n ? {...replacements}\n : {\n 'process.env.PKG_FILE_PATH': (arg) => {\n const sourcePath = './' + path.relative(cwd, arg)\n const entry = entries.find((e) => e.source === sourcePath)\n\n if (!entry) {\n // eslint-disable-next-line no-console\n console.error(`could not find source entry: ${sourcePath}`)\n\n return 'null'\n }\n\n return JSON.stringify(\n path.relative(cwd, path.resolve(outDir, entry.name + outputExt))\n )\n },\n 'process.env.PKG_FORMAT': JSON.stringify(format),\n 'process.env.PKG_RUNTIME': JSON.stringify(runtime),\n 'process.env.PKG_VERSION': JSON.stringify(process.env.PKG_VERSION || pkg.version),\n ...replacements,\n }),\n },\n }),\n alias({\n entries: {...pathAliases},\n }),\n nodeResolve({\n // mainFields: ['module', 'jsnext', 'main'],\n browser: runtime === 'browser',\n // exportConditions: [runtime === 'node' ? 'node' : 'browser'],\n extensions: ['.cjs', '.mjs', '.js', '.jsx', '.json', '.node'],\n preferBuiltins: true, // runtime === 'node',\n }),\n commonjs(),\n json(),\n esbuild({\n jsx: config?.jsx ?? 'automatic',\n jsxFactory: config?.jsxFactory ?? 'createElement',\n jsxFragment: config?.jsxFragment ?? 'Fragment',\n jsxImportSource: config?.jsxImportSource ?? 'react',\n target,\n tsconfig: ctx.ts.configPath || 'tsconfig.json',\n }),\n getBabelOutputPlugin({\n babelrc: false,\n plugins: config?.babel?.plugins,\n presets: [\n [\n '@babel/preset-env',\n {targets: pkg.browserslist || DEFAULT_BROWSERSLIST_QUERY, modules: false},\n ],\n ],\n }),\n minify &&\n terser({\n compress: {\n // Needed until https://github.com/terser/terser/issues/1320 is fixed\n directives: false,\n },\n output: {\n comments: (_node, comment) => {\n const text = comment.value\n const type = comment.type\n\n // Check if this is a multiline comment\n if (type == 'comment2') {\n // Keep licensing comments\n return /@preserve|@license|@cc_on/i.test(text)\n }\n\n return false\n },\n },\n }),\n ].filter(Boolean) as Plugin[]\n\n const userPlugins = config?.rollup?.plugins\n\n const plugins = Array.isArray(userPlugins)\n ? defaultPlugins.concat(userPlugins)\n : resolveConfigProperty(config?.rollup?.plugins, defaultPlugins)\n\n return {\n inputOptions: {\n context: cwd,\n\n external: (id, importer) => {\n // Check if the id is a self-referencing import\n if (exportIds?.includes(id)) {\n return true\n }\n\n // Check if the id is a file path that points to an exported source file\n if (importer && (id.startsWith('.') || id.startsWith('/'))) {\n const idPath = path.resolve(path.dirname(importer), id)\n\n if (sourcePaths?.includes(idPath)) {\n logger.warn(\n `detected self-referencing import – treating as external: ${path.relative(\n cwd,\n idPath\n )}`\n )\n\n return true\n }\n }\n\n const idParts = id.split('/')\n\n const name = idParts[0].startsWith('@') ? `${idParts[0]}/${idParts[1]}` : idParts[0]\n\n if (name && external.includes(name)) {\n return true\n }\n\n return false\n },\n\n input: entries.reduce<{[entryAlias: string]: string}>((acc, entry) => {\n return {...acc, [entry.name]: entry.source}\n }, {}),\n\n plugins,\n\n treeshake: {\n propertyReadSideEffects: false,\n },\n },\n outputOptions: {\n chunkFileNames: () => {\n const parts = outputExt.split('.')\n\n if (parts.length === 3) {\n return `_chunks/[name]-[hash].${parts[2]}`\n }\n\n return `_chunks/[name]-[hash]${outputExt}`\n },\n compact: minify,\n dir: outDir,\n entryFileNames: () => {\n const parts = outputExt.split('.')\n\n if (parts.length === 3) {\n return `[name].${parts[2]}`\n }\n\n return `[name]${outputExt}`\n },\n esModule: true,\n format,\n interop: 'compat',\n minifyInternalExports: minify,\n sourcemap: config?.sourcemap ?? true,\n hoistTransitiveImports: false,\n },\n }\n}\n","import chalk from 'chalk'\nimport path from 'path'\nimport {rollup} from 'rollup'\nimport {Observable} from 'rxjs'\n\nimport {BuildContext} from '../../core'\nimport {RollupTask, TaskHandler} from '../types'\nimport {createConsoleSpy} from './consoleSpy'\nimport {resolveRollupConfig} from './resolveRollupConfig'\n\n/** @internal */\nexport const rollupTask: TaskHandler<RollupTask> = {\n name: (ctx, task) =>\n [\n `Build javascript files...`,\n ` format: ${chalk.yellow(task.format)}`,\n ` target:`,\n ...task.target.map((t) => ` - ${chalk.yellow(t)}`),\n ` entries:`,\n ...task.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 ].join('\\n'),\n exec: (ctx, task) => {\n return new Observable((observer) => {\n execPromise(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => observer.error(err))\n })\n },\n complete: () => {\n //\n },\n error: (_ctx, _task, err) => {\n // eslint-disable-next-line no-console\n console.error(err)\n },\n}\n\nasync function execPromise(ctx: BuildContext, task: RollupTask) {\n const {distPath, files, logger} = ctx\n const outDir = path.relative(ctx.cwd, distPath)\n\n // Prevent rollup from printing directly to the console\n const consoleSpy = createConsoleSpy({\n onRestored: (messages) => {\n for (const msg of messages) {\n const text = String(msg.args[0])\n\n if (msg.code === 'CIRCULAR_DEPENDENCY') {\n continue // ignore\n }\n\n if (text.startsWith('Dynamic import can only')) {\n continue // ignore\n }\n\n if (text.startsWith('Sourcemap is likely to be incorrect')) {\n continue // ignore\n }\n\n if (msg.type === 'log') {\n logger.info(...msg.args)\n }\n\n if (msg.type === 'warn') {\n logger.warn(...msg.args)\n }\n\n if (msg.type === 'error') {\n logger.error(...msg.args)\n }\n }\n },\n })\n\n try {\n const {inputOptions, outputOptions} = resolveRollupConfig(ctx, task)\n\n // Create bundle\n const bundle = await rollup({\n ...inputOptions,\n onwarn(warning) {\n consoleSpy.messages.push({\n type: 'warn',\n code: warning.code,\n args: [warning.message],\n })\n },\n })\n\n // generate output specific code in-memory\n // you can call this function multiple times on the same bundle object\n const {output} = await bundle.generate(outputOptions)\n\n for (const chunkOrAsset of output) {\n if (chunkOrAsset.type === 'asset') {\n files.push({\n type: 'asset',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n } else {\n files.push({\n type: 'chunk',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n }\n }\n\n // or write the bundle to disk\n await bundle.write(outputOptions)\n\n // closes the bundle\n await bundle.close()\n\n // Restore console\n consoleSpy.restore()\n } catch (err) {\n // Restore console\n consoleSpy.restore()\n throw err\n }\n}\n","import chalk from 'chalk'\nimport path from 'path'\nimport {RollupWatcherEvent, RollupWatchOptions, watch as rollupWatch} from 'rollup'\nimport {Observable} from 'rxjs'\n\nimport {RollupWatchTask, TaskHandler} from '../types'\nimport {resolveRollupConfig} from './resolveRollupConfig'\n\n/** @internal */\nexport const rollupWatchTask: TaskHandler<RollupWatchTask, RollupWatcherEvent> = {\n name: (ctx, task) =>\n `build javascript files (target ${task.target.join(' + ')}, format ${\n task.format\n })\\n ${task.entries\n .map((e) => `${chalk.blue(path.join(ctx.pkg.name, e.path))}: ${e.source} -> ${e.output}`)\n .join('\\n ')}`,\n exec: (ctx, task) => {\n const {inputOptions, outputOptions} = resolveRollupConfig(ctx, task)\n\n return new Observable((observer) => {\n const watchOptions: RollupWatchOptions = {\n ...inputOptions,\n output: outputOptions,\n }\n\n const watcher = rollupWatch(watchOptions)\n\n watcher.on('event', (event) => {\n observer.next(event)\n })\n\n return () => {\n watcher.close()\n }\n })\n },\n complete: (ctx, task, event) => {\n const {logger} = ctx\n\n if (event.code === 'BUNDLE_END') {\n logger.success(\n `build javascript files (target ${task.target.join(' + ')}, format ${\n task.format\n })\\n ${task.entries\n .map((e) => `${chalk.blue(path.join(ctx.pkg.name, e.path))}: ${e.source} -> ${e.output}`)\n .join('\\n ')}`\n )\n logger.log('')\n\n return\n }\n\n if (event.code === 'BUNDLE_START') {\n return\n }\n\n if (event.code === 'END') {\n return\n }\n\n if (event.code === 'ERROR') {\n logger.error(event.code, event)\n\n return\n }\n\n if (event.code === 'START') {\n return\n }\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof Error) {\n logger.log(err)\n }\n },\n}\n","import {dtsTask, dtsWatchTask} from './dts'\nimport {nodeReexportCjsTask} from './node/reexportCjsTask'\nimport {rollupTask, rollupWatchTask} from './rollup'\nimport {BuildTaskHandlers, WatchTaskHandlers} from './types'\n\nexport * from './dts'\nexport * from './rollup'\nexport * from './types'\n\n/** @internal */\nexport const buildTaskHandlers: BuildTaskHandlers = {\n 'build:dts': dtsTask,\n 'build:js': rollupTask,\n 'node:reexport-cjs': nodeReexportCjsTask,\n}\n\n/** @internal */\nexport const watchTaskHandlers: WatchTaskHandlers = {\n 'watch:dts': dtsWatchTask,\n 'watch:js': rollupWatchTask,\n}\n"],"names":["printExtractMessages","ctx","messages","cwd","logger","warnings","filter","msg","logLevel","length","log","sourceFilePath","path","relative","messageId","concat","chalk","cyan","yellow","sourceFileLine","default","sourceFileColumn","gray","text","join","errors","red","process","exit","printDiagnostic","options","diagnostic","file","start","line","character","ts","getLineAndCharacterOfPosition","message","flattenDiagnosticMessageText","messageText","fileName","output","blue","code","category","DiagnosticCategory","Error","error","Warning","warn","Message","Suggestion","buildTypes","outDir","tsconfig","strict","compilerOptions","declaration","declarationDir","emitDeclarationOnly","noEmit","program","createProgram","fileNames","emitResult","emit","allDiagnostics","getPreEmitDiagnostics","diagnostics","emitSkipped","diag","DtsError","constructor","createApiExtractorConfig","distPath","exportPath","filePath","projectFolder","mainEntryPointFilePath","tsconfigPath","apiReport","enabled","reportFileName","compiler","tsconfigFilePath","docModel","apiJsonFilePath","resolve","dtsRollup","untrimmedFilePath","tsdocMetadata","createTSDocConfig","opts","customTags","tsDocBaseBuf","readFile","require","tsDocBaseConfig","parse","toString","tagDefinitions","map","t","tagName","name","syntaxKind","allowMultiple","supportForTags","customTag","TSDocConfigFile","loadFromObject","noStandardTags","extractModuleBlocksFromTypes","_ref","tsOutDir","extractResult","compilerState","moduleBlocks","allProgramFiles","getSourceFiles","sourceFiles","sourceFile","includes","push","extractModuleBlocks","fileContent","ast","parser","typeScriptParser","body","node","type","print","LOG_LEVELS","info","off","getExtractMessagesConfig","rules","ruleToLogLevel","key","defaultLevel","r","compilerMessageReporting","extractorMessageReporting","addToApiReportFile","tsdocMessageReporting","extractTypes","files","projectPath","sourceTypesPath","tmpPath","tsdocConfigFile","extractorConfig","ExtractorConfig","prepare","configObject","configObjectFullPath","packageJsonFullPath","extractorResult","Extractor","invoke","localBuild","showVerboseMessages","messageCallback","handled","typesPath","typesBuf","fs","prettierConfig","prettier","resolveConfig","mkdirp","dirname","writeFile","format","filepath","doExtract","task","_a","_b","config","configPath","results","rootDir","entry","entries","sourcePath","replace","targetPath","result","extract","some","rimraf","dtsTask","_ctx","importId","exec","Observable","observer","then","next","complete","catch","err","_task","dtsWatchTask","nodeReexportCjsTask","import","from","console","targetDir","mod","relativeImport","startsWith","slice","compileESMWrapper","keys","Object","k","__esModule","createConsoleSpy","onRestored","original","_len","arguments","args","Array","_key","_len2","_key2","_len3","_key3","restore","resolveRollupConfig","buildTask","_ref2","_ref5","_ref6","_ref7","_ref8","_ref9","_c","_d","runtime","target","exports","_exports","extMap","external","pkg","outputExt","minify","pathAliases","fromEntries","paths","_ref3","val","baseUrl","exportIds","sourcePaths","values","e","source","replacements","define","_ref4","JSON","stringify","defaultPlugins","preventAssignment","arg","find","env","PKG_VERSION","version","alias","nodeResolve","browser","extensions","preferBuiltins","commonjs","json","esbuild","jsx","jsxFactory","jsxFragment","jsxImportSource","getBabelOutputPlugin","babelrc","plugins","babel","presets","targets","browserslist","DEFAULT_BROWSERSLIST_QUERY","modules","terser","compress","directives","comments","_node","comment","value","test","Boolean","userPlugins","rollup","isArray","resolveConfigProperty","inputOptions","context","id","importer","idPath","idParts","split","input","reduce","acc","treeshake","propertyReadSideEffects","outputOptions","chunkFileNames","parts","compact","dir","entryFileNames","esModule","interop","minifyInternalExports","sourcemap","hoistTransitiveImports","rollupTask","execPromise","consoleSpy","String","bundle","onwarn","warning","generate","chunkOrAsset","write","close","rollupWatchTask","watchOptions","watcher","rollupWatch","on","event","success","buildTaskHandlers","watchTaskHandlers"],"mappings":"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"}