@sanity/pkg-utils 2.3.12 → 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 (263) 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-e950d498.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-63c8a721.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-11470607.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/rollup/resolveRollupConfig.ts +4 -0
  246. package/src/node/tasks/rollup/rollupTask.ts +8 -0
  247. package/dist/_chunks/build-11470607.cjs.map +0 -1
  248. package/dist/_chunks/buildAction-e950d498.cjs.map +0 -1
  249. package/dist/_chunks/check-0665cb35.cjs +0 -250
  250. package/dist/_chunks/check-0665cb35.cjs.map +0 -1
  251. package/dist/_chunks/checkAction-c3e5da35.cjs.map +0 -1
  252. package/dist/_chunks/consoleSpy-d738cb9f.cjs +0 -550
  253. package/dist/_chunks/consoleSpy-d738cb9f.cjs.map +0 -1
  254. package/dist/_chunks/handleError-13d87f55.cjs.map +0 -1
  255. package/dist/_chunks/index-70f8931a.cjs +0 -865
  256. package/dist/_chunks/index-70f8931a.cjs.map +0 -1
  257. package/dist/_chunks/init-2377e6e5.cjs.map +0 -1
  258. package/dist/_chunks/initAction-2abd8576.cjs.map +0 -1
  259. package/dist/_chunks/logger-c593f06b.cjs +0 -97
  260. package/dist/_chunks/logger-c593f06b.cjs.map +0 -1
  261. package/dist/_chunks/watch-d390d5e4.cjs +0 -231
  262. package/dist/_chunks/watch-d390d5e4.cjs.map +0 -1
  263. package/dist/_chunks/watchAction-63c8a721.cjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findConfigFile.cjs","sources":["../../../../../src/node/core/config/findConfigFile.ts"],"sourcesContent":["import findConfig from 'find-config'\nimport path from 'path'\n\nimport {fileExists} from '../../fileExists'\n\nconst CONFIG_FILE_NAMES = [\n 'package.config.ts',\n 'package.config.js',\n 'package.config.cjs',\n 'package.config.mjs',\n]\n\n/** @internal */\nexport function findConfigFile(cwd: string): string | undefined {\n const pkgJsonPath = findConfig('package.json', {cwd})\n\n if (!pkgJsonPath) return undefined\n\n const pkgPath = path.dirname(pkgJsonPath)\n\n for (const fileName of CONFIG_FILE_NAMES) {\n const configPath = path.resolve(pkgPath, fileName)\n\n const exists = fileExists(configPath)\n\n if (exists) {\n return configPath\n }\n }\n\n return undefined\n}\n"],"names":["CONFIG_FILE_NAMES","findConfigFile","cwd","pkgJsonPath","findConfig","default","pkgPath","path","dirname","fileName","configPath","resolve","exists","fileExists"],"mappings":";;;;;;;;;;;;;;;AAKA,MAAMA,iBAAoB,GAAA,CACxB,mBAAA,EACA,mBAAA,EACA,oBAAA,EACA,oBAAA,CACF;AAGO,SAASC,eAAeC,GAAiC,EAAA;EAC9D,MAAMC,WAAc,GAAAC,mBAAA,CAAAC,OAAA,CAAW,cAAgB,EAAA;IAACH;EAAI,CAAA,CAAA;EAEpD,IAAI,CAACC,WAAA,EAAoB,OAAA,KAAA,CAAA;EAEnB,MAAAG,OAAA,GAAUC,aAAAA,CAAAA,OAAK,CAAAC,OAAA,CAAQL,WAAW,CAAA;EAExC,KAAA,MAAWM,YAAYT,iBAAmB,EAAA;IACxC,MAAMU,UAAa,GAAAH,aAAA,CAAAF,OAAA,CAAKM,OAAQ,CAAAL,OAAA,EAASG,QAAQ,CAAA;IAE3C,MAAAG,MAAA,GAASC,sBAAWH,UAAU,CAAA;IAEpC,IAAIE,MAAQ,EAAA;MACH,OAAAF,UAAA;IACT;EACF;EAEO,OAAA,KAAA,CAAA;AACT;"}
@@ -0,0 +1,46 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true
5
+ });
6
+ var node = require('esbuild-register/dist/node');
7
+ var path = require('path');
8
+ var pkgUp = require('pkg-up');
9
+ var findConfigFile = require('./findConfigFile.cjs');
10
+ function _interopDefaultCompat(e) {
11
+ return e && typeof e === 'object' && 'default' in e ? e : {
12
+ default: e
13
+ };
14
+ }
15
+ var path__default = /*#__PURE__*/_interopDefaultCompat(path);
16
+ var pkgUp__default = /*#__PURE__*/_interopDefaultCompat(pkgUp);
17
+ async function loadConfig(options) {
18
+ const {
19
+ cwd
20
+ } = options;
21
+ const pkgPath = await pkgUp__default.default({
22
+ cwd
23
+ });
24
+ if (!pkgPath) return void 0;
25
+ const root = path__default.default.dirname(pkgPath);
26
+ const configFile = await findConfigFile.findConfigFile(root);
27
+ if (!configFile) {
28
+ return void 0;
29
+ }
30
+ if (!configFile.startsWith(cwd)) {
31
+ return void 0;
32
+ }
33
+ const esbuildOptions = {
34
+ extensions: [".js", ".mjs", ".ts"]
35
+ };
36
+ const {
37
+ unregister
38
+ } = globalThis.__DEV__ ? {
39
+ unregister: () => void 0
40
+ } : node.register(esbuildOptions);
41
+ const mod = require(configFile);
42
+ unregister();
43
+ return (mod == null ? void 0 : mod.default) || mod || void 0;
44
+ }
45
+ exports.loadConfig = loadConfig;
46
+ //# sourceMappingURL=loadConfig.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadConfig.cjs","sources":["../../../../../src/node/core/config/loadConfig.ts"],"sourcesContent":["import {register} from 'esbuild-register/dist/node'\nimport path from 'path'\nimport pkgUp from 'pkg-up'\n\nimport {findConfigFile} from './findConfigFile'\nimport {PkgConfigOptions} from './types'\n\n/** @internal */\nexport async function loadConfig(options: {cwd: string}): Promise<PkgConfigOptions | undefined> {\n const {cwd} = options\n\n const pkgPath = await pkgUp({cwd})\n\n if (!pkgPath) return undefined\n\n const root = path.dirname(pkgPath)\n\n const configFile = await findConfigFile(root)\n\n if (!configFile) {\n return undefined\n }\n\n // Do not accept config files outside of the root\n if (!configFile.startsWith(cwd)) {\n return undefined\n }\n\n const esbuildOptions = {extensions: ['.js', '.mjs', '.ts']}\n\n const {unregister} = globalThis.__DEV__ ? {unregister: () => undefined} : register(esbuildOptions)\n\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const mod = require(configFile)\n\n unregister()\n\n return mod?.default || mod || undefined\n}\n"],"names":["loadConfig","options","cwd","pkgPath","pkgUp","root","path","dirname","configFile","findConfigFile","startsWith","esbuildOptions","extensions","unregister","globalThis","__DEV__","register","mod","require","default"],"mappings":";;;;;;;;;;;;;;;;AAQA,eAAsBA,WAAWC,OAA+D,EAAA;EACxF,MAAA;IAACC;EAAO,CAAA,GAAAD,OAAA;EAEd,MAAME,OAAU,GAAA,MAAMC,cAAAA,CAAAA,OAAM,CAAA;IAACF;EAAI,CAAA,CAAA;EAEjC,IAAI,CAACC,OAAA,EAAgB,OAAA,KAAA,CAAA;EAEf,MAAAE,IAAA,GAAOC,aAAAA,CAAAA,OAAK,CAAAC,OAAA,CAAQJ,OAAO,CAAA;EAE3B,MAAAK,UAAA,GAAa,MAAMC,6BAAA,CAAeJ,IAAI,CAAA;EAE5C,IAAI,CAACG,UAAY,EAAA;IACR,OAAA,KAAA,CAAA;EACT;EAGA,IAAI,CAACA,UAAA,CAAWE,UAAW,CAAAR,GAAG,CAAG,EAAA;IACxB,OAAA,KAAA,CAAA;EACT;EAEA,MAAMS,iBAAiB;IAACC,UAAA,EAAY,CAAC,KAAO,EAAA,MAAA,EAAQ,KAAK;GAAC;EAEpD,MAAA;IAACC;EAAU,CAAA,GAAIC,UAAW,CAAAC,OAAA,GAAU;IAACF,UAAA,EAAYA,CAAA,KAAM,KAAA;EAAA,CAAa,GAAAG,IAAA,CAAAA,QAAA,CAASL,cAAc,CAAA;EAG3F,MAAAM,GAAA,GAAMC,QAAQV,UAAU,CAAA;EAEnBK,UAAA,EAAA;EAEJ,OAAA,CAAAI,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,GAAA,CAAKE,YAAWF,GAAO,IAAA,KAAA,CAAA;AAChC;"}
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true
5
+ });
6
+ function resolveConfigProperty(prop, initialValue) {
7
+ if (!prop) return initialValue;
8
+ if (typeof prop === "function") {
9
+ return prop(initialValue);
10
+ }
11
+ return prop;
12
+ }
13
+ exports.resolveConfigProperty = resolveConfigProperty;
14
+ //# sourceMappingURL=resolveConfigProperty.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveConfigProperty.cjs","sources":["../../../../../src/node/core/config/resolveConfigProperty.ts"],"sourcesContent":["import {PkgConfigProperty, PkgConfigPropertyResolver} from './types'\n\n/** @internal */\nexport function resolveConfigProperty<T>(\n prop: PkgConfigProperty<T> | undefined,\n initialValue: T,\n): T {\n if (!prop) return initialValue\n\n if (typeof prop === 'function') {\n return (prop as PkgConfigPropertyResolver<T>)(initialValue)\n }\n\n return prop\n}\n"],"names":["resolveConfigProperty","prop","initialValue"],"mappings":";;;;;AAGgB,SAAAA,qBAAAA,CACdC,MACAC,YACG,EAAA;EACH,IAAI,CAACD,IAAA,EAAa,OAAAC,YAAA;EAEd,IAAA,OAAOD,SAAS,UAAY,EAAA;IAC9B,OAAQA,KAAsCC,YAAY,CAAA;EAC5D;EAEO,OAAAD,IAAA;AACT;"}
@@ -0,0 +1,8 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true
5
+ });
6
+ const DEFAULT_BROWSERSLIST_QUERY = ["> 0.2% and supports es6-module and supports es6-module-dynamic-import", "not dead", "not IE 11", "maintained node versions"];
7
+ exports.DEFAULT_BROWSERSLIST_QUERY = DEFAULT_BROWSERSLIST_QUERY;
8
+ //# sourceMappingURL=defaults.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults.cjs","sources":["../../../../src/node/core/defaults.ts"],"sourcesContent":["/** @public */\nexport const DEFAULT_BROWSERSLIST_QUERY = [\n '> 0.2% and supports es6-module and supports es6-module-dynamic-import',\n 'not dead',\n 'not IE 11',\n 'maintained node versions',\n]\n"],"names":["DEFAULT_BROWSERSLIST_QUERY"],"mappings":";;;;;AACO,MAAMA,0BAA6B,GAAA,CACxC,uEAAA,EACA,UAAA,EACA,WAAA,EACA,0BAAA,CACF;"}
@@ -0,0 +1,40 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true
5
+ });
6
+ var path = require('path');
7
+ function _interopDefaultCompat(e) {
8
+ return e && typeof e === 'object' && 'default' in e ? e : {
9
+ default: e
10
+ };
11
+ }
12
+ var path__default = /*#__PURE__*/_interopDefaultCompat(path);
13
+ function pathContains(containerPath, itemPath) {
14
+ return !path__default.default.relative(containerPath, itemPath).startsWith("..");
15
+ }
16
+ function findCommonDirPath(filePaths) {
17
+ let ret = void 0;
18
+ for (const filePath of filePaths) {
19
+ let dirPath = path__default.default.dirname(filePath);
20
+ if (!ret) {
21
+ ret = dirPath;
22
+ continue;
23
+ }
24
+ while (dirPath !== ret) {
25
+ dirPath = path__default.default.dirname(dirPath);
26
+ if (dirPath === ret) {
27
+ break;
28
+ }
29
+ if (pathContains(dirPath, ret)) {
30
+ ret = dirPath;
31
+ break;
32
+ }
33
+ if (dirPath === ".") return void 0;
34
+ }
35
+ }
36
+ return ret;
37
+ }
38
+ exports.findCommonDirPath = findCommonDirPath;
39
+ exports.pathContains = pathContains;
40
+ //# sourceMappingURL=findCommonPath.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findCommonPath.cjs","sources":["../../../../src/node/core/findCommonPath.ts"],"sourcesContent":["import path from 'path'\n\nexport function pathContains(containerPath: string, itemPath: string): boolean {\n return !path.relative(containerPath, itemPath).startsWith('..')\n}\n\nexport function findCommonDirPath(filePaths: string[]): string | undefined {\n let ret: string | undefined = undefined\n\n for (const filePath of filePaths) {\n let dirPath = path.dirname(filePath)\n\n if (!ret) {\n ret = dirPath\n continue\n }\n\n while (dirPath !== ret) {\n dirPath = path.dirname(dirPath)\n\n if (dirPath === ret) {\n break\n }\n\n if (pathContains(dirPath, ret)) {\n ret = dirPath\n break\n }\n\n if (dirPath === '.') return undefined\n }\n }\n\n return ret\n}\n"],"names":["pathContains","containerPath","itemPath","path","default","relative","startsWith","findCommonDirPath","filePaths","ret","filePath","dirPath","dirname"],"mappings":";;;;;;;;;;;;AAEgB,SAAAA,YAAAA,CAAaC,eAAuBC,QAA2B,EAAA;EAC7E,OAAO,CAACC,aAAK,CAAAC,OAAA,CAAAC,QAAA,CAASJ,eAAeC,QAAQ,CAAA,CAAEI,WAAW,IAAI,CAAA;AAChE;AAEO,SAASC,kBAAkBC,SAAyC,EAAA;EACzE,IAAIC,GAA0B,GAAA,KAAA,CAAA;EAE9B,KAAA,MAAWC,YAAYF,SAAW,EAAA;IAC5B,IAAAG,OAAA,GAAUR,aAAAA,CAAAA,OAAK,CAAAS,OAAA,CAAQF,QAAQ,CAAA;IAEnC,IAAI,CAACD,GAAK,EAAA;MACFA,GAAA,GAAAE,OAAA;MACN;IACF;IAEA,OAAOA,YAAYF,GAAK,EAAA;MACZE,OAAA,GAAAR,aAAA,CAAAC,OAAA,CAAKQ,QAAQD,OAAO,CAAA;MAE9B,IAAIA,YAAYF,GAAK,EAAA;QACnB;MACF;MAEI,IAAAT,YAAA,CAAaW,OAAS,EAAAF,GAAG,CAAG,EAAA;QACxBA,GAAA,GAAAE,OAAA;QACN;MACF;MAEA,IAAIA,OAAY,KAAA,GAAA,EAAY,OAAA,KAAA,CAAA;IAC9B;EACF;EAEO,OAAAF,GAAA;AACT;;"}
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true
5
+ });
6
+ function isRecord(value) {
7
+ return Boolean(value) && !Array.isArray(value) && typeof value === "object";
8
+ }
9
+ exports.isRecord = isRecord;
10
+ //# sourceMappingURL=isRecord.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isRecord.cjs","sources":["../../../../src/node/core/isRecord.ts"],"sourcesContent":["/** @internal */\nexport function isRecord(value: unknown): value is Record<string, unknown> {\n return Boolean(value) && !Array.isArray(value) && typeof value === 'object'\n}\n"],"names":["isRecord","value","Boolean","Array","isArray"],"mappings":";;;;;AACO,SAASA,SAASC,KAAkD,EAAA;EAClE,OAAAC,OAAA,CAAQD,KAAK,CAAK,IAAA,CAACE,MAAMC,OAAQ,CAAAH,KAAK,CAAK,IAAA,OAAOA,KAAU,KAAA,QAAA;AACrE;"}
@@ -0,0 +1,31 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true
5
+ });
6
+ function assertFirst(a, arr) {
7
+ const aIdx = arr.indexOf(a);
8
+ if (aIdx === -1) {
9
+ return true;
10
+ }
11
+ return aIdx === 0;
12
+ }
13
+ function assertLast(a, arr) {
14
+ const aIdx = arr.indexOf(a);
15
+ if (aIdx === -1) {
16
+ return true;
17
+ }
18
+ return aIdx === arr.length - 1;
19
+ }
20
+ function assertOrder(a, b, arr) {
21
+ const aIdx = arr.indexOf(a);
22
+ const bIdx = arr.indexOf(b);
23
+ if (aIdx === -1 || bIdx === -1) {
24
+ return true;
25
+ }
26
+ return aIdx < bIdx;
27
+ }
28
+ exports.assertFirst = assertFirst;
29
+ exports.assertLast = assertLast;
30
+ exports.assertOrder = assertOrder;
31
+ //# sourceMappingURL=helpers.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.cjs","sources":["../../../../../src/node/core/pkg/helpers.ts"],"sourcesContent":["/** @internal */\nexport function assertFirst<T>(a: T, arr: T[]): boolean {\n const aIdx = arr.indexOf(a)\n\n // if not found, then we don't care\n if (aIdx === -1) {\n return true\n }\n\n return aIdx === 0\n}\n\n/** @internal */\nexport function assertLast<T>(a: T, arr: T[]): boolean {\n const aIdx = arr.indexOf(a)\n\n // if not found, then we don't care\n if (aIdx === -1) {\n return true\n }\n\n return aIdx === arr.length - 1\n}\n\n/** @internal */\nexport function assertOrder<T>(a: T, b: T, arr: T[]): boolean {\n const aIdx = arr.indexOf(a)\n const bIdx = arr.indexOf(b)\n\n // if either is not found, then we don't care\n if (aIdx === -1 || bIdx === -1) {\n return true\n }\n\n return aIdx < bIdx\n}\n"],"names":["assertFirst","a","arr","aIdx","indexOf","assertLast","length","assertOrder","b","bIdx"],"mappings":";;;;;AACgB,SAAAA,WAAAA,CAAeC,GAAMC,GAAmB,EAAA;EAChD,MAAAC,IAAA,GAAOD,GAAI,CAAAE,OAAA,CAAQH,CAAC,CAAA;EAG1B,IAAIE,SAAS,CAAI,CAAA,EAAA;IACR,OAAA,IAAA;EACT;EAEA,OAAOA,IAAS,KAAA,CAAA;AAClB;AAGgB,SAAAE,UAAAA,CAAcJ,GAAMC,GAAmB,EAAA;EAC/C,MAAAC,IAAA,GAAOD,GAAI,CAAAE,OAAA,CAAQH,CAAC,CAAA;EAG1B,IAAIE,SAAS,CAAI,CAAA,EAAA;IACR,OAAA,IAAA;EACT;EAEO,OAAAA,IAAA,KAASD,IAAII,MAAS,GAAA,CAAA;AAC/B;AAGgB,SAAAC,WAAAA,CAAeN,CAAM,EAAAO,CAAA,EAAMN,GAAmB,EAAA;EACtD,MAAAC,IAAA,GAAOD,GAAI,CAAAE,OAAA,CAAQH,CAAC,CAAA;EACpB,MAAAQ,IAAA,GAAOP,GAAI,CAAAE,OAAA,CAAQI,CAAC,CAAA;EAGtB,IAAAL,IAAA,KAAS,CAAM,CAAA,IAAAM,IAAA,KAAS,CAAI,CAAA,EAAA;IACvB,OAAA,IAAA;EACT;EAEA,OAAON,IAAO,GAAAM,IAAA;AAChB;;;"}
@@ -0,0 +1,30 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true
5
+ });
6
+ var fs = require('fs/promises');
7
+ var pkgUp = require('pkg-up');
8
+ var validatePkg = require('./validatePkg.cjs');
9
+ function _interopDefaultCompat(e) {
10
+ return e && typeof e === 'object' && 'default' in e ? e : {
11
+ default: e
12
+ };
13
+ }
14
+ var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
15
+ var pkgUp__default = /*#__PURE__*/_interopDefaultCompat(pkgUp);
16
+ async function loadPkg(options) {
17
+ const {
18
+ cwd
19
+ } = options;
20
+ const pkgPath = await pkgUp__default.default({
21
+ cwd
22
+ });
23
+ if (!pkgPath) throw new Error("no package.json found");
24
+ const buf = await fs__default.default.readFile(pkgPath);
25
+ const raw = JSON.parse(buf.toString());
26
+ validatePkg.validatePkg(raw);
27
+ return raw;
28
+ }
29
+ exports.loadPkg = loadPkg;
30
+ //# sourceMappingURL=loadPkg.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadPkg.cjs","sources":["../../../../../src/node/core/pkg/loadPkg.ts"],"sourcesContent":["import fs from 'fs/promises'\nimport pkgUp from 'pkg-up'\n\nimport {PackageJSON} from './types'\nimport {validatePkg} from './validatePkg'\n\n/** @internal */\nexport async function loadPkg(options: {cwd: string}): Promise<PackageJSON> {\n const {cwd} = options\n\n const pkgPath = await pkgUp({cwd})\n\n if (!pkgPath) throw new Error('no package.json found')\n\n const buf = await fs.readFile(pkgPath)\n\n const raw = JSON.parse(buf.toString())\n\n validatePkg(raw)\n\n return raw\n}\n"],"names":["loadPkg","options","cwd","pkgPath","pkgUp","Error","buf","fs","readFile","raw","JSON","parse","toString","validatePkg"],"mappings":";;;;;;;;;;;;;;;AAOA,eAAsBA,QAAQC,OAA8C,EAAA;EACpE,MAAA;IAACC;EAAO,CAAA,GAAAD,OAAA;EAEd,MAAME,OAAU,GAAA,MAAMC,cAAAA,CAAAA,OAAM,CAAA;IAACF;EAAI,CAAA,CAAA;EAEjC,IAAI,CAACC,OAAA,EAAe,MAAA,IAAIE,MAAM,uBAAuB,CAAA;EAErD,MAAMC,GAAM,GAAA,MAAMC,WAAAA,CAAAA,OAAG,CAAAC,QAAA,CAASL,OAAO,CAAA;EAErC,MAAMM,GAAM,GAAAC,IAAA,CAAKC,KAAM,CAAAL,GAAA,CAAIM,SAAU,CAAA,CAAA;EAErCC,WAAA,CAAAA,WAAA,CAAYJ,GAAG,CAAA;EAER,OAAAA,GAAA;AACT;"}
@@ -0,0 +1,118 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true
5
+ });
6
+ var chalk = require('chalk');
7
+ var zod = require('zod');
8
+ var helpers = require('./helpers.cjs');
9
+ var loadPkg = require('./loadPkg.cjs');
10
+ function _interopDefaultCompat(e) {
11
+ return e && typeof e === 'object' && 'default' in e ? e : {
12
+ default: e
13
+ };
14
+ }
15
+ var chalk__default = /*#__PURE__*/_interopDefaultCompat(chalk);
16
+ async function loadPkgWithReporting(options) {
17
+ const {
18
+ cwd,
19
+ logger
20
+ } = options;
21
+ try {
22
+ const pkg = await loadPkg.loadPkg({
23
+ cwd
24
+ });
25
+ let shouldError = false;
26
+ if (pkg.exports) {
27
+ const _exports = Object.entries(pkg.exports);
28
+ for (const [expPath, exp] of _exports) {
29
+ if (typeof exp === "string") {
30
+ continue;
31
+ }
32
+ const keys = Object.keys(exp);
33
+ if (!helpers.assertFirst("types", keys)) {
34
+ shouldError = true;
35
+ logger.error("exports[\"".concat(expPath, "\"]: the `types` property should be the first property"));
36
+ }
37
+ if (exp.node) {
38
+ const nodeKeys = Object.keys(exp.node);
39
+ if (!helpers.assertOrder("module", "import", nodeKeys)) {
40
+ shouldError = true;
41
+ logger.error("exports[\"".concat(expPath, "\"]: the `node.module` property should come before the `node.import` property"));
42
+ }
43
+ if (!helpers.assertOrder("import", "require", nodeKeys)) {
44
+ logger.warn("exports[\"".concat(expPath, "\"]: the `node.import` property should come before the `node.require` property"));
45
+ }
46
+ if (!helpers.assertOrder("module", "require", nodeKeys)) {
47
+ logger.warn("exports[\"".concat(expPath, "\"]: the `node.module` property should come before `node.require` property"));
48
+ }
49
+ if (exp.import && exp.node.import && !helpers.assertOrder("node", "import", keys)) {
50
+ shouldError = true;
51
+ logger.error("exports[\"".concat(expPath, "\"]: the `node` property should come before the `import` property"));
52
+ }
53
+ if (exp.module && exp.node.module && !helpers.assertOrder("node", "module", keys)) {
54
+ shouldError = true;
55
+ logger.error("exports[\"".concat(expPath, "\"]: the `node` property should come before the `module` property"));
56
+ }
57
+ if (exp.node.import && !exp.node.require && !exp.node.module) {
58
+ shouldError = true;
59
+ logger.error("exports[\"".concat(expPath, "\"]: the `node.module` property should be added so bundlers don't unintentionally try to bundle `node.import`"));
60
+ }
61
+ if (exp.node.import && !exp.node.require && exp.node.module && exp.import && exp.node.module !== exp.import) {
62
+ shouldError = true;
63
+ logger.error("exports[\"".concat(expPath, "\"]: the `node.module` property should match `import`"));
64
+ }
65
+ if (exp.require && exp.node.require && exp.require === exp.node.require) {
66
+ shouldError = true;
67
+ logger.error("exports[\"".concat(expPath, "\"]: the `node.require` property isn't necessary as it's identical to `require`"));
68
+ } else if (exp.require && exp.node.require && !helpers.assertOrder("node", "require", keys)) {
69
+ shouldError = true;
70
+ logger.error("exports[\"".concat(expPath, "\"]: the `node` property should come before the `require` property"));
71
+ }
72
+ } else {
73
+ if (!helpers.assertOrder("import", "require", keys)) {
74
+ logger.warn("exports[\"".concat(expPath, "\"]: the `import` property should come before the `require` property"));
75
+ }
76
+ if (!helpers.assertOrder("module", "import", keys)) {
77
+ logger.warn("exports[\"".concat(expPath, "\"]: the `module` property should come before `import` property"));
78
+ }
79
+ }
80
+ if (!helpers.assertLast("default", keys)) {
81
+ shouldError = true;
82
+ logger.error("exports[\"".concat(expPath, "\"]: the `default` property should be the last property"));
83
+ }
84
+ }
85
+ }
86
+ if (shouldError) {
87
+ process.exit(1);
88
+ }
89
+ return pkg;
90
+ } catch (err) {
91
+ if (err instanceof zod.ZodError) {
92
+ for (const issue of err.issues) {
93
+ if (issue.code === "invalid_type") {
94
+ logger.error(["`".concat(formatPath(issue.path), "` "), "in `./package.json` must be of type ".concat(chalk__default.default.magenta(issue.expected), " "), "(received ".concat(chalk__default.default.magenta(issue.received), ")")].join(""));
95
+ continue;
96
+ }
97
+ logger.error(issue);
98
+ }
99
+ } else {
100
+ logger.error(err);
101
+ }
102
+ process.exit(1);
103
+ }
104
+ }
105
+ function formatPath(segments) {
106
+ return segments.map((s, idx) => {
107
+ if (idx === 0) return s;
108
+ if (typeof s === "number") {
109
+ return "[".concat(s, "]");
110
+ }
111
+ if (s.startsWith(".")) {
112
+ return "[\"".concat(s, "\"]");
113
+ }
114
+ return ".".concat(s);
115
+ }).join("");
116
+ }
117
+ exports.loadPkgWithReporting = loadPkgWithReporting;
118
+ //# sourceMappingURL=loadPkgWithReporting.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadPkgWithReporting.cjs","sources":["../../../../../src/node/core/pkg/loadPkgWithReporting.ts"],"sourcesContent":["import chalk from 'chalk'\nimport {ZodError} from 'zod'\n\nimport {Logger} from '../../logger'\nimport {assertFirst, assertLast, assertOrder} from './helpers'\nimport {loadPkg} from './loadPkg'\nimport {PackageJSON} from './types'\n\n/** @internal */\nexport async function loadPkgWithReporting(options: {\n cwd: string\n logger: Logger\n}): Promise<PackageJSON> {\n const {cwd, logger} = options\n\n try {\n const pkg = await loadPkg({cwd})\n let shouldError = false\n\n // validate exports\n if (pkg.exports) {\n const _exports = Object.entries(pkg.exports)\n\n for (const [expPath, exp] of _exports) {\n if (typeof exp === 'string') {\n continue\n }\n\n const keys = Object.keys(exp)\n\n if (!assertFirst('types', keys)) {\n shouldError = true\n logger.error(`exports[\"${expPath}\"]: the \\`types\\` property should be the first property`)\n }\n\n if (exp.node) {\n const nodeKeys = Object.keys(exp.node)\n\n if (!assertOrder('module', 'import', nodeKeys)) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node.module\\` property should come before the \\`node.import\\` property`,\n )\n }\n\n if (!assertOrder('import', 'require', nodeKeys)) {\n logger.warn(\n `exports[\"${expPath}\"]: the \\`node.import\\` property should come before the \\`node.require\\` property`,\n )\n }\n\n if (!assertOrder('module', 'require', nodeKeys)) {\n logger.warn(\n `exports[\"${expPath}\"]: the \\`node.module\\` property should come before \\`node.require\\` property`,\n )\n }\n\n if (exp.import && exp.node.import && !assertOrder('node', 'import', keys)) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node\\` property should come before the \\`import\\` property`,\n )\n }\n\n if (exp.module && exp.node.module && !assertOrder('node', 'module', keys)) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node\\` property should come before the \\`module\\` property`,\n )\n }\n\n // If there's a `node.import` property but not a `node.require` we can assume `node.import` is wrapping `import` and `node.module` should be added for bundlers\n if (exp.node.import && !exp.node.require && !exp.node.module) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node.module\\` property should be added so bundlers don't unintentionally try to bundle \\`node.import\\``,\n )\n }\n\n if (\n exp.node.import &&\n !exp.node.require &&\n exp.node.module &&\n exp.import &&\n exp.node.module !== exp.import\n ) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node.module\\` property should match \\`import\\``,\n )\n }\n\n if (exp.require && exp.node.require && exp.require === exp.node.require) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node.require\\` property isn't necessary as it's identical to \\`require\\``,\n )\n } else if (exp.require && exp.node.require && !assertOrder('node', 'require', keys)) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node\\` property should come before the \\`require\\` property`,\n )\n }\n } else {\n if (!assertOrder('import', 'require', keys)) {\n logger.warn(\n `exports[\"${expPath}\"]: the \\`import\\` property should come before the \\`require\\` property`,\n )\n }\n\n if (!assertOrder('module', 'import', keys)) {\n logger.warn(\n `exports[\"${expPath}\"]: the \\`module\\` property should come before \\`import\\` property`,\n )\n }\n }\n\n if (!assertLast('default', keys)) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`default\\` property should be the last property`,\n )\n }\n }\n }\n\n if (shouldError) {\n process.exit(1)\n }\n\n return pkg\n } catch (err) {\n if (err instanceof ZodError) {\n for (const issue of err.issues) {\n if (issue.code === 'invalid_type') {\n logger.error(\n [\n `\\`${formatPath(issue.path)}\\` `,\n `in \\`./package.json\\` must be of type ${chalk.magenta(issue.expected)} `,\n `(received ${chalk.magenta(issue.received)})`,\n ].join(''),\n )\n continue\n }\n\n logger.error(issue)\n }\n } else {\n logger.error(err)\n }\n\n process.exit(1)\n }\n}\n\nfunction formatPath(segments: Array<string | number>) {\n return segments\n .map((s, idx) => {\n if (idx === 0) return s\n\n if (typeof s === 'number') {\n return `[${s}]`\n }\n\n if (s.startsWith('.')) {\n return `[\"${s}\"]`\n }\n\n return `.${s}`\n })\n .join('')\n}\n"],"names":["loadPkgWithReporting","options","cwd","logger","pkg","loadPkg","shouldError","exports","_exports","Object","entries","expPath","exp","keys","assertFirst","error","concat","node","nodeKeys","assertOrder","warn","import","module","require","assertLast","process","exit","err","ZodError","issue","issues","code","formatPath","path","chalk","magenta","expected","received","join","segments","map","s","idx","startsWith"],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true
5
+ });
6
+ var isRecord = require('../isRecord.cjs');
7
+ var validateExports = require('./validateExports.cjs');
8
+ function parseExports(options) {
9
+ const {
10
+ extMap,
11
+ pkg,
12
+ strict
13
+ } = options;
14
+ const rootExport = {
15
+ _exported: true,
16
+ _path: ".",
17
+ types: pkg.types,
18
+ source: pkg.source || "",
19
+ browser: pkg.browser && {
20
+ source: pkg.source || "",
21
+ require: pkg.main && pkg.browser[pkg.main],
22
+ import: pkg.module && pkg.browser[pkg.module]
23
+ },
24
+ require: pkg.main,
25
+ import: pkg.module,
26
+ default: pkg.module || pkg.main || ""
27
+ };
28
+ const extraExports = [];
29
+ const errors = [];
30
+ if (pkg.exports) {
31
+ if (strict && !pkg.exports["./package.json"]) {
32
+ errors.push('package.json: `exports["./package.json"] must be declared.');
33
+ }
34
+ for (const [exportPath, exportEntry] of Object.entries(pkg.exports)) {
35
+ if (exportPath.endsWith(".json")) {
36
+ if (exportPath === "./package.json") {
37
+ if (exportEntry !== "./package.json") {
38
+ errors.push('package.json: `exports["./package.json"] must be "./package.json".');
39
+ }
40
+ }
41
+ } else if (isRecord.isRecord(exportEntry)) {
42
+ if (exportPath === ".") {
43
+ if (exportEntry.require && rootExport.require && exportEntry.require !== rootExport.require) {
44
+ errors.push('package.json: mismatch between "main" and "exports.require". These must be equal.');
45
+ }
46
+ if (exportEntry.import && rootExport.import && exportEntry.import !== rootExport.import) {
47
+ errors.push('package.json: mismatch between "module" and "exports.import" These must be equal.');
48
+ }
49
+ if (exportEntry.types && rootExport.types && exportEntry.types !== rootExport.types) {
50
+ errors.push('package.json: mismatch between "types" and "exports.types". These must be equal.');
51
+ }
52
+ if (exportEntry.source && rootExport.source && exportEntry.source !== rootExport.source) {
53
+ errors.push('package.json: mismatch between "source" and "exports.source". These must be equal.');
54
+ }
55
+ Object.assign(rootExport, exportEntry);
56
+ } else {
57
+ const extraExport = {
58
+ _exported: true,
59
+ _path: exportPath,
60
+ ...exportEntry
61
+ };
62
+ extraExports.push(extraExport);
63
+ }
64
+ } else {
65
+ errors.push("package.json: exports must be an object");
66
+ }
67
+ }
68
+ }
69
+ const _exports = [rootExport, ...extraExports];
70
+ errors.push(...validateExports.validateExports(_exports, {
71
+ extMap,
72
+ pkg
73
+ }));
74
+ if (errors.length) {
75
+ throw new Error("\n- " + errors.join("\n- "));
76
+ }
77
+ return _exports;
78
+ }
79
+ exports.parseExports = parseExports;
80
+ //# sourceMappingURL=parseExports.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseExports.cjs","sources":["../../../../../src/node/core/pkg/parseExports.ts"],"sourcesContent":["import {PkgExport} from '../config'\nimport {isRecord} from '../isRecord'\nimport {PkgExtMap} from './pkgExt'\nimport {PackageJSON} from './types'\nimport {validateExports} from './validateExports'\n\n/** @internal */\nexport function parseExports(options: {\n extMap: PkgExtMap\n pkg: PackageJSON\n strict: boolean\n}): (PkgExport & {_path: string})[] {\n const {extMap, pkg, strict} = options\n\n const rootExport: PkgExport & {_path: string} = {\n _exported: true,\n _path: '.',\n types: pkg.types,\n source: pkg.source || '',\n browser: pkg.browser && {\n source: pkg.source || '',\n require: pkg.main && pkg.browser[pkg.main],\n import: pkg.module && pkg.browser[pkg.module],\n },\n require: pkg.main,\n import: pkg.module,\n default: pkg.module || pkg.main || '',\n }\n\n const extraExports: (PkgExport & {_path: string})[] = []\n\n const errors: string[] = []\n\n if (pkg.exports) {\n if (strict && !pkg.exports['./package.json']) {\n errors.push('package.json: `exports[\"./package.json\"] must be declared.')\n }\n\n for (const [exportPath, exportEntry] of Object.entries(pkg.exports)) {\n if (exportPath.endsWith('.json')) {\n if (exportPath === './package.json') {\n if (exportEntry !== './package.json') {\n errors.push('package.json: `exports[\"./package.json\"] must be \"./package.json\".')\n }\n }\n } else if (isRecord(exportEntry)) {\n if (exportPath === '.') {\n if (\n exportEntry.require &&\n rootExport.require &&\n exportEntry.require !== rootExport.require\n ) {\n errors.push(\n 'package.json: mismatch between \"main\" and \"exports.require\". These must be equal.',\n )\n }\n\n if (exportEntry.import && rootExport.import && exportEntry.import !== rootExport.import) {\n errors.push(\n 'package.json: mismatch between \"module\" and \"exports.import\" These must be equal.',\n )\n }\n\n if (exportEntry.types && rootExport.types && exportEntry.types !== rootExport.types) {\n errors.push(\n 'package.json: mismatch between \"types\" and \"exports.types\". These must be equal.',\n )\n }\n\n if (exportEntry.source && rootExport.source && exportEntry.source !== rootExport.source) {\n errors.push(\n 'package.json: mismatch between \"source\" and \"exports.source\". These must be equal.',\n )\n }\n\n Object.assign(rootExport, exportEntry)\n } else {\n const extraExport: PkgExport & {_path: string} = {\n _exported: true,\n _path: exportPath,\n ...exportEntry,\n }\n\n extraExports.push(extraExport)\n }\n } else {\n errors.push('package.json: exports must be an object')\n }\n }\n }\n\n const _exports = [rootExport, ...extraExports]\n\n errors.push(...validateExports(_exports, {extMap, pkg}))\n\n if (errors.length) {\n throw new Error('\\n- ' + errors.join('\\n- '))\n }\n\n return _exports\n}\n"],"names":["parseExports","options","extMap","pkg","strict","rootExport","_exported","_path","types","source","browser","require","main","import","module","default","extraExports","errors","exports","push","exportPath","exportEntry","Object","entries","endsWith","isRecord","assign","extraExport","_exports","validateExports","length","Error","join"],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true
5
+ });
6
+ const DEFAULT_PKG_EXT_MAP = {
7
+ // pkg.type: "commonjs"
8
+ commonjs: {
9
+ commonjs: ".js",
10
+ esm: ".mjs"
11
+ },
12
+ // pkg.type: "module"
13
+ module: {
14
+ commonjs: ".cjs",
15
+ esm: ".js"
16
+ }
17
+ };
18
+ function getPkgExtMap(options) {
19
+ const {
20
+ legacyExports
21
+ } = options;
22
+ const ret = {
23
+ ...DEFAULT_PKG_EXT_MAP
24
+ };
25
+ if (legacyExports) {
26
+ ret["commonjs"] = {
27
+ commonjs: ".js",
28
+ esm: ".esm.js"
29
+ };
30
+ }
31
+ return ret;
32
+ }
33
+ exports.DEFAULT_PKG_EXT_MAP = DEFAULT_PKG_EXT_MAP;
34
+ exports.getPkgExtMap = getPkgExtMap;
35
+ //# sourceMappingURL=pkgExt.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pkgExt.cjs","sources":["../../../../../src/node/core/pkg/pkgExt.ts"],"sourcesContent":["/** @internal */\nexport interface PkgExtMap {\n commonjs: {commonjs: string; esm: string}\n module: {commonjs: string; esm: string}\n}\n\n/** @internal */\nexport const DEFAULT_PKG_EXT_MAP: PkgExtMap = {\n // pkg.type: \"commonjs\"\n commonjs: {\n commonjs: '.js',\n esm: '.mjs',\n },\n\n // pkg.type: \"module\"\n module: {\n commonjs: '.cjs',\n esm: '.js',\n },\n}\n\n/** @internal */\nexport function getPkgExtMap(options: {legacyExports: boolean}): PkgExtMap {\n const {legacyExports} = options\n\n const ret = {...DEFAULT_PKG_EXT_MAP}\n\n // Fall back to legacy file extensions for package.json with `\"type\": \"commonjs\"`\n // NOTE: Not supported by Node 14+ and will be removed in a future version\n if (legacyExports) {\n ret['commonjs'] = {\n commonjs: '.js',\n esm: '.esm.js',\n }\n }\n\n return ret\n}\n"],"names":["DEFAULT_PKG_EXT_MAP","commonjs","esm","module","getPkgExtMap","options","legacyExports","ret"],"mappings":";;;;;AAOO,MAAMA,mBAAiC,GAAA;EAAA;EAE5CC,QAAU,EAAA;IACRA,QAAU,EAAA,KAAA;IACVC,GAAK,EAAA;EACP,CAAA;EAAA;EAGAC,MAAQ,EAAA;IACNF,QAAU,EAAA,MAAA;IACVC,GAAK,EAAA;EACP;AACF,CAAA;AAGO,SAASE,aAAaC,OAA8C,EAAA;EACnE,MAAA;IAACC;EAAiB,CAAA,GAAAD,OAAA;EAElB,MAAAE,GAAA,GAAM;IAAC,GAAGP;GAAmB;EAInC,IAAIM,aAAe,EAAA;IACjBC,GAAA,CAAI,UAAU,CAAI,GAAA;MAChBN,QAAU,EAAA,KAAA;MACVC,GAAK,EAAA;IAAA,CACP;EACF;EAEO,OAAAK,GAAA;AACT;;"}
@@ -0,0 +1,24 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true
5
+ });
6
+ function validateExports(_exports, options) {
7
+ const {
8
+ extMap,
9
+ pkg
10
+ } = options;
11
+ const ext = extMap[pkg.type || "commonjs"];
12
+ const errors = [];
13
+ for (const exp of _exports) {
14
+ if (exp.require && !exp.require.endsWith(ext.commonjs)) {
15
+ errors.push("package.json with `type: \"".concat(pkg.type, "\"` - `exports[\"").concat(exp._path, "\"].require` must end with \"").concat(ext.commonjs, "\""));
16
+ }
17
+ if (exp.import && !exp.import.endsWith(ext.esm)) {
18
+ errors.push("package.json with `type: \"".concat(pkg.type, "\"` - `exports[\"").concat(exp._path, "\"].import` must end with \"").concat(ext.esm, "\""));
19
+ }
20
+ }
21
+ return errors;
22
+ }
23
+ exports.validateExports = validateExports;
24
+ //# sourceMappingURL=validateExports.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateExports.cjs","sources":["../../../../../src/node/core/pkg/validateExports.ts"],"sourcesContent":["import {PkgExport} from '../config'\nimport {PkgExtMap} from './pkgExt'\nimport {PackageJSON} from './types'\n\nexport function validateExports(\n _exports: (PkgExport & {_path: string})[],\n options: {extMap: PkgExtMap; pkg: PackageJSON},\n): string[] {\n const {extMap, pkg} = options\n const ext = extMap[pkg.type || 'commonjs']\n\n const errors: string[] = []\n\n for (const exp of _exports) {\n if (exp.require && !exp.require.endsWith(ext.commonjs)) {\n errors.push(\n `package.json with \\`type: \"${pkg.type}\"\\` - \\`exports[\"${exp._path}\"].require\\` must end with \"${ext.commonjs}\"`,\n )\n }\n\n if (exp.import && !exp.import.endsWith(ext.esm)) {\n errors.push(\n `package.json with \\`type: \"${pkg.type}\"\\` - \\`exports[\"${exp._path}\"].import\\` must end with \"${ext.esm}\"`,\n )\n }\n }\n\n return errors\n}\n"],"names":["validateExports","_exports","options","extMap","pkg","ext","type","errors","exp","require","endsWith","commonjs","push","concat","_path","import","esm"],"mappings":";;;;;AAIgB,SAAAA,eAAAA,CACdC,UACAC,OACU,EAAA;EACJ,MAAA;IAACC,MAAQ;IAAAC;EAAO,CAAA,GAAAF,OAAA;EACtB,MAAMG,GAAM,GAAAF,MAAA,CAAOC,GAAI,CAAAE,IAAA,IAAQ,UAAU,CAAA;EAEzC,MAAMC,SAAmB,EAAC;EAE1B,KAAA,MAAWC,OAAOP,QAAU,EAAA;IACtB,IAAAO,GAAA,CAAIC,WAAW,CAACD,GAAA,CAAIC,QAAQC,QAAS,CAAAL,GAAA,CAAIM,QAAQ,CAAG,EAAA;MAC/CJ,MAAA,CAAAK,IAAA,+BAAAC,MAAA,CACyBT,IAAIE,IAAI,uBAAAO,MAAA,CAAoBL,IAAIM,KAAK,mCAAAD,MAAA,CAA+BR,IAAIM,QAAQ,OAAA,CAChH;IACF;IAEI,IAAAH,GAAA,CAAIO,UAAU,CAACP,GAAA,CAAIO,OAAOL,QAAS,CAAAL,GAAA,CAAIW,GAAG,CAAG,EAAA;MACxCT,MAAA,CAAAK,IAAA,+BAAAC,MAAA,CACyBT,IAAIE,IAAI,uBAAAO,MAAA,CAAoBL,IAAIM,KAAK,kCAAAD,MAAA,CAA8BR,IAAIW,GAAG,OAAA,CAC1G;IACF;EACF;EAEO,OAAAT,MAAA;AACT;"}
@@ -0,0 +1,54 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true
5
+ });
6
+ var zod = require('zod');
7
+ var helpers = require('./helpers.cjs');
8
+ const pkgSchema = zod.z.object({
9
+ type: zod.z.optional(zod.z.enum(["commonjs", "module"])),
10
+ name: zod.z.string(),
11
+ version: zod.z.string(),
12
+ license: zod.z.string(),
13
+ bin: zod.z.optional(zod.z.record(zod.z.string())),
14
+ dependencies: zod.z.optional(zod.z.record(zod.z.string())),
15
+ devDependencies: zod.z.optional(zod.z.record(zod.z.string())),
16
+ peerDependencies: zod.z.optional(zod.z.record(zod.z.string())),
17
+ source: zod.z.optional(zod.z.string()),
18
+ main: zod.z.optional(zod.z.string()),
19
+ browser: zod.z.optional(zod.z.record(zod.z.string())),
20
+ module: zod.z.optional(zod.z.string()),
21
+ types: zod.z.optional(zod.z.string()),
22
+ exports: zod.z.optional(zod.z.record(zod.z.union([zod.z.custom(val => /^\.\/.*\.json$/.test(val)), zod.z.object({
23
+ types: zod.z.optional(zod.z.string()),
24
+ source: zod.z.string(),
25
+ browser: zod.z.optional(zod.z.object({
26
+ source: zod.z.string(),
27
+ import: zod.z.optional(zod.z.string()),
28
+ require: zod.z.optional(zod.z.string())
29
+ })),
30
+ module: zod.z.optional(zod.z.string()),
31
+ node: zod.z.optional(zod.z.object({
32
+ source: zod.z.optional(zod.z.string()),
33
+ import: zod.z.optional(zod.z.string()),
34
+ require: zod.z.optional(zod.z.string())
35
+ })),
36
+ import: zod.z.optional(zod.z.string()),
37
+ require: zod.z.optional(zod.z.string()),
38
+ default: zod.z.string()
39
+ }).superRefine((val, ctx) => {
40
+ const keys = Object.keys(val);
41
+ if (!helpers.assertFirst("types", keys)) {
42
+ ctx.addIssue({
43
+ code: zod.z.ZodIssueCode.custom,
44
+ message: "the `types` property should be the first property"
45
+ });
46
+ }
47
+ })]))),
48
+ browserslist: zod.z.optional(zod.z.array(zod.z.string()))
49
+ });
50
+ function validatePkg(input) {
51
+ return pkgSchema.parse(input);
52
+ }
53
+ exports.validatePkg = validatePkg;
54
+ //# sourceMappingURL=validatePkg.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validatePkg.cjs","sources":["../../../../../src/node/core/pkg/validatePkg.ts"],"sourcesContent":["import {z} from 'zod'\n\nimport {PackageJSON} from './types'\nimport { assertFirst } from './helpers';\n\nconst pkgSchema = z.object({\n type: z.optional(z.enum(['commonjs', 'module'])),\n name: z.string(),\n version: z.string(),\n license: z.string(),\n bin: z.optional(z.record(z.string())),\n dependencies: z.optional(z.record(z.string())),\n devDependencies: z.optional(z.record(z.string())),\n peerDependencies: z.optional(z.record(z.string())),\n source: z.optional(z.string()),\n main: z.optional(z.string()),\n browser: z.optional(z.record(z.string())),\n module: z.optional(z.string()),\n types: z.optional(z.string()),\n exports: z.optional(\n z.record(\n z.union([\n z.custom<`./${string}.json`>((val) => /^\\.\\/.*\\.json$/.test(val as string)),\n z.object({\n types: z.optional(z.string()),\n source: z.string(),\n browser: z.optional(\n z.object({\n source: z.string(),\n import: z.optional(z.string()),\n require: z.optional(z.string()),\n }),\n ),\n module: z.optional(z.string()),\n node: z.optional(\n z.object({\n source: z.optional(z.string()),\n import: z.optional(z.string()),\n require: z.optional(z.string()),\n }),\n ),\n import: z.optional(z.string()),\n require: z.optional(z.string()),\n default: z.string(),\n }).superRefine((val, ctx) => {\n const keys = Object.keys(val)\n\n if (!assertFirst('types', keys)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message:`the \\`types\\` property should be the first property`,\n });\n }\n\n // if (val.length > 3) {\n // ctx.addIssue({\n // code: z.ZodIssueCode.too_big,\n // maximum: 3,\n // type: \"array\",\n // inclusive: true,\n // message: \"Too many items 😡\",\n // });\n // }\n\n // if (val.length !== new Set(val).size) {\n // ctx.addIssue({\n // code: z.ZodIssueCode.custom,\n // message: `No duplicates allowed.`,\n // });\n // }\n }),\n ]),\n ),\n ),\n browserslist: z.optional(z.array(z.string())),\n})\n\nexport function validatePkg(input: unknown): PackageJSON {\n return pkgSchema.parse(input)\n}\n"],"names":["pkgSchema","z","object","type","optional","enum","name","string","version","license","bin","record","dependencies","devDependencies","peerDependencies","source","main","browser","module","types","exports","union","custom","val","test","import","require","node","default","superRefine","ctx","keys","Object","assertFirst","addIssue","code","ZodIssueCode","message","browserslist","array","validatePkg","input","parse"],"mappings":"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"}