@sanity/pkg-utils 2.2.16 → 2.3.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 (84) hide show
  1. package/README.md +16 -7
  2. package/dist/_chunks/{build-ba8f4eab.cjs → build-0aed2000.cjs} +11 -8
  3. package/dist/_chunks/build-0aed2000.cjs.map +1 -0
  4. package/dist/_chunks/{buildAction-f35f5fe0.cjs → buildAction-196fba7b.cjs} +2 -2
  5. package/dist/_chunks/{buildAction-f35f5fe0.cjs.map → buildAction-196fba7b.cjs.map} +1 -1
  6. package/dist/_chunks/{check-c18ac13f.cjs → check-2deafe2a.cjs} +25 -31
  7. package/dist/_chunks/check-2deafe2a.cjs.map +1 -0
  8. package/dist/_chunks/{checkAction-be47c642.cjs → checkAction-7ac5a05e.cjs} +2 -2
  9. package/dist/_chunks/{checkAction-be47c642.cjs.map → checkAction-7ac5a05e.cjs.map} +1 -1
  10. package/dist/_chunks/{index-b295a336.cjs → index-984e18d1.cjs} +6 -3
  11. package/dist/_chunks/index-984e18d1.cjs.map +1 -0
  12. package/dist/_chunks/init-ab36343b.cjs +469 -0
  13. package/dist/_chunks/init-ab36343b.cjs.map +1 -0
  14. package/dist/_chunks/initAction-d18cf4f2.cjs +16 -0
  15. package/dist/_chunks/initAction-d18cf4f2.cjs.map +1 -0
  16. package/dist/_chunks/logger-c593f06b.cjs +97 -0
  17. package/dist/_chunks/logger-c593f06b.cjs.map +1 -0
  18. package/dist/_chunks/{resolveBuildContext-2239fc5e.cjs → resolveBuildContext-5ef90110.cjs} +13 -92
  19. package/dist/_chunks/resolveBuildContext-5ef90110.cjs.map +1 -0
  20. package/dist/_chunks/{watch-5bfb8b28.cjs → watch-63a93eb0.cjs} +10 -7
  21. package/dist/_chunks/watch-63a93eb0.cjs.map +1 -0
  22. package/dist/_chunks/{watchAction-788563ea.cjs → watchAction-95c0b481.cjs} +2 -2
  23. package/dist/_chunks/{watchAction-788563ea.cjs.map → watchAction-95c0b481.cjs.map} +1 -1
  24. package/dist/cli.cjs +17 -7
  25. package/dist/cli.cjs.map +1 -1
  26. package/dist/index.cjs +12 -7
  27. package/dist/index.cjs.map +1 -1
  28. package/dist/index.d.ts +87 -0
  29. package/dist/index.js +465 -32
  30. package/dist/index.js.map +1 -1
  31. package/package.json +93 -79
  32. package/src/cli/index.ts +12 -3
  33. package/src/cli/initAction.ts +13 -0
  34. package/src/node/build.ts +1 -1
  35. package/src/node/check.ts +4 -2
  36. package/src/node/core/config/findConfigFile.ts +6 -14
  37. package/src/node/core/config/index.ts +1 -1
  38. package/src/node/core/config/loadConfig.ts +2 -1
  39. package/src/node/core/contexts/buildContext.ts +2 -1
  40. package/src/node/core/findCommonPath.test.ts +1 -0
  41. package/src/node/core/index.ts +3 -2
  42. package/src/node/core/pkg/loadPkg.ts +1 -0
  43. package/src/node/core/pkg/loadPkgWithReporting.ts +1 -0
  44. package/src/node/core/pkg/types.ts +13 -0
  45. package/src/node/core/pkg/validatePkg.ts +1 -0
  46. package/src/node/core/template/createFromTemplate.ts +85 -0
  47. package/src/node/core/template/define.ts +6 -0
  48. package/src/node/core/template/index.ts +3 -0
  49. package/src/node/core/template/types.ts +45 -0
  50. package/src/node/fileExists.ts +12 -0
  51. package/src/node/globFiles.ts +1 -1
  52. package/src/node/index.ts +1 -0
  53. package/src/node/init.ts +55 -0
  54. package/src/node/isEmptyDirectory.ts +5 -0
  55. package/src/node/printExtractMessages.ts +2 -1
  56. package/src/node/printPackageTree.ts +4 -13
  57. package/src/node/resolveBuildContext.ts +5 -4
  58. package/src/node/resolveBuildTasks.ts +2 -1
  59. package/src/node/resolveWatchTasks.ts +3 -2
  60. package/src/node/tasks/dts/buildTypes.ts +1 -0
  61. package/src/node/tasks/dts/createApiExtractorConfig.ts +1 -1
  62. package/src/node/tasks/dts/createTSDocConfig.ts +1 -1
  63. package/src/node/tasks/dts/doExtract.ts +2 -1
  64. package/src/node/tasks/dts/dtsTask.ts +1 -0
  65. package/src/node/tasks/dts/dtsWatchTask.ts +1 -0
  66. package/src/node/tasks/dts/extractTypes.ts +4 -3
  67. package/src/node/tasks/dts/getExtractMessagesConfig.ts +2 -1
  68. package/src/node/tasks/dts/printDiagnostic.ts +2 -1
  69. package/src/node/tasks/index.ts +1 -1
  70. package/src/node/tasks/node/reexportCjsTask.ts +3 -2
  71. package/src/node/tasks/rollup/resolveRollupConfig.ts +2 -1
  72. package/src/node/tasks/rollup/rollupTask.ts +2 -1
  73. package/src/node/tasks/rollup/rollupWatchTask.ts +2 -1
  74. package/src/node/tasks/types.ts +2 -1
  75. package/src/node/templates/default/index.ts +1 -0
  76. package/src/node/templates/default/template.ts +553 -0
  77. package/src/node/templates/index.ts +1 -0
  78. package/src/node/watch.ts +2 -1
  79. package/src/node/watchConfigFiles.ts +1 -0
  80. package/dist/_chunks/build-ba8f4eab.cjs.map +0 -1
  81. package/dist/_chunks/check-c18ac13f.cjs.map +0 -1
  82. package/dist/_chunks/index-b295a336.cjs.map +0 -1
  83. package/dist/_chunks/resolveBuildContext-2239fc5e.cjs.map +0 -1
  84. package/dist/_chunks/watch-5bfb8b28.cjs.map +0 -1
package/README.md CHANGED
@@ -11,17 +11,19 @@ npm install @sanity/pkg-utils -D
11
11
  ## Basic usage
12
12
 
13
13
  ```sh
14
+ # Initialize a new package
15
+ npx @sanity/pkg-utils@latest init
16
+
14
17
  # In a Node.js package directory with `package.json` present
15
18
 
16
19
  # Check the package
17
- # This will validate the package.json file
18
- pkg-utils
20
+ pkg-utils check
19
21
 
20
22
  # Build the package
21
- pkg-utils build --tsconfig tsconfig.dist.json
23
+ pkg-utils build
22
24
 
23
25
  # Watch the package
24
- pkg-utils watch --tsconfig tsconfig.dist.json
26
+ pkg-utils watch
25
27
  ```
26
28
 
27
29
  Run `pkg-utils -h` for more information on CLI usage.
@@ -38,8 +40,15 @@ control. You may then add a configuration file named `package.config.ts` (or `.j
38
40
  import {defineConfig} from '@sanity/pkg-utils'
39
41
 
40
42
  export default defineConfig({
41
- // Minify bundled JavaScript
42
- minify: true,
43
+ extract: {
44
+ rules: {
45
+ // do not require internal members to be prefixed with `_`
46
+ 'ae-internal-missing-underscore': 'off',
47
+ },
48
+ },
49
+
50
+ // the path to the tsconfig file for distributed builds
51
+ tsconfig: 'tsconfig.dist.json',
43
52
  })
44
53
  ```
45
54
 
@@ -89,7 +98,7 @@ Override or modify the value of the `exports` before it’s parsed internally.
89
98
  ```
90
99
  - Default: `undefined`
91
100
 
92
- Configure the level of reporting of \`@microsoft/api-extractor\` (which is used to bundle the
101
+ Configure the level of reporting of [API Extractor](https://api-extractor.com/) (which is used to bundle the
93
102
  type definitions, as well as lint the TSDoc of the package).
94
103
 
95
104
  #### `external`
@@ -1,20 +1,23 @@
1
1
  'use strict';
2
2
 
3
- var resolveBuildContext = require('./resolveBuildContext-2239fc5e.cjs');
3
+ var resolveBuildContext = require('./resolveBuildContext-5ef90110.cjs');
4
4
  require('fs/promises');
5
5
  require('pkg-up');
6
+ var logger = require('./logger-c593f06b.cjs');
7
+ require('mkdirp');
8
+ var path = require('path');
9
+ require('prompts');
6
10
  require('typescript');
7
11
  var fs = require('fs');
8
- var path = require('path');
9
12
  var chalk = require('chalk');
10
- var index = require('./index-b295a336.cjs');
13
+ var index = require('./index-984e18d1.cjs');
11
14
  function _interopDefaultCompat(e) {
12
15
  return e && typeof e === 'object' && 'default' in e ? e : {
13
16
  default: e
14
17
  };
15
18
  }
16
- var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
17
19
  var path__default = /*#__PURE__*/_interopDefaultCompat(path);
20
+ var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
18
21
  var chalk__default = /*#__PURE__*/_interopDefaultCompat(chalk);
19
22
  function resolveBuildTasks(ctx) {
20
23
  var _a, _b, _c, _d, _e;
@@ -171,10 +174,10 @@ async function build(options) {
171
174
  strict = false,
172
175
  tsconfig: tsconfigOption
173
176
  } = options;
174
- const logger = resolveBuildContext.createLogger();
177
+ const logger$1 = logger.createLogger();
175
178
  const pkg = await resolveBuildContext.loadPkgWithReporting({
176
179
  cwd,
177
- logger
180
+ logger: logger$1
178
181
  });
179
182
  const config = await resolveBuildContext.loadConfig({
180
183
  cwd
@@ -188,7 +191,7 @@ async function build(options) {
188
191
  cwd,
189
192
  emitDeclarationOnly,
190
193
  extMap,
191
- logger,
194
+ logger: logger$1,
192
195
  pkg,
193
196
  strict,
194
197
  tsconfig
@@ -217,4 +220,4 @@ async function build(options) {
217
220
  }
218
221
  exports.build = build;
219
222
  exports.resolveBuildTasks = resolveBuildTasks;
220
- //# sourceMappingURL=build-ba8f4eab.cjs.map
223
+ //# sourceMappingURL=build-0aed2000.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-0aed2000.cjs","sources":["../../src/node/resolveBuildTasks.ts","../../src/node/spinner.ts","../../src/node/build.ts"],"sourcesContent":["import fs from 'fs'\nimport path from 'path'\n\nimport {BuildContext, PkgExport, PkgFormat, PkgRuntime} from './core'\nimport {BuildTask, DtsTask, NodeReExportFromCJSTask, 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 const nodeReexportCjsEntries: NodeReExportFromCJSTask['entries'] = []\n\n // Parse tasks to re-export from CommonJS for Node.js\n for (const exp of exports) {\n if (\n exp.node &&\n !exp.node.source &&\n exp.node.import &&\n exp.node.require &&\n (exp.node.import.endsWith('.cjs.js') || exp.node.import.endsWith('.cjs.mjs'))\n ) {\n const importId = path.join(pkg.name, exp._path)\n\n nodeReexportCjsEntries.push({\n importId,\n import: exp.node.import,\n require: exp.node.require,\n })\n }\n }\n\n if (nodeReexportCjsEntries.length) {\n tasks.push({\n type: 'node:reexport-cjs',\n entries: nodeReexportCjsEntries,\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 {getPkgExtMap, loadConfig, loadPkgWithReporting} from './core'\nimport {createLogger} from './logger'\nimport {resolveBuildContext} from './resolveBuildContext'\nimport {resolveBuildTasks} from './resolveBuildTasks'\nimport {createSpinner} from './spinner'\nimport {BuildTask, buildTaskHandlers, TaskHandler} 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 extMap = getPkgExtMap({legacyExports: config?.legacyExports ?? false})\n const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'\n\n const ctx = await resolveBuildContext({\n config,\n cwd,\n emitDeclarationOnly,\n extMap,\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","_ref","_path","exp","dtsTask","type","rollupTasks","addRollupTaskEntry","format","runtime","entry","buildId","concat","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","nodeReexportCjsEntries","node","endsWith","createSpinner","msg","startTime","Date","now","console","log","complete","chalk","green","gray","error","red","build","options","_ref2","strict","tsconfig","tsconfigOption","logger","createLogger","loadPkgWithReporting","loadConfig","extMap","getPkgExtMap","resolveBuildContext","buildTasks","task","handler","buildTaskHandlers","taskName","spinner","result","exec","toPromise","err","Error","RE_CWD","RegExp","message","process","exit"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var build = require('./build-ba8f4eab.cjs');
3
+ var build = require('./build-0aed2000.cjs');
4
4
  var handleError = require('./handleError-13d87f55.cjs');
5
5
  async function buildAction(options) {
6
6
  try {
@@ -15,4 +15,4 @@ async function buildAction(options) {
15
15
  }
16
16
  }
17
17
  exports.buildAction = buildAction;
18
- //# sourceMappingURL=buildAction-f35f5fe0.cjs.map
18
+ //# sourceMappingURL=buildAction-196fba7b.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildAction-f35f5fe0.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,CAAA,CAAA;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-196fba7b.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,CAAA,CAAA;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,23 +1,25 @@
1
1
  'use strict';
2
2
 
3
- var path = require('path');
4
3
  var esbuild = require('esbuild');
5
- var resolveBuildContext = require('./resolveBuildContext-2239fc5e.cjs');
4
+ var path = require('path');
5
+ var resolveBuildContext = require('./resolveBuildContext-5ef90110.cjs');
6
6
  require('fs/promises');
7
7
  require('pkg-up');
8
+ var logger = require('./logger-c593f06b.cjs');
9
+ require('mkdirp');
10
+ require('prompts');
8
11
  require('typescript');
9
- var fs = require('fs');
10
12
  var chalk = require('chalk');
11
13
  var treeify = require('treeify');
14
+ var fs = require('fs');
12
15
  var prettyBytes = require('pretty-bytes');
13
16
  function _interopDefaultCompat(e) {
14
17
  return e && typeof e === 'object' && 'default' in e ? e : {
15
18
  default: e
16
19
  };
17
20
  }
18
- var path__default = /*#__PURE__*/_interopDefaultCompat(path);
19
21
  var esbuild__default = /*#__PURE__*/_interopDefaultCompat(esbuild);
20
- var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
22
+ var path__default = /*#__PURE__*/_interopDefaultCompat(path);
21
23
  var chalk__default = /*#__PURE__*/_interopDefaultCompat(chalk);
22
24
  var treeify__default = /*#__PURE__*/_interopDefaultCompat(treeify);
23
25
  var prettyBytes__default = /*#__PURE__*/_interopDefaultCompat(prettyBytes);
@@ -25,17 +27,9 @@ function getFilesize(file) {
25
27
  const stats = fs.statSync(file);
26
28
  return prettyBytes__default.default(stats.size);
27
29
  }
28
- function fileExists(file) {
29
- try {
30
- fs__default.default.accessSync(file);
31
- return true;
32
- } catch (_) {
33
- return false;
34
- }
35
- }
36
30
  function getFileInfo(cwd, filePath) {
37
31
  const p = path__default.default.resolve(cwd, filePath);
38
- const exists = fileExists(p);
32
+ const exists = logger.fileExists(p);
39
33
  const size = exists ? getFilesize(p) : void 0;
40
34
  return {
41
35
  exists,
@@ -125,10 +119,10 @@ async function check(options) {
125
119
  strict = false,
126
120
  tsconfig: tsconfigOption
127
121
  } = options;
128
- const logger = resolveBuildContext.createLogger();
122
+ const logger$1 = logger.createLogger();
129
123
  const pkg = await resolveBuildContext.loadPkgWithReporting({
130
124
  cwd,
131
- logger
125
+ logger: logger$1
132
126
  });
133
127
  const config = await resolveBuildContext.loadConfig({
134
128
  cwd
@@ -141,7 +135,7 @@ async function check(options) {
141
135
  config,
142
136
  cwd,
143
137
  extMap,
144
- logger,
138
+ logger: logger$1,
145
139
  pkg,
146
140
  strict,
147
141
  tsconfig
@@ -150,21 +144,21 @@ async function check(options) {
150
144
  if (strict) {
151
145
  const missingFiles = [];
152
146
  for (const [, exp] of Object.entries(ctx.exports || {})) {
153
- if (exp.source && !fileExists(path__default.default.resolve(cwd, exp.source))) {
147
+ if (exp.source && !logger.fileExists(path__default.default.resolve(cwd, exp.source))) {
154
148
  missingFiles.push(exp.source);
155
149
  }
156
- if (exp.require && !fileExists(path__default.default.resolve(cwd, exp.require))) {
150
+ if (exp.require && !logger.fileExists(path__default.default.resolve(cwd, exp.require))) {
157
151
  missingFiles.push(exp.require);
158
152
  }
159
- if (exp.import && !fileExists(path__default.default.resolve(cwd, exp.import))) {
153
+ if (exp.import && !logger.fileExists(path__default.default.resolve(cwd, exp.import))) {
160
154
  missingFiles.push(exp.import);
161
155
  }
162
- if (exp.types && !fileExists(path__default.default.resolve(cwd, exp.types))) {
156
+ if (exp.types && !logger.fileExists(path__default.default.resolve(cwd, exp.types))) {
163
157
  missingFiles.push(exp.types);
164
158
  }
165
159
  }
166
160
  if (missingFiles.length) {
167
- logger.error("missing files");
161
+ logger$1.error("missing files");
168
162
  process.exit(1);
169
163
  }
170
164
  const _paths = {
@@ -195,7 +189,7 @@ async function check(options) {
195
189
  platform: "node"
196
190
  });
197
191
  if (esbuildResult.warnings.length > 0) {
198
- logger.warn(...esbuildResult.warnings);
192
+ logger$1.warn(...esbuildResult.warnings);
199
193
  }
200
194
  } catch (err) {
201
195
  const {
@@ -203,13 +197,13 @@ async function check(options) {
203
197
  } = err;
204
198
  for (const _err of errors) {
205
199
  if (_err.location) {
206
- logger.error(_err.detail || _err.text);
207
- logger.error("".concat(_err.location.line, " | ").concat(_err.location.lineText));
208
- logger.error("in", "./".concat(_err.location.file, ":").concat(_err.location.line, ":").concat(_err.location.column));
200
+ logger$1.error(_err.detail || _err.text);
201
+ logger$1.error("".concat(_err.location.line, " | ").concat(_err.location.lineText));
202
+ logger$1.error("in", "./".concat(_err.location.file, ":").concat(_err.location.line, ":").concat(_err.location.column));
209
203
  } else {
210
- logger.error(_err.detail || _err.text);
204
+ logger$1.error(_err.detail || _err.text);
211
205
  }
212
- logger.log();
206
+ logger$1.log();
213
207
  }
214
208
  process.exit(1);
215
209
  }
@@ -230,14 +224,14 @@ async function check(options) {
230
224
  platform: "node"
231
225
  });
232
226
  if (esbuildResult.errors.length > 0) {
233
- logger.error(esbuildResult.errors.join(", "));
227
+ logger$1.error(esbuildResult.errors.join(", "));
234
228
  process.exit(1);
235
229
  }
236
230
  if (esbuildResult.warnings.length > 0) {
237
- logger.warn(...esbuildResult.warnings);
231
+ logger$1.warn(...esbuildResult.warnings);
238
232
  }
239
233
  }
240
234
  }
241
235
  }
242
236
  exports.check = check;
243
- //# sourceMappingURL=check-c18ac13f.cjs.map
237
+ //# sourceMappingURL=check-2deafe2a.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-2deafe2a.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 chalk from 'chalk'\nimport path from 'path'\nimport treeify from 'treeify'\n\nimport {BuildContext, PkgExport} from './core'\nimport {fileExists} from './fileExists'\nimport {getFilesize} from './getFilesize'\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> = {}\n\n if (pkg.type) {\n tree.type = chalk.yellow(pkg.type)\n }\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 require: undefined,\n node: undefined,\n import: 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.require) {\n exp.require = fileInfo(entry.require)\n } else {\n delete exp.require\n }\n\n if (entry.node) {\n exp.node = {}\n\n if (entry.node.source) exp.node.source = fileInfo(entry.node.source)\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 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 esbuild, {BuildFailure} from 'esbuild'\nimport path from 'path'\n\nimport {getPkgExtMap, loadConfig, loadPkgWithReporting} from './core'\nimport {fileExists} from './fileExists'\nimport {createLogger} from './logger'\nimport {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 extMap = getPkgExtMap({legacyExports: config?.legacyExports ?? false})\n const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'\n const ctx = await resolveBuildContext({config, cwd, extMap, 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","getFileInfo","cwd","filePath","p","path","resolve","exists","fileExists","printPackageTree","ctx","exports","logger","pkg","log","concat","chalk","blue","name","green","version","tree","type","yellow","bin","Object","fromEntries","entries","map","_ref","cyan","fileInfo","info","gray","red","filter","_ref2","entry","_exported","_ref3","exportPath","exp","types","source","browser","require","node","import","join","treeify","asTree","check","options","_ref4","strict","tsconfig","tsconfigOption","createLogger","loadPkgWithReporting","config","loadConfig","extMap","getPkgExtMap","legacyExports","resolveBuildContext","missingFiles","push","length","error","process","exit","_paths","values","external","keys","dependencies","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,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var check = require('./check-c18ac13f.cjs');
3
+ var check = require('./check-2deafe2a.cjs');
4
4
  var handleError = require('./handleError-13d87f55.cjs');
5
5
  async function checkAction(options) {
6
6
  try {
@@ -14,4 +14,4 @@ async function checkAction(options) {
14
14
  }
15
15
  }
16
16
  exports.checkAction = checkAction;
17
- //# sourceMappingURL=checkAction-be47c642.cjs.map
17
+ //# sourceMappingURL=checkAction-7ac5a05e.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkAction-be47c642.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,CAAA,CAAA;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-7ac5a05e.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,CAAA,CAAA;MACjBE,QAAQJ,OAAQ,CAAAI,MAAA;MAChBC,UAAUL,OAAQ,CAAAK;IAAA,CACnB,CAAA;WACMC,GAAP,EAAA;IACAC,WAAA,CAAAA,WAAA,CAAYD,GAAG,CAAA;EACjB;AACF;"}
@@ -5,8 +5,8 @@ var rxjs = require('rxjs');
5
5
  var path = require('path');
6
6
  var rimraf = require('rimraf');
7
7
  var ts = require('typescript');
8
- var fs = require('fs/promises');
9
8
  var apiExtractor = require('@microsoft/api-extractor');
9
+ var fs = require('fs/promises');
10
10
  var mkdirp = require('mkdirp');
11
11
  var prettier = require('prettier');
12
12
  var tsdocConfig = require('@microsoft/tsdoc-config');
@@ -22,11 +22,14 @@ var pluginNodeResolve = require('@rollup/plugin-node-resolve');
22
22
  var replace = require('@rollup/plugin-replace');
23
23
  var terser = require('@rollup/plugin-terser');
24
24
  var esbuild = require('rollup-plugin-esbuild');
25
- var resolveBuildContext = require('./resolveBuildContext-2239fc5e.cjs');
26
25
  require('esbuild-register/dist/node');
27
26
  require('pkg-up');
28
27
  require('find-config');
28
+ require('fs');
29
+ var resolveBuildContext = require('./resolveBuildContext-5ef90110.cjs');
30
+ require('./logger-c593f06b.cjs');
29
31
  require('zod');
32
+ require('prompts');
30
33
  function _interopDefaultCompat(e) {
31
34
  return e && typeof e === 'object' && 'default' in e ? e : {
32
35
  default: e
@@ -892,4 +895,4 @@ exports.getExtractMessagesConfig = getExtractMessagesConfig;
892
895
  exports.rollupTask = rollupTask;
893
896
  exports.rollupWatchTask = rollupWatchTask;
894
897
  exports.watchTaskHandlers = watchTaskHandlers;
895
- //# sourceMappingURL=index-b295a336.cjs.map
898
+ //# sourceMappingURL=index-984e18d1.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-984e18d1.cjs","sources":["../../src/node/printExtractMessages.ts","../../src/node/tasks/dts/printDiagnostic.ts","../../src/node/tasks/dts/buildTypes.ts","../../src/node/tasks/dts/DtsError.ts","../../src/node/tasks/dts/createApiExtractorConfig.ts","../../src/node/tasks/dts/createTSDocConfig.ts","../../src/node/tasks/dts/extractModuleBlocks.ts","../../src/node/tasks/dts/getExtractMessagesConfig.ts","../../src/node/tasks/dts/extractTypes.ts","../../src/node/tasks/dts/doExtract.ts","../../src/node/tasks/dts/dtsTask.ts","../../src/node/tasks/dts/dtsWatchTask.ts","../../src/node/tasks/node/reexportCjsTask.ts","../../src/node/tasks/rollup/consoleSpy.ts","../../src/node/tasks/rollup/resolveRollupConfig.ts","../../src/node/tasks/rollup/rollupTask.ts","../../src/node/tasks/rollup/rollupWatchTask.ts","../../src/node/tasks/index.ts"],"sourcesContent":["import {ExtractorMessage} from '@microsoft/api-extractor'\nimport chalk from 'chalk'\nimport path from 'path'\n\nimport {BuildContext} from './core'\n\nexport function printExtractMessages(ctx: BuildContext, messages: ExtractorMessage[]): void {\n const {cwd, logger} = ctx\n\n const warnings = messages.filter((msg) => msg.logLevel === 'warning')\n\n if (warnings.length) {\n logger.log()\n }\n\n for (const msg of warnings) {\n const sourceFilePath = msg.sourceFilePath && path.relative(cwd, msg.sourceFilePath)\n\n if (msg.messageId === 'TS6307') {\n // Ignore this warning:\n // > TS6307: <filename> is not in project file list.\n // > Projects must list all files or use an 'include' pattern.\n continue\n }\n\n logger.log(\n [\n `${chalk.cyan(sourceFilePath || '?')}`,\n `:${chalk.yellow(msg.sourceFileLine)}:${chalk.yellow(msg.sourceFileColumn)}`,\n ` - ${chalk.yellow('warning')} ${chalk.gray(msg.messageId)}\\n`,\n msg.text,\n '\\n',\n ].join('')\n )\n }\n\n const errors: ExtractorMessage[] = messages.filter((msg) => msg.logLevel === 'error')\n\n if (!warnings.length && errors.length) {\n logger.log('')\n }\n\n for (const msg of errors) {\n const sourceFilePath = msg.sourceFilePath && path.relative(cwd, msg.sourceFilePath)\n\n logger.log(\n [\n `${chalk.cyan(sourceFilePath || '?')}`,\n `:${chalk.yellow(msg.sourceFileLine)}:${chalk.yellow(msg.sourceFileColumn)}`,\n ` - ${chalk.red('error')} ${chalk.gray(msg.messageId)}\\n`,\n msg.text,\n '\\n',\n ].join('')\n )\n }\n\n if (errors.length) {\n process.exit(1)\n }\n}\n","import chalk from 'chalk'\nimport path from 'path'\nimport ts from 'typescript'\n\nimport {Logger} from '../../logger'\n\nexport function printDiagnostic(options: {\n cwd: string\n logger: Logger\n diagnostic: ts.Diagnostic\n}): void {\n const {cwd, logger, diagnostic} = options\n\n if (diagnostic.file && diagnostic.start) {\n const {line, character} = ts.getLineAndCharacterOfPosition(diagnostic.file, diagnostic.start)\n const message = ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n')\n\n const file = path.relative(cwd, diagnostic.file.fileName)\n\n const output = [\n `${chalk.yellow(file)}:${chalk.blue(line + 1)}:${chalk.blue(character + 1)} - `,\n `${chalk.gray(`TS${diagnostic.code}:`)} ${message}`,\n ].join('')\n\n if (diagnostic.category === ts.DiagnosticCategory.Error) {\n logger.error(output)\n }\n\n if (diagnostic.category === ts.DiagnosticCategory.Warning) {\n logger.warn(output)\n }\n\n if (diagnostic.category === ts.DiagnosticCategory.Message) {\n logger.log(output)\n }\n\n if (diagnostic.category === ts.DiagnosticCategory.Suggestion) {\n logger.log(output)\n }\n } else {\n logger.log(ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n'))\n }\n}\n","import ts from 'typescript'\n\nimport {Logger} from '../../logger'\nimport {printDiagnostic} from './printDiagnostic'\n\n/** @internal */\nexport async function buildTypes(options: {\n cwd: string\n logger: Logger\n outDir: string\n tsconfig: ts.ParsedCommandLine\n strict: boolean\n}): Promise<void> {\n const {cwd, logger, outDir, tsconfig, strict = false} = options\n\n const compilerOptions: ts.CompilerOptions = {\n ...tsconfig.options,\n declaration: true,\n declarationDir: outDir,\n emitDeclarationOnly: true,\n noEmit: false,\n outDir,\n }\n\n const program = ts.createProgram(tsconfig.fileNames, compilerOptions)\n\n const emitResult = program.emit()\n\n const allDiagnostics = ts.getPreEmitDiagnostics(program).concat(emitResult.diagnostics)\n\n for (const diagnostic of allDiagnostics) {\n printDiagnostic({cwd, logger, diagnostic})\n }\n\n if (emitResult.emitSkipped) {\n const errors = allDiagnostics.filter((diag) => diag.category === ts.DiagnosticCategory.Error)\n\n if (errors.length) {\n if (strict) {\n throw new Error('failed to compile TypeScript definitions')\n }\n }\n }\n}\n","import {ExtractorMessage} from '@microsoft/api-extractor'\n\n/** @internal */\nexport class DtsError extends Error {\n messages: ExtractorMessage[]\n\n constructor(message: string, messages: ExtractorMessage[]) {\n super(message)\n this.messages = messages\n }\n}\n","import {IConfigFile, IExtractorMessagesConfig} from '@microsoft/api-extractor'\nimport path from 'path'\n\nexport function createApiExtractorConfig(options: {\n distPath: string\n exportPath: string\n filePath: string\n messages: IExtractorMessagesConfig\n projectFolder: string\n mainEntryPointFilePath: string\n tsconfigPath: string\n}): IConfigFile {\n const {\n distPath,\n exportPath,\n filePath,\n messages,\n projectFolder,\n mainEntryPointFilePath,\n tsconfigPath,\n } = options\n\n return {\n apiReport: {\n enabled: false,\n reportFileName: '<unscopedPackageName>.api.md',\n },\n // bundledPackages: [],\n compiler: {\n tsconfigFilePath: tsconfigPath,\n },\n docModel: {\n enabled: false,\n apiJsonFilePath: path.resolve(distPath, `${exportPath}.api.json`),\n },\n dtsRollup: {\n enabled: true,\n untrimmedFilePath: path.resolve(distPath, filePath),\n // betaTrimmedFilePath: path.resolve(distPath, filePath.replace('.d.ts', '-beta.d.ts')),\n // publicTrimmedFilePath: path.resolve(distPath, filePath.replace('.d.ts', '-public.d.ts')),\n },\n tsdocMetadata: {\n enabled: false,\n },\n messages,\n mainEntryPointFilePath,\n projectFolder,\n }\n}\n","import {TSDocConfigFile} from '@microsoft/tsdoc-config'\nimport {readFile} from 'fs/promises'\nimport {parse} from 'jsonc-parser'\n\n/** @public */\nexport interface TSDocCustomTag {\n name: string\n syntaxKind: 'block' | 'modifier'\n allowMultiple?: boolean\n}\n\n/** @internal */\nexport async function createTSDocConfig(opts: {\n customTags: TSDocCustomTag[]\n}): Promise<TSDocConfigFile | undefined> {\n const {customTags} = opts\n\n if (customTags.length === 0) {\n return undefined\n }\n\n const tsDocBaseBuf = await readFile(\n require.resolve('@microsoft/api-extractor/extends/tsdoc-base.json')\n )\n\n // Include the definitions that are required for API Extractor\n // extends: ['@microsoft/api-extractor/extends/tsdoc-base.json'],\n const tsDocBaseConfig = parse(tsDocBaseBuf.toString())\n\n // Define custom tags and specify how they should be parsed\n const tagDefinitions = (tsDocBaseConfig.tagDefinitions || []).concat(\n customTags.map((t) => ({\n tagName: `@${t.name}`,\n syntaxKind: t.syntaxKind,\n allowMultiple: t.allowMultiple,\n }))\n )\n\n // Indicate that custom tags are supported by your tooling.\n // (Without this, warnings may be reported saying that a tag is unsupported.)\n const supportForTags = {...tsDocBaseConfig.supportForTags}\n\n for (const customTag of customTags) {\n supportForTags[`@${customTag.name}`] = true\n }\n\n return TSDocConfigFile.loadFromObject({\n ...tsDocBaseConfig,\n noStandardTags: false,\n tagDefinitions,\n supportForTags,\n })\n}\n","import type {File} from '@babel/types'\nimport {ExtractorResult} from '@microsoft/api-extractor'\nimport {parse, print} from 'recast'\nimport typeScriptParser from 'recast/parsers/typescript'\nimport {Program} from 'typescript'\n\n/**\n * A workaround to find all module blocks in extract TS files.\n * @internal\n * */\nexport async function extractModuleBlocksFromTypes({\n tsOutDir,\n extractResult,\n}: {\n tsOutDir: string\n extractResult: ExtractorResult\n}): Promise<string[]> {\n const program = extractResult.compilerState.program as Program\n const moduleBlocks: string[] = []\n\n // all program files, including node_modules\n const allProgramFiles = [...program.getSourceFiles()]\n\n // just our compiled files used in the program\n const sourceFiles = allProgramFiles.filter((sourceFile) => sourceFile.fileName.includes(tsOutDir))\n\n for (const sourceFile of sourceFiles) {\n if (sourceFile.text.includes('declare module')) {\n moduleBlocks.push(...extractModuleBlocks(sourceFile.text))\n }\n }\n\n return moduleBlocks\n}\n\n/** @internal */\nexport function extractModuleBlocks(fileContent: string): string[] {\n const ast = parse(fileContent, {\n parser: typeScriptParser,\n }) as File\n\n return ast.program.body\n .filter((node) => node.type === 'TSModuleDeclaration')\n .map((node) => print(node).code)\n}\n","import {ExtractorLogLevel, IExtractorMessagesConfig} from '@microsoft/api-extractor'\n\nimport {PkgConfigOptions, PkgRuleLevel} from '../../core'\n\nconst LOG_LEVELS: Record<PkgRuleLevel, ExtractorLogLevel> = {\n error: 'error' as ExtractorLogLevel.Error,\n info: 'info' as ExtractorLogLevel.Info,\n off: 'none' as ExtractorLogLevel.None,\n warn: 'warning' as ExtractorLogLevel.Warning,\n}\n\n/** @internal */\nexport function getExtractMessagesConfig(options: {\n rules: NonNullable<PkgConfigOptions['extract']>['rules']\n}): IExtractorMessagesConfig {\n const {rules} = options\n\n function ruleToLogLevel(\n key: keyof NonNullable<NonNullable<PkgConfigOptions['extract']>['rules']>,\n defaultLevel?: ExtractorLogLevel\n ) {\n const r = rules?.[key]\n\n return (r ? LOG_LEVELS[r] : defaultLevel || 'warning') as ExtractorLogLevel\n }\n\n return {\n compilerMessageReporting: {\n default: {\n logLevel: 'warning' as ExtractorLogLevel,\n },\n },\n\n extractorMessageReporting: {\n default: {\n logLevel: 'warning' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n\n 'ae-forgotten-export': {\n logLevel: ruleToLogLevel('ae-forgotten-export', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-incompatible-release-tags': {\n logLevel: ruleToLogLevel('ae-incompatible-release-tags', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-internal-missing-underscore': {\n logLevel: ruleToLogLevel('ae-internal-missing-underscore'),\n addToApiReportFile: false,\n },\n\n 'ae-missing-release-tag': {\n logLevel: ruleToLogLevel('ae-missing-release-tag', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-wrong-input-file-type': {\n logLevel: 'none' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n },\n\n tsdocMessageReporting: {\n default: {\n logLevel: 'warning' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n\n 'tsdoc-link-tag-unescaped-text': {\n logLevel: ruleToLogLevel('tsdoc-link-tag-unescaped-text', 'warning' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'tsdoc-undefined-tag': {\n logLevel: ruleToLogLevel('tsdoc-undefined-tag', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'tsdoc-unsupported-tag': {\n logLevel: ruleToLogLevel('tsdoc-unsupported-tag', 'none' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n },\n }\n}\n","import {\n Extractor,\n ExtractorConfig,\n ExtractorMessage,\n ExtractorResult,\n} from '@microsoft/api-extractor'\nimport fs from 'fs/promises'\nimport {mkdirp} from 'mkdirp'\nimport path from 'path'\nimport prettier from 'prettier'\n\nimport {BuildFile, PkgConfigOptions} from '../../core'\nimport {createApiExtractorConfig} from './createApiExtractorConfig'\nimport {createTSDocConfig} from './createTSDocConfig'\nimport {extractModuleBlocksFromTypes} from './extractModuleBlocks'\nimport {getExtractMessagesConfig} from './getExtractMessagesConfig'\n\nexport async function extractTypes(options: {\n customTags: NonNullable<PkgConfigOptions['extract']>['customTags']\n cwd: string\n distPath: string\n exportPath: string\n filePath: string\n files: BuildFile[]\n projectPath: string\n rules?: NonNullable<PkgConfigOptions['extract']>['rules']\n sourceTypesPath: string\n tmpPath: string\n tsconfigPath: string\n}): Promise<{extractorResult: ExtractorResult; messages: ExtractorMessage[]}> {\n const {\n customTags,\n distPath,\n exportPath,\n files,\n filePath,\n projectPath,\n rules,\n sourceTypesPath,\n tmpPath,\n tsconfigPath,\n } = options\n\n const tsdocConfigFile = await createTSDocConfig({\n customTags: customTags || [],\n })\n\n const extractorConfig: ExtractorConfig = ExtractorConfig.prepare({\n configObject: createApiExtractorConfig({\n distPath,\n exportPath,\n filePath,\n messages: getExtractMessagesConfig({rules}),\n projectFolder: projectPath,\n mainEntryPointFilePath: sourceTypesPath,\n tsconfigPath,\n }),\n configObjectFullPath: undefined,\n tsdocConfigFile,\n packageJsonFullPath: path.resolve(projectPath, 'package.json'),\n })\n\n const messages: ExtractorMessage[] = []\n\n // Invoke API Extractor\n const extractorResult = Extractor.invoke(extractorConfig, {\n // Equivalent to the \"--local\" command-line parameter\n localBuild: true,\n // Equivalent to the \"--verbose\" command-line parameter\n showVerboseMessages: true,\n // handle messages\n messageCallback(message: ExtractorMessage) {\n messages.push(message)\n message.handled = true\n },\n })\n\n const typesPath = path.resolve(distPath, filePath)\n const typesBuf = await fs.readFile(typesPath)\n const prettierConfig = await prettier.resolveConfig(typesPath)\n\n await mkdirp(path.dirname(typesPath))\n\n const moduleBlocks = await extractModuleBlocksFromTypes({\n extractResult: extractorResult,\n tsOutDir: tmpPath,\n })\n\n const code = [typesBuf.toString(), ...moduleBlocks].join('\\n\\n')\n\n await fs.writeFile(\n typesPath,\n prettier.format(code, {\n ...prettierConfig,\n filepath: typesPath,\n })\n )\n\n // Add to `files` in context\n files.push({\n type: 'types',\n path: typesPath,\n })\n\n return {extractorResult, messages}\n}\n","import {ExtractorMessage} from '@microsoft/api-extractor'\nimport path from 'path'\nimport {rimraf} from 'rimraf'\n\nimport {BuildContext} from '../../core'\nimport {buildTypes} from './buildTypes'\nimport {DtsError} from './DtsError'\nimport {extractTypes} from './extractTypes'\nimport {DtsResult, DtsTask, DtsWatchTask} from './types'\n\n/**\n * - Build type definitions to a temporary directory using TypeScript compiler.\n * - Create a type definition bundle for each export entry.\n * - When done, remove the temporary directory.\n */\nexport async function doExtract(\n ctx: BuildContext,\n task: DtsTask | DtsWatchTask\n): Promise<DtsResult> {\n const {config, cwd, files, logger, strict, ts} = ctx\n\n if (!ts.config || !ts.configPath) {\n return {type: 'dts', messages: [], results: []}\n }\n\n const {outDir, rootDir = cwd} = ts.config.options\n\n if (!outDir) {\n throw new Error('tsconfig.json is missing `compilerOptions.outDir`')\n }\n\n const tmpPath = path.resolve(outDir, '__tmp__')\n\n await buildTypes({cwd, logger, outDir: tmpPath, strict, tsconfig: ts.config})\n const messages: ExtractorMessage[] = []\n\n const results: {sourcePath: string; filePath: string}[] = []\n\n for (const entry of task.entries) {\n const exportPath = entry.exportPath === '.' ? './index' : entry.exportPath\n\n const sourceTypesPath = path.resolve(\n tmpPath,\n path.relative(rootDir, path.resolve(cwd, entry.sourcePath)).replace(/\\.ts$/, '.d.ts')\n )\n\n const targetPath = path.resolve(cwd, entry.targetPath)\n const filePath = path.relative(outDir, targetPath)\n const result = await extractTypes({\n customTags: config?.extract?.customTags,\n cwd,\n distPath: outDir,\n exportPath,\n files,\n filePath: filePath,\n projectPath: cwd,\n rules: config?.extract?.rules,\n sourceTypesPath: sourceTypesPath,\n tmpPath,\n tsconfigPath: path.resolve(cwd, ts.configPath || 'tsconfig.json'),\n })\n\n messages.push(...result.messages)\n\n if (result.messages.some((msg) => msg.logLevel === 'error')) {\n await rimraf(tmpPath)\n\n throw new DtsError('encountered errors when extracting types', result.messages)\n }\n\n results.push({sourcePath: path.resolve(cwd, entry.sourcePath), filePath: targetPath})\n }\n\n await rimraf(tmpPath)\n\n return {type: 'dts', messages, results}\n}\n","import chalk from 'chalk'\nimport {Observable} from 'rxjs'\n\nimport {printExtractMessages} from '../../printExtractMessages'\nimport {TaskHandler} from '../types'\nimport {doExtract} from './doExtract'\nimport {DtsError} from './DtsError'\nimport {DtsResult, DtsTask} from './types'\n\n/** @internal */\nexport const dtsTask: TaskHandler<DtsTask, DtsResult> = {\n name: (_ctx, task) =>\n [\n `Build type definitions...`,\n ` entries:`,\n ...task.entries.map((entry) =>\n [\n ` - ${chalk.cyan(entry.importId)}: `,\n `${chalk.yellow(entry.sourcePath)} ${chalk.gray('→')} ${chalk.yellow(entry.targetPath)}`,\n ].join('')\n ),\n ].join('\\n'),\n exec: (ctx, task) => {\n return new Observable((observer) => {\n doExtract(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => {\n observer.error(err)\n })\n })\n },\n complete: (ctx, _task, result) => {\n printExtractMessages(ctx, result.messages)\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof DtsError) {\n printExtractMessages(ctx, err.messages)\n } else if (err instanceof Error) {\n logger.error(err)\n }\n },\n}\n","import chalk from 'chalk'\nimport {Observable} from 'rxjs'\n\nimport {printExtractMessages} from '../../printExtractMessages'\nimport {TaskHandler} from '../types'\nimport {doExtract} from './doExtract'\nimport {DtsError} from './DtsError'\nimport {DtsResult, DtsWatchTask} from './types'\n\n/** @internal */\nexport const dtsWatchTask: TaskHandler<DtsWatchTask, DtsResult> = {\n name: (_ctx, task) =>\n [\n `build type definitions`,\n ...task.entries.map(\n (entry) =>\n ` ${chalk.blue(entry.importId)}: ${entry.sourcePath} -> ${entry.targetPath}`\n ),\n ].join('\\n'),\n exec: (ctx, task) => {\n return new Observable((observer) => {\n doExtract(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => observer.error(err))\n })\n },\n complete: (ctx, _task, result) => {\n const {logger} = ctx\n\n printExtractMessages(ctx, result.messages)\n\n logger.warn('watching typescript definitions is currently not supported')\n logger.log()\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof DtsError) {\n printExtractMessages(ctx, err.messages)\n } else if (err instanceof Error) {\n logger.error(err)\n }\n },\n}\n","import chalk from 'chalk'\nimport {writeFile} from 'fs/promises'\nimport {mkdirp} from 'mkdirp'\nimport path from 'path'\nimport {from} from 'rxjs'\n\nimport {BuildContext} from '../../core'\nimport {NodeReExportFromCJSTask, TaskHandler} from '../types'\n\n/** @internal */\nexport const nodeReexportCjsTask: TaskHandler<NodeReExportFromCJSTask> = {\n name: (_ctx, task) =>\n [\n `Re-export CommonJS module in ESM wrapper…`,\n ` entries:`,\n ...task.entries.map((entry) =>\n [\n ` - ${chalk.cyan(entry.importId)}: `,\n `${chalk.yellow(entry.require)} ${chalk.gray('→')} ${chalk.yellow(entry.import)}`,\n ].join('')\n ),\n ].join('\\n'),\n exec: (ctx, task) => {\n return from(exec(ctx, task))\n },\n complete: () => {\n //\n },\n error: (_ctx, _task, err) => {\n // eslint-disable-next-line no-console\n console.error(err)\n },\n}\n\nasync function exec(ctx: BuildContext, task: NodeReExportFromCJSTask) {\n const {cwd} = ctx\n\n for (const entry of task.entries) {\n const sourcePath = path.resolve(cwd, entry.require)\n const targetPath = path.resolve(cwd, entry.import)\n const targetDir = path.dirname(targetPath)\n\n await mkdirp(targetDir)\n\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const mod = require(sourcePath)\n\n let relativeImport = `./${path.relative(targetDir, sourcePath)}`\n\n // Strip leading \"./\" from relative import\n if (relativeImport.startsWith('./.')) {\n relativeImport = relativeImport.slice(2)\n }\n\n const code = compileESMWrapper(mod, relativeImport)\n\n await writeFile(targetPath, code, 'utf8')\n }\n}\n\nfunction compileESMWrapper(mod: any, relativeImport: string) {\n const keys = Object.keys(mod).filter((k) => k !== '__esModule')\n\n let code = `import cjs from '${relativeImport}';\\n`\n\n if (keys.length) {\n code += `\\n`\n code += keys\n .filter((k) => (mod.__esModule ? k !== 'default' : true))\n .map((k) => `export const ${k} = cjs.${k};\\n`)\n .join('')\n }\n\n code += `\\n`\n\n if (mod.__esModule) {\n code += `export default cjs.default;\\n`\n } else {\n code += `export default cjs;\\n`\n }\n\n return code\n}\n","/* eslint-disable no-console */\n\nexport interface ConsoleSpyMsg {\n type: 'log' | 'warn' | 'error'\n code?: string\n args: unknown[]\n}\n\nexport interface ConsoleSpy {\n messages: ConsoleSpyMsg[]\n restore: () => void\n}\n\nexport function createConsoleSpy(options: {\n onRestored: (messages: ConsoleSpyMsg[]) => void\n}): ConsoleSpy {\n const {onRestored} = options\n\n const original = {\n log: console.log,\n warn: console.warn,\n error: console.error,\n }\n\n const messages: ConsoleSpyMsg[] = []\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 onRestored(messages)\n },\n }\n}\n","import alias from '@rollup/plugin-alias'\nimport {getBabelOutputPlugin} from '@rollup/plugin-babel'\nimport commonjs from '@rollup/plugin-commonjs'\nimport json from '@rollup/plugin-json'\nimport {nodeResolve} from '@rollup/plugin-node-resolve'\nimport replace from '@rollup/plugin-replace'\nimport terser from '@rollup/plugin-terser'\nimport path from 'path'\nimport {InputOptions, OutputOptions, Plugin} from 'rollup'\nimport esbuild from 'rollup-plugin-esbuild'\n\nimport {BuildContext, DEFAULT_BROWSERSLIST_QUERY, resolveConfigProperty} from '../../core'\nimport {RollupTask, RollupWatchTask} from '../types'\n\nexport interface RollupConfig {\n inputOptions: InputOptions\n outputOptions: OutputOptions\n}\n\n/** @internal */\nexport function resolveRollupConfig(\n ctx: BuildContext,\n buildTask: RollupTask | RollupWatchTask\n): RollupConfig {\n const {format, runtime, target} = buildTask\n const {config, cwd, exports: _exports, extMap, external, distPath, logger, pkg, ts} = ctx\n const outputExt = extMap[pkg.type || 'commonjs'][format]\n const minify = config?.minify ?? false\n const outDir = path.relative(cwd, distPath)\n\n const pathAliases = Object.fromEntries(\n Object.entries(ts.config?.options.paths || {}).map(([key, val]) => {\n return [key, path.resolve(cwd, ts.config?.options.baseUrl || '.', val[0])]\n })\n )\n\n const entries = buildTask.entries.map((entry) => {\n return {\n ...entry,\n name: path.relative(outDir, entry.output).replace(/\\.[^/.]+$/, ''),\n }\n }, {})\n\n const exportIds =\n _exports && Object.keys(_exports).map((exportPath) => path.join(pkg.name, exportPath))\n\n const sourcePaths = _exports && Object.values(_exports).map((e) => path.resolve(cwd, e.source))\n\n const replacements = Object.fromEntries(\n Object.entries(config?.define || {}).map(([key, val]) => [key, JSON.stringify(val)])\n )\n\n const defaultPlugins = [\n replace({\n preventAssignment: true,\n values: {\n ...(pkg.name === '@sanity/pkg-utils'\n ? {...replacements}\n : {\n 'process.env.PKG_FILE_PATH': (arg) => {\n const sourcePath = './' + path.relative(cwd, arg)\n const entry = entries.find((e) => e.source === sourcePath)\n\n if (!entry) {\n // eslint-disable-next-line no-console\n console.error(`could not find source entry: ${sourcePath}`)\n\n return 'null'\n }\n\n return JSON.stringify(\n path.relative(cwd, path.resolve(outDir, entry.name + outputExt))\n )\n },\n 'process.env.PKG_FORMAT': JSON.stringify(format),\n 'process.env.PKG_RUNTIME': JSON.stringify(runtime),\n 'process.env.PKG_VERSION': JSON.stringify(process.env.PKG_VERSION || pkg.version),\n ...replacements,\n }),\n },\n }),\n alias({\n entries: {...pathAliases},\n }),\n nodeResolve({\n // mainFields: ['module', 'jsnext', 'main'],\n browser: runtime === 'browser',\n // exportConditions: [runtime === 'node' ? 'node' : 'browser'],\n extensions: ['.cjs', '.mjs', '.js', '.jsx', '.json', '.node'],\n preferBuiltins: true, // runtime === 'node',\n }),\n commonjs(),\n json(),\n esbuild({\n jsx: config?.jsx ?? 'automatic',\n jsxFactory: config?.jsxFactory ?? 'createElement',\n jsxFragment: config?.jsxFragment ?? 'Fragment',\n jsxImportSource: config?.jsxImportSource ?? 'react',\n target,\n tsconfig: ctx.ts.configPath || 'tsconfig.json',\n }),\n getBabelOutputPlugin({\n babelrc: false,\n plugins: config?.babel?.plugins,\n presets: [\n [\n '@babel/preset-env',\n {targets: pkg.browserslist || DEFAULT_BROWSERSLIST_QUERY, modules: false},\n ],\n ],\n }),\n minify &&\n terser({\n compress: {\n // Needed until https://github.com/terser/terser/issues/1320 is fixed\n directives: false,\n },\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: () => {\n const parts = outputExt.split('.')\n\n if (parts.length === 3) {\n return `_chunks/[name]-[hash].${parts[2]}`\n }\n\n return `_chunks/[name]-[hash]${outputExt}`\n },\n compact: minify,\n dir: outDir,\n entryFileNames: () => {\n const parts = outputExt.split('.')\n\n if (parts.length === 3) {\n return `[name].${parts[2]}`\n }\n\n return `[name]${outputExt}`\n },\n esModule: true,\n format,\n interop: 'compat',\n minifyInternalExports: minify,\n sourcemap: config?.sourcemap ?? true,\n hoistTransitiveImports: false,\n },\n }\n}\n","import chalk from 'chalk'\nimport path from 'path'\nimport {rollup} from 'rollup'\nimport {Observable} from 'rxjs'\n\nimport {BuildContext} from '../../core'\nimport {RollupTask, TaskHandler} from '../types'\nimport {createConsoleSpy} from './consoleSpy'\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 // eslint-disable-next-line no-console\n console.error(err)\n },\n}\n\nasync function execPromise(ctx: BuildContext, task: RollupTask) {\n const {distPath, files, logger} = ctx\n const outDir = path.relative(ctx.cwd, distPath)\n\n // Prevent rollup from printing directly to the console\n const consoleSpy = createConsoleSpy({\n onRestored: (messages) => {\n for (const msg of messages) {\n const text = String(msg.args[0])\n\n if (msg.code === 'CIRCULAR_DEPENDENCY') {\n continue // ignore\n }\n\n if (text.startsWith('Dynamic import can only')) {\n continue // ignore\n }\n\n if (text.startsWith('Sourcemap is likely to be incorrect')) {\n continue // ignore\n }\n\n if (msg.type === 'log') {\n logger.info(...msg.args)\n }\n\n if (msg.type === 'warn') {\n logger.warn(...msg.args)\n }\n\n if (msg.type === 'error') {\n logger.error(...msg.args)\n }\n }\n },\n })\n\n try {\n const {inputOptions, outputOptions} = resolveRollupConfig(ctx, task)\n\n // Create bundle\n const bundle = await rollup({\n ...inputOptions,\n onwarn(warning) {\n consoleSpy.messages.push({\n type: 'warn',\n code: warning.code,\n args: [warning.message],\n })\n },\n })\n\n // generate output specific code in-memory\n // you can call this function multiple times on the same bundle object\n const {output} = await bundle.generate(outputOptions)\n\n for (const chunkOrAsset of output) {\n if (chunkOrAsset.type === 'asset') {\n files.push({\n type: 'asset',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n } else {\n files.push({\n type: 'chunk',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n }\n }\n\n // or write the bundle to disk\n await bundle.write(outputOptions)\n\n // closes the bundle\n await bundle.close()\n\n // Restore console\n consoleSpy.restore()\n } catch (err) {\n // Restore console\n consoleSpy.restore()\n throw err\n }\n}\n","import chalk from 'chalk'\nimport path from 'path'\nimport {RollupWatcherEvent, RollupWatchOptions, watch as rollupWatch} from 'rollup'\nimport {Observable} from 'rxjs'\n\nimport {RollupWatchTask, TaskHandler} from '../types'\nimport {resolveRollupConfig} from './resolveRollupConfig'\n\n/** @internal */\nexport const rollupWatchTask: TaskHandler<RollupWatchTask, RollupWatcherEvent> = {\n name: (ctx, task) =>\n `build javascript files (target ${task.target.join(' + ')}, format ${\n task.format\n })\\n ${task.entries\n .map((e) => `${chalk.blue(path.join(ctx.pkg.name, e.path))}: ${e.source} -> ${e.output}`)\n .join('\\n ')}`,\n exec: (ctx, task) => {\n const {inputOptions, outputOptions} = resolveRollupConfig(ctx, task)\n\n return new Observable((observer) => {\n const watchOptions: RollupWatchOptions = {\n ...inputOptions,\n output: outputOptions,\n }\n\n const watcher = rollupWatch(watchOptions)\n\n watcher.on('event', (event) => {\n observer.next(event)\n })\n\n return () => {\n watcher.close()\n }\n })\n },\n complete: (ctx, task, event) => {\n const {logger} = ctx\n\n if (event.code === 'BUNDLE_END') {\n logger.success(\n `build javascript files (target ${task.target.join(' + ')}, format ${\n task.format\n })\\n ${task.entries\n .map((e) => `${chalk.blue(path.join(ctx.pkg.name, e.path))}: ${e.source} -> ${e.output}`)\n .join('\\n ')}`\n )\n logger.log('')\n\n return\n }\n\n if (event.code === 'BUNDLE_START') {\n return\n }\n\n if (event.code === 'END') {\n return\n }\n\n if (event.code === 'ERROR') {\n logger.error(event.code, event)\n\n return\n }\n\n if (event.code === 'START') {\n return\n }\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof Error) {\n logger.log(err)\n }\n },\n}\n","import {dtsTask, dtsWatchTask} from './dts'\nimport {nodeReexportCjsTask} from './node/reexportCjsTask'\nimport {rollupTask, rollupWatchTask} from './rollup'\nimport {BuildTaskHandlers, WatchTaskHandlers} from './types'\n\nexport * from './dts'\nexport * from './rollup'\nexport * from './types'\n\n/** @internal */\nexport const buildTaskHandlers: BuildTaskHandlers = {\n 'build:dts': dtsTask,\n 'build:js': rollupTask,\n 'node:reexport-cjs': nodeReexportCjsTask,\n}\n\n/** @internal */\nexport const watchTaskHandlers: WatchTaskHandlers = {\n 'watch:dts': dtsWatchTask,\n 'watch:js': rollupWatchTask,\n}\n"],"names":["printExtractMessages","ctx","messages","cwd","logger","warnings","filter","msg","logLevel","length","log","sourceFilePath","path","relative","messageId","concat","chalk","cyan","yellow","sourceFileLine","default","sourceFileColumn","gray","text","join","errors","red","process","exit","printDiagnostic","options","diagnostic","file","start","line","character","ts","getLineAndCharacterOfPosition","message","flattenDiagnosticMessageText","messageText","fileName","output","blue","code","category","DiagnosticCategory","Error","error","Warning","warn","Message","Suggestion","buildTypes","outDir","tsconfig","strict","compilerOptions","declaration","declarationDir","emitDeclarationOnly","noEmit","program","createProgram","fileNames","emitResult","emit","allDiagnostics","getPreEmitDiagnostics","diagnostics","emitSkipped","diag","DtsError","constructor","createApiExtractorConfig","distPath","exportPath","filePath","projectFolder","mainEntryPointFilePath","tsconfigPath","apiReport","enabled","reportFileName","compiler","tsconfigFilePath","docModel","apiJsonFilePath","resolve","dtsRollup","untrimmedFilePath","tsdocMetadata","createTSDocConfig","opts","customTags","tsDocBaseBuf","readFile","require","tsDocBaseConfig","parse","toString","tagDefinitions","map","t","tagName","name","syntaxKind","allowMultiple","supportForTags","customTag","TSDocConfigFile","loadFromObject","noStandardTags","extractModuleBlocksFromTypes","_ref","tsOutDir","extractResult","compilerState","moduleBlocks","allProgramFiles","getSourceFiles","sourceFiles","sourceFile","includes","push","extractModuleBlocks","fileContent","ast","parser","typeScriptParser","body","node","type","print","LOG_LEVELS","info","off","getExtractMessagesConfig","rules","ruleToLogLevel","key","defaultLevel","r","compilerMessageReporting","extractorMessageReporting","addToApiReportFile","tsdocMessageReporting","extractTypes","files","projectPath","sourceTypesPath","tmpPath","tsdocConfigFile","extractorConfig","ExtractorConfig","prepare","configObject","configObjectFullPath","packageJsonFullPath","extractorResult","Extractor","invoke","localBuild","showVerboseMessages","messageCallback","handled","typesPath","typesBuf","fs","prettierConfig","prettier","resolveConfig","mkdirp","dirname","writeFile","format","filepath","doExtract","task","_a","_b","config","configPath","results","rootDir","entry","entries","sourcePath","replace","targetPath","result","extract","some","rimraf","dtsTask","_ctx","importId","exec","Observable","observer","then","next","complete","catch","err","_task","dtsWatchTask","nodeReexportCjsTask","import","from","console","targetDir","mod","relativeImport","startsWith","slice","compileESMWrapper","keys","Object","k","__esModule","createConsoleSpy","onRestored","original","_len","arguments","args","Array","_key","_len2","_key2","_len3","_key3","restore","resolveRollupConfig","buildTask","_ref2","_ref5","_ref6","_ref7","_ref8","_ref9","_c","_d","runtime","target","exports","_exports","extMap","external","pkg","outputExt","minify","pathAliases","fromEntries","paths","_ref3","val","baseUrl","exportIds","sourcePaths","values","e","source","replacements","define","_ref4","JSON","stringify","defaultPlugins","preventAssignment","arg","find","env","PKG_VERSION","version","alias","nodeResolve","browser","extensions","preferBuiltins","commonjs","json","esbuild","jsx","jsxFactory","jsxFragment","jsxImportSource","getBabelOutputPlugin","babelrc","plugins","babel","presets","targets","browserslist","DEFAULT_BROWSERSLIST_QUERY","modules","terser","compress","directives","comments","_node","comment","value","test","Boolean","userPlugins","rollup","isArray","resolveConfigProperty","inputOptions","context","id","importer","idPath","idParts","split","input","reduce","acc","treeshake","propertyReadSideEffects","outputOptions","chunkFileNames","parts","compact","dir","entryFileNames","esModule","interop","minifyInternalExports","sourcemap","hoistTransitiveImports","rollupTask","execPromise","consoleSpy","String","bundle","onwarn","warning","generate","chunkOrAsset","write","close","rollupWatchTask","watchOptions","watcher","rollupWatch","on","event","success","buildTaskHandlers","watchTaskHandlers"],"mappings":"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"}