@endora-commerce/cli 0.100.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 (356) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +37 -0
  3. package/dist/bin/endora.d.ts +28 -0
  4. package/dist/bin/endora.d.ts.map +1 -0
  5. package/dist/bin/endora.js +926 -0
  6. package/dist/bin/endora.js.map +1 -0
  7. package/dist/check/estate.d.ts +189 -0
  8. package/dist/check/estate.d.ts.map +1 -0
  9. package/dist/check/estate.js +1037 -0
  10. package/dist/check/estate.js.map +1 -0
  11. package/dist/check/hosts.d.ts +25 -0
  12. package/dist/check/hosts.d.ts.map +1 -0
  13. package/dist/check/hosts.js +1347 -0
  14. package/dist/check/hosts.js.map +1 -0
  15. package/dist/check/index.d.ts +60 -0
  16. package/dist/check/index.d.ts.map +1 -0
  17. package/dist/check/index.js +111 -0
  18. package/dist/check/index.js.map +1 -0
  19. package/dist/check/layout.d.ts +136 -0
  20. package/dist/check/layout.d.ts.map +1 -0
  21. package/dist/check/layout.js +262 -0
  22. package/dist/check/layout.js.map +1 -0
  23. package/dist/check/ledger.d.ts +98 -0
  24. package/dist/check/ledger.d.ts.map +1 -0
  25. package/dist/check/ledger.js +173 -0
  26. package/dist/check/ledger.js.map +1 -0
  27. package/dist/check/peer-owners.d.ts +116 -0
  28. package/dist/check/peer-owners.d.ts.map +1 -0
  29. package/dist/check/peer-owners.js +225 -0
  30. package/dist/check/peer-owners.js.map +1 -0
  31. package/dist/check/report.d.ts +33 -0
  32. package/dist/check/report.d.ts.map +1 -0
  33. package/dist/check/report.js +107 -0
  34. package/dist/check/report.js.map +1 -0
  35. package/dist/check/run.d.ts +147 -0
  36. package/dist/check/run.d.ts.map +1 -0
  37. package/dist/check/run.js +111 -0
  38. package/dist/check/run.js.map +1 -0
  39. package/dist/checks.d.ts +17 -0
  40. package/dist/checks.d.ts.map +1 -0
  41. package/dist/checks.js +17 -0
  42. package/dist/checks.js.map +1 -0
  43. package/dist/dev/index.d.ts +83 -0
  44. package/dist/dev/index.d.ts.map +1 -0
  45. package/dist/dev/index.js +298 -0
  46. package/dist/dev/index.js.map +1 -0
  47. package/dist/generate/divergence.d.ts +38 -0
  48. package/dist/generate/divergence.d.ts.map +1 -0
  49. package/dist/generate/divergence.js +237 -0
  50. package/dist/generate/divergence.js.map +1 -0
  51. package/dist/generate/index.d.ts +90 -0
  52. package/dist/generate/index.d.ts.map +1 -0
  53. package/dist/generate/index.js +369 -0
  54. package/dist/generate/index.js.map +1 -0
  55. package/dist/index.d.ts +23 -0
  56. package/dist/index.d.ts.map +1 -0
  57. package/dist/index.js +35 -0
  58. package/dist/index.js.map +1 -0
  59. package/dist/inputs/declaration.d.ts +18 -0
  60. package/dist/inputs/declaration.d.ts.map +1 -0
  61. package/dist/inputs/declaration.js +64 -0
  62. package/dist/inputs/declaration.js.map +1 -0
  63. package/dist/inputs/env-file.d.ts +73 -0
  64. package/dist/inputs/env-file.d.ts.map +1 -0
  65. package/dist/inputs/env-file.js +134 -0
  66. package/dist/inputs/env-file.js.map +1 -0
  67. package/dist/inputs/prompt.d.ts +21 -0
  68. package/dist/inputs/prompt.d.ts.map +1 -0
  69. package/dist/inputs/prompt.js +59 -0
  70. package/dist/inputs/prompt.js.map +1 -0
  71. package/dist/inputs/resolve.d.ts +163 -0
  72. package/dist/inputs/resolve.d.ts.map +1 -0
  73. package/dist/inputs/resolve.js +290 -0
  74. package/dist/inputs/resolve.js.map +1 -0
  75. package/dist/install/host.d.ts +27 -0
  76. package/dist/install/host.d.ts.map +1 -0
  77. package/dist/install/host.js +90 -0
  78. package/dist/install/host.js.map +1 -0
  79. package/dist/install/index.d.ts +173 -0
  80. package/dist/install/index.d.ts.map +1 -0
  81. package/dist/install/index.js +793 -0
  82. package/dist/install/index.js.map +1 -0
  83. package/dist/install/wizard.d.ts +144 -0
  84. package/dist/install/wizard.d.ts.map +1 -0
  85. package/dist/install/wizard.js +362 -0
  86. package/dist/install/wizard.js.map +1 -0
  87. package/dist/lib/admin-artefacts.d.ts +70 -0
  88. package/dist/lib/admin-artefacts.d.ts.map +1 -0
  89. package/dist/lib/admin-artefacts.js +354 -0
  90. package/dist/lib/admin-artefacts.js.map +1 -0
  91. package/dist/lib/admin-surfaces.d.ts +298 -0
  92. package/dist/lib/admin-surfaces.d.ts.map +1 -0
  93. package/dist/lib/admin-surfaces.js +669 -0
  94. package/dist/lib/admin-surfaces.js.map +1 -0
  95. package/dist/lib/delegated-composer.d.ts +85 -0
  96. package/dist/lib/delegated-composer.d.ts.map +1 -0
  97. package/dist/lib/delegated-composer.js +241 -0
  98. package/dist/lib/delegated-composer.js.map +1 -0
  99. package/dist/lib/divergence-artefacts.d.ts +305 -0
  100. package/dist/lib/divergence-artefacts.d.ts.map +1 -0
  101. package/dist/lib/divergence-artefacts.js +828 -0
  102. package/dist/lib/divergence-artefacts.js.map +1 -0
  103. package/dist/lib/divergence.d.ts +337 -0
  104. package/dist/lib/divergence.d.ts.map +1 -0
  105. package/dist/lib/divergence.js +1005 -0
  106. package/dist/lib/divergence.js.map +1 -0
  107. package/dist/lib/docs-artefacts.d.ts +395 -0
  108. package/dist/lib/docs-artefacts.d.ts.map +1 -0
  109. package/dist/lib/docs-artefacts.js +781 -0
  110. package/dist/lib/docs-artefacts.js.map +1 -0
  111. package/dist/lib/emitted-exports.d.ts +21 -0
  112. package/dist/lib/emitted-exports.d.ts.map +1 -0
  113. package/dist/lib/emitted-exports.js +96 -0
  114. package/dist/lib/emitted-exports.js.map +1 -0
  115. package/dist/lib/emitted-freshness.d.ts +112 -0
  116. package/dist/lib/emitted-freshness.d.ts.map +1 -0
  117. package/dist/lib/emitted-freshness.js +288 -0
  118. package/dist/lib/emitted-freshness.js.map +1 -0
  119. package/dist/lib/entity-index-artefact.d.ts +95 -0
  120. package/dist/lib/entity-index-artefact.d.ts.map +1 -0
  121. package/dist/lib/entity-index-artefact.js +210 -0
  122. package/dist/lib/entity-index-artefact.js.map +1 -0
  123. package/dist/lib/instance-build-inputs.d.ts +108 -0
  124. package/dist/lib/instance-build-inputs.d.ts.map +1 -0
  125. package/dist/lib/instance-build-inputs.js +165 -0
  126. package/dist/lib/instance-build-inputs.js.map +1 -0
  127. package/dist/lib/module-docs.d.ts +473 -0
  128. package/dist/lib/module-docs.d.ts.map +1 -0
  129. package/dist/lib/module-docs.js +711 -0
  130. package/dist/lib/module-docs.js.map +1 -0
  131. package/dist/lib/module-package-subpaths.d.ts +56 -0
  132. package/dist/lib/module-package-subpaths.d.ts.map +1 -0
  133. package/dist/lib/module-package-subpaths.js +223 -0
  134. package/dist/lib/module-package-subpaths.js.map +1 -0
  135. package/dist/lib/module-packages.d.ts +200 -0
  136. package/dist/lib/module-packages.d.ts.map +1 -0
  137. package/dist/lib/module-packages.js +580 -0
  138. package/dist/lib/module-packages.js.map +1 -0
  139. package/dist/lib/module-population.d.ts +129 -0
  140. package/dist/lib/module-population.d.ts.map +1 -0
  141. package/dist/lib/module-population.js +172 -0
  142. package/dist/lib/module-population.js.map +1 -0
  143. package/dist/lib/module-roots.d.ts +337 -0
  144. package/dist/lib/module-roots.d.ts.map +1 -0
  145. package/dist/lib/module-roots.js +586 -0
  146. package/dist/lib/module-roots.js.map +1 -0
  147. package/dist/lib/nested-checkouts.d.ts +33 -0
  148. package/dist/lib/nested-checkouts.d.ts.map +1 -0
  149. package/dist/lib/nested-checkouts.js +160 -0
  150. package/dist/lib/nested-checkouts.js.map +1 -0
  151. package/dist/lib/platform-root.d.ts +43 -0
  152. package/dist/lib/platform-root.d.ts.map +1 -0
  153. package/dist/lib/platform-root.js +134 -0
  154. package/dist/lib/platform-root.js.map +1 -0
  155. package/dist/lib/platform-surface.d.ts +235 -0
  156. package/dist/lib/platform-surface.d.ts.map +1 -0
  157. package/dist/lib/platform-surface.js +393 -0
  158. package/dist/lib/platform-surface.js.map +1 -0
  159. package/dist/lib/port-registrations.d.ts +223 -0
  160. package/dist/lib/port-registrations.d.ts.map +1 -0
  161. package/dist/lib/port-registrations.js +532 -0
  162. package/dist/lib/port-registrations.js.map +1 -0
  163. package/dist/lib/read-size.d.ts +154 -0
  164. package/dist/lib/read-size.d.ts.map +1 -0
  165. package/dist/lib/read-size.js +182 -0
  166. package/dist/lib/read-size.js.map +1 -0
  167. package/dist/lib/registration-owners.d.ts +79 -0
  168. package/dist/lib/registration-owners.d.ts.map +1 -0
  169. package/dist/lib/registration-owners.js +77 -0
  170. package/dist/lib/registration-owners.js.map +1 -0
  171. package/dist/lib/release-index.d.ts +53 -0
  172. package/dist/lib/release-index.d.ts.map +1 -0
  173. package/dist/lib/release-index.js +162 -0
  174. package/dist/lib/release-index.js.map +1 -0
  175. package/dist/lib/repeating-timers.d.ts +79 -0
  176. package/dist/lib/repeating-timers.d.ts.map +1 -0
  177. package/dist/lib/repeating-timers.js +189 -0
  178. package/dist/lib/repeating-timers.js.map +1 -0
  179. package/dist/lib/source-text.d.ts +34 -0
  180. package/dist/lib/source-text.d.ts.map +1 -0
  181. package/dist/lib/source-text.js +80 -0
  182. package/dist/lib/source-text.js.map +1 -0
  183. package/dist/lib/specifiers.d.ts +20 -0
  184. package/dist/lib/specifiers.d.ts.map +1 -0
  185. package/dist/lib/specifiers.js +130 -0
  186. package/dist/lib/specifiers.js.map +1 -0
  187. package/dist/lib/sql-tables.d.ts +166 -0
  188. package/dist/lib/sql-tables.d.ts.map +1 -0
  189. package/dist/lib/sql-tables.js +464 -0
  190. package/dist/lib/sql-tables.js.map +1 -0
  191. package/dist/lib/switchable-modules.d.ts +54 -0
  192. package/dist/lib/switchable-modules.d.ts.map +1 -0
  193. package/dist/lib/switchable-modules.js +104 -0
  194. package/dist/lib/switchable-modules.js.map +1 -0
  195. package/dist/lib/tailwind-sources.d.ts +136 -0
  196. package/dist/lib/tailwind-sources.d.ts.map +1 -0
  197. package/dist/lib/tailwind-sources.js +307 -0
  198. package/dist/lib/tailwind-sources.js.map +1 -0
  199. package/dist/lib/ui-layer.d.ts +54 -0
  200. package/dist/lib/ui-layer.d.ts.map +1 -0
  201. package/dist/lib/ui-layer.js +57 -0
  202. package/dist/lib/ui-layer.js.map +1 -0
  203. package/dist/lib/workspace-packages.d.ts +186 -0
  204. package/dist/lib/workspace-packages.d.ts.map +1 -0
  205. package/dist/lib/workspace-packages.js +351 -0
  206. package/dist/lib/workspace-packages.js.map +1 -0
  207. package/dist/new-instance/deploy.d.ts +211 -0
  208. package/dist/new-instance/deploy.d.ts.map +1 -0
  209. package/dist/new-instance/deploy.js +1381 -0
  210. package/dist/new-instance/deploy.js.map +1 -0
  211. package/dist/new-instance/docs-toolchain.d.ts +66 -0
  212. package/dist/new-instance/docs-toolchain.d.ts.map +1 -0
  213. package/dist/new-instance/docs-toolchain.js +69 -0
  214. package/dist/new-instance/docs-toolchain.js.map +1 -0
  215. package/dist/new-instance/host.d.ts +124 -0
  216. package/dist/new-instance/host.d.ts.map +1 -0
  217. package/dist/new-instance/host.js +276 -0
  218. package/dist/new-instance/host.js.map +1 -0
  219. package/dist/new-instance/index.d.ts +118 -0
  220. package/dist/new-instance/index.d.ts.map +1 -0
  221. package/dist/new-instance/index.js +567 -0
  222. package/dist/new-instance/index.js.map +1 -0
  223. package/dist/new-instance/modules.d.ts +188 -0
  224. package/dist/new-instance/modules.d.ts.map +1 -0
  225. package/dist/new-instance/modules.js +392 -0
  226. package/dist/new-instance/modules.js.map +1 -0
  227. package/dist/new-instance/template.d.ts +505 -0
  228. package/dist/new-instance/template.d.ts.map +1 -0
  229. package/dist/new-instance/template.js +1886 -0
  230. package/dist/new-instance/template.js.map +1 -0
  231. package/dist/new-module/emit.d.ts +67 -0
  232. package/dist/new-module/emit.d.ts.map +1 -0
  233. package/dist/new-module/emit.js +1393 -0
  234. package/dist/new-module/emit.js.map +1 -0
  235. package/dist/new-module/host.d.ts +67 -0
  236. package/dist/new-module/host.d.ts.map +1 -0
  237. package/dist/new-module/host.js +224 -0
  238. package/dist/new-module/host.js.map +1 -0
  239. package/dist/new-module/index.d.ts +32 -0
  240. package/dist/new-module/index.d.ts.map +1 -0
  241. package/dist/new-module/index.js +193 -0
  242. package/dist/new-module/index.js.map +1 -0
  243. package/dist/new-module/spec.d.ts +188 -0
  244. package/dist/new-module/spec.d.ts.map +1 -0
  245. package/dist/new-module/spec.js +404 -0
  246. package/dist/new-module/spec.js.map +1 -0
  247. package/dist/new-module/text.d.ts +15 -0
  248. package/dist/new-module/text.d.ts.map +1 -0
  249. package/dist/new-module/text.js +22 -0
  250. package/dist/new-module/text.js.map +1 -0
  251. package/dist/new-storefront/dockerfile.d.ts +20 -0
  252. package/dist/new-storefront/dockerfile.d.ts.map +1 -0
  253. package/dist/new-storefront/dockerfile.js +131 -0
  254. package/dist/new-storefront/dockerfile.js.map +1 -0
  255. package/dist/new-storefront/gitignore.d.ts +23 -0
  256. package/dist/new-storefront/gitignore.d.ts.map +1 -0
  257. package/dist/new-storefront/gitignore.js +39 -0
  258. package/dist/new-storefront/gitignore.js.map +1 -0
  259. package/dist/new-storefront/index.d.ts +93 -0
  260. package/dist/new-storefront/index.d.ts.map +1 -0
  261. package/dist/new-storefront/index.js +329 -0
  262. package/dist/new-storefront/index.js.map +1 -0
  263. package/dist/new-storefront/npmrc.d.ts +98 -0
  264. package/dist/new-storefront/npmrc.d.ts.map +1 -0
  265. package/dist/new-storefront/npmrc.js +217 -0
  266. package/dist/new-storefront/npmrc.js.map +1 -0
  267. package/dist/new-storefront/reference.d.ts +189 -0
  268. package/dist/new-storefront/reference.d.ts.map +1 -0
  269. package/dist/new-storefront/reference.js +430 -0
  270. package/dist/new-storefront/reference.js.map +1 -0
  271. package/dist/new-storefront/rewrite.d.ts +171 -0
  272. package/dist/new-storefront/rewrite.d.ts.map +1 -0
  273. package/dist/new-storefront/rewrite.js +701 -0
  274. package/dist/new-storefront/rewrite.js.map +1 -0
  275. package/dist/release-index.json +284 -0
  276. package/dist/rules/action-route-permissions.d.ts +141 -0
  277. package/dist/rules/action-route-permissions.d.ts.map +1 -0
  278. package/dist/rules/action-route-permissions.js +556 -0
  279. package/dist/rules/action-route-permissions.js.map +1 -0
  280. package/dist/rules/bundle-pairing.d.ts +74 -0
  281. package/dist/rules/bundle-pairing.d.ts.map +1 -0
  282. package/dist/rules/bundle-pairing.js +281 -0
  283. package/dist/rules/bundle-pairing.js.map +1 -0
  284. package/dist/rules/channel-resolution.d.ts +17 -0
  285. package/dist/rules/channel-resolution.d.ts.map +1 -0
  286. package/dist/rules/channel-resolution.js +382 -0
  287. package/dist/rules/channel-resolution.js.map +1 -0
  288. package/dist/rules/command-coverage.d.ts +210 -0
  289. package/dist/rules/command-coverage.d.ts.map +1 -0
  290. package/dist/rules/command-coverage.js +714 -0
  291. package/dist/rules/command-coverage.js.map +1 -0
  292. package/dist/rules/container-imports.d.ts +60 -0
  293. package/dist/rules/container-imports.d.ts.map +1 -0
  294. package/dist/rules/container-imports.js +158 -0
  295. package/dist/rules/container-imports.js.map +1 -0
  296. package/dist/rules/default-language-prose.d.ts +212 -0
  297. package/dist/rules/default-language-prose.d.ts.map +1 -0
  298. package/dist/rules/default-language-prose.js +710 -0
  299. package/dist/rules/default-language-prose.js.map +1 -0
  300. package/dist/rules/diacritic-folds.d.ts +238 -0
  301. package/dist/rules/diacritic-folds.d.ts.map +1 -0
  302. package/dist/rules/diacritic-folds.js +681 -0
  303. package/dist/rules/diacritic-folds.js.map +1 -0
  304. package/dist/rules/entity-tenant-classification.d.ts +171 -0
  305. package/dist/rules/entity-tenant-classification.d.ts.map +1 -0
  306. package/dist/rules/entity-tenant-classification.js +323 -0
  307. package/dist/rules/entity-tenant-classification.js.map +1 -0
  308. package/dist/rules/entry-presence.d.ts +142 -0
  309. package/dist/rules/entry-presence.d.ts.map +1 -0
  310. package/dist/rules/entry-presence.js +339 -0
  311. package/dist/rules/entry-presence.js.map +1 -0
  312. package/dist/rules/entry-scope.d.ts +91 -0
  313. package/dist/rules/entry-scope.d.ts.map +1 -0
  314. package/dist/rules/entry-scope.js +404 -0
  315. package/dist/rules/entry-scope.js.map +1 -0
  316. package/dist/rules/env-inputs.d.ts +222 -0
  317. package/dist/rules/env-inputs.d.ts.map +1 -0
  318. package/dist/rules/env-inputs.js +951 -0
  319. package/dist/rules/env-inputs.js.map +1 -0
  320. package/dist/rules/kernel-boundary.d.ts +37 -0
  321. package/dist/rules/kernel-boundary.d.ts.map +1 -0
  322. package/dist/rules/kernel-boundary.js +195 -0
  323. package/dist/rules/kernel-boundary.js.map +1 -0
  324. package/dist/rules/nul-bytes.d.ts +233 -0
  325. package/dist/rules/nul-bytes.d.ts.map +1 -0
  326. package/dist/rules/nul-bytes.js +332 -0
  327. package/dist/rules/nul-bytes.js.map +1 -0
  328. package/dist/rules/platform-surface.d.ts +479 -0
  329. package/dist/rules/platform-surface.d.ts.map +1 -0
  330. package/dist/rules/platform-surface.js +749 -0
  331. package/dist/rules/platform-surface.js.map +1 -0
  332. package/dist/rules/port-catches.d.ts +225 -0
  333. package/dist/rules/port-catches.d.ts.map +1 -0
  334. package/dist/rules/port-catches.js +1374 -0
  335. package/dist/rules/port-catches.js.map +1 -0
  336. package/dist/rules/port-shape.d.ts +213 -0
  337. package/dist/rules/port-shape.d.ts.map +1 -0
  338. package/dist/rules/port-shape.js +670 -0
  339. package/dist/rules/port-shape.js.map +1 -0
  340. package/dist/rules/queue-names.d.ts +108 -0
  341. package/dist/rules/queue-names.d.ts.map +1 -0
  342. package/dist/rules/queue-names.js +395 -0
  343. package/dist/rules/queue-names.js.map +1 -0
  344. package/dist/rules/singleton-identity.d.ts +205 -0
  345. package/dist/rules/singleton-identity.d.ts.map +1 -0
  346. package/dist/rules/singleton-identity.js +830 -0
  347. package/dist/rules/singleton-identity.js.map +1 -0
  348. package/dist/rules/subscribe-seam.d.ts +121 -0
  349. package/dist/rules/subscribe-seam.d.ts.map +1 -0
  350. package/dist/rules/subscribe-seam.js +594 -0
  351. package/dist/rules/subscribe-seam.js.map +1 -0
  352. package/dist/rules/transaction-context.d.ts +40 -0
  353. package/dist/rules/transaction-context.d.ts.map +1 -0
  354. package/dist/rules/transaction-context.js +294 -0
  355. package/dist/rules/transaction-context.js.map +1 -0
  356. package/package.json +59 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-docs.js","sourceRoot":"","sources":["../../src/lib/module-docs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ import { type SourceReader } from './emitted-exports.js';
2
+ /** What a subpath a module reached turned out to be. */
3
+ export interface SubpathSurface {
4
+ /**
5
+ * `contract` — the emitted module exports nothing, so the reach is a reach
6
+ * into published contract surface and is not cross-module debt.
7
+ * `runtime` — it exports at least one binding.
8
+ * `undeclared` — the package declares no such subpath.
9
+ * `not-a-module` — it declares one and the target is not JavaScript
10
+ * (`"./package.json": "./package.json"`, which every module package ships).
11
+ *
12
+ * Only `contract` exempts a reach. The other three are fail-closed and differ
13
+ * only so that a message can say which it was.
14
+ */
15
+ readonly kind: 'contract' | 'runtime' | 'undeclared' | 'not-a-module';
16
+ /** The bindings the emitted module exports; empty for the other two kinds. */
17
+ readonly runtimeExports: readonly string[];
18
+ }
19
+ /** A declared subpath whose emitted module could not be read (issue #113). */
20
+ export declare class UnreadableSubpathError extends Error {
21
+ readonly name = "UnreadableSubpathError";
22
+ readonly packageName: string;
23
+ readonly subpath: string;
24
+ constructor(packageName: string, subpath: string, detail: string);
25
+ }
26
+ /** Answers, per `(package name, subpath)`, whether the subpath is contract surface. */
27
+ export interface ModulePackageSurfaces {
28
+ /**
29
+ * The surface a subpath publishes.
30
+ *
31
+ * @throws {UnreadableSubpathError} when the subpath is declared and its
32
+ * emitted module cannot be read.
33
+ */
34
+ readonly surfaceOfSubpath: (packageName: string, subpath: string) => SubpathSurface;
35
+ /** How many files the answers above have opened, for the `read:` line. */
36
+ readonly filesRead: () => number;
37
+ }
38
+ /**
39
+ * The default: every subpath is a reach.
40
+ *
41
+ * It is what a caller that supplies no package directories gets, and it is the
42
+ * behaviour that shipped before D-171 — an exemption is granted only by a
43
+ * measurement, never by the absence of one.
44
+ */
45
+ export declare const EVERY_SUBPATH_IS_A_REACH: ModulePackageSurfaces;
46
+ /**
47
+ * The surfaces reader for a set of module packages.
48
+ *
49
+ * `directories` maps each package's npm name to its directory and `reader` is
50
+ * how files are read, both parameters for the reason `readPortsSurface` takes
51
+ * them: a fixture enters at the top of the analysis — a real `package.json` and
52
+ * a real emitted module — rather than as a pre-classified record handed to the
53
+ * last function in the chain (issue #130).
54
+ */
55
+ export declare function modulePackageSurfaces(directories: ReadonlyMap<string, string>, reader?: SourceReader): ModulePackageSurfaces;
56
+ //# sourceMappingURL=module-package-subpaths.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-package-subpaths.d.ts","sourceRoot":"","sources":["../../src/lib/module-package-subpaths.ts"],"names":[],"mappings":"AAwEA,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,sBAAsB,CAAC;AAE9B,wDAAwD;AACxD,MAAM,WAAW,cAAc;IAC7B;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG,YAAY,GAAG,cAAc,CAAC;IACtE,8EAA8E;IAC9E,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5C;AAED,8EAA8E;AAC9E,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,SAAkB,IAAI,4BAA4B;IAClD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;gBAEb,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAWjE;AAED,uFAAuF;AACvF,MAAM,WAAW,qBAAqB;IACpC;;;;;OAKG;IACH,QAAQ,CAAC,gBAAgB,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,cAAc,CAAC;IACpF,0EAA0E;IAC1E,QAAQ,CAAC,SAAS,EAAE,MAAM,MAAM,CAAC;CAClC;AAED;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,EAAE,qBAGtC,CAAC;AA4BF;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EACxC,MAAM,GAAE,YAA+B,GACtC,qBAAqB,CAmGvB"}
@@ -0,0 +1,223 @@
1
+ /**
2
+ * Which of a module package's declared subpaths are **contract surface**
3
+ * (D-171).
4
+ *
5
+ * **The rule, in one sentence:** a subpath is contract surface iff the module it
6
+ * resolves to exports no runtime binding.
7
+ *
8
+ * T050 (!928) gave a module package a type-only `./ports` subpath so that a
9
+ * published port interface has a home — `packages/contracts` is compiled by
10
+ * `admin` and `storefront` and holds zero `@mikro-orm` imports on purpose, so an
11
+ * `EntityManager`-taking signature cannot live there (D-169). What T050
12
+ * correctly declined to take is the consequence: `check-module-boundary.ts` went
13
+ * on counting `import type { X } from '@endora-commerce/mod-y/ports'` as a
14
+ * cross-module reach, exactly as it counts `<pkg>/backend`. Publishing an
15
+ * interface therefore gave it a supported name and did **not** retire the
16
+ * consumer's ledger entry, which is precisely what D-169 says the conversion
17
+ * removes.
18
+ *
19
+ * ## Why the designation is derived and not written down
20
+ *
21
+ * Two alternatives were measured and refused, and both are worth stating here
22
+ * because each looks simpler than this file:
23
+ *
24
+ * - **A named list of subpaths in the layout contract.** That is D-100 exactly:
25
+ * the contract says it and the check holds a copy, with neither reading the
26
+ * other. The copy goes stale in silence, and the silence is an exemption.
27
+ * - **A field in the package's own `endora` block.** That is a self-certified
28
+ * exemption from our own debt ledger, issued by the measured party. A module
29
+ * wanting its `./backend` reach to stop counting would simply add it.
30
+ * `endora.type` / `endora.id` answer *"what is this?"*, which the platform
31
+ * must ask a stranger; *"which of my subpaths are exempt from your
32
+ * bookkeeping?"* is not a question to hand one.
33
+ *
34
+ * So it is re-derived every run from the artefact, and it **fails closed**: put a
35
+ * `const` on `./ports` and the exemption evaporates in the same run T050's guard
36
+ * goes red. A later `./types` is exempt automatically and correctly; a
37
+ * `./services` is not.
38
+ *
39
+ * Measured against the real set: `./ports` emits `export {};` → contract;
40
+ * `./backend` exports `registerModule` and `entities` → reach; `./migrations`
41
+ * exports `migrations` plus the named classes → reach; the package root exports
42
+ * `manifest` → reach.
43
+ *
44
+ * ## What is a refusal and what is a reach
45
+ *
46
+ * The two failure directions are not symmetric and are deliberately answered
47
+ * differently.
48
+ *
49
+ * - A subpath the package **does not declare** — no `exports` map, no matching
50
+ * key, or a key this cannot resolve to a runtime target because the
51
+ * specifier's shape is outside the rule (a wildcard entry such as
52
+ * `"./i18n/*"`) — is a **reach**. So is a declared subpath whose target is
53
+ * not JavaScript at all (`"./package.json"`, which every module package
54
+ * ships): parsing JSON as a module finds no export and would call it contract
55
+ * surface, which is an exemption granted by a wrong reading. That is the
56
+ * fail-closed direction: the reach keeps counting as debt, which is what it
57
+ * did before this file existed.
58
+ * - A subpath whose **emitted module cannot be read** — the runtime target is
59
+ * declared and the file behind it is missing, unreadable, or the entry
60
+ * declares `types` and no runtime condition at all — is a **refusal**
61
+ * ({@link UnreadableSubpathError}), which the CLI turns into exit 2. A file
62
+ * the check cannot read must never become an exemption; that is issue #113's
63
+ * shape, and it is the one direction in which a silence would grant standing
64
+ * rather than withhold it.
65
+ *
66
+ * A package directory this cannot find a `package.json` in, or whose manifest
67
+ * does not parse, is also a refusal: the directory came from the layout's own
68
+ * derivation, so its absence is a broken derivation and not a statement about
69
+ * the package.
70
+ */
71
+ import { isAbsolute, join, normalize } from 'node:path';
72
+ import { nodeSourceReader, runtimeExportsOfEmittedModule, } from './emitted-exports.js';
73
+ /** A declared subpath whose emitted module could not be read (issue #113). */
74
+ export class UnreadableSubpathError extends Error {
75
+ name = 'UnreadableSubpathError';
76
+ packageName;
77
+ subpath;
78
+ constructor(packageName, subpath, detail) {
79
+ super(`the module package '${packageName}' declares '${subpath === '' ? '.' : `./${subpath}`}' ` +
80
+ `and its emitted module could not be read (${detail}). A subpath is contract surface ` +
81
+ 'iff the module it resolves to exports no runtime binding (D-171), and a file this ' +
82
+ 'check cannot read must never become an exemption — build the packages ' +
83
+ '(`pnpm run build:packages`) or repair the `exports` entry');
84
+ this.packageName = packageName;
85
+ this.subpath = subpath;
86
+ }
87
+ }
88
+ /**
89
+ * The default: every subpath is a reach.
90
+ *
91
+ * It is what a caller that supplies no package directories gets, and it is the
92
+ * behaviour that shipped before D-171 — an exemption is granted only by a
93
+ * measurement, never by the absence of one.
94
+ */
95
+ export const EVERY_SUBPATH_IS_A_REACH = {
96
+ surfaceOfSubpath: () => ({ kind: 'runtime', runtimeExports: [] }),
97
+ filesRead: () => 0,
98
+ };
99
+ /** The conditions a runtime resolution may take, in the order Node takes them. */
100
+ const RUNTIME_CONDITIONS = ['default', 'import', 'node', 'require'];
101
+ /**
102
+ * The runtime target an `exports` value names, or `null` when it names none.
103
+ *
104
+ * `types` is skipped deliberately: a declaration file says what a consumer's
105
+ * compiler sees and never what its bundler loads, and the whole predicate is
106
+ * about the second. An entry that offers `types` and nothing else therefore
107
+ * resolves to `null`, which the caller reports as unreadable rather than as
108
+ * contract surface — that shape is the broken subpath D-169's own test names
109
+ * (`ERR_PACKAGE_PATH_NOT_EXPORTED` for every consumer whose toolchain emits the
110
+ * import), not a subpath that publishes nothing.
111
+ */
112
+ function runtimeTargetOf(value) {
113
+ if (typeof value === 'string')
114
+ return value;
115
+ if (value === null || typeof value !== 'object' || Array.isArray(value))
116
+ return null;
117
+ const conditions = value;
118
+ for (const condition of RUNTIME_CONDITIONS) {
119
+ if (!Object.prototype.hasOwnProperty.call(conditions, condition))
120
+ continue;
121
+ const resolved = runtimeTargetOf(conditions[condition]);
122
+ if (resolved !== null)
123
+ return resolved;
124
+ }
125
+ return null;
126
+ }
127
+ /**
128
+ * The surfaces reader for a set of module packages.
129
+ *
130
+ * `directories` maps each package's npm name to its directory and `reader` is
131
+ * how files are read, both parameters for the reason `readPortsSurface` takes
132
+ * them: a fixture enters at the top of the analysis — a real `package.json` and
133
+ * a real emitted module — rather than as a pre-classified record handed to the
134
+ * last function in the chain (issue #130).
135
+ */
136
+ export function modulePackageSurfaces(directories, reader = nodeSourceReader) {
137
+ const manifests = new Map();
138
+ const answers = new Map();
139
+ let filesRead = 0;
140
+ const manifestOf = (packageName, directory) => {
141
+ const cached = manifests.get(packageName);
142
+ if (cached !== undefined)
143
+ return cached;
144
+ const path = join(directory, 'package.json');
145
+ let parsed = null;
146
+ if (reader.exists(path)) {
147
+ filesRead += 1;
148
+ try {
149
+ const value = JSON.parse(reader.read(path));
150
+ if (value !== null && typeof value === 'object' && !Array.isArray(value)) {
151
+ parsed = value;
152
+ }
153
+ }
154
+ catch {
155
+ parsed = null;
156
+ }
157
+ }
158
+ manifests.set(packageName, parsed);
159
+ return parsed;
160
+ };
161
+ const surfaceOfSubpath = (packageName, subpath) => {
162
+ // The separator is spelled as an escape: a raw NUL makes git call the file
163
+ // binary and every diff of it unreviewable (issue #190).
164
+ const key = `${packageName}\0${subpath}`;
165
+ const cached = answers.get(key);
166
+ if (cached !== undefined)
167
+ return cached;
168
+ const answer = measure(packageName, subpath);
169
+ answers.set(key, answer);
170
+ return answer;
171
+ };
172
+ function measure(packageName, subpath) {
173
+ const directory = directories.get(packageName);
174
+ // A package this reader was not given is one nobody asked it to measure;
175
+ // the caller's own map decided that, so the fail-closed answer is a reach.
176
+ if (directory === undefined)
177
+ return { kind: 'undeclared', runtimeExports: [] };
178
+ const manifest = manifestOf(packageName, directory);
179
+ if (manifest === null) {
180
+ throw new UnreadableSubpathError(packageName, subpath, `no readable package manifest at ${join(directory, 'package.json')}`);
181
+ }
182
+ const exports = manifest.exports;
183
+ if (exports === null || typeof exports !== 'object' || Array.isArray(exports)) {
184
+ return { kind: 'undeclared', runtimeExports: [] };
185
+ }
186
+ const entries = exports;
187
+ const declaredKey = subpath === '' ? '.' : `./${subpath}`;
188
+ if (!Object.prototype.hasOwnProperty.call(entries, declaredKey)) {
189
+ // Includes every wildcard entry (`"./i18n/*"`), which is outside the rule:
190
+ // one key stands for a family of files with no single emitted module to
191
+ // measure, so it stays a reach.
192
+ return { kind: 'undeclared', runtimeExports: [] };
193
+ }
194
+ const target = runtimeTargetOf(entries[declaredKey]);
195
+ if (target === null) {
196
+ throw new UnreadableSubpathError(packageName, subpath, `its '${declaredKey}' entry declares no runtime condition, so there is no emitted ` +
197
+ 'module to measure');
198
+ }
199
+ const resolved = isAbsolute(target) ? target : join(directory, normalize(target));
200
+ // `"./package.json": "./package.json"` is a declared subpath of every module
201
+ // package and is not an emitted module. Parsing it as one would find no
202
+ // export and call it contract surface, which is an exemption granted by a
203
+ // wrong reading rather than by a measurement.
204
+ if (!/\.(js|mjs|cjs)$/.test(resolved))
205
+ return { kind: 'not-a-module', runtimeExports: [] };
206
+ if (!reader.exists(resolved)) {
207
+ throw new UnreadableSubpathError(packageName, subpath, `${resolved} does not exist`);
208
+ }
209
+ let runtimeExports;
210
+ filesRead += 1;
211
+ try {
212
+ runtimeExports = runtimeExportsOfEmittedModule(resolved, reader);
213
+ }
214
+ catch (error) {
215
+ throw new UnreadableSubpathError(packageName, subpath, `${resolved} could not be read (${error instanceof Error ? error.message : String(error)})`);
216
+ }
217
+ return runtimeExports.length === 0
218
+ ? { kind: 'contract', runtimeExports: [] }
219
+ : { kind: 'runtime', runtimeExports };
220
+ }
221
+ return { surfaceOfSubpath, filesRead: () => filesRead };
222
+ }
223
+ //# sourceMappingURL=module-package-subpaths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-package-subpaths.js","sourceRoot":"","sources":["../../src/lib/module-package-subpaths.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,200 @@
1
+ import { type WorkspaceFs } from './workspace-packages.js';
2
+ /** One workspace member that declares itself a module. */
3
+ export interface ModulePackage {
4
+ /** `endora.id` — the module id, never the directory name (D-142). */
5
+ readonly moduleId: string;
6
+ /** The npm package name; the head of every specifier emitted for it. */
7
+ readonly name: string;
8
+ /** Its directory, absolute. */
9
+ readonly dir: string;
10
+ /** `exports` subpath → target, as declared. Wildcard subpaths are dropped. */
11
+ readonly exports: ReadonlyMap<string, string>;
12
+ /**
13
+ * Where this package's build puts the sources the walk reads, or `null` when
14
+ * it declares no build and therefore publishes them where they are.
15
+ *
16
+ * Both paths are package-relative and `/`-separated, with no trailing slash.
17
+ */
18
+ readonly emit: EmitLayout | null;
19
+ }
20
+ /** `tsconfig.build.json`'s `rootDir` and `outDir`, package-relative. */
21
+ export interface EmitLayout {
22
+ readonly rootDir: string;
23
+ readonly outDir: string;
24
+ }
25
+ /** Raised when a package cannot be turned into artefact entries. Never skipped. */
26
+ export declare class ModulePackageError extends Error {
27
+ readonly name = "ModulePackageError";
28
+ }
29
+ /**
30
+ * `tsconfig.build.json`'s emit layout for one package, or `null` when it has no
31
+ * build configuration at all.
32
+ *
33
+ * Follows a relative `extends` for the same reason `check-release-intent.ts`
34
+ * does: !891's two-config split puts `rootDir` in the build file and everything
35
+ * else in the file it extends, so a reader of one alone finds half an answer.
36
+ * The **nearest** declaration of each key wins, which is what `tsc` itself does.
37
+ *
38
+ * A non-relative `extends` (`"@scope/tsconfig/base"`) is a refusal rather than a
39
+ * stop: this repository has none, and treating one as "no more to read" would
40
+ * silently answer with whatever half of the layout had been found so far.
41
+ */
42
+ export declare function readEmitLayout(packageDir: string, packageName: string, fs: WorkspaceFs): EmitLayout | null;
43
+ /**
44
+ * Where a source file the walk read ends up in the published artefact.
45
+ *
46
+ * Package-relative in, package-relative out. Without a build layout the answer
47
+ * is the input — a source-shipping package publishes what was walked. With one,
48
+ * a file under `rootDir` moves to the same position under `outDir` and its
49
+ * TypeScript extension becomes the emitted `.js`; a file **outside** `rootDir`
50
+ * is returned unchanged, so it goes on to fail the `exports` match with the
51
+ * message that names the file, rather than being silently relocated to a path
52
+ * the build never writes.
53
+ */
54
+ export declare function emittedPathOf(pkg: ModulePackage, packageRelativePath: string): string;
55
+ /** The declared, non-wildcard subpaths of a manifest's `exports` block. */
56
+ export declare function declaredExports(manifest: Readonly<Record<string, unknown>>): ReadonlyMap<string, string>;
57
+ /**
58
+ * Every module package this repository declares, sorted by module id.
59
+ *
60
+ * Unlike `lib/module-roots.ts` this does **not** filter by the registered set:
61
+ * the generator is what *produces* the registered set, so filtering by it would
62
+ * make a newly packaged module invisible to the artefact that is supposed to
63
+ * register it — the instrument reading its own output.
64
+ */
65
+ export declare function discoverModulePackages(repoRoot: string, fs?: WorkspaceFs): readonly ModulePackage[];
66
+ /**
67
+ * How a committed artefact names one file of a module package (D-149).
68
+ *
69
+ * `packageRelativePath` is the file's path inside the package, `/`-separated.
70
+ * The answer is the **longest** covering target's subpath, so a package that
71
+ * declares both `./backend` and a narrower `./backend/entities` gets the
72
+ * narrower one — the same "most specific wins" rule Node's own resolver applies
73
+ * to an `exports` map.
74
+ */
75
+ export declare function packageSpecifierFor(pkg: ModulePackage, packageRelativePath: string): string;
76
+ /**
77
+ * A **published** package's own entry point — the file `import '<name>'` loads.
78
+ *
79
+ * The source-tree locators search text for a marker, because a source tree
80
+ * declares nowhere which of its files is the manifest. A published package does
81
+ * declare it: the `.` subpath of its `exports` map is the package's statement
82
+ * about its own entry point, so the marker search is not merely unavailable
83
+ * here (there is no `.ts` to search), it is the wrong question. A third-party
84
+ * author's published manifest is a plain object literal and names
85
+ * `defineModuleManifest` nowhere.
86
+ *
87
+ * A package declaring no `.` subpath, or one whose target is not on disk, is a
88
+ * **refusal**: an artefact would name a specifier the package refuses with
89
+ * `ERR_PACKAGE_PATH_NOT_EXPORTED`, and skipping it is how a module drops out of
90
+ * a client's admin bundle or documentation with no error anywhere.
91
+ */
92
+ export declare function publishedManifestEntryOf(pkg: ModulePackage): {
93
+ manifestPath: string;
94
+ manifestSpecifier: string;
95
+ };
96
+ /**
97
+ * Is this source file the one a declared subpath points **at** — a barrel?
98
+ *
99
+ * `module-package-layout.md` §1 puts a module package's migrations under
100
+ * `src/migrations/`, and the `./migrations` subpath has to name a file, so the
101
+ * directory holds one that is not a migration: the barrel re-exporting the
102
+ * classes, which is what makes `import { Migration… } from
103
+ * '<pkg>/migrations'` resolve. `collectMigrations` refuses an unrecognised
104
+ * `.ts` in a migrations directory — correctly, because skipping one is how a
105
+ * migration goes missing without a word — so it needs to tell the barrel from
106
+ * a misnamed migration.
107
+ *
108
+ * It is answered from the **package's own `exports` map** rather than from
109
+ * `contracts/naming-convention.md` §4's allow-list, which is keyed on
110
+ * application paths and would have to grow an entry per package. A file a
111
+ * subpath points at is an entry point by declaration; a file that merely sits
112
+ * beside it is not.
113
+ */
114
+ export declare function isDeclaredEntryPoint(pkg: ModulePackage, packageRelativePath: string): boolean;
115
+ /** A file's path inside its package, `/`-separated. */
116
+ export declare function packageRelativePathOf(pkg: ModulePackage, absolutePath: string): string;
117
+ /** The absolute path a package-relative path names. */
118
+ export declare function absolutePathInPackage(pkg: ModulePackage, packageRelativePath: string): string;
119
+ /** The filesystem questions the installed walk asks beyond {@link WorkspaceFs}. */
120
+ export interface InstanceFs extends WorkspaceFs {
121
+ /**
122
+ * The real path of a directory, or `null` when it cannot be resolved.
123
+ *
124
+ * Required rather than optional: without it the linked-package rule below
125
+ * cannot be decided, and a walk that cannot decide it would report a
126
+ * workspace link as an installed package — the one shape whose consequence is
127
+ * an admin bundle naming a module the backend never composed.
128
+ */
129
+ readonly realPath: (path: string) => string | null;
130
+ }
131
+ /** The real filesystem behind {@link InstanceFs}. Absence is `null`, never a throw. */
132
+ export declare function nodeInstanceFs(): InstanceFs;
133
+ /** A candidate the installed walk read and did not accept, with the reason. */
134
+ export type SkippedInstalledPackage = {
135
+ /**
136
+ * A **linked** package — `link:`, `file:`, or a pnpm workspace member —
137
+ * whose real directory is outside the `node_modules` it was reached
138
+ * through.
139
+ *
140
+ * It is excluded rather than refused because the running platform excludes
141
+ * it too, and for the same reason: the two must agree about which modules
142
+ * an instance has. An artefact naming it would put a screen in the admin
143
+ * bundle for a module the backend never composes.
144
+ * `specs/110-instance-repository/contracts/instance-repository.md` §8 is
145
+ * what a client does instead.
146
+ */
147
+ readonly kind: 'links-out-of-node-modules';
148
+ readonly name: string;
149
+ readonly at: string;
150
+ readonly realPath: string;
151
+ } | {
152
+ readonly kind: 'unreadable';
153
+ readonly at: string;
154
+ readonly reason: string;
155
+ };
156
+ /** What one walk of an instance's `node_modules` found. */
157
+ export interface InstalledModulePackageScan {
158
+ /** Accepted packages, sorted by module id — the same order the workspace walk uses. */
159
+ readonly packages: readonly ModulePackage[];
160
+ /** Candidates that claimed to be modules and were not taken, each with a reason. */
161
+ readonly skipped: readonly SkippedInstalledPackage[];
162
+ /** The `node_modules` root that was read. Empty when there is none. */
163
+ readonly root: string | null;
164
+ }
165
+ /**
166
+ * Every module package an instance installed, with what was skipped and why.
167
+ *
168
+ * `instanceRoot` is the directory whose `node_modules` holds them — the client's
169
+ * repository root. A root with no `node_modules` reads as *nothing to read*
170
+ * (`root: null`) rather than as *no module installed*, so a caller can tell an
171
+ * uninstalled instance from a module-less one.
172
+ */
173
+ export declare function scanInstalledModulePackages(instanceRoot: string, fs?: InstanceFs): InstalledModulePackageScan;
174
+ /** {@link scanInstalledModulePackages}' accepted half. */
175
+ export declare function installedModulePackages(instanceRoot: string, fs?: InstanceFs): readonly ModulePackage[];
176
+ /** The installed host package, as this walk can see it. */
177
+ export interface InstalledPlatformPackage {
178
+ readonly name: string;
179
+ /** Its directory in the instance's `node_modules`, absolute. */
180
+ readonly dir: string;
181
+ /** `exports` subpath → target, as declared. Wildcard subpaths are dropped. */
182
+ readonly exports: ReadonlyMap<string, string>;
183
+ }
184
+ /**
185
+ * The platform an instance installed, or `null` when none resolves.
186
+ *
187
+ * The same walk and the same three rules as {@link scanInstalledModulePackages},
188
+ * one `endora.type` value over: the discriminator is the package's own
189
+ * declaration and never its name, which is `platform-root.ts`' rule applied to
190
+ * an installed tree rather than to a workspace. The scope was `@b2b/` until
191
+ * D-161 and a name written into a tool is a rename away from a walk that
192
+ * silently sees nothing.
193
+ *
194
+ * Two installed packages declaring it is an error rather than a first-one-wins,
195
+ * for the reason `platform-root.ts` refuses the same state in a workspace: the
196
+ * walk would narrow to whichever sorted first and report on it as if it were the
197
+ * platform.
198
+ */
199
+ export declare function scanInstalledPlatformPackage(instanceRoot: string, fs?: InstanceFs): InstalledPlatformPackage | null;
200
+ //# sourceMappingURL=module-packages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-packages.d.ts","sourceRoot":"","sources":["../../src/lib/module-packages.ts"],"names":[],"mappings":"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"}