node-datachannel 0.4.3 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (532) hide show
  1. package/.github/workflows/build-linux.yml +10 -10
  2. package/.github/workflows/build-mac-m1.yml +5 -5
  3. package/.github/workflows/build-mac-x64.yml +5 -5
  4. package/.github/workflows/build-win.yml +11 -8
  5. package/.github/workflows/lint.yml +1 -1
  6. package/.github/workflows/npm-publish-manual.yml +1 -1
  7. package/{.prettierrc.js → .prettierrc.cjs} +1 -0
  8. package/BULDING.md +7 -3
  9. package/CMakeLists.txt +12 -22
  10. package/README.md +37 -33
  11. package/cmake/toolchain/arm64.cmake +1 -1
  12. package/examples/client-server/README.md +22 -0
  13. package/examples/client-server/client-benchmark.js +11 -6
  14. package/examples/client-server/client-periodic.js +5 -6
  15. package/examples/client-server/client.js +4 -5
  16. package/examples/client-server/package-lock.json +311 -260
  17. package/examples/client-server/package.json +15 -14
  18. package/examples/client-server/signaling-server.js +1 -2
  19. package/examples/electron-demo/README.md +58 -0
  20. package/examples/electron-demo/forge.config.js +49 -0
  21. package/examples/electron-demo/package-lock.json +16032 -0
  22. package/examples/electron-demo/package.json +43 -0
  23. package/examples/electron-demo/src/index.css +7 -0
  24. package/examples/electron-demo/src/index.html +29 -0
  25. package/examples/electron-demo/src/main.js +53 -0
  26. package/examples/electron-demo/src/node-datachannel.js +123 -0
  27. package/examples/electron-demo/src/preload.js +28 -0
  28. package/examples/electron-demo/src/renderer.js +58 -0
  29. package/examples/electron-demo/webpack.main.config.js +11 -0
  30. package/examples/electron-demo/webpack.renderer.config.js +13 -0
  31. package/examples/electron-demo/webpack.rules.js +35 -0
  32. package/examples/media/README.md +3 -3
  33. package/examples/media/media.js +3 -4
  34. package/examples/simple-peer-usage/main.js +28 -0
  35. package/examples/simple-peer-usage/package-lock.json +317 -0
  36. package/examples/simple-peer-usage/package.json +16 -0
  37. package/lib/datachannel-stream.js +3 -4
  38. package/lib/index.d.ts +12 -4
  39. package/lib/index.js +37 -3
  40. package/package.json +81 -68
  41. package/polyfill/Events.d.ts +9 -0
  42. package/polyfill/Events.js +27 -0
  43. package/polyfill/README.md +41 -0
  44. package/polyfill/RTCCertificate.d.ts +7 -0
  45. package/polyfill/RTCCertificate.js +17 -0
  46. package/polyfill/RTCDataChannel.d.ts +35 -0
  47. package/polyfill/RTCDataChannel.js +175 -0
  48. package/polyfill/RTCDtlsTransport.d.ts +10 -0
  49. package/polyfill/RTCDtlsTransport.js +47 -0
  50. package/polyfill/RTCIceCandidate.d.ts +20 -0
  51. package/polyfill/RTCIceCandidate.js +126 -0
  52. package/polyfill/RTCIceTransport.d.ts +18 -0
  53. package/polyfill/RTCIceTransport.js +82 -0
  54. package/polyfill/RTCPeerConnection.d.ts +50 -0
  55. package/polyfill/RTCPeerConnection.js +371 -0
  56. package/polyfill/RTCSctpTransport.d.ts +10 -0
  57. package/polyfill/RTCSctpTransport.js +53 -0
  58. package/polyfill/RTCSessionDescription.d.ts +7 -0
  59. package/polyfill/RTCSessionDescription.js +37 -0
  60. package/polyfill/index.d.ts +14 -0
  61. package/polyfill/index.js +14 -0
  62. package/src/data-channel-wrapper.cpp +47 -6
  63. package/src/main.cpp +5 -5
  64. package/src/peer-connection-wrapper.cpp +191 -9
  65. package/src/peer-connection-wrapper.h +6 -0
  66. package/src/rtc-wrapper.cpp +14 -9
  67. package/src/thread-safe-callback.cpp +4 -10
  68. package/src/thread-safe-callback.h +3 -12
  69. package/test/connectivity.js +9 -4
  70. package/test/polyfill-connectivity.js +90 -0
  71. package/test/test.js +2 -2
  72. package/test/wpt.js +50 -0
  73. package/examples/README.md +0 -21
  74. package/node_modules/ansi-regex/index.js +0 -4
  75. package/node_modules/ansi-regex/license +0 -21
  76. package/node_modules/ansi-regex/package.json +0 -111
  77. package/node_modules/ansi-regex/readme.md +0 -39
  78. package/node_modules/aproba/LICENSE +0 -14
  79. package/node_modules/aproba/README.md +0 -94
  80. package/node_modules/aproba/index.js +0 -105
  81. package/node_modules/aproba/package.json +0 -65
  82. package/node_modules/base64-js/LICENSE +0 -21
  83. package/node_modules/base64-js/README.md +0 -34
  84. package/node_modules/base64-js/base64js.min.js +0 -1
  85. package/node_modules/base64-js/index.d.ts +0 -3
  86. package/node_modules/base64-js/index.js +0 -150
  87. package/node_modules/base64-js/package.json +0 -78
  88. package/node_modules/buffer/AUTHORS.md +0 -70
  89. package/node_modules/buffer/LICENSE +0 -21
  90. package/node_modules/buffer/README.md +0 -410
  91. package/node_modules/buffer/index.d.ts +0 -186
  92. package/node_modules/buffer/index.js +0 -1817
  93. package/node_modules/buffer/package.json +0 -130
  94. package/node_modules/chownr/LICENSE +0 -15
  95. package/node_modules/chownr/README.md +0 -3
  96. package/node_modules/chownr/chownr.js +0 -167
  97. package/node_modules/chownr/package.json +0 -66
  98. package/node_modules/code-point-at/index.js +0 -32
  99. package/node_modules/code-point-at/license +0 -21
  100. package/node_modules/code-point-at/package.json +0 -73
  101. package/node_modules/code-point-at/readme.md +0 -32
  102. package/node_modules/console-control-strings/LICENSE +0 -13
  103. package/node_modules/console-control-strings/README.md +0 -145
  104. package/node_modules/console-control-strings/README.md~ +0 -140
  105. package/node_modules/console-control-strings/index.js +0 -125
  106. package/node_modules/console-control-strings/package.json +0 -64
  107. package/node_modules/core-util-is/LICENSE +0 -19
  108. package/node_modules/core-util-is/README.md +0 -3
  109. package/node_modules/core-util-is/float.patch +0 -604
  110. package/node_modules/core-util-is/lib/util.js +0 -107
  111. package/node_modules/core-util-is/package.json +0 -70
  112. package/node_modules/core-util-is/test.js +0 -68
  113. package/node_modules/decompress-response/index.d.ts +0 -22
  114. package/node_modules/decompress-response/index.js +0 -58
  115. package/node_modules/decompress-response/license +0 -9
  116. package/node_modules/decompress-response/package.json +0 -91
  117. package/node_modules/decompress-response/readme.md +0 -48
  118. package/node_modules/deep-extend/CHANGELOG.md +0 -46
  119. package/node_modules/deep-extend/LICENSE +0 -20
  120. package/node_modules/deep-extend/README.md +0 -91
  121. package/node_modules/deep-extend/index.js +0 -1
  122. package/node_modules/deep-extend/lib/deep-extend.js +0 -150
  123. package/node_modules/deep-extend/package.json +0 -95
  124. package/node_modules/delegates/.npmignore +0 -1
  125. package/node_modules/delegates/History.md +0 -22
  126. package/node_modules/delegates/License +0 -20
  127. package/node_modules/delegates/Makefile +0 -8
  128. package/node_modules/delegates/Readme.md +0 -94
  129. package/node_modules/delegates/index.js +0 -121
  130. package/node_modules/delegates/package.json +0 -53
  131. package/node_modules/delegates/test/index.js +0 -94
  132. package/node_modules/detect-libc/LICENSE +0 -201
  133. package/node_modules/detect-libc/README.md +0 -160
  134. package/node_modules/detect-libc/index.d.ts +0 -11
  135. package/node_modules/detect-libc/lib/detect-libc.js +0 -178
  136. package/node_modules/detect-libc/lib/process.js +0 -16
  137. package/node_modules/detect-libc/package.json +0 -75
  138. package/node_modules/end-of-stream/LICENSE +0 -21
  139. package/node_modules/end-of-stream/README.md +0 -54
  140. package/node_modules/end-of-stream/index.js +0 -94
  141. package/node_modules/end-of-stream/package.json +0 -69
  142. package/node_modules/expand-template/.travis.yml +0 -6
  143. package/node_modules/expand-template/LICENSE +0 -21
  144. package/node_modules/expand-template/README.md +0 -43
  145. package/node_modules/expand-template/index.js +0 -26
  146. package/node_modules/expand-template/package.json +0 -63
  147. package/node_modules/expand-template/test.js +0 -67
  148. package/node_modules/fs-constants/LICENSE +0 -21
  149. package/node_modules/fs-constants/README.md +0 -26
  150. package/node_modules/fs-constants/browser.js +0 -1
  151. package/node_modules/fs-constants/index.js +0 -1
  152. package/node_modules/fs-constants/package.json +0 -50
  153. package/node_modules/github-from-package/.travis.yml +0 -4
  154. package/node_modules/github-from-package/LICENSE +0 -18
  155. package/node_modules/github-from-package/example/package.json +0 -8
  156. package/node_modules/github-from-package/example/url.js +0 -3
  157. package/node_modules/github-from-package/index.js +0 -17
  158. package/node_modules/github-from-package/package.json +0 -62
  159. package/node_modules/github-from-package/readme.markdown +0 -53
  160. package/node_modules/github-from-package/test/a.json +0 -8
  161. package/node_modules/github-from-package/test/b.json +0 -5
  162. package/node_modules/github-from-package/test/c.json +0 -5
  163. package/node_modules/github-from-package/test/d.json +0 -7
  164. package/node_modules/github-from-package/test/e.json +0 -5
  165. package/node_modules/github-from-package/test/url.js +0 -19
  166. package/node_modules/has-unicode/LICENSE +0 -14
  167. package/node_modules/has-unicode/README.md +0 -43
  168. package/node_modules/has-unicode/index.js +0 -16
  169. package/node_modules/has-unicode/package.json +0 -62
  170. package/node_modules/ieee754/LICENSE +0 -11
  171. package/node_modules/ieee754/README.md +0 -51
  172. package/node_modules/ieee754/index.d.ts +0 -10
  173. package/node_modules/ieee754/index.js +0 -85
  174. package/node_modules/ieee754/package.json +0 -87
  175. package/node_modules/inherits/LICENSE +0 -16
  176. package/node_modules/inherits/README.md +0 -42
  177. package/node_modules/inherits/inherits.js +0 -9
  178. package/node_modules/inherits/inherits_browser.js +0 -27
  179. package/node_modules/inherits/package.json +0 -78
  180. package/node_modules/ini/LICENSE +0 -15
  181. package/node_modules/ini/README.md +0 -102
  182. package/node_modules/ini/ini.js +0 -206
  183. package/node_modules/ini/package.json +0 -69
  184. package/node_modules/is-fullwidth-code-point/index.js +0 -46
  185. package/node_modules/is-fullwidth-code-point/license +0 -21
  186. package/node_modules/is-fullwidth-code-point/package.json +0 -80
  187. package/node_modules/is-fullwidth-code-point/readme.md +0 -39
  188. package/node_modules/isarray/.npmignore +0 -1
  189. package/node_modules/isarray/.travis.yml +0 -4
  190. package/node_modules/isarray/Makefile +0 -6
  191. package/node_modules/isarray/README.md +0 -60
  192. package/node_modules/isarray/component.json +0 -19
  193. package/node_modules/isarray/index.js +0 -5
  194. package/node_modules/isarray/package.json +0 -77
  195. package/node_modules/isarray/test.js +0 -20
  196. package/node_modules/lru-cache/LICENSE +0 -15
  197. package/node_modules/lru-cache/README.md +0 -166
  198. package/node_modules/lru-cache/index.js +0 -334
  199. package/node_modules/lru-cache/node_modules/yallist/LICENSE +0 -15
  200. package/node_modules/lru-cache/node_modules/yallist/README.md +0 -204
  201. package/node_modules/lru-cache/node_modules/yallist/iterator.js +0 -8
  202. package/node_modules/lru-cache/node_modules/yallist/package.json +0 -65
  203. package/node_modules/lru-cache/node_modules/yallist/yallist.js +0 -426
  204. package/node_modules/lru-cache/package.json +0 -73
  205. package/node_modules/mimic-response/index.d.ts +0 -17
  206. package/node_modules/mimic-response/index.js +0 -77
  207. package/node_modules/mimic-response/license +0 -9
  208. package/node_modules/mimic-response/package.json +0 -77
  209. package/node_modules/mimic-response/readme.md +0 -78
  210. package/node_modules/minimist/.travis.yml +0 -8
  211. package/node_modules/minimist/LICENSE +0 -18
  212. package/node_modules/minimist/example/parse.js +0 -2
  213. package/node_modules/minimist/index.js +0 -249
  214. package/node_modules/minimist/package.json +0 -79
  215. package/node_modules/minimist/readme.markdown +0 -98
  216. package/node_modules/minimist/test/all_bool.js +0 -32
  217. package/node_modules/minimist/test/bool.js +0 -178
  218. package/node_modules/minimist/test/dash.js +0 -31
  219. package/node_modules/minimist/test/default_bool.js +0 -35
  220. package/node_modules/minimist/test/dotted.js +0 -22
  221. package/node_modules/minimist/test/kv_short.js +0 -16
  222. package/node_modules/minimist/test/long.js +0 -31
  223. package/node_modules/minimist/test/num.js +0 -36
  224. package/node_modules/minimist/test/parse.js +0 -197
  225. package/node_modules/minimist/test/parse_modified.js +0 -9
  226. package/node_modules/minimist/test/proto.js +0 -60
  227. package/node_modules/minimist/test/short.js +0 -67
  228. package/node_modules/minimist/test/stop_early.js +0 -15
  229. package/node_modules/minimist/test/unknown.js +0 -102
  230. package/node_modules/minimist/test/whitespace.js +0 -8
  231. package/node_modules/mkdirp-classic/LICENSE +0 -21
  232. package/node_modules/mkdirp-classic/README.md +0 -18
  233. package/node_modules/mkdirp-classic/index.js +0 -98
  234. package/node_modules/mkdirp-classic/package.json +0 -50
  235. package/node_modules/napi-build-utils/LICENSE +0 -21
  236. package/node_modules/napi-build-utils/README.md +0 -48
  237. package/node_modules/napi-build-utils/index.js +0 -213
  238. package/node_modules/napi-build-utils/index.md +0 -81
  239. package/node_modules/napi-build-utils/package.json +0 -72
  240. package/node_modules/node-abi/.circleci/config.yml +0 -63
  241. package/node_modules/node-abi/.github/workflows/update-abi.yml +0 -41
  242. package/node_modules/node-abi/.releaserc.json +0 -9
  243. package/node_modules/node-abi/CODE_OF_CONDUCT.md +0 -73
  244. package/node_modules/node-abi/CONTRIBUTING.md +0 -53
  245. package/node_modules/node-abi/LICENSE +0 -21
  246. package/node_modules/node-abi/README.md +0 -50
  247. package/node_modules/node-abi/abi_registry.json +0 -186
  248. package/node_modules/node-abi/index.js +0 -179
  249. package/node_modules/node-abi/node_modules/semver/LICENSE +0 -15
  250. package/node_modules/node-abi/node_modules/semver/README.md +0 -568
  251. package/node_modules/node-abi/node_modules/semver/bin/semver.js +0 -183
  252. package/node_modules/node-abi/node_modules/semver/classes/comparator.js +0 -136
  253. package/node_modules/node-abi/node_modules/semver/classes/index.js +0 -5
  254. package/node_modules/node-abi/node_modules/semver/classes/range.js +0 -519
  255. package/node_modules/node-abi/node_modules/semver/classes/semver.js +0 -287
  256. package/node_modules/node-abi/node_modules/semver/functions/clean.js +0 -6
  257. package/node_modules/node-abi/node_modules/semver/functions/cmp.js +0 -52
  258. package/node_modules/node-abi/node_modules/semver/functions/coerce.js +0 -52
  259. package/node_modules/node-abi/node_modules/semver/functions/compare-build.js +0 -7
  260. package/node_modules/node-abi/node_modules/semver/functions/compare-loose.js +0 -3
  261. package/node_modules/node-abi/node_modules/semver/functions/compare.js +0 -5
  262. package/node_modules/node-abi/node_modules/semver/functions/diff.js +0 -23
  263. package/node_modules/node-abi/node_modules/semver/functions/eq.js +0 -3
  264. package/node_modules/node-abi/node_modules/semver/functions/gt.js +0 -3
  265. package/node_modules/node-abi/node_modules/semver/functions/gte.js +0 -3
  266. package/node_modules/node-abi/node_modules/semver/functions/inc.js +0 -18
  267. package/node_modules/node-abi/node_modules/semver/functions/lt.js +0 -3
  268. package/node_modules/node-abi/node_modules/semver/functions/lte.js +0 -3
  269. package/node_modules/node-abi/node_modules/semver/functions/major.js +0 -3
  270. package/node_modules/node-abi/node_modules/semver/functions/minor.js +0 -3
  271. package/node_modules/node-abi/node_modules/semver/functions/neq.js +0 -3
  272. package/node_modules/node-abi/node_modules/semver/functions/parse.js +0 -33
  273. package/node_modules/node-abi/node_modules/semver/functions/patch.js +0 -3
  274. package/node_modules/node-abi/node_modules/semver/functions/prerelease.js +0 -6
  275. package/node_modules/node-abi/node_modules/semver/functions/rcompare.js +0 -3
  276. package/node_modules/node-abi/node_modules/semver/functions/rsort.js +0 -3
  277. package/node_modules/node-abi/node_modules/semver/functions/satisfies.js +0 -10
  278. package/node_modules/node-abi/node_modules/semver/functions/sort.js +0 -3
  279. package/node_modules/node-abi/node_modules/semver/functions/valid.js +0 -6
  280. package/node_modules/node-abi/node_modules/semver/index.js +0 -48
  281. package/node_modules/node-abi/node_modules/semver/internal/constants.js +0 -17
  282. package/node_modules/node-abi/node_modules/semver/internal/debug.js +0 -9
  283. package/node_modules/node-abi/node_modules/semver/internal/identifiers.js +0 -23
  284. package/node_modules/node-abi/node_modules/semver/internal/parse-options.js +0 -11
  285. package/node_modules/node-abi/node_modules/semver/internal/re.js +0 -182
  286. package/node_modules/node-abi/node_modules/semver/package.json +0 -109
  287. package/node_modules/node-abi/node_modules/semver/preload.js +0 -2
  288. package/node_modules/node-abi/node_modules/semver/range.bnf +0 -16
  289. package/node_modules/node-abi/node_modules/semver/ranges/gtr.js +0 -4
  290. package/node_modules/node-abi/node_modules/semver/ranges/intersects.js +0 -7
  291. package/node_modules/node-abi/node_modules/semver/ranges/ltr.js +0 -4
  292. package/node_modules/node-abi/node_modules/semver/ranges/max-satisfying.js +0 -25
  293. package/node_modules/node-abi/node_modules/semver/ranges/min-satisfying.js +0 -24
  294. package/node_modules/node-abi/node_modules/semver/ranges/min-version.js +0 -61
  295. package/node_modules/node-abi/node_modules/semver/ranges/outside.js +0 -80
  296. package/node_modules/node-abi/node_modules/semver/ranges/simplify.js +0 -47
  297. package/node_modules/node-abi/node_modules/semver/ranges/subset.js +0 -244
  298. package/node_modules/node-abi/node_modules/semver/ranges/to-comparators.js +0 -8
  299. package/node_modules/node-abi/node_modules/semver/ranges/valid.js +0 -11
  300. package/node_modules/node-abi/package.json +0 -72
  301. package/node_modules/node-abi/scripts/update-abi-registry.js +0 -119
  302. package/node_modules/node-abi/test/index.js +0 -166
  303. package/node_modules/npmlog/CHANGELOG.md +0 -49
  304. package/node_modules/npmlog/LICENSE +0 -15
  305. package/node_modules/npmlog/README.md +0 -216
  306. package/node_modules/npmlog/log.js +0 -309
  307. package/node_modules/npmlog/node_modules/are-we-there-yet/CHANGES.md +0 -37
  308. package/node_modules/npmlog/node_modules/are-we-there-yet/LICENSE +0 -5
  309. package/node_modules/npmlog/node_modules/are-we-there-yet/README.md +0 -195
  310. package/node_modules/npmlog/node_modules/are-we-there-yet/index.js +0 -4
  311. package/node_modules/npmlog/node_modules/are-we-there-yet/package.json +0 -66
  312. package/node_modules/npmlog/node_modules/are-we-there-yet/tracker-base.js +0 -11
  313. package/node_modules/npmlog/node_modules/are-we-there-yet/tracker-group.js +0 -107
  314. package/node_modules/npmlog/node_modules/are-we-there-yet/tracker-stream.js +0 -36
  315. package/node_modules/npmlog/node_modules/are-we-there-yet/tracker.js +0 -30
  316. package/node_modules/npmlog/node_modules/gauge/CHANGELOG.md +0 -160
  317. package/node_modules/npmlog/node_modules/gauge/LICENSE +0 -13
  318. package/node_modules/npmlog/node_modules/gauge/README.md +0 -399
  319. package/node_modules/npmlog/node_modules/gauge/base-theme.js +0 -14
  320. package/node_modules/npmlog/node_modules/gauge/error.js +0 -24
  321. package/node_modules/npmlog/node_modules/gauge/has-color.js +0 -12
  322. package/node_modules/npmlog/node_modules/gauge/index.js +0 -233
  323. package/node_modules/npmlog/node_modules/gauge/package.json +0 -94
  324. package/node_modules/npmlog/node_modules/gauge/plumbing.js +0 -48
  325. package/node_modules/npmlog/node_modules/gauge/process.js +0 -3
  326. package/node_modules/npmlog/node_modules/gauge/progress-bar.js +0 -35
  327. package/node_modules/npmlog/node_modules/gauge/render-template.js +0 -181
  328. package/node_modules/npmlog/node_modules/gauge/set-immediate.js +0 -7
  329. package/node_modules/npmlog/node_modules/gauge/set-interval.js +0 -3
  330. package/node_modules/npmlog/node_modules/gauge/spin.js +0 -5
  331. package/node_modules/npmlog/node_modules/gauge/template-item.js +0 -73
  332. package/node_modules/npmlog/node_modules/gauge/theme-set.js +0 -115
  333. package/node_modules/npmlog/node_modules/gauge/themes.js +0 -54
  334. package/node_modules/npmlog/node_modules/gauge/wide-truncate.js +0 -25
  335. package/node_modules/npmlog/package.json +0 -78
  336. package/node_modules/number-is-nan/index.js +0 -4
  337. package/node_modules/number-is-nan/license +0 -21
  338. package/node_modules/number-is-nan/package.json +0 -70
  339. package/node_modules/number-is-nan/readme.md +0 -28
  340. package/node_modules/object-assign/index.js +0 -90
  341. package/node_modules/object-assign/license +0 -21
  342. package/node_modules/object-assign/package.json +0 -77
  343. package/node_modules/object-assign/readme.md +0 -61
  344. package/node_modules/once/LICENSE +0 -15
  345. package/node_modules/once/README.md +0 -79
  346. package/node_modules/once/once.js +0 -42
  347. package/node_modules/once/package.json +0 -74
  348. package/node_modules/prebuild-install/CHANGELOG.md +0 -98
  349. package/node_modules/prebuild-install/CONTRIBUTING.md +0 -6
  350. package/node_modules/prebuild-install/LICENSE +0 -21
  351. package/node_modules/prebuild-install/README.md +0 -159
  352. package/node_modules/prebuild-install/asset.js +0 -44
  353. package/node_modules/prebuild-install/bin.js +0 -78
  354. package/node_modules/prebuild-install/download.js +0 -142
  355. package/node_modules/prebuild-install/error.js +0 -14
  356. package/node_modules/prebuild-install/help.txt +0 -16
  357. package/node_modules/prebuild-install/index.js +0 -1
  358. package/node_modules/prebuild-install/log.js +0 -25
  359. package/node_modules/prebuild-install/package.json +0 -129
  360. package/node_modules/prebuild-install/proxy.js +0 -35
  361. package/node_modules/prebuild-install/rc.js +0 -60
  362. package/node_modules/prebuild-install/util.js +0 -143
  363. package/node_modules/process-nextick-args/index.js +0 -45
  364. package/node_modules/process-nextick-args/license.md +0 -19
  365. package/node_modules/process-nextick-args/package.json +0 -53
  366. package/node_modules/process-nextick-args/readme.md +0 -18
  367. package/node_modules/pump/.travis.yml +0 -5
  368. package/node_modules/pump/LICENSE +0 -21
  369. package/node_modules/pump/README.md +0 -65
  370. package/node_modules/pump/index.js +0 -82
  371. package/node_modules/pump/package.json +0 -63
  372. package/node_modules/pump/test-browser.js +0 -66
  373. package/node_modules/pump/test-node.js +0 -53
  374. package/node_modules/rc/LICENSE.APACHE2 +0 -15
  375. package/node_modules/rc/LICENSE.BSD +0 -26
  376. package/node_modules/rc/LICENSE.MIT +0 -24
  377. package/node_modules/rc/README.md +0 -227
  378. package/node_modules/rc/browser.js +0 -7
  379. package/node_modules/rc/cli.js +0 -4
  380. package/node_modules/rc/index.js +0 -53
  381. package/node_modules/rc/lib/utils.js +0 -104
  382. package/node_modules/rc/package.json +0 -70
  383. package/node_modules/rc/test/ini.js +0 -16
  384. package/node_modules/rc/test/nested-env-vars.js +0 -50
  385. package/node_modules/rc/test/test.js +0 -59
  386. package/node_modules/readable-stream/.travis.yml +0 -34
  387. package/node_modules/readable-stream/CONTRIBUTING.md +0 -38
  388. package/node_modules/readable-stream/GOVERNANCE.md +0 -136
  389. package/node_modules/readable-stream/LICENSE +0 -47
  390. package/node_modules/readable-stream/README.md +0 -58
  391. package/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +0 -60
  392. package/node_modules/readable-stream/duplex-browser.js +0 -1
  393. package/node_modules/readable-stream/duplex.js +0 -1
  394. package/node_modules/readable-stream/lib/_stream_duplex.js +0 -131
  395. package/node_modules/readable-stream/lib/_stream_passthrough.js +0 -47
  396. package/node_modules/readable-stream/lib/_stream_readable.js +0 -1019
  397. package/node_modules/readable-stream/lib/_stream_transform.js +0 -214
  398. package/node_modules/readable-stream/lib/_stream_writable.js +0 -687
  399. package/node_modules/readable-stream/lib/internal/streams/BufferList.js +0 -79
  400. package/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -74
  401. package/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  402. package/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  403. package/node_modules/readable-stream/package.json +0 -87
  404. package/node_modules/readable-stream/passthrough.js +0 -1
  405. package/node_modules/readable-stream/readable-browser.js +0 -7
  406. package/node_modules/readable-stream/readable.js +0 -19
  407. package/node_modules/readable-stream/transform.js +0 -1
  408. package/node_modules/readable-stream/writable-browser.js +0 -1
  409. package/node_modules/readable-stream/writable.js +0 -8
  410. package/node_modules/safe-buffer/LICENSE +0 -21
  411. package/node_modules/safe-buffer/README.md +0 -584
  412. package/node_modules/safe-buffer/index.d.ts +0 -187
  413. package/node_modules/safe-buffer/index.js +0 -62
  414. package/node_modules/safe-buffer/package.json +0 -70
  415. package/node_modules/set-blocking/CHANGELOG.md +0 -26
  416. package/node_modules/set-blocking/LICENSE.txt +0 -14
  417. package/node_modules/set-blocking/README.md +0 -31
  418. package/node_modules/set-blocking/index.js +0 -7
  419. package/node_modules/set-blocking/package.json +0 -73
  420. package/node_modules/signal-exit/CHANGELOG.md +0 -35
  421. package/node_modules/signal-exit/LICENSE.txt +0 -16
  422. package/node_modules/signal-exit/README.md +0 -39
  423. package/node_modules/signal-exit/index.js +0 -163
  424. package/node_modules/signal-exit/package.json +0 -71
  425. package/node_modules/signal-exit/signals.js +0 -53
  426. package/node_modules/simple-concat/.travis.yml +0 -3
  427. package/node_modules/simple-concat/LICENSE +0 -20
  428. package/node_modules/simple-concat/README.md +0 -44
  429. package/node_modules/simple-concat/index.js +0 -15
  430. package/node_modules/simple-concat/package.json +0 -75
  431. package/node_modules/simple-concat/test/basic.js +0 -41
  432. package/node_modules/simple-get/.github/dependabot.yml +0 -15
  433. package/node_modules/simple-get/.github/workflows/ci.yml +0 -23
  434. package/node_modules/simple-get/LICENSE +0 -20
  435. package/node_modules/simple-get/README.md +0 -333
  436. package/node_modules/simple-get/index.js +0 -108
  437. package/node_modules/simple-get/package.json +0 -95
  438. package/node_modules/string-width/index.js +0 -37
  439. package/node_modules/string-width/license +0 -21
  440. package/node_modules/string-width/package.json +0 -95
  441. package/node_modules/string-width/readme.md +0 -42
  442. package/node_modules/string_decoder/.travis.yml +0 -50
  443. package/node_modules/string_decoder/LICENSE +0 -48
  444. package/node_modules/string_decoder/README.md +0 -47
  445. package/node_modules/string_decoder/lib/string_decoder.js +0 -296
  446. package/node_modules/string_decoder/package.json +0 -64
  447. package/node_modules/strip-ansi/index.js +0 -6
  448. package/node_modules/strip-ansi/license +0 -21
  449. package/node_modules/strip-ansi/package.json +0 -107
  450. package/node_modules/strip-ansi/readme.md +0 -33
  451. package/node_modules/strip-json-comments/index.js +0 -70
  452. package/node_modules/strip-json-comments/license +0 -21
  453. package/node_modules/strip-json-comments/package.json +0 -77
  454. package/node_modules/strip-json-comments/readme.md +0 -64
  455. package/node_modules/tar-fs/.travis.yml +0 -6
  456. package/node_modules/tar-fs/LICENSE +0 -21
  457. package/node_modules/tar-fs/README.md +0 -165
  458. package/node_modules/tar-fs/index.js +0 -351
  459. package/node_modules/tar-fs/package.json +0 -71
  460. package/node_modules/tar-fs/test/fixtures/a/hello.txt +0 -1
  461. package/node_modules/tar-fs/test/fixtures/b/a/test.txt +0 -1
  462. package/node_modules/tar-fs/test/fixtures/d/file1 +0 -0
  463. package/node_modules/tar-fs/test/fixtures/d/file2 +0 -0
  464. package/node_modules/tar-fs/test/fixtures/d/sub-dir/file5 +0 -0
  465. package/node_modules/tar-fs/test/fixtures/d/sub-files/file3 +0 -0
  466. package/node_modules/tar-fs/test/fixtures/d/sub-files/file4 +0 -0
  467. package/node_modules/tar-fs/test/fixtures/e/directory/.ignore +0 -0
  468. package/node_modules/tar-fs/test/fixtures/e/file +0 -0
  469. package/node_modules/tar-fs/test/fixtures/invalid.tar +0 -0
  470. package/node_modules/tar-fs/test/index.js +0 -346
  471. package/node_modules/tar-stream/LICENSE +0 -21
  472. package/node_modules/tar-stream/README.md +0 -168
  473. package/node_modules/tar-stream/extract.js +0 -257
  474. package/node_modules/tar-stream/headers.js +0 -293
  475. package/node_modules/tar-stream/index.js +0 -2
  476. package/node_modules/tar-stream/node_modules/bl/.travis.yml +0 -17
  477. package/node_modules/tar-stream/node_modules/bl/BufferList.js +0 -396
  478. package/node_modules/tar-stream/node_modules/bl/LICENSE.md +0 -13
  479. package/node_modules/tar-stream/node_modules/bl/README.md +0 -247
  480. package/node_modules/tar-stream/node_modules/bl/bl.js +0 -84
  481. package/node_modules/tar-stream/node_modules/bl/package.json +0 -68
  482. package/node_modules/tar-stream/node_modules/bl/test/convert.js +0 -21
  483. package/node_modules/tar-stream/node_modules/bl/test/indexOf.js +0 -492
  484. package/node_modules/tar-stream/node_modules/bl/test/isBufferList.js +0 -32
  485. package/node_modules/tar-stream/node_modules/bl/test/test.js +0 -869
  486. package/node_modules/tar-stream/node_modules/readable-stream/CONTRIBUTING.md +0 -38
  487. package/node_modules/tar-stream/node_modules/readable-stream/GOVERNANCE.md +0 -136
  488. package/node_modules/tar-stream/node_modules/readable-stream/LICENSE +0 -47
  489. package/node_modules/tar-stream/node_modules/readable-stream/README.md +0 -106
  490. package/node_modules/tar-stream/node_modules/readable-stream/errors-browser.js +0 -127
  491. package/node_modules/tar-stream/node_modules/readable-stream/errors.js +0 -116
  492. package/node_modules/tar-stream/node_modules/readable-stream/experimentalWarning.js +0 -17
  493. package/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_duplex.js +0 -139
  494. package/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_passthrough.js +0 -39
  495. package/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_readable.js +0 -1124
  496. package/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_transform.js +0 -201
  497. package/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_writable.js +0 -697
  498. package/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/async_iterator.js +0 -207
  499. package/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/buffer_list.js +0 -210
  500. package/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -105
  501. package/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +0 -104
  502. package/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/from-browser.js +0 -3
  503. package/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/from.js +0 -64
  504. package/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/pipeline.js +0 -97
  505. package/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/state.js +0 -27
  506. package/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  507. package/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  508. package/node_modules/tar-stream/node_modules/readable-stream/package.json +0 -101
  509. package/node_modules/tar-stream/node_modules/readable-stream/readable-browser.js +0 -9
  510. package/node_modules/tar-stream/node_modules/readable-stream/readable.js +0 -16
  511. package/node_modules/tar-stream/pack.js +0 -255
  512. package/node_modules/tar-stream/package.json +0 -95
  513. package/node_modules/tar-stream/sandbox.js +0 -11
  514. package/node_modules/tunnel-agent/LICENSE +0 -55
  515. package/node_modules/tunnel-agent/README.md +0 -4
  516. package/node_modules/tunnel-agent/index.js +0 -244
  517. package/node_modules/tunnel-agent/package.json +0 -59
  518. package/node_modules/util-deprecate/History.md +0 -16
  519. package/node_modules/util-deprecate/LICENSE +0 -24
  520. package/node_modules/util-deprecate/README.md +0 -53
  521. package/node_modules/util-deprecate/browser.js +0 -67
  522. package/node_modules/util-deprecate/node.js +0 -6
  523. package/node_modules/util-deprecate/package.json +0 -62
  524. package/node_modules/wide-align/LICENSE +0 -14
  525. package/node_modules/wide-align/README.md +0 -47
  526. package/node_modules/wide-align/align.js +0 -65
  527. package/node_modules/wide-align/package.json +0 -69
  528. package/node_modules/wrappy/LICENSE +0 -15
  529. package/node_modules/wrappy/README.md +0 -36
  530. package/node_modules/wrappy/package.json +0 -62
  531. package/node_modules/wrappy/wrappy.js +0 -33
  532. /package/{.eslintrc.js → .eslintrc.cjs} +0 -0
@@ -1,519 +0,0 @@
1
- // hoisted class for cyclic dependency
2
- class Range {
3
- constructor (range, options) {
4
- options = parseOptions(options)
5
-
6
- if (range instanceof Range) {
7
- if (
8
- range.loose === !!options.loose &&
9
- range.includePrerelease === !!options.includePrerelease
10
- ) {
11
- return range
12
- } else {
13
- return new Range(range.raw, options)
14
- }
15
- }
16
-
17
- if (range instanceof Comparator) {
18
- // just put it in the set and return
19
- this.raw = range.value
20
- this.set = [[range]]
21
- this.format()
22
- return this
23
- }
24
-
25
- this.options = options
26
- this.loose = !!options.loose
27
- this.includePrerelease = !!options.includePrerelease
28
-
29
- // First, split based on boolean or ||
30
- this.raw = range
31
- this.set = range
32
- .split('||')
33
- // map the range to a 2d array of comparators
34
- .map(r => this.parseRange(r.trim()))
35
- // throw out any comparator lists that are empty
36
- // this generally means that it was not a valid range, which is allowed
37
- // in loose mode, but will still throw if the WHOLE range is invalid.
38
- .filter(c => c.length)
39
-
40
- if (!this.set.length) {
41
- throw new TypeError(`Invalid SemVer Range: ${range}`)
42
- }
43
-
44
- // if we have any that are not the null set, throw out null sets.
45
- if (this.set.length > 1) {
46
- // keep the first one, in case they're all null sets
47
- const first = this.set[0]
48
- this.set = this.set.filter(c => !isNullSet(c[0]))
49
- if (this.set.length === 0) {
50
- this.set = [first]
51
- } else if (this.set.length > 1) {
52
- // if we have any that are *, then the range is just *
53
- for (const c of this.set) {
54
- if (c.length === 1 && isAny(c[0])) {
55
- this.set = [c]
56
- break
57
- }
58
- }
59
- }
60
- }
61
-
62
- this.format()
63
- }
64
-
65
- format () {
66
- this.range = this.set
67
- .map((comps) => {
68
- return comps.join(' ').trim()
69
- })
70
- .join('||')
71
- .trim()
72
- return this.range
73
- }
74
-
75
- toString () {
76
- return this.range
77
- }
78
-
79
- parseRange (range) {
80
- range = range.trim()
81
-
82
- // memoize range parsing for performance.
83
- // this is a very hot path, and fully deterministic.
84
- const memoOpts = Object.keys(this.options).join(',')
85
- const memoKey = `parseRange:${memoOpts}:${range}`
86
- const cached = cache.get(memoKey)
87
- if (cached) {
88
- return cached
89
- }
90
-
91
- const loose = this.options.loose
92
- // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`
93
- const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE]
94
- range = range.replace(hr, hyphenReplace(this.options.includePrerelease))
95
- debug('hyphen replace', range)
96
- // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`
97
- range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace)
98
- debug('comparator trim', range)
99
-
100
- // `~ 1.2.3` => `~1.2.3`
101
- range = range.replace(re[t.TILDETRIM], tildeTrimReplace)
102
-
103
- // `^ 1.2.3` => `^1.2.3`
104
- range = range.replace(re[t.CARETTRIM], caretTrimReplace)
105
-
106
- // normalize spaces
107
- range = range.split(/\s+/).join(' ')
108
-
109
- // At this point, the range is completely trimmed and
110
- // ready to be split into comparators.
111
-
112
- let rangeList = range
113
- .split(' ')
114
- .map(comp => parseComparator(comp, this.options))
115
- .join(' ')
116
- .split(/\s+/)
117
- // >=0.0.0 is equivalent to *
118
- .map(comp => replaceGTE0(comp, this.options))
119
-
120
- if (loose) {
121
- // in loose mode, throw out any that are not valid comparators
122
- rangeList = rangeList.filter(comp => {
123
- debug('loose invalid filter', comp, this.options)
124
- return !!comp.match(re[t.COMPARATORLOOSE])
125
- })
126
- }
127
- debug('range list', rangeList)
128
-
129
- // if any comparators are the null set, then replace with JUST null set
130
- // if more than one comparator, remove any * comparators
131
- // also, don't include the same comparator more than once
132
- const rangeMap = new Map()
133
- const comparators = rangeList.map(comp => new Comparator(comp, this.options))
134
- for (const comp of comparators) {
135
- if (isNullSet(comp)) {
136
- return [comp]
137
- }
138
- rangeMap.set(comp.value, comp)
139
- }
140
- if (rangeMap.size > 1 && rangeMap.has('')) {
141
- rangeMap.delete('')
142
- }
143
-
144
- const result = [...rangeMap.values()]
145
- cache.set(memoKey, result)
146
- return result
147
- }
148
-
149
- intersects (range, options) {
150
- if (!(range instanceof Range)) {
151
- throw new TypeError('a Range is required')
152
- }
153
-
154
- return this.set.some((thisComparators) => {
155
- return (
156
- isSatisfiable(thisComparators, options) &&
157
- range.set.some((rangeComparators) => {
158
- return (
159
- isSatisfiable(rangeComparators, options) &&
160
- thisComparators.every((thisComparator) => {
161
- return rangeComparators.every((rangeComparator) => {
162
- return thisComparator.intersects(rangeComparator, options)
163
- })
164
- })
165
- )
166
- })
167
- )
168
- })
169
- }
170
-
171
- // if ANY of the sets match ALL of its comparators, then pass
172
- test (version) {
173
- if (!version) {
174
- return false
175
- }
176
-
177
- if (typeof version === 'string') {
178
- try {
179
- version = new SemVer(version, this.options)
180
- } catch (er) {
181
- return false
182
- }
183
- }
184
-
185
- for (let i = 0; i < this.set.length; i++) {
186
- if (testSet(this.set[i], version, this.options)) {
187
- return true
188
- }
189
- }
190
- return false
191
- }
192
- }
193
- module.exports = Range
194
-
195
- const LRU = require('lru-cache')
196
- const cache = new LRU({ max: 1000 })
197
-
198
- const parseOptions = require('../internal/parse-options')
199
- const Comparator = require('./comparator')
200
- const debug = require('../internal/debug')
201
- const SemVer = require('./semver')
202
- const {
203
- re,
204
- t,
205
- comparatorTrimReplace,
206
- tildeTrimReplace,
207
- caretTrimReplace,
208
- } = require('../internal/re')
209
-
210
- const isNullSet = c => c.value === '<0.0.0-0'
211
- const isAny = c => c.value === ''
212
-
213
- // take a set of comparators and determine whether there
214
- // exists a version which can satisfy it
215
- const isSatisfiable = (comparators, options) => {
216
- let result = true
217
- const remainingComparators = comparators.slice()
218
- let testComparator = remainingComparators.pop()
219
-
220
- while (result && remainingComparators.length) {
221
- result = remainingComparators.every((otherComparator) => {
222
- return testComparator.intersects(otherComparator, options)
223
- })
224
-
225
- testComparator = remainingComparators.pop()
226
- }
227
-
228
- return result
229
- }
230
-
231
- // comprised of xranges, tildes, stars, and gtlt's at this point.
232
- // already replaced the hyphen ranges
233
- // turn into a set of JUST comparators.
234
- const parseComparator = (comp, options) => {
235
- debug('comp', comp, options)
236
- comp = replaceCarets(comp, options)
237
- debug('caret', comp)
238
- comp = replaceTildes(comp, options)
239
- debug('tildes', comp)
240
- comp = replaceXRanges(comp, options)
241
- debug('xrange', comp)
242
- comp = replaceStars(comp, options)
243
- debug('stars', comp)
244
- return comp
245
- }
246
-
247
- const isX = id => !id || id.toLowerCase() === 'x' || id === '*'
248
-
249
- // ~, ~> --> * (any, kinda silly)
250
- // ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0-0
251
- // ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0-0
252
- // ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0-0
253
- // ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0-0
254
- // ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0-0
255
- const replaceTildes = (comp, options) =>
256
- comp.trim().split(/\s+/).map((c) => {
257
- return replaceTilde(c, options)
258
- }).join(' ')
259
-
260
- const replaceTilde = (comp, options) => {
261
- const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE]
262
- return comp.replace(r, (_, M, m, p, pr) => {
263
- debug('tilde', comp, _, M, m, p, pr)
264
- let ret
265
-
266
- if (isX(M)) {
267
- ret = ''
268
- } else if (isX(m)) {
269
- ret = `>=${M}.0.0 <${+M + 1}.0.0-0`
270
- } else if (isX(p)) {
271
- // ~1.2 == >=1.2.0 <1.3.0-0
272
- ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`
273
- } else if (pr) {
274
- debug('replaceTilde pr', pr)
275
- ret = `>=${M}.${m}.${p}-${pr
276
- } <${M}.${+m + 1}.0-0`
277
- } else {
278
- // ~1.2.3 == >=1.2.3 <1.3.0-0
279
- ret = `>=${M}.${m}.${p
280
- } <${M}.${+m + 1}.0-0`
281
- }
282
-
283
- debug('tilde return', ret)
284
- return ret
285
- })
286
- }
287
-
288
- // ^ --> * (any, kinda silly)
289
- // ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0-0
290
- // ^2.0, ^2.0.x --> >=2.0.0 <3.0.0-0
291
- // ^1.2, ^1.2.x --> >=1.2.0 <2.0.0-0
292
- // ^1.2.3 --> >=1.2.3 <2.0.0-0
293
- // ^1.2.0 --> >=1.2.0 <2.0.0-0
294
- const replaceCarets = (comp, options) =>
295
- comp.trim().split(/\s+/).map((c) => {
296
- return replaceCaret(c, options)
297
- }).join(' ')
298
-
299
- const replaceCaret = (comp, options) => {
300
- debug('caret', comp, options)
301
- const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET]
302
- const z = options.includePrerelease ? '-0' : ''
303
- return comp.replace(r, (_, M, m, p, pr) => {
304
- debug('caret', comp, _, M, m, p, pr)
305
- let ret
306
-
307
- if (isX(M)) {
308
- ret = ''
309
- } else if (isX(m)) {
310
- ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`
311
- } else if (isX(p)) {
312
- if (M === '0') {
313
- ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`
314
- } else {
315
- ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`
316
- }
317
- } else if (pr) {
318
- debug('replaceCaret pr', pr)
319
- if (M === '0') {
320
- if (m === '0') {
321
- ret = `>=${M}.${m}.${p}-${pr
322
- } <${M}.${m}.${+p + 1}-0`
323
- } else {
324
- ret = `>=${M}.${m}.${p}-${pr
325
- } <${M}.${+m + 1}.0-0`
326
- }
327
- } else {
328
- ret = `>=${M}.${m}.${p}-${pr
329
- } <${+M + 1}.0.0-0`
330
- }
331
- } else {
332
- debug('no pr')
333
- if (M === '0') {
334
- if (m === '0') {
335
- ret = `>=${M}.${m}.${p
336
- }${z} <${M}.${m}.${+p + 1}-0`
337
- } else {
338
- ret = `>=${M}.${m}.${p
339
- }${z} <${M}.${+m + 1}.0-0`
340
- }
341
- } else {
342
- ret = `>=${M}.${m}.${p
343
- } <${+M + 1}.0.0-0`
344
- }
345
- }
346
-
347
- debug('caret return', ret)
348
- return ret
349
- })
350
- }
351
-
352
- const replaceXRanges = (comp, options) => {
353
- debug('replaceXRanges', comp, options)
354
- return comp.split(/\s+/).map((c) => {
355
- return replaceXRange(c, options)
356
- }).join(' ')
357
- }
358
-
359
- const replaceXRange = (comp, options) => {
360
- comp = comp.trim()
361
- const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE]
362
- return comp.replace(r, (ret, gtlt, M, m, p, pr) => {
363
- debug('xRange', comp, ret, gtlt, M, m, p, pr)
364
- const xM = isX(M)
365
- const xm = xM || isX(m)
366
- const xp = xm || isX(p)
367
- const anyX = xp
368
-
369
- if (gtlt === '=' && anyX) {
370
- gtlt = ''
371
- }
372
-
373
- // if we're including prereleases in the match, then we need
374
- // to fix this to -0, the lowest possible prerelease value
375
- pr = options.includePrerelease ? '-0' : ''
376
-
377
- if (xM) {
378
- if (gtlt === '>' || gtlt === '<') {
379
- // nothing is allowed
380
- ret = '<0.0.0-0'
381
- } else {
382
- // nothing is forbidden
383
- ret = '*'
384
- }
385
- } else if (gtlt && anyX) {
386
- // we know patch is an x, because we have any x at all.
387
- // replace X with 0
388
- if (xm) {
389
- m = 0
390
- }
391
- p = 0
392
-
393
- if (gtlt === '>') {
394
- // >1 => >=2.0.0
395
- // >1.2 => >=1.3.0
396
- gtlt = '>='
397
- if (xm) {
398
- M = +M + 1
399
- m = 0
400
- p = 0
401
- } else {
402
- m = +m + 1
403
- p = 0
404
- }
405
- } else if (gtlt === '<=') {
406
- // <=0.7.x is actually <0.8.0, since any 0.7.x should
407
- // pass. Similarly, <=7.x is actually <8.0.0, etc.
408
- gtlt = '<'
409
- if (xm) {
410
- M = +M + 1
411
- } else {
412
- m = +m + 1
413
- }
414
- }
415
-
416
- if (gtlt === '<') {
417
- pr = '-0'
418
- }
419
-
420
- ret = `${gtlt + M}.${m}.${p}${pr}`
421
- } else if (xm) {
422
- ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`
423
- } else if (xp) {
424
- ret = `>=${M}.${m}.0${pr
425
- } <${M}.${+m + 1}.0-0`
426
- }
427
-
428
- debug('xRange return', ret)
429
-
430
- return ret
431
- })
432
- }
433
-
434
- // Because * is AND-ed with everything else in the comparator,
435
- // and '' means "any version", just remove the *s entirely.
436
- const replaceStars = (comp, options) => {
437
- debug('replaceStars', comp, options)
438
- // Looseness is ignored here. star is always as loose as it gets!
439
- return comp.trim().replace(re[t.STAR], '')
440
- }
441
-
442
- const replaceGTE0 = (comp, options) => {
443
- debug('replaceGTE0', comp, options)
444
- return comp.trim()
445
- .replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], '')
446
- }
447
-
448
- // This function is passed to string.replace(re[t.HYPHENRANGE])
449
- // M, m, patch, prerelease, build
450
- // 1.2 - 3.4.5 => >=1.2.0 <=3.4.5
451
- // 1.2.3 - 3.4 => >=1.2.0 <3.5.0-0 Any 3.4.x will do
452
- // 1.2 - 3.4 => >=1.2.0 <3.5.0-0
453
- const hyphenReplace = incPr => ($0,
454
- from, fM, fm, fp, fpr, fb,
455
- to, tM, tm, tp, tpr, tb) => {
456
- if (isX(fM)) {
457
- from = ''
458
- } else if (isX(fm)) {
459
- from = `>=${fM}.0.0${incPr ? '-0' : ''}`
460
- } else if (isX(fp)) {
461
- from = `>=${fM}.${fm}.0${incPr ? '-0' : ''}`
462
- } else if (fpr) {
463
- from = `>=${from}`
464
- } else {
465
- from = `>=${from}${incPr ? '-0' : ''}`
466
- }
467
-
468
- if (isX(tM)) {
469
- to = ''
470
- } else if (isX(tm)) {
471
- to = `<${+tM + 1}.0.0-0`
472
- } else if (isX(tp)) {
473
- to = `<${tM}.${+tm + 1}.0-0`
474
- } else if (tpr) {
475
- to = `<=${tM}.${tm}.${tp}-${tpr}`
476
- } else if (incPr) {
477
- to = `<${tM}.${tm}.${+tp + 1}-0`
478
- } else {
479
- to = `<=${to}`
480
- }
481
-
482
- return (`${from} ${to}`).trim()
483
- }
484
-
485
- const testSet = (set, version, options) => {
486
- for (let i = 0; i < set.length; i++) {
487
- if (!set[i].test(version)) {
488
- return false
489
- }
490
- }
491
-
492
- if (version.prerelease.length && !options.includePrerelease) {
493
- // Find the set of versions that are allowed to have prereleases
494
- // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0
495
- // That should allow `1.2.3-pr.2` to pass.
496
- // However, `1.2.4-alpha.notready` should NOT be allowed,
497
- // even though it's within the range set by the comparators.
498
- for (let i = 0; i < set.length; i++) {
499
- debug(set[i].semver)
500
- if (set[i].semver === Comparator.ANY) {
501
- continue
502
- }
503
-
504
- if (set[i].semver.prerelease.length > 0) {
505
- const allowed = set[i].semver
506
- if (allowed.major === version.major &&
507
- allowed.minor === version.minor &&
508
- allowed.patch === version.patch) {
509
- return true
510
- }
511
- }
512
- }
513
-
514
- // Version has a -pre, but it's not one of the ones we like.
515
- return false
516
- }
517
-
518
- return true
519
- }