@atlaspack/utils 2.14.5-canary.30 → 2.14.5-canary.301

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 (197) hide show
  1. package/CHANGELOG.md +357 -0
  2. package/benchmark.js +23 -0
  3. package/dist/DefaultMap.js +41 -0
  4. package/dist/Deferred.js +16 -0
  5. package/dist/PromiseQueue.js +107 -0
  6. package/dist/TapStream.js +23 -0
  7. package/dist/alternatives.js +97 -0
  8. package/dist/ansi-html.js +12 -0
  9. package/dist/blob.js +29 -0
  10. package/dist/bundle-url.js +32 -0
  11. package/dist/collection.js +106 -0
  12. package/dist/config.js +138 -0
  13. package/dist/countLines.js +12 -0
  14. package/dist/debounce.js +15 -0
  15. package/dist/debug-tools.js +39 -0
  16. package/dist/dependency-location.js +22 -0
  17. package/dist/escape-html.js +19 -0
  18. package/dist/generateBuildMetrics.js +111 -0
  19. package/dist/generateCertificate.js +124 -0
  20. package/dist/getCertificate.js +13 -0
  21. package/dist/getExisting.js +20 -0
  22. package/dist/getModuleParts.js +27 -0
  23. package/dist/getRootDir.js +46 -0
  24. package/dist/getTimeId.js +13 -0
  25. package/dist/glob.js +129 -0
  26. package/dist/hash.js +45 -0
  27. package/dist/http-server.js +55 -0
  28. package/dist/index.js +148 -0
  29. package/dist/is-url.js +15 -0
  30. package/dist/isDirectoryInside.js +11 -0
  31. package/dist/objectHash.js +20 -0
  32. package/dist/openInBrowser.js +61 -0
  33. package/dist/parseCSSImport.js +14 -0
  34. package/dist/path.js +36 -0
  35. package/dist/prettifyTime.js +6 -0
  36. package/dist/prettyDiagnostic.js +104 -0
  37. package/dist/progress-message.js +31 -0
  38. package/dist/relativeBundlePath.js +13 -0
  39. package/dist/relativeUrl.js +11 -0
  40. package/dist/replaceBundleReferences.js +131 -0
  41. package/dist/schema.js +404 -0
  42. package/dist/shared-buffer.js +24 -0
  43. package/dist/sourcemap.js +121 -0
  44. package/dist/stream.js +69 -0
  45. package/dist/throttle.js +12 -0
  46. package/dist/urlJoin.js +22 -0
  47. package/lib/DefaultMap.js +42 -0
  48. package/lib/Deferred.js +30 -0
  49. package/lib/PromiseQueue.js +112 -0
  50. package/lib/TapStream.js +34 -0
  51. package/lib/alternatives.js +116 -0
  52. package/lib/ansi-html.js +20 -0
  53. package/lib/blob.js +40 -0
  54. package/lib/bundle-url.js +34 -0
  55. package/lib/collection.js +111 -0
  56. package/lib/config.js +174 -0
  57. package/lib/countLines.js +15 -0
  58. package/lib/debounce.js +18 -0
  59. package/lib/debug-tools.js +40 -0
  60. package/lib/dependency-location.js +21 -0
  61. package/lib/escape-html.js +22 -0
  62. package/lib/generateBuildMetrics.js +121 -0
  63. package/lib/generateCertificate.js +129 -0
  64. package/lib/getCertificate.js +18 -0
  65. package/lib/getExisting.js +25 -0
  66. package/lib/getModuleParts.js +30 -0
  67. package/lib/getRootDir.js +52 -0
  68. package/lib/getTimeId.js +10 -0
  69. package/lib/glob.js +110 -0
  70. package/lib/hash.js +50 -0
  71. package/lib/http-server.js +85 -0
  72. package/lib/index.js +643 -37310
  73. package/lib/is-url.js +24 -0
  74. package/lib/isDirectoryInside.js +18 -0
  75. package/lib/objectHash.js +26 -0
  76. package/lib/openInBrowser.js +74 -0
  77. package/lib/parseCSSImport.js +15 -0
  78. package/lib/path.js +39 -0
  79. package/lib/prettifyTime.js +9 -0
  80. package/lib/prettyDiagnostic.js +150 -0
  81. package/lib/progress-message.js +39 -0
  82. package/lib/relativeBundlePath.js +22 -0
  83. package/lib/relativeUrl.js +24 -0
  84. package/lib/replaceBundleReferences.js +182 -0
  85. package/lib/schema.js +353 -0
  86. package/lib/shared-buffer.js +31 -0
  87. package/lib/sourcemap.js +138 -0
  88. package/lib/stream.js +76 -0
  89. package/lib/throttle.js +15 -0
  90. package/lib/types/DefaultMap.d.ts +13 -0
  91. package/lib/types/Deferred.d.ts +8 -0
  92. package/lib/types/PromiseQueue.d.ts +25 -0
  93. package/lib/types/TapStream.d.ts +6 -0
  94. package/lib/types/alternatives.d.ts +3 -0
  95. package/lib/types/ansi-html.d.ts +1 -0
  96. package/lib/types/blob.d.ts +4 -0
  97. package/lib/types/bundle-url.d.ts +4 -0
  98. package/lib/types/collection.d.ts +33 -0
  99. package/lib/types/config.d.ts +17 -0
  100. package/lib/types/countLines.d.ts +1 -0
  101. package/lib/types/debounce.d.ts +1 -0
  102. package/lib/types/debug-tools.d.ts +8 -0
  103. package/lib/types/dependency-location.d.ts +14 -0
  104. package/lib/types/escape-html.d.ts +1 -0
  105. package/lib/types/generateBuildMetrics.d.ts +18 -0
  106. package/lib/types/generateCertificate.d.ts +5 -0
  107. package/lib/types/getCertificate.d.ts +5 -0
  108. package/lib/types/getExisting.d.ts +8 -0
  109. package/lib/types/getModuleParts.d.ts +4 -0
  110. package/lib/types/getRootDir.d.ts +2 -0
  111. package/lib/types/getTimeId.d.ts +1 -0
  112. package/lib/types/glob.d.ts +9 -0
  113. package/lib/types/hash.d.ts +7 -0
  114. package/lib/types/http-server.d.ts +19 -0
  115. package/lib/types/index.d.ts +49 -0
  116. package/lib/types/is-url.d.ts +1 -0
  117. package/lib/types/isDirectoryInside.d.ts +2 -0
  118. package/lib/types/objectHash.d.ts +3 -0
  119. package/lib/types/openInBrowser.d.ts +1 -0
  120. package/lib/types/parseCSSImport.d.ts +1 -0
  121. package/lib/types/path.d.ts +8 -0
  122. package/lib/types/prettifyTime.d.ts +1 -0
  123. package/lib/types/prettyDiagnostic.d.ts +17 -0
  124. package/lib/types/progress-message.d.ts +3 -0
  125. package/lib/types/relativeBundlePath.d.ts +4 -0
  126. package/lib/types/relativeUrl.d.ts +1 -0
  127. package/lib/types/replaceBundleReferences.d.ts +39 -0
  128. package/lib/types/schema.d.ts +107 -0
  129. package/lib/types/shared-buffer.d.ts +2 -0
  130. package/lib/types/sourcemap.d.ts +15 -0
  131. package/lib/types/stream.d.ts +8 -0
  132. package/lib/types/throttle.d.ts +1 -0
  133. package/lib/types/urlJoin.d.ts +5 -0
  134. package/lib/urlJoin.js +35 -0
  135. package/package.json +27 -18
  136. package/src/{DefaultMap.js → DefaultMap.ts} +8 -12
  137. package/src/Deferred.ts +26 -0
  138. package/src/{PromiseQueue.js → PromiseQueue.ts} +40 -35
  139. package/src/{TapStream.js → TapStream.ts} +8 -7
  140. package/src/{alternatives.js → alternatives.ts} +15 -16
  141. package/src/{ansi-html.js → ansi-html.ts} +1 -1
  142. package/src/{blob.js → blob.ts} +3 -5
  143. package/src/{bundle-url.js → bundle-url.ts} +3 -5
  144. package/src/{collection.js → collection.ts} +23 -20
  145. package/src/{config.js → config.ts} +20 -21
  146. package/src/{countLines.js → countLines.ts} +0 -2
  147. package/src/{debounce.js → debounce.ts} +3 -5
  148. package/src/debug-tools.ts +48 -0
  149. package/src/{dependency-location.js → dependency-location.ts} +15 -11
  150. package/src/{escape-html.js → escape-html.ts} +5 -3
  151. package/src/{generateBuildMetrics.js → generateBuildMetrics.ts} +19 -21
  152. package/src/{generateCertificate.js → generateCertificate.ts} +8 -6
  153. package/src/{getCertificate.js → getCertificate.ts} +6 -5
  154. package/src/{getExisting.js → getExisting.ts} +4 -3
  155. package/src/{getModuleParts.js → getModuleParts.ts} +3 -2
  156. package/src/{getRootDir.js → getRootDir.ts} +1 -3
  157. package/src/getTimeId.ts +12 -0
  158. package/src/{glob.js → glob.ts} +13 -14
  159. package/src/{hash.js → hash.ts} +23 -18
  160. package/src/{http-server.js → http-server.ts} +34 -40
  161. package/src/{index.js → index.ts} +14 -10
  162. package/src/{is-url.js → is-url.ts} +1 -2
  163. package/src/{isDirectoryInside.js → isDirectoryInside.ts} +1 -2
  164. package/src/{objectHash.js → objectHash.ts} +1 -4
  165. package/src/{openInBrowser.js → openInBrowser.ts} +2 -4
  166. package/src/{parseCSSImport.js → parseCSSImport.ts} +0 -2
  167. package/src/{path.js → path.ts} +2 -4
  168. package/src/{prettifyTime.js → prettifyTime.ts} +0 -2
  169. package/src/{prettyDiagnostic.js → prettyDiagnostic.ts} +34 -22
  170. package/src/progress-message.ts +43 -0
  171. package/src/{relativeBundlePath.js → relativeBundlePath.ts} +4 -4
  172. package/src/{relativeUrl.js → relativeUrl.ts} +0 -1
  173. package/src/{replaceBundleReferences.js → replaceBundleReferences.ts} +67 -51
  174. package/src/schema.ts +552 -0
  175. package/src/{shared-buffer.js → shared-buffer.ts} +5 -3
  176. package/src/{sourcemap.js → sourcemap.ts} +28 -10
  177. package/src/{stream.js → stream.ts} +30 -22
  178. package/src/throttle.ts +13 -0
  179. package/src/{urlJoin.js → urlJoin.ts} +1 -3
  180. package/test/{DefaultMap.test.js → DefaultMap.test.ts} +4 -6
  181. package/test/{PromiseQueue.test.js → PromiseQueue.test.ts} +5 -6
  182. package/test/{collection.test.js → collection.test.ts} +0 -2
  183. package/test/{config.test.js → config.test.ts} +0 -3
  184. package/test/{objectHash.test.js → objectHash.test.ts} +4 -5
  185. package/test/{prettifyTime.test.js → prettifyTime.test.ts} +0 -1
  186. package/test/{replaceBundleReferences.test.js → replaceBundleReferences.test.ts} +0 -32
  187. package/test/schema.test.ts +748 -0
  188. package/test/{sourcemap.test.js → sourcemap.test.ts} +0 -1
  189. package/test/{throttle.test.js → throttle.test.ts} +1 -3
  190. package/test/{urlJoin.test.js → urlJoin.test.ts} +0 -2
  191. package/tsconfig.json +36 -0
  192. package/tsconfig.tsbuildinfo +1 -0
  193. package/lib/index.js.map +0 -1
  194. package/src/Deferred.js +0 -23
  195. package/src/progress-message.js +0 -22
  196. package/src/schema.js +0 -504
  197. package/src/throttle.js +0 -15
package/CHANGELOG.md CHANGED
@@ -1,5 +1,362 @@
1
1
  # @atlaspack/utils
2
2
 
3
+ ## 3.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#789](https://github.com/atlassian-labs/atlaspack/pull/789) [`73168c2`](https://github.com/atlassian-labs/atlaspack/commit/73168c275a5d9abff9907bcf536b340bca1ed5f0) Thanks [@marcins](https://github.com/marcins)! - Use an in-sourced version of @parcel/source-map, as @atlaspack/source-map
8
+
9
+ - [#892](https://github.com/atlassian-labs/atlaspack/pull/892) [`617a318`](https://github.com/atlassian-labs/atlaspack/commit/617a318ddc9419b38360257353fec50b9051ee13) Thanks [@marcins](https://github.com/marcins)! - Added a new `shouldProfileNative` option that provides a way to pause and connect a native profiler to Atlaspack.
10
+
11
+ ### Patch Changes
12
+
13
+ - Updated dependencies [[`7dd5bd8`](https://github.com/atlassian-labs/atlaspack/commit/7dd5bd89ff60c7b324347d772729eb4c3314f01e), [`c8a0e51`](https://github.com/atlassian-labs/atlaspack/commit/c8a0e51b1096d038a64644ad02fe68383f58682a), [`8eb84ee`](https://github.com/atlassian-labs/atlaspack/commit/8eb84ee61a42bfe87c58079b610802b07a6a13e4), [`71900f3`](https://github.com/atlassian-labs/atlaspack/commit/71900f3508d53c3882ca8ea71501ba3069687d4e), [`73168c2`](https://github.com/atlassian-labs/atlaspack/commit/73168c275a5d9abff9907bcf536b340bca1ed5f0), [`617a318`](https://github.com/atlassian-labs/atlaspack/commit/617a318ddc9419b38360257353fec50b9051ee13), [`2c4953e`](https://github.com/atlassian-labs/atlaspack/commit/2c4953e20dc1a6b012792081667aefeb9340505e), [`3fe7d4e`](https://github.com/atlassian-labs/atlaspack/commit/3fe7d4e821bee162fcbbaf9278b107a5eead944f)]:
14
+ - @atlaspack/rust@3.11.0
15
+ - @atlaspack/types-internal@2.21.0
16
+ - @atlaspack/feature-flags@2.27.0
17
+ - @atlaspack/source-map@3.1.0
18
+ - @atlaspack/logger@2.14.31
19
+ - @atlaspack/codeframe@2.13.21
20
+
21
+ ## 3.1.2
22
+
23
+ ### Patch Changes
24
+
25
+ - [#853](https://github.com/atlassian-labs/atlaspack/pull/853) [`7d7a55d`](https://github.com/atlassian-labs/atlaspack/commit/7d7a55dd6395ec391a2e4c33b3dec0d1ea477d4c) Thanks [@marcins](https://github.com/marcins)! - Fixes TypeScript errors in schema validation utils
26
+
27
+ - Updated dependencies [[`ec3abe4`](https://github.com/atlassian-labs/atlaspack/commit/ec3abe4dffc98560a850fd2f71fb566577e6c99c), [`c7fe3f7`](https://github.com/atlassian-labs/atlaspack/commit/c7fe3f76f247e9e20299e205e2df0a16c418eaf2), [`cfb4707`](https://github.com/atlassian-labs/atlaspack/commit/cfb4707087498e4fa4dcf10753fe984a248d196b), [`1468695`](https://github.com/atlassian-labs/atlaspack/commit/1468695fc0c9d06f060a6da9e9b0e154f11dff34), [`f31b041`](https://github.com/atlassian-labs/atlaspack/commit/f31b04107e9077c9946aadb99f6f91bb69703bb7), [`8180981`](https://github.com/atlassian-labs/atlaspack/commit/8180981be14c00f9570adb70d3f350bd91d6ec0a), [`ae77e74`](https://github.com/atlassian-labs/atlaspack/commit/ae77e7452a466b43b3fa5bed24d4ba26345ed765), [`f0a496f`](https://github.com/atlassian-labs/atlaspack/commit/f0a496f70fc8652e090cf1b3f6260e8cfbb796e2), [`540f253`](https://github.com/atlassian-labs/atlaspack/commit/540f253dfdcd1a5caebbdc0b197319d439404aae)]:
28
+ - @atlaspack/feature-flags@2.26.2
29
+ - @atlaspack/rust@3.10.0
30
+ - @atlaspack/types-internal@2.20.8
31
+ - @atlaspack/logger@2.14.30
32
+ - @atlaspack/codeframe@2.13.20
33
+
34
+ ## 3.1.1
35
+
36
+ ### Patch Changes
37
+
38
+ - Updated dependencies [[`339b600`](https://github.com/atlassian-labs/atlaspack/commit/339b60095d755742cea50f811d08ccc44a4ae521), [`373ee2d`](https://github.com/atlassian-labs/atlaspack/commit/373ee2d3b5cc315df1e90e647619f915892e2b87)]:
39
+ - @atlaspack/rust@3.9.1
40
+ - @atlaspack/feature-flags@2.26.1
41
+ - @atlaspack/logger@2.14.29
42
+ - @atlaspack/types-internal@2.20.7
43
+ - @atlaspack/codeframe@2.13.19
44
+
45
+ ## 3.1.0
46
+
47
+ ### Minor Changes
48
+
49
+ - [#852](https://github.com/atlassian-labs/atlaspack/pull/852) [`5776be2`](https://github.com/atlassian-labs/atlaspack/commit/5776be21f70a3f2b9471ba33da3ba1a883f21f1a) Thanks [@marcins](https://github.com/marcins)! - Support passing a function for source property in schema validation to allow for deferred reads of files
50
+
51
+ ### Patch Changes
52
+
53
+ - Updated dependencies [[`02f6aa1`](https://github.com/atlassian-labs/atlaspack/commit/02f6aa1906953fc184d2b49c905c2ef815cb878d), [`58527ee`](https://github.com/atlassian-labs/atlaspack/commit/58527eec15c1aebaaadbeb63586f3082c16beae3), [`525898e`](https://github.com/atlassian-labs/atlaspack/commit/525898e33cc229a4bc938ae853732be36d20c01a), [`cfb39a0`](https://github.com/atlassian-labs/atlaspack/commit/cfb39a0d729eb620cf2ca1611750a2bf7a080d08), [`d0c7bea`](https://github.com/atlassian-labs/atlaspack/commit/d0c7bea04458255b4c5d4299600e734b5f919fe1), [`1086c6a`](https://github.com/atlassian-labs/atlaspack/commit/1086c6a2c59271b63b3fb78e6acdb9d3a0dbf354), [`9cd9521`](https://github.com/atlassian-labs/atlaspack/commit/9cd9521978f783046e2ae4ce78f2de7aeb07d073), [`5776be2`](https://github.com/atlassian-labs/atlaspack/commit/5776be21f70a3f2b9471ba33da3ba1a883f21f1a)]:
54
+ - @atlaspack/rust@3.9.0
55
+ - @atlaspack/feature-flags@2.26.0
56
+ - @atlaspack/logger@2.14.28
57
+ - @atlaspack/types-internal@2.20.6
58
+ - @atlaspack/codeframe@2.13.18
59
+
60
+ ## 3.0.3
61
+
62
+ ### Patch Changes
63
+
64
+ - [#810](https://github.com/atlassian-labs/atlaspack/pull/810) [`c372f3f`](https://github.com/atlassian-labs/atlaspack/commit/c372f3fd6fce8200d5cf47f41bc7895c6cbb5558) Thanks [@benjervis](https://github.com/benjervis)! - Add the `scope-hosting-stats` debug tool to report on the percentage of assets that were able to be scope hoisted during the build.
65
+
66
+ - [#840](https://github.com/atlassian-labs/atlaspack/pull/840) [`17dfea9`](https://github.com/atlassian-labs/atlaspack/commit/17dfea9e9f3169807808520df9c09ebf70dc8b10) Thanks [@vykimnguyen](https://github.com/vykimnguyen)! - cleanup inlineStringReplacmentPerf flag
67
+
68
+ - Updated dependencies [[`79a7e22`](https://github.com/atlassian-labs/atlaspack/commit/79a7e22ef119891a2f4180a9d3cc66b38dd52092), [`3da8e69`](https://github.com/atlassian-labs/atlaspack/commit/3da8e690605472d81c531366b65fa9844f8ca337), [`c372f3f`](https://github.com/atlassian-labs/atlaspack/commit/c372f3fd6fce8200d5cf47f41bc7895c6cbb5558), [`17dfea9`](https://github.com/atlassian-labs/atlaspack/commit/17dfea9e9f3169807808520df9c09ebf70dc8b10), [`f1070ec`](https://github.com/atlassian-labs/atlaspack/commit/f1070ec48e99b4ec111a03179c5ab5b74163fab1), [`27fd73f`](https://github.com/atlassian-labs/atlaspack/commit/27fd73fa07d358653f1be6f2d15d72dc5d8fc2fd), [`3091fa3`](https://github.com/atlassian-labs/atlaspack/commit/3091fa36425ecffe3938e55247a035b08cda37a2)]:
69
+ - @atlaspack/feature-flags@2.25.5
70
+ - @atlaspack/rust@3.8.3
71
+ - @atlaspack/types-internal@2.20.5
72
+ - @atlaspack/logger@2.14.27
73
+ - @atlaspack/codeframe@2.13.17
74
+
75
+ ## 3.0.2
76
+
77
+ ### Patch Changes
78
+
79
+ - Updated dependencies [[`662d3c6`](https://github.com/atlassian-labs/atlaspack/commit/662d3c627888b16bf27df15cfac5a9094509e93d)]:
80
+ - @atlaspack/feature-flags@2.25.4
81
+ - @atlaspack/types-internal@2.20.4
82
+ - @atlaspack/codeframe@2.13.16
83
+ - @atlaspack/logger@2.14.26
84
+
85
+ ## 3.0.1
86
+
87
+ ### Patch Changes
88
+
89
+ - [#805](https://github.com/atlassian-labs/atlaspack/pull/805) [`236e546`](https://github.com/atlassian-labs/atlaspack/commit/236e5465863dca6044a7191e05260a5b924c342e) Thanks [@benjervis](https://github.com/benjervis)! - Passing in an unknown debug tool will now just warn, rather than blowing up the build.
90
+
91
+ - Updated dependencies [[`f07351a`](https://github.com/atlassian-labs/atlaspack/commit/f07351a2398b6a8e5155a2daad77e69b7dcb2b4b)]:
92
+ - @atlaspack/feature-flags@2.25.3
93
+ - @atlaspack/types-internal@2.20.3
94
+ - @atlaspack/codeframe@2.13.15
95
+ - @atlaspack/logger@2.14.25
96
+
97
+ ## 3.0.0
98
+
99
+ ### Major Changes
100
+
101
+ - [#800](https://github.com/atlassian-labs/atlaspack/pull/800) [`1180103`](https://github.com/atlassian-labs/atlaspack/commit/118010351ed444f8178988afb3f77807154dd933) Thanks [@mattcompiles](https://github.com/mattcompiles)! - Fix errors when creating diagnostics with relative file paths
102
+
103
+ BREAKING CHANGE: The `remapSourceLocation` API in `@atlaspack/utils` now requires the project root
104
+
105
+ ### Patch Changes
106
+
107
+ - Updated dependencies [[`0207171`](https://github.com/atlassian-labs/atlaspack/commit/0207171e59e985c51e105aec2e0a99de174374bd), [`10ee3fa`](https://github.com/atlassian-labs/atlaspack/commit/10ee3fa5b75a92acde8973673d9b3c5b6f3958e5), [`bbe4e28`](https://github.com/atlassian-labs/atlaspack/commit/bbe4e28c89e5e9284bd730075d4d6f2a3cb37b21), [`1180103`](https://github.com/atlassian-labs/atlaspack/commit/118010351ed444f8178988afb3f77807154dd933), [`2bc93b1`](https://github.com/atlassian-labs/atlaspack/commit/2bc93b17cea07fd7cbb68acec84d8471345a22b4)]:
108
+ - @atlaspack/feature-flags@2.25.2
109
+ - @atlaspack/rust@3.8.2
110
+ - @atlaspack/types-internal@2.20.2
111
+ - @atlaspack/logger@2.14.24
112
+ - @atlaspack/codeframe@2.13.14
113
+
114
+ ## 2.19.3
115
+
116
+ ### Patch Changes
117
+
118
+ - [#785](https://github.com/atlassian-labs/atlaspack/pull/785) [`0e7dd5e`](https://github.com/atlassian-labs/atlaspack/commit/0e7dd5ec6fbe05aa9e0bb5775a9d0975f206a922) Thanks [@matt-koko](https://github.com/matt-koko)! - We need to re-publish every package in Atlaspack with the corrected types field.
119
+
120
+ - Updated dependencies [[`0e7dd5e`](https://github.com/atlassian-labs/atlaspack/commit/0e7dd5ec6fbe05aa9e0bb5775a9d0975f206a922), [`686a398`](https://github.com/atlassian-labs/atlaspack/commit/686a398faa1f9e19cbf9274add2c46e246bafba8)]:
121
+ - @atlaspack/codeframe@2.13.13
122
+ - @atlaspack/diagnostic@2.14.4
123
+ - @atlaspack/feature-flags@2.25.1
124
+ - @atlaspack/logger@2.14.23
125
+ - @atlaspack/markdown-ansi@2.14.4
126
+ - @atlaspack/rust@3.8.1
127
+ - @atlaspack/types-internal@2.20.1
128
+
129
+ ## 2.19.2
130
+
131
+ ### Patch Changes
132
+
133
+ - Updated dependencies [[`7a52bab`](https://github.com/atlassian-labs/atlaspack/commit/7a52bab6281e8edbfa66af248eb6f872c6b4b7bd), [`eedcbc4`](https://github.com/atlassian-labs/atlaspack/commit/eedcbc408fc1e86a2a8e25f1a41c57146d8529e1), [`5a0363f`](https://github.com/atlassian-labs/atlaspack/commit/5a0363f1086e81068959b87e92064bed5a11a9b4), [`038e87a`](https://github.com/atlassian-labs/atlaspack/commit/038e87a7858d39556d59d3a2d17db534d45f62c6), [`f6532d7`](https://github.com/atlassian-labs/atlaspack/commit/f6532d7a4f7f007bd4e5e36af04dd466f0b9f572), [`0684997`](https://github.com/atlassian-labs/atlaspack/commit/0684997c127a6204af1376b36e556fddd1ba5557), [`602f8ed`](https://github.com/atlassian-labs/atlaspack/commit/602f8ed9d8381301df8b2cc82c1d5cf6f2f94fec)]:
134
+ - @atlaspack/feature-flags@2.25.0
135
+ - @atlaspack/types-internal@2.20.0
136
+ - @atlaspack/rust@3.8.0
137
+ - @atlaspack/codeframe@2.13.12
138
+ - @atlaspack/logger@2.14.22
139
+
140
+ ## 2.19.1
141
+
142
+ ### Patch Changes
143
+
144
+ - Updated dependencies [[`830261d`](https://github.com/atlassian-labs/atlaspack/commit/830261dcf4a40293090b61cab52fd75d5683c73f), [`53dd47b`](https://github.com/atlassian-labs/atlaspack/commit/53dd47bd6d23cd47f87297347f03a609ab38a03d)]:
145
+ - @atlaspack/feature-flags@2.24.1
146
+ - @atlaspack/rust@3.7.0
147
+ - @atlaspack/types-internal@2.19.5
148
+ - @atlaspack/logger@2.14.21
149
+ - @atlaspack/codeframe@2.13.11
150
+
151
+ ## 2.19.0
152
+
153
+ ### Minor Changes
154
+
155
+ - [#753](https://github.com/atlassian-labs/atlaspack/pull/753) [`f0349a6`](https://github.com/atlassian-labs/atlaspack/commit/f0349a6b9b04755088f121095ca6301a2ada3767) Thanks [@mattcompiles](https://github.com/mattcompiles)! - Add configurable async bundle merging and redundant shared bundle removal behind a feature flag.
156
+
157
+ ### Patch Changes
158
+
159
+ - Updated dependencies [[`f0349a6`](https://github.com/atlassian-labs/atlaspack/commit/f0349a6b9b04755088f121095ca6301a2ada3767), [`a5081c3`](https://github.com/atlassian-labs/atlaspack/commit/a5081c3f9207d28716ee4edd3841de1830ea4b80), [`f930003`](https://github.com/atlassian-labs/atlaspack/commit/f930003364fdc31e5487520ebe256f1a9389f579), [`f930003`](https://github.com/atlassian-labs/atlaspack/commit/f930003364fdc31e5487520ebe256f1a9389f579), [`8843980`](https://github.com/atlassian-labs/atlaspack/commit/88439807be20025fd3433380204ff1205079729e)]:
160
+ - @atlaspack/feature-flags@2.24.0
161
+ - @atlaspack/types-internal@2.19.4
162
+ - @atlaspack/codeframe@2.13.10
163
+ - @atlaspack/logger@2.14.20
164
+
165
+ ## 2.18.4
166
+
167
+ ### Patch Changes
168
+
169
+ - Updated dependencies [[`3cfb7cf`](https://github.com/atlassian-labs/atlaspack/commit/3cfb7cfd90b78a5c48ce717e779ff789769825a3)]:
170
+ - @atlaspack/feature-flags@2.23.2
171
+ - @atlaspack/rust@3.6.2
172
+ - @atlaspack/types-internal@2.19.3
173
+ - @atlaspack/logger@2.14.19
174
+ - @atlaspack/codeframe@2.13.9
175
+
176
+ ## 2.18.3
177
+
178
+ ### Patch Changes
179
+
180
+ - [#742](https://github.com/atlassian-labs/atlaspack/pull/742) [`ee040bb`](https://github.com/atlassian-labs/atlaspack/commit/ee040bb6428f29b57d892ddd8107e29077d08ffd) Thanks [@yamadapc](https://github.com/yamadapc)! - Internal changes and bug fixes to environmentDeduplication flag
181
+
182
+ - [#754](https://github.com/atlassian-labs/atlaspack/pull/754) [`889c65c`](https://github.com/atlassian-labs/atlaspack/commit/889c65cd25b811045e26a117e7404f694dde77a2) Thanks [@benjervis](https://github.com/benjervis)! - Adds padding to the progress reporting improvement lines so that the numbers appear right aligned
183
+
184
+ - Updated dependencies [[`ee040bb`](https://github.com/atlassian-labs/atlaspack/commit/ee040bb6428f29b57d892ddd8107e29077d08ffd)]:
185
+ - @atlaspack/types-internal@2.19.2
186
+ - @atlaspack/feature-flags@2.23.1
187
+ - @atlaspack/markdown-ansi@2.14.3
188
+ - @atlaspack/diagnostic@2.14.3
189
+ - @atlaspack/codeframe@2.13.8
190
+ - @atlaspack/logger@2.14.18
191
+ - @atlaspack/rust@3.6.1
192
+
193
+ ## 2.18.2
194
+
195
+ ### Patch Changes
196
+
197
+ - Updated dependencies [[`f6b3f22`](https://github.com/atlassian-labs/atlaspack/commit/f6b3f2276c7e417580b49c4879563aab51f156b1)]:
198
+ - @atlaspack/feature-flags@2.23.0
199
+ - @atlaspack/types-internal@2.19.1
200
+ - @atlaspack/codeframe@2.13.7
201
+ - @atlaspack/logger@2.14.17
202
+
203
+ ## 2.18.1
204
+
205
+ ### Patch Changes
206
+
207
+ - Updated dependencies [[`ad26146`](https://github.com/atlassian-labs/atlaspack/commit/ad26146f13b4c1cc65d4a0f9c67060b90ef14ff3), [`f1b48e7`](https://github.com/atlassian-labs/atlaspack/commit/f1b48e7a04e005cef0f36a3e692087a9ecdb6f7a), [`7f5841c`](https://github.com/atlassian-labs/atlaspack/commit/7f5841c39df049f9546cccbeea2a7337e0337b45), [`73dd7ba`](https://github.com/atlassian-labs/atlaspack/commit/73dd7baab69456ef2f6e4a0cc7dbb04f407eb148)]:
208
+ - @atlaspack/rust@3.6.0
209
+ - @atlaspack/types-internal@2.19.0
210
+ - @atlaspack/feature-flags@2.22.0
211
+ - @atlaspack/logger@2.14.16
212
+ - @atlaspack/codeframe@2.13.6
213
+
214
+ ## 2.18.0
215
+
216
+ ### Minor Changes
217
+
218
+ - [#731](https://github.com/atlassian-labs/atlaspack/pull/731) [`23d561e`](https://github.com/atlassian-labs/atlaspack/commit/23d561e51e68b0c38fd1ff4e4fb173e5e7b01cf2) Thanks [@marcins](https://github.com/marcins)! - Implement "inline isolated" scripts
219
+
220
+ ### Patch Changes
221
+
222
+ - Updated dependencies [[`23d561e`](https://github.com/atlassian-labs/atlaspack/commit/23d561e51e68b0c38fd1ff4e4fb173e5e7b01cf2)]:
223
+ - @atlaspack/feature-flags@2.21.0
224
+ - @atlaspack/rust@3.5.0
225
+ - @atlaspack/logger@2.14.15
226
+
227
+ ## 2.17.4
228
+
229
+ ### Patch Changes
230
+
231
+ - [#720](https://github.com/atlassian-labs/atlaspack/pull/720) [`d2fd849`](https://github.com/atlassian-labs/atlaspack/commit/d2fd849770fe6305e9c694bd97b1bd905abd9d94) Thanks [@alshdavid](https://github.com/alshdavid)! - Migrate to TypeScript
232
+
233
+ - Updated dependencies [[`d2fd849`](https://github.com/atlassian-labs/atlaspack/commit/d2fd849770fe6305e9c694bd97b1bd905abd9d94), [`12bee0e`](https://github.com/atlassian-labs/atlaspack/commit/12bee0e23f0464d7f6bd3e24fbe0d19c126d587d)]:
234
+ - @atlaspack/feature-flags@2.20.1
235
+ - @atlaspack/markdown-ansi@2.14.2
236
+ - @atlaspack/diagnostic@2.14.2
237
+ - @atlaspack/codeframe@2.13.5
238
+ - @atlaspack/logger@2.14.14
239
+ - @atlaspack/rust@3.4.2
240
+
241
+ ## 2.17.3
242
+
243
+ ### Patch Changes
244
+
245
+ - Updated dependencies [[`069de47`](https://github.com/atlassian-labs/atlaspack/commit/069de478e64fb5889f6f2ce023eb510782767fbd)]:
246
+ - @atlaspack/feature-flags@2.20.0
247
+
248
+ ## 2.17.2
249
+
250
+ ### Patch Changes
251
+
252
+ - Updated dependencies [[`1c7865a`](https://github.com/atlassian-labs/atlaspack/commit/1c7865a64451116d94015e248302435839d347c0), [`a0b959f`](https://github.com/atlassian-labs/atlaspack/commit/a0b959fbf61fc3f820ff03c7e8988945fe40a91a)]:
253
+ - @atlaspack/feature-flags@2.19.2
254
+
255
+ ## 2.17.1
256
+
257
+ ### Patch Changes
258
+
259
+ - Updated dependencies [[`13aef17`](https://github.com/atlassian-labs/atlaspack/commit/13aef177eea289a6e40d2113b5ec1ac9be18a33d)]:
260
+ - @atlaspack/feature-flags@2.19.1
261
+
262
+ ## 2.17.0
263
+
264
+ ### Minor Changes
265
+
266
+ - [#640](https://github.com/atlassian-labs/atlaspack/pull/640) [`dbb4072`](https://github.com/atlassian-labs/atlaspack/commit/dbb40721ebeb45990a14ba04e6b44e7f836fb32d) Thanks [@JakeLane](https://github.com/JakeLane)! - Clean up conditional bundling feature flags
267
+
268
+ - [#693](https://github.com/atlassian-labs/atlaspack/pull/693) [`18a57cf`](https://github.com/atlassian-labs/atlaspack/commit/18a57cf8a4789b2de5ad8e2676f317a26cc91417) Thanks [@mattcompiles](https://github.com/mattcompiles)! - These packages should have been bumped in [pull request 691](https://github.com/atlassian-labs/atlaspack/pull/691).
269
+
270
+ Rectifying by creating a new changeset now.
271
+
272
+ ### Patch Changes
273
+
274
+ - [#645](https://github.com/atlassian-labs/atlaspack/pull/645) [`de23e0c`](https://github.com/atlassian-labs/atlaspack/commit/de23e0ce49d5504fe3947ac26640a3d951087da3) Thanks [@alshdavid](https://github.com/alshdavid)! - Updated build system and added some extra test-specific code
275
+
276
+ - [#682](https://github.com/atlassian-labs/atlaspack/pull/682) [`a5ed1b4`](https://github.com/atlassian-labs/atlaspack/commit/a5ed1b414498560f393ff491af4da25b6e8dde56) Thanks [@alshdavid](https://github.com/alshdavid)! - Updating build system
277
+
278
+ - Updated dependencies [[`dbb4072`](https://github.com/atlassian-labs/atlaspack/commit/dbb40721ebeb45990a14ba04e6b44e7f836fb32d), [`becf977`](https://github.com/atlassian-labs/atlaspack/commit/becf977f625d5ee46dae3d4c679f173bf5f40cc0), [`becf977`](https://github.com/atlassian-labs/atlaspack/commit/becf977f625d5ee46dae3d4c679f173bf5f40cc0), [`c4415a4`](https://github.com/atlassian-labs/atlaspack/commit/c4415a455543d984ca28452c2cb87a794d22497c), [`f0f7c71`](https://github.com/atlassian-labs/atlaspack/commit/f0f7c7168a1d3d18c6f30d2daed611275692b7c5), [`de23e0c`](https://github.com/atlassian-labs/atlaspack/commit/de23e0ce49d5504fe3947ac26640a3d951087da3), [`18a57cf`](https://github.com/atlassian-labs/atlaspack/commit/18a57cf8a4789b2de5ad8e2676f317a26cc91417), [`a5ed1b4`](https://github.com/atlassian-labs/atlaspack/commit/a5ed1b414498560f393ff491af4da25b6e8dde56)]:
279
+ - @atlaspack/feature-flags@2.19.0
280
+ - @atlaspack/rust@3.4.1
281
+ - @atlaspack/codeframe@2.13.4
282
+ - @atlaspack/logger@2.14.13
283
+
284
+ ## 2.16.1
285
+
286
+ ### Patch Changes
287
+
288
+ - Updated dependencies [[`c75bf55`](https://github.com/atlassian-labs/atlaspack/commit/c75bf553fff4decc285b5fd499a275853b18f8f2)]:
289
+ - @atlaspack/rust@3.4.0
290
+ - @atlaspack/logger@2.14.12
291
+
292
+ ## 2.16.0
293
+
294
+ ### Minor Changes
295
+
296
+ - [#659](https://github.com/atlassian-labs/atlaspack/pull/659) [`30ee2cf`](https://github.com/atlassian-labs/atlaspack/commit/30ee2cfcd34cf2646ded0eda13fdb80a2a5de529) Thanks [@benjervis](https://github.com/benjervis)! - Add the debug-tools system for altering the behaviour when attempting to identify issues.
297
+
298
+ ### Patch Changes
299
+
300
+ - Updated dependencies [[`e8a60ff`](https://github.com/atlassian-labs/atlaspack/commit/e8a60ffbea41caef265786bbf73349771760081c)]:
301
+ - @atlaspack/feature-flags@2.18.4
302
+
303
+ ## 2.15.3
304
+
305
+ ### Patch Changes
306
+
307
+ - Updated dependencies [[`5ded263`](https://github.com/atlassian-labs/atlaspack/commit/5ded263c7f11b866e8885b81c73e20dd060b25be)]:
308
+ - @atlaspack/feature-flags@2.18.3
309
+
310
+ ## 2.15.2
311
+
312
+ ### Patch Changes
313
+
314
+ - Updated dependencies [[`644b157`](https://github.com/atlassian-labs/atlaspack/commit/644b157dee72a871acc2d0facf0b87b8eea51956)]:
315
+ - @atlaspack/feature-flags@2.18.2
316
+
317
+ ## 2.15.1
318
+
319
+ ### Patch Changes
320
+
321
+ - Updated dependencies [[`ef3d622`](https://github.com/atlassian-labs/atlaspack/commit/ef3d6228f4e006702198a19c61e051d194d325cb), [`26aa9c5`](https://github.com/atlassian-labs/atlaspack/commit/26aa9c599d2be45ce1438a74c5fa22f39b9b554b), [`0501255`](https://github.com/atlassian-labs/atlaspack/commit/05012550da35b05ce7d356a8cc29311e7f9afdca)]:
322
+ - @atlaspack/logger@2.14.11
323
+ - @atlaspack/feature-flags@2.18.1
324
+
325
+ ## 2.15.0
326
+
327
+ ### Minor Changes
328
+
329
+ - [#622](https://github.com/atlassian-labs/atlaspack/pull/622) [`e39c6cf`](https://github.com/atlassian-labs/atlaspack/commit/e39c6cf05f7e95ce5420dbcea66f401b1cbd397c) Thanks [@benjervis](https://github.com/benjervis)! - Add the `setIntersectStatic` method that doesn't mutate the passed in Sets
330
+
331
+ ### Patch Changes
332
+
333
+ - Updated dependencies [[`10fbcfb`](https://github.com/atlassian-labs/atlaspack/commit/10fbcfbfa49c7a83da5d7c40983e36e87f524a75), [`85c52d3`](https://github.com/atlassian-labs/atlaspack/commit/85c52d3f7717b3c84a118d18ab98cfbfd71dcbd2)]:
334
+ - @atlaspack/feature-flags@2.18.0
335
+
336
+ ## 2.14.11
337
+
338
+ ### Patch Changes
339
+
340
+ - Updated dependencies [[`73ea3c4`](https://github.com/atlassian-labs/atlaspack/commit/73ea3c4d85d4401fdd15abcbf988237e890e7ad3), [`b1b3693`](https://github.com/atlassian-labs/atlaspack/commit/b1b369317c66f8a431c170df2ebba4fa5b2e38ef)]:
341
+ - @atlaspack/feature-flags@2.17.0
342
+
343
+ ## 2.14.10
344
+
345
+ ### Patch Changes
346
+
347
+ - Updated dependencies [[`35fdd4b`](https://github.com/atlassian-labs/atlaspack/commit/35fdd4b52da0af20f74667f7b8adfb2f90279b7c), [`6dd4ccb`](https://github.com/atlassian-labs/atlaspack/commit/6dd4ccb753541de32322d881f973d571dd57e4ca)]:
348
+ - @atlaspack/rust@3.3.5
349
+ - @atlaspack/logger@2.14.10
350
+
351
+ ## 2.14.9
352
+
353
+ ### Patch Changes
354
+
355
+ - Updated dependencies [[`124b7ff`](https://github.com/atlassian-labs/atlaspack/commit/124b7fff44f71aac9fbad289a9a9509b3dfc9aaa), [`e052521`](https://github.com/atlassian-labs/atlaspack/commit/e0525210850ed1606146eb86991049cf567c5dec), [`15c6d70`](https://github.com/atlassian-labs/atlaspack/commit/15c6d7000bd89da876bc590aa75b17a619a41896), [`e4d966c`](https://github.com/atlassian-labs/atlaspack/commit/e4d966c3c9c4292c5013372ae65b10d19d4bacc6), [`209692f`](https://github.com/atlassian-labs/atlaspack/commit/209692ffb11eae103a0d65c5e1118a5aa1625818), [`42a775d`](https://github.com/atlassian-labs/atlaspack/commit/42a775de8eec638ad188f3271964170d8c04d84b), [`29c2f10`](https://github.com/atlassian-labs/atlaspack/commit/29c2f106de9679adfb5afa04e1910471dc65a427), [`f4da1e1`](https://github.com/atlassian-labs/atlaspack/commit/f4da1e120e73eeb5e8b8927f05e88f04d6148c7b), [`1ef91fc`](https://github.com/atlassian-labs/atlaspack/commit/1ef91fcc863fdd2831511937083dbbc1263b3d9d)]:
356
+ - @atlaspack/rust@3.3.4
357
+ - @atlaspack/feature-flags@2.16.0
358
+ - @atlaspack/logger@2.14.9
359
+
3
360
  ## 2.14.8
4
361
 
5
362
  ### Patch Changes
package/benchmark.js ADDED
@@ -0,0 +1,23 @@
1
+ require('@atlaspack/babel-register');
2
+ const b = require('benny');
3
+
4
+ const {setIntersect, setIntersectStatic} = require('./src/collection.js');
5
+
6
+ const setA = new Set([
7
+ 23, 25, 29, 29, 12, 16, 14, 23, 18, 19, 16, 24, 9, 29, 26,
8
+ ]);
9
+ const setB = new Set([24, 1, 3, 6, 1, 3, 1, 5, 20, 15, 21, 23, 13, 16, 6]);
10
+
11
+ b.suite(
12
+ 'Collection - set intersection',
13
+ b.add('Control', () => {
14
+ const setClone = new Set(setA);
15
+ return () => setIntersect(setClone, setB);
16
+ }),
17
+ b.add('setIntersectStatic', () => {
18
+ setIntersectStatic(setA, setB);
19
+ }),
20
+ b.configure({minSamples: 100}),
21
+ b.cycle(),
22
+ b.complete(),
23
+ );
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DefaultWeakMap = exports.DefaultMap = void 0;
4
+ class DefaultMap extends Map {
5
+ constructor(getDefault, entries) {
6
+ super(entries);
7
+ this._getDefault = getDefault;
8
+ }
9
+ get(key) {
10
+ let ret;
11
+ if (this.has(key)) {
12
+ ret = super.get(key);
13
+ }
14
+ else {
15
+ ret = this._getDefault(key);
16
+ this.set(key, ret);
17
+ }
18
+ return ret;
19
+ }
20
+ }
21
+ exports.DefaultMap = DefaultMap;
22
+ // Duplicated from DefaultMap implementation for Flow
23
+ // Roughly mirrors https://github.com/facebook/flow/blob/2eb5a78d92c167117ba9caae070afd2b9f598599/lib/core.js#L617
24
+ class DefaultWeakMap extends WeakMap {
25
+ constructor(getDefault, entries) {
26
+ super(entries);
27
+ this._getDefault = getDefault;
28
+ }
29
+ get(key) {
30
+ let ret;
31
+ if (this.has(key)) {
32
+ ret = super.get(key);
33
+ }
34
+ else {
35
+ ret = this._getDefault(key);
36
+ this.set(key, ret);
37
+ }
38
+ return ret;
39
+ }
40
+ }
41
+ exports.DefaultWeakMap = DefaultWeakMap;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.makeDeferredWithPromise = makeDeferredWithPromise;
7
+ const assert_1 = __importDefault(require("assert"));
8
+ function makeDeferredWithPromise() {
9
+ let deferred;
10
+ let promise = new Promise((resolve, reject) => {
11
+ deferred = { resolve, reject };
12
+ });
13
+ // Promise constructor callback executes synchronously, so this is defined
14
+ (0, assert_1.default)(deferred != null);
15
+ return { deferred, promise };
16
+ }
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const Deferred_1 = require("./Deferred");
4
+ class PromiseQueue {
5
+ constructor(opts = { maxConcurrent: Infinity }) {
6
+ this._numRunning = 0;
7
+ this._queue = [];
8
+ this._runPromise = null;
9
+ this._count = 0;
10
+ this._results = [];
11
+ this._addSubscriptions = new Set();
12
+ if (opts.maxConcurrent <= 0) {
13
+ throw new TypeError('maxConcurrent must be a positive, non-zero value');
14
+ }
15
+ this._maxConcurrent = opts.maxConcurrent;
16
+ }
17
+ getNumWaiting() {
18
+ return this._queue.length;
19
+ }
20
+ add(fn) {
21
+ new Promise((resolve, reject) => {
22
+ let i = this._count++;
23
+ let wrapped = () => fn().then((result) => {
24
+ this._results[i] = result;
25
+ resolve(result);
26
+ }, (err) => {
27
+ reject(err);
28
+ throw err;
29
+ });
30
+ this._queue.push(wrapped);
31
+ for (const addFn of this._addSubscriptions) {
32
+ addFn();
33
+ }
34
+ if (this._numRunning > 0 && this._numRunning < this._maxConcurrent) {
35
+ this._next();
36
+ }
37
+ }).catch(() => { });
38
+ }
39
+ subscribeToAdd(fn) {
40
+ this._addSubscriptions.add(fn);
41
+ return () => {
42
+ this._addSubscriptions.delete(fn);
43
+ };
44
+ }
45
+ run() {
46
+ if (this._runPromise != null) {
47
+ return this._runPromise;
48
+ }
49
+ if (this._queue.length === 0) {
50
+ return Promise.resolve([]);
51
+ }
52
+ let { deferred, promise } = (0, Deferred_1.makeDeferredWithPromise)();
53
+ this._deferred = deferred;
54
+ this._runPromise = promise;
55
+ while (this._queue.length && this._numRunning < this._maxConcurrent) {
56
+ this._next();
57
+ }
58
+ return promise;
59
+ }
60
+ async _next() {
61
+ let fn = this._queue.shift();
62
+ await this._runFn(fn);
63
+ if (this._queue.length) {
64
+ this._next();
65
+ }
66
+ else if (this._numRunning === 0) {
67
+ this._done();
68
+ }
69
+ }
70
+ async _runFn(fn) {
71
+ this._numRunning++;
72
+ try {
73
+ await fn();
74
+ }
75
+ catch (e) {
76
+ // Only store the first error that occurs.
77
+ // We don't reject immediately so that any other concurrent
78
+ // requests have time to complete.
79
+ if (this._error == null) {
80
+ this._error = e;
81
+ }
82
+ }
83
+ finally {
84
+ this._numRunning--;
85
+ }
86
+ }
87
+ _resetState() {
88
+ this._queue = [];
89
+ this._count = 0;
90
+ this._results = [];
91
+ this._runPromise = null;
92
+ this._numRunning = 0;
93
+ this._deferred = null;
94
+ }
95
+ _done() {
96
+ if (this._deferred != null) {
97
+ if (this._error != null) {
98
+ this._deferred.reject(this._error);
99
+ }
100
+ else {
101
+ this._deferred.resolve(this._results);
102
+ }
103
+ }
104
+ this._resetState();
105
+ }
106
+ }
107
+ exports.default = PromiseQueue;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const stream_1 = require("stream");
4
+ /*
5
+ * "Taps" into the contents of a flowing stream, yielding chunks to the passed
6
+ * callback. Continues to pass data chunks down the stream.
7
+ */
8
+ class TapStream extends stream_1.Transform {
9
+ constructor(tap, options) {
10
+ super({ ...options });
11
+ this._tap = tap;
12
+ }
13
+ _transform(chunk, encoding, callback) {
14
+ try {
15
+ this._tap(Buffer.from(chunk));
16
+ callback(null, chunk);
17
+ }
18
+ catch (err) {
19
+ callback(err);
20
+ }
21
+ }
22
+ }
23
+ exports.default = TapStream;