@sanity/pkg-utils 2.0.0-beta.1 → 2.0.0-beta.2

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 (42) hide show
  1. package/dist/_chunks/{build-30149f1c.cjs → build-b879ad71.cjs} +10 -7
  2. package/dist/_chunks/build-b879ad71.cjs.map +1 -0
  3. package/dist/_chunks/{buildAction-7e75c8b7.cjs → buildAction-232e6073.cjs} +4 -4
  4. package/dist/_chunks/{buildAction-7e75c8b7.cjs.map → buildAction-232e6073.cjs.map} +1 -1
  5. package/dist/_chunks/{check-0f269395.cjs → check-617f9494.cjs} +23 -19
  6. package/dist/_chunks/check-617f9494.cjs.map +1 -0
  7. package/dist/_chunks/{checkAction-8b9632b6.cjs → checkAction-a2d388ad.cjs} +3 -3
  8. package/dist/_chunks/{checkAction-8b9632b6.cjs.map → checkAction-a2d388ad.cjs.map} +1 -1
  9. package/dist/_chunks/{index-db00ad50.cjs → index-b63b3deb.cjs} +73 -19
  10. package/dist/_chunks/index-b63b3deb.cjs.map +1 -0
  11. package/dist/_chunks/{resolveBuildContext-e938cee6.cjs → resolveBuildContext-bba19cd6.cjs} +43 -40
  12. package/dist/_chunks/resolveBuildContext-bba19cd6.cjs.map +1 -0
  13. package/dist/_chunks/{watch-73fd460f.cjs → watch-6fb4e453.cjs} +14 -11
  14. package/dist/_chunks/watch-6fb4e453.cjs.map +1 -0
  15. package/dist/_chunks/{watchAction-ffba41fd.cjs → watchAction-8135afe0.cjs} +4 -4
  16. package/dist/_chunks/{watchAction-ffba41fd.cjs.map → watchAction-8135afe0.cjs.map} +1 -1
  17. package/dist/cli.cjs +4 -4
  18. package/dist/index.cjs +17 -16
  19. package/dist/index.cjs.map +1 -1
  20. package/dist/index.d.ts +17 -8
  21. package/dist/index.js +363 -295
  22. package/dist/index.js.map +1 -1
  23. package/package.json +4 -4
  24. package/src/node/build.ts +13 -2
  25. package/src/node/check.ts +4 -3
  26. package/src/node/core/contexts/buildContext.ts +2 -7
  27. package/src/node/core/pkg/loadPkgWithReporting.ts +11 -20
  28. package/src/node/index.ts +3 -2
  29. package/src/node/logger.ts +33 -0
  30. package/src/node/printPackageTree.ts +11 -11
  31. package/src/node/resolveBuildContext.ts +11 -25
  32. package/src/node/spinner.ts +3 -3
  33. package/src/node/tasks/dts/dtsTask.ts +7 -4
  34. package/src/node/tasks/rollup/rollupTask.ts +66 -21
  35. package/src/node/tasks/rollup/rollupWatchTask.ts +0 -1
  36. package/src/node/watch.ts +6 -3
  37. package/src/node/watchConfigFiles.ts +9 -8
  38. package/dist/_chunks/build-30149f1c.cjs.map +0 -1
  39. package/dist/_chunks/check-0f269395.cjs.map +0 -1
  40. package/dist/_chunks/index-db00ad50.cjs.map +0 -1
  41. package/dist/_chunks/resolveBuildContext-e938cee6.cjs.map +0 -1
  42. package/dist/_chunks/watch-73fd460f.cjs.map +0 -1
@@ -5,14 +5,14 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
5
5
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
6
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
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
- var resolveBuildContext = require('./resolveBuildContext-e938cee6.cjs');
8
+ var resolveBuildContext = require('./resolveBuildContext-bba19cd6.cjs');
9
9
  require('fs/promises');
10
10
  require('pkg-up');
11
11
  require('typescript');
12
12
  var fs = require('fs');
13
13
  var path = require('path');
14
14
  var chalk = require('chalk');
15
- var index = require('./index-db00ad50.cjs');
15
+ var index = require('./index-b63b3deb.cjs');
16
16
  function _interopDefaultCompat(e) {
17
17
  return e && typeof e === 'object' && 'default' in e ? e : {
18
18
  default: e
@@ -140,13 +140,13 @@ function resolveBuildTasks(ctx) {
140
140
  }
141
141
  function createSpinner(msg) {
142
142
  const startTime = Date.now();
143
- console.log(" ".concat(msg));
143
+ console.log(msg);
144
144
  return {
145
145
  complete: () => {
146
- console.log("".concat(chalk__default.default.green("ok "), " ").concat(chalk__default.default.gray("".concat(Date.now() - startTime, "ms"))));
146
+ console.log("".concat(chalk__default.default.green("[success]"), " ").concat(chalk__default.default.gray("".concat(Date.now() - startTime, "ms"))));
147
147
  },
148
148
  error: () => {
149
- console.log("".concat(chalk__default.default.red("failed"), " ").concat(chalk__default.default.gray("".concat(Date.now() - startTime, "ms"))));
149
+ console.log("".concat(chalk__default.default.red("[error]"), " ").concat(chalk__default.default.gray("".concat(Date.now() - startTime, "ms"))));
150
150
  }
151
151
  };
152
152
  }
@@ -157,8 +157,10 @@ async function build(options) {
157
157
  strict = false,
158
158
  tsconfig: tsconfigOption
159
159
  } = options;
160
+ const logger = resolveBuildContext.createLogger();
160
161
  const pkg = await resolveBuildContext.loadPkgWithReporting({
161
- cwd
162
+ cwd,
163
+ logger
162
164
  });
163
165
  const config = await resolveBuildContext.loadConfig({
164
166
  cwd
@@ -168,6 +170,7 @@ async function build(options) {
168
170
  config,
169
171
  cwd,
170
172
  emitDeclarationOnly,
173
+ logger,
171
174
  pkg,
172
175
  strict,
173
176
  tsconfig
@@ -196,4 +199,4 @@ async function build(options) {
196
199
  }
197
200
  exports.build = build;
198
201
  exports.resolveBuildTasks = resolveBuildTasks;
199
- //# sourceMappingURL=build-30149f1c.cjs.map
202
+ //# sourceMappingURL=build-b879ad71.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-b879ad71.cjs","sources":["../../src/node/resolveBuildTasks.ts","../../src/node/spinner.ts","../../src/node/build.ts"],"sourcesContent":["import fs from 'fs'\nimport path from 'path'\nimport {PkgExport, PkgFormat, PkgRuntime, BuildContext} from './core'\nimport {BuildTask, DtsTask, RollupTask, RollupTaskEntry} from './tasks'\n\n/** @internal */\nexport function resolveBuildTasks(ctx: BuildContext): BuildTask[] {\n const {config, cwd, pkg, target} = ctx\n\n const bundles = config?.bundles || []\n\n const tasks: BuildTask[] = []\n\n const exports = Object.entries(ctx.exports || {}).map(\n ([_path, exp]) => ({_path, ...exp} as PkgExport & {_path: string})\n )\n\n const dtsTask: DtsTask = {\n type: 'build:dts',\n entries: [],\n }\n\n const rollupTasks: Record<string, RollupTask> = {}\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: 'build: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 // Add dts task\n if (dtsTask.entries.length) {\n tasks.push(dtsTask)\n }\n\n if (!ctx.emitDeclarationOnly) {\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: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: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: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 for (const bundle of bundles) {\n if (bundle.require) {\n addRollupTaskEntry('commonjs', bundle.runtime || ctx.runtime, {\n path: '__bundle__',\n source: bundle.source,\n output: bundle.require,\n })\n }\n\n if (bundle.import) {\n addRollupTaskEntry('commonjs', bundle.runtime || ctx.runtime, {\n path: '__bundle__',\n source: bundle.source,\n output: bundle.import,\n })\n }\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\n return tasks\n}\n","/* eslint-disable no-console */\n\nimport chalk from 'chalk'\n\nexport function createSpinner(msg: string): {complete: () => void; error: () => void} {\n const startTime = Date.now()\n\n console.log(msg)\n\n return {\n complete: () => {\n console.log(`${chalk.green('[success]')} ${chalk.gray(`${Date.now() - startTime}ms`)}`)\n },\n error: () => {\n console.log(`${chalk.red(`[error]`)} ${chalk.gray(`${Date.now() - startTime}ms`)}`)\n },\n }\n}\n","import {loadConfig, loadPkgWithReporting} from './core'\nimport {createLogger} from './logger'\nimport {resolveBuildContext} from './resolveBuildContext'\nimport {resolveBuildTasks} from './resolveBuildTasks'\nimport {createSpinner} from './spinner'\nimport {BuildTask, TaskHandler, buildTaskHandlers} from './tasks'\n\n/**\n * Build the distribution files of a npm package.\n *\n * @example\n * ```ts\n * import {build} from '@sanity/pkg-utils'\n *\n * build({\n * cwd: process.cwd(),\n * tsconfig: 'tsconfig.dist.json,\n * }).then(() => {\n * console.log('successfully built')\n * }).catch((err) => {\n * console.log(`build error: ${err.message}`)\n * })\n * ```\n *\n * @public\n */\nexport async function build(options: {\n cwd: string\n emitDeclarationOnly?: boolean\n strict?: boolean\n tsconfig?: string\n}): Promise<void> {\n const {cwd, emitDeclarationOnly, strict = false, tsconfig: tsconfigOption} = options\n const logger = createLogger()\n\n const pkg = await loadPkgWithReporting({cwd, logger})\n const config = await loadConfig({cwd})\n const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'\n\n const ctx = await resolveBuildContext({\n config,\n cwd,\n emitDeclarationOnly,\n logger,\n pkg,\n strict,\n tsconfig,\n })\n\n const buildTasks = resolveBuildTasks(ctx)\n\n for (const task of buildTasks) {\n const handler = buildTaskHandlers[task.type] as TaskHandler<BuildTask>\n const taskName = handler.name(ctx, task)\n\n const spinner = createSpinner(taskName)\n\n try {\n const result = await handler.exec(ctx, task).toPromise()\n\n spinner.complete()\n ctx.logger.log()\n\n handler.complete(ctx, task, result)\n } catch (err) {\n spinner.error()\n\n if (err instanceof Error) {\n const RE_CWD = new RegExp(`${cwd}`, 'g')\n\n ctx.logger.error(err.message.replace(RE_CWD, '.'))\n ctx.logger.log()\n }\n\n handler.error(ctx, task, err)\n\n process.exit(1)\n }\n }\n}\n"],"names":["resolveBuildTasks","ctx","_a","_b","_c","_d","_e","config","cwd","pkg","target","bundles","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","length","emitDeclarationOnly","output","require","import","browser","bundle","values","legacyExports","_exported","relativeTargetPath","replace","fs","writeFileSync","default","resolve","createSpinner","msg","startTime","Date","now","console","log","complete","chalk","green","gray","error","red","build","options","strict","tsconfig","tsconfigOption","logger","createLogger","loadPkgWithReporting","loadConfig","resolveBuildContext","buildTasks","task","handler","buildTaskHandlers","taskName","spinner","result","exec","toPromise","err","Error","RE_CWD","RegExp","message","process","exit"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var build = require('./build-30149f1c.cjs');
3
+ var build = require('./build-b879ad71.cjs');
4
4
  var handleError = require('./handleError-4062ca45.cjs');
5
- require('./resolveBuildContext-e938cee6.cjs');
5
+ require('./resolveBuildContext-bba19cd6.cjs');
6
6
  require('path');
7
7
  require('esbuild-register/dist/node');
8
8
  require('pkg-up');
@@ -13,7 +13,7 @@ require('zod');
13
13
  require('typescript');
14
14
  require('browserslist');
15
15
  require('fs');
16
- require('./index-db00ad50.cjs');
16
+ require('./index-b63b3deb.cjs');
17
17
  require('rxjs');
18
18
  require('util');
19
19
  require('rimraf');
@@ -46,4 +46,4 @@ async function buildAction(options) {
46
46
  }
47
47
  }
48
48
  exports.buildAction = buildAction;
49
- //# sourceMappingURL=buildAction-7e75c8b7.cjs.map
49
+ //# sourceMappingURL=buildAction-232e6073.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildAction-7e75c8b7.cjs","sources":["../../src/cli/buildAction.ts"],"sourcesContent":["import {build} from '../node/build'\nimport {handleError} from './handleError'\n\nexport async function buildAction(options: {\n emitDeclarationOnly?: boolean\n strict?: boolean\n tsconfig?: string\n}): Promise<void> {\n try {\n await build({\n cwd: process.cwd(),\n emitDeclarationOnly: options.emitDeclarationOnly,\n strict: options.strict,\n tsconfig: options.tsconfig,\n })\n } catch (err) {\n handleError(err)\n }\n}\n"],"names":["buildAction","options","build","cwd","process","emitDeclarationOnly","strict","tsconfig","err","handleError"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,eAAsBA,YAAYC,OAIhB,EAAA;EACZ,IAAA;IACF,MAAMC,WAAM,CAAA;MACVC,GAAA,EAAKC,QAAQD,GAAI,EAAA;MACjBE,qBAAqBJ,OAAQ,CAAAI,mBAAA;MAC7BC,QAAQL,OAAQ,CAAAK,MAAA;MAChBC,UAAUN,OAAQ,CAAAM;IAAA,CACnB,CAAA;WACMC,GAAP,EAAA;IACAC,WAAA,CAAAA,WAAA,CAAYD,GAAG,CAAA;EACjB;AACF;"}
1
+ {"version":3,"file":"buildAction-232e6073.cjs","sources":["../../src/cli/buildAction.ts"],"sourcesContent":["import {build} from '../node/build'\nimport {handleError} from './handleError'\n\nexport async function buildAction(options: {\n emitDeclarationOnly?: boolean\n strict?: boolean\n tsconfig?: string\n}): Promise<void> {\n try {\n await build({\n cwd: process.cwd(),\n emitDeclarationOnly: options.emitDeclarationOnly,\n strict: options.strict,\n tsconfig: options.tsconfig,\n })\n } catch (err) {\n handleError(err)\n }\n}\n"],"names":["buildAction","options","build","cwd","process","emitDeclarationOnly","strict","tsconfig","err","handleError"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,eAAsBA,YAAYC,OAIhB,EAAA;EACZ,IAAA;IACF,MAAMC,WAAM,CAAA;MACVC,GAAA,EAAKC,QAAQD,GAAI,EAAA;MACjBE,qBAAqBJ,OAAQ,CAAAI,mBAAA;MAC7BC,QAAQL,OAAQ,CAAAK,MAAA;MAChBC,UAAUN,OAAQ,CAAAM;IAAA,CACnB,CAAA;WACMC,GAAP,EAAA;IACAC,WAAA,CAAAA,WAAA,CAAYD,GAAG,CAAA;EACjB;AACF;"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  var path = require('path');
4
4
  var esbuild = require('esbuild');
5
- var resolveBuildContext = require('./resolveBuildContext-e938cee6.cjs');
5
+ var resolveBuildContext = require('./resolveBuildContext-bba19cd6.cjs');
6
6
  require('fs/promises');
7
7
  require('pkg-up');
8
8
  require('typescript');
@@ -51,30 +51,35 @@ function printPackageTree(ctx) {
51
51
  } = ctx;
52
52
  if (!exports) return;
53
53
  logger.log("".concat(chalk__default.default.blue(pkg.name), "@").concat(chalk__default.default.green(pkg.version)));
54
- const tree = {};
54
+ const tree = {
55
+ type: chalk__default.default.yellow(pkg.type)
56
+ };
55
57
  if (pkg.bin) {
56
- tree.bin = pkg.bin;
58
+ tree.bin = Object.fromEntries(Object.entries(pkg.bin).map(_ref => {
59
+ let [name, file] = _ref;
60
+ return [chalk__default.default.cyan(name), fileInfo(file)];
61
+ }));
57
62
  }
58
63
  function fileInfo(file) {
59
64
  const info = getFileInfo(cwd, file);
60
65
  if (!info.size) {
61
66
  return "".concat(chalk__default.default.gray(file), " ").concat(chalk__default.default.red("does not exist"));
62
67
  }
63
- return "".concat(file, " ").concat(chalk__default.default.gray(info.size));
68
+ return "".concat(chalk__default.default.yellow(file), " ").concat(chalk__default.default.gray(info.size));
64
69
  }
65
- tree.exports = Object.fromEntries(Object.entries(exports).filter(_ref => {
66
- let [, entry] = _ref;
70
+ tree.exports = Object.fromEntries(Object.entries(exports).filter(_ref2 => {
71
+ let [, entry] = _ref2;
67
72
  return entry._exported;
68
- }).map(_ref2 => {
69
- let [exportPath, entry] = _ref2;
73
+ }).map(_ref3 => {
74
+ let [exportPath, entry] = _ref3;
70
75
  const exp = {
71
- source: entry.source,
72
76
  types: void 0,
77
+ source: fileInfo(entry.source),
73
78
  browser: void 0,
74
79
  node: void 0,
75
80
  import: void 0,
76
81
  require: void 0,
77
- default: entry.default
82
+ default: fileInfo(entry.default)
78
83
  };
79
84
  if (entry.types) {
80
85
  exp.types = fileInfo(entry.types);
@@ -83,7 +88,7 @@ function printPackageTree(ctx) {
83
88
  }
84
89
  if (entry.browser) {
85
90
  exp.browser = {
86
- source: entry.browser.source
91
+ source: fileInfo(entry.browser.source)
87
92
  };
88
93
  if (entry.browser.import) exp.browser.import = fileInfo(entry.browser.import);
89
94
  if (entry.browser.require) exp.browser.require = fileInfo(entry.browser.require);
@@ -92,7 +97,7 @@ function printPackageTree(ctx) {
92
97
  }
93
98
  if (entry.node) {
94
99
  exp.node = {
95
- source: entry.node.source
100
+ source: fileInfo(entry.node.source)
96
101
  };
97
102
  if (entry.node.import) exp.node.import = fileInfo(entry.node.import);
98
103
  if (entry.node.require) exp.node.require = fileInfo(entry.node.require);
@@ -109,8 +114,7 @@ function printPackageTree(ctx) {
109
114
  } else {
110
115
  delete exp.require;
111
116
  }
112
- exp.default = fileInfo(entry.default);
113
- return [chalk__default.default.green(path__default.default.join(pkg.name, exportPath)), exp];
117
+ return [chalk__default.default.cyan(path__default.default.join(pkg.name, exportPath)), exp];
114
118
  }));
115
119
  logger.log(treeify__default.default.asTree(tree, true, true));
116
120
  }
@@ -120,8 +124,10 @@ async function check(options) {
120
124
  strict = false,
121
125
  tsconfig: tsconfigOption
122
126
  } = options;
127
+ const logger = resolveBuildContext.createLogger();
123
128
  const pkg = await resolveBuildContext.loadPkgWithReporting({
124
- cwd
129
+ cwd,
130
+ logger
125
131
  });
126
132
  const config = await resolveBuildContext.loadConfig({
127
133
  cwd
@@ -130,13 +136,11 @@ async function check(options) {
130
136
  const ctx = await resolveBuildContext.resolveBuildContext({
131
137
  config,
132
138
  cwd,
139
+ logger,
133
140
  pkg,
134
141
  strict,
135
142
  tsconfig
136
143
  });
137
- const {
138
- logger
139
- } = ctx;
140
144
  printPackageTree(ctx);
141
145
  if (strict) {
142
146
  const missingFiles = [];
@@ -229,4 +233,4 @@ async function check(options) {
229
233
  }
230
234
  }
231
235
  exports.check = check;
232
- //# sourceMappingURL=check-0f269395.cjs.map
236
+ //# sourceMappingURL=check-617f9494.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-617f9494.cjs","sources":["../../src/node/getFilesize.ts","../../src/node/printPackageTree.ts","../../src/node/check.ts"],"sourcesContent":["import {statSync} from 'fs'\nimport prettyBytes from 'pretty-bytes'\n\nexport function getFilesize(file: string): string {\n const stats = statSync(file)\n\n return prettyBytes(stats.size)\n}\n","import fs from 'fs'\nimport path from 'path'\nimport chalk from 'chalk'\nimport treeify from 'treeify'\nimport {PkgExport, BuildContext} from './core'\nimport {getFilesize} from './getFilesize'\n\nexport function fileExists(file: string): boolean {\n try {\n fs.accessSync(file)\n\n return true\n } catch (_) {\n return false\n }\n}\n\nfunction getFileInfo(cwd: string, filePath: string) {\n const p = path.resolve(cwd, filePath)\n const exists = fileExists(p)\n const size = exists ? getFilesize(p) : undefined\n\n return {exists, size}\n}\n\nexport function printPackageTree(ctx: BuildContext): void {\n const {cwd, exports, logger, pkg} = ctx\n\n if (!exports) return\n\n logger.log(`${chalk.blue(pkg.name)}@${chalk.green(pkg.version)}`)\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const tree: Record<string, unknown> = {type: chalk.yellow(pkg.type)}\n\n if (pkg.bin) {\n tree.bin = Object.fromEntries(\n Object.entries(pkg.bin).map(([name, file]) => [chalk.cyan(name), fileInfo(file)])\n )\n }\n\n function fileInfo(file: string) {\n const info = getFileInfo(cwd, file)\n\n if (!info.size) {\n return `${chalk.gray(file)} ${chalk.red('does not exist')}`\n }\n\n return `${chalk.yellow(file)} ${chalk.gray(info.size)}`\n }\n\n tree.exports = Object.fromEntries(\n Object.entries(exports)\n .filter(([, entry]) => entry._exported)\n .map(([exportPath, entry]) => {\n const exp: Omit<PkgExport, '_exported'> = {\n types: undefined,\n source: fileInfo(entry.source),\n browser: undefined,\n node: undefined,\n import: undefined,\n require: undefined,\n default: fileInfo(entry.default),\n }\n\n if (entry.types) {\n exp.types = fileInfo(entry.types)\n } else {\n delete exp.types\n }\n\n if (entry.browser) {\n exp.browser = {source: fileInfo(entry.browser.source)}\n\n if (entry.browser.import) exp.browser.import = fileInfo(entry.browser.import)\n if (entry.browser.require) exp.browser.require = fileInfo(entry.browser.require)\n } else {\n delete exp.browser\n }\n\n if (entry.node) {\n exp.node = {source: fileInfo(entry.node.source)}\n\n if (entry.node.import) exp.node.import = fileInfo(entry.node.import)\n if (entry.node.require) exp.node.require = fileInfo(entry.node.require)\n } else {\n delete exp.node\n }\n\n if (entry.import) {\n exp.import = fileInfo(entry.import)\n } else {\n delete exp.import\n }\n\n if (entry.require) {\n exp.require = fileInfo(entry.require)\n } else {\n delete exp.require\n }\n\n return [chalk.cyan(path.join(pkg.name, exportPath)), exp]\n })\n )\n\n logger.log(treeify.asTree(tree as Record<string, any>, true, true))\n}\n","import path from 'path'\nimport esbuild, {BuildFailure} from 'esbuild'\nimport {loadConfig, loadPkgWithReporting} from './core'\nimport {createLogger} from './logger'\nimport {fileExists, printPackageTree} from './printPackageTree'\nimport {resolveBuildContext} from './resolveBuildContext'\n\n/** @public */\nexport async function check(options: {\n cwd: string\n strict?: boolean\n tsconfig?: string\n}): Promise<void> {\n const {cwd, strict = false, tsconfig: tsconfigOption} = options\n const logger = createLogger()\n\n const pkg = await loadPkgWithReporting({cwd, logger})\n const config = await loadConfig({cwd})\n const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'\n const ctx = await resolveBuildContext({config, cwd, logger, pkg, strict, tsconfig})\n\n printPackageTree(ctx)\n\n if (strict) {\n const missingFiles: string[] = []\n\n // Check if there are missing files\n for (const [, exp] of Object.entries(ctx.exports || {})) {\n if (exp.source && !fileExists(path.resolve(cwd, exp.source))) {\n missingFiles.push(exp.source)\n }\n\n if (exp.require && !fileExists(path.resolve(cwd, exp.require))) {\n missingFiles.push(exp.require)\n }\n\n if (exp.import && !fileExists(path.resolve(cwd, exp.import))) {\n missingFiles.push(exp.import)\n }\n\n if (exp.types && !fileExists(path.resolve(cwd, exp.types))) {\n missingFiles.push(exp.types)\n }\n }\n\n if (missingFiles.length) {\n logger.error('missing files')\n process.exit(1)\n }\n\n // Check if the files are resolved\n const _paths: {require: string[]; import: string[]} = {\n require: [],\n import: [],\n }\n\n for (const exp of Object.values(ctx.exports || {})) {\n if (!exp._exported) continue\n if (exp.require) _paths.require.push(exp.require)\n if (exp.import) _paths.import.push(exp.import)\n }\n\n const external = Object.keys(pkg.dependencies || {}).concat(\n Object.keys(pkg.devDependencies || {})\n )\n\n if (_paths.import.length) {\n const code = _paths.import.map((id) => `import('${id}')`).join('\\n')\n\n try {\n const esbuildResult = await esbuild.build({\n external,\n stdin: {\n contents: code,\n loader: 'js',\n resolveDir: cwd,\n },\n format: 'esm',\n bundle: true,\n logLevel: 'silent',\n // otherwise output maps to stdout as we're using stdin\n outfile: '/dev/null',\n platform: 'node',\n })\n\n if (esbuildResult.warnings.length > 0) {\n logger.warn(...esbuildResult.warnings)\n }\n } catch (err) {\n const {errors} = err as BuildFailure\n\n for (const _err of errors) {\n if (_err.location) {\n logger.error(_err.detail || _err.text)\n logger.error(`${_err.location.line} | ${_err.location.lineText}`)\n logger.error(\n 'in',\n `./${_err.location.file}:${_err.location.line}:${_err.location.column}`\n )\n } else {\n logger.error(_err.detail || _err.text)\n }\n\n logger.log()\n }\n\n process.exit(1)\n }\n }\n\n if (_paths.require.length) {\n const code = _paths.require.map((id) => `require('${id}')`).join('\\n')\n\n const esbuildResult = await esbuild.build({\n external,\n stdin: {\n contents: code,\n loader: 'js',\n resolveDir: cwd,\n },\n format: 'cjs',\n bundle: true,\n // otherwise output maps to stdout as we're using stdin\n outfile: '/dev/null',\n platform: 'node',\n })\n\n if (esbuildResult.errors.length > 0) {\n // throw new Error(esbuildResult.errors.join(', '))\n logger.error(esbuildResult.errors.join(', '))\n process.exit(1)\n }\n\n if (esbuildResult.warnings.length > 0) {\n logger.warn(...esbuildResult.warnings)\n }\n }\n }\n}\n"],"names":["getFilesize","file","stats","statSync","prettyBytes","default","size","fileExists","fs","accessSync","_","getFileInfo","cwd","filePath","p","path","resolve","exists","printPackageTree","ctx","exports","logger","pkg","log","chalk","blue","name","green","version","tree","type","yellow","bin","Object","fromEntries","entries","map","cyan","fileInfo","info","gray","red","filter","entry","_exported","exportPath","exp","types","source","browser","node","import","require","join","treeify","asTree","check","options","strict","tsconfig","tsconfigOption","createLogger","loadPkgWithReporting","config","loadConfig","resolveBuildContext","missingFiles","push","length","error","process","exit","_paths","values","external","keys","dependencies","concat","devDependencies","code","id","esbuildResult","esbuild","build","stdin","contents","loader","resolveDir","format","bundle","logLevel","outfile","platform","warnings","warn","err","errors","_err","location","detail","text","line","lineText","column"],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var check = require('./check-0f269395.cjs');
3
+ var check = require('./check-617f9494.cjs');
4
4
  var handleError = require('./handleError-4062ca45.cjs');
5
5
  require('path');
6
6
  require('esbuild');
7
- require('./resolveBuildContext-e938cee6.cjs');
7
+ require('./resolveBuildContext-bba19cd6.cjs');
8
8
  require('esbuild-register/dist/node');
9
9
  require('pkg-up');
10
10
  require('fs/promises');
@@ -28,4 +28,4 @@ async function checkAction(options) {
28
28
  }
29
29
  }
30
30
  exports.checkAction = checkAction;
31
- //# sourceMappingURL=checkAction-8b9632b6.cjs.map
31
+ //# sourceMappingURL=checkAction-a2d388ad.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkAction-8b9632b6.cjs","sources":["../../src/cli/checkAction.ts"],"sourcesContent":["import {check} from '../node/check'\nimport {handleError} from './handleError'\n\nexport async function checkAction(options: {strict?: boolean; tsconfig?: string}): Promise<void> {\n try {\n await check({\n cwd: process.cwd(),\n strict: options.strict,\n tsconfig: options.tsconfig,\n })\n } catch (err) {\n handleError(err)\n }\n}\n"],"names":["checkAction","options","check","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":"checkAction-a2d388ad.cjs","sources":["../../src/cli/checkAction.ts"],"sourcesContent":["import {check} from '../node/check'\nimport {handleError} from './handleError'\n\nexport async function checkAction(options: {strict?: boolean; tsconfig?: string}): Promise<void> {\n try {\n await check({\n cwd: process.cwd(),\n strict: options.strict,\n tsconfig: options.tsconfig,\n })\n } catch (err) {\n handleError(err)\n }\n}\n"],"names":["checkAction","options","check","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;"}
@@ -28,7 +28,7 @@ var pluginNodeResolve = require('@rollup/plugin-node-resolve');
28
28
  var replace = require('@rollup/plugin-replace');
29
29
  var terser = require('@rollup/plugin-terser');
30
30
  var esbuild = require('rollup-plugin-esbuild');
31
- var resolveBuildContext = require('./resolveBuildContext-e938cee6.cjs');
31
+ var resolveBuildContext = require('./resolveBuildContext-bba19cd6.cjs');
32
32
  require('esbuild-register/dist/node');
33
33
  require('pkg-up');
34
34
  require('find-config');
@@ -406,7 +406,7 @@ async function doExtract(ctx, task) {
406
406
  };
407
407
  }
408
408
  const dtsTask = {
409
- 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"),
409
+ name: (_ctx, task) => ["Build type definitions...", " entries:", ...task.entries.map(entry => [" - ".concat(chalk__default.default.cyan(entry.importId), ": "), "".concat(chalk__default.default.yellow(entry.sourcePath), " ").concat(chalk__default.default.gray("\u2192"), " ").concat(chalk__default.default.yellow(entry.targetPath))].join(""))].join("\n"),
410
410
  exec: (ctx, task) => {
411
411
  return new rxjs.Observable(observer => {
412
412
  doExtract(ctx, task).then(result => {
@@ -594,7 +594,7 @@ function resolveRollupConfig(ctx, buildTask) {
594
594
  };
595
595
  }
596
596
  const rollupTask = {
597
- 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
+ name: (ctx, task) => ["Build javascript files...", " format: ".concat(chalk__default.default.yellow(task.format)), " target:", ...task.target.map(t => " - ".concat(chalk__default.default.yellow(t))), " entries:", ...task.entries.map(e => [" - ", "".concat(chalk__default.default.cyan(path__default.default.join(ctx.pkg.name, e.path)), ": "), "".concat(chalk__default.default.yellow(e.source), " ").concat(chalk__default.default.gray("\u2192"), " ").concat(chalk__default.default.yellow(e.output))].join(""))].join("\n"),
598
598
  exec: (ctx, task) => {
599
599
  return new rxjs.Observable(observer => {
600
600
  execPromise(ctx, task).then(result => {
@@ -610,37 +610,91 @@ const rollupTask = {
610
610
  }
611
611
  }
612
612
  };
613
+ function createSpyConsole() {
614
+ const original = {
615
+ log: console.log,
616
+ warn: console.warn,
617
+ error: console.error
618
+ };
619
+ const messages = [];
620
+ console.log = function () {
621
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
622
+ args[_key] = arguments[_key];
623
+ }
624
+ return messages.push({
625
+ type: "log",
626
+ args
627
+ });
628
+ };
629
+ console.warn = function () {
630
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
631
+ args[_key2] = arguments[_key2];
632
+ }
633
+ return messages.push({
634
+ type: "warn",
635
+ args
636
+ });
637
+ };
638
+ console.error = function () {
639
+ for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
640
+ args[_key3] = arguments[_key3];
641
+ }
642
+ return messages.push({
643
+ type: "error",
644
+ args
645
+ });
646
+ };
647
+ return {
648
+ messages,
649
+ restore: () => {
650
+ console.log = original.log;
651
+ console.warn = original.warn;
652
+ console.error = original.error;
653
+ }
654
+ };
655
+ }
613
656
  async function execPromise(ctx, task) {
614
657
  const {
658
+ distPath,
615
659
  files,
616
- distPath
660
+ logger
617
661
  } = ctx;
618
662
  const outDir = path__default.default.relative(ctx.cwd, distPath);
619
- const _console = {
620
- log: console.log,
621
- warn: console.warn,
622
- error: console.error
623
- };
663
+ const spyConsole = createSpyConsole();
624
664
  const {
625
665
  inputOptions,
626
666
  outputOptions
627
667
  } = resolveRollupConfig(ctx, task);
628
- console.log = () => void 0;
629
- console.warn = () => void 0;
630
- console.error = () => void 0;
631
668
  const bundle = await rollup.rollup(_objectSpread(_objectSpread({}, inputOptions), {}, {
632
669
  onwarn(warning) {
633
- if (!warning.code || !["CIRCULAR_DEPENDENCY"].includes(warning.code)) {
634
- _console.warn.bind(console)(chalk__default.default.yellow("warn "), warning.message);
635
- }
670
+ spyConsole.messages.push({
671
+ type: "warn",
672
+ args: [warning.message]
673
+ });
636
674
  }
637
675
  }));
638
676
  const {
639
677
  output
640
678
  } = await bundle.generate(outputOptions);
641
- console.log = _console.log;
642
- console.warn = _console.warn;
643
- console.error = _console.error;
679
+ spyConsole.restore();
680
+ for (const msg of spyConsole.messages) {
681
+ const text = String(msg.args[0]);
682
+ if (text.startsWith("Dynamic import can only")) {
683
+ continue;
684
+ }
685
+ if (text.startsWith("Sourcemap is likely to be incorrect")) {
686
+ continue;
687
+ }
688
+ if (msg.type === "log") {
689
+ logger.info(...msg.args);
690
+ }
691
+ if (msg.type === "warn") {
692
+ logger.warn(...msg.args);
693
+ }
694
+ if (msg.type === "error") {
695
+ logger.error(...msg.args);
696
+ }
697
+ }
644
698
  for (const chunkOrAsset of output) {
645
699
  if (chunkOrAsset.type === "asset") {
646
700
  files.push({
@@ -724,4 +778,4 @@ exports.getExtractMessagesConfig = getExtractMessagesConfig;
724
778
  exports.rollupTask = rollupTask;
725
779
  exports.rollupWatchTask = rollupWatchTask;
726
780
  exports.watchTaskHandlers = watchTaskHandlers;
727
- //# sourceMappingURL=index-db00ad50.cjs.map
781
+ //# sourceMappingURL=index-b63b3deb.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-b63b3deb.cjs","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 ` 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'\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 terser from '@rollup/plugin-terser'\nimport {InputOptions, OutputOptions, Plugin} from 'rollup'\nimport esbuild from 'rollup-plugin-esbuild'\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 plugins,\n\n treeshake: {\n propertyReadSideEffects: false,\n },\n },\n outputOptions: {\n chunkFileNames: () => `_chunks/[name]-[hash]${outputExt}`,\n compact: minify,\n dir: outDir,\n entryFileNames: () => `[name]${outputExt}`,\n esModule: true,\n format,\n interop: 'compat',\n minifyInternalExports: minify,\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 [\n `Build javascript files...`,\n ` format: ${chalk.yellow(task.format)}`,\n ` target:`,\n ...task.target.map((t) => ` - ${chalk.yellow(t)}`),\n ` entries:`,\n ...task.entries.map((e) =>\n [\n ` - `,\n `${chalk.cyan(path.join(ctx.pkg.name, e.path))}: `,\n `${chalk.yellow(e.source)} ${chalk.gray('→')} ${chalk.yellow(e.output)}`,\n ].join('')\n ),\n ].join('\\n'),\n exec: (ctx, task) => {\n return new Observable((observer) => {\n execPromise(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => observer.error(err))\n })\n },\n complete: () => {\n //\n },\n error: (_ctx, _task, err) => {\n if (err instanceof Error) {\n console.log(err)\n }\n },\n}\n\nfunction createSpyConsole() {\n const original = {\n log: console.log,\n warn: console.warn,\n error: console.error,\n }\n\n const messages: {type: 'log' | 'warn' | 'error'; args: unknown[]}[] = []\n\n console.log = (...args: unknown[]) => messages.push({type: 'log', args})\n console.warn = (...args: unknown[]) => messages.push({type: 'warn', args})\n console.error = (...args: unknown[]) => messages.push({type: 'error', args})\n\n return {\n messages,\n restore: () => {\n console.log = original.log\n console.warn = original.warn\n console.error = original.error\n },\n }\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 warnings to the console\n const spyConsole = createSpyConsole()\n\n const {inputOptions, outputOptions} = resolveRollupConfig(ctx, task)\n\n // Create bundle\n const bundle = await rollup({\n ...inputOptions,\n onwarn(warning) {\n spyConsole.messages.push({type: 'warn', args: [warning.message]})\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 // Restore console\n spyConsole.restore()\n\n for (const msg of spyConsole.messages) {\n const text = String(msg.args[0])\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 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.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","default","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","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","importId","exec","Observable","observer","then","next","complete","catch","err","_task","dtsWatchTask","blue","resolveRollupConfig","buildTask","_c","runtime","target","exports","_exports","external","pkg","outputExt","MODULE_EXT","minify","pathAliases","Object","fromEntries","paths","val","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","treeshake","propertyReadSideEffects","outputOptions","chunkFileNames","compact","dir","entryFileNames","esModule","interop","minifyInternalExports","sourcemap","rollupTask","execPromise","createSpyConsole","original","args","restore","spyConsole","bundle","onwarn","warning","generate","String","chunkOrAsset","write","close","rollupWatchTask","watchOptions","watcher","rollupWatch","on","event","success","buildTaskHandlers","watchTaskHandlers"],"mappings":"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"}