@atlaspack/utils 2.14.5-canary.31 → 2.14.5-canary.310

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 +369 -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,374 @@
1
1
  # @atlaspack/utils
2
2
 
3
+ ## 3.2.1
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [[`a884bd2`](https://github.com/atlassian-labs/atlaspack/commit/a884bd2a6bd6f37d088fb886dd9b88e85328501b), [`25fee72`](https://github.com/atlassian-labs/atlaspack/commit/25fee723d2228d0482ec8a8f1b8379ccd2977ce7), [`6fac01d`](https://github.com/atlassian-labs/atlaspack/commit/6fac01dbb1bfc5b971176c1a1c008297bf4b8f91), [`2f3af93`](https://github.com/atlassian-labs/atlaspack/commit/2f3af9374bcc082e6f4835f6f5a2b98e32ea45b4), [`432d571`](https://github.com/atlassian-labs/atlaspack/commit/432d571ea4e9fc67be12304fcafe8c445e844174), [`042cd95`](https://github.com/atlassian-labs/atlaspack/commit/042cd95a32ad38cd02d57aa3344c36d4e7ab8f9c), [`28f5424`](https://github.com/atlassian-labs/atlaspack/commit/28f5424f7e2080dd4fbbeb1bc5314a530197a23e), [`a884bd2`](https://github.com/atlassian-labs/atlaspack/commit/a884bd2a6bd6f37d088fb886dd9b88e85328501b), [`5710532`](https://github.com/atlassian-labs/atlaspack/commit/57105322b26ce42af2cbfcc0506cff929e50b630), [`44eb8c3`](https://github.com/atlassian-labs/atlaspack/commit/44eb8c388d3e63f1ef5d835aee7aee5d1bb0620f)]:
8
+ - @atlaspack/rust@3.12.0
9
+ - @atlaspack/feature-flags@2.27.1
10
+ - @atlaspack/logger@2.14.32
11
+ - @atlaspack/source-map@3.1.1
12
+ - @atlaspack/types-internal@2.21.1
13
+ - @atlaspack/codeframe@2.13.22
14
+
15
+ ## 3.2.0
16
+
17
+ ### Minor Changes
18
+
19
+ - [#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
20
+
21
+ - [#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.
22
+
23
+ ### Patch Changes
24
+
25
+ - 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)]:
26
+ - @atlaspack/rust@3.11.0
27
+ - @atlaspack/types-internal@2.21.0
28
+ - @atlaspack/feature-flags@2.27.0
29
+ - @atlaspack/source-map@3.1.0
30
+ - @atlaspack/logger@2.14.31
31
+ - @atlaspack/codeframe@2.13.21
32
+
33
+ ## 3.1.2
34
+
35
+ ### Patch Changes
36
+
37
+ - [#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
38
+
39
+ - 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)]:
40
+ - @atlaspack/feature-flags@2.26.2
41
+ - @atlaspack/rust@3.10.0
42
+ - @atlaspack/types-internal@2.20.8
43
+ - @atlaspack/logger@2.14.30
44
+ - @atlaspack/codeframe@2.13.20
45
+
46
+ ## 3.1.1
47
+
48
+ ### Patch Changes
49
+
50
+ - Updated dependencies [[`339b600`](https://github.com/atlassian-labs/atlaspack/commit/339b60095d755742cea50f811d08ccc44a4ae521), [`373ee2d`](https://github.com/atlassian-labs/atlaspack/commit/373ee2d3b5cc315df1e90e647619f915892e2b87)]:
51
+ - @atlaspack/rust@3.9.1
52
+ - @atlaspack/feature-flags@2.26.1
53
+ - @atlaspack/logger@2.14.29
54
+ - @atlaspack/types-internal@2.20.7
55
+ - @atlaspack/codeframe@2.13.19
56
+
57
+ ## 3.1.0
58
+
59
+ ### Minor Changes
60
+
61
+ - [#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
62
+
63
+ ### Patch Changes
64
+
65
+ - 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)]:
66
+ - @atlaspack/rust@3.9.0
67
+ - @atlaspack/feature-flags@2.26.0
68
+ - @atlaspack/logger@2.14.28
69
+ - @atlaspack/types-internal@2.20.6
70
+ - @atlaspack/codeframe@2.13.18
71
+
72
+ ## 3.0.3
73
+
74
+ ### Patch Changes
75
+
76
+ - [#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.
77
+
78
+ - [#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
79
+
80
+ - 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)]:
81
+ - @atlaspack/feature-flags@2.25.5
82
+ - @atlaspack/rust@3.8.3
83
+ - @atlaspack/types-internal@2.20.5
84
+ - @atlaspack/logger@2.14.27
85
+ - @atlaspack/codeframe@2.13.17
86
+
87
+ ## 3.0.2
88
+
89
+ ### Patch Changes
90
+
91
+ - Updated dependencies [[`662d3c6`](https://github.com/atlassian-labs/atlaspack/commit/662d3c627888b16bf27df15cfac5a9094509e93d)]:
92
+ - @atlaspack/feature-flags@2.25.4
93
+ - @atlaspack/types-internal@2.20.4
94
+ - @atlaspack/codeframe@2.13.16
95
+ - @atlaspack/logger@2.14.26
96
+
97
+ ## 3.0.1
98
+
99
+ ### Patch Changes
100
+
101
+ - [#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.
102
+
103
+ - Updated dependencies [[`f07351a`](https://github.com/atlassian-labs/atlaspack/commit/f07351a2398b6a8e5155a2daad77e69b7dcb2b4b)]:
104
+ - @atlaspack/feature-flags@2.25.3
105
+ - @atlaspack/types-internal@2.20.3
106
+ - @atlaspack/codeframe@2.13.15
107
+ - @atlaspack/logger@2.14.25
108
+
109
+ ## 3.0.0
110
+
111
+ ### Major Changes
112
+
113
+ - [#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
114
+
115
+ BREAKING CHANGE: The `remapSourceLocation` API in `@atlaspack/utils` now requires the project root
116
+
117
+ ### Patch Changes
118
+
119
+ - 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)]:
120
+ - @atlaspack/feature-flags@2.25.2
121
+ - @atlaspack/rust@3.8.2
122
+ - @atlaspack/types-internal@2.20.2
123
+ - @atlaspack/logger@2.14.24
124
+ - @atlaspack/codeframe@2.13.14
125
+
126
+ ## 2.19.3
127
+
128
+ ### Patch Changes
129
+
130
+ - [#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.
131
+
132
+ - Updated dependencies [[`0e7dd5e`](https://github.com/atlassian-labs/atlaspack/commit/0e7dd5ec6fbe05aa9e0bb5775a9d0975f206a922), [`686a398`](https://github.com/atlassian-labs/atlaspack/commit/686a398faa1f9e19cbf9274add2c46e246bafba8)]:
133
+ - @atlaspack/codeframe@2.13.13
134
+ - @atlaspack/diagnostic@2.14.4
135
+ - @atlaspack/feature-flags@2.25.1
136
+ - @atlaspack/logger@2.14.23
137
+ - @atlaspack/markdown-ansi@2.14.4
138
+ - @atlaspack/rust@3.8.1
139
+ - @atlaspack/types-internal@2.20.1
140
+
141
+ ## 2.19.2
142
+
143
+ ### Patch Changes
144
+
145
+ - 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)]:
146
+ - @atlaspack/feature-flags@2.25.0
147
+ - @atlaspack/types-internal@2.20.0
148
+ - @atlaspack/rust@3.8.0
149
+ - @atlaspack/codeframe@2.13.12
150
+ - @atlaspack/logger@2.14.22
151
+
152
+ ## 2.19.1
153
+
154
+ ### Patch Changes
155
+
156
+ - Updated dependencies [[`830261d`](https://github.com/atlassian-labs/atlaspack/commit/830261dcf4a40293090b61cab52fd75d5683c73f), [`53dd47b`](https://github.com/atlassian-labs/atlaspack/commit/53dd47bd6d23cd47f87297347f03a609ab38a03d)]:
157
+ - @atlaspack/feature-flags@2.24.1
158
+ - @atlaspack/rust@3.7.0
159
+ - @atlaspack/types-internal@2.19.5
160
+ - @atlaspack/logger@2.14.21
161
+ - @atlaspack/codeframe@2.13.11
162
+
163
+ ## 2.19.0
164
+
165
+ ### Minor Changes
166
+
167
+ - [#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.
168
+
169
+ ### Patch Changes
170
+
171
+ - 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)]:
172
+ - @atlaspack/feature-flags@2.24.0
173
+ - @atlaspack/types-internal@2.19.4
174
+ - @atlaspack/codeframe@2.13.10
175
+ - @atlaspack/logger@2.14.20
176
+
177
+ ## 2.18.4
178
+
179
+ ### Patch Changes
180
+
181
+ - Updated dependencies [[`3cfb7cf`](https://github.com/atlassian-labs/atlaspack/commit/3cfb7cfd90b78a5c48ce717e779ff789769825a3)]:
182
+ - @atlaspack/feature-flags@2.23.2
183
+ - @atlaspack/rust@3.6.2
184
+ - @atlaspack/types-internal@2.19.3
185
+ - @atlaspack/logger@2.14.19
186
+ - @atlaspack/codeframe@2.13.9
187
+
188
+ ## 2.18.3
189
+
190
+ ### Patch Changes
191
+
192
+ - [#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
193
+
194
+ - [#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
195
+
196
+ - Updated dependencies [[`ee040bb`](https://github.com/atlassian-labs/atlaspack/commit/ee040bb6428f29b57d892ddd8107e29077d08ffd)]:
197
+ - @atlaspack/types-internal@2.19.2
198
+ - @atlaspack/feature-flags@2.23.1
199
+ - @atlaspack/markdown-ansi@2.14.3
200
+ - @atlaspack/diagnostic@2.14.3
201
+ - @atlaspack/codeframe@2.13.8
202
+ - @atlaspack/logger@2.14.18
203
+ - @atlaspack/rust@3.6.1
204
+
205
+ ## 2.18.2
206
+
207
+ ### Patch Changes
208
+
209
+ - Updated dependencies [[`f6b3f22`](https://github.com/atlassian-labs/atlaspack/commit/f6b3f2276c7e417580b49c4879563aab51f156b1)]:
210
+ - @atlaspack/feature-flags@2.23.0
211
+ - @atlaspack/types-internal@2.19.1
212
+ - @atlaspack/codeframe@2.13.7
213
+ - @atlaspack/logger@2.14.17
214
+
215
+ ## 2.18.1
216
+
217
+ ### Patch Changes
218
+
219
+ - 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)]:
220
+ - @atlaspack/rust@3.6.0
221
+ - @atlaspack/types-internal@2.19.0
222
+ - @atlaspack/feature-flags@2.22.0
223
+ - @atlaspack/logger@2.14.16
224
+ - @atlaspack/codeframe@2.13.6
225
+
226
+ ## 2.18.0
227
+
228
+ ### Minor Changes
229
+
230
+ - [#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
231
+
232
+ ### Patch Changes
233
+
234
+ - Updated dependencies [[`23d561e`](https://github.com/atlassian-labs/atlaspack/commit/23d561e51e68b0c38fd1ff4e4fb173e5e7b01cf2)]:
235
+ - @atlaspack/feature-flags@2.21.0
236
+ - @atlaspack/rust@3.5.0
237
+ - @atlaspack/logger@2.14.15
238
+
239
+ ## 2.17.4
240
+
241
+ ### Patch Changes
242
+
243
+ - [#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
244
+
245
+ - Updated dependencies [[`d2fd849`](https://github.com/atlassian-labs/atlaspack/commit/d2fd849770fe6305e9c694bd97b1bd905abd9d94), [`12bee0e`](https://github.com/atlassian-labs/atlaspack/commit/12bee0e23f0464d7f6bd3e24fbe0d19c126d587d)]:
246
+ - @atlaspack/feature-flags@2.20.1
247
+ - @atlaspack/markdown-ansi@2.14.2
248
+ - @atlaspack/diagnostic@2.14.2
249
+ - @atlaspack/codeframe@2.13.5
250
+ - @atlaspack/logger@2.14.14
251
+ - @atlaspack/rust@3.4.2
252
+
253
+ ## 2.17.3
254
+
255
+ ### Patch Changes
256
+
257
+ - Updated dependencies [[`069de47`](https://github.com/atlassian-labs/atlaspack/commit/069de478e64fb5889f6f2ce023eb510782767fbd)]:
258
+ - @atlaspack/feature-flags@2.20.0
259
+
260
+ ## 2.17.2
261
+
262
+ ### Patch Changes
263
+
264
+ - Updated dependencies [[`1c7865a`](https://github.com/atlassian-labs/atlaspack/commit/1c7865a64451116d94015e248302435839d347c0), [`a0b959f`](https://github.com/atlassian-labs/atlaspack/commit/a0b959fbf61fc3f820ff03c7e8988945fe40a91a)]:
265
+ - @atlaspack/feature-flags@2.19.2
266
+
267
+ ## 2.17.1
268
+
269
+ ### Patch Changes
270
+
271
+ - Updated dependencies [[`13aef17`](https://github.com/atlassian-labs/atlaspack/commit/13aef177eea289a6e40d2113b5ec1ac9be18a33d)]:
272
+ - @atlaspack/feature-flags@2.19.1
273
+
274
+ ## 2.17.0
275
+
276
+ ### Minor Changes
277
+
278
+ - [#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
279
+
280
+ - [#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).
281
+
282
+ Rectifying by creating a new changeset now.
283
+
284
+ ### Patch Changes
285
+
286
+ - [#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
287
+
288
+ - [#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
289
+
290
+ - 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)]:
291
+ - @atlaspack/feature-flags@2.19.0
292
+ - @atlaspack/rust@3.4.1
293
+ - @atlaspack/codeframe@2.13.4
294
+ - @atlaspack/logger@2.14.13
295
+
296
+ ## 2.16.1
297
+
298
+ ### Patch Changes
299
+
300
+ - Updated dependencies [[`c75bf55`](https://github.com/atlassian-labs/atlaspack/commit/c75bf553fff4decc285b5fd499a275853b18f8f2)]:
301
+ - @atlaspack/rust@3.4.0
302
+ - @atlaspack/logger@2.14.12
303
+
304
+ ## 2.16.0
305
+
306
+ ### Minor Changes
307
+
308
+ - [#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.
309
+
310
+ ### Patch Changes
311
+
312
+ - Updated dependencies [[`e8a60ff`](https://github.com/atlassian-labs/atlaspack/commit/e8a60ffbea41caef265786bbf73349771760081c)]:
313
+ - @atlaspack/feature-flags@2.18.4
314
+
315
+ ## 2.15.3
316
+
317
+ ### Patch Changes
318
+
319
+ - Updated dependencies [[`5ded263`](https://github.com/atlassian-labs/atlaspack/commit/5ded263c7f11b866e8885b81c73e20dd060b25be)]:
320
+ - @atlaspack/feature-flags@2.18.3
321
+
322
+ ## 2.15.2
323
+
324
+ ### Patch Changes
325
+
326
+ - Updated dependencies [[`644b157`](https://github.com/atlassian-labs/atlaspack/commit/644b157dee72a871acc2d0facf0b87b8eea51956)]:
327
+ - @atlaspack/feature-flags@2.18.2
328
+
329
+ ## 2.15.1
330
+
331
+ ### Patch Changes
332
+
333
+ - 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)]:
334
+ - @atlaspack/logger@2.14.11
335
+ - @atlaspack/feature-flags@2.18.1
336
+
337
+ ## 2.15.0
338
+
339
+ ### Minor Changes
340
+
341
+ - [#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
342
+
343
+ ### Patch Changes
344
+
345
+ - Updated dependencies [[`10fbcfb`](https://github.com/atlassian-labs/atlaspack/commit/10fbcfbfa49c7a83da5d7c40983e36e87f524a75), [`85c52d3`](https://github.com/atlassian-labs/atlaspack/commit/85c52d3f7717b3c84a118d18ab98cfbfd71dcbd2)]:
346
+ - @atlaspack/feature-flags@2.18.0
347
+
348
+ ## 2.14.11
349
+
350
+ ### Patch Changes
351
+
352
+ - Updated dependencies [[`73ea3c4`](https://github.com/atlassian-labs/atlaspack/commit/73ea3c4d85d4401fdd15abcbf988237e890e7ad3), [`b1b3693`](https://github.com/atlassian-labs/atlaspack/commit/b1b369317c66f8a431c170df2ebba4fa5b2e38ef)]:
353
+ - @atlaspack/feature-flags@2.17.0
354
+
355
+ ## 2.14.10
356
+
357
+ ### Patch Changes
358
+
359
+ - Updated dependencies [[`35fdd4b`](https://github.com/atlassian-labs/atlaspack/commit/35fdd4b52da0af20f74667f7b8adfb2f90279b7c), [`6dd4ccb`](https://github.com/atlassian-labs/atlaspack/commit/6dd4ccb753541de32322d881f973d571dd57e4ca)]:
360
+ - @atlaspack/rust@3.3.5
361
+ - @atlaspack/logger@2.14.10
362
+
363
+ ## 2.14.9
364
+
365
+ ### Patch Changes
366
+
367
+ - 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)]:
368
+ - @atlaspack/rust@3.3.4
369
+ - @atlaspack/feature-flags@2.16.0
370
+ - @atlaspack/logger@2.14.9
371
+
3
372
  ## 2.14.8
4
373
 
5
374
  ### 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;