@atlaspack/core 2.16.2-dev.14 → 2.16.2-dev.1c70d50f9.99
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.
- package/CHANGELOG.md +196 -0
- package/lib/AssetGraph.js +27 -7
- package/lib/Atlaspack.js +10 -2
- package/lib/BundleGraph.js +6 -105
- package/lib/Dependency.js +6 -2
- package/lib/Environment.js +5 -3
- package/lib/EnvironmentManager.js +137 -0
- package/lib/InternalConfig.js +3 -2
- package/lib/PackagerRunner.js +52 -15
- package/lib/RequestTracker.js +313 -94
- package/lib/UncommittedAsset.js +20 -2
- package/lib/applyRuntimes.js +2 -1
- package/lib/assetUtils.js +2 -1
- package/lib/atlaspack-v3/worker/worker.js +8 -0
- package/lib/index.js +29 -1
- package/lib/public/Asset.js +3 -2
- package/lib/public/Bundle.js +2 -1
- package/lib/public/BundleGraph.js +21 -8
- package/lib/public/Config.js +91 -3
- package/lib/public/Dependency.js +2 -1
- package/lib/public/MutableBundleGraph.js +2 -1
- package/lib/public/Target.js +2 -1
- package/lib/requests/AssetGraphRequest.js +13 -1
- package/lib/requests/AssetGraphRequestRust.js +17 -2
- package/lib/requests/AssetRequest.js +2 -1
- package/lib/requests/BundleGraphRequest.js +13 -1
- package/lib/requests/ConfigRequest.js +27 -4
- package/lib/requests/DevDepRequest.js +21 -1
- package/lib/requests/PathRequest.js +10 -0
- package/lib/requests/TargetRequest.js +18 -16
- package/lib/requests/WriteBundleRequest.js +15 -3
- package/lib/requests/WriteBundlesRequest.js +1 -0
- package/lib/resolveOptions.js +4 -2
- package/package.json +18 -25
- package/src/AssetGraph.js +30 -7
- package/src/Atlaspack.js +13 -5
- package/src/BundleGraph.js +13 -175
- package/src/Dependency.js +13 -5
- package/src/Environment.js +9 -6
- package/src/EnvironmentManager.js +145 -0
- package/src/InternalConfig.js +6 -5
- package/src/PackagerRunner.js +72 -20
- package/src/RequestTracker.js +532 -150
- package/src/UncommittedAsset.js +23 -3
- package/src/applyRuntimes.js +6 -1
- package/src/assetUtils.js +4 -3
- package/src/atlaspack-v3/worker/compat/plugin-config.js +9 -5
- package/src/atlaspack-v3/worker/worker.js +7 -0
- package/src/index.js +5 -1
- package/src/public/Asset.js +9 -2
- package/src/public/Bundle.js +2 -1
- package/src/public/BundleGraph.js +22 -15
- package/src/public/Config.js +128 -14
- package/src/public/Dependency.js +2 -1
- package/src/public/MutableBundleGraph.js +5 -2
- package/src/public/Target.js +2 -1
- package/src/requests/AssetGraphRequest.js +13 -3
- package/src/requests/AssetGraphRequestRust.js +14 -2
- package/src/requests/AssetRequest.js +2 -1
- package/src/requests/BundleGraphRequest.js +13 -3
- package/src/requests/ConfigRequest.js +33 -9
- package/src/requests/DevDepRequest.js +44 -12
- package/src/requests/PathRequest.js +4 -0
- package/src/requests/TargetRequest.js +19 -25
- package/src/requests/WriteBundleRequest.js +14 -8
- package/src/requests/WriteBundlesRequest.js +1 -0
- package/src/resolveOptions.js +4 -2
- package/src/types.js +10 -7
- package/test/Environment.test.js +43 -34
- package/test/EnvironmentManager.test.js +192 -0
- package/test/PublicEnvironment.test.js +10 -7
- package/test/RequestTracker.test.js +115 -3
- package/test/public/Config.test.js +108 -0
- package/test/requests/ConfigRequest.test.js +187 -3
- package/test/test-utils.js +4 -9
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,201 @@
|
|
|
1
1
|
# @atlaspack/core
|
|
2
2
|
|
|
3
|
+
## 2.18.5
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#652](https://github.com/atlassian-labs/atlaspack/pull/652) [`644b157`](https://github.com/atlassian-labs/atlaspack/commit/644b157dee72a871acc2d0facf0b87b8eea51956) Thanks [@yamadapc](https://github.com/yamadapc)! - Fix bugs related to build aborts. Builds and cache writes will no longer be aborted.
|
|
8
|
+
|
|
9
|
+
- Updated dependencies [[`644b157`](https://github.com/atlassian-labs/atlaspack/commit/644b157dee72a871acc2d0facf0b87b8eea51956)]:
|
|
10
|
+
- @atlaspack/feature-flags@2.18.2
|
|
11
|
+
- @atlaspack/cache@3.2.9
|
|
12
|
+
- @atlaspack/fs@2.15.9
|
|
13
|
+
- @atlaspack/graph@3.5.4
|
|
14
|
+
- @atlaspack/utils@2.15.2
|
|
15
|
+
- @atlaspack/package-manager@2.14.14
|
|
16
|
+
- @atlaspack/profiler@2.14.12
|
|
17
|
+
- @atlaspack/types@2.15.4
|
|
18
|
+
- @atlaspack/workers@2.14.14
|
|
19
|
+
- @atlaspack/plugin@2.14.14
|
|
20
|
+
|
|
21
|
+
## 2.18.4
|
|
22
|
+
|
|
23
|
+
### Patch Changes
|
|
24
|
+
|
|
25
|
+
- [#650](https://github.com/atlassian-labs/atlaspack/pull/650) [`ef3d622`](https://github.com/atlassian-labs/atlaspack/commit/ef3d6228f4e006702198a19c61e051d194d325cb) Thanks [@alshdavid](https://github.com/alshdavid)! - Remove package.json#exports
|
|
26
|
+
|
|
27
|
+
- [#646](https://github.com/atlassian-labs/atlaspack/pull/646) [`6b1f5ff`](https://github.com/atlassian-labs/atlaspack/commit/6b1f5fff68d7131fae075e14f4d2c02606dc6058) Thanks [@alshdavid](https://github.com/alshdavid)! - Export WORKER_PATH from @atlaspack/core
|
|
28
|
+
|
|
29
|
+
- [#633](https://github.com/atlassian-labs/atlaspack/pull/633) [`26aa9c5`](https://github.com/atlassian-labs/atlaspack/commit/26aa9c599d2be45ce1438a74c5fa22f39b9b554b) Thanks [@sbhuiyan-atlassian](https://github.com/sbhuiyan-atlassian)! - Ported various HMR changes from Parcel
|
|
30
|
+
|
|
31
|
+
- [#648](https://github.com/atlassian-labs/atlaspack/pull/648) [`c8f7df4`](https://github.com/atlassian-labs/atlaspack/commit/c8f7df4eadfc4718040fceb065dae6e96a4051e7) Thanks [@alshdavid](https://github.com/alshdavid)! - Export ATLASPACK_VERSION and other internals
|
|
32
|
+
|
|
33
|
+
- [#626](https://github.com/atlassian-labs/atlaspack/pull/626) [`0501255`](https://github.com/atlassian-labs/atlaspack/commit/05012550da35b05ce7d356a8cc29311e7f9afdca) Thanks [@yamadapc](https://github.com/yamadapc)! - Clean-up tsconfig invalidation improvements feature-flag
|
|
34
|
+
|
|
35
|
+
- 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)]:
|
|
36
|
+
- @atlaspack/workers@2.14.13
|
|
37
|
+
- @atlaspack/logger@2.14.11
|
|
38
|
+
- @atlaspack/feature-flags@2.18.1
|
|
39
|
+
- @atlaspack/fs@2.15.8
|
|
40
|
+
- @atlaspack/package-manager@2.14.13
|
|
41
|
+
- @atlaspack/types@2.15.3
|
|
42
|
+
- @atlaspack/cache@3.2.8
|
|
43
|
+
- @atlaspack/utils@2.15.1
|
|
44
|
+
- @atlaspack/graph@3.5.3
|
|
45
|
+
- @atlaspack/plugin@2.14.13
|
|
46
|
+
- @atlaspack/profiler@2.14.11
|
|
47
|
+
|
|
48
|
+
## 2.18.3
|
|
49
|
+
|
|
50
|
+
### Patch Changes
|
|
51
|
+
|
|
52
|
+
- 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)]:
|
|
53
|
+
- @atlaspack/feature-flags@2.18.0
|
|
54
|
+
- @atlaspack/utils@2.15.0
|
|
55
|
+
- @atlaspack/cache@3.2.7
|
|
56
|
+
- @atlaspack/fs@2.15.7
|
|
57
|
+
- @atlaspack/graph@3.5.2
|
|
58
|
+
- @atlaspack/package-manager@2.14.12
|
|
59
|
+
- @atlaspack/workers@2.14.12
|
|
60
|
+
- @atlaspack/profiler@2.14.10
|
|
61
|
+
- @atlaspack/types@2.15.2
|
|
62
|
+
- @atlaspack/plugin@2.14.12
|
|
63
|
+
|
|
64
|
+
## 2.18.2
|
|
65
|
+
|
|
66
|
+
### Patch Changes
|
|
67
|
+
|
|
68
|
+
- Updated dependencies [[`73ea3c4`](https://github.com/atlassian-labs/atlaspack/commit/73ea3c4d85d4401fdd15abcbf988237e890e7ad3), [`b1b3693`](https://github.com/atlassian-labs/atlaspack/commit/b1b369317c66f8a431c170df2ebba4fa5b2e38ef)]:
|
|
69
|
+
- @atlaspack/feature-flags@2.17.0
|
|
70
|
+
- @atlaspack/cache@3.2.6
|
|
71
|
+
- @atlaspack/fs@2.15.6
|
|
72
|
+
- @atlaspack/graph@3.5.1
|
|
73
|
+
- @atlaspack/utils@2.14.11
|
|
74
|
+
- @atlaspack/package-manager@2.14.11
|
|
75
|
+
- @atlaspack/profiler@2.14.9
|
|
76
|
+
- @atlaspack/types@2.15.1
|
|
77
|
+
- @atlaspack/workers@2.14.11
|
|
78
|
+
- @atlaspack/plugin@2.14.11
|
|
79
|
+
|
|
80
|
+
## 2.18.1
|
|
81
|
+
|
|
82
|
+
### Patch Changes
|
|
83
|
+
|
|
84
|
+
- Updated dependencies [[`1b52b99`](https://github.com/atlassian-labs/atlaspack/commit/1b52b99db4298b04c1a6eb0f97994d75a2d436f9)]:
|
|
85
|
+
- @atlaspack/graph@3.5.0
|
|
86
|
+
|
|
87
|
+
## 2.18.0
|
|
88
|
+
|
|
89
|
+
### Minor Changes
|
|
90
|
+
|
|
91
|
+
- [#601](https://github.com/atlassian-labs/atlaspack/pull/601) [`1e32d4e`](https://github.com/atlassian-labs/atlaspack/commit/1e32d4eae6b3af3968e8a0ef97d35b4347fd4196) Thanks [@yamadapc](https://github.com/yamadapc)! - Improve granular configuration file invalidations
|
|
92
|
+
|
|
93
|
+
- [#599](https://github.com/atlassian-labs/atlaspack/pull/599) [`0b2f6f5`](https://github.com/atlassian-labs/atlaspack/commit/0b2f6f55794d3ff6e2f5a41f963e7e5dd8ad9f8d) Thanks [@pancaspe87](https://github.com/pancaspe87)! - load and write env to cache - change is feature flagged
|
|
94
|
+
|
|
95
|
+
### Patch Changes
|
|
96
|
+
|
|
97
|
+
- [#595](https://github.com/atlassian-labs/atlaspack/pull/595) [`51aba5f`](https://github.com/atlassian-labs/atlaspack/commit/51aba5fc0e49235ee06bbc3c376f48c3e7da5c4b) Thanks [@yamadapc](https://github.com/yamadapc)! - Add bundleId to write bundle request results
|
|
98
|
+
|
|
99
|
+
- [#572](https://github.com/atlassian-labs/atlaspack/pull/572) [`6dd4ccb`](https://github.com/atlassian-labs/atlaspack/commit/6dd4ccb753541de32322d881f973d571dd57e4ca) Thanks [@yamadapc](https://github.com/yamadapc)! - Add feature-flagged change which removes all environment duplication around objects
|
|
100
|
+
|
|
101
|
+
- Updated dependencies [[`0999fb7`](https://github.com/atlassian-labs/atlaspack/commit/0999fb78da519a6c7582d212883e515fcf6c1252), [`51aba5f`](https://github.com/atlassian-labs/atlaspack/commit/51aba5fc0e49235ee06bbc3c376f48c3e7da5c4b), [`1e32d4e`](https://github.com/atlassian-labs/atlaspack/commit/1e32d4eae6b3af3968e8a0ef97d35b4347fd4196), [`35fdd4b`](https://github.com/atlassian-labs/atlaspack/commit/35fdd4b52da0af20f74667f7b8adfb2f90279b7c), [`6dd4ccb`](https://github.com/atlassian-labs/atlaspack/commit/6dd4ccb753541de32322d881f973d571dd57e4ca)]:
|
|
102
|
+
- @atlaspack/fs@2.15.5
|
|
103
|
+
- @atlaspack/types@2.15.0
|
|
104
|
+
- @atlaspack/rust@3.3.5
|
|
105
|
+
- @atlaspack/cache@3.2.5
|
|
106
|
+
- @atlaspack/package-manager@2.14.10
|
|
107
|
+
- @atlaspack/profiler@2.14.8
|
|
108
|
+
- @atlaspack/workers@2.14.10
|
|
109
|
+
- @atlaspack/plugin@2.14.10
|
|
110
|
+
- @atlaspack/logger@2.14.10
|
|
111
|
+
- @atlaspack/utils@2.14.10
|
|
112
|
+
|
|
113
|
+
## 2.17.4
|
|
114
|
+
|
|
115
|
+
### Patch Changes
|
|
116
|
+
|
|
117
|
+
- [#588](https://github.com/atlassian-labs/atlaspack/pull/588) [`1940859`](https://github.com/atlassian-labs/atlaspack/commit/194085942f0e86532e9d039fc3f8039badce4594) Thanks [@yamadapc](https://github.com/yamadapc)! - Do not invalidate all javascript files when tsconfig files change
|
|
118
|
+
|
|
119
|
+
- [#592](https://github.com/atlassian-labs/atlaspack/pull/592) [`15b6155`](https://github.com/atlassian-labs/atlaspack/commit/15b61556e9114203ebbc9de94b864118ca764598) Thanks [@yamadapc](https://github.com/yamadapc)! - Report large file invalidations
|
|
120
|
+
|
|
121
|
+
- [#503](https://github.com/atlassian-labs/atlaspack/pull/503) [`209692f`](https://github.com/atlassian-labs/atlaspack/commit/209692ffb11eae103a0d65c5e1118a5aa1625818) Thanks [@JakeLane](https://github.com/JakeLane)! - Fix conditional bundling reporter when condition is reused
|
|
122
|
+
|
|
123
|
+
- [#562](https://github.com/atlassian-labs/atlaspack/pull/562) [`d04de26`](https://github.com/atlassian-labs/atlaspack/commit/d04de26af684d7abfba5091fbe3df16a12cd0ebc) Thanks [@yamadapc](https://github.com/yamadapc)! - Update with feature-flagged change to write packages into files rather than LMDB
|
|
124
|
+
|
|
125
|
+
- 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)]:
|
|
126
|
+
- @atlaspack/cache@3.2.4
|
|
127
|
+
- @atlaspack/rust@3.3.4
|
|
128
|
+
- @atlaspack/fs@2.15.4
|
|
129
|
+
- @atlaspack/feature-flags@2.16.0
|
|
130
|
+
- @atlaspack/logger@2.14.9
|
|
131
|
+
- @atlaspack/utils@2.14.9
|
|
132
|
+
- @atlaspack/package-manager@2.14.9
|
|
133
|
+
- @atlaspack/graph@3.4.7
|
|
134
|
+
- @atlaspack/workers@2.14.9
|
|
135
|
+
- @atlaspack/profiler@2.14.7
|
|
136
|
+
- @atlaspack/types@2.14.9
|
|
137
|
+
- @atlaspack/plugin@2.14.9
|
|
138
|
+
|
|
139
|
+
## 2.17.3
|
|
140
|
+
|
|
141
|
+
### Patch Changes
|
|
142
|
+
|
|
143
|
+
- [#551](https://github.com/atlassian-labs/atlaspack/pull/551) [`30f6017`](https://github.com/atlassian-labs/atlaspack/commit/30f60175ba4d272c5fc193973c63bc298584775b) Thanks [@yamadapc](https://github.com/yamadapc)! - Log request tracker invalidation counts on start-up
|
|
144
|
+
|
|
145
|
+
- [#550](https://github.com/atlassian-labs/atlaspack/pull/550) [`3a3e8e7`](https://github.com/atlassian-labs/atlaspack/commit/3a3e8e7be9e2dffd7304436d792f0f595d59665a) Thanks [@yamadapc](https://github.com/yamadapc)! - Fix typescript declaration files
|
|
146
|
+
|
|
147
|
+
- [#555](https://github.com/atlassian-labs/atlaspack/pull/555) [`15c1e3c`](https://github.com/atlassian-labs/atlaspack/commit/15c1e3c0628bae4c768d76cf3afc53d6d0d7ce7c) Thanks [@alshdavid](https://github.com/alshdavid)! - Added ATLASPACK_NATIVE_THREADS env variable to control the number of threads used by the native thread schedular
|
|
148
|
+
|
|
149
|
+
- Updated dependencies [[`30f6017`](https://github.com/atlassian-labs/atlaspack/commit/30f60175ba4d272c5fc193973c63bc298584775b), [`3a3e8e7`](https://github.com/atlassian-labs/atlaspack/commit/3a3e8e7be9e2dffd7304436d792f0f595d59665a), [`1ab0a27`](https://github.com/atlassian-labs/atlaspack/commit/1ab0a275aeca40350415e2b03e7440d1dddc6228), [`b8a4ae8`](https://github.com/atlassian-labs/atlaspack/commit/b8a4ae8f83dc0a83d8b145c5f729936ce52080a3)]:
|
|
150
|
+
- @atlaspack/feature-flags@2.15.1
|
|
151
|
+
- @atlaspack/fs@2.15.3
|
|
152
|
+
- @atlaspack/rust@3.3.3
|
|
153
|
+
- @atlaspack/cache@3.2.3
|
|
154
|
+
- @atlaspack/graph@3.4.6
|
|
155
|
+
- @atlaspack/utils@2.14.8
|
|
156
|
+
- @atlaspack/package-manager@2.14.8
|
|
157
|
+
- @atlaspack/logger@2.14.8
|
|
158
|
+
- @atlaspack/profiler@2.14.6
|
|
159
|
+
- @atlaspack/types@2.14.8
|
|
160
|
+
- @atlaspack/workers@2.14.8
|
|
161
|
+
- @atlaspack/plugin@2.14.8
|
|
162
|
+
|
|
163
|
+
## 2.17.2
|
|
164
|
+
|
|
165
|
+
### Patch Changes
|
|
166
|
+
|
|
167
|
+
- Updated dependencies [[`a1773d2`](https://github.com/atlassian-labs/atlaspack/commit/a1773d2a62d0ef7805ac7524621dcabcc1afe929), [`556d6ab`](https://github.com/atlassian-labs/atlaspack/commit/556d6ab8ede759fa7f37fcd3f4da336ef1c55e8f)]:
|
|
168
|
+
- @atlaspack/feature-flags@2.15.0
|
|
169
|
+
- @atlaspack/logger@2.14.7
|
|
170
|
+
- @atlaspack/rust@3.3.2
|
|
171
|
+
- @atlaspack/cache@3.2.2
|
|
172
|
+
- @atlaspack/fs@2.15.2
|
|
173
|
+
- @atlaspack/graph@3.4.5
|
|
174
|
+
- @atlaspack/utils@2.14.7
|
|
175
|
+
- @atlaspack/package-manager@2.14.7
|
|
176
|
+
- @atlaspack/workers@2.14.7
|
|
177
|
+
- @atlaspack/profiler@2.14.5
|
|
178
|
+
- @atlaspack/types@2.14.7
|
|
179
|
+
- @atlaspack/plugin@2.14.7
|
|
180
|
+
|
|
181
|
+
## 2.17.1
|
|
182
|
+
|
|
183
|
+
### Patch Changes
|
|
184
|
+
|
|
185
|
+
- Updated dependencies [[`e0f5337`](https://github.com/atlassian-labs/atlaspack/commit/e0f533757bd1019dbd108a04952c87da15286e09)]:
|
|
186
|
+
- @atlaspack/feature-flags@2.14.4
|
|
187
|
+
- @atlaspack/rust@3.3.1
|
|
188
|
+
- @atlaspack/cache@3.2.1
|
|
189
|
+
- @atlaspack/fs@2.15.1
|
|
190
|
+
- @atlaspack/graph@3.4.4
|
|
191
|
+
- @atlaspack/utils@2.14.6
|
|
192
|
+
- @atlaspack/logger@2.14.6
|
|
193
|
+
- @atlaspack/package-manager@2.14.6
|
|
194
|
+
- @atlaspack/profiler@2.14.4
|
|
195
|
+
- @atlaspack/types@2.14.6
|
|
196
|
+
- @atlaspack/workers@2.14.6
|
|
197
|
+
- @atlaspack/plugin@2.14.6
|
|
198
|
+
|
|
3
199
|
## 2.17.0
|
|
4
200
|
|
|
5
201
|
### Minor Changes
|
package/lib/AssetGraph.js
CHANGED
|
@@ -46,6 +46,14 @@ function _graph() {
|
|
|
46
46
|
}
|
|
47
47
|
var _Dependency = require("./Dependency");
|
|
48
48
|
var _projectPath = require("./projectPath");
|
|
49
|
+
var _EnvironmentManager = require("./EnvironmentManager");
|
|
50
|
+
function _featureFlags() {
|
|
51
|
+
const data = require("@atlaspack/feature-flags");
|
|
52
|
+
_featureFlags = function () {
|
|
53
|
+
return data;
|
|
54
|
+
};
|
|
55
|
+
return data;
|
|
56
|
+
}
|
|
49
57
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
50
58
|
function nodeFromDep(dep) {
|
|
51
59
|
return {
|
|
@@ -63,7 +71,7 @@ function nodeFromDep(dep) {
|
|
|
63
71
|
}
|
|
64
72
|
function nodeFromAssetGroup(assetGroup) {
|
|
65
73
|
return {
|
|
66
|
-
id: (0, _rust().hashString)((0, _projectPath.fromProjectPathRelative)(assetGroup.filePath) + assetGroup.env
|
|
74
|
+
id: (0, _rust().hashString)((0, _projectPath.fromProjectPathRelative)(assetGroup.filePath) + (0, _EnvironmentManager.toEnvironmentId)(assetGroup.env) + String(assetGroup.isSource) + String(assetGroup.sideEffects) + (assetGroup.code ?? '') + ':' + (assetGroup.pipeline ?? '') + ':' + (assetGroup.query ?? '')),
|
|
67
75
|
type: 'asset_group',
|
|
68
76
|
value: assetGroup,
|
|
69
77
|
usedSymbolsDownDirty: true
|
|
@@ -130,16 +138,19 @@ class AssetGraph extends _graph().ContentGraph {
|
|
|
130
138
|
|
|
131
139
|
// Deduplicates Environments by making them referentially equal
|
|
132
140
|
normalizeEnvironment(input) {
|
|
141
|
+
if ((0, _featureFlags().getFeatureFlag)('environmentDeduplication')) {
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
133
144
|
let {
|
|
134
145
|
id,
|
|
135
146
|
context
|
|
136
|
-
} = input.env;
|
|
147
|
+
} = (0, _EnvironmentManager.fromEnvironmentId)(input.env);
|
|
137
148
|
let idAndContext = `${id}-${context}`;
|
|
138
149
|
let env = this.envCache.get(idAndContext);
|
|
139
150
|
if (env) {
|
|
140
|
-
input.env = env;
|
|
151
|
+
input.env = (0, _EnvironmentManager.toEnvironmentRef)(env);
|
|
141
152
|
} else {
|
|
142
|
-
this.envCache.set(idAndContext, input.env);
|
|
153
|
+
this.envCache.set(idAndContext, (0, _EnvironmentManager.fromEnvironmentId)(input.env));
|
|
143
154
|
}
|
|
144
155
|
}
|
|
145
156
|
setRootConnections({
|
|
@@ -199,13 +210,13 @@ class AssetGraph extends _graph().ContentGraph {
|
|
|
199
210
|
env: target.env,
|
|
200
211
|
isEntry: true,
|
|
201
212
|
needsStableName: true,
|
|
202
|
-
symbols: target.env.isLibrary ? new Map([['*', {
|
|
213
|
+
symbols: (0, _EnvironmentManager.fromEnvironmentId)(target.env).isLibrary ? new Map([['*', {
|
|
203
214
|
local: '*',
|
|
204
215
|
isWeak: true,
|
|
205
216
|
loc: null
|
|
206
217
|
}]]) : undefined
|
|
207
218
|
}));
|
|
208
|
-
if (node.value.env.isLibrary) {
|
|
219
|
+
if ((0, _EnvironmentManager.fromEnvironmentId)(node.value.env).isLibrary) {
|
|
209
220
|
// in library mode, all of the entry's symbols are "used"
|
|
210
221
|
node.usedSymbolsDown.add('*');
|
|
211
222
|
node.usedSymbolsUp.set('*', undefined);
|
|
@@ -348,7 +359,7 @@ class AssetGraph extends _graph().ContentGraph {
|
|
|
348
359
|
if (this.undeferredDependencies.has(d)) {
|
|
349
360
|
return false;
|
|
350
361
|
}
|
|
351
|
-
let depIsDeferrable = d.symbols && !(d.env.isLibrary && d.isEntry) && !d.symbols.has('*') && ![...d.symbols.keys()].some(symbol => {
|
|
362
|
+
let depIsDeferrable = d.symbols && !((0, _EnvironmentManager.fromEnvironmentId)(d.env).isLibrary && d.isEntry) && !d.symbols.has('*') && ![...d.symbols.keys()].some(symbol => {
|
|
352
363
|
var _resolvedAsset$symbol;
|
|
353
364
|
let assetSymbol = (_resolvedAsset$symbol = resolvedAsset.symbols) === null || _resolvedAsset$symbol === void 0 || (_resolvedAsset$symbol = _resolvedAsset$symbol.get(symbol)) === null || _resolvedAsset$symbol === void 0 ? void 0 : _resolvedAsset$symbol.local;
|
|
354
365
|
return assetSymbol != null && symbols.has(assetSymbol);
|
|
@@ -432,6 +443,15 @@ class AssetGraph extends _graph().ContentGraph {
|
|
|
432
443
|
...depNode.value.meta,
|
|
433
444
|
...existing.value.resolverMeta
|
|
434
445
|
};
|
|
446
|
+
if ((0, _featureFlags().getFeatureFlag)('hmrImprovements')) {
|
|
447
|
+
depNode.value.resolverMeta = existing.value.resolverMeta;
|
|
448
|
+
}
|
|
449
|
+
}
|
|
450
|
+
if ((0, _featureFlags().getFeatureFlag)('hmrImprovements')) {
|
|
451
|
+
if ((existing === null || existing === void 0 ? void 0 : existing.type) === 'dependency' && existing.value.resolverPriority != null) {
|
|
452
|
+
depNode.value.priority = existing.value.resolverPriority;
|
|
453
|
+
depNode.value.resolverPriority = existing.value.resolverPriority;
|
|
454
|
+
}
|
|
435
455
|
}
|
|
436
456
|
let dependentAsset = dependentAssets.find(a => a.uniqueKey === dep.specifier);
|
|
437
457
|
if (dependentAsset) {
|
package/lib/Atlaspack.js
CHANGED
|
@@ -207,10 +207,16 @@ class Atlaspack {
|
|
|
207
207
|
// $FlowFixMe
|
|
208
208
|
const version = require('../package.json').version;
|
|
209
209
|
await lmdb.put('current_session_version', Buffer.from(version));
|
|
210
|
+
let threads = undefined;
|
|
211
|
+
if (process.env.ATLASPACK_NATIVE_THREADS !== undefined) {
|
|
212
|
+
threads = parseInt(process.env.ATLASPACK_NATIVE_THREADS, 10);
|
|
213
|
+
} else if (process.env.NODE_ENV === 'test') {
|
|
214
|
+
threads = 2;
|
|
215
|
+
}
|
|
210
216
|
rustAtlaspack = await _atlaspackV.AtlaspackV3.create({
|
|
211
217
|
...options,
|
|
212
218
|
corePath: _path().default.join(__dirname, '..'),
|
|
213
|
-
threads
|
|
219
|
+
threads,
|
|
214
220
|
entries: Array.isArray(entries) ? entries : entries == null ? undefined : [entries],
|
|
215
221
|
env: resolvedOptions.env,
|
|
216
222
|
fs: inputFS && new _atlaspackV.FileSystemV3(inputFS),
|
|
@@ -504,7 +510,9 @@ class Atlaspack {
|
|
|
504
510
|
if (this.rustAtlaspack) {
|
|
505
511
|
nativeInvalid = await this.rustAtlaspack.respondToFsEvents(events);
|
|
506
512
|
}
|
|
507
|
-
let
|
|
513
|
+
let {
|
|
514
|
+
didInvalidate: isInvalid
|
|
515
|
+
} = await this.#requestTracker.respondToFSEvents(events, Number.POSITIVE_INFINITY);
|
|
508
516
|
if ((nativeInvalid || isInvalid) && this.#watchQueue.getNumWaiting() === 0) {
|
|
509
517
|
if (this.#watchAbortController) {
|
|
510
518
|
this.#watchAbortController.abort();
|
package/lib/BundleGraph.js
CHANGED
|
@@ -51,6 +51,7 @@ function _featureFlags() {
|
|
|
51
51
|
};
|
|
52
52
|
return data;
|
|
53
53
|
}
|
|
54
|
+
var _EnvironmentManager = require("./EnvironmentManager");
|
|
54
55
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
55
56
|
const bundleGraphEdgeTypes = exports.bundleGraphEdgeTypes = {
|
|
56
57
|
// A lack of an edge type indicates to follow the edge while traversing
|
|
@@ -207,7 +208,7 @@ class BundleGraph {
|
|
|
207
208
|
}
|
|
208
209
|
}
|
|
209
210
|
}
|
|
210
|
-
if (node.type === 'dependency' && node.value.symbols != null && node.value.env.shouldScopeHoist &&
|
|
211
|
+
if (node.type === 'dependency' && node.value.symbols != null && (0, _EnvironmentManager.fromEnvironmentId)(node.value.env).shouldScopeHoist &&
|
|
211
212
|
// Disable in dev mode because this feature is at odds with safeToIncrementallyBundle
|
|
212
213
|
isProduction) {
|
|
213
214
|
let nodeValueSymbols = node.value.symbols;
|
|
@@ -822,86 +823,6 @@ class BundleGraph {
|
|
|
822
823
|
traverseAssets(bundle, visit, startAsset) {
|
|
823
824
|
return this.traverseBundle(bundle, (0, _graph().mapVisitor)(node => node.type === 'asset' ? node.value : null, visit), startAsset);
|
|
824
825
|
}
|
|
825
|
-
getReferencedAssets(bundle, cache) {
|
|
826
|
-
const result = new Set();
|
|
827
|
-
const siblingBundles = new Set(this.getBundleGroupsContainingBundle(bundle).flatMap(bundleGroup => this.getBundlesInBundleGroup(bundleGroup, {
|
|
828
|
-
includeInline: true
|
|
829
|
-
})));
|
|
830
|
-
const candidates = new Map();
|
|
831
|
-
this.traverseAssets(bundle, asset => {
|
|
832
|
-
// If the asset is available in multiple bundles in the same target, it's referenced.
|
|
833
|
-
const bundlesWithAsset = this.getBundlesWithAsset(asset);
|
|
834
|
-
if (bundlesWithAsset.filter(b => b.target.name === bundle.target.name && b.target.distDir === bundle.target.distDir).length > 1) {
|
|
835
|
-
result.add(asset.id);
|
|
836
|
-
return;
|
|
837
|
-
}
|
|
838
|
-
const assetNodeId = (0, _nullthrows().default)(this._graph.getNodeIdByContentKey(asset.id));
|
|
839
|
-
if (this._graph.getNodeIdsConnectedTo(assetNodeId, bundleGraphEdgeTypes.references).map(id => this._graph.getNode(id)).some(node => (node === null || node === void 0 ? void 0 : node.type) === 'dependency' && (node.value.priority === _types.Priority.lazy || node.value.priority === _types.Priority.conditional) && node.value.specifierType !== _types.SpecifierType.url)) {
|
|
840
|
-
// If this asset is referenced by any async dependency, it's referenced.
|
|
841
|
-
result.add(asset.id);
|
|
842
|
-
return;
|
|
843
|
-
}
|
|
844
|
-
const dependencies = this._graph.getNodeIdsConnectedTo(assetNodeId).map(id => (0, _nullthrows().default)(this._graph.getNode(id))).filter(node => node.type === 'dependency').map(node => {
|
|
845
|
-
(0, _assert().default)(node.type === 'dependency');
|
|
846
|
-
return node.value;
|
|
847
|
-
});
|
|
848
|
-
candidates.set(asset.id, {
|
|
849
|
-
asset,
|
|
850
|
-
dependencies,
|
|
851
|
-
bundlesWithAsset
|
|
852
|
-
});
|
|
853
|
-
});
|
|
854
|
-
const visitedBundles = new Set();
|
|
855
|
-
|
|
856
|
-
// Check if any of this bundle's descendants, referencers, bundles referenced
|
|
857
|
-
// by referencers, or descendants of its referencers use the asset without
|
|
858
|
-
// an explicit reference edge. This can happen if e.g. the asset has been
|
|
859
|
-
// deduplicated.
|
|
860
|
-
[...siblingBundles].forEach(referencer => {
|
|
861
|
-
this.traverseBundles((descendant, _, actions) => {
|
|
862
|
-
if (descendant.id === bundle.id) {
|
|
863
|
-
return;
|
|
864
|
-
}
|
|
865
|
-
if (visitedBundles.has(descendant)) {
|
|
866
|
-
actions.skipChildren();
|
|
867
|
-
return;
|
|
868
|
-
}
|
|
869
|
-
visitedBundles.add(descendant);
|
|
870
|
-
if (descendant.type !== bundle.type || descendant.env.context !== bundle.env.context) {
|
|
871
|
-
actions.skipChildren();
|
|
872
|
-
return;
|
|
873
|
-
}
|
|
874
|
-
for (let assetId of this.getBundleDirectReferences(descendant, cache)) {
|
|
875
|
-
if (candidates.has(assetId)) {
|
|
876
|
-
result.add(assetId);
|
|
877
|
-
}
|
|
878
|
-
}
|
|
879
|
-
}, referencer);
|
|
880
|
-
});
|
|
881
|
-
return result;
|
|
882
|
-
}
|
|
883
|
-
getBundleDirectReferences(bundle, cache) {
|
|
884
|
-
const cachedResult = cache.get(bundle);
|
|
885
|
-
if (cachedResult != null) {
|
|
886
|
-
return cachedResult;
|
|
887
|
-
}
|
|
888
|
-
const directReferences = new Set();
|
|
889
|
-
const bundleAssets = this.getBundleContainedAssets(bundle);
|
|
890
|
-
const bundleDependencies = this.getBundleContainedDependencies(bundle);
|
|
891
|
-
for (const dependency of bundleDependencies) {
|
|
892
|
-
this._graph.forEachNodeIdConnectedFrom(this._graph.getNodeIdByContentKey(dependency), assetId => {
|
|
893
|
-
const asset = (0, _nullthrows().default)(this._graph.getNode(assetId));
|
|
894
|
-
if (asset.type !== 'asset') {
|
|
895
|
-
return;
|
|
896
|
-
}
|
|
897
|
-
if (!bundleAssets.has(asset.id)) {
|
|
898
|
-
directReferences.add(asset.id);
|
|
899
|
-
}
|
|
900
|
-
});
|
|
901
|
-
}
|
|
902
|
-
cache.set(bundle, directReferences);
|
|
903
|
-
return directReferences;
|
|
904
|
-
}
|
|
905
826
|
isAssetReferenced(bundle, asset) {
|
|
906
827
|
// If the asset is available in multiple bundles in the same target, it's referenced.
|
|
907
828
|
if (this.getBundlesWithAsset(asset).filter(b => b.target.name === bundle.target.name && b.target.distDir === bundle.target.distDir).length > 1) {
|
|
@@ -939,7 +860,7 @@ class BundleGraph {
|
|
|
939
860
|
return;
|
|
940
861
|
}
|
|
941
862
|
visitedBundles.add(descendant);
|
|
942
|
-
if (descendant.type !== bundle.type || descendant.env.context !== bundle.env.context) {
|
|
863
|
+
if (descendant.type !== bundle.type || (0, _EnvironmentManager.fromEnvironmentId)(descendant.env).context !== (0, _EnvironmentManager.fromEnvironmentId)(bundle.env).context) {
|
|
943
864
|
actions.skipChildren();
|
|
944
865
|
return;
|
|
945
866
|
}
|
|
@@ -967,7 +888,7 @@ class BundleGraph {
|
|
|
967
888
|
isAssetReachableFromBundle(asset, bundle) {
|
|
968
889
|
// If a bundle's environment is isolated, it can't access assets present
|
|
969
890
|
// in any ancestor bundles. Don't consider any assets reachable.
|
|
970
|
-
if (_Environment.ISOLATED_ENVS.has(bundle.env.context) || !bundle.isSplittable || bundle.bundleBehavior === _types.BundleBehavior.isolated || bundle.bundleBehavior === _types.BundleBehavior.inline) {
|
|
891
|
+
if (_Environment.ISOLATED_ENVS.has((0, _EnvironmentManager.fromEnvironmentId)(bundle.env).context) || !bundle.isSplittable || bundle.bundleBehavior === _types.BundleBehavior.isolated || bundle.bundleBehavior === _types.BundleBehavior.inline) {
|
|
971
892
|
return false;
|
|
972
893
|
}
|
|
973
894
|
|
|
@@ -995,7 +916,7 @@ class BundleGraph {
|
|
|
995
916
|
let node = (0, _nullthrows().default)(this._graph.getNode(nodeId));
|
|
996
917
|
// If we've reached the root or a context change without
|
|
997
918
|
// finding this asset in the ancestry, it is not reachable.
|
|
998
|
-
if (node.type === 'root' || node.type === 'bundle' && (node.value.id === bundle.id || node.value.env.context !== bundle.env.context)) {
|
|
919
|
+
if (node.type === 'root' || node.type === 'bundle' && (node.value.id === bundle.id || (0, _EnvironmentManager.fromEnvironmentId)(node.value.env).context !== (0, _EnvironmentManager.fromEnvironmentId)(bundle.env).context)) {
|
|
999
920
|
isReachable = false;
|
|
1000
921
|
actions.stop();
|
|
1001
922
|
return;
|
|
@@ -1220,26 +1141,6 @@ class BundleGraph {
|
|
|
1220
1141
|
let dependencyNodeId = this._graph.getNodeIdByContentKey(dependency.id);
|
|
1221
1142
|
return this._graph.hasEdge(bundleNodeId, dependencyNodeId, bundleGraphEdgeTypes.contains);
|
|
1222
1143
|
}
|
|
1223
|
-
getBundleContainedAssets(bundle) {
|
|
1224
|
-
const assets = new Set();
|
|
1225
|
-
this._graph.forEachNodeIdConnectedFrom(this._graph.getNodeIdByContentKey(bundle.id), nodeId => {
|
|
1226
|
-
const node = (0, _nullthrows().default)(this._graph.getNode(nodeId));
|
|
1227
|
-
if (node.type === 'asset') {
|
|
1228
|
-
assets.add(node.value.id);
|
|
1229
|
-
}
|
|
1230
|
-
}, bundleGraphEdgeTypes.contains);
|
|
1231
|
-
return assets;
|
|
1232
|
-
}
|
|
1233
|
-
getBundleContainedDependencies(bundle) {
|
|
1234
|
-
const dependencies = new Set();
|
|
1235
|
-
this._graph.forEachNodeIdConnectedFrom(this._graph.getNodeIdByContentKey(bundle.id), nodeId => {
|
|
1236
|
-
const node = (0, _nullthrows().default)(this._graph.getNode(nodeId));
|
|
1237
|
-
if (node.type === 'dependency') {
|
|
1238
|
-
dependencies.add(node.value.id);
|
|
1239
|
-
}
|
|
1240
|
-
}, bundleGraphEdgeTypes.contains);
|
|
1241
|
-
return dependencies;
|
|
1242
|
-
}
|
|
1243
1144
|
filteredTraverse(bundleNodeId, filter, visit) {
|
|
1244
1145
|
return this._graph.filteredTraverse(filter, visit, bundleNodeId);
|
|
1245
1146
|
}
|
|
@@ -1510,7 +1411,7 @@ class BundleGraph {
|
|
|
1510
1411
|
for (let referencedBundle of this.getReferencedBundles(bundle)) {
|
|
1511
1412
|
hash.writeString(referencedBundle.id);
|
|
1512
1413
|
}
|
|
1513
|
-
hash.writeString(JSON.stringify((0, _utils().objectSortedEntriesDeep)(bundle.env)));
|
|
1414
|
+
hash.writeString(JSON.stringify((0, _utils().objectSortedEntriesDeep)((0, _EnvironmentManager.fromEnvironmentId)(bundle.env))));
|
|
1514
1415
|
return hash.finish();
|
|
1515
1416
|
}
|
|
1516
1417
|
getBundleGraphHash() {
|
package/lib/Dependency.js
CHANGED
|
@@ -24,6 +24,7 @@ function _assert() {
|
|
|
24
24
|
return data;
|
|
25
25
|
}
|
|
26
26
|
var _IdentifierRegistry = require("./IdentifierRegistry");
|
|
27
|
+
var _EnvironmentManager = require("./EnvironmentManager");
|
|
27
28
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
28
29
|
function createDependencyId({
|
|
29
30
|
sourceAssetId,
|
|
@@ -41,8 +42,11 @@ function createDependencyId({
|
|
|
41
42
|
const params = {
|
|
42
43
|
sourceAssetId,
|
|
43
44
|
specifier,
|
|
44
|
-
environmentId: env
|
|
45
|
-
target
|
|
45
|
+
environmentId: (0, _EnvironmentManager.toEnvironmentId)(env),
|
|
46
|
+
target: target != null ? {
|
|
47
|
+
...target,
|
|
48
|
+
env: (0, _EnvironmentManager.fromEnvironmentId)(target.env)
|
|
49
|
+
} : null,
|
|
46
50
|
pipeline,
|
|
47
51
|
specifierType: _types.SpecifierType[specifierType],
|
|
48
52
|
bundleBehavior,
|
package/lib/Environment.js
CHANGED
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.createEnvironment = createEnvironment;
|
|
7
|
+
exports.getEnvironmentHash = getEnvironmentHash;
|
|
7
8
|
exports.mergeEnvironments = mergeEnvironments;
|
|
8
9
|
function _rust() {
|
|
9
10
|
const data = require("@atlaspack/rust");
|
|
@@ -15,6 +16,7 @@ function _rust() {
|
|
|
15
16
|
var _utils = require("./utils");
|
|
16
17
|
var _Environment = _interopRequireWildcard(require("./public/Environment"));
|
|
17
18
|
var _IdentifierRegistry = require("./IdentifierRegistry");
|
|
19
|
+
var _EnvironmentManager = require("./EnvironmentManager");
|
|
18
20
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
19
21
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
20
22
|
const DEFAULT_ENGINES = {
|
|
@@ -108,15 +110,15 @@ function createEnvironment({
|
|
|
108
110
|
loc
|
|
109
111
|
};
|
|
110
112
|
res.id = getEnvironmentHash(res);
|
|
111
|
-
return Object.freeze(res);
|
|
113
|
+
return (0, _EnvironmentManager.toEnvironmentRef)(Object.freeze(res));
|
|
112
114
|
}
|
|
113
115
|
function mergeEnvironments(projectRoot, a, b) {
|
|
114
116
|
// If merging the same object, avoid copying.
|
|
115
117
|
if (a === b || !b) {
|
|
116
|
-
return a;
|
|
118
|
+
return (0, _EnvironmentManager.toEnvironmentRef)(a);
|
|
117
119
|
}
|
|
118
120
|
if (b instanceof _Environment.default) {
|
|
119
|
-
return (0, _Environment.environmentToInternalEnvironment)(b);
|
|
121
|
+
return (0, _EnvironmentManager.toEnvironmentRef)((0, _Environment.environmentToInternalEnvironment)(b));
|
|
120
122
|
}
|
|
121
123
|
|
|
122
124
|
// $FlowFixMe - ignore the `id` that is already on a
|