@sanity/pkg-utils 2.0.6 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/dist/_chunks/{build-373bf1f0.cjs → build-2a47293b.cjs} +20 -3
  2. package/dist/_chunks/build-2a47293b.cjs.map +1 -0
  3. package/dist/_chunks/{buildAction-0c649a9f.cjs → buildAction-404437e8.cjs} +3 -3
  4. package/dist/_chunks/{buildAction-0c649a9f.cjs.map → buildAction-404437e8.cjs.map} +1 -1
  5. package/dist/_chunks/{check-60977fef.cjs → check-3bf5eb0d.cjs} +4 -5
  6. package/dist/_chunks/check-3bf5eb0d.cjs.map +1 -0
  7. package/dist/_chunks/{checkAction-c301e63d.cjs → checkAction-fcfe53a1.cjs} +3 -3
  8. package/dist/_chunks/{checkAction-c301e63d.cjs.map → checkAction-fcfe53a1.cjs.map} +1 -1
  9. package/dist/_chunks/{handleError-4062ca45.cjs → handleError-13d87f55.cjs} +3 -1
  10. package/dist/_chunks/handleError-13d87f55.cjs.map +1 -0
  11. package/dist/_chunks/{index-9910b918.cjs → index-58e287aa.cjs} +32 -3
  12. package/dist/_chunks/index-58e287aa.cjs.map +1 -0
  13. package/dist/_chunks/{resolveBuildContext-8833c9b4.cjs → resolveBuildContext-86a1602c.cjs} +5 -3
  14. package/dist/_chunks/resolveBuildContext-86a1602c.cjs.map +1 -0
  15. package/dist/_chunks/{watch-e81c0b8a.cjs → watch-86ed07a5.cjs} +3 -3
  16. package/dist/_chunks/{watch-e81c0b8a.cjs.map → watch-86ed07a5.cjs.map} +1 -1
  17. package/dist/_chunks/{watchAction-5d30e115.cjs → watchAction-b72906aa.cjs} +3 -3
  18. package/dist/_chunks/{watchAction-5d30e115.cjs.map → watchAction-b72906aa.cjs.map} +1 -1
  19. package/dist/cli.cjs +4 -4
  20. package/dist/index.cjs +5 -5
  21. package/dist/index.d.ts +14 -3
  22. package/dist/index.js +55 -8
  23. package/dist/index.js.map +1 -1
  24. package/package.json +1 -1
  25. package/src/cli/handleError.ts +2 -0
  26. package/src/node/core/config/types.ts +1 -1
  27. package/src/node/core/pkg/loadPkgWithReporting.ts +3 -0
  28. package/src/node/core/pkg/types.ts +1 -1
  29. package/src/node/core/pkg/validatePkg.ts +1 -1
  30. package/src/node/printPackageTree.ts +2 -1
  31. package/src/node/resolveBuildContext.ts +2 -2
  32. package/src/node/resolveBuildTasks.ts +29 -1
  33. package/src/node/tasks/index.ts +2 -0
  34. package/src/node/tasks/node/reexportCjsTask.ts +63 -0
  35. package/src/node/tasks/types.ts +8 -1
  36. package/dist/_chunks/build-373bf1f0.cjs.map +0 -1
  37. package/dist/_chunks/check-60977fef.cjs.map +0 -1
  38. package/dist/_chunks/handleError-4062ca45.cjs.map +0 -1
  39. package/dist/_chunks/index-9910b918.cjs.map +0 -1
  40. package/dist/_chunks/resolveBuildContext-8833c9b4.cjs.map +0 -1
@@ -7,12 +7,12 @@ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typ
7
7
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
8
8
  var path = require('path');
9
9
  var rxjs = require('rxjs');
10
- var resolveBuildContext = require('./resolveBuildContext-8833c9b4.cjs');
10
+ var resolveBuildContext = require('./resolveBuildContext-86a1602c.cjs');
11
11
  require('fs/promises');
12
12
  require('pkg-up');
13
13
  require('typescript');
14
14
  var fs = require('fs');
15
- var index = require('./index-9910b918.cjs');
15
+ var index = require('./index-58e287aa.cjs');
16
16
  var operators = require('rxjs/operators');
17
17
  var globby = require('globby');
18
18
  var chokidar = require('chokidar');
@@ -229,4 +229,4 @@ async function watch(options) {
229
229
  });
230
230
  }
231
231
  exports.watch = watch;
232
- //# sourceMappingURL=watch-e81c0b8a.cjs.map
232
+ //# sourceMappingURL=watch-86ed07a5.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"watch-e81c0b8a.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'\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 {Observable} from 'rxjs'\nimport {distinctUntilChanged, scan, startWith} from 'rxjs/operators'\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'\nimport {getPkgExtMap, loadConfig, loadPkgWithReporting} from './core'\nimport {createLogger} from './logger'\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 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","_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","default","resolve","globFiles","patterns","globby","watchFiles","Observable","observer","watcher","chokidar","watch","ignoreInitial","handleFileEvent","file","next","on","off","close","watchConfigFiles","options","logger","initialFiles","fileEvent$","pipe","scan","files","fileEvent","concat","filter","f","log","info","relative","slice","startWith","distinctUntilChanged","strict","tsconfig","tsconfigOption","createLogger","configFiles$","ctx$","switchMap","configFiles","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-86ed07a5.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'\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 {Observable} from 'rxjs'\nimport {distinctUntilChanged, scan, startWith} from 'rxjs/operators'\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'\nimport {getPkgExtMap, loadConfig, loadPkgWithReporting} from './core'\nimport {createLogger} from './logger'\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 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","_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","default","resolve","globFiles","patterns","globby","watchFiles","Observable","observer","watcher","chokidar","watch","ignoreInitial","handleFileEvent","file","next","on","off","close","watchConfigFiles","options","logger","initialFiles","fileEvent$","pipe","scan","files","fileEvent","concat","filter","f","log","info","relative","slice","startWith","distinctUntilChanged","strict","tsconfig","tsconfigOption","createLogger","configFiles$","ctx$","switchMap","configFiles","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,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var watch = require('./watch-e81c0b8a.cjs');
4
- var handleError = require('./handleError-4062ca45.cjs');
3
+ var watch = require('./watch-86ed07a5.cjs');
4
+ var handleError = require('./handleError-13d87f55.cjs');
5
5
  async function watchAction(options) {
6
6
  try {
7
7
  await watch.watch({
@@ -14,4 +14,4 @@ async function watchAction(options) {
14
14
  }
15
15
  }
16
16
  exports.watchAction = watchAction;
17
- //# sourceMappingURL=watchAction-5d30e115.cjs.map
17
+ //# sourceMappingURL=watchAction-b72906aa.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"watchAction-5d30e115.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,EAAA;MACjBE,QAAQJ,OAAQ,CAAAI,MAAA;MAChBC,UAAUL,OAAQ,CAAAK;IAAA,CACnB,CAAA;WACMC,GAAP,EAAA;IACAC,WAAA,CAAAA,WAAA,CAAYD,GAAG,CAAA;EACjB;AACF;"}
1
+ {"version":3,"file":"watchAction-b72906aa.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,EAAA;MACjBE,QAAQJ,OAAQ,CAAAI,MAAA;MAChBC,UAAUL,OAAQ,CAAAK;IAAA,CACnB,CAAA;WACMC,GAAP,EAAA;IACAC,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.0.6";
10
+ var version = "2.1.0";
11
11
  const cli = cac__default.default();
12
12
  cli.command("", "Check").option("--strict", "Strict mode").option("--tsconfig [tsconfig]", "[string] tsconfig.json").action(async options => {
13
13
  const {
14
14
  checkAction: statusAction
15
15
  } = await Promise.resolve().then(function () {
16
- return require('./_chunks/checkAction-c301e63d.cjs');
16
+ return require('./_chunks/checkAction-fcfe53a1.cjs');
17
17
  });
18
18
  return statusAction(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-0c649a9f.cjs');
24
+ return require('./_chunks/buildAction-404437e8.cjs');
25
25
  });
26
26
  return buildAction(options);
27
27
  });
@@ -29,7 +29,7 @@ cli.command("watch", "Watch package").option("--strict", "Strict mode").option("
29
29
  const {
30
30
  watchAction
31
31
  } = await Promise.resolve().then(function () {
32
- return require('./_chunks/watchAction-5d30e115.cjs');
32
+ return require('./_chunks/watchAction-b72906aa.cjs');
33
33
  });
34
34
  return watchAction(options);
35
35
  });
package/dist/index.cjs CHANGED
@@ -3,11 +3,11 @@
3
3
  Object.defineProperty(exports, '__esModule', {
4
4
  value: true
5
5
  });
6
- var build = require('./_chunks/build-373bf1f0.cjs');
7
- var check = require('./_chunks/check-60977fef.cjs');
8
- var resolveBuildContext = require('./_chunks/resolveBuildContext-8833c9b4.cjs');
9
- var index = require('./_chunks/index-9910b918.cjs');
10
- var watch = require('./_chunks/watch-e81c0b8a.cjs');
6
+ var build = require('./_chunks/build-2a47293b.cjs');
7
+ var check = require('./_chunks/check-3bf5eb0d.cjs');
8
+ var resolveBuildContext = require('./_chunks/resolveBuildContext-86a1602c.cjs');
9
+ var index = require('./_chunks/index-58e287aa.cjs');
10
+ var watch = require('./_chunks/watch-86ed07a5.cjs');
11
11
  function defineConfig(configOptions) {
12
12
  return configOptions;
13
13
  }
package/dist/index.d.ts CHANGED
@@ -59,12 +59,13 @@ export declare interface BuildFile {
59
59
  }
60
60
 
61
61
  /** @internal */
62
- export declare type BuildTask = DtsTask | RollupTask
62
+ export declare type BuildTask = DtsTask | RollupTask | NodeReExportFromCJSTask
63
63
 
64
64
  /** @internal */
65
65
  export declare interface BuildTaskHandlers {
66
66
  'build:dts': TaskHandler<DtsTask, DtsResult>
67
67
  'build:js': TaskHandler<RollupTask>
68
+ 'node:reexport-cjs': TaskHandler<NodeReExportFromCJSTask>
68
69
  }
69
70
 
70
71
  /** @internal */
@@ -165,6 +166,16 @@ export declare interface Logger {
165
166
  success: (...args: unknown[]) => void
166
167
  }
167
168
 
169
+ /** @internal */
170
+ export declare interface NodeReExportFromCJSTask {
171
+ type: 'node:reexport-cjs'
172
+ entries: {
173
+ importId: string
174
+ import: string
175
+ require: string
176
+ }[]
177
+ }
178
+
168
179
  /** @internal */
169
180
  export declare interface PackageJSON {
170
181
  type?: 'commonjs' | 'module'
@@ -187,7 +198,7 @@ export declare interface PackageJSON {
187
198
  import?: string
188
199
  }
189
200
  node?: {
190
- source: string
201
+ source?: string
191
202
  require?: string
192
203
  import?: string
193
204
  }
@@ -300,7 +311,7 @@ export declare interface PkgExport {
300
311
  require?: string
301
312
  }
302
313
  node?: {
303
- source: string
314
+ source?: string
304
315
  import?: string
305
316
  require?: string
306
317
  }
package/dist/index.js CHANGED
@@ -9,14 +9,14 @@ function _toPrimitive(input, hint) { if (typeof input !== "object" || input ===
9
9
  import path from 'path';
10
10
  import { register } from 'esbuild-register/dist/node';
11
11
  import pkgUp from 'pkg-up';
12
- import fs, { stat, readFile } from 'fs/promises';
12
+ import fs, { stat, readFile, writeFile } from 'fs/promises';
13
13
  import findConfig from 'find-config';
14
14
  import { z, ZodError } from 'zod';
15
15
  import chalk from 'chalk';
16
16
  import ts from 'typescript';
17
17
  import browserslist from 'browserslist';
18
18
  import fs$1, { statSync } from 'fs';
19
- import { Observable, switchMap } from 'rxjs';
19
+ import { Observable, from, switchMap } from 'rxjs';
20
20
  import { promisify } from 'util';
21
21
  import rimrafCallback from 'rimraf';
22
22
  import { ExtractorConfig, Extractor } from '@microsoft/api-extractor';
@@ -130,7 +130,7 @@ const pkgSchema = z.object({
130
130
  import: z.optional(z.string())
131
131
  })),
132
132
  node: z.optional(z.object({
133
- source: z.string(),
133
+ source: z.optional(z.string()),
134
134
  require: z.optional(z.string()),
135
135
  import: z.optional(z.string())
136
136
  })),
@@ -172,7 +172,9 @@ async function loadPkgWithReporting(options) {
172
172
  for (const issue of err.issues) {
173
173
  if (issue.code === "invalid_type") {
174
174
  logger.error(["`".concat(formatPath(issue.path), "` "), "in `./package.json` must be of type ".concat(chalk.magenta(issue.expected), " "), "(received ".concat(chalk.magenta(issue.received), ")")].join(""));
175
+ continue;
175
176
  }
177
+ logger.error(issue);
176
178
  }
177
179
  } else {
178
180
  logger.error(err);
@@ -494,7 +496,7 @@ async function resolveBuildContext(options) {
494
496
  const external = config && Array.isArray(config.external) ? [...parsedExternal, ...config.external] : resolveConfigProperty(config == null ? void 0 : config.external, parsedExternal);
495
497
  const outputPaths = Object.values(exports).flatMap(exportEntry => {
496
498
  var _a, _b, _c, _d;
497
- return [exportEntry.import, exportEntry.require, (_a = exportEntry.browser) == null ? void 0 : _a.import, (_b = exportEntry.browser) == null ? void 0 : _b.require, (_c = exportEntry.node) == null ? void 0 : _c.import, (_d = exportEntry.node) == null ? void 0 : _d.require].filter(Boolean);
499
+ return [exportEntry.import, exportEntry.require, (_a = exportEntry.browser) == null ? void 0 : _a.import, (_b = exportEntry.browser) == null ? void 0 : _b.require, ((_c = exportEntry.node) == null ? void 0 : _c.source) && exportEntry.node.import, ((_d = exportEntry.node) == null ? void 0 : _d.source) && exportEntry.node.require].filter(Boolean);
498
500
  }).map(p => path.resolve(cwd, p));
499
501
  const commonDistPath = findCommonDirPath(outputPaths);
500
502
  if (commonDistPath === cwd) {
@@ -648,6 +650,23 @@ function resolveBuildTasks(ctx) {
648
650
  }
649
651
  }
650
652
  }
653
+ const nodeReexportCjsEntries = [];
654
+ for (const exp of exports) {
655
+ if (exp.node && !exp.node.source && exp.node.import && exp.node.require && (exp.node.import.endsWith(".cjs.js") || exp.node.import.endsWith(".cjs.mjs"))) {
656
+ const importId = path.join(pkg.name, exp._path);
657
+ nodeReexportCjsEntries.push({
658
+ importId,
659
+ import: exp.node.import,
660
+ require: exp.node.require
661
+ });
662
+ }
663
+ }
664
+ if (nodeReexportCjsEntries.length) {
665
+ tasks.push({
666
+ type: "node:reexport-cjs",
667
+ entries: nodeReexportCjsEntries
668
+ });
669
+ }
651
670
  return tasks;
652
671
  }
653
672
  function createSpinner(msg) {
@@ -1093,6 +1112,34 @@ const dtsWatchTask = {
1093
1112
  }
1094
1113
  }
1095
1114
  };
1115
+ const nodeReexportCjsTask = {
1116
+ name: (_ctx, task) => ["Re-export CommonJS module in ESM wrapper\u2026", " entries:", ...task.entries.map(entry => [" - ".concat(chalk.cyan(entry.importId), ": "), "".concat(chalk.yellow(entry.require), " ").concat(chalk.gray("\u2192"), " ").concat(chalk.yellow(entry.import))].join(""))].join("\n"),
1117
+ exec: (ctx, task) => {
1118
+ return from(exec(ctx, task));
1119
+ },
1120
+ complete: () => {},
1121
+ error: (_ctx, _task, err) => {
1122
+ console.error(err);
1123
+ }
1124
+ };
1125
+ async function exec(ctx, task) {
1126
+ const {
1127
+ cwd
1128
+ } = ctx;
1129
+ for (const entry of task.entries) {
1130
+ const sourcePath = path.resolve(cwd, entry.require);
1131
+ const targetPath = path.resolve(cwd, entry.import);
1132
+ const targetDir = path.dirname(targetPath);
1133
+ await mkdirp(targetDir);
1134
+ const mod = require(sourcePath);
1135
+ let relativeImport = "./".concat(path.relative(targetDir, sourcePath));
1136
+ if (relativeImport.startsWith("./.")) {
1137
+ relativeImport = relativeImport.slice(2);
1138
+ }
1139
+ const code = ["import cjs from '".concat(relativeImport, "';"), "", ...Object.keys(mod).map(k => "export const ".concat(k, " = cjs.").concat(k, ";")), ""].join("\n");
1140
+ await writeFile(targetPath, code, "utf8");
1141
+ }
1142
+ }
1096
1143
  function createConsoleSpy(options) {
1097
1144
  const {
1098
1145
  onRestored
@@ -1427,7 +1474,8 @@ const rollupWatchTask = {
1427
1474
  };
1428
1475
  const buildTaskHandlers = {
1429
1476
  "build:dts": dtsTask,
1430
- "build:js": rollupTask
1477
+ "build:js": rollupTask,
1478
+ "node:reexport-cjs": nodeReexportCjsTask
1431
1479
  };
1432
1480
  const watchTaskHandlers = {
1433
1481
  "watch:dts": dtsWatchTask,
@@ -1560,9 +1608,8 @@ function printPackageTree(ctx) {
1560
1608
  delete exp.browser;
1561
1609
  }
1562
1610
  if (entry.node) {
1563
- exp.node = {
1564
- source: fileInfo(entry.node.source)
1565
- };
1611
+ exp.node = {};
1612
+ if (entry.node.source) exp.node.source = fileInfo(entry.node.source);
1566
1613
  if (entry.node.import) exp.node.import = fileInfo(entry.node.import);
1567
1614
  if (entry.node.require) exp.node.require = fileInfo(entry.node.require);
1568
1615
  } else {