verdaccio-memory 10.0.1 → 11.0.0-6-next.7
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/.babelrc +3 -0
- package/CHANGELOG.md +328 -0
- package/README.md +1 -2
- package/{lib → build}/index.d.ts +0 -0
- package/{lib → build}/index.js +0 -0
- package/{lib → build}/index.js.map +0 -0
- package/{lib → build}/local-memory.d.ts +8 -7
- package/{lib → build}/local-memory.js +49 -34
- package/build/local-memory.js.map +1 -0
- package/{lib → build}/memory-handler.d.ts +3 -3
- package/{lib → build}/memory-handler.js +34 -24
- package/build/memory-handler.js.map +1 -0
- package/{lib → build}/utils.d.ts +0 -0
- package/{lib → build}/utils.js +1 -1
- package/{lib → build}/utils.js.map +0 -0
- package/jest.config.js +5 -0
- package/package.json +55 -50
- package/src/index.ts +5 -0
- package/src/local-memory.ts +129 -0
- package/src/memory-handler.ts +188 -0
- package/src/utils.ts +9 -0
- package/test/local-memory.spec.ts +67 -0
- package/test/memory.spec.ts +372 -0
- package/test/partials/config.ts +50 -0
- package/test/partials/pkg.ts +65 -0
- package/tsconfig.build.json +9 -0
- package/tsconfig.json +17 -0
- package/lib/local-memory.js.map +0 -1
- package/lib/memory-handler.js.map +0 -1
package/.babelrc
ADDED
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
# Change Log
|
|
2
|
+
|
|
3
|
+
## 11.0.0-6-next.7
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [6c1eb021]
|
|
8
|
+
- @verdaccio/core@6.0.0-6-next.3
|
|
9
|
+
|
|
10
|
+
## 11.0.0-6-next.6
|
|
11
|
+
|
|
12
|
+
### Major Changes
|
|
13
|
+
|
|
14
|
+
- 794af76c: Remove Node 12 support
|
|
15
|
+
|
|
16
|
+
- We need move to the new `undici` and does not support Node.js 12
|
|
17
|
+
|
|
18
|
+
### Minor Changes
|
|
19
|
+
|
|
20
|
+
- 154b2ecd: refactor: remove @verdaccio/commons-api in favor @verdaccio/core and remove duplications
|
|
21
|
+
|
|
22
|
+
### Patch Changes
|
|
23
|
+
|
|
24
|
+
- Updated dependencies [794af76c]
|
|
25
|
+
- Updated dependencies [154b2ecd]
|
|
26
|
+
- @verdaccio/core@6.0.0-6-next.2
|
|
27
|
+
- @verdaccio/streams@11.0.0-6-next.5
|
|
28
|
+
|
|
29
|
+
## 11.0.0-6-next.5
|
|
30
|
+
|
|
31
|
+
### Major Changes
|
|
32
|
+
|
|
33
|
+
- 459b6fa7: refactor: search v1 endpoint and local-database
|
|
34
|
+
|
|
35
|
+
- refactor search `api v1` endpoint, improve performance
|
|
36
|
+
- remove usage of `async` dependency https://github.com/verdaccio/verdaccio/issues/1225
|
|
37
|
+
- refactor method storage class
|
|
38
|
+
- create new module `core` to reduce the ammount of modules with utilities
|
|
39
|
+
- use `undici` instead `node-fetch`
|
|
40
|
+
- use `fastify` instead `express` for functional test
|
|
41
|
+
|
|
42
|
+
### Breaking changes
|
|
43
|
+
|
|
44
|
+
- plugin storage API changes
|
|
45
|
+
- remove old search endpoint (return 404)
|
|
46
|
+
- filter local private packages at plugin level
|
|
47
|
+
|
|
48
|
+
The storage api changes for methods `get`, `add`, `remove` as promise base. The `search` methods also changes and recieves a `query` object that contains all query params from the client.
|
|
49
|
+
|
|
50
|
+
```ts
|
|
51
|
+
export interface IPluginStorage<T> extends IPlugin {
|
|
52
|
+
add(name: string): Promise<void>;
|
|
53
|
+
remove(name: string): Promise<void>;
|
|
54
|
+
get(): Promise<any>;
|
|
55
|
+
init(): Promise<void>;
|
|
56
|
+
getSecret(): Promise<string>;
|
|
57
|
+
setSecret(secret: string): Promise<any>;
|
|
58
|
+
getPackageStorage(packageInfo: string): IPackageStorage;
|
|
59
|
+
search(query: searchUtils.SearchQuery): Promise<searchUtils.SearchItem[]>;
|
|
60
|
+
saveToken(token: Token): Promise<any>;
|
|
61
|
+
deleteToken(user: string, tokenKey: string): Promise<any>;
|
|
62
|
+
readTokens(filter: TokenFilter): Promise<Token[]>;
|
|
63
|
+
}
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Patch Changes
|
|
67
|
+
|
|
68
|
+
- Updated dependencies [459b6fa7]
|
|
69
|
+
- @verdaccio/commons-api@11.0.0-6-next.4
|
|
70
|
+
- @verdaccio/streams@11.0.0-6-next.4
|
|
71
|
+
|
|
72
|
+
## 11.0.0-6-next.4
|
|
73
|
+
|
|
74
|
+
### Major Changes
|
|
75
|
+
|
|
76
|
+
- cb2281a5: # async storage plugin bootstrap
|
|
77
|
+
|
|
78
|
+
Gives a storage plugin the ability to perform asynchronous tasks on initialization
|
|
79
|
+
|
|
80
|
+
## Breaking change
|
|
81
|
+
|
|
82
|
+
Plugin must have an init method in which asynchronous tasks can be executed
|
|
83
|
+
|
|
84
|
+
```js
|
|
85
|
+
public async init(): Promise<void> {
|
|
86
|
+
this.data = await this._fetchLocalPackages();
|
|
87
|
+
this._sync();
|
|
88
|
+
}
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## 10.0.0-alpha.3
|
|
92
|
+
|
|
93
|
+
### Patch Changes
|
|
94
|
+
|
|
95
|
+
- fecbb9be: chore: add release step to private regisry on merge changeset pr
|
|
96
|
+
- Updated dependencies [fecbb9be]
|
|
97
|
+
- @verdaccio/commons-api@10.0.0-alpha.3
|
|
98
|
+
- @verdaccio/streams@10.0.0-alpha.3
|
|
99
|
+
|
|
100
|
+
## 10.0.0-alpha.2
|
|
101
|
+
|
|
102
|
+
### Minor Changes
|
|
103
|
+
|
|
104
|
+
- 54c58d1e: feat: add server rate limit protection to all request
|
|
105
|
+
|
|
106
|
+
To modify custom values, use the server settings property.
|
|
107
|
+
|
|
108
|
+
```markdown
|
|
109
|
+
server:
|
|
110
|
+
|
|
111
|
+
## https://www.npmjs.com/package/express-rate-limit#configuration-options
|
|
112
|
+
|
|
113
|
+
rateLimit:
|
|
114
|
+
windowMs: 1000
|
|
115
|
+
max: 10000
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
The values are intended to be high, if you want to improve security of your server consider
|
|
119
|
+
using different values.
|
|
120
|
+
|
|
121
|
+
### Patch Changes
|
|
122
|
+
|
|
123
|
+
- Updated dependencies [54c58d1e]
|
|
124
|
+
- @verdaccio/commons-api@10.0.0-alpha.2
|
|
125
|
+
- @verdaccio/streams@10.0.0-alpha.2
|
|
126
|
+
|
|
127
|
+
## 10.0.0-alpha.1
|
|
128
|
+
|
|
129
|
+
### Major Changes
|
|
130
|
+
|
|
131
|
+
- d87fa026: feat!: experiments config renamed to flags
|
|
132
|
+
|
|
133
|
+
- The `experiments` configuration is renamed to `flags`. The functionality is exactly the same.
|
|
134
|
+
|
|
135
|
+
```js
|
|
136
|
+
flags: token: false;
|
|
137
|
+
search: false;
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
- The `self_path` property from the config file is being removed in favor of `config_file` full path.
|
|
141
|
+
- Refactor `config` module, better types and utilities
|
|
142
|
+
|
|
143
|
+
### Patch Changes
|
|
144
|
+
|
|
145
|
+
- Updated dependencies [d87fa026]
|
|
146
|
+
- Updated dependencies [da1ee9c8]
|
|
147
|
+
- Updated dependencies [26b494cb]
|
|
148
|
+
- Updated dependencies [b57b4338]
|
|
149
|
+
- Updated dependencies [31af0164]
|
|
150
|
+
- @verdaccio/commons-api@10.0.0-alpha.1
|
|
151
|
+
- @verdaccio/streams@10.0.0-alpha.1
|
|
152
|
+
|
|
153
|
+
All notable changes to this project will be documented in this file.
|
|
154
|
+
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
155
|
+
|
|
156
|
+
## [9.7.2](https://github.com/verdaccio/monorepo/compare/v9.7.1...v9.7.2) (2020-07-20)
|
|
157
|
+
|
|
158
|
+
**Note:** Version bump only for package verdaccio-memory
|
|
159
|
+
|
|
160
|
+
## [9.7.1](https://github.com/verdaccio/monorepo/compare/v9.7.0...v9.7.1) (2020-07-10)
|
|
161
|
+
|
|
162
|
+
**Note:** Version bump only for package verdaccio-memory
|
|
163
|
+
|
|
164
|
+
# [9.7.0](https://github.com/verdaccio/monorepo/compare/v9.6.1...v9.7.0) (2020-06-24)
|
|
165
|
+
|
|
166
|
+
**Note:** Version bump only for package verdaccio-memory
|
|
167
|
+
|
|
168
|
+
## [9.6.1](https://github.com/verdaccio/monorepo/compare/v9.6.0...v9.6.1) (2020-06-07)
|
|
169
|
+
|
|
170
|
+
### Bug Fixes
|
|
171
|
+
|
|
172
|
+
- **verdaccio-memory:** race condition on save a package ([#365](https://github.com/verdaccio/monorepo/issues/365)) ([70c1fb1](https://github.com/verdaccio/monorepo/commit/70c1fb1271e9e6af8577a81f8bf94d21d80e8d6b))
|
|
173
|
+
|
|
174
|
+
# [9.5.0](https://github.com/verdaccio/monorepo/compare/v9.4.1...v9.5.0) (2020-05-02)
|
|
175
|
+
|
|
176
|
+
**Note:** Version bump only for package verdaccio-memory
|
|
177
|
+
|
|
178
|
+
# [9.4.0](https://github.com/verdaccio/monorepo/compare/v9.3.4...v9.4.0) (2020-03-21)
|
|
179
|
+
|
|
180
|
+
**Note:** Version bump only for package verdaccio-memory
|
|
181
|
+
|
|
182
|
+
## [9.3.2](https://github.com/verdaccio/monorepo/compare/v9.3.1...v9.3.2) (2020-03-08)
|
|
183
|
+
|
|
184
|
+
**Note:** Version bump only for package verdaccio-memory
|
|
185
|
+
|
|
186
|
+
## [9.3.1](https://github.com/verdaccio/monorepo/compare/v9.3.0...v9.3.1) (2020-02-23)
|
|
187
|
+
|
|
188
|
+
**Note:** Version bump only for package verdaccio-memory
|
|
189
|
+
|
|
190
|
+
# [9.3.0](https://github.com/verdaccio/monorepo/compare/v9.2.0...v9.3.0) (2020-01-29)
|
|
191
|
+
|
|
192
|
+
**Note:** Version bump only for package verdaccio-memory
|
|
193
|
+
|
|
194
|
+
# [9.0.0](https://github.com/verdaccio/monorepo/compare/v8.5.3...v9.0.0) (2020-01-07)
|
|
195
|
+
|
|
196
|
+
**Note:** Version bump only for package verdaccio-memory
|
|
197
|
+
|
|
198
|
+
## [8.5.2](https://github.com/verdaccio/monorepo/compare/v8.5.1...v8.5.2) (2019-12-25)
|
|
199
|
+
|
|
200
|
+
### Bug Fixes
|
|
201
|
+
|
|
202
|
+
- add types for storage handler ([#307](https://github.com/verdaccio/monorepo/issues/307)) ([c35746e](https://github.com/verdaccio/monorepo/commit/c35746ebba071900db172608dedff66a7d27c23d))
|
|
203
|
+
|
|
204
|
+
## [8.5.1](https://github.com/verdaccio/monorepo/compare/v8.5.0...v8.5.1) (2019-12-24)
|
|
205
|
+
|
|
206
|
+
**Note:** Version bump only for package verdaccio-memory
|
|
207
|
+
|
|
208
|
+
# [8.5.0](https://github.com/verdaccio/monorepo/compare/v8.4.2...v8.5.0) (2019-12-22)
|
|
209
|
+
|
|
210
|
+
**Note:** Version bump only for package verdaccio-memory
|
|
211
|
+
|
|
212
|
+
## [8.4.2](https://github.com/verdaccio/monorepo/compare/v8.4.1...v8.4.2) (2019-11-23)
|
|
213
|
+
|
|
214
|
+
**Note:** Version bump only for package verdaccio-memory
|
|
215
|
+
|
|
216
|
+
## [8.4.1](https://github.com/verdaccio/monorepo/compare/v8.4.0...v8.4.1) (2019-11-22)
|
|
217
|
+
|
|
218
|
+
**Note:** Version bump only for package verdaccio-memory
|
|
219
|
+
|
|
220
|
+
# [8.4.0](https://github.com/verdaccio/monorepo/compare/v8.3.0...v8.4.0) (2019-11-22)
|
|
221
|
+
|
|
222
|
+
**Note:** Version bump only for package verdaccio-memory
|
|
223
|
+
|
|
224
|
+
# [8.3.0](https://github.com/verdaccio/monorepo/compare/v8.2.0...v8.3.0) (2019-10-27)
|
|
225
|
+
|
|
226
|
+
**Note:** Version bump only for package verdaccio-memory
|
|
227
|
+
|
|
228
|
+
# [8.2.0](https://github.com/verdaccio/monorepo/compare/v8.2.0-next.0...v8.2.0) (2019-10-23)
|
|
229
|
+
|
|
230
|
+
**Note:** Version bump only for package verdaccio-memory
|
|
231
|
+
|
|
232
|
+
# [8.2.0-next.0](https://github.com/verdaccio/monorepo/compare/v8.1.4...v8.2.0-next.0) (2019-10-08)
|
|
233
|
+
|
|
234
|
+
### Bug Fixes
|
|
235
|
+
|
|
236
|
+
- fixed lint errors ([5e677f7](https://github.com/verdaccio/monorepo/commit/5e677f7))
|
|
237
|
+
- fs.exists with other fileSystem alternatives ([#159](https://github.com/verdaccio/monorepo/issues/159)) ([f94e325](https://github.com/verdaccio/monorepo/commit/f94e325))
|
|
238
|
+
|
|
239
|
+
## [8.1.2](https://github.com/verdaccio/monorepo/compare/v8.1.1...v8.1.2) (2019-09-29)
|
|
240
|
+
|
|
241
|
+
**Note:** Version bump only for package verdaccio-memory
|
|
242
|
+
|
|
243
|
+
## [8.1.1](https://github.com/verdaccio/monorepo/compare/v8.1.0...v8.1.1) (2019-09-26)
|
|
244
|
+
|
|
245
|
+
**Note:** Version bump only for package verdaccio-memory
|
|
246
|
+
|
|
247
|
+
# [8.1.0](https://github.com/verdaccio/monorepo/compare/v8.0.1-next.1...v8.1.0) (2019-09-07)
|
|
248
|
+
|
|
249
|
+
### Features
|
|
250
|
+
|
|
251
|
+
- **verdaccio-memory:** update @verdaccio/types and add new required methods ([eba5077](https://github.com/verdaccio/monorepo/commit/eba5077))
|
|
252
|
+
|
|
253
|
+
## [8.0.1-next.1](https://github.com/verdaccio/monorepo/compare/v8.0.1-next.0...v8.0.1-next.1) (2019-08-29)
|
|
254
|
+
|
|
255
|
+
**Note:** Version bump only for package verdaccio-memory
|
|
256
|
+
|
|
257
|
+
## [8.0.1-next.0](https://github.com/verdaccio/monorepo/compare/v8.0.0...v8.0.1-next.0) (2019-08-29)
|
|
258
|
+
|
|
259
|
+
**Note:** Version bump only for package verdaccio-memory
|
|
260
|
+
|
|
261
|
+
# [8.0.0](https://github.com/verdaccio/monorepo/compare/v8.0.0-next.4...v8.0.0) (2019-08-22)
|
|
262
|
+
|
|
263
|
+
**Note:** Version bump only for package verdaccio-memory
|
|
264
|
+
|
|
265
|
+
# [8.0.0-next.4](https://github.com/verdaccio/monorepo/compare/v8.0.0-next.3...v8.0.0-next.4) (2019-08-18)
|
|
266
|
+
|
|
267
|
+
**Note:** Version bump only for package verdaccio-memory
|
|
268
|
+
|
|
269
|
+
# [8.0.0-next.2](https://github.com/verdaccio/monorepo/compare/v8.0.0-next.1...v8.0.0-next.2) (2019-08-03)
|
|
270
|
+
|
|
271
|
+
**Note:** Version bump only for package verdaccio-memory
|
|
272
|
+
|
|
273
|
+
# [8.0.0-next.1](https://github.com/verdaccio/monorepo/compare/v8.0.0-next.0...v8.0.0-next.1) (2019-08-01)
|
|
274
|
+
|
|
275
|
+
**Note:** Version bump only for package verdaccio-memory
|
|
276
|
+
|
|
277
|
+
# [8.0.0-next.0](https://github.com/verdaccio/monorepo/compare/v2.0.0...v8.0.0-next.0) (2019-08-01)
|
|
278
|
+
|
|
279
|
+
### Bug Fixes
|
|
280
|
+
|
|
281
|
+
- issue on package not found ([944e1a5](https://github.com/verdaccio/monorepo/commit/944e1a5))
|
|
282
|
+
- missing params ([9979160](https://github.com/verdaccio/monorepo/commit/9979160))
|
|
283
|
+
- read tarball stream ([bc4bbbb](https://github.com/verdaccio/monorepo/commit/bc4bbbb))
|
|
284
|
+
- update new plugin types flow ([d2e2319](https://github.com/verdaccio/monorepo/commit/d2e2319))
|
|
285
|
+
|
|
286
|
+
### Features
|
|
287
|
+
|
|
288
|
+
- add getSecret support ([0d047f4](https://github.com/verdaccio/monorepo/commit/0d047f4))
|
|
289
|
+
- add limit feature ([9e2fa5c](https://github.com/verdaccio/monorepo/commit/9e2fa5c))
|
|
290
|
+
- drop node v6 ([d0ae9ba](https://github.com/verdaccio/monorepo/commit/d0ae9ba))
|
|
291
|
+
- local database method are async ([f55302b](https://github.com/verdaccio/monorepo/commit/f55302b))
|
|
292
|
+
- migrate to typescript ([c01df36](https://github.com/verdaccio/monorepo/commit/c01df36))
|
|
293
|
+
- node 6 as minimum ([ed81731](https://github.com/verdaccio/monorepo/commit/ed81731))
|
|
294
|
+
- update secret to async ([9bcab19](https://github.com/verdaccio/monorepo/commit/9bcab19))
|
|
295
|
+
|
|
296
|
+
# Change Log
|
|
297
|
+
|
|
298
|
+
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.
|
|
299
|
+
|
|
300
|
+
# [2.0.0](https://github.com/verdaccio/verdaccio-memory/compare/v2.0.0-beta.0...v2.0.0) (2019-03-29)
|
|
301
|
+
|
|
302
|
+
### Features
|
|
303
|
+
|
|
304
|
+
- drop node v6 ([227fe18](https://github.com/verdaccio/verdaccio-memory/commit/227fe18))
|
|
305
|
+
|
|
306
|
+
<a name="2.0.0-beta.0"></a>
|
|
307
|
+
|
|
308
|
+
# [2.0.0-beta.0](https://github.com/verdaccio/verdaccio-memory/compare/v1.0.3...v2.0.0-beta.0) (2019-01-27)
|
|
309
|
+
|
|
310
|
+
### Bug Fixes
|
|
311
|
+
|
|
312
|
+
- **deps:** update dependency http-errors to v1.7.0 ([0067759](https://github.com/verdaccio/verdaccio-memory/commit/0067759))
|
|
313
|
+
|
|
314
|
+
### Features
|
|
315
|
+
|
|
316
|
+
- migrate to typescript ([c7a8507](https://github.com/verdaccio/verdaccio-memory/commit/c7a8507))
|
|
317
|
+
|
|
318
|
+
<a name="1.0.3"></a>
|
|
319
|
+
|
|
320
|
+
## [1.0.3](https://github.com/verdaccio/verdaccio-memory/compare/v1.0.2...v1.0.3) (2018-07-15)
|
|
321
|
+
|
|
322
|
+
### Bug Fixes
|
|
323
|
+
|
|
324
|
+
- update new plugin types flow ([b0c5398](https://github.com/verdaccio/verdaccio-memory/commit/b0c5398))
|
|
325
|
+
|
|
326
|
+
<a name="1.0.2"></a>
|
|
327
|
+
|
|
328
|
+
## [1.0.2](https://github.com/verdaccio/verdaccio-memory/compare/v1.0.1...v1.0.2) (2018-07-15)
|
package/README.md
CHANGED
|
@@ -9,7 +9,6 @@
|
|
|
9
9
|

|
|
10
10
|
[](https://www.npmjs.com/package/verdaccio-memory)
|
|
11
11
|
|
|
12
|
-
|
|
13
12
|
A memory based **storage plugin**.
|
|
14
13
|
|
|
15
14
|
```
|
|
@@ -18,7 +17,7 @@ A memory based **storage plugin**.
|
|
|
18
17
|
|
|
19
18
|
### Requirements
|
|
20
19
|
|
|
21
|
-
|
|
20
|
+
> `verdaccio@3.0.0` or `verdaccio@4.x`
|
|
22
21
|
|
|
23
22
|
```
|
|
24
23
|
npm install -g verdaccio
|
package/{lib → build}/index.d.ts
RENAMED
|
File without changes
|
package/{lib → build}/index.js
RENAMED
|
File without changes
|
|
File without changes
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Logger, Callback, Config, IPluginStorage, Token,
|
|
1
|
+
import { Logger, Callback, Config, IPluginStorage, Token, PluginOptions } from '@verdaccio/types';
|
|
2
2
|
import MemoryHandler, { DataHandler } from './memory-handler';
|
|
3
3
|
export declare type ConfigMemory = Config & {
|
|
4
4
|
limit?: number;
|
|
@@ -15,16 +15,17 @@ declare class LocalMemory implements IPluginStorage<ConfigMemory> {
|
|
|
15
15
|
private data;
|
|
16
16
|
config: ConfigMemory;
|
|
17
17
|
constructor(config: ConfigMemory, options: PluginOptions<ConfigMemory>);
|
|
18
|
+
init(): Promise<void>;
|
|
18
19
|
getSecret(): Promise<string>;
|
|
19
20
|
setSecret(secret: string): Promise<string | null>;
|
|
20
|
-
add(name: string
|
|
21
|
-
search(onPackage: Callback, onEnd: Callback
|
|
22
|
-
remove(name: string
|
|
23
|
-
get(
|
|
21
|
+
add(name: string): Promise<void>;
|
|
22
|
+
search(onPackage: Callback, onEnd: Callback): void;
|
|
23
|
+
remove(name: string): Promise<void>;
|
|
24
|
+
get(): Promise<any>;
|
|
24
25
|
getPackageStorage(packageInfo: string): MemoryHandler;
|
|
25
26
|
private _createEmtpyDatabase;
|
|
26
|
-
saveToken(
|
|
27
|
+
saveToken(): Promise<void>;
|
|
27
28
|
deleteToken(user: string, tokenKey: string): Promise<void>;
|
|
28
|
-
readTokens(
|
|
29
|
+
readTokens(): Promise<Token[]>;
|
|
29
30
|
}
|
|
30
31
|
export default LocalMemory;
|
|
@@ -5,7 +5,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _core = require("@verdaccio/core");
|
|
9
|
+
|
|
10
|
+
var _debug = _interopRequireDefault(require("debug"));
|
|
9
11
|
|
|
10
12
|
var _memoryHandler = _interopRequireDefault(require("./memory-handler"));
|
|
11
13
|
|
|
@@ -13,6 +15,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
13
15
|
|
|
14
16
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
15
17
|
|
|
18
|
+
const debug = (0, _debug.default)('verdaccio:plugin:storage:local-memory');
|
|
16
19
|
const DEFAULT_LIMIT = 1000;
|
|
17
20
|
|
|
18
21
|
class LocalMemory {
|
|
@@ -32,6 +35,11 @@ class LocalMemory {
|
|
|
32
35
|
this.logger = options.logger;
|
|
33
36
|
this.data = this._createEmtpyDatabase();
|
|
34
37
|
this.path = '/';
|
|
38
|
+
debug('start plugin');
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
init() {
|
|
42
|
+
return Promise.resolve();
|
|
35
43
|
}
|
|
36
44
|
|
|
37
45
|
getSecret() {
|
|
@@ -45,46 +53,53 @@ class LocalMemory {
|
|
|
45
53
|
});
|
|
46
54
|
}
|
|
47
55
|
|
|
48
|
-
add(name
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
if (list.
|
|
55
|
-
list.
|
|
56
|
+
async add(name) {
|
|
57
|
+
return new Promise((resolve, reject) => {
|
|
58
|
+
const {
|
|
59
|
+
list
|
|
60
|
+
} = this.data;
|
|
61
|
+
|
|
62
|
+
if (list.length < this.limit) {
|
|
63
|
+
if (list.indexOf(name) === -1) {
|
|
64
|
+
list.push(name);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
resolve();
|
|
68
|
+
} else {
|
|
69
|
+
this.logger.info({
|
|
70
|
+
limit: this.limit
|
|
71
|
+
}, 'Storage memory has reached limit of @{limit} packages');
|
|
72
|
+
reject(new Error('Storage memory has reached limit of limit packages'));
|
|
56
73
|
}
|
|
57
|
-
|
|
58
|
-
cb(null);
|
|
59
|
-
} else {
|
|
60
|
-
this.logger.info({
|
|
61
|
-
limit: this.limit
|
|
62
|
-
}, 'Storage memory has reached limit of @{limit} packages');
|
|
63
|
-
cb(new Error('Storage memory has reached limit of limit packages'));
|
|
64
|
-
}
|
|
74
|
+
});
|
|
65
75
|
} // eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
66
76
|
|
|
67
77
|
|
|
68
|
-
search(onPackage, onEnd
|
|
78
|
+
search(onPackage, onEnd) {
|
|
69
79
|
this.logger.warn('[verdaccio/memory]: search method not implemented, PR is welcome');
|
|
70
80
|
onEnd();
|
|
71
81
|
}
|
|
72
82
|
|
|
73
|
-
remove(name
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
83
|
+
async remove(name) {
|
|
84
|
+
return new Promise(resolve => {
|
|
85
|
+
const {
|
|
86
|
+
list
|
|
87
|
+
} = this.data;
|
|
88
|
+
const item = list.indexOf(name);
|
|
78
89
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
90
|
+
if (item !== -1) {
|
|
91
|
+
list.splice(item, 1);
|
|
92
|
+
}
|
|
82
93
|
|
|
83
|
-
|
|
94
|
+
return resolve();
|
|
95
|
+
});
|
|
84
96
|
}
|
|
85
97
|
|
|
86
|
-
get(
|
|
87
|
-
|
|
98
|
+
async get() {
|
|
99
|
+
var _this$data, _this$data$list, _this$data2;
|
|
100
|
+
|
|
101
|
+
debug('data list length %o', (_this$data = this.data) === null || _this$data === void 0 ? void 0 : (_this$data$list = _this$data.list) === null || _this$data$list === void 0 ? void 0 : _this$data$list.length);
|
|
102
|
+
return Promise.resolve((_this$data2 = this.data) === null || _this$data2 === void 0 ? void 0 : _this$data2.list);
|
|
88
103
|
}
|
|
89
104
|
|
|
90
105
|
getPackageStorage(packageInfo) {
|
|
@@ -102,9 +117,9 @@ class LocalMemory {
|
|
|
102
117
|
return emptyDatabase;
|
|
103
118
|
}
|
|
104
119
|
|
|
105
|
-
saveToken(
|
|
120
|
+
saveToken() {
|
|
106
121
|
this.logger.warn('[verdaccio/memory][saveToken] save token has not been implemented yet');
|
|
107
|
-
return Promise.reject(
|
|
122
|
+
return Promise.reject(_core.errorUtils.getServiceUnavailable('method not implemented'));
|
|
108
123
|
}
|
|
109
124
|
|
|
110
125
|
deleteToken(user, tokenKey) {
|
|
@@ -112,12 +127,12 @@ class LocalMemory {
|
|
|
112
127
|
tokenKey,
|
|
113
128
|
user
|
|
114
129
|
}, '[verdaccio/memory][deleteToken] delete token has not been implemented yet @{user}');
|
|
115
|
-
return Promise.reject(
|
|
130
|
+
return Promise.reject(_core.errorUtils.getServiceUnavailable('method not implemented'));
|
|
116
131
|
}
|
|
117
132
|
|
|
118
|
-
readTokens(
|
|
133
|
+
readTokens() {
|
|
119
134
|
this.logger.warn('[verdaccio/memory][readTokens] read tokens has not been implemented yet ');
|
|
120
|
-
return Promise.reject(
|
|
135
|
+
return Promise.reject(_core.errorUtils.getServiceUnavailable('method not implemented'));
|
|
121
136
|
}
|
|
122
137
|
|
|
123
138
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/local-memory.ts"],"names":["debug","DEFAULT_LIMIT","LocalMemory","constructor","config","options","limit","logger","data","_createEmtpyDatabase","path","init","Promise","resolve","getSecret","secret","setSecret","add","name","reject","list","length","indexOf","push","info","Error","search","onPackage","onEnd","warn","remove","item","splice","get","getPackageStorage","packageInfo","MemoryHandler","files","emptyDatabase","saveToken","errorUtils","getServiceUnavailable","deleteToken","user","tokenKey","readTokens"],"mappings":"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","sourcesContent":["import { errorUtils } from '@verdaccio/core';\nimport { Logger, Callback, Config, IPluginStorage, Token, PluginOptions } from '@verdaccio/types';\nimport buildDebug from 'debug';\n\nimport MemoryHandler, { DataHandler } from './memory-handler';\n\nexport type ConfigMemory = Config & { limit?: number };\nexport interface MemoryLocalStorage {\n secret: string;\n list: string[];\n files: DataHandler;\n}\n\nconst debug = buildDebug('verdaccio:plugin:storage:local-memory');\n\nconst DEFAULT_LIMIT = 1000;\nclass LocalMemory implements IPluginStorage<ConfigMemory> {\n private path: string;\n private limit: number;\n public logger: Logger;\n private data: MemoryLocalStorage;\n public config: ConfigMemory;\n\n public constructor(config: ConfigMemory, options: PluginOptions<ConfigMemory>) {\n this.config = config;\n this.limit = config.limit || DEFAULT_LIMIT;\n this.logger = options.logger;\n this.data = this._createEmtpyDatabase();\n this.path = '/';\n debug('start plugin');\n }\n\n public init() {\n return Promise.resolve();\n }\n\n public getSecret(): Promise<string> {\n return Promise.resolve(this.data.secret);\n }\n\n public setSecret(secret: string): Promise<string | null> {\n return new Promise((resolve): void => {\n this.data.secret = secret;\n resolve(null);\n });\n }\n\n async add(name: string): Promise<void> {\n return new Promise((resolve, reject): void => {\n const { list } = this.data;\n\n if (list.length < this.limit) {\n if (list.indexOf(name) === -1) {\n list.push(name);\n }\n resolve();\n } else {\n this.logger.info(\n { limit: this.limit },\n 'Storage memory has reached limit of @{limit} packages'\n );\n reject(new Error('Storage memory has reached limit of limit packages'));\n }\n });\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n public search(onPackage: Callback, onEnd: Callback): void {\n this.logger.warn('[verdaccio/memory]: search method not implemented, PR is welcome');\n onEnd();\n }\n\n async remove(name: string): Promise<void> {\n return new Promise((resolve): void => {\n const { list } = this.data;\n const item = list.indexOf(name);\n\n if (item !== -1) {\n list.splice(item, 1);\n }\n\n return resolve();\n });\n }\n\n async get(): Promise<any> {\n debug('data list length %o', this.data?.list?.length);\n return Promise.resolve(this.data?.list);\n }\n\n public getPackageStorage(packageInfo: string): MemoryHandler {\n return new MemoryHandler(packageInfo, this.data.files, this.logger);\n }\n\n private _createEmtpyDatabase(): MemoryLocalStorage {\n const list: string[] = [];\n const files = {};\n const emptyDatabase = {\n list,\n files,\n secret: '',\n };\n\n return emptyDatabase;\n }\n\n public saveToken(): Promise<void> {\n this.logger.warn('[verdaccio/memory][saveToken] save token has not been implemented yet');\n\n return Promise.reject(errorUtils.getServiceUnavailable('method not implemented'));\n }\n\n public deleteToken(user: string, tokenKey: string): Promise<void> {\n this.logger.warn(\n { tokenKey, user },\n '[verdaccio/memory][deleteToken] delete token has not been implemented yet @{user}'\n );\n\n return Promise.reject(errorUtils.getServiceUnavailable('method not implemented'));\n }\n\n public readTokens(): Promise<Token[]> {\n this.logger.warn('[verdaccio/memory][readTokens] read tokens has not been implemented yet ');\n\n return Promise.reject(errorUtils.getServiceUnavailable('method not implemented'));\n }\n}\n\nexport default LocalMemory;\n"],"file":"local-memory.js"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Logger, IPackageStorageManager, IUploadTarball, IReadTarball, CallbackAction, StorageUpdateCallback, StorageWriteCallback, PackageTransformer, Package, ReadPackageCallback } from '@verdaccio/types';
|
|
2
2
|
export declare type DataHandler = {
|
|
3
3
|
[key: string]: string;
|
|
4
4
|
};
|
|
@@ -9,8 +9,8 @@ declare class MemoryHandler implements IPackageStorageManager {
|
|
|
9
9
|
logger: Logger;
|
|
10
10
|
constructor(packageName: string, data: DataHandler, logger: Logger);
|
|
11
11
|
updatePackage(pkgFileName: string, updateHandler: StorageUpdateCallback, onWrite: StorageWriteCallback, transformPackage: PackageTransformer, onEnd: CallbackAction): void;
|
|
12
|
-
deletePackage(pkgName: string
|
|
13
|
-
removePackage(
|
|
12
|
+
deletePackage(pkgName: string): Promise<void>;
|
|
13
|
+
removePackage(): Promise<void>;
|
|
14
14
|
createPackage(name: string, value: Package, cb: CallbackAction): void;
|
|
15
15
|
savePackage(name: string, value: Package, cb: CallbackAction): void;
|
|
16
16
|
readPackage(name: string, cb: ReadPackageCallback): void;
|