@nubjs/nub-darwin-x64 0.2.3 → 0.2.5

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 (348) hide show
  1. package/bin/nub +0 -0
  2. package/bin/nubx +0 -0
  3. package/package.json +2 -3
  4. package/runtime/addons/nub-native.node +0 -0
  5. package/runtime/cache-evict.mjs +0 -69
  6. package/runtime/compile-cache-restore.mjs +0 -21
  7. package/runtime/floor-builtin.mjs +0 -57
  8. package/runtime/navigator-locks.mjs +0 -242
  9. package/runtime/navigator-shim.mjs +0 -144
  10. package/runtime/node_modules/@js-temporal/polyfill/CHANGELOG.md +0 -453
  11. package/runtime/node_modules/@js-temporal/polyfill/LICENSE +0 -13
  12. package/runtime/node_modules/@js-temporal/polyfill/README.md +0 -90
  13. package/runtime/node_modules/@js-temporal/polyfill/dist/index.cjs +0 -2
  14. package/runtime/node_modules/@js-temporal/polyfill/dist/index.cjs.map +0 -1
  15. package/runtime/node_modules/@js-temporal/polyfill/dist/index.esm.js +0 -2
  16. package/runtime/node_modules/@js-temporal/polyfill/dist/index.esm.js.map +0 -1
  17. package/runtime/node_modules/@js-temporal/polyfill/dist/index.umd.js +0 -2
  18. package/runtime/node_modules/@js-temporal/polyfill/dist/index.umd.js.map +0 -1
  19. package/runtime/node_modules/@js-temporal/polyfill/index.d.cts +0 -1215
  20. package/runtime/node_modules/@js-temporal/polyfill/index.d.ts +0 -1215
  21. package/runtime/node_modules/@js-temporal/polyfill/lib/assert.ts +0 -8
  22. package/runtime/node_modules/@js-temporal/polyfill/lib/bigintmath.ts +0 -39
  23. package/runtime/node_modules/@js-temporal/polyfill/lib/calendar.ts +0 -2424
  24. package/runtime/node_modules/@js-temporal/polyfill/lib/debug.ts +0 -7
  25. package/runtime/node_modules/@js-temporal/polyfill/lib/duration.ts +0 -438
  26. package/runtime/node_modules/@js-temporal/polyfill/lib/durationformat.d.ts +0 -93
  27. package/runtime/node_modules/@js-temporal/polyfill/lib/ecmascript.ts +0 -4973
  28. package/runtime/node_modules/@js-temporal/polyfill/lib/index.ts +0 -34
  29. package/runtime/node_modules/@js-temporal/polyfill/lib/init.ts +0 -43
  30. package/runtime/node_modules/@js-temporal/polyfill/lib/instant.ts +0 -138
  31. package/runtime/node_modules/@js-temporal/polyfill/lib/internaltypes.d.ts +0 -242
  32. package/runtime/node_modules/@js-temporal/polyfill/lib/intl.ts +0 -758
  33. package/runtime/node_modules/@js-temporal/polyfill/lib/intrinsicclass.ts +0 -162
  34. package/runtime/node_modules/@js-temporal/polyfill/lib/legacydate.ts +0 -17
  35. package/runtime/node_modules/@js-temporal/polyfill/lib/math.ts +0 -96
  36. package/runtime/node_modules/@js-temporal/polyfill/lib/now.ts +0 -48
  37. package/runtime/node_modules/@js-temporal/polyfill/lib/plaindate.ts +0 -212
  38. package/runtime/node_modules/@js-temporal/polyfill/lib/plaindatetime.ts +0 -274
  39. package/runtime/node_modules/@js-temporal/polyfill/lib/plainmonthday.ts +0 -110
  40. package/runtime/node_modules/@js-temporal/polyfill/lib/plaintime.ts +0 -154
  41. package/runtime/node_modules/@js-temporal/polyfill/lib/plainyearmonth.ts +0 -157
  42. package/runtime/node_modules/@js-temporal/polyfill/lib/regex.ts +0 -59
  43. package/runtime/node_modules/@js-temporal/polyfill/lib/slots.ts +0 -341
  44. package/runtime/node_modules/@js-temporal/polyfill/lib/temporal.ts +0 -10
  45. package/runtime/node_modules/@js-temporal/polyfill/lib/timeduration.ts +0 -149
  46. package/runtime/node_modules/@js-temporal/polyfill/lib/zoneddatetime.ts +0 -492
  47. package/runtime/node_modules/@js-temporal/polyfill/package.json +0 -143
  48. package/runtime/node_modules/@oxc-project/runtime/CHANGELOG.md +0 -88
  49. package/runtime/node_modules/@oxc-project/runtime/LICENSE +0 -22
  50. package/runtime/node_modules/@oxc-project/runtime/README.md +0 -5
  51. package/runtime/node_modules/@oxc-project/runtime/package.json +0 -1066
  52. package/runtime/node_modules/@oxc-project/runtime/src/helpers/AwaitValue.js +0 -4
  53. package/runtime/node_modules/@oxc-project/runtime/src/helpers/OverloadYield.js +0 -4
  54. package/runtime/node_modules/@oxc-project/runtime/src/helpers/applyDecoratedDescriptor.js +0 -9
  55. package/runtime/node_modules/@oxc-project/runtime/src/helpers/applyDecs.js +0 -236
  56. package/runtime/node_modules/@oxc-project/runtime/src/helpers/applyDecs2203.js +0 -184
  57. package/runtime/node_modules/@oxc-project/runtime/src/helpers/applyDecs2203R.js +0 -191
  58. package/runtime/node_modules/@oxc-project/runtime/src/helpers/applyDecs2301.js +0 -222
  59. package/runtime/node_modules/@oxc-project/runtime/src/helpers/applyDecs2305.js +0 -133
  60. package/runtime/node_modules/@oxc-project/runtime/src/helpers/applyDecs2311.js +0 -124
  61. package/runtime/node_modules/@oxc-project/runtime/src/helpers/arrayLikeToArray.js +0 -6
  62. package/runtime/node_modules/@oxc-project/runtime/src/helpers/arrayWithHoles.js +0 -4
  63. package/runtime/node_modules/@oxc-project/runtime/src/helpers/arrayWithoutHoles.js +0 -5
  64. package/runtime/node_modules/@oxc-project/runtime/src/helpers/assertClassBrand.js +0 -5
  65. package/runtime/node_modules/@oxc-project/runtime/src/helpers/assertThisInitialized.js +0 -5
  66. package/runtime/node_modules/@oxc-project/runtime/src/helpers/asyncGeneratorDelegate.js +0 -24
  67. package/runtime/node_modules/@oxc-project/runtime/src/helpers/asyncIterator.js +0 -45
  68. package/runtime/node_modules/@oxc-project/runtime/src/helpers/asyncToGenerator.js +0 -26
  69. package/runtime/node_modules/@oxc-project/runtime/src/helpers/awaitAsyncGenerator.js +0 -5
  70. package/runtime/node_modules/@oxc-project/runtime/src/helpers/callSuper.js +0 -7
  71. package/runtime/node_modules/@oxc-project/runtime/src/helpers/checkInRHS.js +0 -6
  72. package/runtime/node_modules/@oxc-project/runtime/src/helpers/checkPrivateRedeclaration.js +0 -4
  73. package/runtime/node_modules/@oxc-project/runtime/src/helpers/classApplyDescriptorDestructureSet.js +0 -10
  74. package/runtime/node_modules/@oxc-project/runtime/src/helpers/classApplyDescriptorGet.js +0 -4
  75. package/runtime/node_modules/@oxc-project/runtime/src/helpers/classApplyDescriptorSet.js +0 -7
  76. package/runtime/node_modules/@oxc-project/runtime/src/helpers/classCallCheck.js +0 -4
  77. package/runtime/node_modules/@oxc-project/runtime/src/helpers/classCheckPrivateStaticAccess.js +0 -5
  78. package/runtime/node_modules/@oxc-project/runtime/src/helpers/classCheckPrivateStaticFieldDescriptor.js +0 -4
  79. package/runtime/node_modules/@oxc-project/runtime/src/helpers/classExtractFieldDescriptor.js +0 -5
  80. package/runtime/node_modules/@oxc-project/runtime/src/helpers/classNameTDZError.js +0 -4
  81. package/runtime/node_modules/@oxc-project/runtime/src/helpers/classPrivateFieldDestructureSet.js +0 -7
  82. package/runtime/node_modules/@oxc-project/runtime/src/helpers/classPrivateFieldGet.js +0 -7
  83. package/runtime/node_modules/@oxc-project/runtime/src/helpers/classPrivateFieldGet2.js +0 -5
  84. package/runtime/node_modules/@oxc-project/runtime/src/helpers/classPrivateFieldInitSpec.js +0 -5
  85. package/runtime/node_modules/@oxc-project/runtime/src/helpers/classPrivateFieldLooseBase.js +0 -5
  86. package/runtime/node_modules/@oxc-project/runtime/src/helpers/classPrivateFieldLooseKey.js +0 -5
  87. package/runtime/node_modules/@oxc-project/runtime/src/helpers/classPrivateFieldSet.js +0 -7
  88. package/runtime/node_modules/@oxc-project/runtime/src/helpers/classPrivateFieldSet2.js +0 -5
  89. package/runtime/node_modules/@oxc-project/runtime/src/helpers/classPrivateGetter.js +0 -5
  90. package/runtime/node_modules/@oxc-project/runtime/src/helpers/classPrivateMethodGet.js +0 -5
  91. package/runtime/node_modules/@oxc-project/runtime/src/helpers/classPrivateMethodInitSpec.js +0 -5
  92. package/runtime/node_modules/@oxc-project/runtime/src/helpers/classPrivateMethodSet.js +0 -4
  93. package/runtime/node_modules/@oxc-project/runtime/src/helpers/classPrivateSetter.js +0 -5
  94. package/runtime/node_modules/@oxc-project/runtime/src/helpers/classStaticPrivateFieldDestructureSet.js +0 -7
  95. package/runtime/node_modules/@oxc-project/runtime/src/helpers/classStaticPrivateFieldSpecGet.js +0 -7
  96. package/runtime/node_modules/@oxc-project/runtime/src/helpers/classStaticPrivateFieldSpecSet.js +0 -7
  97. package/runtime/node_modules/@oxc-project/runtime/src/helpers/classStaticPrivateMethodGet.js +0 -5
  98. package/runtime/node_modules/@oxc-project/runtime/src/helpers/classStaticPrivateMethodSet.js +0 -4
  99. package/runtime/node_modules/@oxc-project/runtime/src/helpers/construct.js +0 -10
  100. package/runtime/node_modules/@oxc-project/runtime/src/helpers/createClass.js +0 -13
  101. package/runtime/node_modules/@oxc-project/runtime/src/helpers/createForOfIteratorHelper.js +0 -50
  102. package/runtime/node_modules/@oxc-project/runtime/src/helpers/createForOfIteratorHelperLoose.js +0 -19
  103. package/runtime/node_modules/@oxc-project/runtime/src/helpers/createSuper.js +0 -16
  104. package/runtime/node_modules/@oxc-project/runtime/src/helpers/decorate.js +0 -23
  105. package/runtime/node_modules/@oxc-project/runtime/src/helpers/decorateMetadata.js +0 -9
  106. package/runtime/node_modules/@oxc-project/runtime/src/helpers/decorateParam.js +0 -11
  107. package/runtime/node_modules/@oxc-project/runtime/src/helpers/defaults.js +0 -9
  108. package/runtime/node_modules/@oxc-project/runtime/src/helpers/defineAccessor.js +0 -8
  109. package/runtime/node_modules/@oxc-project/runtime/src/helpers/defineEnumerableProperties.js +0 -12
  110. package/runtime/node_modules/@oxc-project/runtime/src/helpers/defineProperty.js +0 -10
  111. package/runtime/node_modules/@oxc-project/runtime/src/helpers/dispose.js +0 -28
  112. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/AwaitValue.js +0 -4
  113. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/OverloadYield.js +0 -4
  114. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/applyDecoratedDescriptor.js +0 -9
  115. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/applyDecs.js +0 -236
  116. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/applyDecs2203.js +0 -184
  117. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/applyDecs2203R.js +0 -191
  118. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/applyDecs2301.js +0 -222
  119. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/applyDecs2305.js +0 -133
  120. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/applyDecs2311.js +0 -124
  121. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/arrayLikeToArray.js +0 -6
  122. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/arrayWithHoles.js +0 -4
  123. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/arrayWithoutHoles.js +0 -5
  124. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/assertClassBrand.js +0 -5
  125. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/assertThisInitialized.js +0 -5
  126. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/asyncGeneratorDelegate.js +0 -24
  127. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/asyncIterator.js +0 -45
  128. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/asyncToGenerator.js +0 -26
  129. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/awaitAsyncGenerator.js +0 -5
  130. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/callSuper.js +0 -7
  131. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/checkInRHS.js +0 -6
  132. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/checkPrivateRedeclaration.js +0 -4
  133. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classApplyDescriptorDestructureSet.js +0 -10
  134. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classApplyDescriptorGet.js +0 -4
  135. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classApplyDescriptorSet.js +0 -7
  136. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classCallCheck.js +0 -4
  137. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classCheckPrivateStaticAccess.js +0 -5
  138. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classCheckPrivateStaticFieldDescriptor.js +0 -4
  139. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classExtractFieldDescriptor.js +0 -5
  140. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classNameTDZError.js +0 -4
  141. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classPrivateFieldDestructureSet.js +0 -7
  142. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classPrivateFieldGet.js +0 -7
  143. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classPrivateFieldGet2.js +0 -5
  144. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classPrivateFieldInitSpec.js +0 -5
  145. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classPrivateFieldLooseBase.js +0 -5
  146. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classPrivateFieldLooseKey.js +0 -5
  147. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classPrivateFieldSet.js +0 -7
  148. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classPrivateFieldSet2.js +0 -5
  149. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classPrivateGetter.js +0 -5
  150. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classPrivateMethodGet.js +0 -5
  151. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classPrivateMethodInitSpec.js +0 -5
  152. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classPrivateMethodSet.js +0 -4
  153. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classPrivateSetter.js +0 -5
  154. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classStaticPrivateFieldDestructureSet.js +0 -7
  155. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classStaticPrivateFieldSpecGet.js +0 -7
  156. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classStaticPrivateFieldSpecSet.js +0 -7
  157. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classStaticPrivateMethodGet.js +0 -5
  158. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classStaticPrivateMethodSet.js +0 -4
  159. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/construct.js +0 -10
  160. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/createClass.js +0 -13
  161. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/createForOfIteratorHelper.js +0 -50
  162. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/createForOfIteratorHelperLoose.js +0 -19
  163. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/createSuper.js +0 -16
  164. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/decorate.js +0 -21
  165. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/decorateMetadata.js +0 -7
  166. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/decorateParam.js +0 -9
  167. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/defaults.js +0 -9
  168. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/defineAccessor.js +0 -8
  169. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/defineEnumerableProperties.js +0 -12
  170. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/defineProperty.js +0 -10
  171. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/dispose.js +0 -28
  172. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/extends.js +0 -10
  173. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/get.js +0 -11
  174. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/getPrototypeOf.js +0 -6
  175. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/identity.js +0 -4
  176. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/importDeferProxy.js +0 -27
  177. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/inherits.js +0 -14
  178. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/inheritsLoose.js +0 -5
  179. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/initializerDefineProperty.js +0 -9
  180. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/initializerWarningHelper.js +0 -4
  181. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/instanceof.js +0 -4
  182. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/interopRequireDefault.js +0 -6
  183. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/interopRequireWildcard.js +0 -27
  184. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/isNativeFunction.js +0 -8
  185. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/isNativeReflectConstruct.js +0 -9
  186. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/iterableToArray.js +0 -4
  187. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/iterableToArrayLimit.js +0 -28
  188. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/jsx.js +0 -22
  189. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/maybeArrayLike.js +0 -9
  190. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/newArrowCheck.js +0 -4
  191. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/nonIterableRest.js +0 -4
  192. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/nonIterableSpread.js +0 -4
  193. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/nullishReceiverError.js +0 -4
  194. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/objectDestructuringEmpty.js +0 -4
  195. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/objectSpread.js +0 -14
  196. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/objectSpread2.js +0 -23
  197. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/objectWithoutProperties.js +0 -13
  198. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/objectWithoutPropertiesLoose.js +0 -10
  199. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/package.json +0 -3
  200. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/possibleConstructorReturn.js +0 -8
  201. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/readOnlyError.js +0 -4
  202. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/regeneratorRuntime.js +0 -304
  203. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/set.js +0 -22
  204. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/setFunctionName.js +0 -12
  205. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/setPrototypeOf.js +0 -6
  206. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/skipFirstGeneratorNext.js +0 -7
  207. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/slicedToArray.js +0 -8
  208. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/superPropBase.js +0 -6
  209. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/superPropGet.js +0 -9
  210. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/superPropSet.js +0 -6
  211. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/taggedTemplateLiteral.js +0 -8
  212. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/taggedTemplateLiteralLoose.js +0 -4
  213. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/tdz.js +0 -4
  214. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/temporalRef.js +0 -6
  215. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/temporalUndefined.js +0 -2
  216. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/toArray.js +0 -8
  217. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/toConsumableArray.js +0 -8
  218. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/toPrimitive.js +0 -12
  219. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/toPropertyKey.js +0 -7
  220. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/toSetter.js +0 -10
  221. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/typeof.js +0 -10
  222. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/unsupportedIterableToArray.js +0 -9
  223. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/using.js +0 -12
  224. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/usingCtx.js +0 -59
  225. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/wrapAsyncGenerator.js +0 -69
  226. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/wrapNativeSuper.js +0 -27
  227. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/wrapRegExp.js +0 -51
  228. package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/writeOnlyError.js +0 -4
  229. package/runtime/node_modules/@oxc-project/runtime/src/helpers/extends.js +0 -10
  230. package/runtime/node_modules/@oxc-project/runtime/src/helpers/get.js +0 -11
  231. package/runtime/node_modules/@oxc-project/runtime/src/helpers/getPrototypeOf.js +0 -6
  232. package/runtime/node_modules/@oxc-project/runtime/src/helpers/identity.js +0 -4
  233. package/runtime/node_modules/@oxc-project/runtime/src/helpers/importDeferProxy.js +0 -27
  234. package/runtime/node_modules/@oxc-project/runtime/src/helpers/inherits.js +0 -14
  235. package/runtime/node_modules/@oxc-project/runtime/src/helpers/inheritsLoose.js +0 -5
  236. package/runtime/node_modules/@oxc-project/runtime/src/helpers/initializerDefineProperty.js +0 -9
  237. package/runtime/node_modules/@oxc-project/runtime/src/helpers/initializerWarningHelper.js +0 -4
  238. package/runtime/node_modules/@oxc-project/runtime/src/helpers/instanceof.js +0 -4
  239. package/runtime/node_modules/@oxc-project/runtime/src/helpers/interopRequireDefault.js +0 -6
  240. package/runtime/node_modules/@oxc-project/runtime/src/helpers/interopRequireWildcard.js +0 -27
  241. package/runtime/node_modules/@oxc-project/runtime/src/helpers/isNativeFunction.js +0 -8
  242. package/runtime/node_modules/@oxc-project/runtime/src/helpers/isNativeReflectConstruct.js +0 -9
  243. package/runtime/node_modules/@oxc-project/runtime/src/helpers/iterableToArray.js +0 -4
  244. package/runtime/node_modules/@oxc-project/runtime/src/helpers/iterableToArrayLimit.js +0 -28
  245. package/runtime/node_modules/@oxc-project/runtime/src/helpers/jsx.js +0 -22
  246. package/runtime/node_modules/@oxc-project/runtime/src/helpers/maybeArrayLike.js +0 -9
  247. package/runtime/node_modules/@oxc-project/runtime/src/helpers/newArrowCheck.js +0 -4
  248. package/runtime/node_modules/@oxc-project/runtime/src/helpers/nonIterableRest.js +0 -4
  249. package/runtime/node_modules/@oxc-project/runtime/src/helpers/nonIterableSpread.js +0 -4
  250. package/runtime/node_modules/@oxc-project/runtime/src/helpers/nullishReceiverError.js +0 -4
  251. package/runtime/node_modules/@oxc-project/runtime/src/helpers/objectDestructuringEmpty.js +0 -4
  252. package/runtime/node_modules/@oxc-project/runtime/src/helpers/objectSpread.js +0 -14
  253. package/runtime/node_modules/@oxc-project/runtime/src/helpers/objectSpread2.js +0 -23
  254. package/runtime/node_modules/@oxc-project/runtime/src/helpers/objectWithoutProperties.js +0 -13
  255. package/runtime/node_modules/@oxc-project/runtime/src/helpers/objectWithoutPropertiesLoose.js +0 -10
  256. package/runtime/node_modules/@oxc-project/runtime/src/helpers/possibleConstructorReturn.js +0 -8
  257. package/runtime/node_modules/@oxc-project/runtime/src/helpers/readOnlyError.js +0 -4
  258. package/runtime/node_modules/@oxc-project/runtime/src/helpers/regeneratorRuntime.js +0 -304
  259. package/runtime/node_modules/@oxc-project/runtime/src/helpers/set.js +0 -22
  260. package/runtime/node_modules/@oxc-project/runtime/src/helpers/setFunctionName.js +0 -12
  261. package/runtime/node_modules/@oxc-project/runtime/src/helpers/setPrototypeOf.js +0 -6
  262. package/runtime/node_modules/@oxc-project/runtime/src/helpers/skipFirstGeneratorNext.js +0 -7
  263. package/runtime/node_modules/@oxc-project/runtime/src/helpers/slicedToArray.js +0 -8
  264. package/runtime/node_modules/@oxc-project/runtime/src/helpers/superPropBase.js +0 -6
  265. package/runtime/node_modules/@oxc-project/runtime/src/helpers/superPropGet.js +0 -9
  266. package/runtime/node_modules/@oxc-project/runtime/src/helpers/superPropSet.js +0 -6
  267. package/runtime/node_modules/@oxc-project/runtime/src/helpers/taggedTemplateLiteral.js +0 -8
  268. package/runtime/node_modules/@oxc-project/runtime/src/helpers/taggedTemplateLiteralLoose.js +0 -4
  269. package/runtime/node_modules/@oxc-project/runtime/src/helpers/tdz.js +0 -4
  270. package/runtime/node_modules/@oxc-project/runtime/src/helpers/temporalRef.js +0 -6
  271. package/runtime/node_modules/@oxc-project/runtime/src/helpers/temporalUndefined.js +0 -2
  272. package/runtime/node_modules/@oxc-project/runtime/src/helpers/toArray.js +0 -8
  273. package/runtime/node_modules/@oxc-project/runtime/src/helpers/toConsumableArray.js +0 -8
  274. package/runtime/node_modules/@oxc-project/runtime/src/helpers/toPrimitive.js +0 -12
  275. package/runtime/node_modules/@oxc-project/runtime/src/helpers/toPropertyKey.js +0 -7
  276. package/runtime/node_modules/@oxc-project/runtime/src/helpers/toSetter.js +0 -10
  277. package/runtime/node_modules/@oxc-project/runtime/src/helpers/typeof.js +0 -10
  278. package/runtime/node_modules/@oxc-project/runtime/src/helpers/unsupportedIterableToArray.js +0 -9
  279. package/runtime/node_modules/@oxc-project/runtime/src/helpers/using.js +0 -12
  280. package/runtime/node_modules/@oxc-project/runtime/src/helpers/usingCtx.js +0 -59
  281. package/runtime/node_modules/@oxc-project/runtime/src/helpers/wrapAsyncGenerator.js +0 -69
  282. package/runtime/node_modules/@oxc-project/runtime/src/helpers/wrapNativeSuper.js +0 -27
  283. package/runtime/node_modules/@oxc-project/runtime/src/helpers/wrapRegExp.js +0 -51
  284. package/runtime/node_modules/@oxc-project/runtime/src/helpers/writeOnlyError.js +0 -4
  285. package/runtime/node_modules/@petamoriken/float16/LICENSE +0 -21
  286. package/runtime/node_modules/@petamoriken/float16/README.md +0 -413
  287. package/runtime/node_modules/@petamoriken/float16/browser/float16.js +0 -1340
  288. package/runtime/node_modules/@petamoriken/float16/browser/float16.mjs +0 -1325
  289. package/runtime/node_modules/@petamoriken/float16/index.d.ts +0 -546
  290. package/runtime/node_modules/@petamoriken/float16/index.v5.6.d.ts +0 -546
  291. package/runtime/node_modules/@petamoriken/float16/index.v5.7.d.ts +0 -555
  292. package/runtime/node_modules/@petamoriken/float16/inspect/node.cjs +0 -25
  293. package/runtime/node_modules/@petamoriken/float16/inspect/node.mjs +0 -23
  294. package/runtime/node_modules/@petamoriken/float16/lib/DataView.cjs +0 -16
  295. package/runtime/node_modules/@petamoriken/float16/lib/Float16Array.cjs +0 -690
  296. package/runtime/node_modules/@petamoriken/float16/lib/_util/arrayIterator.cjs +0 -52
  297. package/runtime/node_modules/@petamoriken/float16/lib/_util/brand.cjs +0 -27
  298. package/runtime/node_modules/@petamoriken/float16/lib/_util/converter.cjs +0 -111
  299. package/runtime/node_modules/@petamoriken/float16/lib/_util/is.cjs +0 -78
  300. package/runtime/node_modules/@petamoriken/float16/lib/_util/messages.cjs +0 -18
  301. package/runtime/node_modules/@petamoriken/float16/lib/_util/primordials.cjs +0 -150
  302. package/runtime/node_modules/@petamoriken/float16/lib/_util/spec.cjs +0 -84
  303. package/runtime/node_modules/@petamoriken/float16/lib/f16round.cjs +0 -10
  304. package/runtime/node_modules/@petamoriken/float16/lib/index.cjs +0 -16
  305. package/runtime/node_modules/@petamoriken/float16/lib/isTypedArray.cjs +0 -11
  306. package/runtime/node_modules/@petamoriken/float16/package.json +0 -115
  307. package/runtime/node_modules/@petamoriken/float16/src/DataView.mjs +0 -35
  308. package/runtime/node_modules/@petamoriken/float16/src/Float16Array.mjs +0 -1194
  309. package/runtime/node_modules/@petamoriken/float16/src/_util/arrayIterator.mjs +0 -86
  310. package/runtime/node_modules/@petamoriken/float16/src/_util/brand.mjs +0 -31
  311. package/runtime/node_modules/@petamoriken/float16/src/_util/converter.mjs +0 -173
  312. package/runtime/node_modules/@petamoriken/float16/src/_util/is.mjs +0 -151
  313. package/runtime/node_modules/@petamoriken/float16/src/_util/messages.mjs +0 -22
  314. package/runtime/node_modules/@petamoriken/float16/src/_util/primordials.mjs +0 -254
  315. package/runtime/node_modules/@petamoriken/float16/src/_util/spec.mjs +0 -137
  316. package/runtime/node_modules/@petamoriken/float16/src/f16round.mjs +0 -10
  317. package/runtime/node_modules/@petamoriken/float16/src/index.mjs +0 -7
  318. package/runtime/node_modules/@petamoriken/float16/src/isTypedArray.mjs +0 -10
  319. package/runtime/node_modules/jsbi/LICENSE +0 -176
  320. package/runtime/node_modules/jsbi/README.md +0 -173
  321. package/runtime/node_modules/jsbi/dist/jsbi-cjs.js +0 -2
  322. package/runtime/node_modules/jsbi/dist/jsbi-cjs.js.map +0 -1
  323. package/runtime/node_modules/jsbi/dist/jsbi-umd.js +0 -2
  324. package/runtime/node_modules/jsbi/dist/jsbi-umd.js.map +0 -1
  325. package/runtime/node_modules/jsbi/dist/jsbi.mjs +0 -2
  326. package/runtime/node_modules/jsbi/dist/jsbi.mjs.map +0 -1
  327. package/runtime/node_modules/jsbi/jsbi.d.ts +0 -43
  328. package/runtime/node_modules/jsbi/package.json +0 -35
  329. package/runtime/node_modules/urlpattern-polyfill/LICENSE +0 -19
  330. package/runtime/node_modules/urlpattern-polyfill/README.md +0 -242
  331. package/runtime/node_modules/urlpattern-polyfill/dist/index.d.ts +0 -9
  332. package/runtime/node_modules/urlpattern-polyfill/dist/types.d.ts +0 -49
  333. package/runtime/node_modules/urlpattern-polyfill/dist/urlpattern.cjs +0 -1
  334. package/runtime/node_modules/urlpattern-polyfill/dist/urlpattern.js +0 -1
  335. package/runtime/node_modules/urlpattern-polyfill/index.cjs +0 -7
  336. package/runtime/node_modules/urlpattern-polyfill/index.js +0 -7
  337. package/runtime/node_modules/urlpattern-polyfill/package.json +0 -149
  338. package/runtime/pnp-bin-run.cjs +0 -91
  339. package/runtime/pnp-util.cjs +0 -62
  340. package/runtime/polyfills.cjs +0 -816
  341. package/runtime/preload-async-hooks.mjs +0 -110
  342. package/runtime/preload-common.cjs +0 -1096
  343. package/runtime/preload.cjs +0 -313
  344. package/runtime/preload.mjs +0 -149
  345. package/runtime/transform-core.mjs +0 -756
  346. package/runtime/version.mjs +0 -12
  347. package/runtime/worker-blob-url.cjs +0 -116
  348. package/runtime/worker-polyfill.mjs +0 -541
@@ -1,12 +0,0 @@
1
- // Single source of truth for the nub version that salts the transpile-cache key.
2
- //
3
- // `make version` rewrites the NUB_VERSION line below in lockstep with every npm
4
- // package + Cargo.toml, and `make version-check` fails the release build if it
5
- // drifts. Keeping it in its own side-effect-free module lets every transpile
6
- // surface — runtime/transform-core.mjs (the shared core), runtime/preload.mjs
7
- // (fast path), and the compat-tier loader worker — import the SAME value, so the
8
- // fast and compat tiers produce byte-identical cache entries under one key. (It
9
- // previously lived as a literal inside preload.mjs, which `make version` patched,
10
- // while the worker carried a hand-maintained "…-compat" copy that `make version`
11
- // never touched — a latent staleness bug this module closes.)
12
- export const NUB_VERSION = "0.2.3";
@@ -1,116 +0,0 @@
1
- // Blob-URL worker source capture — the SYNC half of WHATWG `blob:` worker support.
2
- //
3
- // A `new Worker(blobUrl)` must read the Blob's source SYNCHRONOUSLY in the
4
- // constructor, but a Blob's bytes are only readable via the async Blob.text /
5
- // arrayBuffer. We close that gap by snapshotting the source at
6
- // `URL.createObjectURL(blob)` time — which always runs BEFORE the Worker is
7
- // constructed — into a registry keyed by the minted URL.
8
- //
9
- // This lives in its OWN tiny CJS module (no node:worker_threads dependency) so the
10
- // main-thread preload can install the wrap EAGERLY: it must be live before user
11
- // code calls createObjectURL, whereas worker-polyfill.mjs (which pulls
12
- // worker_threads + the whole streams/worker-io builtin set) is loaded LAZILY on
13
- // first `new Worker` to protect cold start. The Worker class imports THIS module to
14
- // read `blobUrlSources`. Touches only URL / Blob / Buffer — all already-realized
15
- // core globals — so requiring it adds nothing to the main-thread bootstrap set.
16
-
17
- // blob: URL → source text. Shared with worker-polyfill.mjs's Worker constructor.
18
- const blobUrlSources = new Map();
19
- // Blob construction parts, remembered so createObjectURL can assemble source sync.
20
- const blobParts = new WeakMap();
21
-
22
- function decode(parts) {
23
- let src = "";
24
- for (const p of parts ?? []) {
25
- if (typeof p === "string") src += p;
26
- else if (typeof Buffer !== "undefined" && Buffer.isBuffer(p)) src += p.toString("utf8");
27
- else if (ArrayBuffer.isView(p)) src += Buffer.from(p.buffer, p.byteOffset, p.byteLength).toString("utf8");
28
- else if (p instanceof ArrayBuffer) src += Buffer.from(p).toString("utf8");
29
- else if (typeof p === "object" && p && typeof p.size === "number") {
30
- const nested = blobParts.get(p); // a nested Blob made via our wrapper
31
- if (nested) src += decode(nested);
32
- }
33
- }
34
- return src;
35
- }
36
-
37
- // Wrap URL.createObjectURL/revokeObjectURL and Proxy Blob to remember parts.
38
- // Idempotent + transparent for every non-worker use. No-op when URL has no
39
- // createObjectURL (older floors) — blob: workers are then simply unavailable.
40
- //
41
- // The install-marker is a Symbol, not a string property: it sits on the native
42
- // Blob constructor (a shared global), so a string key would show up in
43
- // `Reflect.ownKeys(Blob)` / `"x" in Blob` — a (cosmetic) divergence from vanilla
44
- // Node. A Symbol keeps the marker invisible to those reflective surfaces.
45
- const INSTALLED = Symbol.for("nub.blobUrlSupport.installed");
46
- function installBlobUrlSupport() {
47
- if (typeof URL === "undefined" || typeof URL.createObjectURL !== "function") return;
48
- if (URL.createObjectURL[INSTALLED]) return;
49
-
50
- const NativeBlob = globalThis.Blob;
51
- if (typeof NativeBlob === "function" && !NativeBlob[INSTALLED]) {
52
- // Record construction parts WITHOUT changing Blob's identity. The earlier
53
- // approach — a `class extends NativeBlob` swapped onto globalThis.Blob — broke
54
- // brand identity in two ways that a structured-clone exposes:
55
- // 1. A deserialized Blob (postMessage / structuredClone) is a NATIVE Blob, so
56
- // `cloned instanceof globalThis.Blob` was FALSE (subclass.prototype is not
57
- // in a native instance's chain) — a spec violation; native Node passes.
58
- // 2. WORSE, undici's webidl `is.Blob` uses the ORDINARY `[Symbol.hasInstance]`
59
- // (a prototype-chain check that ignores a custom hasInstance) against
60
- // `globalThis.Blob`, so `new Response(clonedBlob).arrayBuffer()` failed the
61
- // brand check and stringified the Blob to "[object Blob]" (13 bytes) instead
62
- // of reading its bytes. A custom `Symbol.hasInstance` can't fix this — undici
63
- // bypasses it.
64
- // The ROOT cause was `globalThis.Blob !== node:buffer.Blob`. A Proxy whose target
65
- // is the native Blob keeps `globalThis.Blob.prototype === NativeBlob.prototype`,
66
- // so every native Blob (constructed OR deserialized) passes both `instanceof` and
67
- // undici's ordinary-hasInstance check exactly as on vanilla Node — while the
68
- // `construct` trap still records parts for sync blob: worker source assembly. File
69
- // (which `extends` native Blob) then needs NO re-parenting: its instances already
70
- // have NativeBlob.prototype in their chain.
71
- const BlobProxy = new Proxy(NativeBlob, {
72
- construct(target, args, newTarget) {
73
- // FORWARD newTarget so a user subclass (`class X extends Blob {}`) gets ITS
74
- // prototype — passing `target` here would force NativeBlob.prototype and
75
- // silently break `new X() instanceof X` + the subclass's methods (an
76
- // additivity violation vs vanilla Node). When `new Blob(...)` is called
77
- // directly, newTarget IS this Proxy; Reflect.construct(NativeBlob, args, Proxy)
78
- // resolves the new instance's proto from `Proxy.prototype`, which the Proxy
79
- // forwards to NativeBlob.prototype — so a direct Blob is byte-identical to a
80
- // native one (same brand, passes instanceof + undici's webidl check).
81
- const inst = Reflect.construct(target, args, newTarget);
82
- if (args[0] != null) blobParts.set(inst, args[0]);
83
- return inst;
84
- },
85
- });
86
- Object.defineProperty(NativeBlob, INSTALLED, { value: true });
87
- Object.defineProperty(globalThis, "Blob", {
88
- value: BlobProxy,
89
- enumerable: false,
90
- writable: true,
91
- configurable: true,
92
- });
93
- // File's `extends` link still points at the real NativeBlob (unchanged), so
94
- // `new File(...) instanceof Blob` holds natively — no re-parenting needed.
95
- }
96
-
97
- const nativeCreate = URL.createObjectURL.bind(URL);
98
- const nativeRevoke =
99
- typeof URL.revokeObjectURL === "function" ? URL.revokeObjectURL.bind(URL) : null;
100
- const wrappedCreate = function createObjectURL(obj) {
101
- const url = nativeCreate(obj);
102
- const parts = blobParts.get(obj);
103
- if (parts) blobUrlSources.set(url, decode(parts));
104
- return url;
105
- };
106
- Object.defineProperty(wrappedCreate, INSTALLED, { value: true });
107
- URL.createObjectURL = wrappedCreate;
108
- if (nativeRevoke) {
109
- URL.revokeObjectURL = function revokeObjectURL(url) {
110
- blobUrlSources.delete(url);
111
- return nativeRevoke(url);
112
- };
113
- }
114
- }
115
-
116
- module.exports = { blobUrlSources, installBlobUrlSupport };
@@ -1,541 +0,0 @@
1
- // Browser-shape Worker global polyfill for Node.js.
2
- // Wraps node:worker_threads.Worker with EventTarget inheritance,
3
- // real MessageEvent/ErrorEvent, and URL-only constructor (Deno shape).
4
-
5
- // node: builtins are fetched via `process.getBuiltinModule` rather than static
6
- // `import`. This file is loaded via `require(esm)` from the preload (polyfills.cjs),
7
- // and Node's `require(esm)` instantiates an ES module by walking its STATIC IMPORT
8
- // graph through whatever ESM loader chain is registered — including the USER's
9
- // `--loader`/`register()` hooks. A static `import { Worker } from
10
- // "node:worker_threads"` therefore routes the builtin through the user chain; a
11
- // user load hook that returns SOURCE for node:worker_threads makes V8 see no
12
- // `Worker` export, so `new NodeWorker(...)` references an undefined binding and
13
- // the child crashes (observed against test-esm-loader-chaining). `process
14
- // .getBuiltinModule` fetches the real builtin synchronously off the loader graph,
15
- // bypassing the user chain entirely — same fix transform-core.mjs uses.
16
- //
17
- // The bootstrap MUST avoid a static `node:module` import too: it has the IDENTICAL
18
- // leak. The chaining corpus registers a user load hook (loader-load-foo-or-42.mjs)
19
- // that rewrites the SOURCE of `node:module` so its compiled namespace no longer
20
- // exports `createRequire` — so a static `import { createRequire } from "node:module"`
21
- // here threw `does not provide an export named 'createRequire'` and crashed every
22
- // run with that loader (the earlier comment claimed user hooks "don't intercept
23
- // node:module" — FALSE; this is the bug). So we use `process.getBuiltinModule` when
24
- // present (fast tier + modern compat: no static import, nothing for the user chain
25
- // to observe), and on the narrow FLOOR where it's absent (Node < 22.3/20.16/18.20.4,
26
- // loaded only via the compat-tier entries OFF any user chain) the createRequire
27
- // THREADED IN through `setBootstrapCreateRequire` below.
28
- //
29
- // BRAND BOUNDARY — the floor's `createRequire` is threaded through MODULE SCOPE, never
30
- // parked on `globalThis` (a `globalThis.__nub*` sentinel is the same brand leak as a
31
- // NUB_* env var — enumerable in user code AND worker realms — so it is forbidden). On
32
- // the floor this module is loaded ONLY via the compat-tier main-thread preload
33
- // (preload.mjs), which imports floor-builtin first, then — AFTER importing this module
34
- // — calls `setBootstrapCreateRequire(createRequire)` and `installWorkerPolyfill()`. So
35
- // the install work is deferred (this module does NOT auto-run on the floor): its body
36
- // fetches builtins, and on the floor those aren't reachable until the setter runs.
37
- // On the fast tier (getBuiltinModule present) the install runs eagerly at module eval
38
- // — see the auto-install at the bottom — so the existing side-effect-`require` call
39
- // sites (preload.cjs, polyfills.cjs) are unchanged.
40
- let _bootstrapCreateRequire = null;
41
- export function setBootstrapCreateRequire(fn) {
42
- _bootstrapCreateRequire = fn;
43
- }
44
- function __getBuiltin(id) {
45
- if (typeof process.getBuiltinModule === "function") return process.getBuiltinModule(id);
46
- return _bootstrapCreateRequire(import.meta.url)(id);
47
- }
48
-
49
- // `ErrorEvent` only became a global in Node 26. On the 22/24 floor it is
50
- // undefined, so `new ErrorEvent(...)` below would throw a ReferenceError inside
51
- // the worker's "error" handler — crashing the PARENT thread on every worker
52
- // that throws. Resolve the constructor lazily and memoize on first use: use the
53
- // native global when present, otherwise a minimal Event subclass carrying the
54
- // standard ErrorEvent fields (message/error/filename/lineno/colno).
55
- // See wiki/research/worker-polyfill.md.
56
- //
57
- // LAZY (not resolved at module load) on purpose: reading `globalThis.ErrorEvent`
58
- // at top level trips Node's lazy `ErrorEvent` getter, which eagerly realizes
59
- // ~100+ builtins (http2/tls/crypto/zlib/perf_hooks/webstreams) on EVERY startup
60
- // — a cold-start regression (process.moduleLoadList ~230 vs node's ~110) that
61
- // contradicts nub's fast-runner premise for the common "run a plain file, never
62
- // touch Workers" case. The constructors are only ever needed inside the
63
- // post-construction error/message handlers, so deferring resolution there costs
64
- // nothing for non-Worker programs and nothing measurable for Worker ones.
65
- let _ErrorEventCtor;
66
- function getErrorEventCtor() {
67
- return (_ErrorEventCtor ??=
68
- typeof globalThis.ErrorEvent === "function"
69
- ? globalThis.ErrorEvent
70
- : class ErrorEvent extends Event {
71
- constructor(type, init = {}) {
72
- super(type, init);
73
- this.message = init.message ?? "";
74
- this.error = init.error ?? null;
75
- this.filename = init.filename ?? "";
76
- this.lineno = init.lineno ?? 0;
77
- this.colno = init.colno ?? 0;
78
- }
79
- });
80
- }
81
-
82
- // Define the browser-shape `Worker` global (main thread) + the worker-side scope
83
- // (self/postMessage/message wiring). Acquires its node: builtins on entry — on the
84
- // floor that needs the threaded createRequire, so this runs only after the compat
85
- // entry has called setBootstrapCreateRequire (or, on the fast tier, eagerly via the
86
- // auto-install at the bottom).
87
- export function installWorkerPolyfill() {
88
- const { Worker: NodeWorker, parentPort, isMainThread } = __getBuiltin("node:worker_threads");
89
- const { fileURLToPath } = __getBuiltin("node:url");
90
- // blob: worker source registry, shared with the eager main-thread preload that
91
- // wraps URL.createObjectURL (worker-blob-url.cjs). Loaded via createRequire so
92
- // both this lazily-loaded ESM module and the eager CJS preload reference the SAME
93
- // module instance (Node dedupes by resolved path) — i.e. the SAME blobUrlSources.
94
- const { blobUrlSources, installBlobUrlSupport } = (
95
- typeof process.getBuiltinModule === "function"
96
- ? __getBuiltin("node:module").createRequire(import.meta.url)
97
- : _bootstrapCreateRequire(import.meta.url)
98
- )("./worker-blob-url.cjs");
99
-
100
- // Resolve a worker-error stack frame to {filename,lineno,colno} so the
101
- // ErrorEvent carries real source location, per WHATWG §10.2.6 (the spec
102
- // requires these fields populated from where the error was raised). Node's
103
- // `error` event delivers the thrown Error; we read its first stack frame.
104
- // Browser-scrubbing of cross-origin frames does not apply here (all worker
105
- // sources are same-origin local), so we surface the raw location.
106
- //
107
- // The frame is anchored at `at ` and consumes the optional `Func (` wrapper so
108
- // group 1 is JUST the path (a `file://` URL, an absolute POSIX path, or a
109
- // Windows `C:\…` path — the leading `C:` is NOT mistaken for the location
110
- // colon because the line:col are the LAST two `:`-segments). Without the anchor
111
- // + wrapper-consumption the path captured the `at Func (` prefix verbatim.
112
- const STACK_FRAME = /^at\s+(?:.+?\s+\()?(.+?):(\d+):(\d+)\)?$/;
113
- function locationFromError(err) {
114
- let filename = "";
115
- let lineno = 0;
116
- let colno = 0;
117
- const stack = err && typeof err.stack === "string" ? err.stack : "";
118
- for (const line of stack.split("\n")) {
119
- const t = line.trim();
120
- if (!t.startsWith("at ")) continue;
121
- const m = STACK_FRAME.exec(t);
122
- if (m) {
123
- filename = m[1].startsWith("file://") ? fileURLToPath(m[1]) : m[1];
124
- lineno = Number(m[2]) || 0;
125
- colno = Number(m[3]) || 0;
126
- break;
127
- }
128
- }
129
- return { filename, lineno, colno };
130
- }
131
-
132
- if (typeof globalThis.Worker === "undefined") {
133
- class Worker extends EventTarget {
134
- #worker;
135
- #name;
136
-
137
- constructor(url, options = {}) {
138
- super();
139
-
140
- // The WHATWG Worker constructor accepts a script URL. Per §10.2.6.3 the
141
- // standard inline mechanisms are `blob:` and `data:` URLs (there is no
142
- // inline-source-string form in the spec). We map each to a Node spawn:
143
- // - file path / file: URL → spawn the file (transpiled by nub's preload)
144
- // - data: URL → Node runs it directly (worker_threads v14.9)
145
- // - blob: URL → resolve the Blob via node:buffer, spawn its
146
- // source with eval:true (Node can't open blob:)
147
- let spawnTarget;
148
-
149
- const asUrlString =
150
- url instanceof URL ? url.href : typeof url === "string" ? url : null;
151
- if (asUrlString === null) {
152
- throw new TypeError("Worker constructor: url must be a string or URL");
153
- }
154
-
155
- if (asUrlString.startsWith("blob:")) {
156
- // A `blob:` worker (WHATWG inline mechanism). Node cannot open a blob:
157
- // URL as a worker entry, and the Blob's bytes are only readable
158
- // ASYNCHRONOUSLY (Blob.text/arrayBuffer) while this constructor is sync.
159
- // We close that gap by snapshotting the source SYNCHRONOUSLY at
160
- // `URL.createObjectURL(blob)` time (see installBlobUrlSupport) into a
161
- // module-scope registry keyed by URL, then spawn the source as a `data:`
162
- // URL. We use data: (NOT eval:true) deliberately: the `--import` preload
163
- // that installs nub's worker-side scope (self/postMessage) does NOT run in
164
- // an eval:true worker on the compat-tier FLOOR (Node 18.19 — verified), so
165
- // an eval-based blob worker has no `self` there; a data: URL worker is a
166
- // real module load and DOES receive the preload on every supported tier.
167
- const source = blobUrlSources.get(asUrlString);
168
- if (source === undefined) {
169
- throw new TypeError(
170
- `Worker constructor: blob URL '${asUrlString}' is not a known object URL`
171
- );
172
- }
173
- spawnTarget = new URL(
174
- "data:text/javascript;base64," + Buffer.from(source, "utf8").toString("base64")
175
- );
176
- } else if (asUrlString.startsWith("data:")) {
177
- spawnTarget = new URL(asUrlString);
178
- } else if (asUrlString.startsWith("file://")) {
179
- spawnTarget = fileURLToPath(asUrlString);
180
- } else {
181
- spawnTarget = asUrlString;
182
- }
183
-
184
- this.#name = typeof options.name === "string" ? options.name : "";
185
-
186
- // `type: "module" | "classic"` selects the worker's module system per the
187
- // spec. The worker-side scope exposes `importScripts` only for classic
188
- // workers (WHATWG WorkerGlobalScope — classic-only) and throws for module
189
- // workers. nub signals the choice to the worker via the internal
190
- // NUB_WORKER_TYPE env (internal plumbing var — exempt from the brand
191
- // boundary). Node still decides the entry's actual module/CJS PARSING by
192
- // file extension + package.json "type"; this env governs only which
193
- // importScripts surface the polyfill installs.
194
- const workerType =
195
- options.type === "classic" ? "classic" : "module";
196
-
197
- // Node rejects flags in Worker execArgv that imply V8 `--harmony-*` staging
198
- // flags (ERR_WORKER_INVALID_EXEC_ARGV): `--harmony-*` themselves, and
199
- // `--experimental-shadow-realm` (implies `--harmony-shadow-realm`). Strip
200
- // those from whatever execArgv we forward.
201
- const stripHarmony = (argv) =>
202
- argv.filter(
203
- f => !f.startsWith("--harmony") && f !== "--experimental-shadow-realm"
204
- );
205
- // execArgv: forward nub's preload-carrying parent execArgv by DEFAULT (so a
206
- // worker inherits nub's transpile augmentation), but if the user supplied
207
- // their own execArgv, MERGE rather than clobber — parent flags first, user
208
- // flags appended so the user's win on conflict.
209
- const execArgv = stripHarmony(
210
- Array.isArray(options.execArgv)
211
- ? [...process.execArgv, ...options.execArgv]
212
- : process.execArgv
213
- );
214
-
215
- const nodeOptions = {
216
- ...options,
217
- eval: false,
218
- execArgv,
219
- };
220
- // Thread the worker type AND name to the worker via internal env vars
221
- // (NUB_WORKER_TYPE / NUB_WORKER_NAME — internal plumbing, exempt from the
222
- // brand boundary). NUB_WORKER_NAME is REQUIRED for self.name across the
223
- // whole compat tier: worker_threads.threadName (the only native worker-side
224
- // reader of the {name} option) lands in v24.6.0 / v22.20.0, so it is absent
225
- // below that and the env is the sole portable carrier. We avoid disturbing
226
- // the user's env semantics: `worker_threads.SHARE_ENV` is a Symbol
227
- // (live-shared parent env) — spreading it would destroy the share — so in
228
- // that case we leave env untouched (self.name then falls back to native
229
- // threadName/"" and importScripts defaults to the classic form).
230
- const userEnv = options.env;
231
- if (typeof userEnv === "symbol") {
232
- // SHARE_ENV: leave nodeOptions.env as the user gave it; can't inject.
233
- } else {
234
- nodeOptions.env = {
235
- ...(userEnv ?? process.env),
236
- NUB_WORKER_TYPE: workerType,
237
- NUB_WORKER_NAME: this.#name,
238
- };
239
- }
240
- if (this.#name) nodeOptions.name = this.#name;
241
-
242
- this.#worker = new NodeWorker(spawnTarget, nodeOptions);
243
-
244
- this.#worker.on("message", (data) => {
245
- this.dispatchEvent(new MessageEvent("message", { data }));
246
- });
247
-
248
- // WHATWG: messageerror fires when an inbound message fails deserialization;
249
- // it is a plain MessageEvent with `data: null` (NOT carrying the error).
250
- this.#worker.on("messageerror", () => {
251
- this.dispatchEvent(new MessageEvent("messageerror", { data: null }));
252
- });
253
-
254
- this.#worker.on("error", (err) => {
255
- const ErrorEventCtor = getErrorEventCtor();
256
- const { filename, lineno, colno } = locationFromError(err);
257
- this.dispatchEvent(
258
- new ErrorEventCtor("error", {
259
- error: err,
260
- message: err.message,
261
- filename,
262
- lineno,
263
- colno,
264
- })
265
- );
266
- });
267
- // No `exit` event: WHATWG Workers have no exit event (it is a
268
- // node:worker_threads concept, not part of the web Worker surface).
269
- }
270
-
271
- get name() {
272
- return this.#name;
273
- }
274
-
275
- postMessage(data, transfer) {
276
- this.#worker.postMessage(data, transfer);
277
- }
278
-
279
- // WHATWG terminate() returns void. Node's returns a Promise; we discard it so
280
- // the surface matches the spec (the underlying termination still proceeds).
281
- terminate() {
282
- this.#worker.terminate();
283
- }
284
-
285
- #onmessageHandler = null;
286
- get onmessage() { return this.#onmessageHandler; }
287
- set onmessage(fn) {
288
- if (this.#onmessageHandler) this.removeEventListener("message", this.#onmessageHandler);
289
- this.#onmessageHandler = fn;
290
- if (fn) this.addEventListener("message", fn);
291
- }
292
-
293
- #onerrorHandler = null;
294
- get onerror() { return this.#onerrorHandler; }
295
- set onerror(fn) {
296
- if (this.#onerrorHandler) this.removeEventListener("error", this.#onerrorHandler);
297
- this.#onerrorHandler = fn;
298
- if (fn) this.addEventListener("error", fn);
299
- }
300
-
301
- #onmessageerrorHandler = null;
302
- get onmessageerror() { return this.#onmessageerrorHandler; }
303
- set onmessageerror(fn) {
304
- if (this.#onmessageerrorHandler) this.removeEventListener("messageerror", this.#onmessageerrorHandler);
305
- this.#onmessageerrorHandler = fn;
306
- if (fn) this.addEventListener("messageerror", fn);
307
- }
308
- }
309
-
310
- // NON-ENUMERABLE: invisible to `Object.keys(globalThis)` / for-in is the
311
- // additive contract — vanilla-Node code that enumerates the global object must
312
- // not observe nub's injected `Worker`. Node defines its own globals the same
313
- // way. Writable+configurable so user code can still override it.
314
- Object.defineProperty(globalThis, "Worker", {
315
- value: Worker,
316
- enumerable: false,
317
- writable: true,
318
- configurable: true,
319
- });
320
-
321
- // Enable blob: workers: wrap URL.createObjectURL so the source is captured
322
- // synchronously for the constructor's blob: branch. Transparent for all other
323
- // uses; installs once. Only on the main thread (where blob: URLs are minted).
324
- if (isMainThread) installBlobUrlSupport();
325
- }
326
-
327
- // Worker-side bootstrap: emulate the DedicatedWorkerGlobalScope on top of
328
- // node:worker_threads — `self`, `postMessage`, `close`, AND inbound message
329
- // events. Node's worker global is not an EventTarget and exposes none of these
330
- // (verified), so the polyfill provides the whole surface. Without the inbound
331
- // wiring, `self.onmessage` / `self.addEventListener("message", …)` never fire
332
- // and a parent→worker round-trip hangs — see wiki/research/worker-polyfill.md.
333
- if (!isMainThread && parentPort) {
334
- const scope = globalThis;
335
- // All of nub's worker-scope global injections below (self, addEventListener,
336
- // removeEventListener, dispatchEvent, postMessage, close) are defined
337
- // NON-ENUMERABLE. Node's worker global is not an EventTarget and exposes none
338
- // of these, so a worker doing `Object.keys(globalThis)` / for-in must not see
339
- // nub's additions — invisibility-to-enumeration is the additive contract.
340
- // writable+configurable mirrors Node's own global descriptors. (`onmessage`/
341
- // `onmessageerror` below already use Object.defineProperty, whose enumerable
342
- // defaults to false.)
343
- const defineGlobal = (name, value) =>
344
- Object.defineProperty(scope, name, {
345
- value,
346
- enumerable: false,
347
- writable: true,
348
- configurable: true,
349
- });
350
- defineGlobal("self", scope);
351
-
352
- // `self.name` — the worker's name from the constructor's {name} option (WHATWG
353
- // DedicatedWorkerGlobalScope.name). Node only exposes a worker-side reader for
354
- // the {name} option as `worker_threads.threadName` from v24.6.0 / v22.20.0 — it
355
- // is ABSENT across nub's whole compat tier (18.19–22.19), so it cannot be the
356
- // floor mechanism. We THREAD the name in ourselves via the internal
357
- // NUB_WORKER_NAME env (internal plumbing var — exempt from the brand boundary),
358
- // set by the main-side constructor.
359
- //
360
- // RESOLUTION ORDER — env FIRST (not native threadName): NUB_WORKER_NAME carries
361
- // the user's EXACT intent including the empty string, whereas native
362
- // `threadName` defaults to the literal sentinel "WorkerThread" for an UNNAMED
363
- // worker (it's the thread DISPLAY name, not the WHATWG worker name) — surfacing
364
- // that as self.name would be a spec divergence (an unnamed worker's name must be
365
- // ""). So: the injected env wins when present; native threadName is the fallback
366
- // ONLY on the SHARE_ENV path (where the ctor couldn't inject env), with the
367
- // "WorkerThread" sentinel filtered to "".
368
- {
369
- const wt = __getBuiltin("node:worker_threads");
370
- let name;
371
- if (typeof process.env.NUB_WORKER_NAME === "string") {
372
- name = process.env.NUB_WORKER_NAME;
373
- } else {
374
- const tn = wt && typeof wt.threadName === "string" ? wt.threadName : "";
375
- name = tn === "WorkerThread" ? "" : tn;
376
- }
377
- Object.defineProperty(scope, "name", {
378
- value: name,
379
- enumerable: false,
380
- writable: true,
381
- configurable: true,
382
- });
383
- }
384
-
385
- // `importScripts(...urls)` — WHATWG WorkerGlobalScope, CLASSIC workers only.
386
- // Synchronously fetches + evaluates each script in the global scope, in order.
387
- // A module worker MUST throw on importScripts (use `import` instead). nub learns
388
- // the worker's type from NUB_WORKER_TYPE (set by the main-side constructor).
389
- // Remote URLs are not supported (no sync network in Node); local file:/relative
390
- // paths and data: URLs are read synchronously.
391
- // Default to the classic (working) importScripts when the type is unset — this
392
- // is the SHARE_ENV edge where the constructor couldn't inject NUB_WORKER_TYPE.
393
- if (process.env.NUB_WORKER_TYPE !== "module") {
394
- const fs = __getBuiltin("node:fs");
395
- const { fileURLToPath: f2p, pathToFileURL } = __getBuiltin("node:url");
396
- defineGlobal("importScripts", (...urls) => {
397
- for (const u of urls) {
398
- const s = String(u);
399
- let code;
400
- if (s.startsWith("data:")) {
401
- const comma = s.indexOf(",");
402
- const meta = s.slice(5, comma);
403
- const body = s.slice(comma + 1);
404
- code = meta.includes("base64")
405
- ? Buffer.from(body, "base64").toString("utf8")
406
- : decodeURIComponent(body);
407
- } else if (/^https?:/.test(s)) {
408
- throw new TypeError(
409
- "importScripts: remote URLs are not supported (no synchronous network)"
410
- );
411
- } else {
412
- const path = s.startsWith("file://") ? f2p(s) : s;
413
- code = fs.readFileSync(path, "utf8");
414
- }
415
- // Indirect eval → runs in global scope, matching importScripts semantics.
416
- (0, eval)(code);
417
- }
418
- });
419
- } else {
420
- // Module workers: importScripts must throw (spec). Provide the throwing form
421
- // so the surface exists and the error is the spec-correct one.
422
- defineGlobal("importScripts", () => {
423
- throw new TypeError("importScripts is not available in module workers");
424
- });
425
- }
426
-
427
- // `message`/`messageerror` are DELEGATED straight onto the native `parentPort`
428
- // (a real Node MessagePort) so Node's own C++ event-loop ref-counting governs
429
- // worker lifetime: a worker that never listens leaves parentPort with no
430
- // listeners → Node unrefs it → the worker exits naturally (matching
431
- // `node:worker_threads` and Bun); a worker listening via `self.onmessage` /
432
- // `addEventListener("message", …)` refs it → stays alive. Node reflects
433
- // `{once}`/`{signal}`/last-listener removal in the loop ref-count in C++,
434
- // which no userland counter can observe. (Earlier this block eagerly held a
435
- // `parentPort.on("message")` forwarder, which kept EVERY worker's event loop
436
- // alive → pure `parentPort` workers that should exit hung forever. See
437
- // wiki/research/worker-polyfill.md §4.) All OTHER event types go to a private
438
- // EventTarget (additive; no globalThis prototype re-parenting — `event.target`
439
- // is that private target, the documented minor divergence).
440
- const other = new EventTarget();
441
- const otherAdd =
442
- typeof scope.addEventListener === "function"
443
- ? scope.addEventListener.bind(scope)
444
- : other.addEventListener.bind(other);
445
- const otherRemove =
446
- typeof scope.removeEventListener === "function"
447
- ? scope.removeEventListener.bind(scope)
448
- : other.removeEventListener.bind(other);
449
- const otherDispatch =
450
- typeof scope.dispatchEvent === "function"
451
- ? scope.dispatchEvent.bind(scope)
452
- : other.dispatchEvent.bind(other);
453
-
454
- const DELEGATED = new Set(["message", "messageerror"]);
455
- // user listener → its parentPort wrapper (per delegated event), so
456
- // removeEventListener detaches the exact wrapper Node registered.
457
- const wrappers = { message: new Map(), messageerror: new Map() };
458
-
459
- function addDelegated(evt, listener, opts) {
460
- const cb =
461
- typeof listener === "function"
462
- ? listener
463
- : listener && typeof listener.handleEvent === "function"
464
- ? (e) => listener.handleEvent(e)
465
- : null;
466
- if (!cb) return;
467
- const map = wrappers[evt];
468
- if (map.has(listener)) return; // EventTarget dedups identical (type, listener)
469
- const o = opts && typeof opts === "object" ? opts : {};
470
- if (o.signal && o.signal.aborted) return;
471
- const fire = (data) => cb.call(scope, new MessageEvent(evt, { data }));
472
- let wrapper;
473
- if (o.once) {
474
- wrapper = (data) => {
475
- map.delete(listener);
476
- fire(data);
477
- };
478
- parentPort.once(evt, wrapper);
479
- } else {
480
- wrapper = fire;
481
- parentPort.on(evt, wrapper);
482
- }
483
- map.set(listener, wrapper);
484
- if (o.signal) {
485
- o.signal.addEventListener("abort", () => removeDelegated(evt, listener), {
486
- once: true,
487
- });
488
- }
489
- }
490
- function removeDelegated(evt, listener) {
491
- const wrapper = wrappers[evt].get(listener);
492
- if (wrapper) {
493
- parentPort.off(evt, wrapper);
494
- wrappers[evt].delete(listener);
495
- }
496
- }
497
-
498
- defineGlobal("addEventListener", (type, listener, opts) =>
499
- DELEGATED.has(type)
500
- ? addDelegated(type, listener, opts)
501
- : otherAdd(type, listener, opts));
502
- defineGlobal("removeEventListener", (type, listener, opts) =>
503
- DELEGATED.has(type)
504
- ? removeDelegated(type, listener)
505
- : otherRemove(type, listener, opts));
506
- defineGlobal("dispatchEvent", (ev) => otherDispatch(ev));
507
-
508
- // `onmessage` / `onmessageerror` register via the delegating add/remove above,
509
- // mirroring the web API and the main-side Worker. Assigning `null` removes the
510
- // last listener → parentPort unrefs → the worker can exit (Bun parity).
511
- for (const evt of ["message", "messageerror"]) {
512
- let handler = null;
513
- Object.defineProperty(scope, "on" + evt, {
514
- configurable: true,
515
- get() {
516
- return handler;
517
- },
518
- set(fn) {
519
- if (handler) scope.removeEventListener(evt, handler);
520
- handler = typeof fn === "function" ? fn : null;
521
- if (handler) scope.addEventListener(evt, handler);
522
- },
523
- });
524
- }
525
-
526
- // Outbound + lifecycle.
527
- if (typeof scope.postMessage !== "function") {
528
- defineGlobal("postMessage", (data, transfer) => parentPort.postMessage(data, transfer));
529
- }
530
- if (typeof scope.close !== "function") {
531
- defineGlobal("close", () => process.exit(0));
532
- }
533
- }
534
- }
535
-
536
- // Fast tier (and modern compat): getBuiltinModule is present, so the install needs no
537
- // threaded createRequire — run it eagerly at module eval, preserving the side-effect-
538
- // on-`require` contract the fast-tier call sites (preload.cjs, polyfills.cjs) rely on.
539
- // On the FLOOR (getBuiltinModule absent) this is skipped; the compat main-thread
540
- // preload calls setBootstrapCreateRequire(...) + installWorkerPolyfill() explicitly.
541
- if (typeof process.getBuiltinModule === "function") installWorkerPolyfill();