@sanity/pkg-utils 1.16.2 → 1.17.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/dist/_chunks/{_resolveBuildContext-0d61dcca.js → _resolveBuildContext-6a4ed92a.js} +14 -4
  2. package/dist/_chunks/_resolveBuildContext-6a4ed92a.js.map +1 -0
  3. package/dist/_chunks/{build-a822eb55.js → build-f2af311b.js} +3 -3
  4. package/dist/_chunks/{build-a822eb55.js.map → build-f2af311b.js.map} +1 -1
  5. package/dist/_chunks/{buildAction-2b54017d.js → buildAction-e362986d.js} +4 -4
  6. package/dist/_chunks/{buildAction-2b54017d.js.map → buildAction-e362986d.js.map} +1 -1
  7. package/dist/_chunks/{check-f86cdc15.js → check-abba8425.js} +2 -2
  8. package/dist/_chunks/{check-f86cdc15.js.map → check-abba8425.js.map} +1 -1
  9. package/dist/_chunks/{checkAction-ea939b95.js → checkAction-0ec1ffd5.js} +3 -3
  10. package/dist/_chunks/{checkAction-ea939b95.js.map → checkAction-0ec1ffd5.js.map} +1 -1
  11. package/dist/_chunks/{index-7ec7f61a.js → index-2c392b48.js} +49 -42
  12. package/dist/_chunks/index-2c392b48.js.map +1 -0
  13. package/dist/_chunks/{watch-79594e7f.js → watch-29c57619.js} +3 -3
  14. package/dist/_chunks/{watch-79594e7f.js.map → watch-29c57619.js.map} +1 -1
  15. package/dist/_chunks/{watchAction-8d500150.js → watchAction-65236621.js} +4 -4
  16. package/dist/_chunks/{watchAction-8d500150.js.map → watchAction-65236621.js.map} +1 -1
  17. package/dist/cli.js +4 -4
  18. package/dist/index.d.ts +14 -13
  19. package/dist/index.esm.js +68 -51
  20. package/dist/index.esm.js.map +1 -1
  21. package/dist/index.js +5 -5
  22. package/package.json +3 -2
  23. package/src/node/_core/pkg/_parseExports.ts +11 -1
  24. package/src/node/_core/pkg/_types.ts +14 -13
  25. package/src/node/_core/pkg/_validatePkg.ts +24 -21
  26. package/src/node/_tasks/dts/_declareModuleFix.ts +38 -26
  27. package/src/node/_tasks/dts/_doExtract.ts +3 -2
  28. package/dist/_chunks/_resolveBuildContext-0d61dcca.js.map +0 -1
  29. package/dist/_chunks/index-7ec7f61a.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-2c392b48.js","sources":["../../src/node/_printExtractMessages.ts","../../src/node/_tasks/dts/_buildTypes.ts","../../src/node/_tasks/dts/_declareModuleFix.ts","../../src/node/_tasks/dts/_DtsError.ts","../../src/node/_tasks/dts/_createApiExtractorConfig.ts","../../src/node/_tasks/dts/_createTSDocConfig.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/_rollupTask.ts","../../src/node/_tasks/rollup/_rollupWatchTask.ts","../../src/node/_tasks/index.ts"],"sourcesContent":["import path from 'path'\nimport {ExtractorMessage} from '@microsoft/api-extractor'\nimport chalk from 'chalk'\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 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","/* eslint-disable no-console */\n\nimport ts from 'typescript'\n\nexport const formatHost: ts.FormatDiagnosticsHost = {\n getCurrentDirectory: () => ts.sys.getCurrentDirectory(),\n getNewLine: () => ts.sys.newLine,\n getCanonicalFileName: ts.sys.useCaseSensitiveFileNames ? (f) => f : (f) => f.toLowerCase(),\n}\n\n/** @internal */\nexport async function _buildTypes(options: {\n cwd: string\n outDir: string\n tsconfig: ts.ParsedCommandLine\n strict: boolean\n}): Promise<void> {\n const {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 // TODO: improve logging\n allDiagnostics.forEach((diagnostic) => {\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 console.log(`${diagnostic.file.fileName} ${line + 1}:${character + 1}\\n${message}`)\n } else {\n console.log(ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n'))\n }\n })\n\n if (emitResult.emitSkipped) {\n const errors = allDiagnostics.filter((diag) => diag.category === ts.DiagnosticCategory.Error)\n\n if (errors.length) {\n console.error(ts.formatDiagnostics(errors, formatHost))\n\n if (strict) {\n throw new Error('failed to compile TypeScript definitions')\n }\n }\n }\n}\n","import fs from 'fs/promises'\nimport {ExtractorResult} from '@microsoft/api-extractor'\nimport {Program} from 'typescript'\n\n/**\n * '@microsoft/api-extractor' omits declare module blocks\n * This is a workaround that finds all module blocks in ts files and appends them to the result\n */\nexport async function _appendModuleBlocks({\n tsOutDir,\n extractResult,\n extractTypesOutFile,\n}: {\n tsOutDir: string\n extractResult: ExtractorResult\n extractTypesOutFile: string\n}): Promise<void> {\n const moduleBlocks = await _extractModuleBlocksFromTypes({tsOutDir, extractResult})\n\n if (moduleBlocks.length) {\n await fs.appendFile(extractTypesOutFile, '\\n' + moduleBlocks.join('\\n\\n'))\n }\n}\n\nasync function _extractModuleBlocksFromTypes({\n tsOutDir,\n extractResult,\n}: {\n tsOutDir: string\n extractResult: ExtractorResult\n}): Promise<string[]> {\n const moduleBlocks: string[] = []\n\n const program = extractResult.compilerState.program as Program\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\nexport function _extractModuleBlocks(fileContent: string): string[] {\n const moduleBlocks: string[] = []\n\n let moduleIndentLevel = 0\n let insideComment = false\n let moduleLines: string[] = []\n\n const lines = fileContent.split('\\n')\n\n for (const line of lines) {\n // Note: Extractor already removes comment blocks, so fileContent is typically already comment free\n // This is just defensive code, just in case\n if (insideComment && line.includes('*/')) {\n insideComment = false\n } else if (!insideComment && line.includes('/*') && line.includes('*/')) {\n continue // it's a one-line comment\n } else if (!insideComment && line.includes('/*')) {\n insideComment = true\n }\n\n if (insideComment) {\n continue\n }\n\n if (!moduleLines.length) {\n const isModuleDeclaration = line.match(/^\\s*declare module.+$/)?.length\n const moduleIndex = line.indexOf('declare module')\n const isModuleStart = isModuleDeclaration && moduleIndex > -1\n\n if (isModuleStart) {\n moduleIndentLevel = moduleIndex\n moduleLines = [line]\n }\n } else {\n moduleLines.push(line)\n const blockEndIndex = line.indexOf('}')\n\n if (blockEndIndex === moduleIndentLevel) {\n moduleBlocks.push(\n moduleLines.map((l) => l.substring(moduleIndentLevel, l.length)).join('\\n')\n )\n moduleLines = []\n }\n }\n }\n\n return moduleBlocks\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 path from 'path'\nimport {IConfigFile, IExtractorMessagesConfig} from '@microsoft/api-extractor'\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 {readFile} from 'fs/promises'\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 {ExtractorLogLevel, IExtractorMessagesConfig} from '@microsoft/api-extractor'\nimport {PkgRuleLevel, PkgConfigOptions} 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 'fs/promises'\nimport path from 'path'\nimport {\n Extractor,\n ExtractorConfig,\n ExtractorMessage,\n ExtractorResult,\n} from '@microsoft/api-extractor'\nimport mkdirp from 'mkdirp'\nimport prettier from 'prettier'\nimport {PkgConfigOptions, _BuildFile} from '../../_core'\nimport {_createApiExtractorConfig} from './_createApiExtractorConfig'\nimport {_createTSDocConfig} from './_createTSDocConfig'\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 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 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 await fs.writeFile(\n typesPath,\n prettier.format(typesBuf.toString(), {\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 path from 'path'\nimport {promisify} from 'util'\nimport {ExtractorMessage} from '@microsoft/api-extractor'\nimport rimrafCallback from 'rimraf'\nimport {_BuildContext} from '../../_core'\nimport {_buildTypes} from './_buildTypes'\nimport {_appendModuleBlocks} from './_declareModuleFix'\nimport {_DtsError} from './_DtsError'\nimport {_extractTypes} from './_extractTypes'\nimport {_DtsResult, _DtsTask, _DtsWatchTask} from './_types'\n\nconst rimraf = promisify(rimrafCallback)\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, 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, 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 exportPath,\n files,\n filePath: filePath,\n projectPath: cwd,\n rules: config?.extract?.rules,\n sourceTypesPath: sourceTypesPath,\n tsconfigPath: path.resolve(cwd, ts.configPath || 'tsconfig.json'),\n distPath: outDir,\n })\n\n await _appendModuleBlocks({\n tsOutDir: tmpPath,\n extractResult: result.extractorResult,\n extractTypesOutFile: path.resolve(outDir, targetPath),\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'\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 ...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) => {\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'\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 path from 'path'\nimport 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 {InputOptions, OutputOptions, Plugin} from 'rollup'\nimport esbuild from 'rollup-plugin-esbuild'\nimport {terser} from 'rollup-plugin-terser'\nimport {_BuildContext, _DEFAULTS, _MODULE_EXT, _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, external, distPath, logger, pkg, ts} = ctx\n const outputExt = _MODULE_EXT[pkg.type][format]\n const minify = config?.minify ?? true\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 esmExternals: false,\n extensions: ['.js'],\n // include: /\\/node_modules\\//,\n // requireReturnsDefault: 'namespace',\n }),\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: ['@babel/plugin-proposal-object-rest-spread'],\n presets: [['@babel/preset-env', {targets: pkg.browserslist || _DEFAULTS.browserslist}]],\n }),\n minify &&\n terser({\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 onwarn(warning, rollupWarn) {\n if (!warning.code || !['CIRCULAR_DEPENDENCY'].includes(warning.code)) {\n rollupWarn(warning)\n }\n },\n\n plugins,\n\n treeshake: {\n propertyReadSideEffects: false,\n },\n },\n outputOptions: {\n chunkFileNames: () => `_chunks/[name]-[hash]${outputExt}`,\n dir: outDir,\n entryFileNames: () => (outputExt === '.esm.js' ? `[name].js` : `[name]${outputExt}`),\n format,\n exports: 'auto',\n sourcemap: config?.sourcemap ?? true,\n },\n }\n}\n","/* eslint-disable no-console */\n\nimport path from 'path'\nimport chalk from 'chalk'\nimport {rollup} from 'rollup'\nimport {Observable} from 'rxjs'\nimport {_BuildContext} from '../../_core'\nimport {_RollupTask, _TaskHandler} from '../_types'\nimport {_resolveRollupConfig} from './_resolveRollupConfig'\n\n/** @internal */\nexport const _rollupTask: _TaskHandler<_RollupTask> = {\n name: (ctx, task) =>\n `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 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 if (err instanceof Error) {\n console.log(err)\n }\n },\n}\n\nasync function _execPromise(ctx: _BuildContext, task: _RollupTask) {\n const {files, distPath} = ctx\n const outDir = path.relative(ctx.cwd, distPath)\n\n const {inputOptions, outputOptions} = _resolveRollupConfig(ctx, task)\n\n // Create bundle\n const bundle = await rollup(inputOptions)\n\n // an array of file names this bundle depends on\n // console.log(bundle.watchFiles)\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","import path from 'path'\nimport chalk from 'chalk'\nimport {RollupWatcherEvent, RollupWatchOptions, watch as rollupWatch} from 'rollup'\nimport {Observable} from 'rxjs'\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.log('')\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 {_BuildTaskHandlers, _WatchTaskHandlers} from './_types'\nimport {_dtsTask, _dtsWatchTask} from './dts'\nimport {_rollupTask, _rollupWatchTask} from './rollup'\n\nexport * from './_types'\nexport * from './dts'\nexport * from './rollup'\n\n/** @internal */\nexport const _buildTaskHandlers: _BuildTaskHandlers = {\n 'build:dts': _dtsTask,\n 'build:js': _rollupTask,\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","chalk","cyan","yellow","sourceFileLine","sourceFileColumn","gray","text","join","errors","red","process","exit","formatHost","getCurrentDirectory","ts","sys","getNewLine","newLine","getCanonicalFileName","useCaseSensitiveFileNames","f","toLowerCase","_buildTypes","options","outDir","tsconfig","strict","compilerOptions","declaration","declarationDir","emitDeclarationOnly","noEmit","program","createProgram","fileNames","emitResult","emit","allDiagnostics","getPreEmitDiagnostics","concat","diagnostics","forEach","diagnostic","file","start","line","character","getLineAndCharacterOfPosition","message","flattenDiagnosticMessageText","messageText","console","fileName","emitSkipped","diag","category","DiagnosticCategory","Error","error","formatDiagnostics","_appendModuleBlocks","tsOutDir","extractResult","extractTypesOutFile","moduleBlocks","_extractModuleBlocksFromTypes","fs","appendFile","compilerState","allProgramFiles","getSourceFiles","sourceFiles","sourceFile","includes","push","_extractModuleBlocks","fileContent","_a","moduleIndentLevel","insideComment","moduleLines","lines","split","isModuleDeclaration","match","moduleIndex","indexOf","isModuleStart","blockEndIndex","map","l","substring","_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","t","tagName","name","syntaxKind","allowMultiple","supportForTags","customTag","TSDocConfigFile","loadFromObject","noStandardTags","_LOG_LEVELS","info","off","warn","_getExtractMessagesConfig","rules","_ruleToLogLevel","key","defaultLevel","r","compilerMessageReporting","default","extractorMessageReporting","addToApiReportFile","tsdocMessageReporting","_extractTypes","files","projectPath","sourceTypesPath","tsdocConfigFile","extractorConfig","ExtractorConfig","prepare","configObject","configObjectFullPath","packageJsonFullPath","extractorResult","Extractor","invoke","localBuild","showVerboseMessages","messageCallback","handled","typesPath","typesBuf","prettierConfig","prettier","resolveConfig","mkdirp","dirname","writeFile","format","filepath","type","rimraf","promisify","rimrafCallback","_doExtract","task","_b","config","configPath","results","rootDir","tmpPath","entry","entries","sourcePath","replace","targetPath","result","extract","some","_dtsTask","_ctx","blue","importId","exec","Observable","observer","then","next","complete","catch","err","_task","_dtsWatchTask","_resolveRollupConfig","buildTask","_c","runtime","target","exports","_exports","external","pkg","outputExt","_MODULE_EXT","minify","pathAliases","Object","fromEntries","paths","val","_a2","baseUrl","output","exportIds","keys","sourcePaths","values","e","source","replacements","define","JSON","stringify","defaultPlugins","preventAssignment","arg","find","env","PKG_VERSION","version","alias","nodeResolve","browser","extensions","preferBuiltins","commonjs","esmExternals","json","esbuild","jsx","jsxFactory","jsxFragment","jsxImportSource","getBabelOutputPlugin","babelrc","plugins","presets","targets","browserslist","_DEFAULTS","terser","comments","_node","comment","value","test","Boolean","userPlugins","rollup","Array","isArray","_resolveConfigProperty","inputOptions","context","id","importer","startsWith","idPath","idParts","input","reduce","acc","onwarn","warning","rollupWarn","code","treeshake","propertyReadSideEffects","outputOptions","chunkFileNames","dir","entryFileNames","sourcemap","_rollupTask","_execPromise","bundle","generate","chunkOrAsset","write","close","_rollupWatchTask","watchOptions","watcher","rollupWatch","on","event","success","_buildTaskHandlers","_watchTaskHandlers"],"mappings":"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"}
@@ -10,7 +10,7 @@ var path = require('path');
10
10
 
11
11
  var rxjs = require('rxjs');
12
12
 
13
- var _resolveBuildContext = require('./_resolveBuildContext-0d61dcca.js');
13
+ var _resolveBuildContext = require('./_resolveBuildContext-6a4ed92a.js');
14
14
 
15
15
  require('fs/promises');
16
16
 
@@ -20,7 +20,7 @@ require('typescript');
20
20
 
21
21
  var fs = require('fs');
22
22
 
23
- var index = require('./index-7ec7f61a.js');
23
+ var index = require('./index-2c392b48.js');
24
24
 
25
25
  var chalk = require('chalk');
26
26
 
@@ -274,4 +274,4 @@ async function watch(options) {
274
274
  }
275
275
 
276
276
  exports.watch = watch;
277
- //# sourceMappingURL=watch-79594e7f.js.map
277
+ //# sourceMappingURL=watch-29c57619.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"watch-79594e7f.js","sources":["../../src/node/_resolveWatchTasks.ts","../../src/node/_globFiles.ts","../../src/node/_watchFiles.ts","../../src/node/_watchConfigFiles.ts","../../src/node/watch.ts"],"sourcesContent":["import fs from 'fs'\nimport path from 'path'\nimport {PkgExport, PkgFormat, PkgRuntime, _BuildContext} from './_core'\nimport {_WatchTask, _DtsWatchTask, _RollupWatchTask, _RollupTaskEntry} from './_tasks'\n\n/** @internal */\nexport function _resolveWatchTasks(ctx: _BuildContext): _WatchTask[] {\n const {config, cwd, pkg, target} = ctx\n const tasks: _WatchTask[] = []\n\n const exports = Object.entries(ctx.exports || {}).map(\n ([_path, exp]) => ({_path, ...exp} as PkgExport & {_path: string})\n )\n\n const dtsTask: _DtsWatchTask = {\n type: 'watch:dts',\n entries: [],\n }\n\n const rollupTasks: Record<string, _RollupWatchTask> = {}\n\n function _addRollupTaskEntry(format: PkgFormat, runtime: PkgRuntime, entry: _RollupTaskEntry) {\n const buildId = `${format}:${runtime}`\n\n if (rollupTasks[buildId]) {\n rollupTasks[buildId].entries.push(entry)\n } else {\n rollupTasks[buildId] = {\n type: 'watch:js',\n buildId,\n entries: [entry],\n runtime,\n format,\n target: target[runtime],\n }\n }\n }\n\n // Parse `dts` tasks\n for (const exp of exports) {\n const importId = path.join(pkg.name, exp._path)\n\n if (exp.types) {\n dtsTask.entries.push({\n importId,\n exportPath: exp._path,\n sourcePath: exp.source,\n targetPath: exp.types,\n })\n }\n }\n\n // Parse rollup:commonjs:* tasks\n for (const exp of exports) {\n const output = exp.require\n\n if (!output) continue\n\n _addRollupTaskEntry('commonjs', ctx.runtime, {\n path: exp._path,\n source: exp.source,\n output,\n })\n }\n\n // Parse rollup:commonjs:browser tasks\n for (const exp of exports) {\n const output = exp.browser?.require\n\n if (!output) continue\n\n _addRollupTaskEntry('commonjs', 'browser', {\n path: exp._path,\n source: exp.browser?.source || exp.source,\n output,\n })\n }\n\n // Parse rollup:esm:* tasks\n for (const exp of exports) {\n const output = exp.import\n\n if (!output) continue\n\n _addRollupTaskEntry('esm', ctx.runtime, {\n path: exp._path,\n source: exp.source,\n output,\n })\n }\n\n // Parse rollup:esm:browser tasks\n for (const exp of exports) {\n const output = exp.browser?.import\n\n if (!output) continue\n\n _addRollupTaskEntry('esm', 'browser', {\n path: exp._path,\n source: exp.browser?.source || exp.source,\n output,\n })\n }\n\n if (dtsTask.entries.length) {\n tasks.push(dtsTask)\n }\n\n tasks.push(...Object.values(rollupTasks))\n\n // Write legacy exports files\n if (config?.legacyExports) {\n for (const exp of exports) {\n if (exp._exported && exp._path !== '.') {\n const relativeTargetPath = (exp.browser?.import || exp.import || '').replace(\n /\\.[^/.]+$/,\n ''\n )\n\n if (relativeTargetPath) {\n fs.writeFileSync(\n path.resolve(cwd, `${exp._path}.js`),\n [`// AUTO-GENERATED – DO NOT EDIT`, `export * from '${relativeTargetPath}'`, ``].join(\n '\\n'\n )\n )\n }\n }\n }\n }\n\n return tasks\n}\n","import globby from 'globby'\n\nexport function _globFiles(patterns: string[]): Promise<string[]> {\n return globby(patterns)\n}\n","import chokidar from 'chokidar'\nimport {Observable} from 'rxjs'\n\nexport interface _FileEvent {\n type: 'add' | 'addDir' | 'change' | 'unlink' | 'unlinkDir'\n file: string\n}\n\nexport function _watchFiles(patterns: string[]): Observable<_FileEvent> {\n return new Observable((observer) => {\n const watcher = chokidar.watch(patterns, {\n ignoreInitial: true,\n })\n\n function _handleFileEvent(\n type: 'add' | 'addDir' | 'change' | 'unlink' | 'unlinkDir',\n file: string\n ) {\n observer.next({type, file})\n }\n\n watcher.on('all', _handleFileEvent)\n\n return () => {\n watcher.off('all', _handleFileEvent)\n watcher.close()\n }\n })\n}\n","import path from 'path'\nimport chalk from 'chalk'\nimport {Observable} from 'rxjs'\nimport {distinctUntilChanged, scan, startWith} from 'rxjs/operators'\nimport {_globFiles} from './_globFiles'\nimport {_watchFiles} from './_watchFiles'\n\nexport async function _watchConfigFiles(options: {cwd: string}): Promise<Observable<string[]>> {\n const {cwd} = options\n\n const initialFiles = await _globFiles([\n path.resolve(cwd, 'package.json'),\n path.resolve(cwd, 'package.config.cjs'),\n path.resolve(cwd, 'package.config.js'),\n path.resolve(cwd, 'package.config.ts'),\n ])\n\n const fileEvent$ = _watchFiles([\n path.resolve(cwd, 'package.json'),\n path.resolve(cwd, 'package.config.cjs'),\n path.resolve(cwd, 'package.config.js'),\n path.resolve(cwd, 'package.config.ts'),\n ])\n\n return fileEvent$.pipe(\n scan((files, fileEvent) => {\n if (fileEvent.type === 'add') {\n return files.concat(fileEvent.file)\n }\n\n if (fileEvent.type === 'unlink') {\n return files.filter((f) => f !== fileEvent.file)\n }\n\n if (fileEvent.type === 'change') {\n /* eslint-disable no-console */\n console.log(\n '--------------------------------------------------------------------------------'\n )\n console.log(chalk.blue('info '), path.relative(cwd, fileEvent.file), 'changed')\n console.log('')\n /* eslint-enable no-console */\n\n return files.slice(0) // trigger update\n }\n\n return files\n }, initialFiles),\n startWith(initialFiles),\n distinctUntilChanged()\n )\n}\n","import path from 'path'\nimport {switchMap} from 'rxjs'\nimport {_loadConfig, _loadPkgWithReporting} from './_core'\nimport {_resolveBuildContext} from './_resolveBuildContext'\nimport {_resolveWatchTasks} from './_resolveWatchTasks'\nimport {_WatchTask, _TaskHandler, _watchTaskHandlers} from './_tasks'\nimport {_watchConfigFiles} from './_watchConfigFiles'\n\n/** @public */\nexport async function watch(options: {\n cwd: string\n strict?: boolean\n tsconfig?: string\n}): Promise<void> {\n const {cwd, strict = false, tsconfig: tsconfigOption} = options\n\n const configFiles$ = await _watchConfigFiles({cwd})\n\n const ctx$ = configFiles$.pipe(\n switchMap(async (configFiles) => {\n const _files = configFiles.map((f) => path.relative(cwd, f))\n\n const packageJsonPath = _files.find((f) => f === 'package.json')\n\n if (!packageJsonPath) {\n throw new Error('missing package.json')\n }\n\n const pkg = await _loadPkgWithReporting({cwd})\n const config = await _loadConfig({cwd})\n const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'\n\n return _resolveBuildContext({config, cwd, pkg, strict, tsconfig})\n })\n )\n\n ctx$.subscribe(async (ctx) => {\n const watchTasks = _resolveWatchTasks(ctx)\n\n for (const task of watchTasks) {\n const handler = _watchTaskHandlers[task.type] as _TaskHandler<_WatchTask, unknown>\n const result$ = handler.exec(ctx, task)\n\n result$.subscribe({\n error: (err) => {\n ctx.logger.error(err)\n ctx.logger.log()\n\n process.exit(1)\n },\n next: (result) => {\n handler.complete(ctx, task, result)\n },\n complete: () => {\n ctx.logger.success(handler.name(ctx, task))\n ctx.logger.log()\n },\n })\n }\n })\n}\n"],"names":["_resolveWatchTasks","ctx","_a","_b","_c","_d","_e","config","cwd","pkg","target","tasks","exports","Object","entries","map","_path","exp","dtsTask","type","rollupTasks","_addRollupTaskEntry","format","runtime","entry","buildId","push","importId","path","join","name","types","exportPath","sourcePath","source","targetPath","output","require","browser","import","length","values","legacyExports","_exported","relativeTargetPath","replace","fs","writeFileSync","resolve","_globFiles","patterns","globby","_watchFiles","Observable","observer","watcher","chokidar","watch","ignoreInitial","_handleFileEvent","file","next","on","off","close","_watchConfigFiles","options","initialFiles","fileEvent$","pipe","scan","files","fileEvent","concat","filter","f","console","log","chalk","blue","relative","slice","startWith","distinctUntilChanged","strict","tsconfig","tsconfigOption","configFiles$","ctx$","switchMap","configFiles","_files","packageJsonPath","find","Error","_loadPkgWithReporting","_loadConfig","_resolveBuildContext","subscribe","watchTasks","task","handler","_watchTaskHandlers","result$","exec","error","err","logger","process","exit","result","complete","success"],"mappings":"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"}
1
+ {"version":3,"file":"watch-29c57619.js","sources":["../../src/node/_resolveWatchTasks.ts","../../src/node/_globFiles.ts","../../src/node/_watchFiles.ts","../../src/node/_watchConfigFiles.ts","../../src/node/watch.ts"],"sourcesContent":["import fs from 'fs'\nimport path from 'path'\nimport {PkgExport, PkgFormat, PkgRuntime, _BuildContext} from './_core'\nimport {_WatchTask, _DtsWatchTask, _RollupWatchTask, _RollupTaskEntry} from './_tasks'\n\n/** @internal */\nexport function _resolveWatchTasks(ctx: _BuildContext): _WatchTask[] {\n const {config, cwd, pkg, target} = ctx\n const tasks: _WatchTask[] = []\n\n const exports = Object.entries(ctx.exports || {}).map(\n ([_path, exp]) => ({_path, ...exp} as PkgExport & {_path: string})\n )\n\n const dtsTask: _DtsWatchTask = {\n type: 'watch:dts',\n entries: [],\n }\n\n const rollupTasks: Record<string, _RollupWatchTask> = {}\n\n function _addRollupTaskEntry(format: PkgFormat, runtime: PkgRuntime, entry: _RollupTaskEntry) {\n const buildId = `${format}:${runtime}`\n\n if (rollupTasks[buildId]) {\n rollupTasks[buildId].entries.push(entry)\n } else {\n rollupTasks[buildId] = {\n type: 'watch:js',\n buildId,\n entries: [entry],\n runtime,\n format,\n target: target[runtime],\n }\n }\n }\n\n // Parse `dts` tasks\n for (const exp of exports) {\n const importId = path.join(pkg.name, exp._path)\n\n if (exp.types) {\n dtsTask.entries.push({\n importId,\n exportPath: exp._path,\n sourcePath: exp.source,\n targetPath: exp.types,\n })\n }\n }\n\n // Parse rollup:commonjs:* tasks\n for (const exp of exports) {\n const output = exp.require\n\n if (!output) continue\n\n _addRollupTaskEntry('commonjs', ctx.runtime, {\n path: exp._path,\n source: exp.source,\n output,\n })\n }\n\n // Parse rollup:commonjs:browser tasks\n for (const exp of exports) {\n const output = exp.browser?.require\n\n if (!output) continue\n\n _addRollupTaskEntry('commonjs', 'browser', {\n path: exp._path,\n source: exp.browser?.source || exp.source,\n output,\n })\n }\n\n // Parse rollup:esm:* tasks\n for (const exp of exports) {\n const output = exp.import\n\n if (!output) continue\n\n _addRollupTaskEntry('esm', ctx.runtime, {\n path: exp._path,\n source: exp.source,\n output,\n })\n }\n\n // Parse rollup:esm:browser tasks\n for (const exp of exports) {\n const output = exp.browser?.import\n\n if (!output) continue\n\n _addRollupTaskEntry('esm', 'browser', {\n path: exp._path,\n source: exp.browser?.source || exp.source,\n output,\n })\n }\n\n if (dtsTask.entries.length) {\n tasks.push(dtsTask)\n }\n\n tasks.push(...Object.values(rollupTasks))\n\n // Write legacy exports files\n if (config?.legacyExports) {\n for (const exp of exports) {\n if (exp._exported && exp._path !== '.') {\n const relativeTargetPath = (exp.browser?.import || exp.import || '').replace(\n /\\.[^/.]+$/,\n ''\n )\n\n if (relativeTargetPath) {\n fs.writeFileSync(\n path.resolve(cwd, `${exp._path}.js`),\n [`// AUTO-GENERATED – DO NOT EDIT`, `export * from '${relativeTargetPath}'`, ``].join(\n '\\n'\n )\n )\n }\n }\n }\n }\n\n return tasks\n}\n","import globby from 'globby'\n\nexport function _globFiles(patterns: string[]): Promise<string[]> {\n return globby(patterns)\n}\n","import chokidar from 'chokidar'\nimport {Observable} from 'rxjs'\n\nexport interface _FileEvent {\n type: 'add' | 'addDir' | 'change' | 'unlink' | 'unlinkDir'\n file: string\n}\n\nexport function _watchFiles(patterns: string[]): Observable<_FileEvent> {\n return new Observable((observer) => {\n const watcher = chokidar.watch(patterns, {\n ignoreInitial: true,\n })\n\n function _handleFileEvent(\n type: 'add' | 'addDir' | 'change' | 'unlink' | 'unlinkDir',\n file: string\n ) {\n observer.next({type, file})\n }\n\n watcher.on('all', _handleFileEvent)\n\n return () => {\n watcher.off('all', _handleFileEvent)\n watcher.close()\n }\n })\n}\n","import path from 'path'\nimport chalk from 'chalk'\nimport {Observable} from 'rxjs'\nimport {distinctUntilChanged, scan, startWith} from 'rxjs/operators'\nimport {_globFiles} from './_globFiles'\nimport {_watchFiles} from './_watchFiles'\n\nexport async function _watchConfigFiles(options: {cwd: string}): Promise<Observable<string[]>> {\n const {cwd} = options\n\n const initialFiles = await _globFiles([\n path.resolve(cwd, 'package.json'),\n path.resolve(cwd, 'package.config.cjs'),\n path.resolve(cwd, 'package.config.js'),\n path.resolve(cwd, 'package.config.ts'),\n ])\n\n const fileEvent$ = _watchFiles([\n path.resolve(cwd, 'package.json'),\n path.resolve(cwd, 'package.config.cjs'),\n path.resolve(cwd, 'package.config.js'),\n path.resolve(cwd, 'package.config.ts'),\n ])\n\n return fileEvent$.pipe(\n scan((files, fileEvent) => {\n if (fileEvent.type === 'add') {\n return files.concat(fileEvent.file)\n }\n\n if (fileEvent.type === 'unlink') {\n return files.filter((f) => f !== fileEvent.file)\n }\n\n if (fileEvent.type === 'change') {\n /* eslint-disable no-console */\n console.log(\n '--------------------------------------------------------------------------------'\n )\n console.log(chalk.blue('info '), path.relative(cwd, fileEvent.file), 'changed')\n console.log('')\n /* eslint-enable no-console */\n\n return files.slice(0) // trigger update\n }\n\n return files\n }, initialFiles),\n startWith(initialFiles),\n distinctUntilChanged()\n )\n}\n","import path from 'path'\nimport {switchMap} from 'rxjs'\nimport {_loadConfig, _loadPkgWithReporting} from './_core'\nimport {_resolveBuildContext} from './_resolveBuildContext'\nimport {_resolveWatchTasks} from './_resolveWatchTasks'\nimport {_WatchTask, _TaskHandler, _watchTaskHandlers} from './_tasks'\nimport {_watchConfigFiles} from './_watchConfigFiles'\n\n/** @public */\nexport async function watch(options: {\n cwd: string\n strict?: boolean\n tsconfig?: string\n}): Promise<void> {\n const {cwd, strict = false, tsconfig: tsconfigOption} = options\n\n const configFiles$ = await _watchConfigFiles({cwd})\n\n const ctx$ = configFiles$.pipe(\n switchMap(async (configFiles) => {\n const _files = configFiles.map((f) => path.relative(cwd, f))\n\n const packageJsonPath = _files.find((f) => f === 'package.json')\n\n if (!packageJsonPath) {\n throw new Error('missing package.json')\n }\n\n const pkg = await _loadPkgWithReporting({cwd})\n const config = await _loadConfig({cwd})\n const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'\n\n return _resolveBuildContext({config, cwd, pkg, strict, tsconfig})\n })\n )\n\n ctx$.subscribe(async (ctx) => {\n const watchTasks = _resolveWatchTasks(ctx)\n\n for (const task of watchTasks) {\n const handler = _watchTaskHandlers[task.type] as _TaskHandler<_WatchTask, unknown>\n const result$ = handler.exec(ctx, task)\n\n result$.subscribe({\n error: (err) => {\n ctx.logger.error(err)\n ctx.logger.log()\n\n process.exit(1)\n },\n next: (result) => {\n handler.complete(ctx, task, result)\n },\n complete: () => {\n ctx.logger.success(handler.name(ctx, task))\n ctx.logger.log()\n },\n })\n }\n })\n}\n"],"names":["_resolveWatchTasks","ctx","_a","_b","_c","_d","_e","config","cwd","pkg","target","tasks","exports","Object","entries","map","_path","exp","dtsTask","type","rollupTasks","_addRollupTaskEntry","format","runtime","entry","buildId","push","importId","path","join","name","types","exportPath","sourcePath","source","targetPath","output","require","browser","import","length","values","legacyExports","_exported","relativeTargetPath","replace","fs","writeFileSync","resolve","_globFiles","patterns","globby","_watchFiles","Observable","observer","watcher","chokidar","watch","ignoreInitial","_handleFileEvent","file","next","on","off","close","_watchConfigFiles","options","initialFiles","fileEvent$","pipe","scan","files","fileEvent","concat","filter","f","console","log","chalk","blue","relative","slice","startWith","distinctUntilChanged","strict","tsconfig","tsconfigOption","configFiles$","ctx$","switchMap","configFiles","_files","packageJsonPath","find","Error","_loadPkgWithReporting","_loadConfig","_resolveBuildContext","subscribe","watchTasks","task","handler","_watchTaskHandlers","result$","exec","error","err","logger","process","exit","result","complete","success"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEO,SAASA,kBAAT,CAA4BC,GAA5B,EAAiC;EACtC,IAAIC,EAAJ,EAAQC,EAAR,EAAYC,EAAZ,EAAgBC,EAAhB,EAAoBC,EAApB;;EACA,MAAM;IAAEC,MAAF;IAAUC,GAAV;IAAeC,GAAf;IAAoBC;EAApB,IAA+BT,GAArC;EACA,MAAMU,KAAK,GAAG,EAAd;EACA,MAAMC,OAAO,GAAGC,MAAM,CAACC,OAAP,CAAeb,GAAG,CAACW,OAAJ,IAAe,EAA9B,EAAkCG,GAAlC,CACd;IAAA,IAAC,CAACC,KAAD,EAAQC,GAAR,CAAD;IAAA;MAAqBD;IAArB,GAA+BC,GAA/B;EAAA,CADc,CAAhB;EAGA,MAAMC,OAAO,GAAG;IACdC,IAAI,EAAE,WADQ;IAEdL,OAAO,EAAE;EAFK,CAAhB;EAIA,MAAMM,WAAW,GAAG,EAApB;;EACA,SAASC,mBAAT,CAA6BC,MAA7B,EAAqCC,OAArC,EAA8CC,KAA9C,EAAqD;IACnD,MAAMC,OAAO,aAAMH,MAAN,cAAgBC,OAAhB,CAAb;;IACA,IAAIH,WAAW,CAACK,OAAD,CAAf,EAA0B;MACxBL,WAAW,CAACK,OAAD,CAAX,CAAqBX,OAArB,CAA6BY,IAA7B,CAAkCF,KAAlC;IACD,CAFD,MAEO;MACLJ,WAAW,CAACK,OAAD,CAAX,GAAuB;QACrBN,IAAI,EAAE,UADe;QAErBM,OAFqB;QAGrBX,OAAO,EAAE,CAACU,KAAD,CAHY;QAIrBD,OAJqB;QAKrBD,MALqB;QAMrBZ,MAAM,EAAEA,MAAM,CAACa,OAAD;MANO,CAAvB;IAQD;EACF;;EACD,KAAK,MAAMN,GAAX,IAAkBL,OAAlB,EAA2B;IACzB,MAAMe,QAAQ,GAAGC,aAAAA,CAAAA,SAAAA,CAAAA,CAAKC,IAALD,CAAUnB,GAAG,CAACqB,IAAdF,EAAoBX,GAAG,CAACD,KAAxBY,CAAjB;;IACA,IAAIX,GAAG,CAACc,KAAR,EAAe;MACbb,OAAO,CAACJ,OAAR,CAAgBY,IAAhB,CAAqB;QACnBC,QADmB;QAEnBK,UAAU,EAAEf,GAAG,CAACD,KAFG;QAGnBiB,UAAU,EAAEhB,GAAG,CAACiB,MAHG;QAInBC,UAAU,EAAElB,GAAG,CAACc;MAJG,CAArB;IAMD;EACF;;EACD,KAAK,MAAMd,GAAX,IAAkBL,OAAlB,EAA2B;IACzB,MAAMwB,MAAM,GAAGnB,GAAG,CAACoB,OAAnB;IACA,IAAI,CAACD,MAAL,EACE;;IACFf,mBAAmB,CAAC,UAAD,EAAapB,GAAG,CAACsB,OAAjB,EAA0B;MAC3CK,IAAI,EAAEX,GAAG,CAACD,KADiC;MAE3CkB,MAAM,EAAEjB,GAAG,CAACiB,MAF+B;MAG3CE;IAH2C,CAA1B,CAAnB;EAKD;;EACD,KAAK,MAAMnB,GAAX,IAAkBL,OAAlB,EAA2B;IACzB,MAAMwB,MAAM,GAAG,CAAClC,EAAE,GAAGe,GAAG,CAACqB,OAAV,KAAsB,IAAtB,GAA6B,KAAK,CAAlC,GAAsCpC,EAAE,CAACmC,OAAxD;IACA,IAAI,CAACD,MAAL,EACE;;IACFf,mBAAmB,CAAC,UAAD,EAAa,SAAb,EAAwB;MACzCO,IAAI,EAAEX,GAAG,CAACD,KAD+B;MAEzCkB,MAAM,EAAE,CAAC,CAAC/B,EAAE,GAAGc,GAAG,CAACqB,OAAV,KAAsB,IAAtB,GAA6B,KAAK,CAAlC,GAAsCnC,EAAE,CAAC+B,MAA1C,KAAqDjB,GAAG,CAACiB,MAFxB;MAGzCE;IAHyC,CAAxB,CAAnB;EAKD;;EACD,KAAK,MAAMnB,GAAX,IAAkBL,OAAlB,EAA2B;IACzB,MAAMwB,MAAM,GAAGnB,GAAG,CAACsB,MAAnB;IACA,IAAI,CAACH,MAAL,EACE;;IACFf,mBAAmB,CAAC,KAAD,EAAQpB,GAAG,CAACsB,OAAZ,EAAqB;MACtCK,IAAI,EAAEX,GAAG,CAACD,KAD4B;MAEtCkB,MAAM,EAAEjB,GAAG,CAACiB,MAF0B;MAGtCE;IAHsC,CAArB,CAAnB;EAKD;;EACD,KAAK,MAAMnB,GAAX,IAAkBL,OAAlB,EAA2B;IACzB,MAAMwB,MAAM,GAAG,CAAChC,EAAE,GAAGa,GAAG,CAACqB,OAAV,KAAsB,IAAtB,GAA6B,KAAK,CAAlC,GAAsClC,EAAE,CAACmC,MAAxD;IACA,IAAI,CAACH,MAAL,EACE;;IACFf,mBAAmB,CAAC,KAAD,EAAQ,SAAR,EAAmB;MACpCO,IAAI,EAAEX,GAAG,CAACD,KAD0B;MAEpCkB,MAAM,EAAE,CAAC,CAAC7B,EAAE,GAAGY,GAAG,CAACqB,OAAV,KAAsB,IAAtB,GAA6B,KAAK,CAAlC,GAAsCjC,EAAE,CAAC6B,MAA1C,KAAqDjB,GAAG,CAACiB,MAF7B;MAGpCE;IAHoC,CAAnB,CAAnB;EAKD;;EACD,IAAIlB,OAAO,CAACJ,OAAR,CAAgB0B,MAApB,EAA4B;IAC1B7B,KAAK,CAACe,IAAN,CAAWR,OAAX;EACD;;EACDP,KAAK,CAACe,IAAN,CAAW,GAAGb,MAAM,CAAC4B,MAAP,CAAcrB,WAAd,CAAd;;EACA,IAAIb,MAAM,IAAI,IAAV,GAAiB,KAAK,CAAtB,GAA0BA,MAAM,CAACmC,aAArC,EAAoD;IAClD,KAAK,MAAMzB,GAAX,IAAkBL,OAAlB,EAA2B;MACzB,IAAIK,GAAG,CAAC0B,SAAJ,IAAiB1B,GAAG,CAACD,KAAJ,KAAc,GAAnC,EAAwC;QACtC,MAAM4B,kBAAkB,GAAG,CAAC,CAAC,CAACtC,EAAE,GAAGW,GAAG,CAACqB,OAAV,KAAsB,IAAtB,GAA6B,KAAK,CAAlC,GAAsChC,EAAE,CAACiC,MAA1C,KAAqDtB,GAAG,CAACsB,MAAzD,IAAmE,EAApE,EAAwEM,OAAxE,CACzB,WADyB,EAEzB,EAFyB,CAA3B;;QAIA,IAAID,kBAAJ,EAAwB;UACtBE,WAAAA,CAAAA,SAAAA,CAAAA,CAAGC,aAAHD,CACElB,aAAI,CAAA,SAAA,CAAJA,CAAKoB,OAALpB,CAAapB,GAAboB,YAAqBX,GAAG,CAACD,KAAzBY,SADFkB,EAEE,kEAA2DF,kBAA3D,YAAsFf,IAAtF,CACE,IADF,CAFFiB;QAMD;MACF;IACF;EACF;;EACD,OAAOnC,KAAP;AACF;;ACtGO,SAASsC,UAAT,CAAoBC,QAApB,EAA8B;EACnC,OAAOC,eAAAA,CAAAA,SAAAA,CAAAA,CAAOD,QAAPC,CAAP;AACF;;ACDO,SAASC,WAAT,CAAqBF,QAArB,EAA+B;EACpC,OAAO,IAAIG,IAAAA,CAAAA,UAAJ,CAAgBC,QAAD,IAAc;IAClC,MAAMC,OAAO,GAAGC,iBAAAA,CAAAA,SAAAA,CAAAA,CAASC,KAATD,CAAeN,QAAfM,EAAyB;MACvCE,aAAa,EAAE;IADwB,CAAzBF,CAAhB;;IAGA,SAASG,gBAAT,CAA0BxC,IAA1B,EAAgCyC,IAAhC,EAAsC;MACpCN,QAAQ,CAACO,IAAT,CAAc;QAAE1C,IAAF;QAAQyC;MAAR,CAAd;IACD;;IACDL,OAAO,CAACO,EAAR,CAAW,KAAX,EAAkBH,gBAAlB;IACA,OAAO,MAAM;MACXJ,OAAO,CAACQ,GAAR,CAAY,KAAZ,EAAmBJ,gBAAnB;MACAJ,OAAO,CAACS,KAAR;IACD,CAHD;EAID,CAZM,CAAP;AAaF;;ACXO,eAAeC,iBAAf,CAAiCC,OAAjC,EAA0C;EAC/C,MAAM;IAAE1D;EAAF,IAAU0D,OAAhB;EACA,MAAMC,YAAY,GAAG,MAAMlB,UAAU,CAAC,CACpCrB,wBAAAA,CAAKoB,OAALpB,CAAapB,GAAboB,EAAkB,cAAlBA,CADoC,EAEpCA,wBAAAA,CAAKoB,OAALpB,CAAapB,GAAboB,EAAkB,oBAAlBA,CAFoC,EAGpCA,wBAAAA,CAAKoB,OAALpB,CAAapB,GAAboB,EAAkB,mBAAlBA,CAHoC,EAIpCA,wBAAAA,CAAKoB,OAALpB,CAAapB,GAAboB,EAAkB,mBAAlBA,CAJoC,CAAD,CAArC;;EAMA,MAAMwC,UAAU,GAAGhB,WAAW,CAAC,CAC7BxB,wBAAAA,CAAKoB,OAALpB,CAAapB,GAAboB,EAAkB,cAAlBA,CAD6B,EAE7BA,wBAAAA,CAAKoB,OAALpB,CAAapB,GAAboB,EAAkB,oBAAlBA,CAF6B,EAG7BA,wBAAAA,CAAKoB,OAALpB,CAAapB,GAAboB,EAAkB,mBAAlBA,CAH6B,EAI7BA,wBAAAA,CAAKoB,OAALpB,CAAapB,GAAboB,EAAkB,mBAAlBA,CAJ6B,CAAD,CAA9B;;EAMA,OAAOwC,UAAU,CAACC,IAAX,CACLC,cAAAA,CAAK,CAACC,KAAD,EAAQC,SAAR,KAAsB;IACzB,IAAIA,SAAS,CAACrD,IAAV,KAAmB,KAAvB,EAA8B;MAC5B,OAAOoD,KAAK,CAACE,MAAN,CAAaD,SAAS,CAACZ,IAAvB,CAAP;IACD;;IACD,IAAIY,SAAS,CAACrD,IAAV,KAAmB,QAAvB,EAAiC;MAC/B,OAAOoD,KAAK,CAACG,MAAN,CAAcC,CAAD,IAAOA,CAAC,KAAKH,SAAS,CAACZ,IAApC,CAAP;IACD;;IACD,IAAIY,SAAS,CAACrD,IAAV,KAAmB,QAAvB,EAAiC;MAC/ByD,OAAO,CAACC,GAAR,CACE,kFADF;MAGAD,OAAO,CAACC,GAAR,CAAYC,cAAAA,CAAAA,SAAAA,CAAAA,CAAMC,IAAND,CAAW,QAAXA,CAAZ,EAAkClD,aAAAA,CAAAA,SAAAA,CAAAA,CAAKoD,QAALpD,CAAcpB,GAAdoB,EAAmB4C,SAAS,CAACZ,IAA7BhC,CAAlC,EAAsE,SAAtE;MACAgD,OAAO,CAACC,GAAR,CAAY,EAAZ;MACA,OAAON,KAAK,CAACU,KAAN,CAAY,CAAZ,CAAP;IACD;;IACD,OAAOV,KAAP;EACD,CAhBDD,EAgBGH,YAhBHG,CADK,EAkBLY,SAAAA,CAAAA,SAAAA,CAAUf,YAAVe,CAlBK,EAmBLC,8BAAAA,EAnBK,CAAP;AAqBF;;ACjCO,eAAe1B,KAAf,CAAqBS,OAArB,EAA8B;EACnC,MAAM;IAAE1D,GAAF;IAAO4E,MAAM,GAAG,KAAhB;IAAuBC,QAAQ,EAAEC;EAAjC,IAAoDpB,OAA1D;EACA,MAAMqB,YAAY,GAAG,MAAMtB,iBAAiB,CAAC;IAAEzD;EAAF,CAAD,CAA5C;EACA,MAAMgF,IAAI,GAAGD,YAAY,CAAClB,IAAb,CACXoB,IAAS,CAAAA,SAATA,CAAU,MAAOC,WAAP,IAAuB;IAC/B,MAAMC,MAAM,GAAGD,WAAW,CAAC3E,GAAZ,CAAiB4D,CAAD,IAAO/C,aAAI,CAAA,SAAA,CAAJA,CAAKoD,QAALpD,CAAcpB,GAAdoB,EAAmB+C,CAAnB/C,CAAvB,CAAf;;IACA,MAAMgE,eAAe,GAAGD,MAAM,CAACE,IAAP,CAAalB,CAAD,IAAOA,CAAC,KAAK,cAAzB,CAAxB;;IACA,IAAI,CAACiB,eAAL,EAAsB;MACpB,MAAM,IAAIE,KAAJ,CAAU,sBAAV,CAAN;IACD;;IACD,MAAMrF,GAAG,GAAG,MAAMsF,oBAAAA,CAAAA,qBAAAA,CAAsB;MAAEvF;IAAF,CAAtBuF,CAAlB;IACA,MAAMxF,MAAM,GAAG,MAAMyF,oBAAAA,CAAAA,WAAAA,CAAY;MAAExF;IAAF,CAAZwF,CAArB;IACA,MAAMX,QAAQ,GAAGC,cAAc,KAAK/E,MAAM,IAAI,IAAV,GAAiB,KAAK,CAAtB,GAA0BA,MAAM,CAAC8E,QAAtC,CAAd,IAAiE,eAAlF;IACA,OAAOY,oBAAAA,CAAAA,oBAAAA,CAAqB;MAAE1F,MAAF;MAAUC,GAAV;MAAeC,GAAf;MAAoB2E,MAApB;MAA4BC;IAA5B,CAArBY,CAAP;EACD,CAVDR,CADW,CAAb;EAaAD,IAAI,CAACU,SAAL,CAAe,MAAOjG,GAAP,IAAe;IAC5B,MAAMkG,UAAU,GAAGnG,kBAAkB,CAACC,GAAD,CAArC;;IACA,KAAK,MAAMmG,IAAX,IAAmBD,UAAnB,EAA+B;MAC7B,MAAME,OAAO,GAAGC,KAAAA,CAAAA,kBAAAA,CAAmBF,IAAI,CAACjF,IAAxBmF,CAAhB;MACA,MAAMC,OAAO,GAAGF,OAAO,CAACG,IAAR,CAAavG,GAAb,EAAkBmG,IAAlB,CAAhB;MACAG,OAAO,CAACL,SAAR,CAAkB;QAChBO,KAAK,EAAGC,GAAD,IAAS;UACdzG,GAAG,CAAC0G,MAAJ,CAAWF,KAAX,CAAiBC,GAAjB;UACAzG,GAAG,CAAC0G,MAAJ,CAAW9B,GAAX;UACA+B,OAAO,CAACC,IAAR,CAAa,CAAb;QACD,CALe;QAMhBhD,IAAI,EAAGiD,MAAD,IAAY;UAChBT,OAAO,CAACU,QAAR,CAAiB9G,GAAjB,EAAsBmG,IAAtB,EAA4BU,MAA5B;QACD,CARe;QAShBC,QAAQ,EAAE,MAAM;UACd9G,GAAG,CAAC0G,MAAJ,CAAWK,OAAX,CAAmBX,OAAO,CAACvE,IAAR,CAAa7B,GAAb,EAAkBmG,IAAlB,CAAnB;UACAnG,GAAG,CAAC0G,MAAJ,CAAW9B,GAAX;QACD;MAZe,CAAlB;IAcD;EACF,CApBD;AAqBF;;"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var watch = require('./watch-79594e7f.js');
3
+ var watch = require('./watch-29c57619.js');
4
4
 
5
5
  var _handleError = require('./_handleError-869dec25.js');
6
6
 
@@ -8,7 +8,7 @@ require('path');
8
8
 
9
9
  require('rxjs');
10
10
 
11
- require('./_resolveBuildContext-0d61dcca.js');
11
+ require('./_resolveBuildContext-6a4ed92a.js');
12
12
 
13
13
  require('esbuild-register/dist/node');
14
14
 
@@ -28,7 +28,7 @@ require('browserslist');
28
28
 
29
29
  require('fs');
30
30
 
31
- require('./index-7ec7f61a.js');
31
+ require('./index-2c392b48.js');
32
32
 
33
33
  require('util');
34
34
 
@@ -81,4 +81,4 @@ async function watchAction(options) {
81
81
  }
82
82
 
83
83
  exports.watchAction = watchAction;
84
- //# sourceMappingURL=watchAction-8d500150.js.map
84
+ //# sourceMappingURL=watchAction-65236621.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"watchAction-8d500150.js","sources":["../../src/cli/watchAction.ts"],"sourcesContent":["import {watch} from '../node/watch'\nimport {_handleError} from './_handleError'\n\nexport async function watchAction(options: {strict?: boolean; tsconfig?: string}): Promise<void> {\n try {\n await watch({\n cwd: process.cwd(),\n strict: options.strict,\n tsconfig: options.tsconfig,\n })\n } catch (err) {\n _handleError(err)\n }\n}\n"],"names":["watchAction","options","watch","cwd","process","strict","tsconfig","err","_handleError"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEO,eAAeA,WAAf,CAA2BC,OAA3B,EAAoC;EACzC,IAAI;IACF,MAAMC,WAAAA,CAAM;MACVC,GAAG,EAAEC,OAAO,CAACD,GAAR,EADK;MAEVE,MAAM,EAAEJ,OAAO,CAACI,MAFN;MAGVC,QAAQ,EAAEL,OAAO,CAACK;IAHR,CAANJ,CAAN;EAKD,CAND,CAME,OAAOK,GAAP,EAAY;IACZC,YAAY,CAAAA,YAAZA,CAAaD,GAAbC;EACD;AACH;;"}
1
+ {"version":3,"file":"watchAction-65236621.js","sources":["../../src/cli/watchAction.ts"],"sourcesContent":["import {watch} from '../node/watch'\nimport {_handleError} from './_handleError'\n\nexport async function watchAction(options: {strict?: boolean; tsconfig?: string}): Promise<void> {\n try {\n await watch({\n cwd: process.cwd(),\n strict: options.strict,\n tsconfig: options.tsconfig,\n })\n } catch (err) {\n _handleError(err)\n }\n}\n"],"names":["watchAction","options","watch","cwd","process","strict","tsconfig","err","_handleError"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEO,eAAeA,WAAf,CAA2BC,OAA3B,EAAoC;EACzC,IAAI;IACF,MAAMC,WAAAA,CAAM;MACVC,GAAG,EAAEC,OAAO,CAACD,GAAR,EADK;MAEVE,MAAM,EAAEJ,OAAO,CAACI,MAFN;MAGVC,QAAQ,EAAEL,OAAO,CAACK;IAHR,CAANJ,CAAN;EAKD,CAND,CAME,OAAOK,GAAP,EAAY;IACZC,YAAY,CAAAA,YAAZA,CAAaD,GAAbC;EACD;AACH;;"}
package/dist/cli.js CHANGED
@@ -10,13 +10,13 @@ function _interopDefaultLegacy(e) {
10
10
 
11
11
  var cac__default = /*#__PURE__*/_interopDefaultLegacy(cac);
12
12
 
13
- var version = "1.16.2";
13
+ var version = "1.17.1";
14
14
  const cli = cac__default["default"]();
15
15
  cli.command("", "Check").option("--strict", "Strict mode").option("--tsconfig [tsconfig]", "[string] tsconfig.json").action(async options => {
16
16
  const {
17
17
  checkAction: statusAction
18
18
  } = await Promise.resolve().then(function () {
19
- return require('./_chunks/checkAction-ea939b95.js');
19
+ return require('./_chunks/checkAction-0ec1ffd5.js');
20
20
  });
21
21
  return statusAction(options);
22
22
  });
@@ -24,7 +24,7 @@ cli.command("build", "Build package").option("--emitDeclarationOnly", "Emit d.ts
24
24
  const {
25
25
  buildAction
26
26
  } = await Promise.resolve().then(function () {
27
- return require('./_chunks/buildAction-2b54017d.js');
27
+ return require('./_chunks/buildAction-e362986d.js');
28
28
  });
29
29
  return buildAction(options);
30
30
  });
@@ -32,7 +32,7 @@ cli.command("watch", "Watch package").option("--strict", "Strict mode").option("
32
32
  const {
33
33
  watchAction
34
34
  } = await Promise.resolve().then(function () {
35
- return require('./_chunks/watchAction-8d500150.js');
35
+ return require('./_chunks/watchAction-65236621.js');
36
36
  });
37
37
  return watchAction(options);
38
38
  });
package/dist/index.d.ts CHANGED
@@ -172,23 +172,24 @@ export declare interface _PackageJSON {
172
172
  peerDependencies?: Record<string, string>
173
173
  exports?: Record<
174
174
  string,
175
- {
176
- source: string
177
- types?: string
178
- browser?: {
175
+ | `./${string}.json`
176
+ | {
179
177
  source: string
180
- require?: string
178
+ types?: string
179
+ browser?: {
180
+ source: string
181
+ require?: string
182
+ import?: string
183
+ }
184
+ node?: {
185
+ source: string
186
+ require?: string
187
+ import?: string
188
+ }
181
189
  import?: string
182
- }
183
- node?: {
184
- source: string
185
190
  require?: string
186
- import?: string
191
+ default: string
187
192
  }
188
- import?: string
189
- require?: string
190
- default: string
191
- }
192
193
  >
193
194
  main?: string
194
195
  browser?: Record<string, string>
package/dist/index.esm.js CHANGED
@@ -154,7 +154,7 @@ const pkgSchema = z.object({
154
154
  browser: z.optional(z.record(z.string())),
155
155
  module: z.optional(z.string()),
156
156
  types: z.optional(z.string()),
157
- exports: z.optional(z.record(z.object({
157
+ exports: z.optional(z.record(z.union([z.custom(val => /^\.\/.*\.json$/.test(val)), z.object({
158
158
  types: z.optional(z.string()),
159
159
  source: z.string(),
160
160
  browser: z.optional(z.object({
@@ -170,7 +170,7 @@ const pkgSchema = z.object({
170
170
  require: z.optional(z.string()),
171
171
  import: z.optional(z.string()),
172
172
  default: z.string()
173
- }))),
173
+ })]))),
174
174
  browserslist: z.optional(z.array(z.string()))
175
175
  });
176
176
 
@@ -269,8 +269,18 @@ function _parseExports(options) {
269
269
  const errors = [];
270
270
 
271
271
  if (pkg.exports) {
272
+ if (!pkg.exports["./package.json"]) {
273
+ errors.push('package.json: `exports["./package.json"] must be declared.');
274
+ }
275
+
272
276
  for (const [exportPath, exportEntry] of Object.entries(pkg.exports)) {
273
- if (_isRecord(exportEntry)) {
277
+ if (exportPath.endsWith(".json")) {
278
+ if (exportPath === "./package.json") {
279
+ if (exportEntry !== "./package.json") {
280
+ errors.push('package.json: `exports["./package.json"] must be "./package.json".');
281
+ }
282
+ }
283
+ } else if (_isRecord(exportEntry)) {
274
284
  if (exportPath === ".") {
275
285
  if (exportEntry.require && rootExport.require && exportEntry.require !== rootExport.require) {
276
286
  errors.push('package.json: mismatch between "main" and "exports.require". These must be equal.');
@@ -558,59 +568,64 @@ async function _buildTypes(options) {
558
568
  async function _appendModuleBlocks(_ref2) {
559
569
  let {
560
570
  tsOutDir,
571
+ extractResult,
561
572
  extractTypesOutFile
562
573
  } = _ref2;
563
- const moduleBlocks = await _extractModuleBlocksFromTypes(tsOutDir);
574
+ const moduleBlocks = await _extractModuleBlocksFromTypes({
575
+ tsOutDir,
576
+ extractResult
577
+ });
564
578
 
565
579
  if (moduleBlocks.length) {
566
580
  await fs.appendFile(extractTypesOutFile, "\n" + moduleBlocks.join("\n\n"));
567
581
  }
568
582
  }
569
583
 
570
- async function _extractModuleBlocksFromTypes(dirname) {
584
+ async function _extractModuleBlocksFromTypes(_ref3) {
585
+ let {
586
+ tsOutDir,
587
+ extractResult
588
+ } = _ref3;
571
589
  const moduleBlocks = [];
572
- const files = await _getFileList(dirname);
573
-
574
- for (const fileName of files) {
575
- const content = await fs.readFile(path.resolve(dirname, fileName), {
576
- encoding: "utf-8"
577
- });
590
+ const program = extractResult.compilerState.program;
591
+ const allProgramFiles = [...program.getSourceFiles()];
592
+ const sourceFiles = allProgramFiles.filter(sourceFile => sourceFile.fileName.includes(tsOutDir));
578
593
 
579
- if (content.includes("declare module")) {
580
- moduleBlocks.push(..._extractModuleBlocks(content));
594
+ for (const sourceFile of sourceFiles) {
595
+ if (sourceFile.text.includes("declare module")) {
596
+ moduleBlocks.push(..._extractModuleBlocks(sourceFile.text));
581
597
  }
582
598
  }
583
599
 
584
600
  return moduleBlocks;
585
601
  }
586
602
 
587
- async function _getFileList(dirName) {
588
- let files = [];
589
- const filesInCurrentDir = await fs.readdir(dirName, {
590
- withFileTypes: true
591
- });
592
-
593
- for (const fileInDir of filesInCurrentDir) {
594
- if (fileInDir.isDirectory()) {
595
- files = [...files, ...(await _getFileList(path.resolve(dirName, fileInDir.name)))];
596
- } else {
597
- files.push(path.resolve(dirName, fileInDir.name));
598
- }
599
- }
600
-
601
- return files;
602
- }
603
-
604
603
  function _extractModuleBlocks(fileContent) {
604
+ var _a;
605
+
605
606
  const moduleBlocks = [];
606
607
  let moduleIndentLevel = 0;
608
+ let insideComment = false;
607
609
  let moduleLines = [];
608
610
  const lines = fileContent.split("\n");
609
611
 
610
612
  for (const line of lines) {
613
+ if (insideComment && line.includes("*/")) {
614
+ insideComment = false;
615
+ } else if (!insideComment && line.includes("/*") && line.includes("*/")) {
616
+ continue;
617
+ } else if (!insideComment && line.includes("/*")) {
618
+ insideComment = true;
619
+ }
620
+
621
+ if (insideComment) {
622
+ continue;
623
+ }
624
+
611
625
  if (!moduleLines.length) {
626
+ const isModuleDeclaration = (_a = line.match(/^\s*declare module.+$/)) == null ? void 0 : _a.length;
612
627
  const moduleIndex = line.indexOf("declare module");
613
- const isModuleStart = moduleIndex > -1;
628
+ const isModuleStart = isModuleDeclaration && moduleIndex > -1;
614
629
 
615
630
  if (isModuleStart) {
616
631
  moduleIndentLevel = moduleIndex;
@@ -876,12 +891,13 @@ async function _doExtract(ctx, task) {
876
891
  const exportPath = entry.exportPath === "." ? "./index" : entry.exportPath;
877
892
  const sourceTypesPath = path.resolve(tmpPath, path.relative(rootDir, path.resolve(cwd, entry.sourcePath)).replace(/\.ts$/, ".d.ts"));
878
893
  const targetPath = path.resolve(cwd, entry.targetPath);
894
+ const filePath = path.relative(outDir, targetPath);
879
895
  const result = await _extractTypes({
880
896
  customTags: (_a = config == null ? void 0 : config.extract) == null ? void 0 : _a.customTags,
881
897
  cwd,
882
898
  exportPath,
883
899
  files,
884
- filePath: path.relative(outDir, targetPath),
900
+ filePath,
885
901
  projectPath: cwd,
886
902
  rules: (_b = config == null ? void 0 : config.extract) == null ? void 0 : _b.rules,
887
903
  sourceTypesPath,
@@ -890,6 +906,7 @@ async function _doExtract(ctx, task) {
890
906
  });
891
907
  await _appendModuleBlocks({
892
908
  tsOutDir: tmpPath,
909
+ extractResult: result.extractorResult,
893
910
  extractTypesOutFile: path.resolve(outDir, targetPath)
894
911
  });
895
912
  messages.push(...result.messages);
@@ -974,7 +991,7 @@ const _dtsWatchTask = {
974
991
  };
975
992
 
976
993
  function _resolveRollupConfig(ctx, buildTask) {
977
- var _ref3, _ref6, _ref7, _ref8, _ref9, _ref10;
994
+ var _ref4, _ref7, _ref8, _ref9, _ref10, _ref11;
978
995
 
979
996
  var _a, _b, _c;
980
997
 
@@ -994,10 +1011,10 @@ function _resolveRollupConfig(ctx, buildTask) {
994
1011
  ts
995
1012
  } = ctx;
996
1013
  const outputExt = _MODULE_EXT[pkg.type][format];
997
- const minify = (_ref3 = config == null ? void 0 : config.minify) !== null && _ref3 !== void 0 ? _ref3 : true;
1014
+ const minify = (_ref4 = config == null ? void 0 : config.minify) !== null && _ref4 !== void 0 ? _ref4 : true;
998
1015
  const outDir = path.relative(cwd, distPath);
999
- const pathAliases = Object.fromEntries(Object.entries(((_a = ts.config) == null ? void 0 : _a.options.paths) || {}).map(_ref4 => {
1000
- let [key, val] = _ref4;
1016
+ const pathAliases = Object.fromEntries(Object.entries(((_a = ts.config) == null ? void 0 : _a.options.paths) || {}).map(_ref5 => {
1017
+ let [key, val] = _ref5;
1001
1018
 
1002
1019
  var _a2;
1003
1020
 
@@ -1013,8 +1030,8 @@ function _resolveRollupConfig(ctx, buildTask) {
1013
1030
 
1014
1031
  const sourcePaths = _exports && Object.values(_exports).map(e => path.resolve(cwd, e.source));
1015
1032
 
1016
- const replacements = Object.fromEntries(Object.entries((config == null ? void 0 : config.define) || {}).map(_ref5 => {
1017
- let [key, val] = _ref5;
1033
+ const replacements = Object.fromEntries(Object.entries((config == null ? void 0 : config.define) || {}).map(_ref6 => {
1034
+ let [key, val] = _ref6;
1018
1035
  return [key, JSON.stringify(val)];
1019
1036
  }));
1020
1037
  const defaultPlugins = [replace({
@@ -1045,10 +1062,10 @@ function _resolveRollupConfig(ctx, buildTask) {
1045
1062
  esmExternals: false,
1046
1063
  extensions: [".js"]
1047
1064
  }), json(), esbuild({
1048
- jsx: (_ref6 = config == null ? void 0 : config.jsx) !== null && _ref6 !== void 0 ? _ref6 : "automatic",
1049
- jsxFactory: (_ref7 = config == null ? void 0 : config.jsxFactory) !== null && _ref7 !== void 0 ? _ref7 : "createElement",
1050
- jsxFragment: (_ref8 = config == null ? void 0 : config.jsxFragment) !== null && _ref8 !== void 0 ? _ref8 : "Fragment",
1051
- jsxImportSource: (_ref9 = config == null ? void 0 : config.jsxImportSource) !== null && _ref9 !== void 0 ? _ref9 : "react",
1065
+ jsx: (_ref7 = config == null ? void 0 : config.jsx) !== null && _ref7 !== void 0 ? _ref7 : "automatic",
1066
+ jsxFactory: (_ref8 = config == null ? void 0 : config.jsxFactory) !== null && _ref8 !== void 0 ? _ref8 : "createElement",
1067
+ jsxFragment: (_ref9 = config == null ? void 0 : config.jsxFragment) !== null && _ref9 !== void 0 ? _ref9 : "Fragment",
1068
+ jsxImportSource: (_ref10 = config == null ? void 0 : config.jsxImportSource) !== null && _ref10 !== void 0 ? _ref10 : "react",
1052
1069
  target,
1053
1070
  tsconfig: ctx.ts.configPath || "tsconfig.json"
1054
1071
  }), getBabelOutputPlugin({
@@ -1122,7 +1139,7 @@ function _resolveRollupConfig(ctx, buildTask) {
1122
1139
  entryFileNames: () => outputExt === ".esm.js" ? "[name].js" : "[name]".concat(outputExt),
1123
1140
  format,
1124
1141
  exports: "auto",
1125
- sourcemap: (_ref10 = config == null ? void 0 : config.sourcemap) !== null && _ref10 !== void 0 ? _ref10 : true
1142
+ sourcemap: (_ref11 = config == null ? void 0 : config.sourcemap) !== null && _ref11 !== void 0 ? _ref11 : true
1126
1143
  }
1127
1144
  };
1128
1145
  }
@@ -1411,7 +1428,7 @@ function _createLogger() {
1411
1428
  }
1412
1429
 
1413
1430
  async function _resolveBuildContext(options) {
1414
- var _ref11;
1431
+ var _ref12;
1415
1432
 
1416
1433
  const {
1417
1434
  config,
@@ -1505,7 +1522,7 @@ async function _resolveBuildContext(options) {
1505
1522
  files: [],
1506
1523
  logger,
1507
1524
  pkg,
1508
- runtime: (_ref11 = config == null ? void 0 : config.runtime) !== null && _ref11 !== void 0 ? _ref11 : "*",
1525
+ runtime: (_ref12 = config == null ? void 0 : config.runtime) !== null && _ref12 !== void 0 ? _ref12 : "*",
1509
1526
  strict,
1510
1527
  target,
1511
1528
  ts: {
@@ -1631,11 +1648,11 @@ function _printPackageTree(ctx) {
1631
1648
  return "".concat(file, " ").concat(chalk.gray(info.size));
1632
1649
  }
1633
1650
 
1634
- tree.exports = Object.fromEntries(Object.entries(exports).filter(_ref12 => {
1635
- let [, entry] = _ref12;
1651
+ tree.exports = Object.fromEntries(Object.entries(exports).filter(_ref13 => {
1652
+ let [, entry] = _ref13;
1636
1653
  return entry._exported;
1637
- }).map(_ref13 => {
1638
- let [exportPath, entry] = _ref13;
1654
+ }).map(_ref14 => {
1655
+ let [exportPath, entry] = _ref14;
1639
1656
  const exp = {
1640
1657
  source: entry.source,
1641
1658
  types: void 0,
@@ -1835,8 +1852,8 @@ function _resolveWatchTasks(ctx) {
1835
1852
  target
1836
1853
  } = ctx;
1837
1854
  const tasks = [];
1838
- const exports = Object.entries(ctx.exports || {}).map(_ref14 => {
1839
- let [_path, exp] = _ref14;
1855
+ const exports = Object.entries(ctx.exports || {}).map(_ref15 => {
1856
+ let [_path, exp] = _ref15;
1840
1857
  return _objectSpread({
1841
1858
  _path
1842
1859
  }, exp);