@sanity/pkg-utils 2.3.14 → 2.4.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 (28) hide show
  1. package/dist/_chunks/{build-bf3729c7.cjs → build-93e5df18.cjs} +3 -3
  2. package/dist/_chunks/{build-bf3729c7.cjs.map → build-93e5df18.cjs.map} +1 -1
  3. package/dist/_chunks/{buildAction-e721d08b.cjs → buildAction-ec6e1721.cjs} +2 -2
  4. package/dist/_chunks/{buildAction-e721d08b.cjs.map → buildAction-ec6e1721.cjs.map} +1 -1
  5. package/dist/_chunks/{check-332a2bb9.cjs → check-e47150c8.cjs} +2 -2
  6. package/dist/_chunks/{check-332a2bb9.cjs.map → check-e47150c8.cjs.map} +1 -1
  7. package/dist/_chunks/{checkAction-c39d7dbf.cjs → checkAction-a5e7c797.cjs} +2 -2
  8. package/dist/_chunks/{checkAction-c39d7dbf.cjs.map → checkAction-a5e7c797.cjs.map} +1 -1
  9. package/dist/_chunks/{consoleSpy-686c350b.cjs → consoleSpy-c7845903.cjs} +3 -3
  10. package/dist/_chunks/consoleSpy-c7845903.cjs.map +1 -0
  11. package/dist/_chunks/{index-c026daa9.cjs → index-e55646e0.cjs} +24 -6
  12. package/dist/_chunks/index-e55646e0.cjs.map +1 -0
  13. package/dist/_chunks/{watch-d7a9e8b7.cjs → watch-48f461bb.cjs} +3 -3
  14. package/dist/_chunks/{watch-d7a9e8b7.cjs.map → watch-48f461bb.cjs.map} +1 -1
  15. package/dist/_chunks/{watchAction-06f283b6.cjs → watchAction-a50ebb99.cjs} +2 -2
  16. package/dist/_chunks/{watchAction-06f283b6.cjs.map → watchAction-a50ebb99.cjs.map} +1 -1
  17. package/dist/cli.cjs +4 -4
  18. package/dist/index.cjs +5 -5
  19. package/dist/index.d.ts +5 -0
  20. package/dist/index.js +23 -6
  21. package/dist/index.js.map +1 -1
  22. package/package.json +4 -3
  23. package/src/node/core/config/types.ts +5 -0
  24. package/src/node/core/pkg/loadPkgWithReporting.ts +6 -2
  25. package/src/node/tasks/rollup/resolveRollupConfig.ts +10 -4
  26. package/src/node/tasks/rollup/rollupTask.ts +20 -0
  27. package/dist/_chunks/consoleSpy-686c350b.cjs.map +0 -1
  28. package/dist/_chunks/index-c026daa9.cjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-e55646e0.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/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 await 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\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\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 // If there is no default export, we shouldn't add it as it'll be undefined\n if ('default' in mod) {\n code += `export default cjs.default;\\n`\n }\n } else {\n code += `export default cjs;\\n`\n }\n\n return code\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'\nimport preserveDirectives from 'rollup-plugin-preserve-directives'\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: config?.preserveModuleDirectives\n ? {\n // Needed until https://github.com/terser/terser/issues/1320 is fixed\n directives: false,\n }\n : true,\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 // Allows marking export files with `'use client'` at the top\n config?.preserveModuleDirectives && preserveDirectives(),\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 preserveModules: config?.preserveModuleDirectives ? true : false,\n },\n }\n}\n","import chalk from 'chalk'\nimport path from 'path'\nimport {rollup} from 'rollup'\nimport {Observable} from 'rxjs'\n\nimport {createConsoleSpy} from '../../consoleSpy'\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 const bundleEntries = task.entries.filter((e) => e.path.includes('__$$bundle_'))\n const entries = task.entries.filter((e) => !e.path.includes('__$$bundle_'))\n\n const targetLines = task.target.length\n ? [` target:`, ...task.target.map((t) => ` - ${chalk.yellow(t)}`)]\n : []\n\n const bundlesLines = bundleEntries.length\n ? [\n ' bundles:',\n ...bundleEntries.map((e) =>\n [\n ` - `,\n `${chalk.yellow(e.source)} ${chalk.gray('→')} ${chalk.yellow(e.output)}`,\n ].join(''),\n ),\n ]\n : []\n\n const entriesLines = entries.length\n ? [\n ' entries:',\n ...entries.map((e) =>\n [\n ` - `,\n `${chalk.cyan(path.join(ctx.pkg.name, e.path))}: `,\n `${chalk.yellow(e.source)} ${chalk.gray('→')} ${chalk.yellow(e.output)}`,\n ].join(''),\n ),\n ]\n : []\n\n return [\n `Build javascript files...`,\n ` format: ${chalk.yellow(task.format)}`,\n ...targetLines,\n ...bundlesLines,\n ...entriesLines,\n ].join('\\n')\n },\n exec: (ctx, task) => {\n return new Observable((observer) => {\n execPromise(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => observer.error(err))\n })\n },\n complete: () => {\n //\n },\n error: (_ctx, _task, err) => {\n // eslint-disable-next-line no-console\n console.error(err)\n },\n}\n\nasync function execPromise(ctx: BuildContext, task: RollupTask) {\n const {distPath, files, logger} = ctx\n const outDir = path.relative(ctx.cwd, distPath)\n\n // Prevent rollup from printing directly to the console\n const consoleSpy = createConsoleSpy({\n onRestored: (messages) => {\n for (const msg of messages) {\n const text = String(msg.args[0])\n\n if (msg.code === 'CIRCULAR_DEPENDENCY') {\n continue // ignore\n }\n\n if (text.startsWith('Dynamic import can only')) {\n continue // ignore\n }\n\n if (text.startsWith('Sourcemap is likely to be incorrect')) {\n continue // ignore\n }\n\n if (msg.type === 'log') {\n logger.info(...msg.args)\n }\n\n if (msg.type === 'warn') {\n logger.warn(...msg.args)\n }\n\n if (msg.type === 'error') {\n logger.error(...msg.args)\n }\n }\n },\n })\n\n try {\n const {inputOptions, outputOptions} = resolveRollupConfig(ctx, task)\n\n // Create bundle\n const bundle = await rollup({\n ...inputOptions,\n onwarn(warning) {\n if (\n // Ignore the directive warning until the preserveDirectives plugin does it automatically: https://github.com/Ephem/rollup-plugin-preserve-directives#rollup-plugin-preserve-directives-warning\n warning.message.includes(\n 'Module level directives cause errors when bundled, \"use client\" in',\n )\n ) {\n // If the preserve option isn't enabled, then extend the message with a note about how to enable\n if (!ctx.config?.preserveModuleDirectives) {\n consoleSpy.messages.push({\n type: 'warn',\n code: warning.code,\n args: [\n `${warning.message} You can preserve it by setting \"preserveModuleDirectives: true\" in your \"package.config.ts\"`,\n ],\n })\n }\n\n return\n }\n\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","_defineProperty","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","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","preserveModuleDirectives","directives","comments","_node","comment","value","test","preserveDirectives","Boolean","userPlugins","rollup","Array","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","preserveModules","rollupTask","bundleEntries","targetLines","bundlesLines","entriesLines","execPromise","consoleSpy","createConsoleSpy","onRestored","String","args","bundle","onwarn","warning","generate","chunkOrAsset","write","close","restore","rollupWatchTask","watchOptions","watcher","rollupWatch","on","event","success","buildTaskHandlers","watchTaskHandlers"],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  var path = require('path');
4
4
  var rxjs = require('rxjs');
5
- var consoleSpy = require('./consoleSpy-686c350b.cjs');
5
+ var consoleSpy = require('./consoleSpy-c7845903.cjs');
6
6
  require('fs/promises');
7
7
  require('pkg-up');
8
8
  var logger = require('./logger-718e11be.cjs');
@@ -10,7 +10,7 @@ require('mkdirp');
10
10
  require('prompts');
11
11
  require('typescript');
12
12
  var fs = require('fs');
13
- var index = require('./index-c026daa9.cjs');
13
+ var index = require('./index-e55646e0.cjs');
14
14
  var operators = require('rxjs/operators');
15
15
  var globby = require('globby');
16
16
  var chokidar = require('chokidar');
@@ -228,4 +228,4 @@ async function watch(options) {
228
228
  });
229
229
  }
230
230
  exports.watch = watch;
231
- //# sourceMappingURL=watch-d7a9e8b7.cjs.map
231
+ //# sourceMappingURL=watch-48f461bb.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"watch-d7a9e8b7.cjs","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'\n\nimport {BuildContext, PkgExport, PkgFormat, PkgRuntime} from './core'\nimport {DtsWatchTask, RollupTaskEntry, RollupWatchTask, WatchTask} 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'\nimport path from 'path'\n\nexport function globFiles(patterns: string[]): Promise<string[]> {\n return globby(patterns.map((pattern) => pattern.split(path.sep).join(path.posix.sep)))\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 {Observable} from 'rxjs'\nimport {distinctUntilChanged, scan, startWith} from 'rxjs/operators'\n\nimport {globFiles} from './globFiles'\nimport {Logger} from './logger'\nimport {watchFiles} from './watchFiles'\n\nexport async function watchConfigFiles(options: {\n cwd: string\n logger: Logger\n}): Promise<Observable<string[]>> {\n const {cwd, logger} = 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 logger.log(\n '--------------------------------------------------------------------------------',\n )\n logger.info(path.relative(cwd, fileEvent.file), 'changed')\n logger.log('')\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'\n\nimport {getPkgExtMap, loadConfig, loadPkgWithReporting} from './core'\nimport {createLogger} from './logger'\nimport {resolveBuildContext} from './resolveBuildContext'\nimport {resolveWatchTasks} from './resolveWatchTasks'\nimport {TaskHandler, WatchTask, 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 logger = createLogger()\n\n const configFiles$ = await watchConfigFiles({cwd, logger})\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, logger})\n const config = await loadConfig({cwd})\n const extMap = getPkgExtMap({legacyExports: config?.legacyExports ?? false})\n const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'\n\n return resolveBuildContext({config, cwd, extMap, logger, 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","_ref","_path","exp","dtsTask","type","rollupTasks","addRollupTaskEntry","format","runtime","entry","buildId","concat","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","pattern","split","default","sep","posix","watchFiles","Observable","observer","watcher","chokidar","watch","ignoreInitial","handleFileEvent","file","next","on","off","close","watchConfigFiles","options","logger","initialFiles","fileEvent$","pipe","scan","files","fileEvent","filter","f","log","info","relative","slice","startWith","distinctUntilChanged","strict","tsconfig","tsconfigOption","createLogger","configFiles$","ctx$","switchMap","configFiles","_ref2","packageJsonPath","find","Error","loadPkgWithReporting","loadConfig","extMap","getPkgExtMap","resolveBuildContext","subscribe","watchTasks","task","handler","watchTaskHandlers","result$","exec","error","err","process","exit","result","complete","success"],"mappings":"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"}
1
+ {"version":3,"file":"watch-48f461bb.cjs","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'\n\nimport {BuildContext, PkgExport, PkgFormat, PkgRuntime} from './core'\nimport {DtsWatchTask, RollupTaskEntry, RollupWatchTask, WatchTask} 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'\nimport path from 'path'\n\nexport function globFiles(patterns: string[]): Promise<string[]> {\n return globby(patterns.map((pattern) => pattern.split(path.sep).join(path.posix.sep)))\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 {Observable} from 'rxjs'\nimport {distinctUntilChanged, scan, startWith} from 'rxjs/operators'\n\nimport {globFiles} from './globFiles'\nimport {Logger} from './logger'\nimport {watchFiles} from './watchFiles'\n\nexport async function watchConfigFiles(options: {\n cwd: string\n logger: Logger\n}): Promise<Observable<string[]>> {\n const {cwd, logger} = 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 logger.log(\n '--------------------------------------------------------------------------------',\n )\n logger.info(path.relative(cwd, fileEvent.file), 'changed')\n logger.log('')\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'\n\nimport {getPkgExtMap, loadConfig, loadPkgWithReporting} from './core'\nimport {createLogger} from './logger'\nimport {resolveBuildContext} from './resolveBuildContext'\nimport {resolveWatchTasks} from './resolveWatchTasks'\nimport {TaskHandler, WatchTask, 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 logger = createLogger()\n\n const configFiles$ = await watchConfigFiles({cwd, logger})\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, logger})\n const config = await loadConfig({cwd})\n const extMap = getPkgExtMap({legacyExports: config?.legacyExports ?? false})\n const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'\n\n return resolveBuildContext({config, cwd, extMap, logger, 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","_ref","_path","exp","dtsTask","type","rollupTasks","addRollupTaskEntry","format","runtime","entry","buildId","concat","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","pattern","split","default","sep","posix","watchFiles","Observable","observer","watcher","chokidar","watch","ignoreInitial","handleFileEvent","file","next","on","off","close","watchConfigFiles","options","logger","initialFiles","fileEvent$","pipe","scan","files","fileEvent","filter","f","log","info","relative","slice","startWith","distinctUntilChanged","strict","tsconfig","tsconfigOption","createLogger","configFiles$","ctx$","switchMap","configFiles","_ref2","packageJsonPath","find","Error","loadPkgWithReporting","loadConfig","extMap","getPkgExtMap","resolveBuildContext","subscribe","watchTasks","task","handler","watchTaskHandlers","result$","exec","error","err","process","exit","result","complete","success"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var watch = require('./watch-d7a9e8b7.cjs');
3
+ var watch = require('./watch-48f461bb.cjs');
4
4
  var handleError = require('./handleError-13d87f55.cjs');
5
5
  async function watchAction(options) {
6
6
  try {
@@ -14,4 +14,4 @@ async function watchAction(options) {
14
14
  }
15
15
  }
16
16
  exports.watchAction = watchAction;
17
- //# sourceMappingURL=watchAction-06f283b6.cjs.map
17
+ //# sourceMappingURL=watchAction-a50ebb99.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"watchAction-06f283b6.cjs","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":";;;;AAGA,eAAsBA,YAAYC,OAA+D,EAAA;EAC3F,IAAA;IACF,MAAMC,WAAM,CAAA;MACVC,GAAA,EAAKC,QAAQD,GAAI,CAAA,CAAA;MACjBE,QAAQJ,OAAQ,CAAAI,MAAA;MAChBC,UAAUL,OAAQ,CAAAK;IAAA,CACnB,CAAA;WACMC,GAAK,EAAA;IACZC,WAAA,CAAAA,WAAA,CAAYD,GAAG,CAAA;EACjB;AACF;"}
1
+ {"version":3,"file":"watchAction-a50ebb99.cjs","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":";;;;AAGA,eAAsBA,YAAYC,OAA+D,EAAA;EAC3F,IAAA;IACF,MAAMC,WAAM,CAAA;MACVC,GAAA,EAAKC,QAAQD,GAAI,CAAA,CAAA;MACjBE,QAAQJ,OAAQ,CAAAI,MAAA;MAChBC,UAAUL,OAAQ,CAAAK;IAAA,CACnB,CAAA;WACMC,GAAK,EAAA;IACZC,WAAA,CAAAA,WAAA,CAAYD,GAAG,CAAA;EACjB;AACF;"}
package/dist/cli.cjs CHANGED
@@ -7,13 +7,13 @@ function _interopDefaultCompat(e) {
7
7
  };
8
8
  }
9
9
  var cac__default = /*#__PURE__*/_interopDefaultCompat(cac);
10
- var version = "2.3.14";
10
+ var version = "2.4.1";
11
11
  const cli = cac__default.default();
12
12
  cli.command("", "Check").alias("check").option("--strict", "Strict mode").option("--tsconfig [tsconfig]", "[string] tsconfig.json").action(async options => {
13
13
  const {
14
14
  checkAction
15
15
  } = await Promise.resolve().then(function () {
16
- return require('./_chunks/checkAction-c39d7dbf.cjs');
16
+ return require('./_chunks/checkAction-a5e7c797.cjs');
17
17
  });
18
18
  return checkAction(options);
19
19
  });
@@ -21,7 +21,7 @@ cli.command("build", "Build package").option("--emitDeclarationOnly", "Emit d.ts
21
21
  const {
22
22
  buildAction
23
23
  } = await Promise.resolve().then(function () {
24
- return require('./_chunks/buildAction-e721d08b.cjs');
24
+ return require('./_chunks/buildAction-ec6e1721.cjs');
25
25
  });
26
26
  return buildAction(options);
27
27
  });
@@ -39,7 +39,7 @@ cli.command("watch", "Watch package").option("--strict", "Strict mode").option("
39
39
  const {
40
40
  watchAction
41
41
  } = await Promise.resolve().then(function () {
42
- return require('./_chunks/watchAction-06f283b6.cjs');
42
+ return require('./_chunks/watchAction-a50ebb99.cjs');
43
43
  });
44
44
  return watchAction(options);
45
45
  });
package/dist/index.cjs CHANGED
@@ -3,13 +3,13 @@
3
3
  Object.defineProperty(exports, '__esModule', {
4
4
  value: true
5
5
  });
6
- var build = require('./_chunks/build-bf3729c7.cjs');
7
- var check = require('./_chunks/check-332a2bb9.cjs');
8
- var consoleSpy = require('./_chunks/consoleSpy-686c350b.cjs');
6
+ var build = require('./_chunks/build-93e5df18.cjs');
7
+ var check = require('./_chunks/check-e47150c8.cjs');
8
+ var consoleSpy = require('./_chunks/consoleSpy-c7845903.cjs');
9
9
  var logger = require('./_chunks/logger-718e11be.cjs');
10
10
  var init = require('./_chunks/init-e45c0c31.cjs');
11
- var index = require('./_chunks/index-c026daa9.cjs');
12
- var watch = require('./_chunks/watch-d7a9e8b7.cjs');
11
+ var index = require('./_chunks/index-e55646e0.cjs');
12
+ var watch = require('./_chunks/watch-48f461bb.cjs');
13
13
  function defineConfig(configOptions) {
14
14
  return configOptions;
15
15
  }
package/dist/index.d.ts CHANGED
@@ -328,6 +328,11 @@ export declare interface PkgConfigOptions {
328
328
  * Build package with support for legacy exports (writes root `<export>.js` files)
329
329
  */
330
330
  legacyExports?: boolean
331
+ /**
332
+ * Preserves module directives, such as `'use client'`
333
+ * @alpha
334
+ */
335
+ preserveModuleDirectives?: boolean
331
336
  minify?: boolean
332
337
  /** @alpha */
333
338
  rollup?: {
package/dist/index.js CHANGED
@@ -32,6 +32,7 @@ import { nodeResolve } from '@rollup/plugin-node-resolve';
32
32
  import replace from '@rollup/plugin-replace';
33
33
  import terser from '@rollup/plugin-terser';
34
34
  import esbuild from 'rollup-plugin-esbuild';
35
+ import preserveDirectives from 'rollup-plugin-preserve-directives';
35
36
  import esbuild$1 from 'esbuild';
36
37
  import treeify from 'treeify';
37
38
  import prettyBytes from 'pretty-bytes';
@@ -222,9 +223,9 @@ async function loadPkgWithReporting(options) {
222
223
  shouldError = true;
223
224
  logger.error("exports[\"".concat(expPath, "\"]: the `node` property should come before the `module` property"));
224
225
  }
225
- if (exp.node.import && !exp.node.require && !exp.node.module) {
226
+ if (exp.node.import && (!exp.node.require || exp.require === exp.node.require) && !exp.node.module) {
226
227
  shouldError = true;
227
- logger.error("exports[\"".concat(expPath, "\"]: the `node.module` property should be added so bundlers don't unintentionally try to bundle `node.import`"));
228
+ logger.error("exports[\"".concat(expPath, "\"]: the `node.module` property should be added so bundlers don't unintentionally try to bundle `node.import`. Its value should be `\"module\": \"").concat(exp.import, "\"`"));
228
229
  }
229
230
  if (exp.node.import && !exp.node.require && exp.node.module && exp.import && exp.node.module !== exp.import) {
230
231
  shouldError = true;
@@ -1457,10 +1458,10 @@ function resolveRollupConfig(ctx, buildTask) {
1457
1458
  modules: false
1458
1459
  }]]
1459
1460
  }), minify && terser({
1460
- compress: {
1461
+ compress: (config == null ? void 0 : config.preserveModuleDirectives) ? {
1461
1462
  // Needed until https://github.com/terser/terser/issues/1320 is fixed
1462
1463
  directives: false
1463
- },
1464
+ } : true,
1464
1465
  output: {
1465
1466
  comments: (_node, comment) => {
1466
1467
  const text = comment.value;
@@ -1471,7 +1472,9 @@ function resolveRollupConfig(ctx, buildTask) {
1471
1472
  return false;
1472
1473
  }
1473
1474
  }
1474
- })].filter(Boolean);
1475
+ }),
1476
+ // Allows marking export files with `'use client'` at the top
1477
+ (config == null ? void 0 : config.preserveModuleDirectives) && preserveDirectives()].filter(Boolean);
1475
1478
  const userPlugins = (_c = config == null ? void 0 : config.rollup) == null ? void 0 : _c.plugins;
1476
1479
  const plugins = Array.isArray(userPlugins) ? defaultPlugins.concat(userPlugins) : resolveConfigProperty((_d = config == null ? void 0 : config.rollup) == null ? void 0 : _d.plugins, defaultPlugins);
1477
1480
  return {
@@ -1528,7 +1531,8 @@ function resolveRollupConfig(ctx, buildTask) {
1528
1531
  interop: "compat",
1529
1532
  minifyInternalExports: minify,
1530
1533
  sourcemap: (_ref11 = config == null ? void 0 : config.sourcemap) !== null && _ref11 !== void 0 ? _ref11 : true,
1531
- hoistTransitiveImports: false
1534
+ hoistTransitiveImports: false,
1535
+ preserveModules: (config == null ? void 0 : config.preserveModuleDirectives) ? true : false
1532
1536
  }
1533
1537
  };
1534
1538
  }
@@ -1594,6 +1598,19 @@ async function execPromise(ctx, task) {
1594
1598
  const bundle = await rollup({
1595
1599
  ...inputOptions,
1596
1600
  onwarn(warning) {
1601
+ var _a;
1602
+ if (
1603
+ // Ignore the directive warning until the preserveDirectives plugin does it automatically: https://github.com/Ephem/rollup-plugin-preserve-directives#rollup-plugin-preserve-directives-warning
1604
+ warning.message.includes('Module level directives cause errors when bundled, "use client" in')) {
1605
+ if (!((_a = ctx.config) == null ? void 0 : _a.preserveModuleDirectives)) {
1606
+ consoleSpy.messages.push({
1607
+ type: "warn",
1608
+ code: warning.code,
1609
+ args: ["".concat(warning.message, " You can preserve it by setting \"preserveModuleDirectives: true\" in your \"package.config.ts\"")]
1610
+ });
1611
+ }
1612
+ return;
1613
+ }
1597
1614
  consoleSpy.messages.push({
1598
1615
  type: "warn",
1599
1616
  code: warning.code,