@atlaspack/bundler-default 2.14.5-canary.33 → 2.14.5-canary.331

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 (37) hide show
  1. package/CHANGELOG.md +555 -0
  2. package/dist/DefaultBundler.js +84 -0
  3. package/dist/MonolithicBundler.js +68 -0
  4. package/dist/bundleMerge.js +137 -0
  5. package/dist/bundlerConfig.js +223 -0
  6. package/dist/decorateLegacyGraph.js +189 -0
  7. package/dist/idealGraph.js +1471 -0
  8. package/dist/memoize.js +31 -0
  9. package/dist/stats.js +69 -0
  10. package/lib/DefaultBundler.js +6 -1
  11. package/lib/MonolithicBundler.js +11 -3
  12. package/lib/bundleMerge.js +106 -37
  13. package/lib/bundlerConfig.js +52 -6
  14. package/lib/decorateLegacyGraph.js +24 -3
  15. package/lib/idealGraph.js +410 -55
  16. package/lib/memoize.js +39 -0
  17. package/lib/stats.js +85 -0
  18. package/lib/types/DefaultBundler.d.ts +18 -0
  19. package/lib/types/MonolithicBundler.d.ts +2 -0
  20. package/lib/types/bundleMerge.d.ts +9 -0
  21. package/lib/types/bundlerConfig.d.ts +36 -0
  22. package/lib/types/decorateLegacyGraph.d.ts +3 -0
  23. package/lib/types/idealGraph.d.ts +40 -0
  24. package/lib/types/memoize.d.ts +2 -0
  25. package/lib/types/stats.d.ts +16 -0
  26. package/package.json +20 -12
  27. package/src/{DefaultBundler.js → DefaultBundler.ts} +21 -6
  28. package/src/{MonolithicBundler.js → MonolithicBundler.ts} +17 -5
  29. package/src/bundleMerge.ts +250 -0
  30. package/src/{bundlerConfig.js → bundlerConfig.ts} +106 -45
  31. package/src/{decorateLegacyGraph.js → decorateLegacyGraph.ts} +26 -7
  32. package/src/{idealGraph.js → idealGraph.ts} +729 -137
  33. package/src/memoize.ts +32 -0
  34. package/src/stats.ts +97 -0
  35. package/tsconfig.json +30 -0
  36. package/tsconfig.tsbuildinfo +1 -0
  37. package/src/bundleMerge.js +0 -103
package/CHANGELOG.md CHANGED
@@ -1,5 +1,560 @@
1
1
  # @atlaspack/bundler-default
2
2
 
3
+ ## 3.4.16
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [[`362a85d`](https://github.com/atlassian-labs/atlaspack/commit/362a85deb9722f769eeb5099bae915f8b858a126), [`c81b368`](https://github.com/atlassian-labs/atlaspack/commit/c81b368db20af701d9e019a11272b138f9cfe080)]:
8
+ - @atlaspack/rust@3.15.0
9
+ - @atlaspack/utils@3.2.5
10
+ - @atlaspack/types-internal@2.22.1
11
+ - @atlaspack/graph@3.6.6
12
+ - @atlaspack/plugin@2.14.44
13
+
14
+ ## 3.4.15
15
+
16
+ ### Patch Changes
17
+
18
+ - Updated dependencies [[`00fa643`](https://github.com/atlassian-labs/atlaspack/commit/00fa6433202bfd3311479f6314c9ec878a789f2c)]:
19
+ - @atlaspack/types-internal@2.22.0
20
+ - @atlaspack/graph@3.6.5
21
+ - @atlaspack/plugin@2.14.43
22
+ - @atlaspack/utils@3.2.4
23
+
24
+ ## 3.4.14
25
+
26
+ ### Patch Changes
27
+
28
+ - Updated dependencies [[`787290a`](https://github.com/atlassian-labs/atlaspack/commit/787290a63b3f781e7af86097201dfdb5a36c8551), [`cbb66a5`](https://github.com/atlassian-labs/atlaspack/commit/cbb66a554f7ad679fd4dfc9e2bf2d5abb859f846), [`7815a93`](https://github.com/atlassian-labs/atlaspack/commit/7815a931b18983c3f34a39990b2f4b8b86855cc6), [`25aa273`](https://github.com/atlassian-labs/atlaspack/commit/25aa2735f4db920960de3d65d3a427775086b7d5), [`9468e16`](https://github.com/atlassian-labs/atlaspack/commit/9468e164e8ca20a5e8f552f5dc203aa3716cb154), [`e55c80c`](https://github.com/atlassian-labs/atlaspack/commit/e55c80cd0ae3cc40356fe063cb7d45fbb9095356)]:
29
+ - @atlaspack/rust@3.14.0
30
+ - @atlaspack/feature-flags@2.27.3
31
+ - @atlaspack/utils@3.2.3
32
+ - @atlaspack/graph@3.6.4
33
+ - @atlaspack/types-internal@2.21.3
34
+ - @atlaspack/plugin@2.14.42
35
+
36
+ ## 3.4.13
37
+
38
+ ### Patch Changes
39
+
40
+ - Updated dependencies [[`96f1d7f`](https://github.com/atlassian-labs/atlaspack/commit/96f1d7f3efef12ce4f5966e34d00b299fcefb4dd), [`91738fd`](https://github.com/atlassian-labs/atlaspack/commit/91738fd77cb6b3b7acc93e799327ec283d27f7c0), [`38f3569`](https://github.com/atlassian-labs/atlaspack/commit/38f3569a7024357c43274666312bc6d024bfe5f9), [`3f6a3b8`](https://github.com/atlassian-labs/atlaspack/commit/3f6a3b8df4589fd4d65c072281c7f33bd37341d6), [`96f1d7f`](https://github.com/atlassian-labs/atlaspack/commit/96f1d7f3efef12ce4f5966e34d00b299fcefb4dd), [`d8024ce`](https://github.com/atlassian-labs/atlaspack/commit/d8024ce5c9ced1a9bc39144c979138be3a12b2fb), [`308e7ff`](https://github.com/atlassian-labs/atlaspack/commit/308e7ff979c05c1ae97fe6b08a65666b53d86cc7), [`d98c992`](https://github.com/atlassian-labs/atlaspack/commit/d98c992a56121a4f9f6a011ced5e103f96fe3999)]:
41
+ - @atlaspack/rust@3.13.0
42
+ - @atlaspack/feature-flags@2.27.2
43
+ - @atlaspack/utils@3.2.2
44
+ - @atlaspack/types-internal@2.21.2
45
+ - @atlaspack/graph@3.6.3
46
+ - @atlaspack/plugin@2.14.41
47
+
48
+ ## 3.4.12
49
+
50
+ ### Patch Changes
51
+
52
+ - [#881](https://github.com/atlassian-labs/atlaspack/pull/881) [`2f3af93`](https://github.com/atlassian-labs/atlaspack/commit/2f3af9374bcc082e6f4835f6f5a2b98e32ea45b4) Thanks [@marcins](https://github.com/marcins)! - Cleanup feature flag schemaValidationDeferSourceLoading
53
+
54
+ - 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)]:
55
+ - @atlaspack/rust@3.12.0
56
+ - @atlaspack/feature-flags@2.27.1
57
+ - @atlaspack/utils@3.2.1
58
+ - @atlaspack/graph@3.6.2
59
+ - @atlaspack/types-internal@2.21.1
60
+ - @atlaspack/plugin@2.14.40
61
+
62
+ ## 3.4.11
63
+
64
+ ### Patch Changes
65
+
66
+ - 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)]:
67
+ - @atlaspack/rust@3.11.0
68
+ - @atlaspack/types-internal@2.21.0
69
+ - @atlaspack/feature-flags@2.27.0
70
+ - @atlaspack/utils@3.2.0
71
+ - @atlaspack/graph@3.6.1
72
+ - @atlaspack/plugin@2.14.39
73
+
74
+ ## 3.4.10
75
+
76
+ ### Patch Changes
77
+
78
+ - 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), [`7d7a55d`](https://github.com/atlassian-labs/atlaspack/commit/7d7a55dd6395ec391a2e4c33b3dec0d1ea477d4c), [`540f253`](https://github.com/atlassian-labs/atlaspack/commit/540f253dfdcd1a5caebbdc0b197319d439404aae)]:
79
+ - @atlaspack/feature-flags@2.26.2
80
+ - @atlaspack/rust@3.10.0
81
+ - @atlaspack/graph@3.6.0
82
+ - @atlaspack/utils@3.1.2
83
+ - @atlaspack/types-internal@2.20.8
84
+ - @atlaspack/plugin@2.14.38
85
+
86
+ ## 3.4.9
87
+
88
+ ### Patch Changes
89
+
90
+ - Updated dependencies [[`339b600`](https://github.com/atlassian-labs/atlaspack/commit/339b60095d755742cea50f811d08ccc44a4ae521), [`373ee2d`](https://github.com/atlassian-labs/atlaspack/commit/373ee2d3b5cc315df1e90e647619f915892e2b87)]:
91
+ - @atlaspack/rust@3.9.1
92
+ - @atlaspack/feature-flags@2.26.1
93
+ - @atlaspack/utils@3.1.1
94
+ - @atlaspack/graph@3.5.26
95
+ - @atlaspack/types-internal@2.20.7
96
+ - @atlaspack/plugin@2.14.37
97
+
98
+ ## 3.4.8
99
+
100
+ ### Patch Changes
101
+
102
+ - [#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
103
+
104
+ - 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)]:
105
+ - @atlaspack/rust@3.9.0
106
+ - @atlaspack/feature-flags@2.26.0
107
+ - @atlaspack/utils@3.1.0
108
+ - @atlaspack/graph@3.5.25
109
+ - @atlaspack/types-internal@2.20.6
110
+ - @atlaspack/plugin@2.14.36
111
+
112
+ ## 3.4.7
113
+
114
+ ### Patch Changes
115
+
116
+ - 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)]:
117
+ - @atlaspack/feature-flags@2.25.5
118
+ - @atlaspack/rust@3.8.3
119
+ - @atlaspack/types-internal@2.20.5
120
+ - @atlaspack/utils@3.0.3
121
+ - @atlaspack/graph@3.5.24
122
+ - @atlaspack/plugin@2.14.35
123
+
124
+ ## 3.4.6
125
+
126
+ ### Patch Changes
127
+
128
+ - Updated dependencies [[`662d3c6`](https://github.com/atlassian-labs/atlaspack/commit/662d3c627888b16bf27df15cfac5a9094509e93d)]:
129
+ - @atlaspack/feature-flags@2.25.4
130
+ - @atlaspack/graph@3.5.23
131
+ - @atlaspack/types-internal@2.20.4
132
+ - @atlaspack/utils@3.0.2
133
+ - @atlaspack/plugin@2.14.34
134
+
135
+ ## 3.4.5
136
+
137
+ ### Patch Changes
138
+
139
+ - Updated dependencies [[`236e546`](https://github.com/atlassian-labs/atlaspack/commit/236e5465863dca6044a7191e05260a5b924c342e), [`f07351a`](https://github.com/atlassian-labs/atlaspack/commit/f07351a2398b6a8e5155a2daad77e69b7dcb2b4b)]:
140
+ - @atlaspack/utils@3.0.1
141
+ - @atlaspack/feature-flags@2.25.3
142
+ - @atlaspack/graph@3.5.22
143
+ - @atlaspack/types-internal@2.20.3
144
+ - @atlaspack/plugin@2.14.33
145
+
146
+ ## 3.4.4
147
+
148
+ ### Patch Changes
149
+
150
+ - 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)]:
151
+ - @atlaspack/feature-flags@2.25.2
152
+ - @atlaspack/rust@3.8.2
153
+ - @atlaspack/utils@3.0.0
154
+ - @atlaspack/graph@3.5.21
155
+ - @atlaspack/types-internal@2.20.2
156
+ - @atlaspack/plugin@2.14.32
157
+
158
+ ## 3.4.3
159
+
160
+ ### Patch Changes
161
+
162
+ - [#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.
163
+
164
+ - Updated dependencies [[`0e7dd5e`](https://github.com/atlassian-labs/atlaspack/commit/0e7dd5ec6fbe05aa9e0bb5775a9d0975f206a922), [`686a398`](https://github.com/atlassian-labs/atlaspack/commit/686a398faa1f9e19cbf9274add2c46e246bafba8)]:
165
+ - @atlaspack/diagnostic@2.14.4
166
+ - @atlaspack/feature-flags@2.25.1
167
+ - @atlaspack/graph@3.5.20
168
+ - @atlaspack/plugin@2.14.31
169
+ - @atlaspack/rust@3.8.1
170
+ - @atlaspack/types-internal@2.20.1
171
+ - @atlaspack/utils@2.19.3
172
+
173
+ ## 3.4.2
174
+
175
+ ### Patch Changes
176
+
177
+ - 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)]:
178
+ - @atlaspack/feature-flags@2.25.0
179
+ - @atlaspack/types-internal@2.20.0
180
+ - @atlaspack/rust@3.8.0
181
+ - @atlaspack/graph@3.5.19
182
+ - @atlaspack/utils@2.19.2
183
+ - @atlaspack/plugin@2.14.30
184
+
185
+ ## 3.4.1
186
+
187
+ ### Patch Changes
188
+
189
+ - Updated dependencies [[`830261d`](https://github.com/atlassian-labs/atlaspack/commit/830261dcf4a40293090b61cab52fd75d5683c73f), [`53dd47b`](https://github.com/atlassian-labs/atlaspack/commit/53dd47bd6d23cd47f87297347f03a609ab38a03d)]:
190
+ - @atlaspack/feature-flags@2.24.1
191
+ - @atlaspack/rust@3.7.0
192
+ - @atlaspack/graph@3.5.18
193
+ - @atlaspack/types-internal@2.19.5
194
+ - @atlaspack/utils@2.19.1
195
+ - @atlaspack/plugin@2.14.29
196
+
197
+ ## 3.4.0
198
+
199
+ ### Minor Changes
200
+
201
+ - [#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.
202
+
203
+ ### Patch Changes
204
+
205
+ - [#761](https://github.com/atlassian-labs/atlaspack/pull/761) [`8843980`](https://github.com/atlassian-labs/atlaspack/commit/88439807be20025fd3433380204ff1205079729e) Thanks [@marcins](https://github.com/marcins)! - Adds a new feature flag `singleFileOutputStableName` - when enabled, bundles produced by the experimental single file output bundler will have stable names (i.e. no hash).
206
+
207
+ - 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)]:
208
+ - @atlaspack/feature-flags@2.24.0
209
+ - @atlaspack/utils@2.19.0
210
+ - @atlaspack/graph@3.5.17
211
+ - @atlaspack/types-internal@2.19.4
212
+ - @atlaspack/plugin@2.14.28
213
+
214
+ ## 3.3.4
215
+
216
+ ### Patch Changes
217
+
218
+ - Updated dependencies [[`3cfb7cf`](https://github.com/atlassian-labs/atlaspack/commit/3cfb7cfd90b78a5c48ce717e779ff789769825a3)]:
219
+ - @atlaspack/feature-flags@2.23.2
220
+ - @atlaspack/rust@3.6.2
221
+ - @atlaspack/graph@3.5.16
222
+ - @atlaspack/types-internal@2.19.3
223
+ - @atlaspack/utils@2.18.4
224
+ - @atlaspack/plugin@2.14.27
225
+
226
+ ## 3.3.3
227
+
228
+ ### Patch Changes
229
+
230
+ - [#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
231
+
232
+ - Updated dependencies [[`ee040bb`](https://github.com/atlassian-labs/atlaspack/commit/ee040bb6428f29b57d892ddd8107e29077d08ffd), [`889c65c`](https://github.com/atlassian-labs/atlaspack/commit/889c65cd25b811045e26a117e7404f694dde77a2)]:
233
+ - @atlaspack/types-internal@2.19.2
234
+ - @atlaspack/feature-flags@2.23.1
235
+ - @atlaspack/diagnostic@2.14.3
236
+ - @atlaspack/plugin@2.14.26
237
+ - @atlaspack/graph@3.5.15
238
+ - @atlaspack/utils@2.18.3
239
+ - @atlaspack/rust@3.6.1
240
+
241
+ ## 3.3.2
242
+
243
+ ### Patch Changes
244
+
245
+ - Updated dependencies [[`f6b3f22`](https://github.com/atlassian-labs/atlaspack/commit/f6b3f2276c7e417580b49c4879563aab51f156b1)]:
246
+ - @atlaspack/feature-flags@2.23.0
247
+ - @atlaspack/graph@3.5.14
248
+ - @atlaspack/types-internal@2.19.1
249
+ - @atlaspack/utils@2.18.2
250
+ - @atlaspack/plugin@2.14.25
251
+
252
+ ## 3.3.1
253
+
254
+ ### Patch Changes
255
+
256
+ - 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)]:
257
+ - @atlaspack/rust@3.6.0
258
+ - @atlaspack/types-internal@2.19.0
259
+ - @atlaspack/feature-flags@2.22.0
260
+ - @atlaspack/utils@2.18.1
261
+ - @atlaspack/graph@3.5.13
262
+ - @atlaspack/plugin@2.14.24
263
+
264
+ ## 3.3.0
265
+
266
+ ### Minor Changes
267
+
268
+ - [#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
269
+
270
+ ### Patch Changes
271
+
272
+ - Updated dependencies [[`23d561e`](https://github.com/atlassian-labs/atlaspack/commit/23d561e51e68b0c38fd1ff4e4fb173e5e7b01cf2)]:
273
+ - @atlaspack/feature-flags@2.21.0
274
+ - @atlaspack/utils@2.18.0
275
+ - @atlaspack/rust@3.5.0
276
+ - @atlaspack/graph@3.5.12
277
+ - @atlaspack/plugin@2.14.23
278
+
279
+ ## 3.2.1
280
+
281
+ ### Patch Changes
282
+
283
+ - [#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
284
+
285
+ - Updated dependencies [[`d2fd849`](https://github.com/atlassian-labs/atlaspack/commit/d2fd849770fe6305e9c694bd97b1bd905abd9d94), [`12bee0e`](https://github.com/atlassian-labs/atlaspack/commit/12bee0e23f0464d7f6bd3e24fbe0d19c126d587d)]:
286
+ - @atlaspack/feature-flags@2.20.1
287
+ - @atlaspack/diagnostic@2.14.2
288
+ - @atlaspack/plugin@2.14.22
289
+ - @atlaspack/graph@3.5.11
290
+ - @atlaspack/utils@2.17.4
291
+ - @atlaspack/rust@3.4.2
292
+
293
+ ## 3.2.0
294
+
295
+ ### Minor Changes
296
+
297
+ - [#721](https://github.com/atlassian-labs/atlaspack/pull/721) [`069de47`](https://github.com/atlassian-labs/atlaspack/commit/069de478e64fb5889f6f2ce023eb510782767fbd) Thanks [@benjervis](https://github.com/benjervis)! - Add support for bundle merging based on `webpackChunkName` comments.
298
+
299
+ Adding a `webpackChunkName` comment to an import will allow the bundler to merge multiple imports into a single bundle.
300
+
301
+ e.g.:
302
+
303
+ ```ts
304
+ import(/* webpackChunkName: "my-chunk" */ './my-module');
305
+ import(/* webpackChunkName: "my-chunk" */ './another-module');
306
+ ```
307
+
308
+ This can be enabled with the feature flag `supportWebpackChunkName`.
309
+
310
+ ### Patch Changes
311
+
312
+ - Updated dependencies [[`069de47`](https://github.com/atlassian-labs/atlaspack/commit/069de478e64fb5889f6f2ce023eb510782767fbd)]:
313
+ - @atlaspack/feature-flags@2.20.0
314
+ - @atlaspack/graph@3.5.10
315
+ - @atlaspack/utils@2.17.3
316
+ - @atlaspack/plugin@2.14.21
317
+
318
+ ## 3.1.2
319
+
320
+ ### Patch Changes
321
+
322
+ - [#702](https://github.com/atlassian-labs/atlaspack/pull/702) [`daaa768`](https://github.com/atlassian-labs/atlaspack/commit/daaa7688786772d7e3713b71c5bba6b89ec704aa) Thanks [@alshdavid](https://github.com/alshdavid)! - Fixes to Flow types
323
+
324
+ - Updated dependencies [[`daaa768`](https://github.com/atlassian-labs/atlaspack/commit/daaa7688786772d7e3713b71c5bba6b89ec704aa), [`1c7865a`](https://github.com/atlassian-labs/atlaspack/commit/1c7865a64451116d94015e248302435839d347c0), [`a0b959f`](https://github.com/atlassian-labs/atlaspack/commit/a0b959fbf61fc3f820ff03c7e8988945fe40a91a)]:
325
+ - @atlaspack/plugin@2.14.20
326
+ - @atlaspack/feature-flags@2.19.2
327
+ - @atlaspack/graph@3.5.9
328
+ - @atlaspack/utils@2.17.2
329
+
330
+ ## 3.1.1
331
+
332
+ ### Patch Changes
333
+
334
+ - Updated dependencies [[`13aef17`](https://github.com/atlassian-labs/atlaspack/commit/13aef177eea289a6e40d2113b5ec1ac9be18a33d)]:
335
+ - @atlaspack/feature-flags@2.19.1
336
+ - @atlaspack/graph@3.5.8
337
+ - @atlaspack/utils@2.17.1
338
+ - @atlaspack/plugin@2.14.19
339
+
340
+ ## 3.1.0
341
+
342
+ ### Minor Changes
343
+
344
+ - [#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
345
+
346
+ ### Patch Changes
347
+
348
+ - 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)]:
349
+ - @atlaspack/feature-flags@2.19.0
350
+ - @atlaspack/utils@2.17.0
351
+ - @atlaspack/rust@3.4.1
352
+ - @atlaspack/graph@3.5.7
353
+ - @atlaspack/plugin@2.14.18
354
+
355
+ ## 3.0.8
356
+
357
+ ### Patch Changes
358
+
359
+ - Updated dependencies [[`c75bf55`](https://github.com/atlassian-labs/atlaspack/commit/c75bf553fff4decc285b5fd499a275853b18f8f2)]:
360
+ - @atlaspack/rust@3.4.0
361
+ - @atlaspack/utils@2.16.1
362
+ - @atlaspack/plugin@2.14.17
363
+
364
+ ## 3.0.7
365
+
366
+ ### Patch Changes
367
+
368
+ - Updated dependencies [[`e8a60ff`](https://github.com/atlassian-labs/atlaspack/commit/e8a60ffbea41caef265786bbf73349771760081c), [`30ee2cf`](https://github.com/atlassian-labs/atlaspack/commit/30ee2cfcd34cf2646ded0eda13fdb80a2a5de529)]:
369
+ - @atlaspack/feature-flags@2.18.4
370
+ - @atlaspack/utils@2.16.0
371
+ - @atlaspack/graph@3.5.6
372
+ - @atlaspack/plugin@2.14.16
373
+
374
+ ## 3.0.6
375
+
376
+ ### Patch Changes
377
+
378
+ - Updated dependencies [[`5ded263`](https://github.com/atlassian-labs/atlaspack/commit/5ded263c7f11b866e8885b81c73e20dd060b25be)]:
379
+ - @atlaspack/feature-flags@2.18.3
380
+ - @atlaspack/graph@3.5.5
381
+ - @atlaspack/utils@2.15.3
382
+ - @atlaspack/plugin@2.14.15
383
+
384
+ ## 3.0.5
385
+
386
+ ### Patch Changes
387
+
388
+ - Updated dependencies [[`644b157`](https://github.com/atlassian-labs/atlaspack/commit/644b157dee72a871acc2d0facf0b87b8eea51956)]:
389
+ - @atlaspack/feature-flags@2.18.2
390
+ - @atlaspack/graph@3.5.4
391
+ - @atlaspack/utils@2.15.2
392
+ - @atlaspack/plugin@2.14.14
393
+
394
+ ## 3.0.4
395
+
396
+ ### Patch Changes
397
+
398
+ - Updated dependencies [[`26aa9c5`](https://github.com/atlassian-labs/atlaspack/commit/26aa9c599d2be45ce1438a74c5fa22f39b9b554b), [`0501255`](https://github.com/atlassian-labs/atlaspack/commit/05012550da35b05ce7d356a8cc29311e7f9afdca)]:
399
+ - @atlaspack/feature-flags@2.18.1
400
+ - @atlaspack/utils@2.15.1
401
+ - @atlaspack/graph@3.5.3
402
+ - @atlaspack/plugin@2.14.13
403
+
404
+ ## 3.0.3
405
+
406
+ ### Patch Changes
407
+
408
+ - [#622](https://github.com/atlassian-labs/atlaspack/pull/622) [`e39c6cf`](https://github.com/atlassian-labs/atlaspack/commit/e39c6cf05f7e95ce5420dbcea66f401b1cbd397c) Thanks [@benjervis](https://github.com/benjervis)! - Change the overlap calculation system in findMergeCandidates to improve performance
409
+
410
+ - Updated dependencies [[`10fbcfb`](https://github.com/atlassian-labs/atlaspack/commit/10fbcfbfa49c7a83da5d7c40983e36e87f524a75), [`85c52d3`](https://github.com/atlassian-labs/atlaspack/commit/85c52d3f7717b3c84a118d18ab98cfbfd71dcbd2), [`e39c6cf`](https://github.com/atlassian-labs/atlaspack/commit/e39c6cf05f7e95ce5420dbcea66f401b1cbd397c)]:
411
+ - @atlaspack/feature-flags@2.18.0
412
+ - @atlaspack/utils@2.15.0
413
+ - @atlaspack/graph@3.5.2
414
+ - @atlaspack/plugin@2.14.12
415
+
416
+ ## 3.0.2
417
+
418
+ ### Patch Changes
419
+
420
+ - [#613](https://github.com/atlassian-labs/atlaspack/pull/613) [`4ca19d8`](https://github.com/atlassian-labs/atlaspack/commit/4ca19d8060dfcd279183e4039f2ecb43334ac44c) Thanks [@marcins](https://github.com/marcins)! - Ensure that constant modules are correctly included in MSBs even if they wouldn't otherwise be.
421
+
422
+ - Updated dependencies [[`73ea3c4`](https://github.com/atlassian-labs/atlaspack/commit/73ea3c4d85d4401fdd15abcbf988237e890e7ad3), [`b1b3693`](https://github.com/atlassian-labs/atlaspack/commit/b1b369317c66f8a431c170df2ebba4fa5b2e38ef)]:
423
+ - @atlaspack/feature-flags@2.17.0
424
+ - @atlaspack/graph@3.5.1
425
+ - @atlaspack/utils@2.14.11
426
+ - @atlaspack/plugin@2.14.11
427
+
428
+ ## 3.0.1
429
+
430
+ ### Patch Changes
431
+
432
+ - [#608](https://github.com/atlassian-labs/atlaspack/pull/608) [`471b99e`](https://github.com/atlassian-labs/atlaspack/commit/471b99e41b4d97328c88f65e90bea284372cb1b0) Thanks [@mattcompiles](https://github.com/mattcompiles)! - Fix require of ES Module error
433
+
434
+ ## 3.0.0
435
+
436
+ ### Major Changes
437
+
438
+ - [#600](https://github.com/atlassian-labs/atlaspack/pull/600) [`1b52b99`](https://github.com/atlassian-labs/atlaspack/commit/1b52b99db4298b04c1a6eb0f97994d75a2d436f9) Thanks [@mattcompiles](https://github.com/mattcompiles)! - ### Breaking change
439
+
440
+ This new config replaces the previously released `sharedBundleMergeThreshold`.
441
+
442
+ The following options are available for each merge group.
443
+
444
+ ### Options
445
+
446
+ #### overlapThreshold
447
+
448
+ > The same as `sharedBundleMergeThreshold` from #535
449
+
450
+ Merge bundles share a percentage of source bundles
451
+
452
+ ```json
453
+ "@atlaspack/bundler-default": {
454
+ "sharedBundleMerge": [{
455
+ "overlapThreshold": 0.75
456
+ }]
457
+ }
458
+ ```
459
+
460
+ #### maxBundleSize
461
+
462
+ Merge bundles that are smaller than a configured amount of bytes.
463
+
464
+ > Keep in mind these bytes are pre-optimisation
465
+
466
+ ```json
467
+ "@atlaspack/bundler-default": {
468
+ "sharedBundleMerge": [{
469
+ "maxBundleSize": 20000
470
+ }]
471
+ }
472
+ ```
473
+
474
+ #### sourceBundles
475
+
476
+ Merge bundles that share a set of source bundles. The matching is relative to the project root, like how manual shared bundle roots work.
477
+
478
+ ```json
479
+ "@atlaspack/bundler-default": {
480
+ "sharedBundleMerge": [{
481
+ "sourceBundles": ["src/important-route", "src/important-route-2"]
482
+ }]
483
+ }
484
+ ```
485
+
486
+ #### minBundlesInGroup
487
+
488
+ Merge bundles that belong to a bundle group that's larger than a set amount. This is useful for targetting bundles that would be deleted by the `maxParallelRequests` option.
489
+
490
+ ```json
491
+ "@atlaspack/bundler-default": {
492
+ "maxParallelRequests": 30,
493
+ "sharedBundleMerge": [{
494
+ "minBundlesInGroup": 30
495
+ }]
496
+ }
497
+ ```
498
+
499
+ ## Combining options
500
+
501
+ When multiple options are provided, all must be true for a merge to be relevant.
502
+
503
+ For example, merge bundles that are smaller than 20kb and share at least 50% of the same source bundles.
504
+
505
+ ```json
506
+ "@atlaspack/bundler-default": {
507
+ "sharedBundleMerge": [{
508
+ "overlapThreshold": 0.5,
509
+ "maxBundleSize": 20000
510
+ }]
511
+ }
512
+ ```
513
+
514
+ ## Multiple merges
515
+
516
+ You can also have multiple merge configs.
517
+
518
+ ```json
519
+ "@atlaspack/bundler-default": {
520
+ "sharedBundleMerge": [
521
+ {
522
+ "overlapThreshold": 0.75,
523
+ "maxBundleSize": 20000
524
+ },
525
+ {
526
+ "minBundlesInGroup": 30
527
+ "sourceBundles": ["src/important-route", "src/important-route-2"]
528
+ }
529
+ ]
530
+ }
531
+ ```
532
+
533
+ ### Patch Changes
534
+
535
+ - Updated dependencies [[`1b52b99`](https://github.com/atlassian-labs/atlaspack/commit/1b52b99db4298b04c1a6eb0f97994d75a2d436f9)]:
536
+ - @atlaspack/graph@3.5.0
537
+
538
+ ## 2.16.3
539
+
540
+ ### Patch Changes
541
+
542
+ - Updated dependencies [[`35fdd4b`](https://github.com/atlassian-labs/atlaspack/commit/35fdd4b52da0af20f74667f7b8adfb2f90279b7c), [`6dd4ccb`](https://github.com/atlassian-labs/atlaspack/commit/6dd4ccb753541de32322d881f973d571dd57e4ca)]:
543
+ - @atlaspack/rust@3.3.5
544
+ - @atlaspack/plugin@2.14.10
545
+ - @atlaspack/utils@2.14.10
546
+
547
+ ## 2.16.2
548
+
549
+ ### Patch Changes
550
+
551
+ - 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)]:
552
+ - @atlaspack/rust@3.3.4
553
+ - @atlaspack/feature-flags@2.16.0
554
+ - @atlaspack/utils@2.14.9
555
+ - @atlaspack/graph@3.4.7
556
+ - @atlaspack/plugin@2.14.9
557
+
3
558
  ## 2.16.1
4
559
 
5
560
  ### Patch Changes
@@ -0,0 +1,84 @@
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
+ const plugin_1 = require("@atlaspack/plugin");
7
+ const utils_1 = require("@atlaspack/utils");
8
+ const assert_1 = __importDefault(require("assert"));
9
+ const bundlerConfig_1 = require("./bundlerConfig");
10
+ const decorateLegacyGraph_1 = require("./decorateLegacyGraph");
11
+ const idealGraph_1 = require("./idealGraph");
12
+ const MonolithicBundler_1 = require("./MonolithicBundler");
13
+ /**
14
+ *
15
+ * The Bundler works by creating an IdealGraph, which contains a BundleGraph that models bundles
16
+ * connected to other bundles by what references them, and thus models BundleGroups.
17
+ *
18
+ * First, we enter `bundle({bundleGraph, config})`. Here, "bundleGraph" is actually just the
19
+ * assetGraph turned into a type `MutableBundleGraph`, which will then be mutated in decorate,
20
+ * and turned into what we expect the bundleGraph to be as per the old (default) bundler structure
21
+ * & what the rest of Atlaspack expects a BundleGraph to be.
22
+ *
23
+ * `bundle({bundleGraph, config})` First gets a Mapping of target to entries, In most cases there is
24
+ * only one target, and one or more entries. (Targets are pertinent in monorepos or projects where you
25
+ * will have two or more distDirs, or output folders.) Then calls create IdealGraph and Decorate per target.
26
+ *
27
+ */
28
+ exports.default = new plugin_1.Bundler({
29
+ loadConfig({ config, options, logger }) {
30
+ return (0, bundlerConfig_1.loadBundlerConfig)(config, options, logger);
31
+ },
32
+ bundle({ bundleGraph, config, logger }) {
33
+ let targetMap = getEntryByTarget(bundleGraph); // Organize entries by target output folder/ distDir
34
+ // @ts-expect-error TS2304
35
+ let graphs = [];
36
+ for (let entries of targetMap.values()) {
37
+ let singleFileEntries = new Map();
38
+ let idealGraphEntries = new Map();
39
+ // Separate out the monolith bundles based on the option on target
40
+ for (let [entryAsset, entryDep] of entries.entries()) {
41
+ if (entryDep.target?.env.unstableSingleFileOutput === true) {
42
+ singleFileEntries.set(entryAsset, entryDep);
43
+ }
44
+ else {
45
+ idealGraphEntries.set(entryAsset, entryDep);
46
+ }
47
+ }
48
+ // Create separate bundleGraphs per distDir
49
+ graphs.push((0, idealGraph_1.createIdealGraph)(bundleGraph, config, idealGraphEntries, logger));
50
+ // Do this after the ideal graph so that the mutation of the bundleGraph doesn't
51
+ // interfere with the main bundling algorithm
52
+ for (let [entryAsset, entryDep] of singleFileEntries.entries()) {
53
+ (0, MonolithicBundler_1.addJSMonolithBundle)(bundleGraph, entryAsset, entryDep);
54
+ }
55
+ }
56
+ for (let g of graphs) {
57
+ (0, decorateLegacyGraph_1.decorateLegacyGraph)(g, bundleGraph); //mutate original graph
58
+ }
59
+ },
60
+ optimize() { },
61
+ });
62
+ function getEntryByTarget(bundleGraph) {
63
+ // Find entries from assetGraph per target
64
+ let targets = new utils_1.DefaultMap(() => new Map());
65
+ bundleGraph.traverse({
66
+ enter(
67
+ // @ts-expect-error TS2304
68
+ node, context,
69
+ // @ts-expect-error TS2304
70
+ actions) {
71
+ if (node.type !== 'asset') {
72
+ return node;
73
+ }
74
+ (0, assert_1.default)(context != null &&
75
+ context.type === 'dependency' &&
76
+ context.value.isEntry &&
77
+ context.value.target != null);
78
+ targets.get(context.value.target.distDir).set(node.value, context.value);
79
+ actions.skipChildren();
80
+ return node;
81
+ },
82
+ });
83
+ return targets;
84
+ }