@bleedingdev/modern-js-utils 3.9.0-ultramodern.1 → 3.9.0-ultramodern.10

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 (335) hide show
  1. package/dist/cjs/cli/require.js +10 -1
  2. package/dist/cjs/universal/index.js +5 -25
  3. package/dist/compiled/chokidar/types/index.d.ts +1 -1
  4. package/dist/compiled/fast-glob/@nodelib/fs.scandir/out/adapters/fs.d.ts +1 -1
  5. package/dist/compiled/fast-glob/@nodelib/fs.scandir/out/settings.d.ts +1 -1
  6. package/dist/compiled/fast-glob/@nodelib/fs.walk/out/index.d.ts +1 -1
  7. package/dist/compiled/fast-glob/@nodelib/fs.walk/out/readers/async.d.ts +1 -1
  8. package/dist/compiled/fast-glob/@nodelib/fs.walk/out/settings.d.ts +1 -1
  9. package/dist/compiled/fast-glob/@nodelib/fs.walk/out/types/index.d.ts +1 -1
  10. package/dist/compiled/fast-glob/out/types/index.d.ts +1 -1
  11. package/dist/compiled/inquirer/lib/prompts/base.d.ts +100 -0
  12. package/dist/compiled/inquirer/lib/prompts/checkbox.d.ts +116 -0
  13. package/dist/compiled/inquirer/lib/prompts/confirm.d.ts +53 -0
  14. package/dist/compiled/inquirer/lib/prompts/editor.d.ts +101 -0
  15. package/dist/compiled/inquirer/lib/prompts/expand.d.ts +149 -0
  16. package/dist/compiled/inquirer/lib/prompts/input.d.ts +82 -0
  17. package/dist/compiled/inquirer/lib/prompts/list.d.ts +89 -0
  18. package/dist/compiled/inquirer/lib/prompts/number.d.ts +32 -0
  19. package/dist/compiled/inquirer/lib/prompts/password.d.ts +82 -0
  20. package/dist/compiled/inquirer/lib/prompts/rawlist.d.ts +111 -0
  21. package/dist/compiled/inquirer/lib/utils/events.d.ts +72 -0
  22. package/dist/compiled/inquirer/lib/utils/incrementListIndex.d.ts +23 -0
  23. package/dist/compiled/inquirer/lib/utils/paginator.d.ts +55 -0
  24. package/dist/compiled/inquirer/lib/utils/readline.d.ts +56 -0
  25. package/dist/compiled/inquirer/lib/utils/screen-manager.d.ts +90 -0
  26. package/dist/compiled/inquirer/lib/utils/utils.d.ts +30 -0
  27. package/dist/compiled/inquirer/rxjs/LICENSE.txt +202 -0
  28. package/dist/compiled/inquirer/rxjs/ajax/index.d.ts +5 -0
  29. package/dist/compiled/inquirer/rxjs/fetch/index.d.ts +2 -0
  30. package/dist/compiled/inquirer/rxjs/index.d.ts +173 -0
  31. package/dist/compiled/inquirer/rxjs/internal/AnyCatcher.d.ts +10 -0
  32. package/dist/compiled/inquirer/rxjs/internal/AsyncSubject.d.ts +13 -0
  33. package/dist/compiled/inquirer/rxjs/internal/BehaviorSubject.d.ts +13 -0
  34. package/dist/compiled/inquirer/rxjs/internal/Notification.d.ts +175 -0
  35. package/dist/compiled/inquirer/rxjs/internal/NotificationFactories.d.ts +2 -0
  36. package/dist/compiled/inquirer/rxjs/internal/Observable.d.ts +121 -0
  37. package/dist/compiled/inquirer/rxjs/internal/Operator.d.ts +9 -0
  38. package/dist/compiled/inquirer/rxjs/internal/ReplaySubject.d.ts +49 -0
  39. package/dist/compiled/inquirer/rxjs/internal/Scheduler.d.ts +53 -0
  40. package/dist/compiled/inquirer/rxjs/internal/Subject.d.ts +54 -0
  41. package/dist/compiled/inquirer/rxjs/internal/Subscriber.d.ts +72 -0
  42. package/dist/compiled/inquirer/rxjs/internal/Subscription.d.ts +92 -0
  43. package/dist/compiled/inquirer/rxjs/internal/ajax/AjaxResponse.d.ts +115 -0
  44. package/dist/compiled/inquirer/rxjs/internal/ajax/ajax.d.ts +227 -0
  45. package/dist/compiled/inquirer/rxjs/internal/ajax/errors.d.ts +65 -0
  46. package/dist/compiled/inquirer/rxjs/internal/ajax/getXHRResponse.d.ts +14 -0
  47. package/dist/compiled/inquirer/rxjs/internal/ajax/types.d.ts +200 -0
  48. package/dist/compiled/inquirer/rxjs/internal/config.d.ts +73 -0
  49. package/dist/compiled/inquirer/rxjs/internal/firstValueFrom.d.ts +7 -0
  50. package/dist/compiled/inquirer/rxjs/internal/lastValueFrom.d.ts +7 -0
  51. package/dist/compiled/inquirer/rxjs/internal/observable/ConnectableObservable.d.ts +42 -0
  52. package/dist/compiled/inquirer/rxjs/internal/observable/bindCallback.d.ts +5 -0
  53. package/dist/compiled/inquirer/rxjs/internal/observable/bindCallbackInternals.d.ts +4 -0
  54. package/dist/compiled/inquirer/rxjs/internal/observable/bindNodeCallback.d.ts +5 -0
  55. package/dist/compiled/inquirer/rxjs/internal/observable/combineLatest.d.ts +33 -0
  56. package/dist/compiled/inquirer/rxjs/internal/observable/concat.d.ts +5 -0
  57. package/dist/compiled/inquirer/rxjs/internal/observable/connectable.d.ts +27 -0
  58. package/dist/compiled/inquirer/rxjs/internal/observable/defer.d.ts +51 -0
  59. package/dist/compiled/inquirer/rxjs/internal/observable/dom/WebSocketSubject.d.ts +173 -0
  60. package/dist/compiled/inquirer/rxjs/internal/observable/dom/animationFrames.d.ts +76 -0
  61. package/dist/compiled/inquirer/rxjs/internal/observable/dom/fetch.d.ts +7 -0
  62. package/dist/compiled/inquirer/rxjs/internal/observable/dom/webSocket.d.ts +159 -0
  63. package/dist/compiled/inquirer/rxjs/internal/observable/empty.d.ts +72 -0
  64. package/dist/compiled/inquirer/rxjs/internal/observable/forkJoin.d.ts +24 -0
  65. package/dist/compiled/inquirer/rxjs/internal/observable/from.d.ts +6 -0
  66. package/dist/compiled/inquirer/rxjs/internal/observable/fromEvent.d.ts +45 -0
  67. package/dist/compiled/inquirer/rxjs/internal/observable/fromEventPattern.d.ts +5 -0
  68. package/dist/compiled/inquirer/rxjs/internal/observable/fromSubscribable.d.ts +14 -0
  69. package/dist/compiled/inquirer/rxjs/internal/observable/generate.d.ts +314 -0
  70. package/dist/compiled/inquirer/rxjs/internal/observable/iif.d.ts +82 -0
  71. package/dist/compiled/inquirer/rxjs/internal/observable/innerFrom.d.ts +21 -0
  72. package/dist/compiled/inquirer/rxjs/internal/observable/interval.d.ts +48 -0
  73. package/dist/compiled/inquirer/rxjs/internal/observable/merge.d.ts +9 -0
  74. package/dist/compiled/inquirer/rxjs/internal/observable/never.d.ts +40 -0
  75. package/dist/compiled/inquirer/rxjs/internal/observable/of.d.ts +14 -0
  76. package/dist/compiled/inquirer/rxjs/internal/observable/onErrorResumeNext.d.ts +5 -0
  77. package/dist/compiled/inquirer/rxjs/internal/observable/pairs.d.ts +19 -0
  78. package/dist/compiled/inquirer/rxjs/internal/observable/partition.d.ts +9 -0
  79. package/dist/compiled/inquirer/rxjs/internal/observable/race.d.ts +12 -0
  80. package/dist/compiled/inquirer/rxjs/internal/observable/range.d.ts +8 -0
  81. package/dist/compiled/inquirer/rxjs/internal/observable/throwError.d.ts +115 -0
  82. package/dist/compiled/inquirer/rxjs/internal/observable/timer.d.ts +126 -0
  83. package/dist/compiled/inquirer/rxjs/internal/observable/using.d.ts +30 -0
  84. package/dist/compiled/inquirer/rxjs/internal/observable/zip.d.ts +7 -0
  85. package/dist/compiled/inquirer/rxjs/internal/operators/OperatorSubscriber.d.ts +41 -0
  86. package/dist/compiled/inquirer/rxjs/internal/operators/audit.d.ts +48 -0
  87. package/dist/compiled/inquirer/rxjs/internal/operators/auditTime.d.ts +50 -0
  88. package/dist/compiled/inquirer/rxjs/internal/operators/buffer.d.ts +41 -0
  89. package/dist/compiled/inquirer/rxjs/internal/operators/bufferCount.d.ts +54 -0
  90. package/dist/compiled/inquirer/rxjs/internal/operators/bufferTime.d.ts +5 -0
  91. package/dist/compiled/inquirer/rxjs/internal/operators/bufferToggle.d.ts +46 -0
  92. package/dist/compiled/inquirer/rxjs/internal/operators/bufferWhen.d.ts +41 -0
  93. package/dist/compiled/inquirer/rxjs/internal/operators/catchError.d.ts +4 -0
  94. package/dist/compiled/inquirer/rxjs/internal/operators/combineAll.d.ts +6 -0
  95. package/dist/compiled/inquirer/rxjs/internal/operators/combineLatest.d.ts +10 -0
  96. package/dist/compiled/inquirer/rxjs/internal/operators/combineLatestAll.d.ts +6 -0
  97. package/dist/compiled/inquirer/rxjs/internal/operators/combineLatestWith.d.ts +43 -0
  98. package/dist/compiled/inquirer/rxjs/internal/operators/concat.d.ts +6 -0
  99. package/dist/compiled/inquirer/rxjs/internal/operators/concatAll.d.ts +59 -0
  100. package/dist/compiled/inquirer/rxjs/internal/operators/concatMap.d.ts +7 -0
  101. package/dist/compiled/inquirer/rxjs/internal/operators/concatMapTo.d.ts +8 -0
  102. package/dist/compiled/inquirer/rxjs/internal/operators/concatWith.d.ts +43 -0
  103. package/dist/compiled/inquirer/rxjs/internal/operators/connect.d.ts +87 -0
  104. package/dist/compiled/inquirer/rxjs/internal/operators/count.d.ts +58 -0
  105. package/dist/compiled/inquirer/rxjs/internal/operators/debounce.d.ts +61 -0
  106. package/dist/compiled/inquirer/rxjs/internal/operators/debounceTime.d.ts +59 -0
  107. package/dist/compiled/inquirer/rxjs/internal/operators/defaultIfEmpty.d.ts +38 -0
  108. package/dist/compiled/inquirer/rxjs/internal/operators/delay.d.ts +59 -0
  109. package/dist/compiled/inquirer/rxjs/internal/operators/delayWhen.d.ts +6 -0
  110. package/dist/compiled/inquirer/rxjs/internal/operators/dematerialize.d.ts +51 -0
  111. package/dist/compiled/inquirer/rxjs/internal/operators/distinct.d.ts +60 -0
  112. package/dist/compiled/inquirer/rxjs/internal/operators/distinctUntilChanged.d.ts +4 -0
  113. package/dist/compiled/inquirer/rxjs/internal/operators/distinctUntilKeyChanged.d.ts +4 -0
  114. package/dist/compiled/inquirer/rxjs/internal/operators/elementAt.d.ts +51 -0
  115. package/dist/compiled/inquirer/rxjs/internal/operators/endWith.d.ts +7 -0
  116. package/dist/compiled/inquirer/rxjs/internal/operators/every.d.ts +9 -0
  117. package/dist/compiled/inquirer/rxjs/internal/operators/exhaust.d.ts +6 -0
  118. package/dist/compiled/inquirer/rxjs/internal/operators/exhaustAll.d.ts +47 -0
  119. package/dist/compiled/inquirer/rxjs/internal/operators/exhaustMap.d.ts +7 -0
  120. package/dist/compiled/inquirer/rxjs/internal/operators/expand.d.ts +9 -0
  121. package/dist/compiled/inquirer/rxjs/internal/operators/filter.d.ts +9 -0
  122. package/dist/compiled/inquirer/rxjs/internal/operators/finalize.d.ts +64 -0
  123. package/dist/compiled/inquirer/rxjs/internal/operators/find.d.ts +12 -0
  124. package/dist/compiled/inquirer/rxjs/internal/operators/findIndex.d.ts +9 -0
  125. package/dist/compiled/inquirer/rxjs/internal/operators/first.d.ts +9 -0
  126. package/dist/compiled/inquirer/rxjs/internal/operators/flatMap.d.ts +6 -0
  127. package/dist/compiled/inquirer/rxjs/internal/operators/groupBy.d.ts +119 -0
  128. package/dist/compiled/inquirer/rxjs/internal/operators/ignoreElements.d.ts +38 -0
  129. package/dist/compiled/inquirer/rxjs/internal/operators/isEmpty.d.ts +64 -0
  130. package/dist/compiled/inquirer/rxjs/internal/operators/joinAllInternals.d.ts +14 -0
  131. package/dist/compiled/inquirer/rxjs/internal/operators/last.d.ts +8 -0
  132. package/dist/compiled/inquirer/rxjs/internal/operators/map.d.ts +5 -0
  133. package/dist/compiled/inquirer/rxjs/internal/operators/mapTo.d.ts +10 -0
  134. package/dist/compiled/inquirer/rxjs/internal/operators/materialize.d.ts +52 -0
  135. package/dist/compiled/inquirer/rxjs/internal/operators/max.d.ts +50 -0
  136. package/dist/compiled/inquirer/rxjs/internal/operators/merge.d.ts +10 -0
  137. package/dist/compiled/inquirer/rxjs/internal/operators/mergeAll.d.ts +62 -0
  138. package/dist/compiled/inquirer/rxjs/internal/operators/mergeInternals.d.ts +18 -0
  139. package/dist/compiled/inquirer/rxjs/internal/operators/mergeMap.d.ts +7 -0
  140. package/dist/compiled/inquirer/rxjs/internal/operators/mergeMapTo.d.ts +9 -0
  141. package/dist/compiled/inquirer/rxjs/internal/operators/mergeScan.d.ts +68 -0
  142. package/dist/compiled/inquirer/rxjs/internal/operators/mergeWith.d.ts +44 -0
  143. package/dist/compiled/inquirer/rxjs/internal/operators/min.d.ts +50 -0
  144. package/dist/compiled/inquirer/rxjs/internal/operators/multicast.d.ts +63 -0
  145. package/dist/compiled/inquirer/rxjs/internal/operators/observeOn.d.ts +56 -0
  146. package/dist/compiled/inquirer/rxjs/internal/operators/onErrorResumeNextWith.d.ts +8 -0
  147. package/dist/compiled/inquirer/rxjs/internal/operators/pairwise.d.ts +46 -0
  148. package/dist/compiled/inquirer/rxjs/internal/operators/partition.d.ts +54 -0
  149. package/dist/compiled/inquirer/rxjs/internal/operators/pluck.d.ts +18 -0
  150. package/dist/compiled/inquirer/rxjs/internal/operators/publish.d.ts +30 -0
  151. package/dist/compiled/inquirer/rxjs/internal/operators/publishBehavior.d.ts +19 -0
  152. package/dist/compiled/inquirer/rxjs/internal/operators/publishLast.d.ts +69 -0
  153. package/dist/compiled/inquirer/rxjs/internal/operators/publishReplay.d.ts +56 -0
  154. package/dist/compiled/inquirer/rxjs/internal/operators/race.d.ts +6 -0
  155. package/dist/compiled/inquirer/rxjs/internal/operators/raceWith.d.ts +29 -0
  156. package/dist/compiled/inquirer/rxjs/internal/operators/reduce.d.ts +5 -0
  157. package/dist/compiled/inquirer/rxjs/internal/operators/refCount.d.ts +61 -0
  158. package/dist/compiled/inquirer/rxjs/internal/operators/repeat.d.ts +108 -0
  159. package/dist/compiled/inquirer/rxjs/internal/operators/repeatWhen.d.ts +38 -0
  160. package/dist/compiled/inquirer/rxjs/internal/operators/retry.d.ts +28 -0
  161. package/dist/compiled/inquirer/rxjs/internal/operators/retryWhen.d.ts +61 -0
  162. package/dist/compiled/inquirer/rxjs/internal/operators/sample.d.ts +43 -0
  163. package/dist/compiled/inquirer/rxjs/internal/operators/sampleTime.d.ts +46 -0
  164. package/dist/compiled/inquirer/rxjs/internal/operators/scan.d.ts +5 -0
  165. package/dist/compiled/inquirer/rxjs/internal/operators/scanInternals.d.ts +12 -0
  166. package/dist/compiled/inquirer/rxjs/internal/operators/sequenceEqual.d.ts +60 -0
  167. package/dist/compiled/inquirer/rxjs/internal/operators/share.d.ts +43 -0
  168. package/dist/compiled/inquirer/rxjs/internal/operators/shareReplay.d.ts +10 -0
  169. package/dist/compiled/inquirer/rxjs/internal/operators/single.d.ts +5 -0
  170. package/dist/compiled/inquirer/rxjs/internal/operators/skip.d.ts +36 -0
  171. package/dist/compiled/inquirer/rxjs/internal/operators/skipLast.d.ts +45 -0
  172. package/dist/compiled/inquirer/rxjs/internal/operators/skipUntil.d.ts +48 -0
  173. package/dist/compiled/inquirer/rxjs/internal/operators/skipWhile.d.ts +5 -0
  174. package/dist/compiled/inquirer/rxjs/internal/operators/startWith.d.ts +7 -0
  175. package/dist/compiled/inquirer/rxjs/internal/operators/subscribeOn.d.ts +62 -0
  176. package/dist/compiled/inquirer/rxjs/internal/operators/switchAll.d.ts +61 -0
  177. package/dist/compiled/inquirer/rxjs/internal/operators/switchMap.d.ts +7 -0
  178. package/dist/compiled/inquirer/rxjs/internal/operators/switchMapTo.d.ts +8 -0
  179. package/dist/compiled/inquirer/rxjs/internal/operators/switchScan.d.ts +20 -0
  180. package/dist/compiled/inquirer/rxjs/internal/operators/take.d.ts +45 -0
  181. package/dist/compiled/inquirer/rxjs/internal/operators/takeLast.d.ts +42 -0
  182. package/dist/compiled/inquirer/rxjs/internal/operators/takeUntil.d.ts +41 -0
  183. package/dist/compiled/inquirer/rxjs/internal/operators/takeWhile.d.ts +8 -0
  184. package/dist/compiled/inquirer/rxjs/internal/operators/tap.d.ts +72 -0
  185. package/dist/compiled/inquirer/rxjs/internal/operators/throttle.d.ts +78 -0
  186. package/dist/compiled/inquirer/rxjs/internal/operators/throttleTime.d.ts +53 -0
  187. package/dist/compiled/inquirer/rxjs/internal/operators/throwIfEmpty.d.ts +39 -0
  188. package/dist/compiled/inquirer/rxjs/internal/operators/timeInterval.d.ts +50 -0
  189. package/dist/compiled/inquirer/rxjs/internal/operators/timeout.d.ts +255 -0
  190. package/dist/compiled/inquirer/rxjs/internal/operators/timeoutWith.d.ts +8 -0
  191. package/dist/compiled/inquirer/rxjs/internal/operators/timestamp.d.ts +35 -0
  192. package/dist/compiled/inquirer/rxjs/internal/operators/toArray.d.ts +33 -0
  193. package/dist/compiled/inquirer/rxjs/internal/operators/window.d.ts +48 -0
  194. package/dist/compiled/inquirer/rxjs/internal/operators/windowCount.d.ts +65 -0
  195. package/dist/compiled/inquirer/rxjs/internal/operators/windowTime.d.ts +6 -0
  196. package/dist/compiled/inquirer/rxjs/internal/operators/windowToggle.d.ts +49 -0
  197. package/dist/compiled/inquirer/rxjs/internal/operators/windowWhen.d.ts +49 -0
  198. package/dist/compiled/inquirer/rxjs/internal/operators/withLatestFrom.d.ts +4 -0
  199. package/dist/compiled/inquirer/rxjs/internal/operators/zip.d.ts +10 -0
  200. package/dist/compiled/inquirer/rxjs/internal/operators/zipAll.d.ts +14 -0
  201. package/dist/compiled/inquirer/rxjs/internal/operators/zipWith.d.ts +26 -0
  202. package/dist/compiled/inquirer/rxjs/internal/scheduled/scheduleArray.d.ts +4 -0
  203. package/dist/compiled/inquirer/rxjs/internal/scheduled/scheduleAsyncIterable.d.ts +4 -0
  204. package/dist/compiled/inquirer/rxjs/internal/scheduled/scheduleIterable.d.ts +9 -0
  205. package/dist/compiled/inquirer/rxjs/internal/scheduled/scheduleObservable.d.ts +3 -0
  206. package/dist/compiled/inquirer/rxjs/internal/scheduled/schedulePromise.d.ts +3 -0
  207. package/dist/compiled/inquirer/rxjs/internal/scheduled/scheduleReadableStreamLike.d.ts +4 -0
  208. package/dist/compiled/inquirer/rxjs/internal/scheduled/scheduled.d.ts +15 -0
  209. package/dist/compiled/inquirer/rxjs/internal/scheduler/Action.d.ts +30 -0
  210. package/dist/compiled/inquirer/rxjs/internal/scheduler/AnimationFrameAction.d.ts +12 -0
  211. package/dist/compiled/inquirer/rxjs/internal/scheduler/AnimationFrameScheduler.d.ts +6 -0
  212. package/dist/compiled/inquirer/rxjs/internal/scheduler/AsapAction.d.ts +12 -0
  213. package/dist/compiled/inquirer/rxjs/internal/scheduler/AsapScheduler.d.ts +6 -0
  214. package/dist/compiled/inquirer/rxjs/internal/scheduler/AsyncAction.d.ts +24 -0
  215. package/dist/compiled/inquirer/rxjs/internal/scheduler/AsyncScheduler.d.ts +9 -0
  216. package/dist/compiled/inquirer/rxjs/internal/scheduler/QueueAction.d.ts +14 -0
  217. package/dist/compiled/inquirer/rxjs/internal/scheduler/QueueScheduler.d.ts +4 -0
  218. package/dist/compiled/inquirer/rxjs/internal/scheduler/VirtualTimeScheduler.d.ts +48 -0
  219. package/dist/compiled/inquirer/rxjs/internal/scheduler/animationFrame.d.ts +38 -0
  220. package/dist/compiled/inquirer/rxjs/internal/scheduler/animationFrameProvider.d.ts +13 -0
  221. package/dist/compiled/inquirer/rxjs/internal/scheduler/asap.d.ts +41 -0
  222. package/dist/compiled/inquirer/rxjs/internal/scheduler/async.d.ts +53 -0
  223. package/dist/compiled/inquirer/rxjs/internal/scheduler/dateTimestampProvider.d.ts +7 -0
  224. package/dist/compiled/inquirer/rxjs/internal/scheduler/immediateProvider.d.ts +14 -0
  225. package/dist/compiled/inquirer/rxjs/internal/scheduler/intervalProvider.d.ts +14 -0
  226. package/dist/compiled/inquirer/rxjs/internal/scheduler/performanceTimestampProvider.d.ts +7 -0
  227. package/dist/compiled/inquirer/rxjs/internal/scheduler/queue.d.ts +69 -0
  228. package/dist/compiled/inquirer/rxjs/internal/scheduler/timeoutProvider.d.ts +14 -0
  229. package/dist/compiled/inquirer/rxjs/internal/scheduler/timerHandle.d.ts +2 -0
  230. package/dist/compiled/inquirer/rxjs/internal/symbol/iterator.d.ts +3 -0
  231. package/dist/compiled/inquirer/rxjs/internal/symbol/observable.d.ts +8 -0
  232. package/dist/compiled/inquirer/rxjs/internal/testing/ColdObservable.d.ts +16 -0
  233. package/dist/compiled/inquirer/rxjs/internal/testing/HotObservable.d.ts +15 -0
  234. package/dist/compiled/inquirer/rxjs/internal/testing/SubscriptionLog.d.ts +6 -0
  235. package/dist/compiled/inquirer/rxjs/internal/testing/SubscriptionLoggable.d.ts +9 -0
  236. package/dist/compiled/inquirer/rxjs/internal/testing/TestMessage.d.ts +7 -0
  237. package/dist/compiled/inquirer/rxjs/internal/testing/TestScheduler.d.ts +88 -0
  238. package/dist/compiled/inquirer/rxjs/internal/types.d.ts +307 -0
  239. package/dist/compiled/inquirer/rxjs/internal/util/ArgumentOutOfRangeError.d.ts +19 -0
  240. package/dist/compiled/inquirer/rxjs/internal/util/EmptyError.d.ts +21 -0
  241. package/dist/compiled/inquirer/rxjs/internal/util/Immediate.d.ts +14 -0
  242. package/dist/compiled/inquirer/rxjs/internal/util/NotFoundError.d.ts +17 -0
  243. package/dist/compiled/inquirer/rxjs/internal/util/ObjectUnsubscribedError.d.ts +20 -0
  244. package/dist/compiled/inquirer/rxjs/internal/util/SequenceError.d.ts +17 -0
  245. package/dist/compiled/inquirer/rxjs/internal/util/UnsubscriptionError.d.ts +16 -0
  246. package/dist/compiled/inquirer/rxjs/internal/util/applyMixins.d.ts +2 -0
  247. package/dist/compiled/inquirer/rxjs/internal/util/args.d.ts +5 -0
  248. package/dist/compiled/inquirer/rxjs/internal/util/argsArgArrayOrObject.d.ts +11 -0
  249. package/dist/compiled/inquirer/rxjs/internal/util/argsOrArgArray.d.ts +6 -0
  250. package/dist/compiled/inquirer/rxjs/internal/util/arrRemove.d.ts +7 -0
  251. package/dist/compiled/inquirer/rxjs/internal/util/createErrorClass.d.ts +11 -0
  252. package/dist/compiled/inquirer/rxjs/internal/util/createObject.d.ts +2 -0
  253. package/dist/compiled/inquirer/rxjs/internal/util/errorContext.d.ts +14 -0
  254. package/dist/compiled/inquirer/rxjs/internal/util/executeSchedule.d.ts +5 -0
  255. package/dist/compiled/inquirer/rxjs/internal/util/identity.d.ts +44 -0
  256. package/dist/compiled/inquirer/rxjs/internal/util/isArrayLike.d.ts +2 -0
  257. package/dist/compiled/inquirer/rxjs/internal/util/isAsyncIterable.d.ts +2 -0
  258. package/dist/compiled/inquirer/rxjs/internal/util/isDate.d.ts +9 -0
  259. package/dist/compiled/inquirer/rxjs/internal/util/isFunction.d.ts +6 -0
  260. package/dist/compiled/inquirer/rxjs/internal/util/isInteropObservable.d.ts +4 -0
  261. package/dist/compiled/inquirer/rxjs/internal/util/isIterable.d.ts +3 -0
  262. package/dist/compiled/inquirer/rxjs/internal/util/isObservable.d.ts +8 -0
  263. package/dist/compiled/inquirer/rxjs/internal/util/isPromise.d.ts +6 -0
  264. package/dist/compiled/inquirer/rxjs/internal/util/isReadableStreamLike.d.ts +4 -0
  265. package/dist/compiled/inquirer/rxjs/internal/util/isScheduler.d.ts +3 -0
  266. package/dist/compiled/inquirer/rxjs/internal/util/lift.d.ts +15 -0
  267. package/dist/compiled/inquirer/rxjs/internal/util/mapOneOrManyArgs.d.ts +7 -0
  268. package/dist/compiled/inquirer/rxjs/internal/util/noop.d.ts +2 -0
  269. package/dist/compiled/inquirer/rxjs/internal/util/not.d.ts +2 -0
  270. package/dist/compiled/inquirer/rxjs/internal/util/pipe.d.ts +14 -0
  271. package/dist/compiled/inquirer/rxjs/internal/util/reportUnhandledError.d.ts +11 -0
  272. package/dist/compiled/inquirer/rxjs/internal/util/subscribeToArray.d.ts +7 -0
  273. package/dist/compiled/inquirer/rxjs/internal/util/throwUnobservableError.d.ts +6 -0
  274. package/dist/compiled/inquirer/rxjs/internal/util/workarounds.d.ts +2 -0
  275. package/dist/compiled/inquirer/rxjs/operators/index.d.ts +114 -0
  276. package/dist/compiled/inquirer/rxjs/testing/index.d.ts +2 -0
  277. package/dist/compiled/inquirer/rxjs/webSocket/index.d.ts +3 -0
  278. package/dist/compiled/inquirer/types-license +21 -0
  279. package/dist/compiled/lodash/index.d.ts +1 -11
  280. package/dist/compiled/upath/upath.d.ts +2 -2
  281. package/dist/esm/cli/require.mjs +10 -1
  282. package/dist/esm/universal/index.mjs +0 -2
  283. package/dist/esm-node/cli/require.mjs +10 -1
  284. package/dist/esm-node/universal/index.mjs +0 -2
  285. package/dist/types/universal/index.d.ts +0 -2
  286. package/package.json +7 -6
  287. package/rslib.config.mts +2 -0
  288. package/dist/cjs/universal/backend-federation-contract/build-artifact.js +0 -185
  289. package/dist/cjs/universal/backend-federation-contract/constants.js +0 -92
  290. package/dist/cjs/universal/backend-federation-contract/delivery-unit.js +0 -130
  291. package/dist/cjs/universal/backend-federation-contract/index.js +0 -137
  292. package/dist/cjs/universal/backend-federation-contract/metadata.js +0 -133
  293. package/dist/cjs/universal/backend-federation-contract/types.js +0 -18
  294. package/dist/cjs/universal/backend-federation-contract/validation-core.js +0 -85
  295. package/dist/cjs/universal/surface-resolution/env-static-provider.js +0 -318
  296. package/dist/cjs/universal/surface-resolution/index.js +0 -69
  297. package/dist/cjs/universal/surface-resolution/surface-ref.js +0 -132
  298. package/dist/cjs/universal/surface-resolution/types.js +0 -18
  299. package/dist/cjs/universal/surface-resolution/validation.js +0 -202
  300. package/dist/esm/universal/backend-federation-contract/build-artifact.mjs +0 -135
  301. package/dist/esm/universal/backend-federation-contract/constants.mjs +0 -18
  302. package/dist/esm/universal/backend-federation-contract/delivery-unit.mjs +0 -74
  303. package/dist/esm/universal/backend-federation-contract/index.mjs +0 -5
  304. package/dist/esm/universal/backend-federation-contract/metadata.mjs +0 -80
  305. package/dist/esm/universal/backend-federation-contract/types.mjs +0 -0
  306. package/dist/esm/universal/backend-federation-contract/validation-core.mjs +0 -29
  307. package/dist/esm/universal/surface-resolution/env-static-provider.mjs +0 -274
  308. package/dist/esm/universal/surface-resolution/index.mjs +0 -3
  309. package/dist/esm/universal/surface-resolution/surface-ref.mjs +0 -88
  310. package/dist/esm/universal/surface-resolution/types.mjs +0 -0
  311. package/dist/esm/universal/surface-resolution/validation.mjs +0 -155
  312. package/dist/esm-node/universal/backend-federation-contract/build-artifact.mjs +0 -136
  313. package/dist/esm-node/universal/backend-federation-contract/constants.mjs +0 -19
  314. package/dist/esm-node/universal/backend-federation-contract/delivery-unit.mjs +0 -75
  315. package/dist/esm-node/universal/backend-federation-contract/index.mjs +0 -6
  316. package/dist/esm-node/universal/backend-federation-contract/metadata.mjs +0 -81
  317. package/dist/esm-node/universal/backend-federation-contract/types.mjs +0 -1
  318. package/dist/esm-node/universal/backend-federation-contract/validation-core.mjs +0 -30
  319. package/dist/esm-node/universal/surface-resolution/env-static-provider.mjs +0 -275
  320. package/dist/esm-node/universal/surface-resolution/index.mjs +0 -4
  321. package/dist/esm-node/universal/surface-resolution/surface-ref.mjs +0 -89
  322. package/dist/esm-node/universal/surface-resolution/types.mjs +0 -1
  323. package/dist/esm-node/universal/surface-resolution/validation.mjs +0 -156
  324. package/dist/types/universal/backend-federation-contract/build-artifact.d.ts +0 -9
  325. package/dist/types/universal/backend-federation-contract/constants.d.ts +0 -14
  326. package/dist/types/universal/backend-federation-contract/delivery-unit.d.ts +0 -9
  327. package/dist/types/universal/backend-federation-contract/index.d.ts +0 -7
  328. package/dist/types/universal/backend-federation-contract/metadata.d.ts +0 -7
  329. package/dist/types/universal/backend-federation-contract/types.d.ts +0 -60
  330. package/dist/types/universal/backend-federation-contract/validation-core.d.ts +0 -8
  331. package/dist/types/universal/surface-resolution/env-static-provider.d.ts +0 -107
  332. package/dist/types/universal/surface-resolution/index.d.ts +0 -4
  333. package/dist/types/universal/surface-resolution/surface-ref.d.ts +0 -72
  334. package/dist/types/universal/surface-resolution/types.d.ts +0 -102
  335. package/dist/types/universal/surface-resolution/validation.d.ts +0 -53
@@ -1,274 +0,0 @@
1
- import { formatSurfaceRef } from "./surface-ref.mjs";
2
- import { createDiscoveryError, validateResolvedDeliveryUnit } from "./validation.mjs";
3
- const DEFAULT_LOCAL_ENVIRONMENTS = [
4
- 'development',
5
- 'local'
6
- ];
7
- const ENV_STATIC_PROVIDER_NAME = 'env-static';
8
- function trimTrailingSlashes(value) {
9
- return value.replace(/\/+$/u, '');
10
- }
11
- function envValue(env, name) {
12
- const value = env[name]?.trim();
13
- return void 0 !== value && value.length > 0 ? value : void 0;
14
- }
15
- function stripMfNamePrefix(value, mfName) {
16
- return value.startsWith(`${mfName}@`) ? value.slice(mfName.length + 1) : value;
17
- }
18
- function createEnvContext(env, allowLocalFallback) {
19
- return {
20
- env,
21
- allowLocalFallback,
22
- cloudflareDeployEnabled: 'cloudflare' === env.MODERNJS_DEPLOY,
23
- workersDevSubdomain: envValue(env, 'ULTRAMODERN_CLOUDFLARE_WORKERS_DEV_SUBDOMAIN'),
24
- requireCloudflarePublicUrls: 'true' === env.ULTRAMODERN_CLOUDFLARE_REQUIRE_PUBLIC_URLS
25
- };
26
- }
27
- function resolveBaseUrl(context, unit) {
28
- const publicUrlEnv = `ULTRAMODERN_PUBLIC_URL_${unit.envSegment}`;
29
- const configuredPublicUrl = envValue(context.env, publicUrlEnv);
30
- if (void 0 !== configuredPublicUrl) return {
31
- ok: true,
32
- baseUrl: trimTrailingSlashes(configuredPublicUrl)
33
- };
34
- if (context.cloudflareDeployEnabled && void 0 !== context.workersDevSubdomain && void 0 !== unit.workerName) return {
35
- ok: true,
36
- baseUrl: `https://${unit.workerName}.${context.workersDevSubdomain}.workers.dev`
37
- };
38
- if (context.cloudflareDeployEnabled && context.requireCloudflarePublicUrls) return {
39
- ok: false,
40
- reason: `Cloudflare deploy requires ${publicUrlEnv} (or a configured manifest env / ULTRAMODERN_CLOUDFLARE_WORKERS_DEV_SUBDOMAIN with a worker name)`,
41
- details: {
42
- publicUrlEnv
43
- }
44
- };
45
- if (void 0 !== unit.port && context.allowLocalFallback) return {
46
- ok: true,
47
- baseUrl: `http://localhost:${unit.port}`
48
- };
49
- if (void 0 !== unit.port) return {
50
- ok: false,
51
- reason: `No base URL available: set ${publicUrlEnv} (localhost fallback is disabled outside designated local environments)`,
52
- details: {
53
- publicUrlEnv
54
- }
55
- };
56
- return {
57
- ok: false,
58
- reason: `No base URL available: set ${publicUrlEnv} or configure a localhost port`,
59
- details: {
60
- publicUrlEnv
61
- }
62
- };
63
- }
64
- function resolveBrowserMfManifest(context, unit) {
65
- const manifestEnv = `VERTICAL_${unit.envSegment}_MF_MANIFEST`;
66
- const configuredManifest = envValue(context.env, manifestEnv);
67
- if (void 0 !== configuredManifest) return {
68
- ok: true,
69
- location: {
70
- platform: 'browser-mf-manifest',
71
- manifestUrl: stripMfNamePrefix(configuredManifest, unit.mfName)
72
- }
73
- };
74
- const base = resolveBaseUrl(context, unit);
75
- if (!base.ok) return {
76
- ok: false,
77
- reason: `browser-mf-manifest unavailable (${manifestEnv} unset; ${base.reason})`,
78
- details: {
79
- manifestEnv,
80
- ...base.details
81
- }
82
- };
83
- return {
84
- ok: true,
85
- location: {
86
- platform: 'browser-mf-manifest',
87
- manifestUrl: `${base.baseUrl}/mf-manifest.json`
88
- }
89
- };
90
- }
91
- function resolveNodeMfManifest(context, unit) {
92
- const manifestEnv = `VERTICAL_${unit.envSegment}_BACKEND_MF_MANIFEST`;
93
- const configuredManifest = envValue(context.env, manifestEnv);
94
- if (void 0 !== configuredManifest) return {
95
- ok: true,
96
- location: {
97
- platform: 'node-mf-manifest',
98
- manifestRef: configuredManifest
99
- }
100
- };
101
- if (void 0 !== unit.port && context.allowLocalFallback) return {
102
- ok: true,
103
- location: {
104
- platform: 'node-mf-manifest',
105
- manifestRef: `http://localhost:${unit.port}/backend-mf-manifest.json`
106
- }
107
- };
108
- if (void 0 !== unit.port) return {
109
- ok: false,
110
- reason: `node-mf-manifest unavailable: set ${manifestEnv} (localhost fallback is disabled outside designated local environments)`,
111
- details: {
112
- manifestEnv
113
- }
114
- };
115
- return {
116
- ok: false,
117
- reason: `node-mf-manifest unavailable: set ${manifestEnv} or configure a localhost port`,
118
- details: {
119
- manifestEnv
120
- }
121
- };
122
- }
123
- function resolveHttpApi(context, unit, config) {
124
- const base = resolveBaseUrl(context, unit);
125
- if (!base.ok) return {
126
- ok: false,
127
- reason: `http-api unavailable (${base.reason})`,
128
- details: base.details
129
- };
130
- return {
131
- ok: true,
132
- location: {
133
- platform: 'http-api',
134
- baseUrl: base.baseUrl,
135
- prefix: config.prefix
136
- }
137
- };
138
- }
139
- function resolveCloudflareServiceBinding(config) {
140
- if (0 === config.serviceBinding.length) return {
141
- ok: false,
142
- reason: 'cloudflare-service-binding unavailable: empty serviceBinding'
143
- };
144
- return {
145
- ok: true,
146
- location: {
147
- platform: 'cloudflare-service-binding',
148
- serviceBinding: config.serviceBinding,
149
- ...void 0 === config.dispatchNamespace ? {} : {
150
- dispatchNamespace: config.dispatchNamespace
151
- }
152
- }
153
- };
154
- }
155
- function resolveSurfaceLocations(context, unit, surface) {
156
- const outcomes = [];
157
- if (surface.platforms.browserMfManifest) outcomes.push(resolveBrowserMfManifest(context, unit));
158
- if (surface.platforms.nodeMfManifest) outcomes.push(resolveNodeMfManifest(context, unit));
159
- if (void 0 !== surface.platforms.httpApi) outcomes.push(resolveHttpApi(context, unit, surface.platforms.httpApi));
160
- if (void 0 !== surface.platforms.cloudflareServiceBinding) outcomes.push(resolveCloudflareServiceBinding(surface.platforms.cloudflareServiceBinding));
161
- const failure = outcomes.find((outcome)=>!outcome.ok);
162
- if (void 0 !== failure && !failure.ok) return {
163
- ok: false,
164
- reason: `surface ${surface.surfaceId}: ${failure.reason}`,
165
- details: failure.details
166
- };
167
- const locations = outcomes.flatMap((outcome)=>outcome.ok ? [
168
- outcome.location
169
- ] : []);
170
- if (0 === locations.length) return {
171
- ok: false,
172
- reason: `surface ${surface.surfaceId} declares no platform locations`
173
- };
174
- return {
175
- ok: true,
176
- surface: {
177
- surfaceId: surface.surfaceId,
178
- kind: surface.kind,
179
- locations
180
- }
181
- };
182
- }
183
- function createEnvStaticSurfaceResolutionProvider(options) {
184
- const env = options.env ?? {};
185
- const localEnvironments = new Set(options.localEnvironments ?? DEFAULT_LOCAL_ENVIRONMENTS);
186
- const identityVerification = options.identityVerification ?? 'static-trust';
187
- const unitsById = new Map(options.units.map((unit)=>[
188
- unit.unitId,
189
- unit
190
- ]));
191
- return {
192
- name: ENV_STATIC_PROVIDER_NAME,
193
- resolve (ref, environment) {
194
- const refString = formatSurfaceRef(ref);
195
- const unit = unitsById.get(ref.unitId);
196
- if (void 0 === unit) return {
197
- ok: false,
198
- error: createDiscoveryError('unknown-unit', refString, `No statically configured delivery unit ${ref.unitId}.`, {
199
- environment,
200
- knownUnits: [
201
- ...unitsById.keys()
202
- ]
203
- })
204
- };
205
- if (!unit.surfaces.some((surface)=>surface.surfaceId === ref.surfaceId)) return {
206
- ok: false,
207
- error: createDiscoveryError('unknown-surface', refString, `Unit ${unit.unitId} does not declare surface ${ref.surfaceId}.`, {
208
- environment,
209
- availableSurfaces: unit.surfaces.map((surface)=>surface.surfaceId)
210
- })
211
- };
212
- let effectiveUnit = unit;
213
- if (void 0 !== ref.major) {
214
- const majorConfig = (unit.majors ?? []).find((candidate)=>candidate.major === ref.major);
215
- if (void 0 === majorConfig) return {
216
- ok: false,
217
- error: createDiscoveryError('major-not-published', refString, `Unit ${unit.unitId} has no materialization for external major v${ref.major}.`, {
218
- environment,
219
- publishedMajors: (unit.majors ?? []).map((candidate)=>candidate.major)
220
- })
221
- };
222
- effectiveUnit = {
223
- ...unit,
224
- envSegment: majorConfig.envSegment ?? `${unit.envSegment}_V${majorConfig.major}`,
225
- port: majorConfig.port,
226
- workerName: majorConfig.workerName
227
- };
228
- }
229
- const context = createEnvContext(env, localEnvironments.has(environment));
230
- const surfaces = [];
231
- for (const surfaceConfig of unit.surfaces){
232
- const resolved = resolveSurfaceLocations(context, effectiveUnit, surfaceConfig);
233
- if (!resolved.ok) return {
234
- ok: false,
235
- error: createDiscoveryError('provider-unavailable', refString, `env-static provider cannot assemble a complete record for ${unit.unitId}: ${resolved.reason}.`, {
236
- environment,
237
- ...resolved.details
238
- })
239
- };
240
- surfaces.push(void 0 === ref.major ? resolved.surface : {
241
- ...resolved.surface,
242
- servedMajor: ref.major
243
- });
244
- }
245
- const record = {
246
- unitId: unit.unitId,
247
- buildMarker: unit.buildMarker,
248
- sourceRevision: unit.sourceRevision,
249
- baselineCohortId: unit.baselineCohortId,
250
- surfaces,
251
- compatibility: {
252
- status: 'compatible',
253
- baselineCohortId: unit.baselineCohortId,
254
- ...'static-trust' === identityVerification ? {
255
- reason: 'static-identity-unverified'
256
- } : {}
257
- }
258
- };
259
- const validation = validateResolvedDeliveryUnit(record);
260
- if (!validation.ok) return {
261
- ok: false,
262
- error: createDiscoveryError('provider-unavailable', refString, `env-static provider assembled an invalid record for ${unit.unitId}.`, {
263
- environment,
264
- issues: validation.issues
265
- })
266
- };
267
- return {
268
- ok: true,
269
- unit: record
270
- };
271
- }
272
- };
273
- }
274
- export { DEFAULT_LOCAL_ENVIRONMENTS, ENV_STATIC_PROVIDER_NAME, createEnvStaticSurfaceResolutionProvider };
@@ -1,3 +0,0 @@
1
- export { DEFAULT_LOCAL_ENVIRONMENTS, ENV_STATIC_PROVIDER_NAME, createEnvStaticSurfaceResolutionProvider } from "./env-static-provider.mjs";
2
- export { formatSurfaceRef, parseSurfaceRef, validateSurfaceRef } from "./surface-ref.mjs";
3
- export { createDiscoveryError, matchDeliveryUnitIdentity, selectResolvedSurface, validateResolvedDeliveryUnit } from "./validation.mjs";
@@ -1,88 +0,0 @@
1
- const SEGMENT_PATTERN = /^[A-Za-z0-9._-]+$/;
2
- const MAJOR_PATTERN = /^v[1-9][0-9]*$/;
3
- function parseSurfaceRef(input) {
4
- if ('' === input) return {
5
- ok: false,
6
- error: {
7
- code: 'empty'
8
- }
9
- };
10
- const hashCount = countChar(input, '#');
11
- if (0 === hashCount) return {
12
- ok: false,
13
- error: {
14
- code: 'missing-surface-separator'
15
- }
16
- };
17
- if (hashCount > 1) return {
18
- ok: false,
19
- error: {
20
- code: 'multiple-surface-separators'
21
- }
22
- };
23
- const hashIndex = input.indexOf('#');
24
- const unitPart = input.slice(0, hashIndex);
25
- const rest = input.slice(hashIndex + 1);
26
- const atIndex = rest.indexOf('@');
27
- const surfaceId = -1 === atIndex ? rest : rest.slice(0, atIndex);
28
- const ref = {
29
- unitId: unitPart,
30
- surfaceId
31
- };
32
- if (-1 !== atIndex) {
33
- const majorPart = rest.slice(atIndex + 1);
34
- if ('' === majorPart) return {
35
- ok: false,
36
- error: {
37
- code: 'empty-major'
38
- }
39
- };
40
- if (!MAJOR_PATTERN.test(majorPart)) return {
41
- ok: false,
42
- error: {
43
- code: 'invalid-major',
44
- value: majorPart
45
- }
46
- };
47
- ref.major = Number(majorPart.slice(1));
48
- }
49
- const error = validateSurfaceRef(ref);
50
- return void 0 === error ? {
51
- ok: true,
52
- ref
53
- } : {
54
- ok: false,
55
- error
56
- };
57
- }
58
- function formatSurfaceRef(ref) {
59
- const error = validateSurfaceRef(ref);
60
- if (void 0 !== error) throw new TypeError(`Cannot format invalid SurfaceRef: ${error.code}.`);
61
- const base = `${ref.unitId}#${ref.surfaceId}`;
62
- return void 0 === ref.major ? base : `${base}@v${ref.major}`;
63
- }
64
- function validateSurfaceRef(ref) {
65
- if ('' === ref.unitId) return {
66
- code: 'empty-unit-id'
67
- };
68
- for (const segment of ref.unitId.split('/'))if (!SEGMENT_PATTERN.test(segment)) return {
69
- code: 'invalid-unit-id',
70
- segment
71
- };
72
- if ('' === ref.surfaceId) return {
73
- code: 'empty-surface-id'
74
- };
75
- if (!SEGMENT_PATTERN.test(ref.surfaceId)) return {
76
- code: 'invalid-surface-id'
77
- };
78
- if (void 0 !== ref.major && (!Number.isSafeInteger(ref.major) || ref.major < 1)) return {
79
- code: 'invalid-major',
80
- value: String(ref.major)
81
- };
82
- }
83
- function countChar(input, char) {
84
- let count = 0;
85
- for (const current of input)if (current === char) count += 1;
86
- return count;
87
- }
88
- export { formatSurfaceRef, parseSurfaceRef, validateSurfaceRef };
File without changes
@@ -1,155 +0,0 @@
1
- import { formatSurfaceRef } from "./surface-ref.mjs";
2
- const SEGMENT_PATTERN = /^[A-Za-z0-9._-]+$/;
3
- function createDiscoveryError(code, ref, message, details) {
4
- const refString = 'string' == typeof ref ? ref : formatSurfaceRef(ref);
5
- return void 0 === details ? {
6
- code,
7
- ref: refString,
8
- message
9
- } : {
10
- code,
11
- ref: refString,
12
- message,
13
- details
14
- };
15
- }
16
- function isNonEmptyString(value) {
17
- return 'string' == typeof value && value.length > 0;
18
- }
19
- function isValidUnitId(unitId) {
20
- return unitId.split('/').every((segment)=>SEGMENT_PATTERN.test(segment));
21
- }
22
- function isRecord(value) {
23
- return 'object' == typeof value && null !== value && !Array.isArray(value);
24
- }
25
- const COMPATIBILITY_STATUSES = [
26
- 'compatible',
27
- 'incompatible',
28
- 'degraded'
29
- ];
30
- const SURFACE_KINDS = [
31
- 'component',
32
- 'route',
33
- 'api',
34
- 'backend'
35
- ];
36
- const LOCATION_PLATFORMS = [
37
- 'browser-mf-manifest',
38
- 'node-mf-manifest',
39
- 'http-api',
40
- 'cloudflare-service-binding'
41
- ];
42
- const LOCATION_REQUIRED_FIELDS = {
43
- 'browser-mf-manifest': [
44
- 'manifestUrl'
45
- ],
46
- 'node-mf-manifest': [
47
- 'manifestRef'
48
- ],
49
- 'http-api': [
50
- 'baseUrl',
51
- 'prefix'
52
- ],
53
- 'cloudflare-service-binding': [
54
- 'serviceBinding'
55
- ]
56
- };
57
- function validateLocation(location, path, seenPlatforms, push) {
58
- if (!isRecord(location)) return void push(path, 'must be an object');
59
- const platform = location.platform;
60
- if ('string' != typeof platform || !LOCATION_PLATFORMS.includes(platform)) return void push(`${path}.platform`, `must be one of ${LOCATION_PLATFORMS.join(', ')}`);
61
- if (seenPlatforms.has(platform)) push(`${path}.platform`, `duplicate platform ${platform} within one surface`);
62
- seenPlatforms.add(platform);
63
- for (const field of LOCATION_REQUIRED_FIELDS[platform] ?? [])if (!isNonEmptyString(location[field])) push(`${path}.${field}`, 'must be a non-empty string');
64
- if ('cloudflare-service-binding' === platform && void 0 !== location.dispatchNamespace && !isNonEmptyString(location.dispatchNamespace)) push(`${path}.dispatchNamespace`, 'must be a non-empty string when present');
65
- }
66
- function validateSurface(surface, path, seenSurfaceIds, push) {
67
- if (!isRecord(surface)) return void push(path, 'must be an object');
68
- if (isNonEmptyString(surface.surfaceId)) if (SEGMENT_PATTERN.test(surface.surfaceId)) if (seenSurfaceIds.has(surface.surfaceId)) push(`${path}.surfaceId`, 'must be unique within the record');
69
- else seenSurfaceIds.add(surface.surfaceId);
70
- else push(`${path}.surfaceId`, 'must match the SurfaceRef SurfaceId grammar');
71
- else push(`${path}.surfaceId`, 'must be a non-empty string');
72
- if ('string' != typeof surface.kind || !SURFACE_KINDS.includes(surface.kind)) push(`${path}.kind`, `must be one of ${SURFACE_KINDS.join(', ')}`);
73
- if (void 0 !== surface.servedMajor && (!Number.isSafeInteger(surface.servedMajor) || surface.servedMajor < 1)) push(`${path}.servedMajor`, 'must be a positive safe integer when present');
74
- if (!Array.isArray(surface.locations)) return void push(`${path}.locations`, 'must be an array of locations');
75
- if (0 === surface.locations.length) push(`${path}.locations`, 'must contain at least one location (no partial records)');
76
- const seenPlatforms = new Set();
77
- surface.locations.forEach((location, locationIndex)=>{
78
- validateLocation(location, `${path}.locations[${locationIndex}]`, seenPlatforms, push);
79
- });
80
- }
81
- function validateResolvedDeliveryUnit(unit) {
82
- const issues = [];
83
- const push = (path, message)=>{
84
- issues.push({
85
- path,
86
- message
87
- });
88
- };
89
- if (!isRecord(unit)) {
90
- push('', 'must be an object');
91
- return {
92
- ok: false,
93
- issues
94
- };
95
- }
96
- const raw = unit;
97
- if (isNonEmptyString(raw.unitId)) {
98
- if (!isValidUnitId(raw.unitId)) push('unitId', 'must match the SurfaceRef UnitId grammar');
99
- } else push('unitId', 'must be a non-empty string');
100
- if (!isNonEmptyString(raw.buildMarker)) push('buildMarker', 'must be a non-empty string');
101
- if (!isNonEmptyString(raw.sourceRevision)) push('sourceRevision', 'must be a non-empty string');
102
- if (!isNonEmptyString(raw.baselineCohortId)) push('baselineCohortId', 'must be a non-empty string');
103
- const compatibility = raw.compatibility;
104
- if (isRecord(compatibility)) {
105
- if ('string' != typeof compatibility.status || !COMPATIBILITY_STATUSES.includes(compatibility.status)) push('compatibility.status', `must be one of ${COMPATIBILITY_STATUSES.join(', ')}`);
106
- if (compatibility.baselineCohortId !== raw.baselineCohortId) push('compatibility.baselineCohortId', 'must equal the record-level baselineCohortId (one verdict per record)');
107
- if (void 0 !== compatibility.reason && !isNonEmptyString(compatibility.reason)) push('compatibility.reason', 'must be a non-empty string when present');
108
- } else push('compatibility', 'must be an object');
109
- if (!Array.isArray(raw.surfaces)) {
110
- push('surfaces', 'must be an array of surfaces');
111
- return {
112
- ok: false,
113
- issues
114
- };
115
- }
116
- if (0 === raw.surfaces.length) push('surfaces', 'must contain at least one surface');
117
- const seenSurfaceIds = new Set();
118
- raw.surfaces.forEach((surface, surfaceIndex)=>{
119
- validateSurface(surface, `surfaces[${surfaceIndex}]`, seenSurfaceIds, push);
120
- });
121
- return {
122
- ok: 0 === issues.length,
123
- issues
124
- };
125
- }
126
- function selectResolvedSurface(unit, ref) {
127
- if (unit.unitId !== ref.unitId) return {
128
- ok: false,
129
- error: createDiscoveryError('unknown-unit', ref, `Resolved record is for unit ${unit.unitId}, not ${ref.unitId}.`, {
130
- recordUnitId: unit.unitId
131
- })
132
- };
133
- const surface = unit.surfaces.find((candidate)=>candidate.surfaceId === ref.surfaceId);
134
- if (void 0 === surface) return {
135
- ok: false,
136
- error: createDiscoveryError('unknown-surface', ref, `Unit ${unit.unitId} (buildMarker ${unit.buildMarker}) does not publish surface ${ref.surfaceId}.`, {
137
- availableSurfaces: unit.surfaces.map((entry)=>entry.surfaceId)
138
- })
139
- };
140
- return {
141
- ok: true,
142
- surface
143
- };
144
- }
145
- function matchDeliveryUnitIdentity(expected, unit, ref) {
146
- if (expected.unitId === unit.unitId && expected.buildMarker === unit.buildMarker) return;
147
- return createDiscoveryError('identity-mismatch', ref, `Delivery-unit identity mismatch: expected ${expected.unitId}@${expected.buildMarker}, resolved ${unit.unitId}@${unit.buildMarker}.`, {
148
- expected,
149
- resolved: {
150
- unitId: unit.unitId,
151
- buildMarker: unit.buildMarker
152
- }
153
- });
154
- }
155
- export { createDiscoveryError, matchDeliveryUnitIdentity, selectResolvedSurface, validateResolvedDeliveryUnit };
@@ -1,136 +0,0 @@
1
- import "node:module";
2
- import { DELIVERY_UNIT_IDENTITY_FIELDS, DELIVERY_UNIT_SCHEMA_VERSION } from "./constants.mjs";
3
- import { deliveryUnitIdentityFieldValue, validateDeliveryUnitRecord } from "./delivery-unit.mjs";
4
- import { addError, isRecord, nonEmptyString, recordField, validationResult } from "./validation-core.mjs";
5
- const createUltramodernBuildArtifact = (record)=>{
6
- const deliveryUnit = {
7
- appId: record.appId,
8
- build: record.buildMarker,
9
- buildMarker: record.buildMarker,
10
- deployProfile: record.deployProfile,
11
- kind: record.kind,
12
- packageName: record.packageName,
13
- schemaVersion: record.schemaVersion,
14
- sourceRevision: record.sourceRevision,
15
- unitId: record.unitId,
16
- version: record.version
17
- };
18
- const api = {
19
- appId: deliveryUnit.appId,
20
- build: deliveryUnit.build,
21
- buildMarker: deliveryUnit.buildMarker,
22
- deployProfile: deliveryUnit.deployProfile,
23
- kind: deliveryUnit.kind,
24
- packageName: deliveryUnit.packageName,
25
- schemaVersion: deliveryUnit.schemaVersion,
26
- sourceRevision: deliveryUnit.sourceRevision,
27
- surface: 'api',
28
- unitId: deliveryUnit.unitId,
29
- version: deliveryUnit.version
30
- };
31
- const ui = {
32
- appId: deliveryUnit.appId,
33
- build: deliveryUnit.build,
34
- buildMarker: deliveryUnit.buildMarker,
35
- deployProfile: deliveryUnit.deployProfile,
36
- kind: deliveryUnit.kind,
37
- packageName: deliveryUnit.packageName,
38
- schemaVersion: deliveryUnit.schemaVersion,
39
- sourceRevision: deliveryUnit.sourceRevision,
40
- surface: 'ui',
41
- unitId: deliveryUnit.unitId,
42
- version: deliveryUnit.version
43
- };
44
- return {
45
- deliveryUnit,
46
- kind: 'ultramodern-build-artifact',
47
- schemaVersion: DELIVERY_UNIT_SCHEMA_VERSION,
48
- surfaces: {
49
- api,
50
- ui
51
- }
52
- };
53
- };
54
- const validateUltramodernBuildArtifact = (value, path = 'artifact')=>{
55
- const errors = [];
56
- if (!isRecord(value)) {
57
- addError(errors, path, 'must be an object.');
58
- return validationResult(errors);
59
- }
60
- if (value.schemaVersion !== DELIVERY_UNIT_SCHEMA_VERSION) addError(errors, `${path}.schemaVersion`, `must be ${DELIVERY_UNIT_SCHEMA_VERSION}.`);
61
- if ('ultramodern-build-artifact' !== value.kind) addError(errors, `${path}.kind`, 'must be "ultramodern-build-artifact".');
62
- const deliveryUnit = value.deliveryUnit;
63
- errors.push(...validateDeliveryUnitRecord(deliveryUnit, {
64
- path: `${path}.deliveryUnit`,
65
- allowBuildAlias: true
66
- }).errors);
67
- if (isRecord(deliveryUnit)) {
68
- const build = nonEmptyString(deliveryUnit.build);
69
- const buildMarker = nonEmptyString(deliveryUnit.buildMarker);
70
- if (build) {
71
- if (buildMarker && build !== buildMarker) addError(errors, `${path}.deliveryUnit.build`, 'must match deliveryUnit.buildMarker.');
72
- } else addError(errors, `${path}.deliveryUnit.build`, 'must be a non-empty string.');
73
- }
74
- const surfaces = recordField(value, 'surfaces');
75
- if (!surfaces) {
76
- addError(errors, `${path}.surfaces`, 'must be an object.');
77
- return validationResult(errors);
78
- }
79
- for (const surface of [
80
- 'ui',
81
- 'api'
82
- ]){
83
- const marker = surfaces[surface];
84
- const markerPath = `${path}.surfaces.${surface}`;
85
- errors.push(...validateDeliveryUnitRecord(marker, {
86
- path: markerPath,
87
- allowBuildAlias: true
88
- }).errors);
89
- if (!isRecord(marker)) continue;
90
- const markerBuild = nonEmptyString(marker.build);
91
- const markerBuildMarker = nonEmptyString(marker.buildMarker);
92
- if (markerBuild) {
93
- if (markerBuildMarker && markerBuild !== markerBuildMarker) addError(errors, `${markerPath}.build`, 'must match buildMarker.');
94
- } else addError(errors, `${markerPath}.build`, 'must be non-empty string.');
95
- if (marker.surface !== surface) addError(errors, `${markerPath}.surface`, `must be "${surface}".`);
96
- for (const field of DELIVERY_UNIT_IDENTITY_FIELDS){
97
- const deliveryUnitValue = deliveryUnitIdentityFieldValue(deliveryUnit, field, {
98
- allowBuildAlias: true
99
- });
100
- const markerValue = deliveryUnitIdentityFieldValue(marker, field, {
101
- allowBuildAlias: true
102
- });
103
- if (void 0 !== deliveryUnitValue && void 0 !== markerValue && deliveryUnitValue !== markerValue) addError(errors, `${markerPath}.${field}`, `must match ${path}.deliveryUnit.${field}.`);
104
- }
105
- }
106
- return validationResult(errors);
107
- };
108
- const isUltramodernBuildArtifact = (value)=>validateUltramodernBuildArtifact(value).ok;
109
- const stampUltramodernBuildArtifactIdentity = (artifact, identity)=>({
110
- ...artifact,
111
- deliveryUnit: {
112
- ...artifact.deliveryUnit,
113
- build: identity.buildMarker,
114
- buildMarker: identity.buildMarker,
115
- sourceRevision: identity.sourceRevision
116
- },
117
- surfaces: {
118
- ui: {
119
- ...artifact.surfaces.ui,
120
- build: identity.buildMarker,
121
- buildMarker: identity.buildMarker,
122
- sourceRevision: identity.sourceRevision
123
- },
124
- api: {
125
- ...artifact.surfaces.api,
126
- build: identity.buildMarker,
127
- buildMarker: identity.buildMarker,
128
- sourceRevision: identity.sourceRevision
129
- }
130
- }
131
- });
132
- const stampUltramodernBuildArtifactSourceRevision = (artifact, sourceRevision)=>stampUltramodernBuildArtifactIdentity(artifact, {
133
- buildMarker: artifact.deliveryUnit.buildMarker,
134
- sourceRevision
135
- });
136
- export { createUltramodernBuildArtifact, isUltramodernBuildArtifact, stampUltramodernBuildArtifactIdentity, stampUltramodernBuildArtifactSourceRevision, validateUltramodernBuildArtifact };
@@ -1,19 +0,0 @@
1
- import "node:module";
2
- const BACKEND_FEDERATION_EFFECT_EXPOSE = './effect-api';
3
- const BACKEND_FEDERATION_MANIFEST_FILE = 'backend-mf-manifest.json';
4
- const BACKEND_FEDERATION_REMOTE_ENTRY_FILE = 'backendRemoteEntry.cjs';
5
- const BACKEND_FEDERATION_CONTRACT_VERSION = 'microvertical-server-effect-v1';
6
- const BACKEND_FEDERATION_NODE_ADAPTER_VERSION = 'backend-mf-effect-v1';
7
- const DELIVERY_UNIT_SCHEMA_VERSION = 1;
8
- const DELIVERY_UNIT_KIND = 'microvertical-delivery-unit';
9
- const DELIVERY_UNIT_DEPLOY_PROFILE = 'cloudflare-ssr-mf-effect-v1';
10
- const DELIVERY_UNIT_IDENTITY_FIELDS = [
11
- 'unitId',
12
- 'buildMarker',
13
- 'sourceRevision'
14
- ];
15
- const ULTRAMODERN_BUILD_ARTIFACT_FILE = 'ultramodern-build.json';
16
- const ULTRAMODERN_BUILD_ARTIFACT_PATH = `shared/${ULTRAMODERN_BUILD_ARTIFACT_FILE}`;
17
- const ULTRAMODERN_BUILD_MODULE_FILE = 'ultramodern-build.ts';
18
- const ULTRAMODERN_BUILD_MODULE_PATH = `shared/${ULTRAMODERN_BUILD_MODULE_FILE}`;
19
- export { BACKEND_FEDERATION_CONTRACT_VERSION, BACKEND_FEDERATION_EFFECT_EXPOSE, BACKEND_FEDERATION_MANIFEST_FILE, BACKEND_FEDERATION_NODE_ADAPTER_VERSION, BACKEND_FEDERATION_REMOTE_ENTRY_FILE, DELIVERY_UNIT_DEPLOY_PROFILE, DELIVERY_UNIT_IDENTITY_FIELDS, DELIVERY_UNIT_KIND, DELIVERY_UNIT_SCHEMA_VERSION, ULTRAMODERN_BUILD_ARTIFACT_FILE, ULTRAMODERN_BUILD_ARTIFACT_PATH, ULTRAMODERN_BUILD_MODULE_FILE, ULTRAMODERN_BUILD_MODULE_PATH };