cacache 12.0.0 → 12.0.4
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 +179 -155
- package/lib/util/fix-owner.js +10 -4
- package/package.json +8 -8
- package/lib/.verify.js.swp +0 -0
- package/lib/util/infer-owner.js +0 -80
package/CHANGELOG.md
CHANGED
|
@@ -2,13 +2,37 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
### [12.0.4](https://github.com/npm/cacache/compare/v12.0.3...v12.0.4) (2020-03-24)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### [12.0.3](https://github.com/npm/cacache/compare/v12.0.2...v12.0.3) (2019-08-19)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Bug Fixes
|
|
13
|
+
|
|
14
|
+
* do not chown if not running as root ([2d80af9](https://github.com/npm/cacache/commit/2d80af9))
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### [12.0.2](https://github.com/npm/cacache/compare/v12.0.1...v12.0.2) (2019-07-19)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
### [12.0.1](https://github.com/npm/cacache/compare/v12.0.0...v12.0.1) (2019-07-19)
|
|
23
|
+
|
|
24
|
+
* **deps** Abstracted out `lib/util/infer-owner.js` to
|
|
25
|
+
[@npmcli/infer-owner](https://www.npmjs.com/package/@npmcli/infer-owner)
|
|
26
|
+
so that it could be more easily used in other parts of the npm CLI.
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
## [12.0.0](https://github.com/npm/cacache/compare/v11.3.3...v12.0.0) (2019-07-15)
|
|
6
30
|
|
|
7
31
|
|
|
8
32
|
### Features
|
|
9
33
|
|
|
10
|
-
* infer uid/gid instead of accepting as options ([ac84d14](https://github.com/
|
|
11
|
-
* **i18n:** add another error message ([676cb32](https://github.com/
|
|
34
|
+
* infer uid/gid instead of accepting as options ([ac84d14](https://github.com/npm/cacache/commit/ac84d14))
|
|
35
|
+
* **i18n:** add another error message ([676cb32](https://github.com/npm/cacache/commit/676cb32))
|
|
12
36
|
|
|
13
37
|
|
|
14
38
|
### BREAKING CHANGES
|
|
@@ -51,108 +75,108 @@ option object, and pass it through to entry-index.js.
|
|
|
51
75
|
|
|
52
76
|
|
|
53
77
|
|
|
54
|
-
### [11.3.3](https://github.com/
|
|
78
|
+
### [11.3.3](https://github.com/npm/cacache/compare/v11.3.2...v11.3.3) (2019-06-17)
|
|
55
79
|
|
|
56
80
|
|
|
57
81
|
### Bug Fixes
|
|
58
82
|
|
|
59
|
-
* **audit:** npm audit fix ([200a6d5](https://github.com/
|
|
60
|
-
* **config:** Add ssri config 'error' option ([#146](https://github.com/
|
|
61
|
-
* **deps:** npm audit fix ([481a7dc](https://github.com/
|
|
62
|
-
* **standard:** standard --fix ([7799149](https://github.com/
|
|
63
|
-
* **write:** avoid another cb never called situation ([5156561](https://github.com/
|
|
83
|
+
* **audit:** npm audit fix ([200a6d5](https://github.com/npm/cacache/commit/200a6d5))
|
|
84
|
+
* **config:** Add ssri config 'error' option ([#146](https://github.com/npm/cacache/issues/146)) ([47de8f5](https://github.com/npm/cacache/commit/47de8f5))
|
|
85
|
+
* **deps:** npm audit fix ([481a7dc](https://github.com/npm/cacache/commit/481a7dc))
|
|
86
|
+
* **standard:** standard --fix ([7799149](https://github.com/npm/cacache/commit/7799149))
|
|
87
|
+
* **write:** avoid another cb never called situation ([5156561](https://github.com/npm/cacache/commit/5156561))
|
|
64
88
|
|
|
65
89
|
|
|
66
90
|
|
|
67
91
|
<a name="11.3.2"></a>
|
|
68
|
-
## [11.3.2](https://github.com/
|
|
92
|
+
## [11.3.2](https://github.com/npm/cacache/compare/v11.3.1...v11.3.2) (2018-12-21)
|
|
69
93
|
|
|
70
94
|
|
|
71
95
|
### Bug Fixes
|
|
72
96
|
|
|
73
|
-
* **get:** make sure to handle errors in the .then ([b10bcd0](https://github.com/
|
|
97
|
+
* **get:** make sure to handle errors in the .then ([b10bcd0](https://github.com/npm/cacache/commit/b10bcd0))
|
|
74
98
|
|
|
75
99
|
|
|
76
100
|
|
|
77
101
|
<a name="11.3.1"></a>
|
|
78
|
-
## [11.3.1](https://github.com/
|
|
102
|
+
## [11.3.1](https://github.com/npm/cacache/compare/v11.3.0...v11.3.1) (2018-11-05)
|
|
79
103
|
|
|
80
104
|
|
|
81
105
|
### Bug Fixes
|
|
82
106
|
|
|
83
|
-
* **get:** export hasContent.sync properly ([d76c920](https://github.com/
|
|
107
|
+
* **get:** export hasContent.sync properly ([d76c920](https://github.com/npm/cacache/commit/d76c920))
|
|
84
108
|
|
|
85
109
|
|
|
86
110
|
|
|
87
111
|
<a name="11.3.0"></a>
|
|
88
|
-
# [11.3.0](https://github.com/
|
|
112
|
+
# [11.3.0](https://github.com/npm/cacache/compare/v11.2.0...v11.3.0) (2018-11-05)
|
|
89
113
|
|
|
90
114
|
|
|
91
115
|
### Features
|
|
92
116
|
|
|
93
|
-
* **get:** add sync API for reading ([db1e094](https://github.com/
|
|
117
|
+
* **get:** add sync API for reading ([db1e094](https://github.com/npm/cacache/commit/db1e094))
|
|
94
118
|
|
|
95
119
|
|
|
96
120
|
|
|
97
121
|
<a name="11.2.0"></a>
|
|
98
|
-
# [11.2.0](https://github.com/
|
|
122
|
+
# [11.2.0](https://github.com/npm/cacache/compare/v11.1.0...v11.2.0) (2018-08-08)
|
|
99
123
|
|
|
100
124
|
|
|
101
125
|
### Features
|
|
102
126
|
|
|
103
|
-
* **read:** add sync support to other internal read.js fns ([fe638b6](https://github.com/
|
|
127
|
+
* **read:** add sync support to other internal read.js fns ([fe638b6](https://github.com/npm/cacache/commit/fe638b6))
|
|
104
128
|
|
|
105
129
|
|
|
106
130
|
|
|
107
131
|
<a name="11.1.0"></a>
|
|
108
|
-
# [11.1.0](https://github.com/
|
|
132
|
+
# [11.1.0](https://github.com/npm/cacache/compare/v11.0.3...v11.1.0) (2018-08-01)
|
|
109
133
|
|
|
110
134
|
|
|
111
135
|
### Features
|
|
112
136
|
|
|
113
|
-
* **read:** add sync support for low-level content read ([b43af83](https://github.com/
|
|
137
|
+
* **read:** add sync support for low-level content read ([b43af83](https://github.com/npm/cacache/commit/b43af83))
|
|
114
138
|
|
|
115
139
|
|
|
116
140
|
|
|
117
141
|
<a name="11.0.3"></a>
|
|
118
|
-
## [11.0.3](https://github.com/
|
|
142
|
+
## [11.0.3](https://github.com/npm/cacache/compare/v11.0.2...v11.0.3) (2018-08-01)
|
|
119
143
|
|
|
120
144
|
|
|
121
145
|
### Bug Fixes
|
|
122
146
|
|
|
123
|
-
* **config:** add ssri config options ([#136](https://github.com/
|
|
124
|
-
* **perf:** refactor content.read to avoid lstats ([c5ac10e](https://github.com/
|
|
125
|
-
* **test:** oops when removing safe-buffer ([1950490](https://github.com/
|
|
147
|
+
* **config:** add ssri config options ([#136](https://github.com/npm/cacache/issues/136)) ([10d5d9a](https://github.com/npm/cacache/commit/10d5d9a))
|
|
148
|
+
* **perf:** refactor content.read to avoid lstats ([c5ac10e](https://github.com/npm/cacache/commit/c5ac10e))
|
|
149
|
+
* **test:** oops when removing safe-buffer ([1950490](https://github.com/npm/cacache/commit/1950490))
|
|
126
150
|
|
|
127
151
|
|
|
128
152
|
|
|
129
153
|
<a name="11.0.2"></a>
|
|
130
|
-
## [11.0.2](https://github.com/
|
|
154
|
+
## [11.0.2](https://github.com/npm/cacache/compare/v11.0.1...v11.0.2) (2018-05-07)
|
|
131
155
|
|
|
132
156
|
|
|
133
157
|
### Bug Fixes
|
|
134
158
|
|
|
135
|
-
* **verify:** size param no longer lost in a verify ([#131](https://github.com/
|
|
159
|
+
* **verify:** size param no longer lost in a verify ([#131](https://github.com/npm/cacache/issues/131)) ([c614a19](https://github.com/npm/cacache/commit/c614a19)), closes [#130](https://github.com/npm/cacache/issues/130)
|
|
136
160
|
|
|
137
161
|
|
|
138
162
|
|
|
139
163
|
<a name="11.0.1"></a>
|
|
140
|
-
## [11.0.1](https://github.com/
|
|
164
|
+
## [11.0.1](https://github.com/npm/cacache/compare/v11.0.0...v11.0.1) (2018-04-10)
|
|
141
165
|
|
|
142
166
|
|
|
143
167
|
|
|
144
168
|
<a name="11.0.0"></a>
|
|
145
|
-
# [11.0.0](https://github.com/
|
|
169
|
+
# [11.0.0](https://github.com/npm/cacache/compare/v10.0.4...v11.0.0) (2018-04-09)
|
|
146
170
|
|
|
147
171
|
|
|
148
172
|
### Features
|
|
149
173
|
|
|
150
|
-
* **opts:** use figgy-pudding for opts ([#128](https://github.com/
|
|
174
|
+
* **opts:** use figgy-pudding for opts ([#128](https://github.com/npm/cacache/issues/128)) ([33d4eed](https://github.com/npm/cacache/commit/33d4eed))
|
|
151
175
|
|
|
152
176
|
|
|
153
177
|
### meta
|
|
154
178
|
|
|
155
|
-
* drop support for node@4 ([529f347](https://github.com/
|
|
179
|
+
* drop support for node@4 ([529f347](https://github.com/npm/cacache/commit/529f347))
|
|
156
180
|
|
|
157
181
|
|
|
158
182
|
### BREAKING CHANGES
|
|
@@ -162,52 +186,52 @@ option object, and pass it through to entry-index.js.
|
|
|
162
186
|
|
|
163
187
|
|
|
164
188
|
<a name="10.0.4"></a>
|
|
165
|
-
## [10.0.4](https://github.com/
|
|
189
|
+
## [10.0.4](https://github.com/npm/cacache/compare/v10.0.3...v10.0.4) (2018-02-16)
|
|
166
190
|
|
|
167
191
|
|
|
168
192
|
|
|
169
193
|
<a name="10.0.3"></a>
|
|
170
|
-
## [10.0.3](https://github.com/
|
|
194
|
+
## [10.0.3](https://github.com/npm/cacache/compare/v10.0.2...v10.0.3) (2018-02-16)
|
|
171
195
|
|
|
172
196
|
|
|
173
197
|
### Bug Fixes
|
|
174
198
|
|
|
175
|
-
* **content:** rethrow aggregate errors as ENOENT ([fa918f5](https://github.com/
|
|
199
|
+
* **content:** rethrow aggregate errors as ENOENT ([fa918f5](https://github.com/npm/cacache/commit/fa918f5))
|
|
176
200
|
|
|
177
201
|
|
|
178
202
|
|
|
179
203
|
<a name="10.0.2"></a>
|
|
180
|
-
## [10.0.2](https://github.com/
|
|
204
|
+
## [10.0.2](https://github.com/npm/cacache/compare/v10.0.1...v10.0.2) (2018-01-07)
|
|
181
205
|
|
|
182
206
|
|
|
183
207
|
### Bug Fixes
|
|
184
208
|
|
|
185
|
-
* **ls:** deleted entries could cause a premature stream EOF ([347dc36](https://github.com/
|
|
209
|
+
* **ls:** deleted entries could cause a premature stream EOF ([347dc36](https://github.com/npm/cacache/commit/347dc36))
|
|
186
210
|
|
|
187
211
|
|
|
188
212
|
|
|
189
213
|
<a name="10.0.1"></a>
|
|
190
|
-
## [10.0.1](https://github.com/
|
|
214
|
+
## [10.0.1](https://github.com/npm/cacache/compare/v10.0.0...v10.0.1) (2017-11-15)
|
|
191
215
|
|
|
192
216
|
|
|
193
217
|
### Bug Fixes
|
|
194
218
|
|
|
195
|
-
* **move-file:** actually use the fallback to `move-concurrently` (#110) ([073fbe1](https://github.com/
|
|
219
|
+
* **move-file:** actually use the fallback to `move-concurrently` (#110) ([073fbe1](https://github.com/npm/cacache/commit/073fbe1))
|
|
196
220
|
|
|
197
221
|
|
|
198
222
|
|
|
199
223
|
<a name="10.0.0"></a>
|
|
200
|
-
# [10.0.0](https://github.com/
|
|
224
|
+
# [10.0.0](https://github.com/npm/cacache/compare/v9.3.0...v10.0.0) (2017-10-23)
|
|
201
225
|
|
|
202
226
|
|
|
203
227
|
### Features
|
|
204
228
|
|
|
205
|
-
* **license:** relicense to ISC (#111) ([fdbb4e5](https://github.com/
|
|
229
|
+
* **license:** relicense to ISC (#111) ([fdbb4e5](https://github.com/npm/cacache/commit/fdbb4e5))
|
|
206
230
|
|
|
207
231
|
|
|
208
232
|
### Performance Improvements
|
|
209
233
|
|
|
210
|
-
* more copyFile benchmarks ([63787bb](https://github.com/
|
|
234
|
+
* more copyFile benchmarks ([63787bb](https://github.com/npm/cacache/commit/63787bb))
|
|
211
235
|
|
|
212
236
|
|
|
213
237
|
### BREAKING CHANGES
|
|
@@ -217,132 +241,132 @@ option object, and pass it through to entry-index.js.
|
|
|
217
241
|
|
|
218
242
|
|
|
219
243
|
<a name="9.3.0"></a>
|
|
220
|
-
# [9.3.0](https://github.com/
|
|
244
|
+
# [9.3.0](https://github.com/npm/cacache/compare/v9.2.9...v9.3.0) (2017-10-07)
|
|
221
245
|
|
|
222
246
|
|
|
223
247
|
### Features
|
|
224
248
|
|
|
225
|
-
* **copy:** added cacache.get.copy api for fast copies (#107) ([067b5f6](https://github.com/
|
|
249
|
+
* **copy:** added cacache.get.copy api for fast copies (#107) ([067b5f6](https://github.com/npm/cacache/commit/067b5f6))
|
|
226
250
|
|
|
227
251
|
|
|
228
252
|
|
|
229
253
|
<a name="9.2.9"></a>
|
|
230
|
-
## [9.2.9](https://github.com/
|
|
254
|
+
## [9.2.9](https://github.com/npm/cacache/compare/v9.2.8...v9.2.9) (2017-06-17)
|
|
231
255
|
|
|
232
256
|
|
|
233
257
|
|
|
234
258
|
<a name="9.2.8"></a>
|
|
235
|
-
## [9.2.8](https://github.com/
|
|
259
|
+
## [9.2.8](https://github.com/npm/cacache/compare/v9.2.7...v9.2.8) (2017-06-05)
|
|
236
260
|
|
|
237
261
|
|
|
238
262
|
### Bug Fixes
|
|
239
263
|
|
|
240
|
-
* **ssri:** bump ssri for bugfix ([c3232ea](https://github.com/
|
|
264
|
+
* **ssri:** bump ssri for bugfix ([c3232ea](https://github.com/npm/cacache/commit/c3232ea))
|
|
241
265
|
|
|
242
266
|
|
|
243
267
|
|
|
244
268
|
<a name="9.2.7"></a>
|
|
245
|
-
## [9.2.7](https://github.com/
|
|
269
|
+
## [9.2.7](https://github.com/npm/cacache/compare/v9.2.6...v9.2.7) (2017-06-05)
|
|
246
270
|
|
|
247
271
|
|
|
248
272
|
### Bug Fixes
|
|
249
273
|
|
|
250
|
-
* **content:** make verified content completely read-only (#96) ([4131196](https://github.com/
|
|
274
|
+
* **content:** make verified content completely read-only (#96) ([4131196](https://github.com/npm/cacache/commit/4131196))
|
|
251
275
|
|
|
252
276
|
|
|
253
277
|
|
|
254
278
|
<a name="9.2.6"></a>
|
|
255
|
-
## [9.2.6](https://github.com/
|
|
279
|
+
## [9.2.6](https://github.com/npm/cacache/compare/v9.2.5...v9.2.6) (2017-05-31)
|
|
256
280
|
|
|
257
281
|
|
|
258
282
|
### Bug Fixes
|
|
259
283
|
|
|
260
|
-
* **node:** update ssri to prevent old node 4 crash ([5209ffe](https://github.com/
|
|
284
|
+
* **node:** update ssri to prevent old node 4 crash ([5209ffe](https://github.com/npm/cacache/commit/5209ffe))
|
|
261
285
|
|
|
262
286
|
|
|
263
287
|
|
|
264
288
|
<a name="9.2.5"></a>
|
|
265
|
-
## [9.2.5](https://github.com/
|
|
289
|
+
## [9.2.5](https://github.com/npm/cacache/compare/v9.2.4...v9.2.5) (2017-05-25)
|
|
266
290
|
|
|
267
291
|
|
|
268
292
|
### Bug Fixes
|
|
269
293
|
|
|
270
|
-
* **deps:** fix lockfile issues and bump ssri ([84e1d7e](https://github.com/
|
|
294
|
+
* **deps:** fix lockfile issues and bump ssri ([84e1d7e](https://github.com/npm/cacache/commit/84e1d7e))
|
|
271
295
|
|
|
272
296
|
|
|
273
297
|
|
|
274
298
|
<a name="9.2.4"></a>
|
|
275
|
-
## [9.2.4](https://github.com/
|
|
299
|
+
## [9.2.4](https://github.com/npm/cacache/compare/v9.2.3...v9.2.4) (2017-05-24)
|
|
276
300
|
|
|
277
301
|
|
|
278
302
|
### Bug Fixes
|
|
279
303
|
|
|
280
|
-
* **deps:** bumping deps ([bbccb12](https://github.com/
|
|
304
|
+
* **deps:** bumping deps ([bbccb12](https://github.com/npm/cacache/commit/bbccb12))
|
|
281
305
|
|
|
282
306
|
|
|
283
307
|
|
|
284
308
|
<a name="9.2.3"></a>
|
|
285
|
-
## [9.2.3](https://github.com/
|
|
309
|
+
## [9.2.3](https://github.com/npm/cacache/compare/v9.2.2...v9.2.3) (2017-05-24)
|
|
286
310
|
|
|
287
311
|
|
|
288
312
|
### Bug Fixes
|
|
289
313
|
|
|
290
|
-
* **rm:** stop crashing if content is missing on rm ([ac90bc0](https://github.com/
|
|
314
|
+
* **rm:** stop crashing if content is missing on rm ([ac90bc0](https://github.com/npm/cacache/commit/ac90bc0))
|
|
291
315
|
|
|
292
316
|
|
|
293
317
|
|
|
294
318
|
<a name="9.2.2"></a>
|
|
295
|
-
## [9.2.2](https://github.com/
|
|
319
|
+
## [9.2.2](https://github.com/npm/cacache/compare/v9.2.1...v9.2.2) (2017-05-14)
|
|
296
320
|
|
|
297
321
|
|
|
298
322
|
### Bug Fixes
|
|
299
323
|
|
|
300
|
-
* **i18n:** lets pretend this didn't happen ([519b4ee](https://github.com/
|
|
324
|
+
* **i18n:** lets pretend this didn't happen ([519b4ee](https://github.com/npm/cacache/commit/519b4ee))
|
|
301
325
|
|
|
302
326
|
|
|
303
327
|
|
|
304
328
|
<a name="9.2.1"></a>
|
|
305
|
-
## [9.2.1](https://github.com/
|
|
329
|
+
## [9.2.1](https://github.com/npm/cacache/compare/v9.2.0...v9.2.1) (2017-05-14)
|
|
306
330
|
|
|
307
331
|
|
|
308
332
|
### Bug Fixes
|
|
309
333
|
|
|
310
|
-
* **docs:** fixing translation messup ([bb9e4f9](https://github.com/
|
|
334
|
+
* **docs:** fixing translation messup ([bb9e4f9](https://github.com/npm/cacache/commit/bb9e4f9))
|
|
311
335
|
|
|
312
336
|
|
|
313
337
|
|
|
314
338
|
<a name="9.2.0"></a>
|
|
315
|
-
# [9.2.0](https://github.com/
|
|
339
|
+
# [9.2.0](https://github.com/npm/cacache/compare/v9.1.0...v9.2.0) (2017-05-14)
|
|
316
340
|
|
|
317
341
|
|
|
318
342
|
### Features
|
|
319
343
|
|
|
320
|
-
* **i18n:** add Spanish translation for API ([531f9a4](https://github.com/
|
|
344
|
+
* **i18n:** add Spanish translation for API ([531f9a4](https://github.com/npm/cacache/commit/531f9a4))
|
|
321
345
|
|
|
322
346
|
|
|
323
347
|
|
|
324
348
|
<a name="9.1.0"></a>
|
|
325
|
-
# [9.1.0](https://github.com/
|
|
349
|
+
# [9.1.0](https://github.com/npm/cacache/compare/v9.0.0...v9.1.0) (2017-05-14)
|
|
326
350
|
|
|
327
351
|
|
|
328
352
|
### Features
|
|
329
353
|
|
|
330
|
-
* **i18n:** Add Spanish translation and i18n setup (#91) ([323b90c](https://github.com/
|
|
354
|
+
* **i18n:** Add Spanish translation and i18n setup (#91) ([323b90c](https://github.com/npm/cacache/commit/323b90c))
|
|
331
355
|
|
|
332
356
|
|
|
333
357
|
|
|
334
358
|
<a name="9.0.0"></a>
|
|
335
|
-
# [9.0.0](https://github.com/
|
|
359
|
+
# [9.0.0](https://github.com/npm/cacache/compare/v8.0.0...v9.0.0) (2017-04-28)
|
|
336
360
|
|
|
337
361
|
|
|
338
362
|
### Bug Fixes
|
|
339
363
|
|
|
340
|
-
* **memoization:** actually use the LRU ([0e55dc9](https://github.com/
|
|
364
|
+
* **memoization:** actually use the LRU ([0e55dc9](https://github.com/npm/cacache/commit/0e55dc9))
|
|
341
365
|
|
|
342
366
|
|
|
343
367
|
### Features
|
|
344
368
|
|
|
345
|
-
* **memoization:** memoizers can be injected through opts.memoize (#90) ([e5614c7](https://github.com/
|
|
369
|
+
* **memoization:** memoizers can be injected through opts.memoize (#90) ([e5614c7](https://github.com/npm/cacache/commit/e5614c7))
|
|
346
370
|
|
|
347
371
|
|
|
348
372
|
### BREAKING CHANGES
|
|
@@ -352,12 +376,12 @@ option object, and pass it through to entry-index.js.
|
|
|
352
376
|
|
|
353
377
|
|
|
354
378
|
<a name="8.0.0"></a>
|
|
355
|
-
# [8.0.0](https://github.com/
|
|
379
|
+
# [8.0.0](https://github.com/npm/cacache/compare/v7.1.0...v8.0.0) (2017-04-22)
|
|
356
380
|
|
|
357
381
|
|
|
358
382
|
### Features
|
|
359
383
|
|
|
360
|
-
* **read:** change hasContent to return {sri, size} (#88) ([bad6c49](https://github.com/
|
|
384
|
+
* **read:** change hasContent to return {sri, size} (#88) ([bad6c49](https://github.com/npm/cacache/commit/bad6c49)), closes [#87](https://github.com/npm/cacache/issues/87)
|
|
361
385
|
|
|
362
386
|
|
|
363
387
|
### BREAKING CHANGES
|
|
@@ -367,78 +391,78 @@ option object, and pass it through to entry-index.js.
|
|
|
367
391
|
|
|
368
392
|
|
|
369
393
|
<a name="7.1.0"></a>
|
|
370
|
-
# [7.1.0](https://github.com/
|
|
394
|
+
# [7.1.0](https://github.com/npm/cacache/compare/v7.0.5...v7.1.0) (2017-04-20)
|
|
371
395
|
|
|
372
396
|
|
|
373
397
|
### Features
|
|
374
398
|
|
|
375
|
-
* **size:** handle content size info (#49) ([91230af](https://github.com/
|
|
399
|
+
* **size:** handle content size info (#49) ([91230af](https://github.com/npm/cacache/commit/91230af))
|
|
376
400
|
|
|
377
401
|
|
|
378
402
|
|
|
379
403
|
<a name="7.0.5"></a>
|
|
380
|
-
## [7.0.5](https://github.com/
|
|
404
|
+
## [7.0.5](https://github.com/npm/cacache/compare/v7.0.4...v7.0.5) (2017-04-18)
|
|
381
405
|
|
|
382
406
|
|
|
383
407
|
### Bug Fixes
|
|
384
408
|
|
|
385
|
-
* **integrity:** new ssri with fixed integrity stream ([6d13e8e](https://github.com/
|
|
386
|
-
* **write:** wrap stuff in promises to improve errors ([3624fc5](https://github.com/
|
|
409
|
+
* **integrity:** new ssri with fixed integrity stream ([6d13e8e](https://github.com/npm/cacache/commit/6d13e8e))
|
|
410
|
+
* **write:** wrap stuff in promises to improve errors ([3624fc5](https://github.com/npm/cacache/commit/3624fc5))
|
|
387
411
|
|
|
388
412
|
|
|
389
413
|
|
|
390
414
|
<a name="7.0.4"></a>
|
|
391
|
-
## [7.0.4](https://github.com/
|
|
415
|
+
## [7.0.4](https://github.com/npm/cacache/compare/v7.0.3...v7.0.4) (2017-04-15)
|
|
392
416
|
|
|
393
417
|
|
|
394
418
|
### Bug Fixes
|
|
395
419
|
|
|
396
|
-
* **fix-owner:** throw away ENOENTs on chownr ([d49bbcd](https://github.com/
|
|
420
|
+
* **fix-owner:** throw away ENOENTs on chownr ([d49bbcd](https://github.com/npm/cacache/commit/d49bbcd))
|
|
397
421
|
|
|
398
422
|
|
|
399
423
|
|
|
400
424
|
<a name="7.0.3"></a>
|
|
401
|
-
## [7.0.3](https://github.com/
|
|
425
|
+
## [7.0.3](https://github.com/npm/cacache/compare/v7.0.2...v7.0.3) (2017-04-05)
|
|
402
426
|
|
|
403
427
|
|
|
404
428
|
### Bug Fixes
|
|
405
429
|
|
|
406
|
-
* **read:** fixing error message for integrity verification failures ([9d4f0a5](https://github.com/
|
|
430
|
+
* **read:** fixing error message for integrity verification failures ([9d4f0a5](https://github.com/npm/cacache/commit/9d4f0a5))
|
|
407
431
|
|
|
408
432
|
|
|
409
433
|
|
|
410
434
|
<a name="7.0.2"></a>
|
|
411
|
-
## [7.0.2](https://github.com/
|
|
435
|
+
## [7.0.2](https://github.com/npm/cacache/compare/v7.0.1...v7.0.2) (2017-04-03)
|
|
412
436
|
|
|
413
437
|
|
|
414
438
|
### Bug Fixes
|
|
415
439
|
|
|
416
|
-
* **integrity:** use EINTEGRITY error code and update ssri ([8dc2e62](https://github.com/
|
|
440
|
+
* **integrity:** use EINTEGRITY error code and update ssri ([8dc2e62](https://github.com/npm/cacache/commit/8dc2e62))
|
|
417
441
|
|
|
418
442
|
|
|
419
443
|
|
|
420
444
|
<a name="7.0.1"></a>
|
|
421
|
-
## [7.0.1](https://github.com/
|
|
445
|
+
## [7.0.1](https://github.com/npm/cacache/compare/v7.0.0...v7.0.1) (2017-04-03)
|
|
422
446
|
|
|
423
447
|
|
|
424
448
|
### Bug Fixes
|
|
425
449
|
|
|
426
|
-
* **docs:** fix header name conflict in readme ([afcd456](https://github.com/
|
|
450
|
+
* **docs:** fix header name conflict in readme ([afcd456](https://github.com/npm/cacache/commit/afcd456))
|
|
427
451
|
|
|
428
452
|
|
|
429
453
|
|
|
430
454
|
<a name="7.0.0"></a>
|
|
431
|
-
# [7.0.0](https://github.com/
|
|
455
|
+
# [7.0.0](https://github.com/npm/cacache/compare/v6.3.0...v7.0.0) (2017-04-03)
|
|
432
456
|
|
|
433
457
|
|
|
434
458
|
### Bug Fixes
|
|
435
459
|
|
|
436
|
-
* **test:** fix content.write tests when running in docker ([d2e9b6a](https://github.com/
|
|
460
|
+
* **test:** fix content.write tests when running in docker ([d2e9b6a](https://github.com/npm/cacache/commit/d2e9b6a))
|
|
437
461
|
|
|
438
462
|
|
|
439
463
|
### Features
|
|
440
464
|
|
|
441
|
-
* **integrity:** subresource integrity support (#78) ([b1e731f](https://github.com/
|
|
465
|
+
* **integrity:** subresource integrity support (#78) ([b1e731f](https://github.com/npm/cacache/commit/b1e731f))
|
|
442
466
|
|
|
443
467
|
|
|
444
468
|
### BREAKING CHANGES
|
|
@@ -474,150 +498,150 @@ option object, and pass it through to entry-index.js.
|
|
|
474
498
|
|
|
475
499
|
|
|
476
500
|
<a name="6.3.0"></a>
|
|
477
|
-
# [6.3.0](https://github.com/
|
|
501
|
+
# [6.3.0](https://github.com/npm/cacache/compare/v6.2.0...v6.3.0) (2017-04-01)
|
|
478
502
|
|
|
479
503
|
|
|
480
504
|
### Bug Fixes
|
|
481
505
|
|
|
482
|
-
* **fixOwner:** ignore EEXIST race condition from mkdirp ([4670e9b](https://github.com/
|
|
483
|
-
* **index:** ignore index removal races when inserting ([b9d2fa2](https://github.com/
|
|
484
|
-
* **memo:** use lru-cache for better mem management (#75) ([d8ac5aa](https://github.com/
|
|
506
|
+
* **fixOwner:** ignore EEXIST race condition from mkdirp ([4670e9b](https://github.com/npm/cacache/commit/4670e9b))
|
|
507
|
+
* **index:** ignore index removal races when inserting ([b9d2fa2](https://github.com/npm/cacache/commit/b9d2fa2))
|
|
508
|
+
* **memo:** use lru-cache for better mem management (#75) ([d8ac5aa](https://github.com/npm/cacache/commit/d8ac5aa))
|
|
485
509
|
|
|
486
510
|
|
|
487
511
|
### Features
|
|
488
512
|
|
|
489
|
-
* **dependencies:** Switch to move-concurrently (#77) ([dc6482d](https://github.com/
|
|
513
|
+
* **dependencies:** Switch to move-concurrently (#77) ([dc6482d](https://github.com/npm/cacache/commit/dc6482d))
|
|
490
514
|
|
|
491
515
|
|
|
492
516
|
|
|
493
517
|
<a name="6.2.0"></a>
|
|
494
|
-
# [6.2.0](https://github.com/
|
|
518
|
+
# [6.2.0](https://github.com/npm/cacache/compare/v6.1.2...v6.2.0) (2017-03-15)
|
|
495
519
|
|
|
496
520
|
|
|
497
521
|
### Bug Fixes
|
|
498
522
|
|
|
499
|
-
* **index:** additional bucket entry verification with checksum (#72) ([f8e0f25](https://github.com/
|
|
500
|
-
* **verify:** return fixOwner.chownr promise ([6818521](https://github.com/
|
|
523
|
+
* **index:** additional bucket entry verification with checksum (#72) ([f8e0f25](https://github.com/npm/cacache/commit/f8e0f25))
|
|
524
|
+
* **verify:** return fixOwner.chownr promise ([6818521](https://github.com/npm/cacache/commit/6818521))
|
|
501
525
|
|
|
502
526
|
|
|
503
527
|
### Features
|
|
504
528
|
|
|
505
|
-
* **tmp:** safe tmp dir creation/management util (#73) ([c42da71](https://github.com/
|
|
529
|
+
* **tmp:** safe tmp dir creation/management util (#73) ([c42da71](https://github.com/npm/cacache/commit/c42da71))
|
|
506
530
|
|
|
507
531
|
|
|
508
532
|
|
|
509
533
|
<a name="6.1.2"></a>
|
|
510
|
-
## [6.1.2](https://github.com/
|
|
534
|
+
## [6.1.2](https://github.com/npm/cacache/compare/v6.1.1...v6.1.2) (2017-03-13)
|
|
511
535
|
|
|
512
536
|
|
|
513
537
|
### Bug Fixes
|
|
514
538
|
|
|
515
|
-
* **index:** set default hashAlgorithm ([d6eb2f0](https://github.com/
|
|
539
|
+
* **index:** set default hashAlgorithm ([d6eb2f0](https://github.com/npm/cacache/commit/d6eb2f0))
|
|
516
540
|
|
|
517
541
|
|
|
518
542
|
|
|
519
543
|
<a name="6.1.1"></a>
|
|
520
|
-
## [6.1.1](https://github.com/
|
|
544
|
+
## [6.1.1](https://github.com/npm/cacache/compare/v6.1.0...v6.1.1) (2017-03-13)
|
|
521
545
|
|
|
522
546
|
|
|
523
547
|
### Bug Fixes
|
|
524
548
|
|
|
525
|
-
* **coverage:** bumping coverage for verify (#71) ([0b7faf6](https://github.com/
|
|
526
|
-
* **deps:** glob should have been a regular dep :< ([0640bc4](https://github.com/
|
|
549
|
+
* **coverage:** bumping coverage for verify (#71) ([0b7faf6](https://github.com/npm/cacache/commit/0b7faf6))
|
|
550
|
+
* **deps:** glob should have been a regular dep :< ([0640bc4](https://github.com/npm/cacache/commit/0640bc4))
|
|
527
551
|
|
|
528
552
|
|
|
529
553
|
|
|
530
554
|
<a name="6.1.0"></a>
|
|
531
|
-
# [6.1.0](https://github.com/
|
|
555
|
+
# [6.1.0](https://github.com/npm/cacache/compare/v6.0.2...v6.1.0) (2017-03-12)
|
|
532
556
|
|
|
533
557
|
|
|
534
558
|
### Bug Fixes
|
|
535
559
|
|
|
536
|
-
* **coverage:** more coverage for content reads (#70) ([ef4f70a](https://github.com/
|
|
537
|
-
* **tests:** use safe-buffer because omfg (#69) ([6ab8132](https://github.com/
|
|
560
|
+
* **coverage:** more coverage for content reads (#70) ([ef4f70a](https://github.com/npm/cacache/commit/ef4f70a))
|
|
561
|
+
* **tests:** use safe-buffer because omfg (#69) ([6ab8132](https://github.com/npm/cacache/commit/6ab8132))
|
|
538
562
|
|
|
539
563
|
|
|
540
564
|
### Features
|
|
541
565
|
|
|
542
|
-
* **rm:** limited rm.all and fixed bugs (#66) ([d5d25ba](https://github.com/
|
|
543
|
-
* **verify:** tested, working cache verifier/gc (#68) ([45ad77a](https://github.com/
|
|
566
|
+
* **rm:** limited rm.all and fixed bugs (#66) ([d5d25ba](https://github.com/npm/cacache/commit/d5d25ba)), closes [#66](https://github.com/npm/cacache/issues/66)
|
|
567
|
+
* **verify:** tested, working cache verifier/gc (#68) ([45ad77a](https://github.com/npm/cacache/commit/45ad77a))
|
|
544
568
|
|
|
545
569
|
|
|
546
570
|
|
|
547
571
|
<a name="6.0.2"></a>
|
|
548
|
-
## [6.0.2](https://github.com/
|
|
572
|
+
## [6.0.2](https://github.com/npm/cacache/compare/v6.0.1...v6.0.2) (2017-03-11)
|
|
549
573
|
|
|
550
574
|
|
|
551
575
|
### Bug Fixes
|
|
552
576
|
|
|
553
|
-
* **index:** segment cache items with another subbucket (#64) ([c3644e5](https://github.com/
|
|
577
|
+
* **index:** segment cache items with another subbucket (#64) ([c3644e5](https://github.com/npm/cacache/commit/c3644e5))
|
|
554
578
|
|
|
555
579
|
|
|
556
580
|
|
|
557
581
|
<a name="6.0.1"></a>
|
|
558
|
-
## [6.0.1](https://github.com/
|
|
582
|
+
## [6.0.1](https://github.com/npm/cacache/compare/v6.0.0...v6.0.1) (2017-03-05)
|
|
559
583
|
|
|
560
584
|
|
|
561
585
|
### Bug Fixes
|
|
562
586
|
|
|
563
|
-
* **docs:** Missed spots in README ([8ffb7fa](https://github.com/
|
|
587
|
+
* **docs:** Missed spots in README ([8ffb7fa](https://github.com/npm/cacache/commit/8ffb7fa))
|
|
564
588
|
|
|
565
589
|
|
|
566
590
|
|
|
567
591
|
<a name="6.0.0"></a>
|
|
568
|
-
# [6.0.0](https://github.com/
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
### Bug Fixes
|
|
572
|
-
|
|
573
|
-
* **api:** keep memo cache mostly-internal ([2f72d0a](https://github.com/
|
|
574
|
-
* **content:** use the rest of the string, not the whole string ([fa8f3c3](https://github.com/
|
|
575
|
-
* **deps:** removed `format-number
|
|
576
|
-
* **deps:** removed inflight
|
|
577
|
-
* **deps:** rimraf
|
|
578
|
-
* **deps:** standard
|
|
579
|
-
* **deps:** tap
|
|
580
|
-
* **deps:** weallcontribute
|
|
581
|
-
* **docs:** add security note to hashKey ([03f81ba](https://github.com/
|
|
582
|
-
* **hashes:** change default hashAlgorithm to sha512 ([ea00ba6](https://github.com/
|
|
583
|
-
* **hashes:** missed a spot for hashAlgorithm defaults ([45997d8](https://github.com/
|
|
584
|
-
* **index:** add length header before JSON for verification ([fb8cb4d](https://github.com/
|
|
585
|
-
* **index:** change index filenames to sha1s of keys ([bbc5fca](https://github.com/
|
|
586
|
-
* **index:** who cares about race conditions anyway ([b1d3888](https://github.com/
|
|
587
|
-
* **perf:** bulk-read get+read for massive speed ([d26cdf9](https://github.com/
|
|
588
|
-
* **perf:** use bulk file reads for index reads ([79a8891](https://github.com/
|
|
589
|
-
* **put-stream:** remove tmp file on stream insert error ([65f6632](https://github.com/
|
|
590
|
-
* **put-stream:** robustified and predictibilized ([daf9e08](https://github.com/
|
|
591
|
-
* **put-stream:** use new promise API for moves ([1d36013](https://github.com/
|
|
592
|
-
* **readme:** updated to reflect new default hashAlgo ([c60a2fa](https://github.com/
|
|
593
|
-
* **verify:** tiny typo fix ([db22d05](https://github.com/
|
|
592
|
+
# [6.0.0](https://github.com/npm/cacache/compare/v5.0.3...v6.0.0) (2017-03-05)
|
|
593
|
+
|
|
594
|
+
|
|
595
|
+
### Bug Fixes
|
|
596
|
+
|
|
597
|
+
* **api:** keep memo cache mostly-internal ([2f72d0a](https://github.com/npm/cacache/commit/2f72d0a))
|
|
598
|
+
* **content:** use the rest of the string, not the whole string ([fa8f3c3](https://github.com/npm/cacache/commit/fa8f3c3))
|
|
599
|
+
* **deps:** removed `format-number@2.0.2` ([1187791](https://github.com/npm/cacache/commit/1187791))
|
|
600
|
+
* **deps:** removed inflight@1.0.6 ([0d1819c](https://github.com/npm/cacache/commit/0d1819c))
|
|
601
|
+
* **deps:** rimraf@2.6.1 ([9efab6b](https://github.com/npm/cacache/commit/9efab6b))
|
|
602
|
+
* **deps:** standard@9.0.0 ([4202cba](https://github.com/npm/cacache/commit/4202cba))
|
|
603
|
+
* **deps:** tap@10.3.0 ([aa03088](https://github.com/npm/cacache/commit/aa03088))
|
|
604
|
+
* **deps:** weallcontribute@1.0.8 ([ad4f4dc](https://github.com/npm/cacache/commit/ad4f4dc))
|
|
605
|
+
* **docs:** add security note to hashKey ([03f81ba](https://github.com/npm/cacache/commit/03f81ba))
|
|
606
|
+
* **hashes:** change default hashAlgorithm to sha512 ([ea00ba6](https://github.com/npm/cacache/commit/ea00ba6))
|
|
607
|
+
* **hashes:** missed a spot for hashAlgorithm defaults ([45997d8](https://github.com/npm/cacache/commit/45997d8))
|
|
608
|
+
* **index:** add length header before JSON for verification ([fb8cb4d](https://github.com/npm/cacache/commit/fb8cb4d))
|
|
609
|
+
* **index:** change index filenames to sha1s of keys ([bbc5fca](https://github.com/npm/cacache/commit/bbc5fca))
|
|
610
|
+
* **index:** who cares about race conditions anyway ([b1d3888](https://github.com/npm/cacache/commit/b1d3888))
|
|
611
|
+
* **perf:** bulk-read get+read for massive speed ([d26cdf9](https://github.com/npm/cacache/commit/d26cdf9))
|
|
612
|
+
* **perf:** use bulk file reads for index reads ([79a8891](https://github.com/npm/cacache/commit/79a8891))
|
|
613
|
+
* **put-stream:** remove tmp file on stream insert error ([65f6632](https://github.com/npm/cacache/commit/65f6632))
|
|
614
|
+
* **put-stream:** robustified and predictibilized ([daf9e08](https://github.com/npm/cacache/commit/daf9e08))
|
|
615
|
+
* **put-stream:** use new promise API for moves ([1d36013](https://github.com/npm/cacache/commit/1d36013))
|
|
616
|
+
* **readme:** updated to reflect new default hashAlgo ([c60a2fa](https://github.com/npm/cacache/commit/c60a2fa))
|
|
617
|
+
* **verify:** tiny typo fix ([db22d05](https://github.com/npm/cacache/commit/db22d05))
|
|
594
618
|
|
|
595
619
|
|
|
596
620
|
### Features
|
|
597
621
|
|
|
598
|
-
* **api:** converted external api ([7bf032f](https://github.com/
|
|
599
|
-
* **cacache:** exported clearMemoized() utility ([8d2c5b6](https://github.com/
|
|
600
|
-
* **cache:** add versioning to content and index ([31bc549](https://github.com/
|
|
601
|
-
* **content:** collate content files into subdirs ([c094d9f](https://github.com/
|
|
602
|
-
* **deps:**
|
|
603
|
-
* **deps:** bluebird
|
|
604
|
-
* **deps:** promise-inflight
|
|
605
|
-
* **get:** added memoization support for get ([c77d794](https://github.com/
|
|
606
|
-
* **get:** export hasContent ([2956ec3](https://github.com/
|
|
607
|
-
* **index:** add hashAlgorithm and format insert ret val ([b639746](https://github.com/
|
|
608
|
-
* **index:** collate index files into subdirs ([e8402a5](https://github.com/
|
|
609
|
-
* **index:** promisify entry index ([cda3335](https://github.com/
|
|
610
|
-
* **memo:** added memoization lib ([da07b92](https://github.com/
|
|
611
|
-
* **memo:** export memoization api ([954b1b3](https://github.com/
|
|
612
|
-
* **move-file:** add move fallback for weird errors ([5cf4616](https://github.com/
|
|
613
|
-
* **perf:** bulk content write api ([51b536e](https://github.com/
|
|
614
|
-
* **put:** added memoization support to put ([b613a70](https://github.com/
|
|
615
|
-
* **read:** switched to promises ([a869362](https://github.com/
|
|
616
|
-
* **rm:** added memoization support to rm ([4205cf0](https://github.com/
|
|
617
|
-
* **rm:** switched to promises ([a000d24](https://github.com/
|
|
618
|
-
* **util:** promise-inflight ownership fix requests ([9517cd7](https://github.com/
|
|
619
|
-
* **util:** use promises for api ([ae204bb](https://github.com/
|
|
620
|
-
* **verify:** converted to Promises ([f0b3974](https://github.com/
|
|
622
|
+
* **api:** converted external api ([7bf032f](https://github.com/npm/cacache/commit/7bf032f))
|
|
623
|
+
* **cacache:** exported clearMemoized() utility ([8d2c5b6](https://github.com/npm/cacache/commit/8d2c5b6))
|
|
624
|
+
* **cache:** add versioning to content and index ([31bc549](https://github.com/npm/cacache/commit/31bc549))
|
|
625
|
+
* **content:** collate content files into subdirs ([c094d9f](https://github.com/npm/cacache/commit/c094d9f))
|
|
626
|
+
* **deps:** `@npmcorp/move@1.0.0` ([bdd00bf](https://github.com/npm/cacache/commit/bdd00bf))
|
|
627
|
+
* **deps:** `bluebird@3.4.7` ([3a17aff](https://github.com/npm/cacache/commit/3a17aff))
|
|
628
|
+
* **deps:** `promise-inflight@1.0.1` ([a004fe6](https://github.com/npm/cacache/commit/a004fe6))
|
|
629
|
+
* **get:** added memoization support for get ([c77d794](https://github.com/npm/cacache/commit/c77d794))
|
|
630
|
+
* **get:** export hasContent ([2956ec3](https://github.com/npm/cacache/commit/2956ec3))
|
|
631
|
+
* **index:** add hashAlgorithm and format insert ret val ([b639746](https://github.com/npm/cacache/commit/b639746))
|
|
632
|
+
* **index:** collate index files into subdirs ([e8402a5](https://github.com/npm/cacache/commit/e8402a5))
|
|
633
|
+
* **index:** promisify entry index ([cda3335](https://github.com/npm/cacache/commit/cda3335))
|
|
634
|
+
* **memo:** added memoization lib ([da07b92](https://github.com/npm/cacache/commit/da07b92))
|
|
635
|
+
* **memo:** export memoization api ([954b1b3](https://github.com/npm/cacache/commit/954b1b3))
|
|
636
|
+
* **move-file:** add move fallback for weird errors ([5cf4616](https://github.com/npm/cacache/commit/5cf4616))
|
|
637
|
+
* **perf:** bulk content write api ([51b536e](https://github.com/npm/cacache/commit/51b536e))
|
|
638
|
+
* **put:** added memoization support to put ([b613a70](https://github.com/npm/cacache/commit/b613a70))
|
|
639
|
+
* **read:** switched to promises ([a869362](https://github.com/npm/cacache/commit/a869362))
|
|
640
|
+
* **rm:** added memoization support to rm ([4205cf0](https://github.com/npm/cacache/commit/4205cf0))
|
|
641
|
+
* **rm:** switched to promises ([a000d24](https://github.com/npm/cacache/commit/a000d24))
|
|
642
|
+
* **util:** promise-inflight ownership fix requests ([9517cd7](https://github.com/npm/cacache/commit/9517cd7))
|
|
643
|
+
* **util:** use promises for api ([ae204bb](https://github.com/npm/cacache/commit/ae204bb))
|
|
644
|
+
* **verify:** converted to Promises ([f0b3974](https://github.com/npm/cacache/commit/f0b3974))
|
|
621
645
|
|
|
622
646
|
|
|
623
647
|
### BREAKING CHANGES
|
package/lib/util/fix-owner.js
CHANGED
|
@@ -5,7 +5,7 @@ const BB = require('bluebird')
|
|
|
5
5
|
const chownr = BB.promisify(require('chownr'))
|
|
6
6
|
const mkdirp = BB.promisify(require('mkdirp'))
|
|
7
7
|
const inflight = require('promise-inflight')
|
|
8
|
-
const inferOwner = require('
|
|
8
|
+
const inferOwner = require('infer-owner')
|
|
9
9
|
|
|
10
10
|
// Memoize getuid()/getgid() calls.
|
|
11
11
|
// patch process.setuid/setgid to invalidate cached value on change
|
|
@@ -37,9 +37,15 @@ function fixOwner (cache, filepath) {
|
|
|
37
37
|
// This platform doesn't need ownership fixing
|
|
38
38
|
return BB.resolve()
|
|
39
39
|
}
|
|
40
|
-
|
|
40
|
+
|
|
41
|
+
getSelf()
|
|
42
|
+
if (self.uid !== 0) {
|
|
43
|
+
// almost certainly can't chown anyway
|
|
44
|
+
return BB.resolve()
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
return BB.resolve(inferOwner(cache)).then(owner => {
|
|
41
48
|
const { uid, gid } = owner
|
|
42
|
-
getSelf()
|
|
43
49
|
|
|
44
50
|
// No need to override if it's already what we used.
|
|
45
51
|
if (self.uid === uid && self.gid === gid) {
|
|
@@ -90,7 +96,7 @@ function mkdirfix (cache, p, cb) {
|
|
|
90
96
|
// we aren't going to use the results, since the cache itself might not
|
|
91
97
|
// exist yet. If we mkdirp it, then our current uid/gid will be assumed
|
|
92
98
|
// to be correct if it creates the cache folder in the process.
|
|
93
|
-
return inferOwner(cache).then(() => {
|
|
99
|
+
return BB.resolve(inferOwner(cache)).then(() => {
|
|
94
100
|
return mkdirp(p).then(made => {
|
|
95
101
|
if (made) {
|
|
96
102
|
return fixOwner(cache, made).then(() => made)
|
package/package.json
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cacache",
|
|
3
|
-
"
|
|
3
|
+
"publishConfig": {
|
|
4
|
+
"tag": "legacy"
|
|
5
|
+
},
|
|
6
|
+
"version": "12.0.4",
|
|
4
7
|
"cache-version": {
|
|
5
8
|
"content": "2",
|
|
6
9
|
"index": "5"
|
|
@@ -19,11 +22,9 @@
|
|
|
19
22
|
"pretest": "standard",
|
|
20
23
|
"release": "standard-version -s",
|
|
21
24
|
"test": "cross-env CACACHE_UPDATE_LOCALE_FILES=true tap --coverage --nyc-arg=--all -J test/*.js",
|
|
22
|
-
"test-docker": "docker run -it --rm --name pacotest -v \"$PWD\":/tmp -w /tmp node:latest npm test"
|
|
23
|
-
"update-coc": "weallbehave -o . && git add CODE_OF_CONDUCT.md && git commit -m 'docs(coc): updated CODE_OF_CONDUCT.md'",
|
|
24
|
-
"update-contrib": "weallcontribute -o . && git add CONTRIBUTING.md && git commit -m 'docs(contributing): updated CONTRIBUTING.md'"
|
|
25
|
+
"test-docker": "docker run -it --rm --name pacotest -v \"$PWD\":/tmp -w /tmp node:latest npm test"
|
|
25
26
|
},
|
|
26
|
-
"repository": "https://github.com/
|
|
27
|
+
"repository": "https://github.com/npm/cacache",
|
|
27
28
|
"keywords": [
|
|
28
29
|
"cache",
|
|
29
30
|
"caching",
|
|
@@ -63,6 +64,7 @@
|
|
|
63
64
|
"figgy-pudding": "^3.5.1",
|
|
64
65
|
"glob": "^7.1.4",
|
|
65
66
|
"graceful-fs": "^4.1.15",
|
|
67
|
+
"infer-owner": "^1.0.3",
|
|
66
68
|
"lru-cache": "^5.1.1",
|
|
67
69
|
"mississippi": "^3.0.0",
|
|
68
70
|
"mkdirp": "^0.5.1",
|
|
@@ -81,9 +83,7 @@
|
|
|
81
83
|
"standard": "^12.0.1",
|
|
82
84
|
"standard-version": "^6.0.1",
|
|
83
85
|
"tacks": "^1.3.0",
|
|
84
|
-
"tap": "^12.7.0"
|
|
85
|
-
"weallbehave": "^1.2.0",
|
|
86
|
-
"weallcontribute": "^1.0.9"
|
|
86
|
+
"tap": "^12.7.0"
|
|
87
87
|
},
|
|
88
88
|
"config": {
|
|
89
89
|
"nyc": {
|
package/lib/.verify.js.swp
DELETED
|
Binary file
|
package/lib/util/infer-owner.js
DELETED
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
// This is only called by lib/util/fix-owner.js
|
|
4
|
-
//
|
|
5
|
-
// Get the uid/gid from the cache folder itself, not from
|
|
6
|
-
// settings being passed in. Too flaky otherwise, because the
|
|
7
|
-
// opts baton has to be passed properrly through half a dozen
|
|
8
|
-
// different modules.
|
|
9
|
-
//
|
|
10
|
-
// This module keeps a Map of cache=>{uid,gid}. If not in the map,
|
|
11
|
-
// then stat the folder, then the parent, ..., until it finds a folder
|
|
12
|
-
// that exists, and use that folder's uid and gid as the owner.
|
|
13
|
-
//
|
|
14
|
-
// If we don't have getuid/getgid, then this never gets called.
|
|
15
|
-
|
|
16
|
-
const BB = require('bluebird')
|
|
17
|
-
const fs = require('fs')
|
|
18
|
-
const lstat = BB.promisify(fs.lstat)
|
|
19
|
-
const lstatSync = fs.lstatSync
|
|
20
|
-
const { dirname } = require('path')
|
|
21
|
-
const inflight = require('promise-inflight')
|
|
22
|
-
|
|
23
|
-
const cacheToOwner = new Map()
|
|
24
|
-
|
|
25
|
-
const inferOwner = cache => {
|
|
26
|
-
if (cacheToOwner.has(cache)) {
|
|
27
|
-
// already inferred it
|
|
28
|
-
return BB.resolve(cacheToOwner.get(cache))
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
const statThen = st => {
|
|
32
|
-
const { uid, gid } = st
|
|
33
|
-
cacheToOwner.set(cache, { uid, gid })
|
|
34
|
-
return { uid, gid }
|
|
35
|
-
}
|
|
36
|
-
// check the parent if the cache itself fails
|
|
37
|
-
// likely it does not exist yet.
|
|
38
|
-
const parent = dirname(cache)
|
|
39
|
-
const parentTrap = parent === cache ? null : er => {
|
|
40
|
-
return inferOwner(parent).then((owner) => {
|
|
41
|
-
cacheToOwner.set(cache, owner)
|
|
42
|
-
return owner
|
|
43
|
-
})
|
|
44
|
-
}
|
|
45
|
-
return lstat(cache).then(statThen, parentTrap)
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
const inferOwnerSync = cache => {
|
|
49
|
-
if (cacheToOwner.has(cache)) {
|
|
50
|
-
// already inferred it
|
|
51
|
-
return cacheToOwner.get(cache)
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
// the parent we'll check if it doesn't exist yet
|
|
55
|
-
const parent = dirname(cache)
|
|
56
|
-
// avoid obscuring call site by re-throwing
|
|
57
|
-
// "catch" the error by returning from a finally,
|
|
58
|
-
// only if we're not at the root, and the parent call works.
|
|
59
|
-
let threw = true
|
|
60
|
-
try {
|
|
61
|
-
const st = lstatSync(cache)
|
|
62
|
-
threw = false
|
|
63
|
-
const { uid, gid } = st
|
|
64
|
-
cacheToOwner.set(cache, { uid, gid })
|
|
65
|
-
return { uid, gid }
|
|
66
|
-
} finally {
|
|
67
|
-
if (threw && parent !== cache) {
|
|
68
|
-
const owner = inferOwnerSync(parent)
|
|
69
|
-
cacheToOwner.set(cache, owner)
|
|
70
|
-
return owner // eslint-disable-line no-unsafe-finally
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
module.exports = cache => inflight(
|
|
76
|
-
'inferOwner: detecting ownership of ' + cache,
|
|
77
|
-
() => inferOwner(cache)
|
|
78
|
-
)
|
|
79
|
-
|
|
80
|
-
module.exports.sync = inferOwnerSync
|