@atlaspack/core 2.16.2-canary.0 → 2.16.2-canary.100
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 +242 -0
- package/lib/AssetGraph.js +27 -7
- package/lib/Atlaspack.js +24 -5
- package/lib/BundleGraph.js +6 -5
- 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 +319 -93
- 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 -5
- 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 +29 -13
- package/src/BundleGraph.js +13 -8
- 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 +543 -149
- 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 -5
- 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 +124 -4
- package/test/public/Config.test.js +108 -0
- package/test/requests/ConfigRequest.test.js +199 -7
- package/test/test-utils.js +4 -9
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,247 @@
|
|
|
1
1
|
# @atlaspack/core
|
|
2
2
|
|
|
3
|
+
## 2.18.6
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#655](https://github.com/atlassian-labs/atlaspack/pull/655) [`5ded263`](https://github.com/atlassian-labs/atlaspack/commit/5ded263c7f11b866e8885b81c73e20dd060b25be) Thanks [@yamadapc](https://github.com/yamadapc)! - Clean-up inline requires multi-threading feature-flag
|
|
8
|
+
|
|
9
|
+
- [#658](https://github.com/atlassian-labs/atlaspack/pull/658) [`74fd942`](https://github.com/atlassian-labs/atlaspack/commit/74fd94236ac697207082c4b755b079e56f5564fb) Thanks [@yamadapc](https://github.com/yamadapc)! - Fix environment deduplication issues
|
|
10
|
+
|
|
11
|
+
- Updated dependencies [[`5ded263`](https://github.com/atlassian-labs/atlaspack/commit/5ded263c7f11b866e8885b81c73e20dd060b25be)]:
|
|
12
|
+
- @atlaspack/feature-flags@2.18.3
|
|
13
|
+
- @atlaspack/cache@3.2.10
|
|
14
|
+
- @atlaspack/fs@2.15.10
|
|
15
|
+
- @atlaspack/graph@3.5.5
|
|
16
|
+
- @atlaspack/utils@2.15.3
|
|
17
|
+
- @atlaspack/package-manager@2.14.15
|
|
18
|
+
- @atlaspack/profiler@2.14.13
|
|
19
|
+
- @atlaspack/types@2.15.5
|
|
20
|
+
- @atlaspack/workers@2.14.15
|
|
21
|
+
- @atlaspack/plugin@2.14.15
|
|
22
|
+
|
|
23
|
+
## 2.18.5
|
|
24
|
+
|
|
25
|
+
### Patch Changes
|
|
26
|
+
|
|
27
|
+
- [#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.
|
|
28
|
+
|
|
29
|
+
- Updated dependencies [[`644b157`](https://github.com/atlassian-labs/atlaspack/commit/644b157dee72a871acc2d0facf0b87b8eea51956)]:
|
|
30
|
+
- @atlaspack/feature-flags@2.18.2
|
|
31
|
+
- @atlaspack/cache@3.2.9
|
|
32
|
+
- @atlaspack/fs@2.15.9
|
|
33
|
+
- @atlaspack/graph@3.5.4
|
|
34
|
+
- @atlaspack/utils@2.15.2
|
|
35
|
+
- @atlaspack/package-manager@2.14.14
|
|
36
|
+
- @atlaspack/profiler@2.14.12
|
|
37
|
+
- @atlaspack/types@2.15.4
|
|
38
|
+
- @atlaspack/workers@2.14.14
|
|
39
|
+
- @atlaspack/plugin@2.14.14
|
|
40
|
+
|
|
41
|
+
## 2.18.4
|
|
42
|
+
|
|
43
|
+
### Patch Changes
|
|
44
|
+
|
|
45
|
+
- [#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
|
|
46
|
+
|
|
47
|
+
- [#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
|
|
48
|
+
|
|
49
|
+
- [#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
|
|
50
|
+
|
|
51
|
+
- [#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
|
|
52
|
+
|
|
53
|
+
- [#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
|
|
54
|
+
|
|
55
|
+
- 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)]:
|
|
56
|
+
- @atlaspack/workers@2.14.13
|
|
57
|
+
- @atlaspack/logger@2.14.11
|
|
58
|
+
- @atlaspack/feature-flags@2.18.1
|
|
59
|
+
- @atlaspack/fs@2.15.8
|
|
60
|
+
- @atlaspack/package-manager@2.14.13
|
|
61
|
+
- @atlaspack/types@2.15.3
|
|
62
|
+
- @atlaspack/cache@3.2.8
|
|
63
|
+
- @atlaspack/utils@2.15.1
|
|
64
|
+
- @atlaspack/graph@3.5.3
|
|
65
|
+
- @atlaspack/plugin@2.14.13
|
|
66
|
+
- @atlaspack/profiler@2.14.11
|
|
67
|
+
|
|
68
|
+
## 2.18.3
|
|
69
|
+
|
|
70
|
+
### Patch Changes
|
|
71
|
+
|
|
72
|
+
- 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)]:
|
|
73
|
+
- @atlaspack/feature-flags@2.18.0
|
|
74
|
+
- @atlaspack/utils@2.15.0
|
|
75
|
+
- @atlaspack/cache@3.2.7
|
|
76
|
+
- @atlaspack/fs@2.15.7
|
|
77
|
+
- @atlaspack/graph@3.5.2
|
|
78
|
+
- @atlaspack/package-manager@2.14.12
|
|
79
|
+
- @atlaspack/workers@2.14.12
|
|
80
|
+
- @atlaspack/profiler@2.14.10
|
|
81
|
+
- @atlaspack/types@2.15.2
|
|
82
|
+
- @atlaspack/plugin@2.14.12
|
|
83
|
+
|
|
84
|
+
## 2.18.2
|
|
85
|
+
|
|
86
|
+
### Patch Changes
|
|
87
|
+
|
|
88
|
+
- Updated dependencies [[`73ea3c4`](https://github.com/atlassian-labs/atlaspack/commit/73ea3c4d85d4401fdd15abcbf988237e890e7ad3), [`b1b3693`](https://github.com/atlassian-labs/atlaspack/commit/b1b369317c66f8a431c170df2ebba4fa5b2e38ef)]:
|
|
89
|
+
- @atlaspack/feature-flags@2.17.0
|
|
90
|
+
- @atlaspack/cache@3.2.6
|
|
91
|
+
- @atlaspack/fs@2.15.6
|
|
92
|
+
- @atlaspack/graph@3.5.1
|
|
93
|
+
- @atlaspack/utils@2.14.11
|
|
94
|
+
- @atlaspack/package-manager@2.14.11
|
|
95
|
+
- @atlaspack/profiler@2.14.9
|
|
96
|
+
- @atlaspack/types@2.15.1
|
|
97
|
+
- @atlaspack/workers@2.14.11
|
|
98
|
+
- @atlaspack/plugin@2.14.11
|
|
99
|
+
|
|
100
|
+
## 2.18.1
|
|
101
|
+
|
|
102
|
+
### Patch Changes
|
|
103
|
+
|
|
104
|
+
- Updated dependencies [[`1b52b99`](https://github.com/atlassian-labs/atlaspack/commit/1b52b99db4298b04c1a6eb0f97994d75a2d436f9)]:
|
|
105
|
+
- @atlaspack/graph@3.5.0
|
|
106
|
+
|
|
107
|
+
## 2.18.0
|
|
108
|
+
|
|
109
|
+
### Minor Changes
|
|
110
|
+
|
|
111
|
+
- [#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
|
|
112
|
+
|
|
113
|
+
- [#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
|
|
114
|
+
|
|
115
|
+
### Patch Changes
|
|
116
|
+
|
|
117
|
+
- [#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
|
|
118
|
+
|
|
119
|
+
- [#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
|
|
120
|
+
|
|
121
|
+
- 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)]:
|
|
122
|
+
- @atlaspack/fs@2.15.5
|
|
123
|
+
- @atlaspack/types@2.15.0
|
|
124
|
+
- @atlaspack/rust@3.3.5
|
|
125
|
+
- @atlaspack/cache@3.2.5
|
|
126
|
+
- @atlaspack/package-manager@2.14.10
|
|
127
|
+
- @atlaspack/profiler@2.14.8
|
|
128
|
+
- @atlaspack/workers@2.14.10
|
|
129
|
+
- @atlaspack/plugin@2.14.10
|
|
130
|
+
- @atlaspack/logger@2.14.10
|
|
131
|
+
- @atlaspack/utils@2.14.10
|
|
132
|
+
|
|
133
|
+
## 2.17.4
|
|
134
|
+
|
|
135
|
+
### Patch Changes
|
|
136
|
+
|
|
137
|
+
- [#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
|
|
138
|
+
|
|
139
|
+
- [#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
|
|
140
|
+
|
|
141
|
+
- [#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
|
|
142
|
+
|
|
143
|
+
- [#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
|
|
144
|
+
|
|
145
|
+
- 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)]:
|
|
146
|
+
- @atlaspack/cache@3.2.4
|
|
147
|
+
- @atlaspack/rust@3.3.4
|
|
148
|
+
- @atlaspack/fs@2.15.4
|
|
149
|
+
- @atlaspack/feature-flags@2.16.0
|
|
150
|
+
- @atlaspack/logger@2.14.9
|
|
151
|
+
- @atlaspack/utils@2.14.9
|
|
152
|
+
- @atlaspack/package-manager@2.14.9
|
|
153
|
+
- @atlaspack/graph@3.4.7
|
|
154
|
+
- @atlaspack/workers@2.14.9
|
|
155
|
+
- @atlaspack/profiler@2.14.7
|
|
156
|
+
- @atlaspack/types@2.14.9
|
|
157
|
+
- @atlaspack/plugin@2.14.9
|
|
158
|
+
|
|
159
|
+
## 2.17.3
|
|
160
|
+
|
|
161
|
+
### Patch Changes
|
|
162
|
+
|
|
163
|
+
- [#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
|
|
164
|
+
|
|
165
|
+
- [#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
|
|
166
|
+
|
|
167
|
+
- [#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
|
|
168
|
+
|
|
169
|
+
- 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)]:
|
|
170
|
+
- @atlaspack/feature-flags@2.15.1
|
|
171
|
+
- @atlaspack/fs@2.15.3
|
|
172
|
+
- @atlaspack/rust@3.3.3
|
|
173
|
+
- @atlaspack/cache@3.2.3
|
|
174
|
+
- @atlaspack/graph@3.4.6
|
|
175
|
+
- @atlaspack/utils@2.14.8
|
|
176
|
+
- @atlaspack/package-manager@2.14.8
|
|
177
|
+
- @atlaspack/logger@2.14.8
|
|
178
|
+
- @atlaspack/profiler@2.14.6
|
|
179
|
+
- @atlaspack/types@2.14.8
|
|
180
|
+
- @atlaspack/workers@2.14.8
|
|
181
|
+
- @atlaspack/plugin@2.14.8
|
|
182
|
+
|
|
183
|
+
## 2.17.2
|
|
184
|
+
|
|
185
|
+
### Patch Changes
|
|
186
|
+
|
|
187
|
+
- Updated dependencies [[`a1773d2`](https://github.com/atlassian-labs/atlaspack/commit/a1773d2a62d0ef7805ac7524621dcabcc1afe929), [`556d6ab`](https://github.com/atlassian-labs/atlaspack/commit/556d6ab8ede759fa7f37fcd3f4da336ef1c55e8f)]:
|
|
188
|
+
- @atlaspack/feature-flags@2.15.0
|
|
189
|
+
- @atlaspack/logger@2.14.7
|
|
190
|
+
- @atlaspack/rust@3.3.2
|
|
191
|
+
- @atlaspack/cache@3.2.2
|
|
192
|
+
- @atlaspack/fs@2.15.2
|
|
193
|
+
- @atlaspack/graph@3.4.5
|
|
194
|
+
- @atlaspack/utils@2.14.7
|
|
195
|
+
- @atlaspack/package-manager@2.14.7
|
|
196
|
+
- @atlaspack/workers@2.14.7
|
|
197
|
+
- @atlaspack/profiler@2.14.5
|
|
198
|
+
- @atlaspack/types@2.14.7
|
|
199
|
+
- @atlaspack/plugin@2.14.7
|
|
200
|
+
|
|
201
|
+
## 2.17.1
|
|
202
|
+
|
|
203
|
+
### Patch Changes
|
|
204
|
+
|
|
205
|
+
- Updated dependencies [[`e0f5337`](https://github.com/atlassian-labs/atlaspack/commit/e0f533757bd1019dbd108a04952c87da15286e09)]:
|
|
206
|
+
- @atlaspack/feature-flags@2.14.4
|
|
207
|
+
- @atlaspack/rust@3.3.1
|
|
208
|
+
- @atlaspack/cache@3.2.1
|
|
209
|
+
- @atlaspack/fs@2.15.1
|
|
210
|
+
- @atlaspack/graph@3.4.4
|
|
211
|
+
- @atlaspack/utils@2.14.6
|
|
212
|
+
- @atlaspack/logger@2.14.6
|
|
213
|
+
- @atlaspack/package-manager@2.14.6
|
|
214
|
+
- @atlaspack/profiler@2.14.4
|
|
215
|
+
- @atlaspack/types@2.14.6
|
|
216
|
+
- @atlaspack/workers@2.14.6
|
|
217
|
+
- @atlaspack/plugin@2.14.6
|
|
218
|
+
|
|
219
|
+
## 2.17.0
|
|
220
|
+
|
|
221
|
+
### Minor Changes
|
|
222
|
+
|
|
223
|
+
- [#541](https://github.com/atlassian-labs/atlaspack/pull/541) [`e2ba0f6`](https://github.com/atlassian-labs/atlaspack/commit/e2ba0f69702656f3d1ce95ab1454e35062b13b39) Thanks [@yamadapc](https://github.com/yamadapc)! - Add database compaction debug command
|
|
224
|
+
|
|
225
|
+
### Patch Changes
|
|
226
|
+
|
|
227
|
+
- [#530](https://github.com/atlassian-labs/atlaspack/pull/530) [`2e90c9b`](https://github.com/atlassian-labs/atlaspack/commit/2e90c9bd07d7eb52645f9d84ccbb7f82685cbc8c) Thanks [@yamadapc](https://github.com/yamadapc)! - Write metadata about the cache in a new entry
|
|
228
|
+
|
|
229
|
+
- [#511](https://github.com/atlassian-labs/atlaspack/pull/511) [`11d6f16`](https://github.com/atlassian-labs/atlaspack/commit/11d6f16b6397dee2f217167e5c98b39edb63f7a7) Thanks [@yamadapc](https://github.com/yamadapc)! - Clean-up dylib worker threads segmentation fault bug fix feature-flag
|
|
230
|
+
|
|
231
|
+
- Updated dependencies [[`11d6f16`](https://github.com/atlassian-labs/atlaspack/commit/11d6f16b6397dee2f217167e5c98b39edb63f7a7), [`e2ba0f6`](https://github.com/atlassian-labs/atlaspack/commit/e2ba0f69702656f3d1ce95ab1454e35062b13b39), [`d2c50c2`](https://github.com/atlassian-labs/atlaspack/commit/d2c50c2c020888b33bb25b8690d9320c2b69e2a6), [`46a90dc`](https://github.com/atlassian-labs/atlaspack/commit/46a90dccd019a26b222c878a92d23acc75dc67c5), [`4c17141`](https://github.com/atlassian-labs/atlaspack/commit/4c1714103dab2aa9039c488f381551d2b65d1d01)]:
|
|
232
|
+
- @atlaspack/feature-flags@2.14.3
|
|
233
|
+
- @atlaspack/rust@3.3.0
|
|
234
|
+
- @atlaspack/cache@3.2.0
|
|
235
|
+
- @atlaspack/fs@2.15.0
|
|
236
|
+
- @atlaspack/graph@3.4.3
|
|
237
|
+
- @atlaspack/utils@2.14.5
|
|
238
|
+
- @atlaspack/logger@2.14.5
|
|
239
|
+
- @atlaspack/package-manager@2.14.5
|
|
240
|
+
- @atlaspack/profiler@2.14.3
|
|
241
|
+
- @atlaspack/types@2.14.5
|
|
242
|
+
- @atlaspack/workers@2.14.5
|
|
243
|
+
- @atlaspack/plugin@2.14.5
|
|
244
|
+
|
|
3
245
|
## 2.16.1
|
|
4
246
|
|
|
5
247
|
### Patch 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
|
@@ -166,9 +166,7 @@ class Atlaspack {
|
|
|
166
166
|
...this.#initialOptions.featureFlags
|
|
167
167
|
};
|
|
168
168
|
(0, _featureFlags().setFeatureFlags)(featureFlags);
|
|
169
|
-
|
|
170
|
-
(0, _rustWorkerThreadDylibHack.loadRustWorkerThreadDylibHack)();
|
|
171
|
-
}
|
|
169
|
+
(0, _rustWorkerThreadDylibHack.loadRustWorkerThreadDylibHack)();
|
|
172
170
|
await _sourceMap().init;
|
|
173
171
|
await (_rust().init === null || _rust().init === void 0 ? void 0 : (0, _rust().init)());
|
|
174
172
|
this.#disposable = new (_events().Disposable)();
|
|
@@ -209,10 +207,16 @@ class Atlaspack {
|
|
|
209
207
|
// $FlowFixMe
|
|
210
208
|
const version = require('../package.json').version;
|
|
211
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
|
+
}
|
|
212
216
|
rustAtlaspack = await _atlaspackV.AtlaspackV3.create({
|
|
213
217
|
...options,
|
|
214
218
|
corePath: _path().default.join(__dirname, '..'),
|
|
215
|
-
threads
|
|
219
|
+
threads,
|
|
216
220
|
entries: Array.isArray(entries) ? entries : entries == null ? undefined : [entries],
|
|
217
221
|
env: resolvedOptions.env,
|
|
218
222
|
fs: inputFS && new _atlaspackV.FileSystemV3(inputFS),
|
|
@@ -506,7 +510,9 @@ class Atlaspack {
|
|
|
506
510
|
if (this.rustAtlaspack) {
|
|
507
511
|
nativeInvalid = await this.rustAtlaspack.respondToFsEvents(events);
|
|
508
512
|
}
|
|
509
|
-
let
|
|
513
|
+
let {
|
|
514
|
+
didInvalidate: isInvalid
|
|
515
|
+
} = await this.#requestTracker.respondToFSEvents(events, Number.POSITIVE_INFINITY);
|
|
510
516
|
if ((nativeInvalid || isInvalid) && this.#watchQueue.getNumWaiting() === 0) {
|
|
511
517
|
if (this.#watchAbortController) {
|
|
512
518
|
this.#watchAbortController.abort();
|
|
@@ -603,6 +609,19 @@ class Atlaspack {
|
|
|
603
609
|
}
|
|
604
610
|
return result;
|
|
605
611
|
}
|
|
612
|
+
|
|
613
|
+
/**
|
|
614
|
+
* Copy the cache to a new directory and compact it.
|
|
615
|
+
*/
|
|
616
|
+
async unstable_compactCache() {
|
|
617
|
+
await this._init();
|
|
618
|
+
const cache = (0, _nullthrows().default)(this.#resolvedOptions).cache;
|
|
619
|
+
if (cache instanceof _cache().LMDBLiteCache) {
|
|
620
|
+
await cache.compact('parcel-cache-compacted');
|
|
621
|
+
} else {
|
|
622
|
+
throw new Error('Cache is not an LMDBLiteCache');
|
|
623
|
+
}
|
|
624
|
+
}
|
|
606
625
|
async unstable_transform(options) {
|
|
607
626
|
var _options$env;
|
|
608
627
|
if (!this.#initialized) {
|
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;
|
|
@@ -859,7 +860,7 @@ class BundleGraph {
|
|
|
859
860
|
return;
|
|
860
861
|
}
|
|
861
862
|
visitedBundles.add(descendant);
|
|
862
|
-
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) {
|
|
863
864
|
actions.skipChildren();
|
|
864
865
|
return;
|
|
865
866
|
}
|
|
@@ -887,7 +888,7 @@ class BundleGraph {
|
|
|
887
888
|
isAssetReachableFromBundle(asset, bundle) {
|
|
888
889
|
// If a bundle's environment is isolated, it can't access assets present
|
|
889
890
|
// in any ancestor bundles. Don't consider any assets reachable.
|
|
890
|
-
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) {
|
|
891
892
|
return false;
|
|
892
893
|
}
|
|
893
894
|
|
|
@@ -915,7 +916,7 @@ class BundleGraph {
|
|
|
915
916
|
let node = (0, _nullthrows().default)(this._graph.getNode(nodeId));
|
|
916
917
|
// If we've reached the root or a context change without
|
|
917
918
|
// finding this asset in the ancestry, it is not reachable.
|
|
918
|
-
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)) {
|
|
919
920
|
isReachable = false;
|
|
920
921
|
actions.stop();
|
|
921
922
|
return;
|
|
@@ -1410,7 +1411,7 @@ class BundleGraph {
|
|
|
1410
1411
|
for (let referencedBundle of this.getReferencedBundles(bundle)) {
|
|
1411
1412
|
hash.writeString(referencedBundle.id);
|
|
1412
1413
|
}
|
|
1413
|
-
hash.writeString(JSON.stringify((0, _utils().objectSortedEntriesDeep)(bundle.env)));
|
|
1414
|
+
hash.writeString(JSON.stringify((0, _utils().objectSortedEntriesDeep)((0, _EnvironmentManager.fromEnvironmentId)(bundle.env))));
|
|
1414
1415
|
return hash.finish();
|
|
1415
1416
|
}
|
|
1416
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
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.fromEnvironmentId = fromEnvironmentId;
|
|
7
|
+
exports.loadEnvironmentsFromCache = loadEnvironmentsFromCache;
|
|
8
|
+
exports.toEnvironmentId = toEnvironmentId;
|
|
9
|
+
exports.toEnvironmentRef = toEnvironmentRef;
|
|
10
|
+
exports.writeEnvironmentsToCache = writeEnvironmentsToCache;
|
|
11
|
+
function _rust() {
|
|
12
|
+
const data = require("@atlaspack/rust");
|
|
13
|
+
_rust = function () {
|
|
14
|
+
return data;
|
|
15
|
+
};
|
|
16
|
+
return data;
|
|
17
|
+
}
|
|
18
|
+
function _featureFlags() {
|
|
19
|
+
const data = require("@atlaspack/feature-flags");
|
|
20
|
+
_featureFlags = function () {
|
|
21
|
+
return data;
|
|
22
|
+
};
|
|
23
|
+
return data;
|
|
24
|
+
}
|
|
25
|
+
function _logger() {
|
|
26
|
+
const data = require("@atlaspack/logger");
|
|
27
|
+
_logger = function () {
|
|
28
|
+
return data;
|
|
29
|
+
};
|
|
30
|
+
return data;
|
|
31
|
+
}
|
|
32
|
+
var _constants = require("./constants");
|
|
33
|
+
/*!
|
|
34
|
+
* At the moment we're doing this change for `CoreEnvironment`,
|
|
35
|
+
* but the same change must be made for `TypesEnvironment` in @atlaspack/types.
|
|
36
|
+
*/
|
|
37
|
+
const localEnvironmentCache = new Map();
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* When deduplication is cleaned-up this will always be a string.
|
|
41
|
+
*/
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Convert environment to a ref.
|
|
45
|
+
* This is what we should be using to store environments.
|
|
46
|
+
*/
|
|
47
|
+
function toEnvironmentRef(env) {
|
|
48
|
+
if (!(0, _featureFlags().getFeatureFlag)('environmentDeduplication')) {
|
|
49
|
+
return env;
|
|
50
|
+
}
|
|
51
|
+
const id = toEnvironmentId(env);
|
|
52
|
+
return id;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Convert environment to a string ID
|
|
57
|
+
*/
|
|
58
|
+
function toEnvironmentId(
|
|
59
|
+
/**
|
|
60
|
+
* Redundant type during roll-out
|
|
61
|
+
*/
|
|
62
|
+
env) {
|
|
63
|
+
if (!(0, _featureFlags().getFeatureFlag)('environmentDeduplication')) {
|
|
64
|
+
return typeof env === 'string' ? env : env.id;
|
|
65
|
+
}
|
|
66
|
+
if (typeof env === 'string') {
|
|
67
|
+
return env;
|
|
68
|
+
}
|
|
69
|
+
(0, _rust().addEnvironment)(env);
|
|
70
|
+
return env.id;
|
|
71
|
+
}
|
|
72
|
+
function fromEnvironmentId(id) {
|
|
73
|
+
if (!(0, _featureFlags().getFeatureFlag)('environmentDeduplication')) {
|
|
74
|
+
if (typeof id === 'string') {
|
|
75
|
+
throw new Error('This should never happen when environmentDeduplication feature-flag is off');
|
|
76
|
+
} else {
|
|
77
|
+
return id;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
if (typeof id !== 'string') {
|
|
81
|
+
return id;
|
|
82
|
+
}
|
|
83
|
+
const localEnv = localEnvironmentCache.get(id);
|
|
84
|
+
if (localEnv) {
|
|
85
|
+
return localEnv;
|
|
86
|
+
}
|
|
87
|
+
const env = Object.freeze((0, _rust().getEnvironment)(id));
|
|
88
|
+
localEnvironmentCache.set(id, env);
|
|
89
|
+
return env;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Writes all environments and their IDs to the cache
|
|
94
|
+
* @param {Cache} cache
|
|
95
|
+
* @returns {Promise<void>}
|
|
96
|
+
*/
|
|
97
|
+
async function writeEnvironmentsToCache(cache) {
|
|
98
|
+
const environments = (0, _rust().getAllEnvironments)();
|
|
99
|
+
const environmentIds = new Set();
|
|
100
|
+
|
|
101
|
+
// Store each environment individually
|
|
102
|
+
for (const env of environments) {
|
|
103
|
+
environmentIds.add(env.id);
|
|
104
|
+
const envKey = `Environment/${_constants.ATLASPACK_VERSION}/${env.id}`;
|
|
105
|
+
await (0, _logger().instrument)(`RequestTracker::writeToCache::cache.put(${envKey})`, async () => {
|
|
106
|
+
await cache.set(envKey, env);
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
// Store the list of environment IDs
|
|
111
|
+
await (0, _logger().instrument)(`RequestTracker::writeToCache::cache.put(${`EnvironmentManager/${_constants.ATLASPACK_VERSION}`})`, async () => {
|
|
112
|
+
await cache.set(`EnvironmentManager/${_constants.ATLASPACK_VERSION}`, Array.from(environmentIds));
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Loads all environments and their IDs from the cache
|
|
118
|
+
* @param {Cache} cache
|
|
119
|
+
* @returns {Promise<void>}
|
|
120
|
+
*/
|
|
121
|
+
async function loadEnvironmentsFromCache(cache) {
|
|
122
|
+
const cachedEnvIds = await cache.get(`EnvironmentManager/${_constants.ATLASPACK_VERSION}`);
|
|
123
|
+
if (cachedEnvIds == null) {
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
const environments = [];
|
|
127
|
+
for (const envId of cachedEnvIds) {
|
|
128
|
+
const envKey = `Environment/${_constants.ATLASPACK_VERSION}/${envId}`;
|
|
129
|
+
const cachedEnv = await cache.get(envKey);
|
|
130
|
+
if (cachedEnv != null) {
|
|
131
|
+
environments.push(cachedEnv);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
if (environments.length > 0) {
|
|
135
|
+
(0, _rust().setAllEnvironments)(environments);
|
|
136
|
+
}
|
|
137
|
+
}
|
package/lib/InternalConfig.js
CHANGED
|
@@ -14,6 +14,7 @@ function _rust() {
|
|
|
14
14
|
return data;
|
|
15
15
|
}
|
|
16
16
|
var _IdentifierRegistry = require("./IdentifierRegistry");
|
|
17
|
+
var _EnvironmentManager = require("./EnvironmentManager");
|
|
17
18
|
function createConfig({
|
|
18
19
|
plugin,
|
|
19
20
|
isSource,
|
|
@@ -30,11 +31,11 @@ function createConfig({
|
|
|
30
31
|
invalidateOnBuild
|
|
31
32
|
}) {
|
|
32
33
|
let environment = env ?? (0, _Environment.createEnvironment)();
|
|
33
|
-
const configId = (0, _rust().hashString)(plugin + (0, _projectPath.fromProjectPathRelative)(searchPath) + environment
|
|
34
|
+
const configId = (0, _rust().hashString)(plugin + (0, _projectPath.fromProjectPathRelative)(searchPath) + (0, _EnvironmentManager.toEnvironmentId)(environment) + String(isSource));
|
|
34
35
|
_IdentifierRegistry.identifierRegistry.addIdentifier('config_request', configId, {
|
|
35
36
|
plugin,
|
|
36
37
|
searchPath,
|
|
37
|
-
environmentId: environment
|
|
38
|
+
environmentId: (0, _EnvironmentManager.toEnvironmentId)(environment),
|
|
38
39
|
isSource
|
|
39
40
|
});
|
|
40
41
|
return {
|