@sanity/pkg-utils 1.18.0 → 1.19.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 (106) hide show
  1. package/dist/_chunks/{build-f39a3550.js → build-bcb33ba5.js} +19 -19
  2. package/dist/_chunks/build-bcb33ba5.js.map +1 -0
  3. package/dist/_chunks/{buildAction-8f449d1d.js → buildAction-f240dab8.js} +6 -6
  4. package/dist/_chunks/buildAction-f240dab8.js.map +1 -0
  5. package/dist/_chunks/{check-87cbb6cc.js → check-1ea361f5.js} +26 -26
  6. package/dist/_chunks/check-1ea361f5.js.map +1 -0
  7. package/dist/_chunks/{checkAction-e7e455d4.js → checkAction-16be1201.js} +5 -5
  8. package/dist/_chunks/checkAction-16be1201.js.map +1 -0
  9. package/dist/_chunks/{_handleError-869dec25.js → handleError-65cf3242.js} +3 -3
  10. package/dist/_chunks/handleError-65cf3242.js.map +1 -0
  11. package/dist/_chunks/{index-7a851efa.js → index-79fdb33f.js} +63 -63
  12. package/dist/_chunks/index-79fdb33f.js.map +1 -0
  13. package/dist/_chunks/{_resolveBuildContext-7ca7e64e.js → resolveBuildContext-f2feec19.js} +60 -62
  14. package/dist/_chunks/resolveBuildContext-f2feec19.js.map +1 -0
  15. package/dist/_chunks/{watch-f6cf9246.js → watch-02c85f8a.js} +25 -25
  16. package/dist/_chunks/watch-02c85f8a.js.map +1 -0
  17. package/dist/_chunks/{watchAction-4cf253a0.js → watchAction-9cb9681b.js} +6 -6
  18. package/dist/_chunks/watchAction-9cb9681b.js.map +1 -0
  19. package/dist/cli.js +4 -4
  20. package/dist/index.d.ts +44 -46
  21. package/dist/index.esm.js +165 -167
  22. package/dist/index.esm.js.map +1 -1
  23. package/dist/index.js +22 -22
  24. package/dist/index.js.map +1 -1
  25. package/package.json +48 -1
  26. package/src/cli/buildAction.ts +2 -2
  27. package/src/cli/checkAction.ts +2 -2
  28. package/src/cli/{_handleError.ts → handleError.ts} +1 -1
  29. package/src/cli/watchAction.ts +2 -2
  30. package/src/node/build.ts +11 -11
  31. package/src/node/check.ts +11 -11
  32. package/src/node/{_core → core}/config/defineConfig.ts +0 -0
  33. package/src/node/{_core/config/_findConfigFile.ts → core/config/findConfigFile.ts} +3 -3
  34. package/src/node/core/config/index.ts +4 -0
  35. package/src/node/{_core/config/_loadConfig.ts → core/config/loadConfig.ts} +3 -3
  36. package/src/node/{_core/config/_resolveConfigProperty.ts → core/config/resolveConfigProperty.ts} +1 -1
  37. package/src/node/{_core → core}/config/types.ts +0 -0
  38. package/src/node/{_core/_constants.ts → core/constants.ts} +1 -1
  39. package/src/node/{_core → core}/contexts/buildContext.ts +5 -5
  40. package/src/node/{_core → core}/contexts/index.ts +0 -0
  41. package/src/node/core/defaults.ts +7 -0
  42. package/src/node/core/findCommonPath.test.ts +9 -0
  43. package/src/node/{_core/_findCommonPath.ts → core/findCommonPath.ts} +3 -3
  44. package/src/node/{_core → core}/index.ts +3 -3
  45. package/src/node/{_core/_isRecord.ts → core/isRecord.ts} +1 -1
  46. package/src/node/core/pkg/index.ts +4 -0
  47. package/src/node/{_core/pkg/_loadPkg.ts → core/pkg/loadPkg.ts} +4 -4
  48. package/src/node/{_core/pkg/_loadPkgWithReporting.ts → core/pkg/loadPkgWithReporting.ts} +6 -6
  49. package/src/node/{_core/pkg/_parseExports.ts → core/pkg/parseExports.ts} +7 -7
  50. package/src/node/{_core/pkg/_types.ts → core/pkg/types.ts} +1 -1
  51. package/src/node/{_core/pkg/_validateExports.ts → core/pkg/validateExports.ts} +5 -5
  52. package/src/node/{_core/pkg/_validatePkg.ts → core/pkg/validatePkg.ts} +2 -2
  53. package/src/node/core/ts/index.ts +1 -0
  54. package/src/node/{_core/ts/_loadTSConfig.ts → core/ts/loadTSConfig.ts} +1 -1
  55. package/src/node/{_getFilesize.ts → getFilesize.ts} +1 -1
  56. package/src/node/globFiles.ts +5 -0
  57. package/src/node/index.ts +3 -3
  58. package/src/node/{_printExtractMessages.ts → printExtractMessages.ts} +2 -2
  59. package/src/node/{_printPackageTree.ts → printPackageTree.ts} +17 -17
  60. package/src/node/{_resolveBrowserTarget.ts → resolveBrowserTarget.ts} +2 -2
  61. package/src/node/{_resolveBrowserslistVersions.ts → resolveBrowserslistVersions.ts} +11 -11
  62. package/src/node/{_resolveBuildContext.ts → resolveBuildContext.ts} +28 -28
  63. package/src/node/{_resolveBuildTasks.ts → resolveBuildTasks.ts} +13 -13
  64. package/src/node/{_resolveNodeTarget.ts → resolveNodeTarget.ts} +2 -2
  65. package/src/node/{_resolveWatchTasks.ts → resolveWatchTasks.ts} +11 -11
  66. package/src/node/{_spinner.ts → spinner.ts} +1 -1
  67. package/src/node/{_tasks/dts/_DtsError.ts → tasks/dts/DtsError.ts} +1 -1
  68. package/src/node/{_tasks/dts/_buildTypes.ts → tasks/dts/buildTypes.ts} +1 -1
  69. package/src/node/{_tasks/dts/_createApiExtractorConfig.ts → tasks/dts/createApiExtractorConfig.ts} +1 -1
  70. package/src/node/{_tasks/dts/_createTSDocConfig.ts → tasks/dts/createTSDocConfig.ts} +1 -1
  71. package/src/node/{_tasks/dts/_doExtract.ts → tasks/dts/doExtract.ts} +12 -12
  72. package/src/node/{_tasks/dts/_dtsTask.ts → tasks/dts/dtsTask.ts} +10 -10
  73. package/src/node/{_tasks/dts/_dtsWatchTask.ts → tasks/dts/dtsWatchTask.ts} +10 -10
  74. package/src/node/{_tasks/dts/_extractModuleBlocks.ts → tasks/dts/extractModuleBlocks.ts} +3 -3
  75. package/src/node/{_tasks/dts/_extractTypes.ts → tasks/dts/extractTypes.ts} +11 -11
  76. package/src/node/{_tasks/dts/_getExtractMessagesConfig.ts → tasks/dts/getExtractMessagesConfig.ts} +12 -12
  77. package/src/node/tasks/dts/index.ts +4 -0
  78. package/src/node/{_tasks/dts/_types.ts → tasks/dts/types.ts} +3 -3
  79. package/src/node/tasks/index.ts +19 -0
  80. package/src/node/tasks/rollup/index.ts +2 -0
  81. package/src/node/{_tasks/rollup/_resolveRollupConfig.ts → tasks/rollup/resolveRollupConfig.ts} +16 -11
  82. package/src/node/{_tasks/rollup/_rollupTask.ts → tasks/rollup/rollupTask.ts} +7 -7
  83. package/src/node/{_tasks/rollup/_rollupWatchTask.ts → tasks/rollup/rollupWatchTask.ts} +4 -4
  84. package/src/node/tasks/types.ts +57 -0
  85. package/src/node/watch.ts +13 -13
  86. package/src/node/{_watchConfigFiles.ts → watchConfigFiles.ts} +5 -5
  87. package/src/node/{_watchFiles.ts → watchFiles.ts} +5 -5
  88. package/dist/_chunks/_handleError-869dec25.js.map +0 -1
  89. package/dist/_chunks/_resolveBuildContext-7ca7e64e.js.map +0 -1
  90. package/dist/_chunks/build-f39a3550.js.map +0 -1
  91. package/dist/_chunks/buildAction-8f449d1d.js.map +0 -1
  92. package/dist/_chunks/check-87cbb6cc.js.map +0 -1
  93. package/dist/_chunks/checkAction-e7e455d4.js.map +0 -1
  94. package/dist/_chunks/index-7a851efa.js.map +0 -1
  95. package/dist/_chunks/watch-f6cf9246.js.map +0 -1
  96. package/dist/_chunks/watchAction-4cf253a0.js.map +0 -1
  97. package/src/node/_core/_defaults.ts +0 -9
  98. package/src/node/_core/_findCommonPath.test.ts +0 -9
  99. package/src/node/_core/config/index.ts +0 -4
  100. package/src/node/_core/pkg/index.ts +0 -4
  101. package/src/node/_core/ts/index.ts +0 -1
  102. package/src/node/_globFiles.ts +0 -5
  103. package/src/node/_tasks/_types.ts +0 -57
  104. package/src/node/_tasks/dts/index.ts +0 -4
  105. package/src/node/_tasks/index.ts +0 -19
  106. package/src/node/_tasks/rollup/index.ts +0 -2
@@ -26,7 +26,7 @@ var pluginNodeResolve = require('@rollup/plugin-node-resolve');
26
26
  var replace = require('@rollup/plugin-replace');
27
27
  var esbuild = require('rollup-plugin-esbuild');
28
28
  var rollupPluginTerser = require('rollup-plugin-terser');
29
- var _resolveBuildContext = require('./_resolveBuildContext-7ca7e64e.js');
29
+ var resolveBuildContext = require('./resolveBuildContext-f2feec19.js');
30
30
  require('esbuild-register/dist/node');
31
31
  require('pkg-up');
32
32
  require('find-config');
@@ -49,7 +49,7 @@ var commonjs__default = /*#__PURE__*/_interopDefaultLegacy(commonjs);
49
49
  var json__default = /*#__PURE__*/_interopDefaultLegacy(json);
50
50
  var replace__default = /*#__PURE__*/_interopDefaultLegacy(replace);
51
51
  var esbuild__default = /*#__PURE__*/_interopDefaultLegacy(esbuild);
52
- function _printExtractMessages(ctx, messages) {
52
+ function printExtractMessages(ctx, messages) {
53
53
  const {
54
54
  cwd,
55
55
  logger
@@ -82,7 +82,7 @@ const formatHost = {
82
82
  getNewLine: () => ts__default["default"].sys.newLine,
83
83
  getCanonicalFileName: ts__default["default"].sys.useCaseSensitiveFileNames ? f => f : f => f.toLowerCase()
84
84
  };
85
- async function _buildTypes(options) {
85
+ async function buildTypes(options) {
86
86
  const {
87
87
  outDir,
88
88
  tsconfig,
@@ -120,13 +120,13 @@ async function _buildTypes(options) {
120
120
  }
121
121
  }
122
122
  }
123
- class _DtsError extends Error {
123
+ class DtsError extends Error {
124
124
  constructor(message, messages) {
125
125
  super(message);
126
126
  this.messages = messages;
127
127
  }
128
128
  }
129
- function _createApiExtractorConfig(options) {
129
+ function createApiExtractorConfig(options) {
130
130
  const {
131
131
  distPath,
132
132
  exportPath,
@@ -160,7 +160,7 @@ function _createApiExtractorConfig(options) {
160
160
  projectFolder
161
161
  };
162
162
  }
163
- async function _createTSDocConfig(opts) {
163
+ async function createTSDocConfig(opts) {
164
164
  const {
165
165
  customTags
166
166
  } = opts;
@@ -184,7 +184,7 @@ async function _createTSDocConfig(opts) {
184
184
  supportForTags
185
185
  }));
186
186
  }
187
- async function _extractModuleBlocksFromTypes(_ref) {
187
+ async function extractModuleBlocksFromTypes(_ref) {
188
188
  let {
189
189
  tsOutDir,
190
190
  extractResult
@@ -195,30 +195,30 @@ async function _extractModuleBlocksFromTypes(_ref) {
195
195
  const sourceFiles = allProgramFiles.filter(sourceFile => sourceFile.fileName.includes(tsOutDir));
196
196
  for (const sourceFile of sourceFiles) {
197
197
  if (sourceFile.text.includes("declare module")) {
198
- moduleBlocks.push(..._extractModuleBlocks(sourceFile.text));
198
+ moduleBlocks.push(...extractModuleBlocks(sourceFile.text));
199
199
  }
200
200
  }
201
201
  return moduleBlocks;
202
202
  }
203
- function _extractModuleBlocks(fileContent) {
203
+ function extractModuleBlocks(fileContent) {
204
204
  const ast = recast.parse(fileContent, {
205
205
  parser: typeScriptParser__default["default"]
206
206
  });
207
207
  return ast.program.body.filter(node => node.type === "TSModuleDeclaration").map(node => recast.print(node).code);
208
208
  }
209
- const _LOG_LEVELS = {
209
+ const LOG_LEVELS = {
210
210
  error: "error",
211
211
  info: "info",
212
212
  off: "none",
213
213
  warn: "warning"
214
214
  };
215
- function _getExtractMessagesConfig(options) {
215
+ function getExtractMessagesConfig(options) {
216
216
  const {
217
217
  rules
218
218
  } = options;
219
- function _ruleToLogLevel(key, defaultLevel) {
219
+ function ruleToLogLevel(key, defaultLevel) {
220
220
  const r = rules == null ? void 0 : rules[key];
221
- return r ? _LOG_LEVELS[r] : defaultLevel || "warning";
221
+ return r ? LOG_LEVELS[r] : defaultLevel || "warning";
222
222
  }
223
223
  return {
224
224
  compilerMessageReporting: {
@@ -232,19 +232,19 @@ function _getExtractMessagesConfig(options) {
232
232
  addToApiReportFile: false
233
233
  },
234
234
  "ae-forgotten-export": {
235
- logLevel: _ruleToLogLevel("ae-forgotten-export", "error"),
235
+ logLevel: ruleToLogLevel("ae-forgotten-export", "error"),
236
236
  addToApiReportFile: false
237
237
  },
238
238
  "ae-incompatible-release-tags": {
239
- logLevel: _ruleToLogLevel("ae-incompatible-release-tags", "error"),
239
+ logLevel: ruleToLogLevel("ae-incompatible-release-tags", "error"),
240
240
  addToApiReportFile: false
241
241
  },
242
242
  "ae-internal-missing-underscore": {
243
- logLevel: _ruleToLogLevel("ae-internal-missing-underscore"),
243
+ logLevel: ruleToLogLevel("ae-internal-missing-underscore"),
244
244
  addToApiReportFile: false
245
245
  },
246
246
  "ae-missing-release-tag": {
247
- logLevel: _ruleToLogLevel("ae-missing-release-tag", "error"),
247
+ logLevel: ruleToLogLevel("ae-missing-release-tag", "error"),
248
248
  addToApiReportFile: false
249
249
  },
250
250
  "ae-wrong-input-file-type": {
@@ -258,21 +258,21 @@ function _getExtractMessagesConfig(options) {
258
258
  addToApiReportFile: false
259
259
  },
260
260
  "tsdoc-link-tag-unescaped-text": {
261
- logLevel: _ruleToLogLevel("tsdoc-link-tag-unescaped-text", "warning"),
261
+ logLevel: ruleToLogLevel("tsdoc-link-tag-unescaped-text", "warning"),
262
262
  addToApiReportFile: false
263
263
  },
264
264
  "tsdoc-undefined-tag": {
265
- logLevel: _ruleToLogLevel("tsdoc-undefined-tag", "error"),
265
+ logLevel: ruleToLogLevel("tsdoc-undefined-tag", "error"),
266
266
  addToApiReportFile: false
267
267
  },
268
268
  "tsdoc-unsupported-tag": {
269
- logLevel: _ruleToLogLevel("tsdoc-unsupported-tag", "none"),
269
+ logLevel: ruleToLogLevel("tsdoc-unsupported-tag", "none"),
270
270
  addToApiReportFile: false
271
271
  }
272
272
  }
273
273
  };
274
274
  }
275
- async function _extractTypes(options) {
275
+ async function extractTypes(options) {
276
276
  const {
277
277
  customTags,
278
278
  distPath,
@@ -285,15 +285,15 @@ async function _extractTypes(options) {
285
285
  tmpPath,
286
286
  tsconfigPath
287
287
  } = options;
288
- const tsdocConfigFile = await _createTSDocConfig({
288
+ const tsdocConfigFile = await createTSDocConfig({
289
289
  customTags: customTags || []
290
290
  });
291
291
  const extractorConfig = apiExtractor.ExtractorConfig.prepare({
292
- configObject: _createApiExtractorConfig({
292
+ configObject: createApiExtractorConfig({
293
293
  distPath,
294
294
  exportPath,
295
295
  filePath,
296
- messages: _getExtractMessagesConfig({
296
+ messages: getExtractMessagesConfig({
297
297
  rules
298
298
  }),
299
299
  projectFolder: projectPath,
@@ -317,7 +317,7 @@ async function _extractTypes(options) {
317
317
  const typesBuf = await fs__default["default"].readFile(typesPath);
318
318
  const prettierConfig = await prettier__default["default"].resolveConfig(typesPath);
319
319
  await mkdirp__default["default"](path__default["default"].dirname(typesPath));
320
- const moduleBlocks = await _extractModuleBlocksFromTypes({
320
+ const moduleBlocks = await extractModuleBlocksFromTypes({
321
321
  extractResult: extractorResult,
322
322
  tsOutDir: tmpPath
323
323
  });
@@ -335,7 +335,7 @@ async function _extractTypes(options) {
335
335
  };
336
336
  }
337
337
  const rimraf = util.promisify(rimrafCallback__default["default"]);
338
- async function _doExtract(ctx, task) {
338
+ async function doExtract(ctx, task) {
339
339
  var _a, _b;
340
340
  const {
341
341
  config,
@@ -359,7 +359,7 @@ async function _doExtract(ctx, task) {
359
359
  throw new Error("tsconfig.json is missing `compilerOptions.outDir`");
360
360
  }
361
361
  const tmpPath = path__default["default"].resolve(outDir, "__tmp__");
362
- await _buildTypes({
362
+ await buildTypes({
363
363
  cwd,
364
364
  outDir: tmpPath,
365
365
  strict,
@@ -372,7 +372,7 @@ async function _doExtract(ctx, task) {
372
372
  const sourceTypesPath = path__default["default"].resolve(tmpPath, path__default["default"].relative(rootDir, path__default["default"].resolve(cwd, entry.sourcePath)).replace(/\.ts$/, ".d.ts"));
373
373
  const targetPath = path__default["default"].resolve(cwd, entry.targetPath);
374
374
  const filePath = path__default["default"].relative(outDir, targetPath);
375
- const result = await _extractTypes({
375
+ const result = await extractTypes({
376
376
  customTags: (_a = config == null ? void 0 : config.extract) == null ? void 0 : _a.customTags,
377
377
  cwd,
378
378
  distPath: outDir,
@@ -388,7 +388,7 @@ async function _doExtract(ctx, task) {
388
388
  messages.push(...result.messages);
389
389
  if (result.messages.some(msg => msg.logLevel === "error")) {
390
390
  await rimraf(tmpPath);
391
- throw new _DtsError("encountered errors when extracting types", result.messages);
391
+ throw new DtsError("encountered errors when extracting types", result.messages);
392
392
  }
393
393
  results.push({
394
394
  sourcePath: path__default["default"].resolve(cwd, entry.sourcePath),
@@ -402,11 +402,11 @@ async function _doExtract(ctx, task) {
402
402
  results
403
403
  };
404
404
  }
405
- const _dtsTask = {
405
+ const dtsTask = {
406
406
  name: (_ctx, task) => ["build type definitions", ...task.entries.map(entry => " ".concat(chalk__default["default"].blue(entry.importId), ": ").concat(entry.sourcePath, " -> ").concat(entry.targetPath))].join("\n"),
407
407
  exec: (ctx, task) => {
408
408
  return new rxjs.Observable(observer => {
409
- _doExtract(ctx, task).then(result => {
409
+ doExtract(ctx, task).then(result => {
410
410
  observer.next(result);
411
411
  observer.complete();
412
412
  }).catch(err => {
@@ -415,24 +415,24 @@ const _dtsTask = {
415
415
  });
416
416
  },
417
417
  complete: (ctx, _task, result) => {
418
- _printExtractMessages(ctx, result.messages);
418
+ printExtractMessages(ctx, result.messages);
419
419
  },
420
420
  error: (ctx, _task, err) => {
421
421
  const {
422
422
  logger
423
423
  } = ctx;
424
- if (err instanceof _DtsError) {
425
- _printExtractMessages(ctx, err.messages);
424
+ if (err instanceof DtsError) {
425
+ printExtractMessages(ctx, err.messages);
426
426
  } else if (err instanceof Error) {
427
427
  logger.error(err);
428
428
  }
429
429
  }
430
430
  };
431
- const _dtsWatchTask = {
431
+ const dtsWatchTask = {
432
432
  name: (_ctx, task) => ["build type definitions", ...task.entries.map(entry => " ".concat(chalk__default["default"].blue(entry.importId), ": ").concat(entry.sourcePath, " -> ").concat(entry.targetPath))].join("\n"),
433
433
  exec: (ctx, task) => {
434
434
  return new rxjs.Observable(observer => {
435
- _doExtract(ctx, task).then(result => {
435
+ doExtract(ctx, task).then(result => {
436
436
  observer.next(result);
437
437
  observer.complete();
438
438
  }).catch(err => observer.error(err));
@@ -442,7 +442,7 @@ const _dtsWatchTask = {
442
442
  const {
443
443
  logger
444
444
  } = ctx;
445
- _printExtractMessages(ctx, result.messages);
445
+ printExtractMessages(ctx, result.messages);
446
446
  logger.warn("watching typescript definitions is currently not supported");
447
447
  logger.log();
448
448
  },
@@ -450,14 +450,14 @@ const _dtsWatchTask = {
450
450
  const {
451
451
  logger
452
452
  } = ctx;
453
- if (err instanceof _DtsError) {
454
- _printExtractMessages(ctx, err.messages);
453
+ if (err instanceof DtsError) {
454
+ printExtractMessages(ctx, err.messages);
455
455
  } else if (err instanceof Error) {
456
456
  logger.error(err);
457
457
  }
458
458
  }
459
459
  };
460
- function _resolveRollupConfig(ctx, buildTask) {
460
+ function resolveRollupConfig(ctx, buildTask) {
461
461
  var _ref2, _ref5, _ref6, _ref7, _ref8, _ref9;
462
462
  var _a, _b, _c;
463
463
  const {
@@ -475,7 +475,7 @@ function _resolveRollupConfig(ctx, buildTask) {
475
475
  pkg,
476
476
  ts
477
477
  } = ctx;
478
- const outputExt = _resolveBuildContext._MODULE_EXT[pkg.type][format];
478
+ const outputExt = resolveBuildContext.MODULE_EXT[pkg.type][format];
479
479
  const minify = (_ref2 = config == null ? void 0 : config.minify) !== null && _ref2 !== void 0 ? _ref2 : true;
480
480
  const outDir = path__default["default"].relative(cwd, distPath);
481
481
  const pathAliases = Object.fromEntries(Object.entries(((_a = ts.config) == null ? void 0 : _a.options.paths) || {}).map(_ref3 => {
@@ -530,7 +530,7 @@ function _resolveRollupConfig(ctx, buildTask) {
530
530
  babelrc: false,
531
531
  plugins: ["@babel/plugin-proposal-object-rest-spread"],
532
532
  presets: [["@babel/preset-env", {
533
- targets: pkg.browserslist || _resolveBuildContext._DEFAULTS.browserslist
533
+ targets: pkg.browserslist || resolveBuildContext.DEFAULT_BROWSERSLIST_QUERY
534
534
  }]]
535
535
  }), minify && rollupPluginTerser.terser({
536
536
  output: {
@@ -545,7 +545,7 @@ function _resolveRollupConfig(ctx, buildTask) {
545
545
  }
546
546
  })].filter(Boolean);
547
547
  const userPlugins = (_b = config == null ? void 0 : config.rollup) == null ? void 0 : _b.plugins;
548
- const plugins = Array.isArray(userPlugins) ? defaultPlugins.concat(userPlugins) : _resolveBuildContext._resolveConfigProperty((_c = config == null ? void 0 : config.rollup) == null ? void 0 : _c.plugins, defaultPlugins);
548
+ const plugins = Array.isArray(userPlugins) ? defaultPlugins.concat(userPlugins) : resolveBuildContext.resolveConfigProperty((_c = config == null ? void 0 : config.rollup) == null ? void 0 : _c.plugins, defaultPlugins);
549
549
  return {
550
550
  inputOptions: {
551
551
  context: cwd,
@@ -592,11 +592,11 @@ function _resolveRollupConfig(ctx, buildTask) {
592
592
  }
593
593
  };
594
594
  }
595
- const _rollupTask = {
595
+ const rollupTask = {
596
596
  name: (ctx, task) => "build javascript files (target ".concat(task.target.join(" + "), ", format ").concat(task.format, ")\n ").concat(task.entries.map(e => "".concat(chalk__default["default"].blue(path__default["default"].join(ctx.pkg.name, e.path)), ": ").concat(e.source, " -> ").concat(e.output)).join("\n ")),
597
597
  exec: (ctx, task) => {
598
598
  return new rxjs.Observable(observer => {
599
- _execPromise(ctx, task).then(result => {
599
+ execPromise(ctx, task).then(result => {
600
600
  observer.next(result);
601
601
  observer.complete();
602
602
  }).catch(err => observer.error(err));
@@ -609,7 +609,7 @@ const _rollupTask = {
609
609
  }
610
610
  }
611
611
  };
612
- async function _execPromise(ctx, task) {
612
+ async function execPromise(ctx, task) {
613
613
  const {
614
614
  files,
615
615
  distPath
@@ -618,7 +618,7 @@ async function _execPromise(ctx, task) {
618
618
  const {
619
619
  inputOptions,
620
620
  outputOptions
621
- } = _resolveRollupConfig(ctx, task);
621
+ } = resolveRollupConfig(ctx, task);
622
622
  const bundle = await rollup.rollup(inputOptions);
623
623
  const {
624
624
  output
@@ -639,13 +639,13 @@ async function _execPromise(ctx, task) {
639
639
  await bundle.write(outputOptions);
640
640
  await bundle.close();
641
641
  }
642
- const _rollupWatchTask = {
642
+ const rollupWatchTask = {
643
643
  name: (ctx, task) => "build javascript files (target ".concat(task.target.join(" + "), ", format ").concat(task.format, ")\n ").concat(task.entries.map(e => "".concat(chalk__default["default"].blue(path__default["default"].join(ctx.pkg.name, e.path)), ": ").concat(e.source, " -> ").concat(e.output)).join("\n ")),
644
644
  exec: (ctx, task) => {
645
645
  const {
646
646
  inputOptions,
647
647
  outputOptions
648
- } = _resolveRollupConfig(ctx, task);
648
+ } = resolveRollupConfig(ctx, task);
649
649
  return new rxjs.Observable(observer => {
650
650
  const watchOptions = _objectSpread(_objectSpread({}, inputOptions), {}, {
651
651
  output: outputOptions
@@ -691,19 +691,19 @@ const _rollupWatchTask = {
691
691
  }
692
692
  }
693
693
  };
694
- const _buildTaskHandlers = {
695
- "build:dts": _dtsTask,
696
- "build:js": _rollupTask
694
+ const buildTaskHandlers = {
695
+ "build:dts": dtsTask,
696
+ "build:js": rollupTask
697
697
  };
698
- const _watchTaskHandlers = {
699
- "watch:dts": _dtsWatchTask,
700
- "watch:js": _rollupWatchTask
698
+ const watchTaskHandlers = {
699
+ "watch:dts": dtsWatchTask,
700
+ "watch:js": rollupWatchTask
701
701
  };
702
- exports._buildTaskHandlers = _buildTaskHandlers;
703
- exports._dtsTask = _dtsTask;
704
- exports._dtsWatchTask = _dtsWatchTask;
705
- exports._getExtractMessagesConfig = _getExtractMessagesConfig;
706
- exports._rollupTask = _rollupTask;
707
- exports._rollupWatchTask = _rollupWatchTask;
708
- exports._watchTaskHandlers = _watchTaskHandlers;
709
- //# sourceMappingURL=index-7a851efa.js.map
702
+ exports.buildTaskHandlers = buildTaskHandlers;
703
+ exports.dtsTask = dtsTask;
704
+ exports.dtsWatchTask = dtsWatchTask;
705
+ exports.getExtractMessagesConfig = getExtractMessagesConfig;
706
+ exports.rollupTask = rollupTask;
707
+ exports.rollupWatchTask = rollupWatchTask;
708
+ exports.watchTaskHandlers = watchTaskHandlers;
709
+ //# sourceMappingURL=index-79fdb33f.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-79fdb33f.js","sources":["../../src/node/printExtractMessages.ts","../../src/node/tasks/dts/buildTypes.ts","../../src/node/tasks/dts/DtsError.ts","../../src/node/tasks/dts/createApiExtractorConfig.ts","../../src/node/tasks/dts/createTSDocConfig.ts","../../src/node/tasks/dts/extractModuleBlocks.ts","../../src/node/tasks/dts/getExtractMessagesConfig.ts","../../src/node/tasks/dts/extractTypes.ts","../../src/node/tasks/dts/doExtract.ts","../../src/node/tasks/dts/dtsTask.ts","../../src/node/tasks/dts/dtsWatchTask.ts","../../src/node/tasks/rollup/resolveRollupConfig.ts","../../src/node/tasks/rollup/rollupTask.ts","../../src/node/tasks/rollup/rollupWatchTask.ts","../../src/node/tasks/index.ts"],"sourcesContent":["import path from 'path'\nimport {ExtractorMessage} from '@microsoft/api-extractor'\nimport chalk from 'chalk'\nimport {BuildContext} from './core'\n\nexport function printExtractMessages(ctx: BuildContext, messages: ExtractorMessage[]): void {\n const {cwd, logger} = ctx\n\n const warnings = messages.filter((msg) => msg.logLevel === 'warning')\n\n if (warnings.length) {\n logger.log()\n }\n\n for (const msg of warnings) {\n const sourceFilePath = msg.sourceFilePath && path.relative(cwd, msg.sourceFilePath)\n\n if (msg.messageId === 'TS6307') {\n // 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","/* eslint-disable no-console */\n\nimport ts from 'typescript'\n\nexport const formatHost: ts.FormatDiagnosticsHost = {\n getCurrentDirectory: () => ts.sys.getCurrentDirectory(),\n getNewLine: () => ts.sys.newLine,\n getCanonicalFileName: ts.sys.useCaseSensitiveFileNames ? (f) => f : (f) => f.toLowerCase(),\n}\n\n/** @internal */\nexport async function buildTypes(options: {\n cwd: string\n outDir: string\n tsconfig: ts.ParsedCommandLine\n strict: boolean\n}): Promise<void> {\n const {outDir, tsconfig, strict = false} = options\n\n const compilerOptions: ts.CompilerOptions = {\n ...tsconfig.options,\n declaration: true,\n declarationDir: outDir,\n emitDeclarationOnly: true,\n noEmit: false,\n outDir,\n }\n\n const program = ts.createProgram(tsconfig.fileNames, compilerOptions)\n\n const emitResult = program.emit()\n\n const allDiagnostics = ts.getPreEmitDiagnostics(program).concat(emitResult.diagnostics)\n\n // TODO: improve logging\n allDiagnostics.forEach((diagnostic) => {\n if (diagnostic.file && diagnostic.start) {\n const {line, character} = ts.getLineAndCharacterOfPosition(diagnostic.file, diagnostic.start)\n const message = ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n')\n\n console.log(`${diagnostic.file.fileName} ${line + 1}:${character + 1}\\n${message}`)\n } else {\n console.log(ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n'))\n }\n })\n\n if (emitResult.emitSkipped) {\n const errors = allDiagnostics.filter((diag) => diag.category === ts.DiagnosticCategory.Error)\n\n if (errors.length) {\n console.error(ts.formatDiagnostics(errors, formatHost))\n\n if (strict) {\n throw new Error('failed to compile TypeScript definitions')\n }\n }\n }\n}\n","import {ExtractorMessage} from '@microsoft/api-extractor'\n\n/** @internal */\nexport class DtsError extends Error {\n messages: ExtractorMessage[]\n\n constructor(message: string, messages: ExtractorMessage[]) {\n super(message)\n this.messages = messages\n }\n}\n","import path from 'path'\nimport {IConfigFile, IExtractorMessagesConfig} from '@microsoft/api-extractor'\n\nexport function createApiExtractorConfig(options: {\n distPath: string\n exportPath: string\n filePath: string\n messages: IExtractorMessagesConfig\n projectFolder: string\n mainEntryPointFilePath: string\n tsconfigPath: string\n}): IConfigFile {\n const {\n distPath,\n exportPath,\n filePath,\n messages,\n projectFolder,\n mainEntryPointFilePath,\n tsconfigPath,\n } = options\n\n return {\n apiReport: {\n enabled: false,\n reportFileName: '<unscopedPackageName>.api.md',\n },\n // bundledPackages: [],\n compiler: {\n tsconfigFilePath: tsconfigPath,\n },\n docModel: {\n enabled: false,\n apiJsonFilePath: path.resolve(distPath, `${exportPath}.api.json`),\n },\n dtsRollup: {\n enabled: true,\n untrimmedFilePath: path.resolve(distPath, filePath),\n // betaTrimmedFilePath: path.resolve(distPath, filePath.replace('.d.ts', '-beta.d.ts')),\n // publicTrimmedFilePath: path.resolve(distPath, filePath.replace('.d.ts', '-public.d.ts')),\n },\n tsdocMetadata: {\n enabled: false,\n },\n messages,\n mainEntryPointFilePath,\n projectFolder,\n }\n}\n","import {readFile} from 'fs/promises'\nimport {TSDocConfigFile} from '@microsoft/tsdoc-config'\nimport {parse} from 'jsonc-parser'\n\n/** @public */\nexport interface TSDocCustomTag {\n name: string\n syntaxKind: 'block' | 'modifier'\n allowMultiple?: boolean\n}\n\n/** @internal */\nexport async function createTSDocConfig(opts: {\n customTags: TSDocCustomTag[]\n}): Promise<TSDocConfigFile | undefined> {\n const {customTags} = opts\n\n if (customTags.length === 0) {\n return undefined\n }\n\n const tsDocBaseBuf = await readFile(\n require.resolve('@microsoft/api-extractor/extends/tsdoc-base.json')\n )\n\n // Include the definitions that are required for API Extractor\n // extends: ['@microsoft/api-extractor/extends/tsdoc-base.json'],\n const tsDocBaseConfig = parse(tsDocBaseBuf.toString())\n\n // Define custom tags and specify how they should be parsed\n const tagDefinitions = (tsDocBaseConfig.tagDefinitions || []).concat(\n customTags.map((t) => ({\n tagName: `@${t.name}`,\n syntaxKind: t.syntaxKind,\n allowMultiple: t.allowMultiple,\n }))\n )\n\n // Indicate that custom tags are supported by your tooling.\n // (Without this, warnings may be reported saying that a tag is unsupported.)\n const supportForTags = {...tsDocBaseConfig.supportForTags}\n\n for (const customTag of customTags) {\n supportForTags[`@${customTag.name}`] = true\n }\n\n return TSDocConfigFile.loadFromObject({\n ...tsDocBaseConfig,\n noStandardTags: false,\n tagDefinitions,\n supportForTags,\n })\n}\n","import 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'\nimport {PkgRuleLevel, PkgConfigOptions} from '../../core'\n\nconst LOG_LEVELS: Record<PkgRuleLevel, ExtractorLogLevel> = {\n error: 'error' as ExtractorLogLevel.Error,\n info: 'info' as ExtractorLogLevel.Info,\n off: 'none' as ExtractorLogLevel.None,\n warn: 'warning' as ExtractorLogLevel.Warning,\n}\n\n/** @internal */\nexport function getExtractMessagesConfig(options: {\n rules: NonNullable<PkgConfigOptions['extract']>['rules']\n}): IExtractorMessagesConfig {\n const {rules} = options\n\n function ruleToLogLevel(\n key: keyof NonNullable<NonNullable<PkgConfigOptions['extract']>['rules']>,\n defaultLevel?: ExtractorLogLevel\n ) {\n const r = rules?.[key]\n\n return (r ? LOG_LEVELS[r] : defaultLevel || 'warning') as ExtractorLogLevel\n }\n\n return {\n compilerMessageReporting: {\n default: {\n logLevel: 'warning' as ExtractorLogLevel,\n },\n },\n\n extractorMessageReporting: {\n default: {\n logLevel: 'warning' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n\n 'ae-forgotten-export': {\n logLevel: ruleToLogLevel('ae-forgotten-export', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-incompatible-release-tags': {\n logLevel: ruleToLogLevel('ae-incompatible-release-tags', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-internal-missing-underscore': {\n logLevel: ruleToLogLevel('ae-internal-missing-underscore'),\n addToApiReportFile: false,\n },\n\n 'ae-missing-release-tag': {\n logLevel: ruleToLogLevel('ae-missing-release-tag', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-wrong-input-file-type': {\n logLevel: 'none' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n },\n\n tsdocMessageReporting: {\n default: {\n logLevel: 'warning' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n\n 'tsdoc-link-tag-unescaped-text': {\n logLevel: ruleToLogLevel('tsdoc-link-tag-unescaped-text', 'warning' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'tsdoc-undefined-tag': {\n logLevel: ruleToLogLevel('tsdoc-undefined-tag', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'tsdoc-unsupported-tag': {\n logLevel: ruleToLogLevel('tsdoc-unsupported-tag', 'none' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n },\n }\n}\n","import fs from 'fs/promises'\nimport path from 'path'\nimport {\n Extractor,\n ExtractorConfig,\n ExtractorMessage,\n ExtractorResult,\n} from '@microsoft/api-extractor'\nimport mkdirp from 'mkdirp'\nimport prettier from 'prettier'\nimport {PkgConfigOptions, BuildFile} from '../../core'\nimport {createApiExtractorConfig} from './createApiExtractorConfig'\nimport {createTSDocConfig} from './createTSDocConfig'\nimport {extractModuleBlocksFromTypes} from './extractModuleBlocks'\nimport {getExtractMessagesConfig} from './getExtractMessagesConfig'\n\nexport async function extractTypes(options: {\n customTags: NonNullable<PkgConfigOptions['extract']>['customTags']\n cwd: string\n distPath: string\n exportPath: string\n filePath: string\n files: BuildFile[]\n projectPath: string\n rules?: NonNullable<PkgConfigOptions['extract']>['rules']\n sourceTypesPath: string\n tmpPath: string\n tsconfigPath: string\n}): Promise<{extractorResult: ExtractorResult; messages: ExtractorMessage[]}> {\n const {\n customTags,\n distPath,\n exportPath,\n files,\n filePath,\n projectPath,\n rules,\n sourceTypesPath,\n tmpPath,\n tsconfigPath,\n } = options\n\n const tsdocConfigFile = await createTSDocConfig({\n customTags: customTags || [],\n })\n\n const extractorConfig: ExtractorConfig = ExtractorConfig.prepare({\n configObject: createApiExtractorConfig({\n distPath,\n exportPath,\n filePath,\n messages: getExtractMessagesConfig({rules}),\n projectFolder: projectPath,\n mainEntryPointFilePath: sourceTypesPath,\n tsconfigPath,\n }),\n configObjectFullPath: undefined,\n tsdocConfigFile,\n packageJsonFullPath: path.resolve(projectPath, 'package.json'),\n })\n\n const messages: ExtractorMessage[] = []\n\n // Invoke API Extractor\n const extractorResult = Extractor.invoke(extractorConfig, {\n // Equivalent to the \"--local\" command-line parameter\n localBuild: true,\n // Equivalent to the \"--verbose\" command-line parameter\n showVerboseMessages: true,\n // handle messages\n messageCallback(message: ExtractorMessage) {\n messages.push(message)\n message.handled = true\n },\n })\n\n const typesPath = path.resolve(distPath, filePath)\n const typesBuf = await fs.readFile(typesPath)\n const prettierConfig = await prettier.resolveConfig(typesPath)\n\n await mkdirp(path.dirname(typesPath))\n\n const moduleBlocks = await extractModuleBlocksFromTypes({\n extractResult: extractorResult,\n tsOutDir: tmpPath,\n })\n\n const code = [typesBuf.toString(), ...moduleBlocks].join('\\n\\n')\n\n await fs.writeFile(\n typesPath,\n prettier.format(code, {\n ...prettierConfig,\n filepath: typesPath,\n })\n )\n\n // Add to `files` in context\n files.push({\n type: 'types',\n path: typesPath,\n })\n\n return {extractorResult, messages}\n}\n","import path from 'path'\nimport {promisify} from 'util'\nimport {ExtractorMessage} from '@microsoft/api-extractor'\nimport rimrafCallback from 'rimraf'\nimport {BuildContext} from '../../core'\nimport {buildTypes} from './buildTypes'\nimport {DtsError} from './DtsError'\nimport {extractTypes} from './extractTypes'\nimport {DtsResult, DtsTask, DtsWatchTask} from './types'\n\nconst rimraf = promisify(rimrafCallback)\n\n/**\n * - Build type definitions to a temporary directory using TypeScript compiler.\n * - Create a type definition bundle for each export entry.\n * - When done, remove the temporary directory.\n */\nexport async function doExtract(\n ctx: BuildContext,\n task: DtsTask | DtsWatchTask\n): Promise<DtsResult> {\n const {config, cwd, files, strict, ts} = ctx\n\n if (!ts.config || !ts.configPath) {\n return {type: 'dts', messages: [], results: []}\n }\n\n const {outDir, rootDir = cwd} = ts.config.options\n\n if (!outDir) {\n throw new Error('tsconfig.json is missing `compilerOptions.outDir`')\n }\n\n const tmpPath = path.resolve(outDir, '__tmp__')\n\n await buildTypes({cwd, outDir: tmpPath, strict, tsconfig: ts.config})\n const messages: ExtractorMessage[] = []\n\n const results: {sourcePath: string; filePath: string}[] = []\n\n for (const entry of task.entries) {\n const exportPath = entry.exportPath === '.' ? './index' : entry.exportPath\n\n const sourceTypesPath = path.resolve(\n tmpPath,\n path.relative(rootDir, path.resolve(cwd, entry.sourcePath)).replace(/\\.ts$/, '.d.ts')\n )\n\n const targetPath = path.resolve(cwd, entry.targetPath)\n const filePath = path.relative(outDir, targetPath)\n const result = await extractTypes({\n customTags: config?.extract?.customTags,\n cwd,\n 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'\nimport {printExtractMessages} from '../../printExtractMessages'\nimport {TaskHandler} from '../types'\nimport {doExtract} from './doExtract'\nimport {DtsError} from './DtsError'\nimport {DtsResult, DtsTask} from './types'\n\n/** @internal */\nexport const dtsTask: TaskHandler<DtsTask, DtsResult> = {\n name: (_ctx, task) =>\n [\n `build type definitions`,\n ...task.entries.map(\n (entry) =>\n ` ${chalk.blue(entry.importId)}: ${entry.sourcePath} -> ${entry.targetPath}`\n ),\n ].join('\\n'),\n exec: (ctx, task) => {\n return new Observable((observer) => {\n doExtract(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => {\n observer.error(err)\n })\n })\n },\n complete: (ctx, _task, result) => {\n printExtractMessages(ctx, result.messages)\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof DtsError) {\n printExtractMessages(ctx, err.messages)\n } else if (err instanceof Error) {\n logger.error(err)\n }\n },\n}\n","import chalk from 'chalk'\nimport {Observable} from 'rxjs'\nimport {printExtractMessages} from '../../printExtractMessages'\nimport {TaskHandler} from '../types'\nimport {doExtract} from './doExtract'\nimport {DtsError} from './DtsError'\nimport {DtsResult, DtsWatchTask} from './types'\n\n/** @internal */\nexport const dtsWatchTask: TaskHandler<DtsWatchTask, DtsResult> = {\n name: (_ctx, task) =>\n [\n `build type definitions`,\n ...task.entries.map(\n (entry) =>\n ` ${chalk.blue(entry.importId)}: ${entry.sourcePath} -> ${entry.targetPath}`\n ),\n ].join('\\n'),\n exec: (ctx, task) => {\n return new Observable((observer) => {\n doExtract(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => observer.error(err))\n })\n },\n complete: (ctx, _task, result) => {\n const {logger} = ctx\n\n printExtractMessages(ctx, result.messages)\n\n logger.warn('watching typescript definitions is currently not supported')\n logger.log()\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof DtsError) {\n printExtractMessages(ctx, err.messages)\n } else if (err instanceof Error) {\n logger.error(err)\n }\n },\n}\n","import path from 'path'\nimport alias from '@rollup/plugin-alias'\nimport {getBabelOutputPlugin} from '@rollup/plugin-babel'\nimport commonjs from '@rollup/plugin-commonjs'\nimport json from '@rollup/plugin-json'\nimport {nodeResolve} from '@rollup/plugin-node-resolve'\nimport replace from '@rollup/plugin-replace'\nimport {InputOptions, OutputOptions, Plugin} from 'rollup'\nimport esbuild from 'rollup-plugin-esbuild'\nimport {terser} from 'rollup-plugin-terser'\nimport {\n BuildContext,\n DEFAULT_BROWSERSLIST_QUERY,\n MODULE_EXT,\n resolveConfigProperty,\n} from '../../core'\nimport {RollupTask, RollupWatchTask} from '../types'\n\nexport interface RollupConfig {\n inputOptions: InputOptions\n outputOptions: OutputOptions\n}\n\n/** @internal */\nexport function resolveRollupConfig(\n ctx: BuildContext,\n buildTask: RollupTask | RollupWatchTask\n): RollupConfig {\n const {format, runtime, target} = buildTask\n const {config, cwd, exports: _exports, external, distPath, logger, pkg, ts} = ctx\n const outputExt = MODULE_EXT[pkg.type][format]\n const minify = config?.minify ?? true\n const outDir = path.relative(cwd, distPath)\n\n const pathAliases = Object.fromEntries(\n Object.entries(ts.config?.options.paths || {}).map(([key, val]) => {\n return [key, path.resolve(cwd, ts.config?.options.baseUrl || '.', val[0])]\n })\n )\n\n const entries = buildTask.entries.map((entry) => {\n return {\n ...entry,\n name: path.relative(outDir, entry.output).replace(/\\.[^/.]+$/, ''),\n }\n }, {})\n\n const exportIds =\n _exports && Object.keys(_exports).map((exportPath) => path.join(pkg.name, exportPath))\n\n const sourcePaths = _exports && Object.values(_exports).map((e) => path.resolve(cwd, e.source))\n\n const replacements = Object.fromEntries(\n Object.entries(config?.define || {}).map(([key, val]) => [key, JSON.stringify(val)])\n )\n\n const defaultPlugins = [\n replace({\n preventAssignment: true,\n values: {\n ...(pkg.name === '@sanity/pkg-utils'\n ? {...replacements}\n : {\n 'process.env.PKG_FILE_PATH': (arg) => {\n const sourcePath = './' + path.relative(cwd, arg)\n const entry = entries.find((e) => e.source === sourcePath)\n\n if (!entry) {\n // eslint-disable-next-line no-console\n console.error(`could not find source entry: ${sourcePath}`)\n\n return 'null'\n }\n\n return JSON.stringify(\n path.relative(cwd, path.resolve(outDir, entry.name + outputExt))\n )\n },\n 'process.env.PKG_FORMAT': JSON.stringify(format),\n 'process.env.PKG_RUNTIME': JSON.stringify(runtime),\n 'process.env.PKG_VERSION': JSON.stringify(process.env.PKG_VERSION || pkg.version),\n ...replacements,\n }),\n },\n }),\n alias({\n entries: {...pathAliases},\n }),\n nodeResolve({\n // mainFields: ['module', 'jsnext', 'main'],\n browser: runtime === 'browser',\n // exportConditions: [runtime === 'node' ? 'node' : 'browser'],\n extensions: ['.cjs', '.mjs', '.js', '.jsx', '.json', '.node'],\n preferBuiltins: true, // runtime === 'node',\n }),\n commonjs({\n esmExternals: false,\n extensions: ['.js'],\n // include: /\\/node_modules\\//,\n // requireReturnsDefault: 'namespace',\n }),\n json(),\n esbuild({\n jsx: config?.jsx ?? 'automatic',\n jsxFactory: config?.jsxFactory ?? 'createElement',\n jsxFragment: config?.jsxFragment ?? 'Fragment',\n jsxImportSource: config?.jsxImportSource ?? 'react',\n target,\n tsconfig: ctx.ts.configPath || 'tsconfig.json',\n }),\n getBabelOutputPlugin({\n babelrc: false,\n plugins: ['@babel/plugin-proposal-object-rest-spread'],\n presets: [['@babel/preset-env', {targets: pkg.browserslist || DEFAULT_BROWSERSLIST_QUERY}]],\n }),\n minify &&\n terser({\n output: {\n comments: (_node, comment) => {\n const text = comment.value\n const type = comment.type\n\n // Check if this is a multiline comment\n if (type == 'comment2') {\n // Keep licensing comments\n return /@preserve|@license|@cc_on/i.test(text)\n }\n\n return false\n },\n },\n }),\n ].filter(Boolean) as Plugin[]\n\n const userPlugins = config?.rollup?.plugins\n\n const plugins = Array.isArray(userPlugins)\n ? defaultPlugins.concat(userPlugins)\n : resolveConfigProperty(config?.rollup?.plugins, defaultPlugins)\n\n return {\n inputOptions: {\n context: cwd,\n\n external: (id, importer) => {\n // Check if the id is a self-referencing import\n if (exportIds?.includes(id)) {\n return true\n }\n\n // Check if the id is a file path that points to an exported source file\n if (importer && (id.startsWith('.') || id.startsWith('/'))) {\n const idPath = path.resolve(path.dirname(importer), id)\n\n if (sourcePaths?.includes(idPath)) {\n logger.warn(\n `detected self-referencing import – treating as external: ${path.relative(\n cwd,\n idPath\n )}`\n )\n\n return true\n }\n }\n\n const idParts = id.split('/')\n\n const name = idParts[0].startsWith('@') ? `${idParts[0]}/${idParts[1]}` : idParts[0]\n\n if (name && external.includes(name)) {\n return true\n }\n\n return false\n },\n\n input: entries.reduce<{[entryAlias: string]: string}>((acc, entry) => {\n return {...acc, [entry.name]: entry.source}\n }, {}),\n\n onwarn(warning, rollupWarn) {\n if (!warning.code || !['CIRCULAR_DEPENDENCY'].includes(warning.code)) {\n rollupWarn(warning)\n }\n },\n\n plugins,\n\n treeshake: {\n propertyReadSideEffects: false,\n },\n },\n outputOptions: {\n chunkFileNames: () => `_chunks/[name]-[hash]${outputExt}`,\n dir: outDir,\n entryFileNames: () => (outputExt === '.esm.js' ? `[name].js` : `[name]${outputExt}`),\n format,\n exports: 'auto',\n sourcemap: config?.sourcemap ?? true,\n },\n }\n}\n","/* eslint-disable no-console */\n\nimport path from 'path'\nimport chalk from 'chalk'\nimport {rollup} from 'rollup'\nimport {Observable} from 'rxjs'\nimport {BuildContext} from '../../core'\nimport {RollupTask, TaskHandler} from '../types'\nimport {resolveRollupConfig} from './resolveRollupConfig'\n\n/** @internal */\nexport const rollupTask: TaskHandler<RollupTask> = {\n name: (ctx, task) =>\n `build javascript files (target ${task.target.join(' + ')}, format ${\n task.format\n })\\n ${task.entries\n .map((e) => `${chalk.blue(path.join(ctx.pkg.name, e.path))}: ${e.source} -> ${e.output}`)\n .join('\\n ')}`,\n exec: (ctx, task) => {\n return new Observable((observer) => {\n execPromise(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => observer.error(err))\n })\n },\n complete: () => {\n //\n },\n error: (_ctx, _task, err) => {\n if (err instanceof Error) {\n console.log(err)\n }\n },\n}\n\nasync function execPromise(ctx: BuildContext, task: RollupTask) {\n const {files, distPath} = ctx\n const outDir = path.relative(ctx.cwd, distPath)\n\n const {inputOptions, outputOptions} = resolveRollupConfig(ctx, task)\n\n // Create bundle\n const bundle = await rollup(inputOptions)\n\n // an array of file names this bundle depends on\n // console.log(bundle.watchFiles)\n\n // generate output specific code in-memory\n // you can call this function multiple times on the same bundle object\n const {output} = await bundle.generate(outputOptions)\n\n for (const chunkOrAsset of output) {\n if (chunkOrAsset.type === 'asset') {\n files.push({\n type: 'asset',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n } else {\n files.push({\n type: 'chunk',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n }\n }\n\n // or write the bundle to disk\n await bundle.write(outputOptions)\n\n // closes the bundle\n await bundle.close()\n}\n","import path from 'path'\nimport chalk from 'chalk'\nimport {RollupWatcherEvent, RollupWatchOptions, watch as rollupWatch} from 'rollup'\nimport {Observable} from 'rxjs'\nimport {RollupWatchTask, TaskHandler} from '../types'\nimport {resolveRollupConfig} from './resolveRollupConfig'\n\n/** @internal */\nexport const rollupWatchTask: TaskHandler<RollupWatchTask, RollupWatcherEvent> = {\n name: (ctx, task) =>\n `build javascript files (target ${task.target.join(' + ')}, format ${\n task.format\n })\\n ${task.entries\n .map((e) => `${chalk.blue(path.join(ctx.pkg.name, e.path))}: ${e.source} -> ${e.output}`)\n .join('\\n ')}`,\n exec: (ctx, task) => {\n const {inputOptions, outputOptions} = resolveRollupConfig(ctx, task)\n\n return new Observable((observer) => {\n const watchOptions: RollupWatchOptions = {\n ...inputOptions,\n output: outputOptions,\n }\n\n const watcher = rollupWatch(watchOptions)\n\n watcher.on('event', (event) => {\n observer.next(event)\n })\n\n return () => {\n watcher.close()\n }\n })\n },\n complete: (ctx, task, event) => {\n const {logger} = ctx\n\n if (event.code === 'BUNDLE_END') {\n logger.success(\n `build javascript files (target ${task.target.join(' + ')}, format ${\n task.format\n })\\n ${task.entries\n .map((e) => `${chalk.blue(path.join(ctx.pkg.name, e.path))}: ${e.source} -> ${e.output}`)\n .join('\\n ')}`\n )\n logger.log('')\n\n return\n }\n\n if (event.code === 'BUNDLE_START') {\n return\n }\n\n if (event.code === 'END') {\n return\n }\n\n if (event.code === 'ERROR') {\n // logger.log('')\n logger.error(event.code, event)\n\n return\n }\n\n if (event.code === 'START') {\n return\n }\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof Error) {\n logger.log(err)\n }\n },\n}\n","import {dtsTask, dtsWatchTask} from './dts'\nimport {rollupTask, rollupWatchTask} from './rollup'\nimport {BuildTaskHandlers, WatchTaskHandlers} from './types'\n\nexport * from './types'\nexport * from './dts'\nexport * from './rollup'\n\n/** @internal */\nexport const buildTaskHandlers: BuildTaskHandlers = {\n 'build:dts': dtsTask,\n 'build:js': rollupTask,\n}\n\n/** @internal */\nexport const watchTaskHandlers: WatchTaskHandlers = {\n 'watch:dts': dtsWatchTask,\n 'watch:js': rollupWatchTask,\n}\n"],"names":["printExtractMessages","ctx","messages","cwd","logger","warnings","filter","msg","logLevel","length","log","sourceFilePath","path","relative","messageId","chalk","cyan","yellow","sourceFileLine","sourceFileColumn","gray","text","join","errors","red","process","exit","formatHost","getCurrentDirectory","ts","sys","getNewLine","newLine","getCanonicalFileName","useCaseSensitiveFileNames","f","toLowerCase","buildTypes","options","outDir","tsconfig","strict","compilerOptions","declaration","declarationDir","emitDeclarationOnly","noEmit","program","createProgram","fileNames","emitResult","emit","allDiagnostics","getPreEmitDiagnostics","concat","diagnostics","forEach","diagnostic","file","start","line","character","getLineAndCharacterOfPosition","message","flattenDiagnosticMessageText","messageText","console","fileName","emitSkipped","diag","category","DiagnosticCategory","Error","error","formatDiagnostics","DtsError","constructor","createApiExtractorConfig","distPath","exportPath","filePath","projectFolder","mainEntryPointFilePath","tsconfigPath","apiReport","enabled","reportFileName","compiler","tsconfigFilePath","docModel","apiJsonFilePath","resolve","dtsRollup","untrimmedFilePath","tsdocMetadata","createTSDocConfig","opts","customTags","tsDocBaseBuf","readFile","require","tsDocBaseConfig","parse","toString","tagDefinitions","map","t","tagName","name","syntaxKind","allowMultiple","supportForTags","customTag","TSDocConfigFile","loadFromObject","noStandardTags","extractModuleBlocksFromTypes","tsOutDir","extractResult","compilerState","moduleBlocks","allProgramFiles","getSourceFiles","sourceFiles","sourceFile","includes","push","extractModuleBlocks","fileContent","ast","parser","typeScriptParser","body","node","type","print","code","LOG_LEVELS","info","off","warn","getExtractMessagesConfig","rules","ruleToLogLevel","key","defaultLevel","r","compilerMessageReporting","default","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","rimraf","promisify","rimrafCallback","doExtract","task","_a","_b","config","configPath","results","rootDir","entry","entries","sourcePath","replace","targetPath","result","extract","some","dtsTask","_ctx","blue","importId","exec","Observable","observer","then","next","complete","catch","err","_task","dtsWatchTask","resolveRollupConfig","buildTask","_c","runtime","target","exports","_exports","external","pkg","outputExt","MODULE_EXT","minify","pathAliases","Object","fromEntries","paths","val","_a2","baseUrl","output","exportIds","keys","sourcePaths","values","e","source","replacements","define","JSON","stringify","defaultPlugins","preventAssignment","arg","find","env","PKG_VERSION","version","alias","nodeResolve","browser","extensions","preferBuiltins","commonjs","esmExternals","json","esbuild","jsx","jsxFactory","jsxFragment","jsxImportSource","getBabelOutputPlugin","babelrc","plugins","presets","targets","browserslist","DEFAULT_BROWSERSLIST_QUERY","terser","comments","_node","comment","value","test","Boolean","userPlugins","rollup","Array","isArray","resolveConfigProperty","inputOptions","context","id","importer","startsWith","idPath","idParts","split","input","reduce","acc","onwarn","warning","rollupWarn","treeshake","propertyReadSideEffects","outputOptions","chunkFileNames","dir","entryFileNames","sourcemap","rollupTask","execPromise","bundle","generate","chunkOrAsset","write","close","rollupWatchTask","watchOptions","watcher","rollupWatch","on","event","success","buildTaskHandlers","watchTaskHandlers"],"mappings":"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"}