@atlaspack/package-manager 2.14.5-canary.29 → 2.14.5-canary.291

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 (63) hide show
  1. package/CHANGELOG.md +370 -0
  2. package/dist/JSONParseStream.js +37 -0
  3. package/dist/MockPackageInstaller.js +54 -0
  4. package/dist/NodePackageManager.js +559 -0
  5. package/dist/Npm.js +73 -0
  6. package/dist/Pnpm.js +140 -0
  7. package/dist/Yarn.js +124 -0
  8. package/dist/getCurrentPackageManager.js +17 -0
  9. package/dist/index.js +24 -0
  10. package/dist/installPackage.js +197 -0
  11. package/dist/nodejsConditions.js +39 -0
  12. package/dist/promiseFromProcess.js +16 -0
  13. package/dist/utils.js +76 -0
  14. package/dist/validateModuleSpecifier.js +11 -0
  15. package/lib/JSONParseStream.js +52 -0
  16. package/lib/MockPackageInstaller.js +79 -0
  17. package/lib/NodePackageManager.js +621 -0
  18. package/lib/Npm.js +106 -0
  19. package/lib/Pnpm.js +185 -0
  20. package/lib/Yarn.js +160 -0
  21. package/lib/getCurrentPackageManager.js +20 -0
  22. package/lib/index.js +64 -5211
  23. package/lib/installPackage.js +222 -0
  24. package/lib/nodejsConditions.js +41 -0
  25. package/lib/promiseFromProcess.js +20 -0
  26. package/lib/types/JSONParseStream.d.ts +6 -0
  27. package/lib/types/MockPackageInstaller.d.ts +14 -0
  28. package/lib/types/NodePackageManager.d.ts +37 -0
  29. package/lib/types/Npm.d.ts +4 -0
  30. package/lib/types/Pnpm.d.ts +5 -0
  31. package/lib/types/Yarn.d.ts +5 -0
  32. package/lib/types/getCurrentPackageManager.d.ts +4 -0
  33. package/lib/types/index.d.ts +10 -0
  34. package/lib/types/installPackage.d.ts +5 -0
  35. package/lib/types/nodejsConditions.d.ts +3 -0
  36. package/lib/types/promiseFromProcess.d.ts +2 -0
  37. package/lib/types/utils.d.ts +15 -0
  38. package/lib/types/validateModuleSpecifier.d.ts +1 -0
  39. package/lib/utils.js +101 -0
  40. package/lib/validateModuleSpecifier.js +14 -0
  41. package/package.json +17 -20
  42. package/src/{JSONParseStream.js → JSONParseStream.ts} +8 -7
  43. package/src/{MockPackageInstaller.js → MockPackageInstaller.ts} +4 -6
  44. package/src/{NodePackageManager.js → NodePackageManager.ts} +125 -73
  45. package/src/{Npm.js → Npm.ts} +9 -9
  46. package/src/{Pnpm.js → Pnpm.ts} +68 -50
  47. package/src/{Yarn.js → Yarn.ts} +38 -25
  48. package/src/{getCurrentPackageManager.js → getCurrentPackageManager.ts} +9 -4
  49. package/src/{index.js → index.ts} +0 -2
  50. package/src/{installPackage.js → installPackage.ts} +4 -6
  51. package/src/{nodejsConditions.js → nodejsConditions.ts} +6 -3
  52. package/src/promiseFromProcess.ts +23 -0
  53. package/src/{utils.js → utils.ts} +21 -11
  54. package/src/{validateModuleSpecifier.js → validateModuleSpecifier.ts} +0 -2
  55. package/test/{NodePackageManager.test.js → NodePackageManager.test.ts} +19 -16
  56. package/test/{getCurrentPackageManager.test.js → getCurrentPackageManager.test.ts} +0 -1
  57. package/test/{validateModuleSpecifiers.test.js → validateModuleSpecifiers.test.ts} +2 -3
  58. package/tsconfig.json +33 -0
  59. package/tsconfig.tsbuildinfo +1 -0
  60. package/index.d.ts +0 -40
  61. package/lib/index.d.ts +0 -10
  62. package/lib/index.js.map +0 -1
  63. package/src/promiseFromProcess.js +0 -19
package/CHANGELOG.md CHANGED
@@ -1,5 +1,375 @@
1
1
  # @atlaspack/package-manager
2
2
 
3
+ ## 2.14.38
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [[`7d7a55d`](https://github.com/atlassian-labs/atlaspack/commit/7d7a55dd6395ec391a2e4c33b3dec0d1ea477d4c)]:
8
+ - @atlaspack/utils@3.1.2
9
+ - @atlaspack/fs@2.15.33
10
+ - @atlaspack/node-resolver-core@3.7.9
11
+ - @atlaspack/logger@2.14.30
12
+ - @atlaspack/workers@2.14.38
13
+ - @atlaspack/types@2.15.28
14
+
15
+ ## 2.14.37
16
+
17
+ ### Patch Changes
18
+
19
+ - Updated dependencies [[`373ee2d`](https://github.com/atlassian-labs/atlaspack/commit/373ee2d3b5cc315df1e90e647619f915892e2b87)]:
20
+ - @atlaspack/node-resolver-core@3.7.8
21
+ - @atlaspack/fs@2.15.32
22
+ - @atlaspack/logger@2.14.29
23
+ - @atlaspack/utils@3.1.1
24
+ - @atlaspack/workers@2.14.37
25
+ - @atlaspack/types@2.15.27
26
+
27
+ ## 2.14.36
28
+
29
+ ### Patch Changes
30
+
31
+ - Updated dependencies [[`5776be2`](https://github.com/atlassian-labs/atlaspack/commit/5776be21f70a3f2b9471ba33da3ba1a883f21f1a)]:
32
+ - @atlaspack/utils@3.1.0
33
+ - @atlaspack/fs@2.15.31
34
+ - @atlaspack/logger@2.14.28
35
+ - @atlaspack/node-resolver-core@3.7.7
36
+ - @atlaspack/workers@2.14.36
37
+ - @atlaspack/types@2.15.26
38
+
39
+ ## 2.14.35
40
+
41
+ ### Patch Changes
42
+
43
+ - Updated dependencies [[`79a7e22`](https://github.com/atlassian-labs/atlaspack/commit/79a7e22ef119891a2f4180a9d3cc66b38dd52092), [`c372f3f`](https://github.com/atlassian-labs/atlaspack/commit/c372f3fd6fce8200d5cf47f41bc7895c6cbb5558), [`17dfea9`](https://github.com/atlassian-labs/atlaspack/commit/17dfea9e9f3169807808520df9c09ebf70dc8b10)]:
44
+ - @atlaspack/node-resolver-core@3.7.6
45
+ - @atlaspack/utils@3.0.3
46
+ - @atlaspack/fs@2.15.30
47
+ - @atlaspack/logger@2.14.27
48
+ - @atlaspack/types@2.15.25
49
+ - @atlaspack/workers@2.14.35
50
+
51
+ ## 2.14.34
52
+
53
+ ### Patch Changes
54
+
55
+ - Updated dependencies [[`25cbee6`](https://github.com/atlassian-labs/atlaspack/commit/25cbee625fb47ac20423fe34ff37bc818a807245)]:
56
+ - @atlaspack/workers@2.14.34
57
+ - @atlaspack/fs@2.15.29
58
+ - @atlaspack/types@2.15.24
59
+ - @atlaspack/utils@3.0.2
60
+ - @atlaspack/node-resolver-core@3.7.5
61
+ - @atlaspack/logger@2.14.26
62
+
63
+ ## 2.14.33
64
+
65
+ ### Patch Changes
66
+
67
+ - Updated dependencies [[`236e546`](https://github.com/atlassian-labs/atlaspack/commit/236e5465863dca6044a7191e05260a5b924c342e)]:
68
+ - @atlaspack/utils@3.0.1
69
+ - @atlaspack/workers@2.14.33
70
+ - @atlaspack/node-resolver-core@3.7.4
71
+ - @atlaspack/fs@2.15.28
72
+ - @atlaspack/types@2.15.23
73
+ - @atlaspack/logger@2.14.25
74
+
75
+ ## 2.14.32
76
+
77
+ ### Patch Changes
78
+
79
+ - Updated dependencies [[`1180103`](https://github.com/atlassian-labs/atlaspack/commit/118010351ed444f8178988afb3f77807154dd933)]:
80
+ - @atlaspack/utils@3.0.0
81
+ - @atlaspack/fs@2.15.27
82
+ - @atlaspack/node-resolver-core@3.7.3
83
+ - @atlaspack/logger@2.14.24
84
+ - @atlaspack/workers@2.14.32
85
+ - @atlaspack/types@2.15.22
86
+
87
+ ## 2.14.31
88
+
89
+ ### Patch Changes
90
+
91
+ - [#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.
92
+
93
+ - Updated dependencies [[`0e7dd5e`](https://github.com/atlassian-labs/atlaspack/commit/0e7dd5ec6fbe05aa9e0bb5775a9d0975f206a922)]:
94
+ - @atlaspack/build-cache@2.13.6
95
+ - @atlaspack/diagnostic@2.14.4
96
+ - @atlaspack/fs@2.15.26
97
+ - @atlaspack/logger@2.14.23
98
+ - @atlaspack/types@2.15.21
99
+ - @atlaspack/utils@2.19.3
100
+ - @atlaspack/workers@2.14.31
101
+ - @atlaspack/node-resolver-core@3.7.2
102
+
103
+ ## 2.14.30
104
+
105
+ ### Patch Changes
106
+
107
+ - Updated dependencies []:
108
+ - @atlaspack/fs@2.15.25
109
+ - @atlaspack/utils@2.19.2
110
+ - @atlaspack/node-resolver-core@3.7.1
111
+ - @atlaspack/logger@2.14.22
112
+ - @atlaspack/types@2.15.20
113
+ - @atlaspack/workers@2.14.30
114
+
115
+ ## 2.14.29
116
+
117
+ ### Patch Changes
118
+
119
+ - [#764](https://github.com/atlassian-labs/atlaspack/pull/764) [`58ddd5d`](https://github.com/atlassian-labs/atlaspack/commit/58ddd5d79adde2ac5dc4c60ca575e4705a91e592) Thanks [@mattcompiles](https://github.com/mattcompiles)! - Fix using Atlaspack linked with source files
120
+
121
+ - Updated dependencies [[`53dd47b`](https://github.com/atlassian-labs/atlaspack/commit/53dd47bd6d23cd47f87297347f03a609ab38a03d)]:
122
+ - @atlaspack/node-resolver-core@3.7.0
123
+ - @atlaspack/fs@2.15.24
124
+ - @atlaspack/utils@2.19.1
125
+ - @atlaspack/logger@2.14.21
126
+ - @atlaspack/types@2.15.19
127
+ - @atlaspack/workers@2.14.29
128
+
129
+ ## 2.14.28
130
+
131
+ ### Patch Changes
132
+
133
+ - Updated dependencies [[`f0349a6`](https://github.com/atlassian-labs/atlaspack/commit/f0349a6b9b04755088f121095ca6301a2ada3767)]:
134
+ - @atlaspack/utils@2.19.0
135
+ - @atlaspack/fs@2.15.23
136
+ - @atlaspack/node-resolver-core@3.6.4
137
+ - @atlaspack/workers@2.14.28
138
+ - @atlaspack/logger@2.14.20
139
+ - @atlaspack/types@2.15.18
140
+
141
+ ## 2.14.27
142
+
143
+ ### Patch Changes
144
+
145
+ - Updated dependencies []:
146
+ - @atlaspack/fs@2.15.22
147
+ - @atlaspack/utils@2.18.4
148
+ - @atlaspack/node-resolver-core@3.6.3
149
+ - @atlaspack/logger@2.14.19
150
+ - @atlaspack/types@2.15.17
151
+ - @atlaspack/workers@2.14.27
152
+
153
+ ## 2.14.26
154
+
155
+ ### Patch Changes
156
+
157
+ - [#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
158
+
159
+ - Updated dependencies [[`ee040bb`](https://github.com/atlassian-labs/atlaspack/commit/ee040bb6428f29b57d892ddd8107e29077d08ffd), [`889c65c`](https://github.com/atlassian-labs/atlaspack/commit/889c65cd25b811045e26a117e7404f694dde77a2)]:
160
+ - @atlaspack/node-resolver-core@3.6.2
161
+ - @atlaspack/build-cache@2.13.5
162
+ - @atlaspack/diagnostic@2.14.3
163
+ - @atlaspack/workers@2.14.26
164
+ - @atlaspack/logger@2.14.18
165
+ - @atlaspack/types@2.15.16
166
+ - @atlaspack/utils@2.18.3
167
+ - @atlaspack/fs@2.15.21
168
+
169
+ ## 2.14.25
170
+
171
+ ### Patch Changes
172
+
173
+ - Updated dependencies []:
174
+ - @atlaspack/fs@2.15.20
175
+ - @atlaspack/utils@2.18.2
176
+ - @atlaspack/node-resolver-core@3.6.1
177
+ - @atlaspack/logger@2.14.17
178
+ - @atlaspack/types@2.15.15
179
+ - @atlaspack/workers@2.14.25
180
+
181
+ ## 2.14.24
182
+
183
+ ### Patch Changes
184
+
185
+ - Updated dependencies [[`7f5841c`](https://github.com/atlassian-labs/atlaspack/commit/7f5841c39df049f9546cccbeea2a7337e0337b45)]:
186
+ - @atlaspack/node-resolver-core@3.6.0
187
+ - @atlaspack/fs@2.15.19
188
+ - @atlaspack/logger@2.14.16
189
+ - @atlaspack/utils@2.18.1
190
+ - @atlaspack/types@2.15.14
191
+ - @atlaspack/workers@2.14.24
192
+
193
+ ## 2.14.23
194
+
195
+ ### Patch Changes
196
+
197
+ - Updated dependencies [[`23d561e`](https://github.com/atlassian-labs/atlaspack/commit/23d561e51e68b0c38fd1ff4e4fb173e5e7b01cf2)]:
198
+ - @atlaspack/utils@2.18.0
199
+ - @atlaspack/fs@2.15.18
200
+ - @atlaspack/node-resolver-core@3.5.23
201
+ - @atlaspack/workers@2.14.23
202
+ - @atlaspack/logger@2.14.15
203
+ - @atlaspack/types@2.15.13
204
+
205
+ ## 2.14.22
206
+
207
+ ### Patch Changes
208
+
209
+ - [#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
210
+
211
+ - Updated dependencies [[`d2fd849`](https://github.com/atlassian-labs/atlaspack/commit/d2fd849770fe6305e9c694bd97b1bd905abd9d94)]:
212
+ - @atlaspack/node-resolver-core@3.5.22
213
+ - @atlaspack/build-cache@2.13.4
214
+ - @atlaspack/diagnostic@2.14.2
215
+ - @atlaspack/workers@2.14.22
216
+ - @atlaspack/logger@2.14.14
217
+ - @atlaspack/types@2.15.12
218
+ - @atlaspack/utils@2.17.4
219
+ - @atlaspack/fs@2.15.17
220
+
221
+ ## 2.14.21
222
+
223
+ ### Patch Changes
224
+
225
+ - Updated dependencies []:
226
+ - @atlaspack/fs@2.15.16
227
+ - @atlaspack/types@2.15.11
228
+ - @atlaspack/workers@2.14.21
229
+ - @atlaspack/utils@2.17.3
230
+ - @atlaspack/node-resolver-core@3.5.21
231
+
232
+ ## 2.14.20
233
+
234
+ ### Patch Changes
235
+
236
+ - Updated dependencies []:
237
+ - @atlaspack/fs@2.15.15
238
+ - @atlaspack/utils@2.17.2
239
+ - @atlaspack/node-resolver-core@3.5.20
240
+ - @atlaspack/types@2.15.10
241
+ - @atlaspack/workers@2.14.20
242
+
243
+ ## 2.14.19
244
+
245
+ ### Patch Changes
246
+
247
+ - Updated dependencies []:
248
+ - @atlaspack/fs@2.15.14
249
+ - @atlaspack/utils@2.17.1
250
+ - @atlaspack/node-resolver-core@3.5.19
251
+ - @atlaspack/types@2.15.9
252
+ - @atlaspack/workers@2.14.19
253
+
254
+ ## 2.14.18
255
+
256
+ ### Patch Changes
257
+
258
+ - [#645](https://github.com/atlassian-labs/atlaspack/pull/645) [`de23e0c`](https://github.com/atlassian-labs/atlaspack/commit/de23e0ce49d5504fe3947ac26640a3d951087da3) Thanks [@alshdavid](https://github.com/alshdavid)! - Updated build system and added some extra test-specific code
259
+
260
+ - [#682](https://github.com/atlassian-labs/atlaspack/pull/682) [`a5ed1b4`](https://github.com/atlassian-labs/atlaspack/commit/a5ed1b414498560f393ff491af4da25b6e8dde56) Thanks [@alshdavid](https://github.com/alshdavid)! - Updating build system
261
+
262
+ - Updated dependencies [[`dbb4072`](https://github.com/atlassian-labs/atlaspack/commit/dbb40721ebeb45990a14ba04e6b44e7f836fb32d), [`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)]:
263
+ - @atlaspack/utils@2.17.0
264
+ - @atlaspack/fs@2.15.13
265
+ - @atlaspack/node-resolver-core@3.5.18
266
+ - @atlaspack/workers@2.14.18
267
+ - @atlaspack/logger@2.14.13
268
+ - @atlaspack/types@2.15.8
269
+
270
+ ## 2.14.17
271
+
272
+ ### Patch Changes
273
+
274
+ - Updated dependencies []:
275
+ - @atlaspack/fs@2.15.12
276
+ - @atlaspack/logger@2.14.12
277
+ - @atlaspack/utils@2.16.1
278
+ - @atlaspack/node-resolver-core@3.5.17
279
+ - @atlaspack/workers@2.14.17
280
+ - @atlaspack/types@2.15.7
281
+
282
+ ## 2.14.16
283
+
284
+ ### Patch Changes
285
+
286
+ - Updated dependencies [[`30ee2cf`](https://github.com/atlassian-labs/atlaspack/commit/30ee2cfcd34cf2646ded0eda13fdb80a2a5de529)]:
287
+ - @atlaspack/utils@2.16.0
288
+ - @atlaspack/fs@2.15.11
289
+ - @atlaspack/node-resolver-core@3.5.16
290
+ - @atlaspack/workers@2.14.16
291
+ - @atlaspack/types@2.15.6
292
+
293
+ ## 2.14.15
294
+
295
+ ### Patch Changes
296
+
297
+ - Updated dependencies []:
298
+ - @atlaspack/fs@2.15.10
299
+ - @atlaspack/utils@2.15.3
300
+ - @atlaspack/node-resolver-core@3.5.15
301
+ - @atlaspack/types@2.15.5
302
+ - @atlaspack/workers@2.14.15
303
+
304
+ ## 2.14.14
305
+
306
+ ### Patch Changes
307
+
308
+ - Updated dependencies []:
309
+ - @atlaspack/fs@2.15.9
310
+ - @atlaspack/utils@2.15.2
311
+ - @atlaspack/node-resolver-core@3.5.14
312
+ - @atlaspack/types@2.15.4
313
+ - @atlaspack/workers@2.14.14
314
+
315
+ ## 2.14.13
316
+
317
+ ### Patch Changes
318
+
319
+ - Updated dependencies [[`ef3d622`](https://github.com/atlassian-labs/atlaspack/commit/ef3d6228f4e006702198a19c61e051d194d325cb)]:
320
+ - @atlaspack/workers@2.14.13
321
+ - @atlaspack/logger@2.14.11
322
+ - @atlaspack/fs@2.15.8
323
+ - @atlaspack/types@2.15.3
324
+ - @atlaspack/utils@2.15.1
325
+ - @atlaspack/node-resolver-core@3.5.13
326
+
327
+ ## 2.14.12
328
+
329
+ ### Patch Changes
330
+
331
+ - Updated dependencies [[`e39c6cf`](https://github.com/atlassian-labs/atlaspack/commit/e39c6cf05f7e95ce5420dbcea66f401b1cbd397c)]:
332
+ - @atlaspack/utils@2.15.0
333
+ - @atlaspack/fs@2.15.7
334
+ - @atlaspack/node-resolver-core@3.5.12
335
+ - @atlaspack/workers@2.14.12
336
+ - @atlaspack/types@2.15.2
337
+
338
+ ## 2.14.11
339
+
340
+ ### Patch Changes
341
+
342
+ - Updated dependencies []:
343
+ - @atlaspack/fs@2.15.6
344
+ - @atlaspack/utils@2.14.11
345
+ - @atlaspack/node-resolver-core@3.5.11
346
+ - @atlaspack/types@2.15.1
347
+ - @atlaspack/workers@2.14.11
348
+
349
+ ## 2.14.10
350
+
351
+ ### Patch Changes
352
+
353
+ - 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)]:
354
+ - @atlaspack/fs@2.15.5
355
+ - @atlaspack/types@2.15.0
356
+ - @atlaspack/node-resolver-core@3.5.10
357
+ - @atlaspack/workers@2.14.10
358
+ - @atlaspack/logger@2.14.10
359
+ - @atlaspack/utils@2.14.10
360
+
361
+ ## 2.14.9
362
+
363
+ ### Patch Changes
364
+
365
+ - Updated dependencies [[`e4d966c`](https://github.com/atlassian-labs/atlaspack/commit/e4d966c3c9c4292c5013372ae65b10d19d4bacc6)]:
366
+ - @atlaspack/fs@2.15.4
367
+ - @atlaspack/logger@2.14.9
368
+ - @atlaspack/utils@2.14.9
369
+ - @atlaspack/node-resolver-core@3.5.9
370
+ - @atlaspack/workers@2.14.9
371
+ - @atlaspack/types@2.14.9
372
+
3
373
  ## 2.14.8
4
374
 
5
375
  ### Patch Changes
@@ -0,0 +1,37 @@
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 logger_1 = __importDefault(require("@atlaspack/logger"));
7
+ const stream_1 = require("stream");
8
+ // Transforms chunks of json strings to parsed objects.
9
+ // Pair with split2 to parse stream of newline-delimited text.
10
+ class JSONParseStream extends stream_1.Transform {
11
+ constructor(options) {
12
+ // @ts-expect-error TS2698
13
+ super({ ...options, objectMode: true });
14
+ }
15
+ _transform(chunk, encoding, callback) {
16
+ try {
17
+ let parsed;
18
+ try {
19
+ parsed = JSON.parse(chunk.toString());
20
+ }
21
+ catch (e) {
22
+ // Be permissive and ignoreJSON parse errors in case there was
23
+ // a non-JSON line in the package manager's stdout.
24
+ logger_1.default.verbose({
25
+ message: 'Ignored invalid JSON message: ' + chunk.toString(),
26
+ origin: '@atlaspack/package-manager',
27
+ });
28
+ return;
29
+ }
30
+ callback(null, parsed);
31
+ }
32
+ catch (err) {
33
+ callback(err);
34
+ }
35
+ }
36
+ }
37
+ exports.default = JSONParseStream;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.MockPackageInstaller = void 0;
7
+ const path_1 = __importDefault(require("path"));
8
+ const build_cache_1 = require("@atlaspack/build-cache");
9
+ const fs_1 = require("@atlaspack/fs");
10
+ const package_json_1 = __importDefault(require("../package.json"));
11
+ const utils_1 = require("./utils");
12
+ // This PackageInstaller implementation simply copies files from one filesystem to another.
13
+ // Mostly useful for testing purposes.
14
+ class MockPackageInstaller {
15
+ constructor() {
16
+ this.packages = new Map();
17
+ }
18
+ register(packageName, fs, packagePath) {
19
+ this.packages.set(packageName, { fs, packagePath });
20
+ }
21
+ async install({ modules, fs, cwd, packagePath, saveDev = true, }) {
22
+ if (packagePath == null) {
23
+ packagePath = path_1.default.join(cwd, 'package.json');
24
+ await fs.writeFile(packagePath, '{}');
25
+ }
26
+ let pkg = JSON.parse(await fs.readFile(packagePath, 'utf8'));
27
+ let key = saveDev ? 'devDependencies' : 'dependencies';
28
+ if (!pkg[key]) {
29
+ pkg[key] = {};
30
+ }
31
+ for (let module of modules) {
32
+ pkg[key][module.name] =
33
+ '^' + (await this.installPackage(module, fs, packagePath));
34
+ }
35
+ await fs.writeFile(packagePath, JSON.stringify(pkg));
36
+ }
37
+ async installPackage(moduleRequest, fs, packagePath) {
38
+ let pkg = this.packages.get(moduleRequest.name);
39
+ if (!pkg) {
40
+ throw new Error('Unknown package ' + moduleRequest.name);
41
+ }
42
+ let dest = path_1.default.join(path_1.default.dirname(packagePath), 'node_modules', moduleRequest.name);
43
+ await (0, fs_1.ncp)(pkg.fs, pkg.packagePath, fs, dest);
44
+ let packageJSON = JSON.parse(await fs.readFile(path_1.default.join(dest, 'package.json'), 'utf8'));
45
+ if (packageJSON.dependencies != null) {
46
+ for (let dep of (0, utils_1.moduleRequestsFromDependencyMap)(packageJSON.dependencies)) {
47
+ await this.installPackage(dep, fs, packagePath);
48
+ }
49
+ }
50
+ return packageJSON.version;
51
+ }
52
+ }
53
+ exports.MockPackageInstaller = MockPackageInstaller;
54
+ (0, build_cache_1.registerSerializableClass)(`${package_json_1.default.version}:MockPackageInstaller`, MockPackageInstaller);