@verdaccio/store 7.0.0-next-7.20 → 7.0.0-next-8.21
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 +20 -0
- package/build/local-storage.js +1 -1
- package/build/local-storage.js.map +1 -1
- package/build/storage.d.ts +1 -1
- package/build/storage.js +21 -22
- package/build/storage.js.map +1 -1
- package/package.json +13 -13
- package/src/local-storage.ts +3 -2
- package/src/storage.ts +22 -21
- package/test/search.spec.ts +2 -2
- package/test/storage.spec.ts +48 -48
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@verdaccio/store",
|
|
3
|
-
"version": "7.0.0-next-
|
|
3
|
+
"version": "7.0.0-next-8.21",
|
|
4
4
|
"description": "loaders logic",
|
|
5
5
|
"main": "./build/index.js",
|
|
6
6
|
"types": "build/index.d.ts",
|
|
@@ -29,19 +29,19 @@
|
|
|
29
29
|
"node": ">=18"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@verdaccio/config": "7.0.0-next-
|
|
33
|
-
"@verdaccio/core": "7.0.0-next-
|
|
34
|
-
"@verdaccio/hooks": "7.0.0-next-
|
|
35
|
-
"@verdaccio/loaders": "7.0.0-next-
|
|
36
|
-
"@verdaccio/local-storage": "12.0.0-next-
|
|
37
|
-
"@verdaccio/logger": "7.0.0-next-
|
|
38
|
-
"@verdaccio/proxy": "7.0.0-next-
|
|
39
|
-
"@verdaccio/search": "7.0.0-next-
|
|
40
|
-
"@verdaccio/tarball": "12.0.0-next-
|
|
41
|
-
"@verdaccio/url": "12.0.0-next-
|
|
42
|
-
"@verdaccio/utils": "7.0.0-next-
|
|
32
|
+
"@verdaccio/config": "7.0.0-next-8.21",
|
|
33
|
+
"@verdaccio/core": "7.0.0-next-8.21",
|
|
34
|
+
"@verdaccio/hooks": "7.0.0-next-8.21",
|
|
35
|
+
"@verdaccio/loaders": "7.0.0-next-8.21",
|
|
36
|
+
"@verdaccio/local-storage": "12.0.0-next-8.21",
|
|
37
|
+
"@verdaccio/logger": "7.0.0-next-8.21",
|
|
38
|
+
"@verdaccio/proxy": "7.0.0-next-8.21",
|
|
39
|
+
"@verdaccio/search": "7.0.0-next-8.10",
|
|
40
|
+
"@verdaccio/tarball": "12.0.0-next-8.21",
|
|
41
|
+
"@verdaccio/url": "12.0.0-next-8.21",
|
|
42
|
+
"@verdaccio/utils": "7.0.0-next-8.21",
|
|
43
43
|
"JSONStream": "1.3.5",
|
|
44
|
-
"debug": "4.3.
|
|
44
|
+
"debug": "4.3.6",
|
|
45
45
|
"lodash": "4.17.21",
|
|
46
46
|
"merge2": "1.4.1",
|
|
47
47
|
"semver": "7.6.3"
|
package/src/local-storage.ts
CHANGED
|
@@ -2,7 +2,7 @@ import assert from 'assert';
|
|
|
2
2
|
import buildDebug from 'debug';
|
|
3
3
|
import _ from 'lodash';
|
|
4
4
|
|
|
5
|
-
import { errorUtils, pluginUtils } from '@verdaccio/core';
|
|
5
|
+
import { PLUGIN_CATEGORY, errorUtils, pluginUtils } from '@verdaccio/core';
|
|
6
6
|
import { asyncLoadPlugin } from '@verdaccio/loaders';
|
|
7
7
|
import LocalDatabase from '@verdaccio/local-storage';
|
|
8
8
|
import { Config, Logger } from '@verdaccio/types';
|
|
@@ -75,7 +75,8 @@ class LocalStorage {
|
|
|
75
75
|
(plugin) => {
|
|
76
76
|
return typeof plugin.getPackageStorage !== 'undefined';
|
|
77
77
|
},
|
|
78
|
-
this.config?.serverSettings?.pluginPrefix
|
|
78
|
+
this.config?.serverSettings?.pluginPrefix,
|
|
79
|
+
PLUGIN_CATEGORY.STORAGE
|
|
79
80
|
);
|
|
80
81
|
|
|
81
82
|
if (plugins.length > 1) {
|
package/src/storage.ts
CHANGED
|
@@ -15,6 +15,7 @@ import {
|
|
|
15
15
|
HEADER_TYPE,
|
|
16
16
|
HTTP_STATUS,
|
|
17
17
|
MAINTAINERS,
|
|
18
|
+
PLUGIN_CATEGORY,
|
|
18
19
|
SUPPORT_ERRORS,
|
|
19
20
|
USERS,
|
|
20
21
|
errorUtils,
|
|
@@ -24,7 +25,6 @@ import {
|
|
|
24
25
|
validatioUtils,
|
|
25
26
|
} from '@verdaccio/core';
|
|
26
27
|
import { asyncLoadPlugin } from '@verdaccio/loaders';
|
|
27
|
-
import { logger } from '@verdaccio/logger';
|
|
28
28
|
import {
|
|
29
29
|
IProxy,
|
|
30
30
|
ISyncUplinksOptions,
|
|
@@ -101,7 +101,7 @@ class Storage {
|
|
|
101
101
|
public readonly logger: Logger;
|
|
102
102
|
public readonly uplinks: ProxyInstanceList;
|
|
103
103
|
private searchService: Search;
|
|
104
|
-
public constructor(config: Config) {
|
|
104
|
+
public constructor(config: Config, logger: Logger) {
|
|
105
105
|
this.config = config;
|
|
106
106
|
this.logger = logger.child({ module: 'storage' });
|
|
107
107
|
this.uplinks = setupUpLinks(config, this.logger);
|
|
@@ -501,7 +501,7 @@ class Storage {
|
|
|
501
501
|
try {
|
|
502
502
|
await this.checkAllowedToChangePackage(manifest, options.requestOptions.username);
|
|
503
503
|
} catch (error: any) {
|
|
504
|
-
logger.error({ error: error.message }, 'getting package has failed: @{error}');
|
|
504
|
+
this.logger.error({ error: error.message }, 'getting package has failed: @{error}');
|
|
505
505
|
throw errorUtils.getBadRequest(error.message);
|
|
506
506
|
}
|
|
507
507
|
}
|
|
@@ -647,7 +647,7 @@ class Storage {
|
|
|
647
647
|
*/
|
|
648
648
|
public async init(config: Config): Promise<void> {
|
|
649
649
|
if (this.localStorage === null) {
|
|
650
|
-
this.localStorage = new LocalStorage(this.config, logger);
|
|
650
|
+
this.localStorage = new LocalStorage(this.config, this.logger);
|
|
651
651
|
await this.localStorage.init();
|
|
652
652
|
debug('local init storage initialized');
|
|
653
653
|
await this.localStorage.getSecret(config);
|
|
@@ -665,7 +665,8 @@ class Storage {
|
|
|
665
665
|
(plugin: pluginUtils.ManifestFilter<Config>) => {
|
|
666
666
|
return typeof plugin.filter_metadata !== 'undefined';
|
|
667
667
|
},
|
|
668
|
-
this.config?.serverSettings?.pluginPrefix
|
|
668
|
+
this.config?.serverSettings?.pluginPrefix,
|
|
669
|
+
PLUGIN_CATEGORY.FILTER
|
|
669
670
|
);
|
|
670
671
|
debug('filters available %o', this.filters.length);
|
|
671
672
|
}
|
|
@@ -713,13 +714,13 @@ class Storage {
|
|
|
713
714
|
return results;
|
|
714
715
|
}
|
|
715
716
|
|
|
716
|
-
logger.info(
|
|
717
|
+
this.logger.info(
|
|
717
718
|
{ t: query.text, q: query.quality, p: query.popularity, m: query.maintenance, s: query.size },
|
|
718
719
|
'search by text @{t}| maintenance @{m}| quality @{q}| popularity @{p}'
|
|
719
720
|
);
|
|
720
721
|
|
|
721
722
|
if (typeof this.localStorage.getStoragePlugin().search === 'undefined') {
|
|
722
|
-
logger.info('plugin search not implemented yet');
|
|
723
|
+
this.logger.info('plugin search not implemented yet');
|
|
723
724
|
} else {
|
|
724
725
|
debug('search on each package by plugin query');
|
|
725
726
|
const items = await this.localStorage.getStoragePlugin().search(query);
|
|
@@ -768,10 +769,10 @@ class Storage {
|
|
|
768
769
|
manifest = normalizePackage(manifest);
|
|
769
770
|
} catch (err: any) {
|
|
770
771
|
if (err.code === STORAGE.NO_SUCH_FILE_ERROR || err.code === HTTP_STATUS.NOT_FOUND) {
|
|
771
|
-
logger.info({ pkgName, revision }, 'package not found');
|
|
772
|
+
this.logger.info({ pkgName, revision }, 'package not found');
|
|
772
773
|
throw errorUtils.getNotFound();
|
|
773
774
|
}
|
|
774
|
-
logger.error(
|
|
775
|
+
this.logger.error(
|
|
775
776
|
{ pkgName, revision, err: err.message },
|
|
776
777
|
'error @{err} while reading package @{pkgName}-{revision}'
|
|
777
778
|
);
|
|
@@ -790,7 +791,7 @@ class Storage {
|
|
|
790
791
|
for (let attachment of attachments) {
|
|
791
792
|
debug('remove attachment %s', attachment);
|
|
792
793
|
await storage.deletePackage(attachment);
|
|
793
|
-
logger.info({ attachment }, 'attachment @{attachment} removed');
|
|
794
|
+
this.logger.info({ attachment }, 'attachment @{attachment} removed');
|
|
794
795
|
}
|
|
795
796
|
// remove package.json
|
|
796
797
|
debug('remove package.json');
|
|
@@ -798,7 +799,7 @@ class Storage {
|
|
|
798
799
|
// remove folder
|
|
799
800
|
debug('remove package folder');
|
|
800
801
|
await storage.removePackage();
|
|
801
|
-
logger.info({ pkgName }, 'package @{pkgName} removed');
|
|
802
|
+
this.logger.info({ pkgName }, 'package @{pkgName} removed');
|
|
802
803
|
} catch (err: any) {
|
|
803
804
|
this.logger.error({ err }, 'removed package has failed @{err.message}');
|
|
804
805
|
throw errorUtils.getBadData(err.message);
|
|
@@ -897,7 +898,7 @@ class Storage {
|
|
|
897
898
|
cache: true,
|
|
898
899
|
},
|
|
899
900
|
this.config,
|
|
900
|
-
logger
|
|
901
|
+
this.logger
|
|
901
902
|
);
|
|
902
903
|
}
|
|
903
904
|
return uplink;
|
|
@@ -944,14 +945,14 @@ class Storage {
|
|
|
944
945
|
try {
|
|
945
946
|
const { name } = mergedManifest;
|
|
946
947
|
await this.notify(mergedManifest, `${name}@${version}`);
|
|
947
|
-
logger.info({ name, version }, 'notify for @{name}@@{version} has been sent');
|
|
948
|
+
this.logger.info({ name, version }, 'notify for @{name}@@{version} has been sent');
|
|
948
949
|
} catch (error: any) {
|
|
949
|
-
logger.error({ error: error.message }, 'notify batch service has failed: @{error}');
|
|
950
|
+
this.logger.error({ error: error.message }, 'notify batch service has failed: @{error}');
|
|
950
951
|
}
|
|
951
952
|
return message;
|
|
952
953
|
} else {
|
|
953
954
|
debug('invalid body format');
|
|
954
|
-
logger.warn(
|
|
955
|
+
this.logger.warn(
|
|
955
956
|
{ packageName: options.name },
|
|
956
957
|
`wrong package format on publish a package @{packageName}`
|
|
957
958
|
);
|
|
@@ -1146,7 +1147,7 @@ class Storage {
|
|
|
1146
1147
|
}
|
|
1147
1148
|
} catch (err: any) {
|
|
1148
1149
|
debug('error on change or update a package with %o', err.message);
|
|
1149
|
-
logger.error({ err: err.message }, 'error on publish new version: @{err}');
|
|
1150
|
+
this.logger.error({ err: err.message }, 'error on publish new version: @{err}');
|
|
1150
1151
|
throw err;
|
|
1151
1152
|
}
|
|
1152
1153
|
|
|
@@ -1161,7 +1162,7 @@ class Storage {
|
|
|
1161
1162
|
// addVersion will move the readme from the the published version to the root level
|
|
1162
1163
|
await this.addVersion(name, versionToPublish, versions[versionToPublish], null, tarballStats);
|
|
1163
1164
|
} catch (err: any) {
|
|
1164
|
-
logger.error({ err: err.message }, 'updated version has failed: @{err}');
|
|
1165
|
+
this.logger.error({ err: err.message }, 'updated version has failed: @{err}');
|
|
1165
1166
|
debug('error on create a version for %o with error %o', name, err.message);
|
|
1166
1167
|
throw err;
|
|
1167
1168
|
}
|
|
@@ -1176,7 +1177,7 @@ class Storage {
|
|
|
1176
1177
|
// 4. update once to the storage (easy peasy)
|
|
1177
1178
|
mergedManifest = await this.mergeTagsNext(name, manifest[DIST_TAGS]);
|
|
1178
1179
|
} catch (err: any) {
|
|
1179
|
-
logger.error({ err: err.message }, 'merge version has failed: @{err}');
|
|
1180
|
+
this.logger.error({ err: err.message }, 'merge version has failed: @{err}');
|
|
1180
1181
|
debug('error on create a version for %o with error %o', name, err.message);
|
|
1181
1182
|
// TODO: undo if this fails
|
|
1182
1183
|
// 1. remove updated version
|
|
@@ -1190,14 +1191,14 @@ class Storage {
|
|
|
1190
1191
|
signal: options.signal,
|
|
1191
1192
|
});
|
|
1192
1193
|
} catch (err: any) {
|
|
1193
|
-
logger.error({ err: err.message }, 'upload tarball has failed: @{err}');
|
|
1194
|
+
this.logger.error({ err: err.message }, 'upload tarball has failed: @{err}');
|
|
1194
1195
|
// TODO: undo if this fails
|
|
1195
1196
|
// 1. remove updated version
|
|
1196
1197
|
// 2. remove new dist tags
|
|
1197
1198
|
throw err;
|
|
1198
1199
|
}
|
|
1199
1200
|
|
|
1200
|
-
logger.info(
|
|
1201
|
+
this.logger.info(
|
|
1201
1202
|
{ name, version: versionToPublish },
|
|
1202
1203
|
'package @{name}@@{version} has been published'
|
|
1203
1204
|
);
|
|
@@ -2028,7 +2029,7 @@ class Storage {
|
|
|
2028
2029
|
manifest.maintainers.length > 0 &&
|
|
2029
2030
|
!manifest.maintainers.some((maintainer) => maintainer.name === username)
|
|
2030
2031
|
) {
|
|
2031
|
-
logger.error({ username }, '@{username} is not a maintainer (package owner)');
|
|
2032
|
+
this.logger.error({ username }, '@{username} is not a maintainer (package owner)');
|
|
2032
2033
|
throw Error('only owners are allowed to change package');
|
|
2033
2034
|
}
|
|
2034
2035
|
}
|
package/test/search.spec.ts
CHANGED
|
@@ -8,7 +8,7 @@ import { generatePackageMetadata } from '@verdaccio/test-helper';
|
|
|
8
8
|
|
|
9
9
|
import { Storage } from '../src';
|
|
10
10
|
|
|
11
|
-
setup({});
|
|
11
|
+
const logger = setup({});
|
|
12
12
|
|
|
13
13
|
describe('search', () => {
|
|
14
14
|
describe('search manager utils', () => {
|
|
@@ -39,7 +39,7 @@ describe('search', () => {
|
|
|
39
39
|
...getDefaultConfig(),
|
|
40
40
|
storage: await fileUtils.createTempStorageFolder('fix-1'),
|
|
41
41
|
});
|
|
42
|
-
const storage = new Storage(config);
|
|
42
|
+
const storage = new Storage(config, logger);
|
|
43
43
|
await storage.init(config);
|
|
44
44
|
const abort = new AbortController();
|
|
45
45
|
const pkgName = 'verdaccio';
|
package/test/storage.spec.ts
CHANGED
|
@@ -44,7 +44,7 @@ function generateRandomStorage() {
|
|
|
44
44
|
return path.join(tempRoot, tempStorage);
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
-
setup({ type: 'stdout', format: 'pretty', level: 'trace' });
|
|
47
|
+
const logger = setup({ type: 'stdout', format: 'pretty', level: 'trace' });
|
|
48
48
|
|
|
49
49
|
const domain = 'https://registry.npmjs.org';
|
|
50
50
|
const fakeHost = 'localhost:4873';
|
|
@@ -149,7 +149,7 @@ describe('storage', () => {
|
|
|
149
149
|
__dirname
|
|
150
150
|
)
|
|
151
151
|
);
|
|
152
|
-
const storage = new Storage(config);
|
|
152
|
+
const storage = new Storage(config, logger);
|
|
153
153
|
await storage.init(config);
|
|
154
154
|
const bodyNewManifest = generatePackageMetadata(pkgName, '1.0.0');
|
|
155
155
|
await storage.updateManifest(bodyNewManifest, {
|
|
@@ -194,7 +194,7 @@ describe('storage', () => {
|
|
|
194
194
|
__dirname
|
|
195
195
|
)
|
|
196
196
|
);
|
|
197
|
-
const storage = new Storage(config);
|
|
197
|
+
const storage = new Storage(config, logger);
|
|
198
198
|
await storage.init(config);
|
|
199
199
|
const ac = new AbortController();
|
|
200
200
|
setTimeout(() => {
|
|
@@ -239,7 +239,7 @@ describe('storage', () => {
|
|
|
239
239
|
__dirname
|
|
240
240
|
)
|
|
241
241
|
);
|
|
242
|
-
const storage = new Storage(config);
|
|
242
|
+
const storage = new Storage(config, logger);
|
|
243
243
|
await storage.init(config);
|
|
244
244
|
// create a package
|
|
245
245
|
const bodyNewManifest1 = generatePackageMetadata(pkgName, '1.0.0');
|
|
@@ -328,7 +328,7 @@ describe('storage', () => {
|
|
|
328
328
|
__dirname
|
|
329
329
|
)
|
|
330
330
|
);
|
|
331
|
-
const storage = new Storage(config);
|
|
331
|
+
const storage = new Storage(config, logger);
|
|
332
332
|
await storage.init(config);
|
|
333
333
|
const bodyNewManifest1 = generatePackageMetadata(pkgName, '1.0.0');
|
|
334
334
|
const bodyNewManifest2 = generatePackageMetadata(pkgName, '1.0.0');
|
|
@@ -365,7 +365,7 @@ describe('storage', () => {
|
|
|
365
365
|
__dirname
|
|
366
366
|
)
|
|
367
367
|
);
|
|
368
|
-
const storage = new Storage(config);
|
|
368
|
+
const storage = new Storage(config, logger);
|
|
369
369
|
await storage.init(config);
|
|
370
370
|
const bodyNewManifest = generatePackageMetadata(pkgName, '1.0.0');
|
|
371
371
|
|
|
@@ -395,7 +395,7 @@ describe('storage', () => {
|
|
|
395
395
|
const mockDate = '2018-01-14T11:17:40.712Z';
|
|
396
396
|
MockDate.set(mockDate);
|
|
397
397
|
const config = getConfig('deprecate.yaml');
|
|
398
|
-
const storage = new Storage(config);
|
|
398
|
+
const storage = new Storage(config, logger);
|
|
399
399
|
await storage.init(config);
|
|
400
400
|
const bodyNewManifest = generatePackageMetadata(pkgName, '1.0.0');
|
|
401
401
|
await storage.updateManifest(bodyNewManifest, {
|
|
@@ -442,7 +442,7 @@ describe('storage', () => {
|
|
|
442
442
|
const mockDate = '2018-01-14T11:17:40.712Z';
|
|
443
443
|
MockDate.set(mockDate);
|
|
444
444
|
const config = getConfig('deprecate.yaml');
|
|
445
|
-
const storage = new Storage(config);
|
|
445
|
+
const storage = new Storage(config, logger);
|
|
446
446
|
await storage.init(config);
|
|
447
447
|
// publish new package
|
|
448
448
|
const bodyNewManifest = generatePackageMetadata(pkgName, '1.0.0');
|
|
@@ -516,7 +516,7 @@ describe('storage', () => {
|
|
|
516
516
|
describe('star', () => {
|
|
517
517
|
test.each([['foo']])('star package %s', async (pkgName) => {
|
|
518
518
|
const config = getConfig('deprecate.yaml');
|
|
519
|
-
const storage = new Storage(config);
|
|
519
|
+
const storage = new Storage(config, logger);
|
|
520
520
|
await storage.init(config);
|
|
521
521
|
const bodyNewManifest = generatePackageMetadata(pkgName, '1.0.0');
|
|
522
522
|
await storage.updateManifest(bodyNewManifest, {
|
|
@@ -549,7 +549,7 @@ describe('storage', () => {
|
|
|
549
549
|
const mockDate = '2018-01-14T11:17:40.712Z';
|
|
550
550
|
MockDate.set(mockDate);
|
|
551
551
|
const config = getConfig('deprecate.yaml');
|
|
552
|
-
const storage = new Storage(config);
|
|
552
|
+
const storage = new Storage(config, logger);
|
|
553
553
|
await storage.init(config);
|
|
554
554
|
const bodyNewManifest = generatePackageMetadata(pkgName, '1.0.0');
|
|
555
555
|
await storage.updateManifest(bodyNewManifest, {
|
|
@@ -591,7 +591,7 @@ describe('storage', () => {
|
|
|
591
591
|
const mockDate = '2018-01-14T11:17:40.712Z';
|
|
592
592
|
MockDate.set(mockDate);
|
|
593
593
|
const config = getConfig('deprecate.yaml');
|
|
594
|
-
const storage = new Storage(config);
|
|
594
|
+
const storage = new Storage(config, logger);
|
|
595
595
|
await storage.init(config);
|
|
596
596
|
const bodyNewManifest = generatePackageMetadata(pkgName, '1.0.0');
|
|
597
597
|
await storage.updateManifest(bodyNewManifest, {
|
|
@@ -630,7 +630,7 @@ describe('storage', () => {
|
|
|
630
630
|
|
|
631
631
|
test.each([['foo']])('should unstar a package %s', async (pkgName) => {
|
|
632
632
|
const config = getConfig('deprecate.yaml');
|
|
633
|
-
const storage = new Storage(config);
|
|
633
|
+
const storage = new Storage(config, logger);
|
|
634
634
|
await storage.init(config);
|
|
635
635
|
const bodyNewManifest = generatePackageMetadata(pkgName, '1.0.0');
|
|
636
636
|
await storage.updateManifest(bodyNewManifest, {
|
|
@@ -667,7 +667,7 @@ describe('storage', () => {
|
|
|
667
667
|
|
|
668
668
|
test.each([['foo']])('should handle missing username %s', async (pkgName) => {
|
|
669
669
|
const config = getConfig('deprecate.yaml');
|
|
670
|
-
const storage = new Storage(config);
|
|
670
|
+
const storage = new Storage(config, logger);
|
|
671
671
|
await storage.init(config);
|
|
672
672
|
const bodyNewManifest = generatePackageMetadata(pkgName, '1.0.0');
|
|
673
673
|
await storage.updateManifest(bodyNewManifest, {
|
|
@@ -695,7 +695,7 @@ describe('storage', () => {
|
|
|
695
695
|
['foo', 'publishWithOwnerAndCheck.yaml'],
|
|
696
696
|
])('new package %s, %s (anonymous)', async (pkgName, configFile) => {
|
|
697
697
|
const config = getConfig(configFile);
|
|
698
|
-
const storage = new Storage(config);
|
|
698
|
+
const storage = new Storage(config, logger);
|
|
699
699
|
await storage.init(config);
|
|
700
700
|
const bodyNewManifest = generatePackageMetadata(pkgName, '1.0.0');
|
|
701
701
|
await storage.updateManifest(bodyNewManifest, {
|
|
@@ -717,7 +717,7 @@ describe('storage', () => {
|
|
|
717
717
|
['foo', 'publishWithOwnerAndCheck.yaml'],
|
|
718
718
|
])('new package %s, %s (logged in)', async (pkgName, configFile) => {
|
|
719
719
|
const config = getConfig(configFile);
|
|
720
|
-
const storage = new Storage(config);
|
|
720
|
+
const storage = new Storage(config, logger);
|
|
721
721
|
await storage.init(config);
|
|
722
722
|
const owner = { name: 'fooUser', email: '' };
|
|
723
723
|
const bodyNewManifest = generatePackageMetadata(pkgName, '1.0.0');
|
|
@@ -742,7 +742,7 @@ describe('storage', () => {
|
|
|
742
742
|
['foo', 'publishWithOwnerAndCheck.yaml'],
|
|
743
743
|
])('add/remove owner %s, %s', async (pkgName, configFile) => {
|
|
744
744
|
const config = getConfig(configFile);
|
|
745
|
-
const storage = new Storage(config);
|
|
745
|
+
const storage = new Storage(config, logger);
|
|
746
746
|
await storage.init(config);
|
|
747
747
|
const firstOwner = { name: 'fooUser', email: '' };
|
|
748
748
|
const bodyNewManifest = generatePackageMetadata(pkgName, '1.0.0');
|
|
@@ -802,7 +802,7 @@ describe('storage', () => {
|
|
|
802
802
|
['foo', 'publishWithOwnerAndCheck.yaml'],
|
|
803
803
|
])('should fail removing last owner %s, %s', async (pkgName, configFile) => {
|
|
804
804
|
const config = getConfig(configFile);
|
|
805
|
-
const storage = new Storage(config);
|
|
805
|
+
const storage = new Storage(config, logger);
|
|
806
806
|
await storage.init(config);
|
|
807
807
|
const bodyNewManifest = generatePackageMetadata(pkgName, '1.0.0');
|
|
808
808
|
const owner = 'fooUser';
|
|
@@ -830,7 +830,7 @@ describe('storage', () => {
|
|
|
830
830
|
'ok to publish as non-owner without check %s, %s',
|
|
831
831
|
async (pkgName, configFile) => {
|
|
832
832
|
const config = getConfig(configFile);
|
|
833
|
-
const storage = new Storage(config);
|
|
833
|
+
const storage = new Storage(config, logger);
|
|
834
834
|
await storage.init(config);
|
|
835
835
|
const bodyNewManifest = generatePackageMetadata(pkgName, '1.0.0');
|
|
836
836
|
const owner = 'fooUser';
|
|
@@ -860,7 +860,7 @@ describe('storage', () => {
|
|
|
860
860
|
'should fail publishing as non-owner with check %s, %s',
|
|
861
861
|
async (pkgName, configFile) => {
|
|
862
862
|
const config = getConfig(configFile);
|
|
863
|
-
const storage = new Storage(config);
|
|
863
|
+
const storage = new Storage(config, logger);
|
|
864
864
|
await storage.init(config);
|
|
865
865
|
const bodyNewManifest = generatePackageMetadata(pkgName, '1.0.0');
|
|
866
866
|
const owner = 'fooUser';
|
|
@@ -898,7 +898,7 @@ describe('storage', () => {
|
|
|
898
898
|
storage: generateRandomStorage(),
|
|
899
899
|
})
|
|
900
900
|
);
|
|
901
|
-
const storage = new Storage(config);
|
|
901
|
+
const storage = new Storage(config, logger);
|
|
902
902
|
storage.init(config).then(() => {
|
|
903
903
|
const ac = new AbortController();
|
|
904
904
|
const bodyNewManifest = generatePackageMetadata(pkgName, '1.0.0');
|
|
@@ -938,7 +938,7 @@ describe('storage', () => {
|
|
|
938
938
|
storage: generateRandomStorage(),
|
|
939
939
|
})
|
|
940
940
|
);
|
|
941
|
-
const storage = new Storage(config);
|
|
941
|
+
const storage = new Storage(config, logger);
|
|
942
942
|
storage.init(config).then(() => {
|
|
943
943
|
const abort = new AbortController();
|
|
944
944
|
storage
|
|
@@ -978,7 +978,7 @@ describe('storage', () => {
|
|
|
978
978
|
__dirname
|
|
979
979
|
)
|
|
980
980
|
);
|
|
981
|
-
const storage = new Storage(config);
|
|
981
|
+
const storage = new Storage(config, logger);
|
|
982
982
|
storage.init(config).then(() => {
|
|
983
983
|
const abort = new AbortController();
|
|
984
984
|
storage
|
|
@@ -1022,7 +1022,7 @@ describe('storage', () => {
|
|
|
1022
1022
|
__dirname
|
|
1023
1023
|
)
|
|
1024
1024
|
);
|
|
1025
|
-
const storage = new Storage(config);
|
|
1025
|
+
const storage = new Storage(config, logger);
|
|
1026
1026
|
storage.init(config).then(() => {
|
|
1027
1027
|
const ac = new AbortController();
|
|
1028
1028
|
const bodyNewManifest = generatePackageMetadata(pkgName, '1.0.0');
|
|
@@ -1086,7 +1086,7 @@ describe('storage', () => {
|
|
|
1086
1086
|
__dirname
|
|
1087
1087
|
)
|
|
1088
1088
|
);
|
|
1089
|
-
const storage = new Storage(config);
|
|
1089
|
+
const storage = new Storage(config, logger);
|
|
1090
1090
|
storage.init(config).then(() => {
|
|
1091
1091
|
const req = httpMocks.createRequest({
|
|
1092
1092
|
method: 'GET',
|
|
@@ -1139,7 +1139,7 @@ describe('storage', () => {
|
|
|
1139
1139
|
__dirname
|
|
1140
1140
|
)
|
|
1141
1141
|
);
|
|
1142
|
-
const storage = new Storage(config);
|
|
1142
|
+
const storage = new Storage(config, logger);
|
|
1143
1143
|
storage.init(config).then(() => {
|
|
1144
1144
|
const ac = new AbortController();
|
|
1145
1145
|
const bodyNewManifest = generatePackageMetadata(pkgName, '1.0.0');
|
|
@@ -1196,7 +1196,7 @@ describe('storage', () => {
|
|
|
1196
1196
|
)
|
|
1197
1197
|
);
|
|
1198
1198
|
|
|
1199
|
-
const storage = new Storage(config);
|
|
1199
|
+
const storage = new Storage(config, logger);
|
|
1200
1200
|
await storage.init(config);
|
|
1201
1201
|
await expect(
|
|
1202
1202
|
storage.syncUplinksMetadata(fooManifest.name, null, {
|
|
@@ -1220,7 +1220,7 @@ describe('storage', () => {
|
|
|
1220
1220
|
__dirname
|
|
1221
1221
|
)
|
|
1222
1222
|
);
|
|
1223
|
-
const storage = new Storage(config);
|
|
1223
|
+
const storage = new Storage(config, logger);
|
|
1224
1224
|
await storage.init(config);
|
|
1225
1225
|
await expect(
|
|
1226
1226
|
storage.syncUplinksMetadata(fooManifest.name, null, {
|
|
@@ -1241,7 +1241,7 @@ describe('storage', () => {
|
|
|
1241
1241
|
__dirname
|
|
1242
1242
|
)
|
|
1243
1243
|
);
|
|
1244
|
-
const storage = new Storage(config);
|
|
1244
|
+
const storage = new Storage(config, logger);
|
|
1245
1245
|
await storage.init(config);
|
|
1246
1246
|
const [manifest] = await storage.syncUplinksMetadata(fooManifest.name, fooManifest, {
|
|
1247
1247
|
retry: { limit: 0 },
|
|
@@ -1263,7 +1263,7 @@ describe('storage', () => {
|
|
|
1263
1263
|
__dirname
|
|
1264
1264
|
)
|
|
1265
1265
|
);
|
|
1266
|
-
const storage = new Storage(config);
|
|
1266
|
+
const storage = new Storage(config, logger);
|
|
1267
1267
|
await storage.init(config);
|
|
1268
1268
|
|
|
1269
1269
|
const [response] = await storage.syncUplinksMetadata(fooManifest.name, fooManifest);
|
|
@@ -1304,7 +1304,7 @@ describe('storage', () => {
|
|
|
1304
1304
|
__dirname
|
|
1305
1305
|
)
|
|
1306
1306
|
);
|
|
1307
|
-
const storage = new Storage(config);
|
|
1307
|
+
const storage = new Storage(config, logger);
|
|
1308
1308
|
await storage.init(config);
|
|
1309
1309
|
|
|
1310
1310
|
const [response] = await storage.syncUplinksMetadata(fooManifest.name, null);
|
|
@@ -1326,7 +1326,7 @@ describe('storage', () => {
|
|
|
1326
1326
|
__dirname
|
|
1327
1327
|
)
|
|
1328
1328
|
);
|
|
1329
|
-
const storage = new Storage(config);
|
|
1329
|
+
const storage = new Storage(config, logger);
|
|
1330
1330
|
await storage.init(config);
|
|
1331
1331
|
|
|
1332
1332
|
const [response] = await storage.syncUplinksMetadata(fooManifest.name, fooManifest);
|
|
@@ -1350,7 +1350,7 @@ describe('storage', () => {
|
|
|
1350
1350
|
__dirname
|
|
1351
1351
|
)
|
|
1352
1352
|
);
|
|
1353
|
-
const storage = new Storage(config);
|
|
1353
|
+
const storage = new Storage(config, logger);
|
|
1354
1354
|
await storage.init(config);
|
|
1355
1355
|
|
|
1356
1356
|
const [response] = await storage.syncUplinksMetadata(fooManifest.name, fooManifest, {
|
|
@@ -1379,7 +1379,7 @@ describe('storage', () => {
|
|
|
1379
1379
|
__dirname
|
|
1380
1380
|
)
|
|
1381
1381
|
);
|
|
1382
|
-
const storage = new Storage(config);
|
|
1382
|
+
const storage = new Storage(config, logger);
|
|
1383
1383
|
await storage.init(config);
|
|
1384
1384
|
|
|
1385
1385
|
const [response] = await storage.syncUplinksMetadata('foo', null, {
|
|
@@ -1400,7 +1400,7 @@ describe('storage', () => {
|
|
|
1400
1400
|
storage: generateRandomStorage(),
|
|
1401
1401
|
})
|
|
1402
1402
|
);
|
|
1403
|
-
const storage = new Storage(config);
|
|
1403
|
+
const storage = new Storage(config, logger);
|
|
1404
1404
|
await storage.init(config);
|
|
1405
1405
|
await expect(storage.getLocalDatabase()).resolves.toHaveLength(0);
|
|
1406
1406
|
});
|
|
@@ -1420,7 +1420,7 @@ describe('storage', () => {
|
|
|
1420
1420
|
},
|
|
1421
1421
|
url: '/',
|
|
1422
1422
|
});
|
|
1423
|
-
const storage = new Storage(config);
|
|
1423
|
+
const storage = new Storage(config, logger);
|
|
1424
1424
|
await storage.init(config);
|
|
1425
1425
|
const manifest = generatePackageMetadata('foo');
|
|
1426
1426
|
const ac = new AbortController();
|
|
@@ -1449,7 +1449,7 @@ describe('storage', () => {
|
|
|
1449
1449
|
storage: generateRandomStorage(),
|
|
1450
1450
|
})
|
|
1451
1451
|
);
|
|
1452
|
-
const storage = new Storage(config);
|
|
1452
|
+
const storage = new Storage(config, logger);
|
|
1453
1453
|
await storage.init(config);
|
|
1454
1454
|
await storage.saveToken({
|
|
1455
1455
|
user: 'foo',
|
|
@@ -1471,7 +1471,7 @@ describe('storage', () => {
|
|
|
1471
1471
|
storage: generateRandomStorage(),
|
|
1472
1472
|
})
|
|
1473
1473
|
);
|
|
1474
|
-
const storage = new Storage(config);
|
|
1474
|
+
const storage = new Storage(config, logger);
|
|
1475
1475
|
await storage.init(config);
|
|
1476
1476
|
await storage.saveToken({
|
|
1477
1477
|
user: 'foo',
|
|
@@ -1498,7 +1498,7 @@ describe('storage', () => {
|
|
|
1498
1498
|
storage: generateRandomStorage(),
|
|
1499
1499
|
})
|
|
1500
1500
|
);
|
|
1501
|
-
const storage = new Storage(config);
|
|
1501
|
+
const storage = new Storage(config, logger);
|
|
1502
1502
|
await storage.init(config);
|
|
1503
1503
|
await expect(storage.removeTarball('foo', 'foo-1.0.0.tgz', 'rev', username)).rejects.toThrow(
|
|
1504
1504
|
API_ERROR.NO_PACKAGE
|
|
@@ -1524,7 +1524,7 @@ describe('storage', () => {
|
|
|
1524
1524
|
},
|
|
1525
1525
|
url: '/',
|
|
1526
1526
|
});
|
|
1527
|
-
const storage = new Storage(config);
|
|
1527
|
+
const storage = new Storage(config, logger);
|
|
1528
1528
|
await storage.init(config);
|
|
1529
1529
|
|
|
1530
1530
|
const manifest = generatePackageMetadata('foo');
|
|
@@ -1573,7 +1573,7 @@ describe('storage', () => {
|
|
|
1573
1573
|
|
|
1574
1574
|
test('ok to remove package as non-owner without check', async () => {
|
|
1575
1575
|
const config = getConfig('publishWithOwnerDefault.yaml');
|
|
1576
|
-
const storage = new Storage(config);
|
|
1576
|
+
const storage = new Storage(config, logger);
|
|
1577
1577
|
await storage.init(config);
|
|
1578
1578
|
const owner = 'fooUser';
|
|
1579
1579
|
const options = { ...defaultRequestOptions, username: owner };
|
|
@@ -1612,7 +1612,7 @@ describe('storage', () => {
|
|
|
1612
1612
|
|
|
1613
1613
|
test('should fail as non-owner with check', async () => {
|
|
1614
1614
|
const config = getConfig('publishWithOwnerAndCheck.yaml');
|
|
1615
|
-
const storage = new Storage(config);
|
|
1615
|
+
const storage = new Storage(config, logger);
|
|
1616
1616
|
await storage.init(config);
|
|
1617
1617
|
const owner = 'fooUser';
|
|
1618
1618
|
const options = { ...defaultRequestOptions, username: owner };
|
|
@@ -1661,7 +1661,7 @@ describe('storage', () => {
|
|
|
1661
1661
|
},
|
|
1662
1662
|
url: '/',
|
|
1663
1663
|
});
|
|
1664
|
-
const storage = new Storage(config);
|
|
1664
|
+
const storage = new Storage(config, logger);
|
|
1665
1665
|
await storage.init(config);
|
|
1666
1666
|
await expect(
|
|
1667
1667
|
storage.getPackageByOptions({
|
|
@@ -1693,7 +1693,7 @@ describe('storage', () => {
|
|
|
1693
1693
|
},
|
|
1694
1694
|
url: '/',
|
|
1695
1695
|
});
|
|
1696
|
-
const storage = new Storage(config);
|
|
1696
|
+
const storage = new Storage(config, logger);
|
|
1697
1697
|
await storage.init(config);
|
|
1698
1698
|
await expect(
|
|
1699
1699
|
storage.getPackageByOptions({
|
|
@@ -1726,7 +1726,7 @@ describe('storage', () => {
|
|
|
1726
1726
|
},
|
|
1727
1727
|
url: '/',
|
|
1728
1728
|
});
|
|
1729
|
-
const storage = new Storage(config);
|
|
1729
|
+
const storage = new Storage(config, logger);
|
|
1730
1730
|
await storage.init(config);
|
|
1731
1731
|
await expect(
|
|
1732
1732
|
storage.getPackageByOptions({
|
|
@@ -1759,7 +1759,7 @@ describe('storage', () => {
|
|
|
1759
1759
|
},
|
|
1760
1760
|
url: '/',
|
|
1761
1761
|
});
|
|
1762
|
-
const storage = new Storage(config);
|
|
1762
|
+
const storage = new Storage(config, logger);
|
|
1763
1763
|
await storage.init(config);
|
|
1764
1764
|
await expect(
|
|
1765
1765
|
storage.getPackageByOptions({
|
|
@@ -1799,7 +1799,7 @@ describe('storage', () => {
|
|
|
1799
1799
|
},
|
|
1800
1800
|
url: '/',
|
|
1801
1801
|
});
|
|
1802
|
-
const storage = new Storage(config);
|
|
1802
|
+
const storage = new Storage(config, logger);
|
|
1803
1803
|
await storage.init(config);
|
|
1804
1804
|
await expect(
|
|
1805
1805
|
storage.getPackageByOptions({
|
|
@@ -1839,7 +1839,7 @@ describe('storage', () => {
|
|
|
1839
1839
|
},
|
|
1840
1840
|
url: '/',
|
|
1841
1841
|
});
|
|
1842
|
-
const storage = new Storage(config);
|
|
1842
|
+
const storage = new Storage(config, logger);
|
|
1843
1843
|
await storage.init(config);
|
|
1844
1844
|
await expect(
|
|
1845
1845
|
storage.getPackageByOptions({
|
|
@@ -1873,7 +1873,7 @@ describe('storage', () => {
|
|
|
1873
1873
|
},
|
|
1874
1874
|
url: '/',
|
|
1875
1875
|
});
|
|
1876
|
-
const storage = new Storage(config);
|
|
1876
|
+
const storage = new Storage(config, logger);
|
|
1877
1877
|
await storage.init(config);
|
|
1878
1878
|
|
|
1879
1879
|
const manifest = (await storage.getPackageByOptions({
|