@sanity/pkg-utils 2.3.11 → 2.3.13-canary.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 (264) hide show
  1. package/dist/build.js +69 -0
  2. package/dist/build.js.map +1 -0
  3. package/dist/check.js +152 -0
  4. package/dist/check.js.map +1 -0
  5. package/dist/cli.cjs +6 -6
  6. package/dist/cli.cjs.map +1 -1
  7. package/dist/consoleSpy.js +49 -0
  8. package/dist/consoleSpy.js.map +1 -0
  9. package/dist/core/config/defineConfig.js +5 -0
  10. package/dist/core/config/defineConfig.js.map +1 -0
  11. package/dist/core/config/findConfigFile.js +21 -0
  12. package/dist/core/config/findConfigFile.js.map +1 -0
  13. package/dist/core/config/loadConfig.js +34 -0
  14. package/dist/core/config/loadConfig.js.map +1 -0
  15. package/dist/core/config/resolveConfigProperty.js +9 -0
  16. package/dist/core/config/resolveConfigProperty.js.map +1 -0
  17. package/dist/core/defaults.js +3 -0
  18. package/dist/core/defaults.js.map +1 -0
  19. package/dist/core/findCommonPath.js +28 -0
  20. package/dist/core/findCommonPath.js.map +1 -0
  21. package/dist/core/isRecord.js +5 -0
  22. package/dist/core/isRecord.js.map +1 -0
  23. package/dist/core/pkg/helpers.js +24 -0
  24. package/dist/core/pkg/helpers.js.map +1 -0
  25. package/dist/core/pkg/loadPkg.js +18 -0
  26. package/dist/core/pkg/loadPkg.js.map +1 -0
  27. package/dist/core/pkg/loadPkgWithReporting.js +107 -0
  28. package/dist/core/pkg/loadPkgWithReporting.js.map +1 -0
  29. package/dist/core/pkg/parseExports.js +75 -0
  30. package/dist/core/pkg/parseExports.js.map +1 -0
  31. package/dist/core/pkg/pkgExt.js +29 -0
  32. package/dist/core/pkg/pkgExt.js.map +1 -0
  33. package/dist/core/pkg/validateExports.js +19 -0
  34. package/dist/core/pkg/validateExports.js.map +1 -0
  35. package/dist/core/pkg/validatePkg.js +49 -0
  36. package/dist/core/pkg/validatePkg.js.map +1 -0
  37. package/dist/core/template/createFromTemplate.js +59 -0
  38. package/dist/core/template/createFromTemplate.js.map +1 -0
  39. package/dist/core/template/define.js +5 -0
  40. package/dist/core/template/define.js.map +1 -0
  41. package/dist/core/ts/loadTSConfig.js +15 -0
  42. package/dist/core/ts/loadTSConfig.js.map +1 -0
  43. package/dist/fileExists.js +11 -0
  44. package/dist/fileExists.js.map +1 -0
  45. package/dist/getFilesize.js +8 -0
  46. package/dist/getFilesize.js.map +1 -0
  47. package/dist/globFiles.js +7 -0
  48. package/dist/globFiles.js.map +1 -0
  49. package/dist/index.cjs +44 -30
  50. package/dist/index.cjs.map +1 -1
  51. package/dist/index.d.ts +4 -2
  52. package/dist/index.js +24 -2505
  53. package/dist/index.js.map +1 -1
  54. package/dist/init.js +42 -0
  55. package/dist/init.js.map +1 -0
  56. package/dist/isEmptyDirectory.js +6 -0
  57. package/dist/isEmptyDirectory.js.map +1 -0
  58. package/dist/logger.js +37 -0
  59. package/dist/logger.js.map +1 -0
  60. package/dist/package.json.cjs +8 -0
  61. package/dist/package.json.cjs.map +1 -0
  62. package/dist/printExtractMessages.js +32 -0
  63. package/dist/printExtractMessages.js.map +1 -0
  64. package/dist/printPackageTree.js +92 -0
  65. package/dist/printPackageTree.js.map +1 -0
  66. package/dist/resolveBrowserTarget.js +27 -0
  67. package/dist/resolveBrowserTarget.js.map +1 -0
  68. package/dist/resolveBrowserslistVersions.js +44 -0
  69. package/dist/resolveBrowserslistVersions.js.map +1 -0
  70. package/dist/resolveBuildContext.js +109 -0
  71. package/dist/resolveBuildContext.js.map +1 -0
  72. package/dist/resolveBuildTasks.js +140 -0
  73. package/dist/resolveBuildTasks.js.map +1 -0
  74. package/dist/resolveNodeTarget.js +12 -0
  75. package/dist/resolveNodeTarget.js.map +1 -0
  76. package/dist/resolveWatchTasks.js +103 -0
  77. package/dist/resolveWatchTasks.js.map +1 -0
  78. package/dist/spinner.js +15 -0
  79. package/dist/spinner.js.map +1 -0
  80. package/dist/{_chunks/buildAction-b2571e76.cjs → src/cli/buildAction.cjs} +6 -3
  81. package/dist/src/cli/buildAction.cjs.map +1 -0
  82. package/dist/{_chunks/checkAction-c3e5da35.cjs → src/cli/checkAction.cjs} +6 -3
  83. package/dist/src/cli/checkAction.cjs.map +1 -0
  84. package/dist/{_chunks/handleError-13d87f55.cjs → src/cli/handleError.cjs} +4 -1
  85. package/dist/src/cli/handleError.cjs.map +1 -0
  86. package/dist/{_chunks/initAction-2abd8576.cjs → src/cli/initAction.cjs} +6 -3
  87. package/dist/src/cli/initAction.cjs.map +1 -0
  88. package/dist/{_chunks/watchAction-79480cb8.cjs → src/cli/watchAction.cjs} +6 -3
  89. package/dist/src/cli/watchAction.cjs.map +1 -0
  90. package/dist/src/node/build.cjs +74 -0
  91. package/dist/src/node/build.cjs.map +1 -0
  92. package/dist/src/node/check.cjs +164 -0
  93. package/dist/src/node/check.cjs.map +1 -0
  94. package/dist/src/node/consoleSpy.cjs +54 -0
  95. package/dist/src/node/consoleSpy.cjs.map +1 -0
  96. package/dist/src/node/core/config/defineConfig.cjs +10 -0
  97. package/dist/src/node/core/config/defineConfig.cjs.map +1 -0
  98. package/dist/src/node/core/config/findConfigFile.cjs +33 -0
  99. package/dist/src/node/core/config/findConfigFile.cjs.map +1 -0
  100. package/dist/src/node/core/config/loadConfig.cjs +46 -0
  101. package/dist/src/node/core/config/loadConfig.cjs.map +1 -0
  102. package/dist/src/node/core/config/resolveConfigProperty.cjs +14 -0
  103. package/dist/src/node/core/config/resolveConfigProperty.cjs.map +1 -0
  104. package/dist/src/node/core/defaults.cjs +8 -0
  105. package/dist/src/node/core/defaults.cjs.map +1 -0
  106. package/dist/src/node/core/findCommonPath.cjs +40 -0
  107. package/dist/src/node/core/findCommonPath.cjs.map +1 -0
  108. package/dist/src/node/core/isRecord.cjs +10 -0
  109. package/dist/src/node/core/isRecord.cjs.map +1 -0
  110. package/dist/src/node/core/pkg/helpers.cjs +31 -0
  111. package/dist/src/node/core/pkg/helpers.cjs.map +1 -0
  112. package/dist/src/node/core/pkg/loadPkg.cjs +30 -0
  113. package/dist/src/node/core/pkg/loadPkg.cjs.map +1 -0
  114. package/dist/src/node/core/pkg/loadPkgWithReporting.cjs +118 -0
  115. package/dist/src/node/core/pkg/loadPkgWithReporting.cjs.map +1 -0
  116. package/dist/src/node/core/pkg/parseExports.cjs +80 -0
  117. package/dist/src/node/core/pkg/parseExports.cjs.map +1 -0
  118. package/dist/src/node/core/pkg/pkgExt.cjs +35 -0
  119. package/dist/src/node/core/pkg/pkgExt.cjs.map +1 -0
  120. package/dist/src/node/core/pkg/validateExports.cjs +24 -0
  121. package/dist/src/node/core/pkg/validateExports.cjs.map +1 -0
  122. package/dist/src/node/core/pkg/validatePkg.cjs +54 -0
  123. package/dist/src/node/core/pkg/validatePkg.cjs.map +1 -0
  124. package/dist/src/node/core/template/createFromTemplate.cjs +70 -0
  125. package/dist/src/node/core/template/createFromTemplate.cjs.map +1 -0
  126. package/dist/src/node/core/template/define.cjs +10 -0
  127. package/dist/src/node/core/template/define.cjs.map +1 -0
  128. package/dist/src/node/core/ts/loadTSConfig.cjs +26 -0
  129. package/dist/src/node/core/ts/loadTSConfig.cjs.map +1 -0
  130. package/dist/src/node/fileExists.cjs +16 -0
  131. package/dist/src/node/fileExists.cjs.map +1 -0
  132. package/dist/src/node/getFilesize.cjs +19 -0
  133. package/dist/src/node/getFilesize.cjs.map +1 -0
  134. package/dist/src/node/globFiles.cjs +19 -0
  135. package/dist/src/node/globFiles.cjs.map +1 -0
  136. package/dist/src/node/init.cjs +47 -0
  137. package/dist/src/node/init.cjs.map +1 -0
  138. package/dist/src/node/isEmptyDirectory.cjs +11 -0
  139. package/dist/src/node/isEmptyDirectory.cjs.map +1 -0
  140. package/dist/src/node/logger.cjs +48 -0
  141. package/dist/src/node/logger.cjs.map +1 -0
  142. package/dist/src/node/printExtractMessages.cjs +44 -0
  143. package/dist/src/node/printExtractMessages.cjs.map +1 -0
  144. package/dist/src/node/printPackageTree.cjs +105 -0
  145. package/dist/src/node/printPackageTree.cjs.map +1 -0
  146. package/dist/src/node/resolveBrowserTarget.cjs +32 -0
  147. package/dist/src/node/resolveBrowserTarget.cjs.map +1 -0
  148. package/dist/src/node/resolveBrowserslistVersions.cjs +55 -0
  149. package/dist/src/node/resolveBrowserslistVersions.cjs.map +1 -0
  150. package/dist/src/node/resolveBuildContext.cjs +120 -0
  151. package/dist/src/node/resolveBuildContext.cjs.map +1 -0
  152. package/dist/{_chunks/build-62cd452e.cjs → src/node/resolveBuildTasks.cjs} +8 -80
  153. package/dist/src/node/resolveBuildTasks.cjs.map +1 -0
  154. package/dist/src/node/resolveNodeTarget.cjs +17 -0
  155. package/dist/src/node/resolveNodeTarget.cjs.map +1 -0
  156. package/dist/src/node/resolveWatchTasks.cjs +115 -0
  157. package/dist/src/node/resolveWatchTasks.cjs.map +1 -0
  158. package/dist/src/node/spinner.cjs +26 -0
  159. package/dist/src/node/spinner.cjs.map +1 -0
  160. package/dist/src/node/tasks/dts/DtsError.cjs +17 -0
  161. package/dist/src/node/tasks/dts/DtsError.cjs.map +1 -0
  162. package/dist/src/node/tasks/dts/buildTypes.cjs +50 -0
  163. package/dist/src/node/tasks/dts/buildTypes.cjs.map +1 -0
  164. package/dist/src/node/tasks/dts/createApiExtractorConfig.cjs +52 -0
  165. package/dist/src/node/tasks/dts/createApiExtractorConfig.cjs.map +1 -0
  166. package/dist/src/node/tasks/dts/createTSDocConfig.cjs +37 -0
  167. package/dist/src/node/tasks/dts/createTSDocConfig.cjs.map +1 -0
  168. package/dist/src/node/tasks/dts/doExtract.cjs +88 -0
  169. package/dist/src/node/tasks/dts/doExtract.cjs.map +1 -0
  170. package/dist/src/node/tasks/dts/dtsTask.cjs +44 -0
  171. package/dist/src/node/tasks/dts/dtsTask.cjs.map +1 -0
  172. package/dist/src/node/tasks/dts/dtsWatchTask.cjs +47 -0
  173. package/dist/src/node/tasks/dts/dtsWatchTask.cjs.map +1 -0
  174. package/dist/src/node/tasks/dts/extractModuleBlocks.cjs +38 -0
  175. package/dist/src/node/tasks/dts/extractModuleBlocks.cjs.map +1 -0
  176. package/dist/src/node/tasks/dts/extractTypes.cjs +90 -0
  177. package/dist/src/node/tasks/dts/extractTypes.cjs.map +1 -0
  178. package/dist/src/node/tasks/dts/getExtractMessagesConfig.cjs +73 -0
  179. package/dist/src/node/tasks/dts/getExtractMessagesConfig.cjs.map +1 -0
  180. package/dist/src/node/tasks/dts/printDiagnostic.cjs +48 -0
  181. package/dist/src/node/tasks/dts/printDiagnostic.cjs.map +1 -0
  182. package/dist/src/node/tasks/index.cjs +26 -0
  183. package/dist/src/node/tasks/index.cjs.map +1 -0
  184. package/dist/src/node/tasks/node/reexportCjsTask.cjs +64 -0
  185. package/dist/src/node/tasks/node/reexportCjsTask.cjs.map +1 -0
  186. package/dist/src/node/tasks/rollup/resolveRollupConfig.cjs +207 -0
  187. package/dist/src/node/tasks/rollup/resolveRollupConfig.cjs.map +1 -0
  188. package/dist/src/node/tasks/rollup/rollupTask.cjs +116 -0
  189. package/dist/src/node/tasks/rollup/rollupTask.cjs.map +1 -0
  190. package/dist/src/node/tasks/rollup/rollupWatchTask.cjs +72 -0
  191. package/dist/src/node/tasks/rollup/rollupWatchTask.cjs.map +1 -0
  192. package/dist/{_chunks/init-2377e6e5.cjs → src/node/templates/default/template.cjs} +23 -112
  193. package/dist/src/node/templates/default/template.cjs.map +1 -0
  194. package/dist/src/node/watch.cjs +90 -0
  195. package/dist/src/node/watch.cjs.map +1 -0
  196. package/dist/src/node/watchConfigFiles.cjs +40 -0
  197. package/dist/src/node/watchConfigFiles.cjs.map +1 -0
  198. package/dist/src/node/watchFiles.cjs +33 -0
  199. package/dist/src/node/watchFiles.cjs.map +1 -0
  200. package/dist/tasks/dts/DtsError.js +12 -0
  201. package/dist/tasks/dts/DtsError.js.map +1 -0
  202. package/dist/tasks/dts/buildTypes.js +39 -0
  203. package/dist/tasks/dts/buildTypes.js.map +1 -0
  204. package/dist/tasks/dts/createApiExtractorConfig.js +41 -0
  205. package/dist/tasks/dts/createApiExtractorConfig.js.map +1 -0
  206. package/dist/tasks/dts/createTSDocConfig.js +32 -0
  207. package/dist/tasks/dts/createTSDocConfig.js.map +1 -0
  208. package/dist/tasks/dts/doExtract.js +76 -0
  209. package/dist/tasks/dts/doExtract.js.map +1 -0
  210. package/dist/tasks/dts/dtsTask.js +33 -0
  211. package/dist/tasks/dts/dtsTask.js.map +1 -0
  212. package/dist/tasks/dts/dtsWatchTask.js +36 -0
  213. package/dist/tasks/dts/dtsWatchTask.js.map +1 -0
  214. package/dist/tasks/dts/extractModuleBlocks.js +26 -0
  215. package/dist/tasks/dts/extractModuleBlocks.js.map +1 -0
  216. package/dist/tasks/dts/extractTypes.js +77 -0
  217. package/dist/tasks/dts/extractTypes.js.map +1 -0
  218. package/dist/tasks/dts/getExtractMessagesConfig.js +68 -0
  219. package/dist/tasks/dts/getExtractMessagesConfig.js.map +1 -0
  220. package/dist/tasks/dts/printDiagnostic.js +35 -0
  221. package/dist/tasks/dts/printDiagnostic.js.map +1 -0
  222. package/dist/tasks/index.js +16 -0
  223. package/dist/tasks/index.js.map +1 -0
  224. package/dist/tasks/node/reexportCjsTask.js +52 -0
  225. package/dist/tasks/node/reexportCjsTask.js.map +1 -0
  226. package/dist/tasks/rollup/resolveRollupConfig.js +189 -0
  227. package/dist/tasks/rollup/resolveRollupConfig.js.map +1 -0
  228. package/dist/tasks/rollup/rollupTask.js +104 -0
  229. package/dist/tasks/rollup/rollupTask.js.map +1 -0
  230. package/dist/tasks/rollup/rollupWatchTask.js +60 -0
  231. package/dist/tasks/rollup/rollupWatchTask.js.map +1 -0
  232. package/dist/templates/default/template.js +366 -0
  233. package/dist/templates/default/template.js.map +1 -0
  234. package/dist/watch.js +79 -0
  235. package/dist/watch.js.map +1 -0
  236. package/dist/watchConfigFiles.js +29 -0
  237. package/dist/watchConfigFiles.js.map +1 -0
  238. package/dist/watchFiles.js +22 -0
  239. package/dist/watchFiles.js.map +1 -0
  240. package/package.json +3 -2
  241. package/src/node/core/pkg/loadPkgWithReporting.ts +91 -18
  242. package/src/node/core/pkg/types.ts +4 -2
  243. package/src/node/core/pkg/validatePkg.ts +31 -3
  244. package/src/node/resolveBuildTasks.ts +2 -2
  245. package/src/node/tasks/node/reexportCjsTask.ts +1 -1
  246. package/src/node/tasks/rollup/resolveRollupConfig.ts +4 -0
  247. package/src/node/tasks/rollup/rollupTask.ts +8 -0
  248. package/dist/_chunks/build-62cd452e.cjs.map +0 -1
  249. package/dist/_chunks/buildAction-b2571e76.cjs.map +0 -1
  250. package/dist/_chunks/check-0665cb35.cjs +0 -250
  251. package/dist/_chunks/check-0665cb35.cjs.map +0 -1
  252. package/dist/_chunks/checkAction-c3e5da35.cjs.map +0 -1
  253. package/dist/_chunks/consoleSpy-d738cb9f.cjs +0 -550
  254. package/dist/_chunks/consoleSpy-d738cb9f.cjs.map +0 -1
  255. package/dist/_chunks/handleError-13d87f55.cjs.map +0 -1
  256. package/dist/_chunks/index-ad3fa5bb.cjs +0 -865
  257. package/dist/_chunks/index-ad3fa5bb.cjs.map +0 -1
  258. package/dist/_chunks/init-2377e6e5.cjs.map +0 -1
  259. package/dist/_chunks/initAction-2abd8576.cjs.map +0 -1
  260. package/dist/_chunks/logger-c593f06b.cjs +0 -97
  261. package/dist/_chunks/logger-c593f06b.cjs.map +0 -1
  262. package/dist/_chunks/watch-425eab1e.cjs +0 -231
  263. package/dist/_chunks/watch-425eab1e.cjs.map +0 -1
  264. package/dist/_chunks/watchAction-79480cb8.cjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createTSDocConfig.cjs","sources":["../../../../../src/node/tasks/dts/createTSDocConfig.ts"],"sourcesContent":["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"],"names":["createTSDocConfig","opts","customTags","length","tsDocBaseBuf","readFile","require","resolve","tsDocBaseConfig","parse","toString","tagDefinitions","concat","map","t","tagName","name","syntaxKind","allowMultiple","supportForTags","customTag","TSDocConfigFile","loadFromObject","noStandardTags"],"mappings":";;;;;;;;AAYA,eAAsBA,kBAAkBC,IAEC,EAAA;EACjC,MAAA;IAACC;EAAc,CAAA,GAAAD,IAAA;EAEjB,IAAAC,UAAA,CAAWC,WAAW,CAAG,EAAA;IACpB,OAAA,KAAA,CAAA;EACT;EAEA,MAAMC,eAAe,MAAMC,EAAA,CAAAA,QAAA,CACzBC,OAAA,CAAQC,QAAQ,kDAAkD,CAAA,CACpE;EAIA,MAAMC,eAAkB,GAAAC,WAAA,CAAAA,KAAA,CAAML,YAAa,CAAAM,QAAA,CAAU,CAAA,CAAA;EAGrD,MAAMC,cAAkB,GAAA,CAAAH,eAAA,CAAgBG,cAAkB,IAAA,EAAI,EAAAC,MAAA,CAC5DV,UAAA,CAAWW,GAAI,CAACC,CAAO,KAAA;IACrBC,OAAA,MAAAH,MAAA,CAAaE,CAAA,CAAEE,IAAI,CAAA;IACnBC,YAAYH,CAAE,CAAAG,UAAA;IACdC,eAAeJ,CAAE,CAAAI;EAAA,CACjB,CAAA,CAAA,CACJ;EAIA,MAAMC,cAAiB,GAAA;IAAC,GAAGX,eAAA,CAAgBW;EAAc,CAAA;EAEzD,KAAA,MAAWC,aAAalB,UAAY,EAAA;IAClCiB,cAAA,KAAAP,MAAA,CAAmBQ,SAAA,CAAUJ,IAAI,EAAM,GAAA,IAAA;EACzC;EAEA,OAAOK,WAAAA,CAAAA,gBAAgBC,cAAe,CAAA;IACpC,GAAGd,eAAA;IACHe,cAAgB,EAAA,KAAA;IAChBZ,cAAA;IACAQ;EAAA,CACD,CAAA;AACH;"}
@@ -0,0 +1,88 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true
5
+ });
6
+ var path = require('path');
7
+ var rimraf = require('rimraf');
8
+ var buildTypes = require('./buildTypes.cjs');
9
+ var DtsError = require('./DtsError.cjs');
10
+ var extractTypes = require('./extractTypes.cjs');
11
+ function _interopDefaultCompat(e) {
12
+ return e && typeof e === 'object' && 'default' in e ? e : {
13
+ default: e
14
+ };
15
+ }
16
+ var path__default = /*#__PURE__*/_interopDefaultCompat(path);
17
+ var rimraf__default = /*#__PURE__*/_interopDefaultCompat(rimraf);
18
+ async function doExtract(ctx, task) {
19
+ var _a, _b;
20
+ const {
21
+ config,
22
+ cwd,
23
+ files,
24
+ logger,
25
+ strict,
26
+ ts
27
+ } = ctx;
28
+ if (!ts.config || !ts.configPath) {
29
+ return {
30
+ type: "dts",
31
+ messages: [],
32
+ results: []
33
+ };
34
+ }
35
+ const {
36
+ outDir,
37
+ rootDir = cwd
38
+ } = ts.config.options;
39
+ if (!outDir) {
40
+ throw new Error("tsconfig.json is missing `compilerOptions.outDir`");
41
+ }
42
+ const tmpPath = path__default.default.resolve(outDir, "__tmp__");
43
+ await buildTypes.buildTypes({
44
+ cwd,
45
+ logger,
46
+ outDir: tmpPath,
47
+ strict,
48
+ tsconfig: ts.config
49
+ });
50
+ const messages = [];
51
+ const results = [];
52
+ for (const entry of task.entries) {
53
+ const exportPath = entry.exportPath === "." ? "./index" : entry.exportPath;
54
+ const sourceTypesPath = path__default.default.resolve(tmpPath, path__default.default.relative(rootDir, path__default.default.resolve(cwd, entry.sourcePath)).replace(/\.ts$/, ".d.ts"));
55
+ const targetPath = path__default.default.resolve(cwd, entry.targetPath);
56
+ const filePath = path__default.default.relative(outDir, targetPath);
57
+ const result = await extractTypes.extractTypes({
58
+ customTags: (_a = config == null ? void 0 : config.extract) == null ? void 0 : _a.customTags,
59
+ cwd,
60
+ distPath: outDir,
61
+ exportPath,
62
+ files,
63
+ filePath,
64
+ projectPath: cwd,
65
+ rules: (_b = config == null ? void 0 : config.extract) == null ? void 0 : _b.rules,
66
+ sourceTypesPath,
67
+ tmpPath,
68
+ tsconfigPath: path__default.default.resolve(cwd, ts.configPath || "tsconfig.json")
69
+ });
70
+ messages.push(...result.messages);
71
+ if (result.messages.some(msg => msg.logLevel === "error")) {
72
+ await rimraf__default.default(tmpPath);
73
+ throw new DtsError.DtsError("encountered errors when extracting types", result.messages);
74
+ }
75
+ results.push({
76
+ sourcePath: path__default.default.resolve(cwd, entry.sourcePath),
77
+ filePath: targetPath
78
+ });
79
+ }
80
+ await rimraf__default.default(tmpPath);
81
+ return {
82
+ type: "dts",
83
+ messages,
84
+ results
85
+ };
86
+ }
87
+ exports.doExtract = doExtract;
88
+ //# sourceMappingURL=doExtract.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doExtract.cjs","sources":["../../../../../src/node/tasks/dts/doExtract.ts"],"sourcesContent":["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"],"names":["doExtract","ctx","task","_a","_b","config","cwd","files","logger","strict","ts","configPath","type","messages","results","outDir","rootDir","options","Error","tmpPath","path","default","resolve","buildTypes","tsconfig","entry","entries","exportPath","sourceTypesPath","relative","sourcePath","replace","targetPath","filePath","result","extractTypes","customTags","extract","distPath","projectPath","rules","tsconfigPath","push","some","msg","logLevel","rimraf","DtsError"],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true
5
+ });
6
+ var chalk = require('chalk');
7
+ var rxjs = require('rxjs');
8
+ var printExtractMessages = require('../../printExtractMessages.cjs');
9
+ var doExtract = require('./doExtract.cjs');
10
+ var DtsError = require('./DtsError.cjs');
11
+ function _interopDefaultCompat(e) {
12
+ return e && typeof e === 'object' && 'default' in e ? e : {
13
+ default: e
14
+ };
15
+ }
16
+ var chalk__default = /*#__PURE__*/_interopDefaultCompat(chalk);
17
+ const dtsTask = {
18
+ 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"),
19
+ exec: (ctx, task) => {
20
+ return new rxjs.Observable(observer => {
21
+ doExtract.doExtract(ctx, task).then(result => {
22
+ observer.next(result);
23
+ observer.complete();
24
+ }).catch(err => {
25
+ observer.error(err);
26
+ });
27
+ });
28
+ },
29
+ complete: (ctx, _task, result) => {
30
+ printExtractMessages.printExtractMessages(ctx, result.messages);
31
+ },
32
+ error: (ctx, _task, err) => {
33
+ const {
34
+ logger
35
+ } = ctx;
36
+ if (err instanceof DtsError.DtsError) {
37
+ printExtractMessages.printExtractMessages(ctx, err.messages);
38
+ } else if (err instanceof Error) {
39
+ logger.error(err);
40
+ }
41
+ }
42
+ };
43
+ exports.dtsTask = dtsTask;
44
+ //# sourceMappingURL=dtsTask.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dtsTask.cjs","sources":["../../../../../src/node/tasks/dts/dtsTask.ts"],"sourcesContent":["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"],"names":["dtsTask","name","_ctx","task","entries","map","entry","concat","chalk","cyan","importId","default","yellow","sourcePath","gray","targetPath","join","exec","ctx","Observable","observer","doExtract","then","result","next","complete","catch","err","error","_task","printExtractMessages","messages","logger","DtsError","Error"],"mappings":";;;;;;;;;;;;;;;;AAUO,MAAMA,OAA2C,GAAA;EACtDC,IAAA,EAAMA,CAACC,IAAA,EAAMC,IACX,KAAA,4CAGE,GAAGA,KAAKC,OAAQ,CAAAC,GAAA,CAAKC,KACnB,IAAA,UAAAC,MAAA,CACWC,cAAAA,CAAAA,OAAA,CAAMC,IAAK,CAAAH,KAAA,CAAMI,QAAQ,CAAC,YAAAH,MAAA,CAChCC,cAAM,CAAAG,OAAA,CAAAC,MAAA,CAAON,KAAM,CAAAO,UAAU,CAAC,OAAAN,MAAA,CAAIC,cAAA,CAAAG,OAAA,CAAMG,IAAK,CAAA,QAAG,CAAC,OAAAP,MAAA,CAAIC,cAAA,CAAAG,OAAA,CAAMC,MAAO,CAAAN,KAAA,CAAMS,UAAU,CAAC,EACxF,CAAEC,KAAK,EAAE,CACX,CAAA,CACF,CAAEA,KAAK,IAAI,CAAA;EACbC,IAAA,EAAMA,CAACC,GAAA,EAAKf,IAAS,KAAA;IACZ,OAAA,IAAIgB,IAAAA,CAAAA,UAAW,CAACC,QAAa,IAAA;MAClCC,SAAAA,CAAAA,SAAA,CAAUH,GAAK,EAAAf,IAAI,CAChB,CAAAmB,IAAA,CAAMC,MAAW,IAAA;QAChBH,QAAA,CAASI,KAAKD,MAAM,CAAA;QACpBH,QAAA,CAASK,QAAS,CAAA,CAAA;MAAA,CACnB,CAAA,CACAC,KAAM,CAACC,GAAQ,IAAA;QACdP,QAAA,CAASQ,MAAMD,GAAG,CAAA;MAAA,CACnB,CAAA;IAAA,CACJ,CAAA;EACH,CAAA;EACAF,QAAU,EAAAA,CAACP,GAAK,EAAAW,KAAA,EAAON,MAAW,KAAA;IACXO,oBAAAA,CAAAA,oBAAA,CAAAZ,GAAA,EAAKK,OAAOQ,QAAQ,CAAA;EAC3C,CAAA;EACAH,KAAO,EAAAA,CAACV,GAAK,EAAAW,KAAA,EAAOF,GAAQ,KAAA;IACpB,MAAA;MAACK;IAAU,CAAA,GAAAd,GAAA;IAEjB,IAAIS,eAAeM,QAAAA,CAAAA,QAAU,EAAA;MACNH,oBAAAA,CAAAA,oBAAA,CAAAZ,GAAA,EAAKS,IAAII,QAAQ,CAAA;IAAA,CACxC,MAAA,IAAWJ,eAAeO,KAAO,EAAA;MAC/BF,MAAA,CAAOJ,MAAMD,GAAG,CAAA;IAClB;EACF;AACF,CAAA;"}
@@ -0,0 +1,47 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true
5
+ });
6
+ var chalk = require('chalk');
7
+ var rxjs = require('rxjs');
8
+ var printExtractMessages = require('../../printExtractMessages.cjs');
9
+ var doExtract = require('./doExtract.cjs');
10
+ var DtsError = require('./DtsError.cjs');
11
+ function _interopDefaultCompat(e) {
12
+ return e && typeof e === 'object' && 'default' in e ? e : {
13
+ default: e
14
+ };
15
+ }
16
+ var chalk__default = /*#__PURE__*/_interopDefaultCompat(chalk);
17
+ const dtsWatchTask = {
18
+ 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"),
19
+ exec: (ctx, task) => {
20
+ return new rxjs.Observable(observer => {
21
+ doExtract.doExtract(ctx, task).then(result => {
22
+ observer.next(result);
23
+ observer.complete();
24
+ }).catch(err => observer.error(err));
25
+ });
26
+ },
27
+ complete: (ctx, _task, result) => {
28
+ const {
29
+ logger
30
+ } = ctx;
31
+ printExtractMessages.printExtractMessages(ctx, result.messages);
32
+ logger.warn("watching typescript definitions is currently not supported");
33
+ logger.log();
34
+ },
35
+ error: (ctx, _task, err) => {
36
+ const {
37
+ logger
38
+ } = ctx;
39
+ if (err instanceof DtsError.DtsError) {
40
+ printExtractMessages.printExtractMessages(ctx, err.messages);
41
+ } else if (err instanceof Error) {
42
+ logger.error(err);
43
+ }
44
+ }
45
+ };
46
+ exports.dtsWatchTask = dtsWatchTask;
47
+ //# sourceMappingURL=dtsWatchTask.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dtsWatchTask.cjs","sources":["../../../../../src/node/tasks/dts/dtsWatchTask.ts"],"sourcesContent":["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"],"names":["dtsWatchTask","name","_ctx","task","entries","map","entry","concat","chalk","blue","importId","sourcePath","targetPath","join","exec","ctx","Observable","observer","doExtract","then","result","next","complete","catch","err","error","_task","logger","printExtractMessages","messages","warn","log","DtsError","Error"],"mappings":";;;;;;;;;;;;;;;;AAUO,MAAMA,YAAqD,GAAA;EAChEC,IAAA,EAAMA,CAACC,IAAA,EAAMC,IACX,KAAA,2BAEE,GAAGA,KAAKC,OAAQ,CAAAC,GAAA,CACbC,KAAA,cAAAC,MAAA,CACWC,cAAAA,CAAAA,OAAA,CAAMC,IAAK,CAAAH,KAAA,CAAMI,QAAQ,CAAC,QAAAH,MAAA,CAAKD,KAAA,CAAMK,UAAU,UAAAJ,MAAA,CAAOD,MAAMM,UAAU,CACpF,CAAA,CACF,CAAEC,KAAK,IAAI,CAAA;EACbC,IAAA,EAAMA,CAACC,GAAA,EAAKZ,IAAS,KAAA;IACZ,OAAA,IAAIa,IAAAA,CAAAA,UAAW,CAACC,QAAa,IAAA;MAClCC,SAAAA,CAAAA,SAAA,CAAUH,GAAK,EAAAZ,IAAI,CAChB,CAAAgB,IAAA,CAAMC,MAAW,IAAA;QAChBH,QAAA,CAASI,KAAKD,MAAM,CAAA;QACpBH,QAAA,CAASK,QAAS,CAAA,CAAA;MAAA,CACnB,EACAC,KAAM,CAACC,OAAQP,QAAS,CAAAQ,KAAA,CAAMD,GAAG,CAAC,CAAA;IAAA,CACtC,CAAA;EACH,CAAA;EACAF,QAAU,EAAAA,CAACP,GAAK,EAAAW,KAAA,EAAON,MAAW,KAAA;IAC1B,MAAA;MAACO;IAAU,CAAA,GAAAZ,GAAA;IAEIa,oBAAAA,CAAAA,oBAAA,CAAAb,GAAA,EAAKK,OAAOS,QAAQ,CAAA;IAEzCF,MAAA,CAAOG,KAAK,4DAA4D,CAAA;IACxEH,MAAA,CAAOI,GAAI,CAAA,CAAA;EACb,CAAA;EACAN,KAAO,EAAAA,CAACV,GAAK,EAAAW,KAAA,EAAOF,GAAQ,KAAA;IACpB,MAAA;MAACG;IAAU,CAAA,GAAAZ,GAAA;IAEjB,IAAIS,eAAeQ,QAAAA,CAAAA,QAAU,EAAA;MACNJ,oBAAAA,CAAAA,oBAAA,CAAAb,GAAA,EAAKS,IAAIK,QAAQ,CAAA;IAAA,CACxC,MAAA,IAAWL,eAAeS,KAAO,EAAA;MAC/BN,MAAA,CAAOF,MAAMD,GAAG,CAAA;IAClB;EACF;AACF,CAAA;"}
@@ -0,0 +1,38 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true
5
+ });
6
+ var recast = require('recast');
7
+ var typeScriptParser = require('recast/parsers/typescript');
8
+ function _interopDefaultCompat(e) {
9
+ return e && typeof e === 'object' && 'default' in e ? e : {
10
+ default: e
11
+ };
12
+ }
13
+ var typeScriptParser__default = /*#__PURE__*/_interopDefaultCompat(typeScriptParser);
14
+ async function extractModuleBlocksFromTypes(_ref) {
15
+ let {
16
+ tsOutDir,
17
+ extractResult
18
+ } = _ref;
19
+ const program = extractResult.compilerState.program;
20
+ const moduleBlocks = [];
21
+ const allProgramFiles = [...program.getSourceFiles()];
22
+ const sourceFiles = allProgramFiles.filter(sourceFile => sourceFile.fileName.includes(tsOutDir));
23
+ for (const sourceFile of sourceFiles) {
24
+ if (sourceFile.text.includes("declare module")) {
25
+ moduleBlocks.push(...extractModuleBlocks(sourceFile.text));
26
+ }
27
+ }
28
+ return moduleBlocks;
29
+ }
30
+ function extractModuleBlocks(fileContent) {
31
+ const ast = recast.parse(fileContent, {
32
+ parser: typeScriptParser__default.default
33
+ });
34
+ return ast.program.body.filter(node => node.type === "TSModuleDeclaration").map(node => recast.print(node).code);
35
+ }
36
+ exports.extractModuleBlocks = extractModuleBlocks;
37
+ exports.extractModuleBlocksFromTypes = extractModuleBlocksFromTypes;
38
+ //# sourceMappingURL=extractModuleBlocks.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractModuleBlocks.cjs","sources":["../../../../../src/node/tasks/dts/extractModuleBlocks.ts"],"sourcesContent":["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"],"names":["extractModuleBlocksFromTypes","_ref","tsOutDir","extractResult","program","compilerState","moduleBlocks","allProgramFiles","getSourceFiles","sourceFiles","filter","sourceFile","fileName","includes","text","push","extractModuleBlocks","fileContent","ast","parse","parser","typeScriptParser","default","body","node","type","map","print","code"],"mappings":";;;;;;;;;;;;;AAUA,eAAsBA,4BAA6BA,CAAAC,IAAA,EAM7B;EAAA,IAN6B;IACjDC,QAAA;IACAC;EACF,CAGsB,GAAAF,IAAA;EACd,MAAAG,OAAA,GAAUD,cAAcE,aAAc,CAAAD,OAAA;EAC5C,MAAME,eAAyB,EAAC;EAGhC,MAAMC,eAAkB,GAAA,CAAC,GAAGH,OAAA,CAAQI,eAAgB,CAAA,CAAA;EAG9C,MAAAC,WAAA,GAAcF,gBAAgBG,MAAO,CAACC,cAAeA,UAAW,CAAAC,QAAA,CAASC,QAAS,CAAAX,QAAQ,CAAC,CAAA;EAEjG,KAAA,MAAWS,cAAcF,WAAa,EAAA;IACpC,IAAIE,UAAW,CAAAG,IAAA,CAAKD,QAAS,CAAA,gBAAgB,CAAG,EAAA;MAC9CP,YAAA,CAAaS,IAAK,CAAA,GAAGC,mBAAoB,CAAAL,UAAA,CAAWG,IAAI,CAAC,CAAA;IAC3D;EACF;EAEO,OAAAR,YAAA;AACT;AAGO,SAASU,oBAAoBC,WAA+B,EAAA;EAC3D,MAAAC,GAAA,GAAMC,aAAMF,WAAa,EAAA;IAC7BG,MAAQ,EAAAC,yBAAA,CAAAC;EAAA,CACT,CAAA;EAED,OAAOJ,IAAId,OAAQ,CAAAmB,IAAA,CAChBb,MAAO,CAACc,QAASA,IAAK,CAAAC,IAAA,KAAS,qBAAqB,CAAA,CACpDC,IAAKF,IAAA,IAASG,MAAM,CAAAA,KAAA,CAAAH,IAAI,EAAEI,IAAI,CAAA;AACnC;;"}
@@ -0,0 +1,90 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true
5
+ });
6
+ var apiExtractor = require('@microsoft/api-extractor');
7
+ var fs = require('fs/promises');
8
+ var mkdirp = require('mkdirp');
9
+ var path = require('path');
10
+ var prettier = require('prettier');
11
+ var createApiExtractorConfig = require('./createApiExtractorConfig.cjs');
12
+ var createTSDocConfig = require('./createTSDocConfig.cjs');
13
+ var extractModuleBlocks = require('./extractModuleBlocks.cjs');
14
+ var getExtractMessagesConfig = require('./getExtractMessagesConfig.cjs');
15
+ function _interopDefaultCompat(e) {
16
+ return e && typeof e === 'object' && 'default' in e ? e : {
17
+ default: e
18
+ };
19
+ }
20
+ var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
21
+ var path__default = /*#__PURE__*/_interopDefaultCompat(path);
22
+ var prettier__default = /*#__PURE__*/_interopDefaultCompat(prettier);
23
+ async function extractTypes(options) {
24
+ const {
25
+ customTags,
26
+ distPath,
27
+ exportPath,
28
+ files,
29
+ filePath,
30
+ projectPath,
31
+ rules,
32
+ sourceTypesPath,
33
+ tmpPath,
34
+ tsconfigPath
35
+ } = options;
36
+ const tsdocConfigFile = await createTSDocConfig.createTSDocConfig({
37
+ customTags: customTags || []
38
+ });
39
+ const extractorConfig = apiExtractor.ExtractorConfig.prepare({
40
+ configObject: createApiExtractorConfig.createApiExtractorConfig({
41
+ distPath,
42
+ exportPath,
43
+ filePath,
44
+ messages: getExtractMessagesConfig.getExtractMessagesConfig({
45
+ rules
46
+ }),
47
+ projectFolder: projectPath,
48
+ mainEntryPointFilePath: sourceTypesPath,
49
+ tsconfigPath
50
+ }),
51
+ configObjectFullPath: void 0,
52
+ tsdocConfigFile,
53
+ packageJsonFullPath: path__default.default.resolve(projectPath, "package.json")
54
+ });
55
+ const messages = [];
56
+ const extractorResult = apiExtractor.Extractor.invoke(extractorConfig, {
57
+ // Equivalent to the "--local" command-line parameter
58
+ localBuild: true,
59
+ // Equivalent to the "--verbose" command-line parameter
60
+ showVerboseMessages: true,
61
+ // handle messages
62
+ messageCallback(message) {
63
+ messages.push(message);
64
+ message.handled = true;
65
+ }
66
+ });
67
+ const typesPath = path__default.default.resolve(distPath, filePath);
68
+ const typesBuf = await fs__default.default.readFile(typesPath);
69
+ const prettierConfig = await prettier__default.default.resolveConfig(typesPath);
70
+ await mkdirp.mkdirp(path__default.default.dirname(typesPath));
71
+ const moduleBlocks = await extractModuleBlocks.extractModuleBlocksFromTypes({
72
+ extractResult: extractorResult,
73
+ tsOutDir: tmpPath
74
+ });
75
+ const code = [typesBuf.toString(), ...moduleBlocks].join("\n\n");
76
+ await fs__default.default.writeFile(typesPath, await prettier__default.default.format(code, {
77
+ ...prettierConfig,
78
+ filepath: typesPath
79
+ }));
80
+ files.push({
81
+ type: "types",
82
+ path: typesPath
83
+ });
84
+ return {
85
+ extractorResult,
86
+ messages
87
+ };
88
+ }
89
+ exports.extractTypes = extractTypes;
90
+ //# sourceMappingURL=extractTypes.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractTypes.cjs","sources":["../../../../../src/node/tasks/dts/extractTypes.ts"],"sourcesContent":["import {\n Extractor,\n ExtractorConfig,\n ExtractorMessage,\n ExtractorResult,\n} from '@microsoft/api-extractor'\nimport fs from 'fs/promises'\nimport {mkdirp} from 'mkdirp'\nimport path from 'path'\nimport prettier from 'prettier'\n\nimport {BuildFile, PkgConfigOptions} from '../../core'\nimport {createApiExtractorConfig} from './createApiExtractorConfig'\nimport {createTSDocConfig} from './createTSDocConfig'\nimport {extractModuleBlocksFromTypes} from './extractModuleBlocks'\nimport {getExtractMessagesConfig} from './getExtractMessagesConfig'\n\nexport async function extractTypes(options: {\n customTags: NonNullable<PkgConfigOptions['extract']>['customTags']\n cwd: string\n distPath: string\n exportPath: string\n filePath: string\n files: BuildFile[]\n projectPath: string\n rules?: NonNullable<PkgConfigOptions['extract']>['rules']\n sourceTypesPath: string\n tmpPath: string\n tsconfigPath: string\n}): Promise<{extractorResult: ExtractorResult; messages: ExtractorMessage[]}> {\n const {\n customTags,\n distPath,\n exportPath,\n files,\n filePath,\n projectPath,\n rules,\n sourceTypesPath,\n tmpPath,\n tsconfigPath,\n } = options\n\n const tsdocConfigFile = await createTSDocConfig({\n customTags: customTags || [],\n })\n\n const extractorConfig: ExtractorConfig = ExtractorConfig.prepare({\n configObject: createApiExtractorConfig({\n distPath,\n exportPath,\n filePath,\n messages: getExtractMessagesConfig({rules}),\n projectFolder: projectPath,\n mainEntryPointFilePath: sourceTypesPath,\n tsconfigPath,\n }),\n configObjectFullPath: undefined,\n tsdocConfigFile,\n packageJsonFullPath: path.resolve(projectPath, 'package.json'),\n })\n\n const messages: ExtractorMessage[] = []\n\n // Invoke API Extractor\n const extractorResult = Extractor.invoke(extractorConfig, {\n // Equivalent to the \"--local\" command-line parameter\n localBuild: true,\n // Equivalent to the \"--verbose\" command-line parameter\n showVerboseMessages: true,\n // handle messages\n messageCallback(message: ExtractorMessage) {\n messages.push(message)\n message.handled = true\n },\n })\n\n const typesPath = path.resolve(distPath, filePath)\n const typesBuf = await fs.readFile(typesPath)\n const prettierConfig = await prettier.resolveConfig(typesPath)\n\n await mkdirp(path.dirname(typesPath))\n\n const moduleBlocks = await extractModuleBlocksFromTypes({\n extractResult: extractorResult,\n tsOutDir: tmpPath,\n })\n\n const code = [typesBuf.toString(), ...moduleBlocks].join('\\n\\n')\n\n await fs.writeFile(\n typesPath,\n await prettier.format(code, {\n ...prettierConfig,\n filepath: typesPath,\n }),\n )\n\n // Add to `files` in context\n files.push({\n type: 'types',\n path: typesPath,\n })\n\n return {extractorResult, messages}\n}\n"],"names":["extractTypes","options","customTags","distPath","exportPath","files","filePath","projectPath","rules","sourceTypesPath","tmpPath","tsconfigPath","tsdocConfigFile","createTSDocConfig","extractorConfig","ExtractorConfig","prepare","configObject","createApiExtractorConfig","messages","getExtractMessagesConfig","projectFolder","mainEntryPointFilePath","configObjectFullPath","packageJsonFullPath","path","default","resolve","extractorResult","Extractor","invoke","localBuild","showVerboseMessages","messageCallback","message","push","handled","typesPath","typesBuf","fs","readFile","prettierConfig","prettier","resolveConfig","mkdirp","dirname","moduleBlocks","extractModuleBlocksFromTypes","extractResult","tsOutDir","code","toString","join","writeFile","format","filepath","type"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAiBA,eAAsBA,aAAaC,OAY2C,EAAA;EACtE,MAAA;IACJC,UAAA;IACAC,QAAA;IACAC,UAAA;IACAC,KAAA;IACAC,QAAA;IACAC,WAAA;IACAC,KAAA;IACAC,eAAA;IACAC,OAAA;IACAC;EACE,CAAA,GAAAV,OAAA;EAEE,MAAAW,eAAA,GAAkB,MAAMC,mCAAkB,CAAA;IAC9CX,UAAA,EAAYA,cAAc;EAAC,CAC5B,CAAA;EAEK,MAAAY,eAAA,GAAmCC,6BAAgBC,OAAQ,CAAA;IAC/DC,cAAcC,wBAAAA,CAAAA,wBAAyB,CAAA;MACrCf,QAAA;MACAC,UAAA;MACAE,QAAA;MACAa,QAAU,EAAAC,wBAAAA,CAAAA,wBAAA,CAAyB;QAACZ;OAAM,CAAA;MAC1Ca,aAAe,EAAAd,WAAA;MACfe,sBAAwB,EAAAb,eAAA;MACxBE;IAAA,CACD,CAAA;IACDY,oBAAsB,EAAA,KAAA,CAAA;IACtBX,eAAA;IACAY,mBAAqB,EAAAC,aAAA,CAAAC,OAAA,CAAKC,OAAQ,CAAApB,WAAA,EAAa,cAAc;EAAA,CAC9D,CAAA;EAED,MAAMY,WAA+B,EAAC;EAGhC,MAAAS,eAAA,GAAkBC,YAAAA,CAAAA,SAAU,CAAAC,MAAA,CAAOhB,eAAiB,EAAA;IAAA;IAExDiB,UAAY,EAAA,IAAA;IAAA;IAEZC,mBAAqB,EAAA,IAAA;IAAA;IAErBC,gBAAgBC,OAA2B,EAAA;MACzCf,QAAA,CAASgB,KAAKD,OAAO,CAAA;MACrBA,OAAA,CAAQE,OAAU,GAAA,IAAA;IACpB;EAAA,CACD,CAAA;EAED,MAAMC,SAAY,GAAAZ,aAAA,CAAAC,OAAA,CAAKC,OAAQ,CAAAxB,QAAA,EAAUG,QAAQ,CAAA;EACjD,MAAMgC,QAAW,GAAA,MAAMC,WAAAA,CAAAA,OAAG,CAAAC,QAAA,CAASH,SAAS,CAAA;EAC5C,MAAMI,cAAiB,GAAA,MAAMC,iBAAAA,CAAAA,OAAS,CAAAC,aAAA,CAAcN,SAAS,CAAA;EAE7D,MAAMO,MAAO,CAAAA,MAAA,CAAAnB,aAAA,CAAAC,OAAA,CAAKmB,OAAQ,CAAAR,SAAS,CAAC,CAAA;EAE9B,MAAAS,YAAA,GAAe,MAAMC,gDAA6B,CAAA;IACtDC,aAAe,EAAApB,eAAA;IACfqB,QAAU,EAAAvC;EAAA,CACX,CAAA;EAEK,MAAAwC,IAAA,GAAO,CAACZ,QAAS,CAAAa,QAAA,CAAA,GAAY,GAAGL,YAAY,CAAE,CAAAM,IAAA,CAAK,MAAM,CAAA;EAE/D,MAAMb,WAAG,CAAAb,OAAA,CAAA2B,SAAA,CACPhB,SAAA,EACA,MAAMK,iBAAS,CAAAhB,OAAA,CAAA4B,MAAA,CAAOJ,IAAM,EAAA;IAC1B,GAAGT,cAAA;IACHc,QAAU,EAAAlB;EAAA,CACX,CAAA,CACH;EAGAhC,KAAA,CAAM8B,IAAK,CAAA;IACTqB,IAAM,EAAA,OAAA;IACN/B,IAAM,EAAAY;EAAA,CACP,CAAA;EAEM,OAAA;IAACT;IAAiBT;GAAQ;AACnC;"}
@@ -0,0 +1,73 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true
5
+ });
6
+ const LOG_LEVELS = {
7
+ error: "error",
8
+ info: "info",
9
+ off: "none",
10
+ warn: "warning"
11
+ };
12
+ function getExtractMessagesConfig(options) {
13
+ const {
14
+ rules
15
+ } = options;
16
+ function ruleToLogLevel(key, defaultLevel) {
17
+ const r = rules == null ? void 0 : rules[key];
18
+ return r ? LOG_LEVELS[r] : defaultLevel || "warning";
19
+ }
20
+ return {
21
+ compilerMessageReporting: {
22
+ default: {
23
+ logLevel: "warning"
24
+ }
25
+ },
26
+ extractorMessageReporting: {
27
+ default: {
28
+ logLevel: "warning",
29
+ addToApiReportFile: false
30
+ },
31
+ "ae-forgotten-export": {
32
+ logLevel: ruleToLogLevel("ae-forgotten-export", "error"),
33
+ addToApiReportFile: false
34
+ },
35
+ "ae-incompatible-release-tags": {
36
+ logLevel: ruleToLogLevel("ae-incompatible-release-tags", "error"),
37
+ addToApiReportFile: false
38
+ },
39
+ "ae-internal-missing-underscore": {
40
+ logLevel: ruleToLogLevel("ae-internal-missing-underscore"),
41
+ addToApiReportFile: false
42
+ },
43
+ "ae-missing-release-tag": {
44
+ logLevel: ruleToLogLevel("ae-missing-release-tag", "error"),
45
+ addToApiReportFile: false
46
+ },
47
+ "ae-wrong-input-file-type": {
48
+ logLevel: "none",
49
+ addToApiReportFile: false
50
+ }
51
+ },
52
+ tsdocMessageReporting: {
53
+ default: {
54
+ logLevel: "warning",
55
+ addToApiReportFile: false
56
+ },
57
+ "tsdoc-link-tag-unescaped-text": {
58
+ logLevel: ruleToLogLevel("tsdoc-link-tag-unescaped-text", "warning"),
59
+ addToApiReportFile: false
60
+ },
61
+ "tsdoc-undefined-tag": {
62
+ logLevel: ruleToLogLevel("tsdoc-undefined-tag", "error"),
63
+ addToApiReportFile: false
64
+ },
65
+ "tsdoc-unsupported-tag": {
66
+ logLevel: ruleToLogLevel("tsdoc-unsupported-tag", "none"),
67
+ addToApiReportFile: false
68
+ }
69
+ }
70
+ };
71
+ }
72
+ exports.getExtractMessagesConfig = getExtractMessagesConfig;
73
+ //# sourceMappingURL=getExtractMessagesConfig.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getExtractMessagesConfig.cjs","sources":["../../../../../src/node/tasks/dts/getExtractMessagesConfig.ts"],"sourcesContent":["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"],"names":["LOG_LEVELS","error","info","off","warn","getExtractMessagesConfig","options","rules","ruleToLogLevel","key","defaultLevel","r","compilerMessageReporting","default","logLevel","extractorMessageReporting","addToApiReportFile","tsdocMessageReporting"],"mappings":";;;;;AAIA,MAAMA,UAAsD,GAAA;EAC1DC,KAAO,EAAA,OAAA;EACPC,IAAM,EAAA,MAAA;EACNC,GAAK,EAAA,MAAA;EACLC,IAAM,EAAA;AACR,CAAA;AAGO,SAASC,yBAAyBC,OAEZ,EAAA;EACrB,MAAA;IAACC;EAAS,CAAA,GAAAD,OAAA;EAEP,SAAAE,cAAAA,CACPC,KACAC,YACA,EAAA;IACA,MAAMC,IAAIJ,KAAQ,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,KAAA,CAAAE,GAAA,CAAA;IAElB,OAAQE,CAAI,GAAAX,UAAA,CAAWW,CAAC,CAAA,GAAID,YAAgB,IAAA,SAAA;EAC9C;EAEO,OAAA;IACLE,wBAA0B,EAAA;MACxBC,OAAS,EAAA;QACPC,QAAU,EAAA;MACZ;IACF,CAAA;IAEAC,yBAA2B,EAAA;MACzBF,OAAS,EAAA;QACPC,QAAU,EAAA,SAAA;QACVE,kBAAoB,EAAA;MACtB,CAAA;MAEA,qBAAuB,EAAA;QACrBF,QAAA,EAAUN,cAAe,CAAA,qBAAA,EAAuB,OAA4B,CAAA;QAC5EQ,kBAAoB,EAAA;MACtB,CAAA;MAEA,8BAAgC,EAAA;QAC9BF,QAAA,EAAUN,cAAe,CAAA,8BAAA,EAAgC,OAA4B,CAAA;QACrFQ,kBAAoB,EAAA;MACtB,CAAA;MAEA,gCAAkC,EAAA;QAChCF,QAAA,EAAUN,eAAe,gCAAgC,CAAA;QACzDQ,kBAAoB,EAAA;MACtB,CAAA;MAEA,wBAA0B,EAAA;QACxBF,QAAA,EAAUN,cAAe,CAAA,wBAAA,EAA0B,OAA4B,CAAA;QAC/EQ,kBAAoB,EAAA;MACtB,CAAA;MAEA,0BAA4B,EAAA;QAC1BF,QAAU,EAAA,MAAA;QACVE,kBAAoB,EAAA;MACtB;IACF,CAAA;IAEAC,qBAAuB,EAAA;MACrBJ,OAAS,EAAA;QACPC,QAAU,EAAA,SAAA;QACVE,kBAAoB,EAAA;MACtB,CAAA;MAEA,+BAAiC,EAAA;QAC/BF,QAAA,EAAUN,cAAe,CAAA,+BAAA,EAAiC,SAA8B,CAAA;QACxFQ,kBAAoB,EAAA;MACtB,CAAA;MAEA,qBAAuB,EAAA;QACrBF,QAAA,EAAUN,cAAe,CAAA,qBAAA,EAAuB,OAA4B,CAAA;QAC5EQ,kBAAoB,EAAA;MACtB,CAAA;MAEA,uBAAyB,EAAA;QACvBF,QAAA,EAAUN,cAAe,CAAA,uBAAA,EAAyB,MAA2B,CAAA;QAC7EQ,kBAAoB,EAAA;MACtB;IACF;EAAA,CACF;AACF;"}
@@ -0,0 +1,48 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true
5
+ });
6
+ var chalk = require('chalk');
7
+ var path = require('path');
8
+ var ts = require('typescript');
9
+ function _interopDefaultCompat(e) {
10
+ return e && typeof e === 'object' && 'default' in e ? e : {
11
+ default: e
12
+ };
13
+ }
14
+ var chalk__default = /*#__PURE__*/_interopDefaultCompat(chalk);
15
+ var path__default = /*#__PURE__*/_interopDefaultCompat(path);
16
+ var ts__default = /*#__PURE__*/_interopDefaultCompat(ts);
17
+ function printDiagnostic(options) {
18
+ const {
19
+ cwd,
20
+ logger,
21
+ diagnostic
22
+ } = options;
23
+ if (diagnostic.file && diagnostic.start) {
24
+ const {
25
+ line,
26
+ character
27
+ } = ts__default.default.getLineAndCharacterOfPosition(diagnostic.file, diagnostic.start);
28
+ const message = ts__default.default.flattenDiagnosticMessageText(diagnostic.messageText, "\n");
29
+ const file = path__default.default.relative(cwd, diagnostic.file.fileName);
30
+ const output = ["".concat(chalk__default.default.yellow(file), ":").concat(chalk__default.default.blue(line + 1), ":").concat(chalk__default.default.blue(character + 1), " - "), "".concat(chalk__default.default.gray("TS".concat(diagnostic.code, ":")), " ").concat(message)].join("");
31
+ if (diagnostic.category === ts__default.default.DiagnosticCategory.Error) {
32
+ logger.error(output);
33
+ }
34
+ if (diagnostic.category === ts__default.default.DiagnosticCategory.Warning) {
35
+ logger.warn(output);
36
+ }
37
+ if (diagnostic.category === ts__default.default.DiagnosticCategory.Message) {
38
+ logger.log(output);
39
+ }
40
+ if (diagnostic.category === ts__default.default.DiagnosticCategory.Suggestion) {
41
+ logger.log(output);
42
+ }
43
+ } else {
44
+ logger.log(ts__default.default.flattenDiagnosticMessageText(diagnostic.messageText, "\n"));
45
+ }
46
+ }
47
+ exports.printDiagnostic = printDiagnostic;
48
+ //# sourceMappingURL=printDiagnostic.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"printDiagnostic.cjs","sources":["../../../../../src/node/tasks/dts/printDiagnostic.ts"],"sourcesContent":["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"],"names":["printDiagnostic","options","cwd","logger","diagnostic","file","start","line","character","ts","getLineAndCharacterOfPosition","message","flattenDiagnosticMessageText","messageText","path","relative","fileName","output","concat","chalk","default","yellow","blue","gray","code","join","category","DiagnosticCategory","Error","error","Warning","warn","Message","log","Suggestion"],"mappings":";;;;;;;;;;;;;;;;AAMO,SAASA,gBAAgBC,OAIvB,EAAA;EACP,MAAM;IAACC,GAAA;IAAKC,MAAQ;IAAAC;EAAA,CAAc,GAAAH,OAAA;EAE9B,IAAAG,UAAA,CAAWC,IAAQ,IAAAD,UAAA,CAAWE,KAAO,EAAA;IACjC,MAAA;MAACC;MAAMC;IAAS,CAAA,GAAIC,oBAAGC,6BAA8B,CAAAN,UAAA,CAAWC,IAAM,EAAAD,UAAA,CAAWE,KAAK,CAAA;IAC5F,MAAMK,OAAU,GAAAF,WAAAA,CAAAA,OAAA,CAAGG,4BAA6B,CAAAR,UAAA,CAAWS,aAAa,IAAI,CAAA;IAE5E,MAAMR,OAAOS,aAAAA,CAAAA,OAAK,CAAAC,QAAA,CAASb,GAAK,EAAAE,UAAA,CAAWC,KAAKW,QAAQ,CAAA;IAExD,MAAMC,MAAS,GAAA,IAAAC,MAAA,CACVC,cAAM,CAAAC,OAAA,CAAAC,MAAA,CAAOhB,IAAI,CAAC,OAAAa,MAAA,CAAIC,cAAM,CAAAC,OAAA,CAAAE,IAAA,CAAKf,IAAO,GAAA,CAAC,CAAC,OAAAW,MAAA,CAAIC,sBAAA,CAAMG,IAAK,CAAAd,SAAA,GAAY,CAAC,CAAC,aAAAU,MAAA,CACvEC,uBAAMI,IAAK,MAAAL,MAAA,CAAKd,WAAWoB,IAAI,MAAG,CAAC,OAAAN,MAAA,CAAIP,OAAO,EACnD,CAAEc,KAAK,EAAE,CAAA;IAET,IAAIrB,UAAW,CAAAsB,QAAA,KAAajB,mBAAG,CAAAkB,kBAAA,CAAmBC,KAAO,EAAA;MACvDzB,MAAA,CAAO0B,MAAMZ,MAAM,CAAA;IACrB;IAEA,IAAIb,UAAW,CAAAsB,QAAA,KAAajB,mBAAG,CAAAkB,kBAAA,CAAmBG,OAAS,EAAA;MACzD3B,MAAA,CAAO4B,KAAKd,MAAM,CAAA;IACpB;IAEA,IAAIb,UAAW,CAAAsB,QAAA,KAAajB,mBAAG,CAAAkB,kBAAA,CAAmBK,OAAS,EAAA;MACzD7B,MAAA,CAAO8B,IAAIhB,MAAM,CAAA;IACnB;IAEA,IAAIb,UAAW,CAAAsB,QAAA,KAAajB,mBAAG,CAAAkB,kBAAA,CAAmBO,UAAY,EAAA;MAC5D/B,MAAA,CAAO8B,IAAIhB,MAAM,CAAA;IACnB;EAAA,CACK,MAAA;IACLd,MAAA,CAAO8B,IAAIxB,mBAAG,CAAAG,4BAAA,CAA6BR,UAAW,CAAAS,WAAA,EAAa,IAAI,CAAC,CAAA;EAC1E;AACF;"}
@@ -0,0 +1,26 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true
5
+ });
6
+ var dtsTask = require('./dts/dtsTask.cjs');
7
+ var dtsWatchTask = require('./dts/dtsWatchTask.cjs');
8
+ var reexportCjsTask = require('./node/reexportCjsTask.cjs');
9
+ var rollupTask = require('./rollup/rollupTask.cjs');
10
+ var rollupWatchTask = require('./rollup/rollupWatchTask.cjs');
11
+ const buildTaskHandlers = {
12
+ "build:dts": dtsTask.dtsTask,
13
+ "build:js": rollupTask.rollupTask,
14
+ "node:reexport-cjs": reexportCjsTask.nodeReexportCjsTask
15
+ };
16
+ const watchTaskHandlers = {
17
+ "watch:dts": dtsWatchTask.dtsWatchTask,
18
+ "watch:js": rollupWatchTask.rollupWatchTask
19
+ };
20
+ exports.dtsTask = dtsTask.dtsTask;
21
+ exports.dtsWatchTask = dtsWatchTask.dtsWatchTask;
22
+ exports.rollupTask = rollupTask.rollupTask;
23
+ exports.rollupWatchTask = rollupWatchTask.rollupWatchTask;
24
+ exports.buildTaskHandlers = buildTaskHandlers;
25
+ exports.watchTaskHandlers = watchTaskHandlers;
26
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":["../../../../src/node/tasks/index.ts"],"sourcesContent":["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":["buildTaskHandlers","dtsTask","rollupTask","nodeReexportCjsTask","watchTaskHandlers","dtsWatchTask","rollupWatchTask"],"mappings":";;;;;;;;;;AAUO,MAAMA,iBAAuC,GAAA;EAClD,WAAa,EAAAC,OAAA,CAAAA,OAAA;EACb,UAAY,EAAAC,UAAA,CAAAA,UAAA;EACZ,mBAAqB,EAAAC,eAAA,CAAAA;AACvB,CAAA;AAGO,MAAMC,iBAAuC,GAAA;EAClD,WAAa,EAAAC,YAAA,CAAAA,YAAA;EACb,UAAY,EAAAC,eAAA,CAAAA;AACd,CAAA;;;;;;"}
@@ -0,0 +1,64 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true
5
+ });
6
+ var chalk = require('chalk');
7
+ var fs = require('fs/promises');
8
+ var mkdirp = require('mkdirp');
9
+ var path = require('path');
10
+ var rxjs = require('rxjs');
11
+ function _interopDefaultCompat(e) {
12
+ return e && typeof e === 'object' && 'default' in e ? e : {
13
+ default: e
14
+ };
15
+ }
16
+ var chalk__default = /*#__PURE__*/_interopDefaultCompat(chalk);
17
+ var path__default = /*#__PURE__*/_interopDefaultCompat(path);
18
+ const nodeReexportCjsTask = {
19
+ name: (_ctx, task) => ["Re-export CommonJS module in ESM wrapper\u2026", " entries:", ...task.entries.map(entry => [" - ".concat(chalk__default.default.cyan(entry.importId), ": "), "".concat(chalk__default.default.yellow(entry.require), " ").concat(chalk__default.default.gray("\u2192"), " ").concat(chalk__default.default.yellow(entry.import))].join(""))].join("\n"),
20
+ exec: (ctx, task) => {
21
+ return rxjs.from(exec(ctx, task));
22
+ },
23
+ complete: () => {},
24
+ error: (_ctx, _task, err) => {
25
+ console.error(err);
26
+ }
27
+ };
28
+ async function exec(ctx, task) {
29
+ const {
30
+ cwd
31
+ } = ctx;
32
+ for (const entry of task.entries) {
33
+ const sourcePath = path__default.default.resolve(cwd, entry.require);
34
+ const targetPath = path__default.default.resolve(cwd, entry.import);
35
+ const targetDir = path__default.default.dirname(targetPath);
36
+ await mkdirp.mkdirp(targetDir);
37
+ const mod = require(sourcePath);
38
+ let relativeImport = "./".concat(path__default.default.relative(targetDir, sourcePath));
39
+ if (relativeImport.startsWith("./.")) {
40
+ relativeImport = relativeImport.slice(2);
41
+ }
42
+ const code = compileESMWrapper(mod, relativeImport);
43
+ await fs.writeFile(targetPath, code, "utf8");
44
+ }
45
+ }
46
+ function compileESMWrapper(mod, relativeImport) {
47
+ const keys = Object.keys(mod).filter(k => k !== "__esModule");
48
+ let code = "import cjs from '".concat(relativeImport, "';\n");
49
+ if (keys.length) {
50
+ code += "\n";
51
+ code += keys.filter(k => mod.__esModule ? k !== "default" : true).map(k => "export const ".concat(k, " = cjs.").concat(k, ";\n")).join("");
52
+ }
53
+ code += "\n";
54
+ if (mod.__esModule) {
55
+ if ("default" in mod) {
56
+ code += "export default cjs.default;\n";
57
+ }
58
+ } else {
59
+ code += "export default cjs;\n";
60
+ }
61
+ return code;
62
+ }
63
+ exports.nodeReexportCjsTask = nodeReexportCjsTask;
64
+ //# sourceMappingURL=reexportCjsTask.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reexportCjsTask.cjs","sources":["../../../../../src/node/tasks/node/reexportCjsTask.ts"],"sourcesContent":["import chalk from 'chalk'\nimport {writeFile} from 'fs/promises'\nimport {mkdirp} from 'mkdirp'\nimport path from 'path'\nimport {from} from 'rxjs'\n\nimport {BuildContext} from '../../core'\nimport {NodeReExportFromCJSTask, TaskHandler} from '../types'\n\n/** @internal */\nexport const nodeReexportCjsTask: TaskHandler<NodeReExportFromCJSTask> = {\n name: (_ctx, task) =>\n [\n `Re-export CommonJS module in ESM wrapper…`,\n ` entries:`,\n ...task.entries.map((entry) =>\n [\n ` - ${chalk.cyan(entry.importId)}: `,\n `${chalk.yellow(entry.require)} ${chalk.gray('→')} ${chalk.yellow(entry.import)}`,\n ].join(''),\n ),\n ].join('\\n'),\n exec: (ctx, task) => {\n return from(exec(ctx, task))\n },\n complete: () => {\n //\n },\n error: (_ctx, _task, err) => {\n // eslint-disable-next-line no-console\n console.error(err)\n },\n}\n\nasync function exec(ctx: BuildContext, task: NodeReExportFromCJSTask) {\n const {cwd} = ctx\n\n for (const entry of task.entries) {\n const sourcePath = path.resolve(cwd, entry.require)\n const targetPath = path.resolve(cwd, entry.import)\n const targetDir = path.dirname(targetPath)\n\n await mkdirp(targetDir)\n\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const mod = require(sourcePath)\n\n let relativeImport = `./${path.relative(targetDir, sourcePath)}`\n\n // Strip leading \"./\" from relative import\n if (relativeImport.startsWith('./.')) {\n relativeImport = relativeImport.slice(2)\n }\n\n const code = compileESMWrapper(mod, relativeImport)\n\n await writeFile(targetPath, code, 'utf8')\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction compileESMWrapper(mod: any, relativeImport: string) {\n const keys = Object.keys(mod).filter((k) => k !== '__esModule')\n\n let code = `import cjs from '${relativeImport}';\\n`\n\n if (keys.length) {\n code += `\\n`\n code += keys\n .filter((k) => (mod.__esModule ? k !== 'default' : true))\n .map((k) => `export const ${k} = cjs.${k};\\n`)\n .join('')\n }\n\n code += `\\n`\n\n if (mod.__esModule) {\n // If there is no default export, we shouldn't add it as it'll be undefined\n if ('default' in mod) {\n code += `export default cjs.default;\\n`\n }\n } else {\n code += `export default cjs;\\n`\n }\n\n return code\n}\n"],"names":["nodeReexportCjsTask","name","_ctx","task","entries","map","entry","concat","chalk","cyan","importId","default","yellow","require","gray","import","join","exec","ctx","from","complete","error","_task","err","console","cwd","sourcePath","path","resolve","targetPath","targetDir","dirname","mkdirp","mod","relativeImport","relative","startsWith","slice","code","compileESMWrapper","writeFile","keys","Object","filter","k","length","__esModule"],"mappings":"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"}