New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

verdaccio-memory

Package Overview
Dependencies
Maintainers
3
Versions
115
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

verdaccio-memory - npm Package Compare versions

Comparing version 9.3.1 to 9.3.2

8

CHANGELOG.md

@@ -6,2 +6,10 @@ # Change Log

## [9.3.2](https://github.com/verdaccio/monorepo/compare/v9.3.1...v9.3.2) (2020-03-08)
**Note:** Version bump only for package verdaccio-memory
## [9.3.1](https://github.com/verdaccio/monorepo/compare/v9.3.0...v9.3.1) (2020-02-23)

@@ -8,0 +16,0 @@

12

lib/local-memory.d.ts

@@ -1,3 +0,3 @@

import { Logger, Callback, Config, IPluginStorage, Token, TokenFilter } from '@verdaccio/types';
import MemoryHandler from './memory-handler';
import { Logger, Callback, Config, IPluginStorage, Token, TokenFilter, PluginOptions } from '@verdaccio/types';
import MemoryHandler, { DataHandler } from './memory-handler';
export declare type ConfigMemory = Config & {

@@ -7,5 +7,5 @@ limit?: number;

export interface MemoryLocalStorage {
files: any;
secret: string;
list: any;
list: string[];
files: DataHandler;
}

@@ -18,5 +18,5 @@ declare class LocalMemory implements IPluginStorage<ConfigMemory> {

config: ConfigMemory;
constructor(config: ConfigMemory, options: any);
constructor(config: ConfigMemory, options: PluginOptions<ConfigMemory>);
getSecret(): Promise<string>;
setSecret(secret: string): Promise<any>;
setSecret(secret: string): Promise<string | null>;
add(name: string, cb: Callback): void;

@@ -23,0 +23,0 @@ search(onPackage: Callback, onEnd: Callback, validateName: Function): void;

@@ -65,6 +65,7 @@ "use strict";

}
}
} // eslint-disable-next-line @typescript-eslint/no-unused-vars
search(onPackage, onEnd, validateName) {
// TODO: pending to implement
this.logger.warn('[verdaccio/memory]: search method not implemented, PR is welcome');
onEnd();

@@ -131,2 +132,2 @@ }

exports.default = _default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9sb2NhbC1tZW1vcnkudHMiXSwibmFtZXMiOlsiREVGQVVMVF9MSU1JVCIsIkxvY2FsTWVtb3J5IiwiY29uc3RydWN0b3IiLCJjb25maWciLCJvcHRpb25zIiwibGltaXQiLCJsb2dnZXIiLCJkYXRhIiwiX2NyZWF0ZUVtdHB5RGF0YWJhc2UiLCJwYXRoIiwiZ2V0U2VjcmV0IiwiUHJvbWlzZSIsInJlc29sdmUiLCJzZWNyZXQiLCJzZXRTZWNyZXQiLCJhZGQiLCJuYW1lIiwiY2IiLCJsaXN0IiwibGVuZ3RoIiwiaW5kZXhPZiIsInB1c2giLCJpbmZvIiwiRXJyb3IiLCJzZWFyY2giLCJvblBhY2thZ2UiLCJvbkVuZCIsInZhbGlkYXRlTmFtZSIsInJlbW92ZSIsIml0ZW0iLCJzcGxpY2UiLCJnZXQiLCJnZXRQYWNrYWdlU3RvcmFnZSIsInBhY2thZ2VJbmZvIiwiTWVtb3J5SGFuZGxlciIsImZpbGVzIiwiZW1wdHlEYXRhYmFzZSIsInNhdmVUb2tlbiIsInRva2VuIiwid2FybiIsInJlamVjdCIsImRlbGV0ZVRva2VuIiwidXNlciIsInRva2VuS2V5IiwicmVhZFRva2VucyIsImZpbHRlciJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUdBOzs7Ozs7QUFTQSxNQUFNQSxhQUFhLEdBQUcsSUFBdEI7O0FBQ0EsTUFBTUMsV0FBTixDQUEwRDtBQU9qREMsRUFBQUEsV0FBUCxDQUFtQkMsTUFBbkIsRUFBeUNDLE9BQXpDLEVBQXVEO0FBQUE7O0FBQUE7O0FBQUE7O0FBQUE7O0FBQUE7O0FBQ3JELFNBQUtELE1BQUwsR0FBY0EsTUFBZDtBQUNBLFNBQUtFLEtBQUwsR0FBYUYsTUFBTSxDQUFDRSxLQUFQLElBQWdCTCxhQUE3QjtBQUNBLFNBQUtNLE1BQUwsR0FBY0YsT0FBTyxDQUFDRSxNQUF0QjtBQUNBLFNBQUtDLElBQUwsR0FBWSxLQUFLQyxvQkFBTCxFQUFaO0FBQ0EsU0FBS0MsSUFBTCxHQUFZLEdBQVo7QUFDRDs7QUFFTUMsRUFBQUEs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cUMsbURBQXJDO0FBRUEsV0FBTy9CLE9BQU8sQ0FBQzZCLE1BQVIsQ0FBZSx1Q0FBc0Isc0NBQXRCLENBQWYsQ0FBUDtBQUNEOztBQUVNSSxFQUFBQSxVQUFQLENBQWtCQyxNQUFsQixFQUF5RDtBQUN2RCxTQUFLdkMsTUFBTCxDQUFZaUMsSUFBWixDQUFpQjtBQUFFTSxNQUFBQTtBQUFGLEtBQWpCLEVBQTZCLG9EQUE3QjtBQUVBLFdBQU9sQyxPQUFPLENBQUM2QixNQUFSLENBQWUsdUNBQXNCLHFDQUF0QixDQUFmLENBQVA7QUFDRDs7QUE1RnVEOztlQStGM0N2QyxXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0U2VydmljZVVuYXZhaWxhYmxlIH0gZnJvbSAnQHZlcmRhY2Npby9jb21tb25zLWFwaSc7XG5pbXBvcnQgeyBMb2dnZXIsIENhbGxiYWNrLCBDb25maWcsIElQbHVnaW5TdG9yYWdlLCBUb2tlbiwgVG9rZW5GaWx0ZXIgfSBmcm9tICdAdmVyZGFjY2lvL3R5cGVzJztcblxuaW1wb3J0IE1lbW9yeUhhbmRsZXIgZnJvbSAnLi9tZW1vcnktaGFuZGxlcic7XG5cbmV4cG9ydCB0eXBlIENvbmZpZ01lbW9yeSA9IENvbmZpZyAmIHsgbGltaXQ/OiBudW1iZXIgfTtcbmV4cG9ydCBpbnRlcmZhY2UgTWVtb3J5TG9jYWxTdG9yYWdlIHtcbiAgZmlsZXM6IGFueTtcbiAgc2VjcmV0OiBzdHJpbmc7XG4gIGxpc3Q6IGFueTtcbn1cblxuY29uc3QgREVGQVVMVF9MSU1JVCA9IDEwMDA7XG5jbGFzcyBMb2NhbE1lbW9yeSBpbXBsZW1lbnRzIElQbHVnaW5TdG9yYWdlPENvbmZpZ01lbW9yeT4ge1xuICBwcml2YXRlIHBhdGg6IHN0cmluZztcbiAgcHJpdmF0ZSBsaW1pdDogbnVtYmVyO1xuICBwdWJsaWMgbG9nZ2VyOiBMb2dnZXI7XG4gIHByaXZhdGUgZGF0YTogTWVtb3J5TG9jYWxTdG9yYWdlO1xuICBwdWJsaWMgY29uZmlnOiBDb25maWdNZW1vcnk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKGNvbmZpZzogQ29uZmlnTWVtb3J5LCBvcHRpb25zOiBhbnkpIHtcbiAgICB0aGlzLmNvbmZpZyA9IGNvbmZpZztcbiAgICB0aGlzLmxpbWl0ID0gY29uZmlnLmxpbWl0IHx8IERFRkFVTFRfTElNSVQ7XG4gICAgdGhpcy5sb2dnZXIgPSBvcHRpb25zLmxvZ2dlcjtcbiAgICB0aGlzLmRhdGEgPSB0aGlzLl9jcmVhdGVFbXRweURhdGFiYXNlKCk7XG4gICAgdGhpcy5wYXRoID0gJy8nO1xuICB9XG5cbiAgcHVibGljIGdldFNlY3JldCgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodGhpcy5kYXRhLnNlY3JldCk7XG4gIH1cblxuICBwdWJsaWMgc2V0U2VjcmV0KHNlY3JldDogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpOiB2b2lkID0+IHtcbiAgICAgIHRoaXMuZGF0YS5zZWNyZXQgPSBzZWNyZXQ7XG4gICAgICByZXNvbHZlKG51bGwpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFkZChuYW1lOiBzdHJpbmcsIGNiOiBDYWxsYmFjayk6IHZvaWQge1xuICAgIGNvbnN0IHsgbGlzdCB9ID0gdGhpcy5kYXRhO1xuXG4gICAgaWYgKGxpc3QubGVuZ3RoIDwgdGhpcy5saW1pdCkge1xuICAgICAgaWYgKGxpc3QuaW5kZXhPZihuYW1lKSA9PT0gLTEpIHtcbiAgICAgICAgbGlzdC5wdXNoKG5hbWUpO1xuICAgICAgfVxuICAgICAgY2IobnVsbCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubG9nZ2VyLmluZm8oeyBsaW1pdDogdGhpcy5saW1pdCB9LCAnU3RvcmFnZSBtZW1vcnkgaGFzIHJlYWNoZWQgbGltaXQgb2YgQHtsaW1pdH0gcGFja2FnZXMnKTtcbiAgICAgIGNiKG5ldyBFcnJvcignU3RvcmFnZSBtZW1vcnkgaGFzIHJlYWNoZWQgbGltaXQgb2YgbGltaXQgcGFja2FnZXMnKSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNlYXJjaChvblBhY2thZ2U6IENhbGxiYWNrLCBvbkVuZDogQ2FsbGJhY2ssIHZhbGlkYXRlTmFtZTogRnVuY3Rpb24pOiB2b2lkIHtcbiAgICAvLyBUT0RPOiBwZW5kaW5nIHRvIGltcGxlbWVudFxuICAgIG9uRW5kKCk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlKG5hbWU6IHN0cmluZywgY2I6IENhbGxiYWNrKTogdm9pZCB7XG4gICAgY29uc3QgeyBsaXN0IH0gPSB0aGlzLmRhdGE7XG4gICAgY29uc3QgaXRlbSA9IGxpc3QuaW5kZXhPZihuYW1lKTtcblxuICAgIGlmIChpdGVtICE9PSAtMSkge1xuICAgICAgbGlzdC5zcGxpY2UoaXRlbSwgMSk7XG4gICAgfVxuXG4gICAgY2IobnVsbCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0KGNiOiBDYWxsYmFjayk6IHZvaWQge1xuICAgIGNiKG51bGwsIHRoaXMuZGF0YS5saXN0KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRQYWNrYWdlU3RvcmFnZShwYWNrYWdlSW5mbzogc3RyaW5nKTogTWVtb3J5SGFuZGxlciB7XG4gICAgcmV0dXJuIG5ldyBNZW1vcnlIYW5kbGVyKHBhY2thZ2VJbmZvLCB0aGlzLmRhdGEuZmlsZXMsIHRoaXMubG9nZ2VyKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZUVtdHB5RGF0YWJhc2UoKTogTWVtb3J5TG9jYWxTdG9yYWdlIHtcbiAgICBjb25zdCBsaXN0OiBhbnkgPSBbXTtcbiAgICBjb25zdCBmaWxlcyA9IHt9O1xuICAgIGNvbnN0IGVtcHR5RGF0YWJhc2UgPSB7XG4gICAgICBsaXN0LFxuICAgICAgZmlsZXMsXG4gICAgICBzZWNyZXQ6ICcnLFxuICAgIH07XG5cbiAgICByZXR1cm4gZW1wdHlEYXRhYmFzZTtcbiAgfVxuXG4gIHB1YmxpYyBzYXZlVG9rZW4odG9rZW46IFRva2VuKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5sb2dnZXIud2Fybih7IHRva2VuIH0sICdzYXZlIHRva2VuIGhhcyBub3QgYmVlbiBpbXBsZW1lbnRlZCB5ZXQgQHt0b2tlbn0nKTtcblxuICAgIHJldHVybiBQcm9taXNlLnJlamVjdChnZXRTZXJ2aWNlVW5hdmFpbGFibGUoJ1tzYXZlVG9rZW5dIG1ldGhvZCBub3QgaW1wbGVtZW50ZWQnKSk7XG4gIH1cblxuICBwdWJsaWMgZGVsZXRlVG9rZW4odXNlcjogc3RyaW5nLCB0b2tlbktleTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5sb2dnZXIud2Fybih7IHRva2VuS2V5LCB1c2VyIH0sICdkZWxldGUgdG9rZW4gaGFzIG5vdCBiZWVuIGltcGxlbWVudGVkIHlldCBAe3VzZXJ9Jyk7XG5cbiAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoZ2V0U2VydmljZVVuYXZhaWxhYmxlKCdbZGVsZXRlVG9rZW5dIG1ldGhvZCBub3QgaW1wbGVtZW50ZWQnKSk7XG4gIH1cblxuICBwdWJsaWMgcmVhZFRva2VucyhmaWx0ZXI6IFRva2VuRmlsdGVyKTogUHJvbWlzZTxUb2tlbltdPiB7XG4gICAgdGhpcy5sb2dnZXIud2Fybih7IGZpbHRlciB9LCAncmVhZCB0b2tlbnMgaGFzIG5vdCBiZWVuIGltcGxlbWVudGVkIHlldCBAe2ZpbHRlcn0nKTtcblxuICAgIHJldHVybiBQcm9taXNlLnJlamVjdChnZXRTZXJ2aWNlVW5hdmFpbGFibGUoJ1tyZWFkVG9rZW5zXSBtZXRob2Qgbm90IGltcGxlbWVudGVkJykpO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IExvY2FsTWVtb3J5O1xuIl19
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9sb2NhbC1tZW1vcnkudHMiXSwibmFtZXMiOlsiREVGQVVMVF9MSU1JVCIsIkxvY2FsTWVtb3J5IiwiY29uc3RydWN0b3IiLCJjb25maWciLCJvcHRpb25zIiwibGltaXQiLCJsb2dnZXIiLCJkYXRhIiwiX2NyZWF0ZUVtdHB5RGF0YWJhc2UiLCJwYXRoIiwiZ2V0U2VjcmV0IiwiUHJvbWlzZSIsInJlc29sdmUiLCJzZWNyZXQiLCJzZXRTZWNyZXQiLCJhZGQiLCJuYW1lIiwiY2IiLCJsaXN0IiwibGVuZ3RoIiwiaW5kZXhPZiIsInB1c2giLCJpbmZvIiwiRXJyb3IiLCJzZWFyY2giLCJvblBhY2thZ2UiLCJvbkVuZCIsInZhbGlkYXRlTmFtZSIsIndhcm4iLCJyZW1vdmUiLCJpdGVtIiwic3BsaWNlIiwiZ2V0IiwiZ2V0UGFja2FnZVN0b3JhZ2UiLCJwYWNrYWdlSW5mbyIsIk1lbW9yeUhhbmRsZXIiLCJmaWxlcyIsImVtcHR5RGF0YWJhc2UiLCJzYXZlVG9rZW4iLCJ0b2tlbiIsInJlamVjdCIsImRlbGV0ZVRva2VuIiwidXNlciIsInRva2VuS2V5IiwicmVhZFRva2VucyIsImZpbHRlciJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUdBOzs7Ozs7QUFTQSxNQUFNQSxhQUFhLEdBQUcsSUFBdEI7O0FBQ0EsTUFBTUMsV0FBTixDQUEwRDtBQU9qREMsRUFBQUEsV0FBUCxDQUFtQkMsTUFBbkIsRUFBeUNDLE9BQXpDLEVBQStFO0FBQUE7O0FBQUE7O0FBQUE7O0FBQUE7O0FBQUE7O0FBQzdFLFNBQUtELE1BQUwsR0FBY0EsTUFBZDtBQUNBLFNBQUtFLEtBQUwsR0FBYUYsTUFBTSxDQUFDRSxLQUFQLElBQWdCTCxhQUE3QjtBQUNBLFNBQUtNLE1BQUwsR0FBY0YsT0FBTyxDQUFDRSxNQUF0QjtBQUNBLFNBQUtDLElBQUwsR0FBWSxLQUFLQyxvQkFBTCxFQUFaO0FBQ0EsU0FBS0MsSUFBTCxHQUFZLEdBQVo7QUFDRDs7QUFFTUMsRUFBQUEs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QVosQ0FBaUI7QUFBRWUsTUFBQUEsUUFBRjtBQUFZRCxNQUFBQTtBQUFaLEtBQWpCLEVBQXFDLG1EQUFyQztBQUVBLFdBQU8vQixPQUFPLENBQUM2QixNQUFSLENBQWUsdUNBQXNCLHNDQUF0QixDQUFmLENBQVA7QUFDRDs7QUFFTUksRUFBQUEsVUFBUCxDQUFrQkMsTUFBbEIsRUFBeUQ7QUFDdkQsU0FBS3ZDLE1BQUwsQ0FBWXNCLElBQVosQ0FBaUI7QUFBRWlCLE1BQUFBO0FBQUYsS0FBakIsRUFBNkIsb0RBQTdCO0FBRUEsV0FBT2xDLE9BQU8sQ0FBQzZCLE1BQVIsQ0FBZSx1Q0FBc0IscUNBQXRCLENBQWYsQ0FBUDtBQUNEOztBQTdGdUQ7O2VBZ0czQ3ZDLFciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRTZXJ2aWNlVW5hdmFpbGFibGUgfSBmcm9tICdAdmVyZGFjY2lvL2NvbW1vbnMtYXBpJztcbmltcG9ydCB7IExvZ2dlciwgQ2FsbGJhY2ssIENvbmZpZywgSVBsdWdpblN0b3JhZ2UsIFRva2VuLCBUb2tlbkZpbHRlciwgUGx1Z2luT3B0aW9ucyB9IGZyb20gJ0B2ZXJkYWNjaW8vdHlwZXMnO1xuXG5pbXBvcnQgTWVtb3J5SGFuZGxlciwgeyBEYXRhSGFuZGxlciB9IGZyb20gJy4vbWVtb3J5LWhhbmRsZXInO1xuXG5leHBvcnQgdHlwZSBDb25maWdNZW1vcnkgPSBDb25maWcgJiB7IGxpbWl0PzogbnVtYmVyIH07XG5leHBvcnQgaW50ZXJmYWNlIE1lbW9yeUxvY2FsU3RvcmFnZSB7XG4gIHNlY3JldDogc3RyaW5nO1xuICBsaXN0OiBzdHJpbmdbXTtcbiAgZmlsZXM6IERhdGFIYW5kbGVyO1xufVxuXG5jb25zdCBERUZBVUxUX0xJTUlUID0gMTAwMDtcbmNsYXNzIExvY2FsTWVtb3J5IGltcGxlbWVudHMgSVBsdWdpblN0b3JhZ2U8Q29uZmlnTWVtb3J5PiB7XG4gIHByaXZhdGUgcGF0aDogc3RyaW5nO1xuICBwcml2YXRlIGxpbWl0OiBudW1iZXI7XG4gIHB1YmxpYyBsb2dnZXI6IExvZ2dlcjtcbiAgcHJpdmF0ZSBkYXRhOiBNZW1vcnlMb2NhbFN0b3JhZ2U7XG4gIHB1YmxpYyBjb25maWc6IENvbmZpZ01lbW9yeTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoY29uZmlnOiBDb25maWdNZW1vcnksIG9wdGlvbnM6IFBsdWdpbk9wdGlvbnM8Q29uZmlnTWVtb3J5Pikge1xuICAgIHRoaXMuY29uZmlnID0gY29uZmlnO1xuICAgIHRoaXMubGltaXQgPSBjb25maWcubGltaXQgfHwgREVGQVVMVF9MSU1JVDtcbiAgICB0aGlzLmxvZ2dlciA9IG9wdGlvbnMubG9nZ2VyO1xuICAgIHRoaXMuZGF0YSA9IHRoaXMuX2NyZWF0ZUVtdHB5RGF0YWJhc2UoKTtcbiAgICB0aGlzLnBhdGggPSAnLyc7XG4gIH1cblxuICBwdWJsaWMgZ2V0U2VjcmV0KCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGlzLmRhdGEuc2VjcmV0KTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRTZWNyZXQoc2VjcmV0OiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZyB8IG51bGw+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpOiB2b2lkID0+IHtcbiAgICAgIHRoaXMuZGF0YS5zZWNyZXQgPSBzZWNyZXQ7XG4gICAgICByZXNvbHZlKG51bGwpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFkZChuYW1lOiBzdHJpbmcsIGNiOiBDYWxsYmFjayk6IHZvaWQge1xuICAgIGNvbnN0IHsgbGlzdCB9ID0gdGhpcy5kYXRhO1xuXG4gICAgaWYgKGxpc3QubGVuZ3RoIDwgdGhpcy5saW1pdCkge1xuICAgICAgaWYgKGxpc3QuaW5kZXhPZihuYW1lKSA9PT0gLTEpIHtcbiAgICAgICAgbGlzdC5wdXNoKG5hbWUpO1xuICAgICAgfVxuICAgICAgY2IobnVsbCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubG9nZ2VyLmluZm8oeyBsaW1pdDogdGhpcy5saW1pdCB9LCAnU3RvcmFnZSBtZW1vcnkgaGFzIHJlYWNoZWQgbGltaXQgb2YgQHtsaW1pdH0gcGFja2FnZXMnKTtcbiAgICAgIGNiKG5ldyBFcnJvcignU3RvcmFnZSBtZW1vcnkgaGFzIHJlYWNoZWQgbGltaXQgb2YgbGltaXQgcGFja2FnZXMnKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICBwdWJsaWMgc2VhcmNoKG9uUGFja2FnZTogQ2FsbGJhY2ssIG9uRW5kOiBDYWxsYmFjaywgdmFsaWRhdGVOYW1lOiBGdW5jdGlvbik6IHZvaWQge1xuICAgIHRoaXMubG9nZ2VyLndhcm4oJ1t2ZXJkYWNjaW8vbWVtb3J5XTogc2VhcmNoIG1ldGhvZCBub3QgaW1wbGVtZW50ZWQsIFBSIGlzIHdlbGNvbWUnKTtcbiAgICBvbkVuZCgpO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZShuYW1lOiBzdHJpbmcsIGNiOiBDYWxsYmFjayk6IHZvaWQge1xuICAgIGNvbnN0IHsgbGlzdCB9ID0gdGhpcy5kYXRhO1xuICAgIGNvbnN0IGl0ZW0gPSBsaXN0LmluZGV4T2YobmFtZSk7XG5cbiAgICBpZiAoaXRlbSAhPT0gLTEpIHtcbiAgICAgIGxpc3Quc3BsaWNlKGl0ZW0sIDEpO1xuICAgIH1cblxuICAgIGNiKG51bGwpO1xuICB9XG5cbiAgcHVibGljIGdldChjYjogQ2FsbGJhY2spOiB2b2lkIHtcbiAgICBjYihudWxsLCB0aGlzLmRhdGEubGlzdCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0UGFja2FnZVN0b3JhZ2UocGFja2FnZUluZm86IHN0cmluZyk6IE1lbW9yeUhhbmRsZXIge1xuICAgIHJldHVybiBuZXcgTWVtb3J5SGFuZGxlcihwYWNrYWdlSW5mbywgdGhpcy5kYXRhLmZpbGVzLCB0aGlzLmxvZ2dlcik7XG4gIH1cblxuICBwcml2YXRlIF9jcmVhdGVFbXRweURhdGFiYXNlKCk6IE1lbW9yeUxvY2FsU3RvcmFnZSB7XG4gICAgY29uc3QgbGlzdDogc3RyaW5nW10gPSBbXTtcbiAgICBjb25zdCBmaWxlcyA9IHt9O1xuICAgIGNvbnN0IGVtcHR5RGF0YWJhc2UgPSB7XG4gICAgICBsaXN0LFxuICAgICAgZmlsZXMsXG4gICAgICBzZWNyZXQ6ICcnLFxuICAgIH07XG5cbiAgICByZXR1cm4gZW1wdHlEYXRhYmFzZTtcbiAgfVxuXG4gIHB1YmxpYyBzYXZlVG9rZW4odG9rZW46IFRva2VuKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5sb2dnZXIud2Fybih7IHRva2VuIH0sICdzYXZlIHRva2VuIGhhcyBub3QgYmVlbiBpbXBsZW1lbnRlZCB5ZXQgQHt0b2tlbn0nKTtcblxuICAgIHJldHVybiBQcm9taXNlLnJlamVjdChnZXRTZXJ2aWNlVW5hdmFpbGFibGUoJ1tzYXZlVG9rZW5dIG1ldGhvZCBub3QgaW1wbGVtZW50ZWQnKSk7XG4gIH1cblxuICBwdWJsaWMgZGVsZXRlVG9rZW4odXNlcjogc3RyaW5nLCB0b2tlbktleTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5sb2dnZXIud2Fybih7IHRva2VuS2V5LCB1c2VyIH0sICdkZWxldGUgdG9rZW4gaGFzIG5vdCBiZWVuIGltcGxlbWVudGVkIHlldCBAe3VzZXJ9Jyk7XG5cbiAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoZ2V0U2VydmljZVVuYXZhaWxhYmxlKCdbZGVsZXRlVG9rZW5dIG1ldGhvZCBub3QgaW1wbGVtZW50ZWQnKSk7XG4gIH1cblxuICBwdWJsaWMgcmVhZFRva2VucyhmaWx0ZXI6IFRva2VuRmlsdGVyKTogUHJvbWlzZTxUb2tlbltdPiB7XG4gICAgdGhpcy5sb2dnZXIud2Fybih7IGZpbHRlciB9LCAncmVhZCB0b2tlbnMgaGFzIG5vdCBiZWVuIGltcGxlbWVudGVkIHlldCBAe2ZpbHRlcn0nKTtcblxuICAgIHJldHVybiBQcm9taXNlLnJlamVjdChnZXRTZXJ2aWNlVW5hdmFpbGFibGUoJ1tyZWFkVG9rZW5zXSBtZXRob2Qgbm90IGltcGxlbWVudGVkJykpO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IExvY2FsTWVtb3J5O1xuIl19

@@ -1,4 +0,5 @@

import { Callback, Logger, IPackageStorageManager, IUploadTarball, IReadTarball, CallbackAction, StorageUpdateCallback, StorageWriteCallback, PackageTransformer, ReadPackageCallback } from '@verdaccio/types';
export declare const noSuchFile = "ENOENT";
export declare const fileExist = "EEXISTS";
import { Callback, Logger, IPackageStorageManager, IUploadTarball, IReadTarball, CallbackAction, StorageUpdateCallback, StorageWriteCallback, PackageTransformer, Package, ReadPackageCallback } from '@verdaccio/types';
export declare type DataHandler = {
[key: string]: string;
};
declare class MemoryHandler implements IPackageStorageManager {

@@ -9,8 +10,8 @@ private data;

logger: Logger;
constructor(packageName: string, data: any, logger: Logger);
constructor(packageName: string, data: DataHandler, logger: Logger);
updatePackage(pkgFileName: string, updateHandler: StorageUpdateCallback, onWrite: StorageWriteCallback, transformPackage: PackageTransformer, onEnd: CallbackAction): void;
deletePackage(pkgName: string, callback: Callback): void;
removePackage(callback: CallbackAction): void;
createPackage(name: string, value: Record<string, any>, cb: CallbackAction): void;
savePackage(name: string, value: Record<string, any>, cb: CallbackAction): void;
createPackage(name: string, value: Package, cb: CallbackAction): void;
savePackage(name: string, value: Package, cb: CallbackAction): void;
readPackage(name: string, cb: ReadPackageCallback): void;

@@ -17,0 +18,0 @@ writeTarball(name: string): IUploadTarball;

@@ -6,5 +6,5 @@ "use strict";

});
exports.default = exports.fileExist = exports.noSuchFile = void 0;
exports.default = void 0;
var _httpErrors = _interopRequireDefault(require("http-errors"));
var _commonsApi = require("@verdaccio/commons-api");

@@ -19,19 +19,2 @@ var _memoryFs = _interopRequireDefault(require("memory-fs"));

const noSuchFile = 'ENOENT';
exports.noSuchFile = noSuchFile;
const fileExist = 'EEXISTS';
exports.fileExist = fileExist;
const fSError = function (message, code = 404) {
const err = (0, _httpErrors.default)(code, message);
err.code = message;
return err;
};
const noPackageFoundError = function (message = 'no such package') {
const err = (0, _httpErrors.default)(404, message);
err.code = noSuchFile;
return err;
};
const fs = new _memoryFs.default();

@@ -75,3 +58,3 @@

} catch (err) {
return onEnd(fSError('error on parse', 500));
return onEnd((0, _commonsApi.getInternalError)('error on parse packument'));
}

@@ -99,3 +82,3 @@ });

} catch (err) {
cb(fSError(err.message, 500));
cb((0, _commonsApi.getInternalError)(err.message));
}

@@ -112,5 +95,5 @@

try {
cb(isJson ? noPackageFoundError() : null, JSON.parse(json));
cb(isJson ? (0, _commonsApi.getNotFound)() : null, JSON.parse(json));
} catch (err) {
cb(noPackageFoundError());
cb((0, _commonsApi.getNotFound)());
}

@@ -125,3 +108,3 @@ }

if (!fileError && stats) {
return uploadStream.emit('error', fSError(fileExist));
return uploadStream.emit('error', (0, _commonsApi.getConflict)());
}

@@ -142,3 +125,3 @@

uploadStream.abort = function () {
uploadStream.emit('error', fSError('transmision aborted', 400));
uploadStream.emit('error', (0, _commonsApi.getBadRequest)('transmision aborted'));
file.end();

@@ -162,3 +145,3 @@ };

if (fileError && !stats) {
return readTarballStream.emit('error', noPackageFoundError());
return readTarballStream.emit('error', (0, _commonsApi.getNotFound)());
}

@@ -177,3 +160,3 @@

readTarballStream.abort = function () {
readStream.destroy(fSError('read has been aborted', 400));
readStream.destroy((0, _commonsApi.getBadRequest)('read has been aborted'));
};

@@ -196,2 +179,2 @@ } catch (err) {

exports.default = _default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tZW1vcnktaGFuZGxlci50cyJdLCJuYW1lcyI6WyJub1N1Y2hGaWxlIiwiZmlsZUV4aXN0IiwiZlNFcnJvciIsIm1lc3NhZ2UiLCJjb2RlIiwiZXJyIiwibm9QYWNrYWdlRm91bmRFcnJvciIsImZzIiwiTWVtb3J5RmlsZVN5c3RlbSIsIk1lbW9yeUhhbmRsZXIiLCJjb25zdHJ1Y3RvciIsInBhY2thZ2VOYW1lIiwiZGF0YSIsImxvZ2dlciIsIm5hbWUiLCJwYXRoIiwidXBkYXRlUGFja2FnZSIsInBrZ0ZpbGVOYW1lIiwidXBkYXRlSGFuZGxlciIsIm9uV3JpdGUiLCJ0cmFuc2Zvcm1QYWNrYWdlIiwib25FbmQiLCJqc29uIiwiX2dldFN0b3JhZ2UiLCJwa2ciLCJKU09OIiwicGFyc2UiLCJkZWxldGVQYWNrYWdlIiwicGtnTmFtZSIsImNhbGxiYWNrIiwicmVtb3ZlUGFja2FnZSIsImNyZWF0ZVBhY2thZ2UiLCJ2YWx1ZSIsImNiIiwic2F2ZVBhY2thZ2UiLCJzdHJpbmdpZnkiLCJyZWFkUGFja2FnZSIsImlzSnNvbiIsIndyaXRlVGFyYmFsbCIsInVwbG9hZFN0cmVhbSIsIlVwbG9hZFRhcmJhbGwiLCJ0ZW1wb3JhbE5hbWUiLCJwcm9jZXNzIiwibmV4dFRpY2siLCJzdGF0IiwiZmlsZUVycm9yIiwic3RhdHMiLCJlbWl0IiwiZmlsZSIsImNyZWF0ZVdyaXRlU3RyZWFtIiwicGlwZSIsImRvbmUiLCJvbiIsImFib3J0IiwiZW5kIiwicmVhZFRhcmJhbGwiLCJwYXRoTmFtZSIsInJlYWRUYXJiYWxsU3RyZWFtIiwiUmVhZFRhcmJhbGwiLCJyZWFkU3RyZWFtIiwiY3JlYXRlUmVhZFN0cmVhbSIsImNvbnRlbnRMZW5ndGgiLCJsZW5ndGgiLCJlcnJvciIsImRlc3Ryb3kiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7Ozs7O0FBZU8sTUFBTUEsVUFBVSxHQUFHLFFBQW5COztBQUNBLE1BQU1DLFNBQVMsR0FBRyxTQUFs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cnJvciB9IGZyb20gJ2h0dHAtZXJyb3JzJztcbmltcG9ydCBNZW1vcnlGaWxlU3lzdGVtIGZyb20gJ21lbW9yeS1mcyc7XG5pbXBvcnQgeyBVcGxvYWRUYXJiYWxsLCBSZWFkVGFyYmFsbCB9IGZyb20gJ0B2ZXJkYWNjaW8vc3RyZWFtcyc7XG5pbXBvcnQge1xuICBDYWxsYmFjayxcbiAgTG9nZ2VyLFxuICBJUGFja2FnZVN0b3JhZ2VNYW5hZ2VyLFxuICBJVXBsb2FkVGFyYmFsbCxcbiAgSVJlYWRUYXJiYWxsLFxuICBDYWxsYmFja0FjdGlvbixcbiAgU3RvcmFnZVVwZGF0ZUNhbGxiYWNrLFxuICBTdG9yYWdlV3JpdGVDYWxsYmFjayxcbiAgUGFja2FnZVRyYW5zZm9ybWVyLFxuICBQYWNrYWdlLFxuICBSZWFkUGFja2FnZUNhbGxiYWNrLFxufSBmcm9tICdAdmVyZGFjY2lvL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IG5vU3VjaEZpbGUgPSAnRU5PRU5UJztcbmV4cG9ydCBjb25zdCBmaWxlRXhpc3QgPSAnRUVYSVNUUyc7XG5cbmNvbnN0IGZTRXJyb3IgPSBmdW5jdGlvbihtZXNzYWdlOiBzdHJpbmcsIGNvZGUgPSA0MDQpOiBIdHRwRXJyb3Ige1xuICBjb25zdCBlcnI6IEh0dHBFcnJvciA9IGNyZWF0ZUVycm9yKGNvZGUsIG1lc3NhZ2UpO1xuXG4gIGVyci5jb2RlID0gbWVzc2FnZTtcblxuICByZXR1cm4gZXJyO1xufTtcblxuY29uc3Qgbm9QYWNrYWdlRm91bmRFcnJvciA9IGZ1bmN0aW9uKG1lc3NhZ2UgPSAnbm8gc3VjaCBwYWNrYWdlJyk6IEh0dHBFcnJvciB7XG4gIGNvbnN0IGVycjogSHR0cEVycm9yID0gY3JlYXRlRXJyb3IoNDA0LCBtZXNzYWdlKTtcblxuICBlcnIuY29kZSA9IG5vU3VjaEZpbGU7XG4gIHJldHVybiBlcnI7XG59O1xuXG5jb25zdCBmcyA9IG5ldyBNZW1vcnlGaWxlU3lzdGVtKCk7XG5cbmNsYXNzIE1lbW9yeUhhbmRsZXIgaW1wbGVtZW50cyBJUGFja2FnZVN0b3JhZ2VNYW5hZ2VyIHtcbiAgcHJpdmF0ZSBkYXRhOiBhbnk7XG4gIHByaXZhdGUgbmFtZTogc3RyaW5nO1xuICBwcml2YXRlIHBhdGg6IHN0cmluZztcbiAgcHVibGljIGxvZ2dlcjogTG9nZ2VyO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihwYWNrYWdlTmFtZTogc3RyaW5nLCBkYXRhOiBhbnksIGxvZ2dlcjogTG9nZ2VyKSB7XG4gICAgLy8gdGhpcyBpcyBub3QgbmVlZCBpdFxuICAgIHRoaXMuZGF0YSA9IGRhdGE7XG4gICAgdGhpcy5uYW1lID0gcGFja2FnZU5hbWU7XG4gICAgdGhpcy5sb2dnZXIgPSBsb2dnZXI7XG4gICAgdGhpcy5wYXRoID0gJy8nO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZVBhY2thZ2UoXG4gICAgcGtnRmlsZU5hbWU6IHN0cmluZyxcbiAgICB1cGRhdGVIYW5kbGVyOiBTdG9yYWdlVXBkYXRlQ2FsbGJhY2ssXG4gICAgb25Xcml0ZTogU3RvcmFnZVdyaXRlQ2FsbGJhY2ssXG4gICAgdHJhbnNmb3JtUGFja2FnZTogUGFja2FnZVRyYW5zZm9ybWVyLFxuICAgIG9uRW5kOiBDYWxsYmFja0FjdGlvblxuICApOiB2b2lkIHtcbiAgICBjb25zdCBqc29uOiBzdHJpbmcgPSB0aGlzLl9nZXRTdG9yYWdlKHBrZ0ZpbGVOYW1lKTtcbiAgICBsZXQgcGtnOiBQYWNrYWdlO1xuXG4gICAgdHJ5IHtcbiAgICAgIHBrZyA9IEpTT04ucGFyc2UoanNvbikgYXMgUGFja2FnZTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHJldHVybiBvbkVuZChlcnIpO1xuICAgIH1cblxuICAgIHVwZGF0ZUhhbmRsZXIocGtnLCAoZXJyOiBhbnkpID0+IHtcbiAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgcmV0dXJuIG9uRW5kKGVycik7XG4gICAgICB9XG4gICAgICB0cnkge1xuICAgICAgICBvbldyaXRlKHBrZ0ZpbGVOYW1lLCB0cmFuc2Zvcm1QYWNrYWdlKHBrZyksIG9uRW5kKTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICByZXR1cm4gb25FbmQoZlNFcnJvcignZXJyb3Igb24gcGFyc2UnLCA1MDApKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBkZWxldGVQYWNrYWdlKHBrZ05hbWU6IHN0cmluZywgY2FsbGJhY2s6IENhbGxiYWNrKTogdm9pZCB7XG4gICAgZGVsZXRlIHRoaXMuZGF0YVtwa2dOYW1lXTtcbiAgICBjYWxsYmFjayhudWxsKTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVQYWNrYWdlKGNhbGxiYWNrOiBDYWxsYmFja0FjdGlvbik6IHZvaWQge1xuICAgIGNhbGxiYWNrKG51bGwpO1xuICB9XG5cbiAgcHVibGljIGNyZWF0ZVBhY2thZ2UobmFtZTogc3RyaW5nLCB2YWx1ZTogUmVjb3JkPHN0cmluZywgYW55PiwgY2I6IENhbGxiYWNrQWN0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5zYXZlUGFja2FnZShuYW1lLCB2YWx1ZSwgY2IpO1xuICB9XG5cbiAgcHVibGljIHNhdmVQYWNrYWdlKG5hbWU6IHN0cmluZywgdmFsdWU6IFJlY29yZDxzdHJpbmcsIGFueT4sIGNiOiBDYWxsYmFja0FjdGlvbik6IHZvaWQge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBqc29uOiBzdHJpbmcgPSBKU09OLnN0cmluZ2lmeSh2YWx1ZSwgbnVsbCwgJ1xcdCcpO1xuXG4gICAgICB0aGlzLmRhdGFbbmFtZV0gPSBqc29uO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgY2IoZlNFcnJvcihlcnIubWVzc2FnZSwgNTAwKSk7XG4gICAgfVxuXG4gICAgY2IobnVsbCk7XG4gIH1cblxuICBwdWJsaWMgcmVhZFBhY2thZ2UobmFtZTogc3RyaW5nLCBjYjogUmVhZFBhY2thZ2VDYWxsYmFjayk6IHZvaWQge1xuICAgIGNvbnN0IGpzb24gPSB0aGlzLl9nZXRTdG9yYWdlKG5hbWUpO1xuICAgIGNvbnN0IGlzSnNvbiA9IHR5cGVvZiBqc29uID09PSAndW5kZWZpbmVkJztcblxuICAgIHRyeSB7XG4gICAgICBjYihpc0pzb24gPyBub1BhY2thZ2VGb3VuZEVycm9yKCkgOiBudWxsLCBKU09OLnBhcnNlKGpzb24pKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNiKG5vUGFja2FnZUZvdW5kRXJyb3IoKSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHdyaXRlVGFyYmFsbChuYW1lOiBzdHJpbmcpOiBJVXBsb2FkVGFyYmFsbCB7XG4gICAgY29uc3QgdXBsb2FkU3RyZWFtOiBJVXBsb2FkVGFyYmFsbCA9IG5ldyBVcGxvYWRUYXJiYWxsKHt9KTtcbiAgICBjb25zdCB0ZW1wb3JhbE5hbWUgPSBgLyR7bmFtZX1gO1xuXG4gICAgcHJvY2Vzcy5uZXh0VGljayhmdW5jdGlvbigpIHtcbiAgICAgIGZzLnN0YXQodGVtcG9yYWxOYW1lLCBmdW5jdGlvbihmaWxlRXJyb3IsIHN0YXRzKSB7XG4gICAgICAgIGlmICghZmlsZUVycm9yICYmIHN0YXRzKSB7XG4gICAgICAgICAgcmV0dXJuIHVwbG9hZFN0cmVhbS5lbWl0KCdlcnJvcicsIGZTRXJyb3IoZmlsZUV4aXN0KSk7XG4gICAgICAgIH1cblxuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IGZpbGUgPSBmcy5jcmVhdGVXcml0ZVN0cmVhbSh0ZW1wb3JhbE5hbWUpO1xuXG4gICAgICAgICAgdXBsb2FkU3RyZWFtLnBpcGUoZmlsZSk7XG5cbiAgICAgICAgICB1cGxvYWRTdHJlYW0uZG9uZSA9IGZ1bmN0aW9uKCk6IHZvaWQge1xuICAgICAgICAgICAgY29uc3Qgb25FbmQgPSBmdW5jdGlvbigpOiB2b2lkIHtcbiAgICAgICAgICAgICAgdXBsb2FkU3RyZWFtLmVtaXQoJ3N1Y2Nlc3MnKTtcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHVwbG9hZFN0cmVhbS5vbignZW5kJywgb25FbmQpO1xuICAgICAgICAgIH07XG5cbiAgICAgICAgICB1cGxvYWRTdHJlYW0uYWJvcnQgPSBmdW5jdGlvbigpOiB2b2lkIHtcbiAgICAgICAgICAgIHVwbG9hZFN0cmVhbS5lbWl0KCdlcnJvcicsIGZTRXJyb3IoJ3RyYW5zbWlzaW9uIGFib3J0ZWQnLCA0MDApKTtcbiAgICAgICAgICAgIGZpbGUuZW5kKCk7XG4gICAgICAgICAgfTtcblxuICAgICAgICAgIHVwbG9hZFN0cmVhbS5lbWl0KCdvcGVuJyk7XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgIHVwbG9hZFN0cmVhbS5lbWl0KCdlcnJvcicsIGVycik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHVwbG9hZFN0cmVhbTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkVGFyYmFsbChuYW1lOiBzdHJpbmcpOiBJUmVhZFRhcmJhbGwge1xuICAgIGNvbnN0IHBhdGhOYW1lID0gYC8ke25hbWV9YDtcblxuICAgIGNvbnN0IHJlYWRUYXJiYWxsU3RyZWFtOiBJUmVhZFRhcmJhbGwgPSBuZXcgUmVhZFRhcmJhbGwoe30pO1xuXG4gICAgcHJvY2Vzcy5uZXh0VGljayhmdW5jdGlvbigpIHtcbiAgICAgIGZzLnN0YXQocGF0aE5hbWUsIGZ1bmN0aW9uKGZpbGVFcnJvciwgc3RhdHMpIHtcbiAgICAgICAgaWYgKGZpbGVFcnJvciAmJiAhc3RhdHMpIHtcbiAgICAgICAgICByZXR1cm4gcmVhZFRhcmJhbGxTdHJlYW0uZW1pdCgnZXJyb3InLCBub1BhY2thZ2VGb3VuZEVycm9yKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCByZWFkU3RyZWFtID0gZnMuY3JlYXRlUmVhZFN0cmVhbShwYXRoTmFtZSk7XG5cbiAgICAgICAgICBjb25zdCBjb250ZW50TGVuZ3RoOiBudW1iZXIgPSAoZnMuZGF0YVtuYW1lXSAmJiBmcy5kYXRhW25hbWVdLmxlbmd0aCkgfHwgMDtcbiAgICAgICAgICByZWFkVGFyYmFsbFN0cmVhbS5lbWl0KCdjb250ZW50LWxlbmd0aCcsIGNvbnRlbnRMZW5ndGgpO1xuICAgICAgICAgIHJlYWRUYXJiYWxsU3RyZWFtLmVtaXQoJ29wZW4nKTtcbiAgICAgICAgICByZWFkU3RyZWFtLnBpcGUocmVhZFRhcmJhbGxTdHJlYW0pO1xuICAgICAgICAgIHJlYWRTdHJlYW0ub24oJ2Vycm9yJywgKGVycm9yOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHJlYWRUYXJiYWxsU3RyZWFtLmVtaXQoJ2Vycm9yJywgZXJyb3IpO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgcmVhZFRhcmJhbGxTdHJlYW0uYWJvcnQgPSBmdW5jdGlvbigpOiB2b2lkIHtcbiAgICAgICAgICAgIHJlYWRTdHJlYW0uZGVzdHJveShmU0Vycm9yKCdyZWFkIGhhcyBiZWVuIGFib3J0ZWQnLCA0MDApKTtcbiAgICAgICAgICB9O1xuICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICByZWFkVGFyYmFsbFN0cmVhbS5lbWl0KCdlcnJvcicsIGVycik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHJlYWRUYXJiYWxsU3RyZWFtO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0U3RvcmFnZShuYW1lID0gJycpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmRhdGFbbmFtZV07XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgTWVtb3J5SGFuZGxlcjtcbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tZW1vcnktaGFuZGxlci50cyJdLCJuYW1lcyI6WyJmcyIsIk1lbW9yeUZpbGVTeXN0ZW0iLCJNZW1vcnlIYW5kbGVyIiwiY29uc3RydWN0b3IiLCJwYWNrYWdlTmFtZSIsImRhdGEiLCJsb2dnZXIiLCJuYW1lIiwicGF0aCIsInVwZGF0ZVBhY2thZ2UiLCJwa2dGaWxlTmFtZSIsInVwZGF0ZUhhbmRsZXIiLCJvbldyaXRlIiwidHJhbnNmb3JtUGFja2FnZSIsIm9uRW5kIiwianNvbiIsIl9nZXRTdG9yYWdlIiwicGtnIiwiSlNPTiIsInBhcnNlIiwiZXJyIiwiZGVsZXRlUGFja2FnZSIsInBrZ05hbWUiLCJjYWxsYmFjayIsInJlbW92ZVBhY2thZ2UiLCJjcmVhdGVQYWNrYWdlIiwidmFsdWUiLCJjYiIsInNhdmVQYWNrYWdlIiwic3RyaW5naWZ5IiwibWVzc2FnZSIsInJlYWRQYWNrYWdlIiwiaXNKc29uIiwid3JpdGVUYXJiYWxsIiwidXBsb2FkU3RyZWFtIiwiVXBsb2FkVGFyYmFsbCIsInRlbXBvcmFsTmFtZSIsInByb2Nlc3MiLCJuZXh0VGljayIsInN0YXQiLCJmaWxlRXJyb3IiLCJzdGF0cyIsImVtaXQiLCJmaWxlIiwiY3JlYXRlV3JpdGVTdHJlYW0iLCJwaXBlIiwiZG9uZSIsIm9uIiwiYWJvcnQiLCJlbmQiLCJyZWFkVGFyYmFsbCIsInBhdGhOYW1lIiwicmVhZFRhcmJhbGxTdHJlYW0iLCJSZWFkVGFyYmFsbCIsInJlYWRTdHJlYW0iLCJjcmVhdGVSZWFkU3RyZWFtIiwiY29udGVudExlbmd0aCIsImxlbmd0aCIsImVycm9yIiwiZGVzdHJveSJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUNBOztBQUNBOzs7Ozs7QUFlQSxNQUFNQSxFQUFFLEdBQUcsSUFBSUMsaUJBQUosRUFBWDs7QUFNQSxNQUFNQyxhQUFOLENBQXNEO0FBTTdDQyxFQUFBQSxXQUFQLENBQW1CQyxXQUFuQixFQUF3Q0MsSUFBeEMsRUFBMkRDLE1BQTNE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RkQ7QUFHRCxTQWRELENBY0UsT0FBT3ZDLEdBQVAsRUFBWTtBQUNaZ0MsVUFBQUEsaUJBQWlCLENBQUNWLElBQWxCLENBQXVCLE9BQXZCLEVBQWdDdEIsR0FBaEM7QUFDRDtBQUNGLE9BdEJEO0FBdUJELEtBeEJEO0FBMEJBLFdBQU9nQyxpQkFBUDtBQUNEOztBQUVPcEMsRUFBQUEsV0FBUixDQUFvQlQsSUFBSSxHQUFHLEVBQTNCLEVBQXVDO0FBQ3JDLFdBQU8sS0FBS0YsSUFBTCxDQUFVRSxJQUFWLENBQVA7QUFDRDs7QUF4Sm1EOztlQTJKdkNMLGEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWZXJkYWNjaW9FcnJvciwgZ2V0QmFkUmVxdWVzdCwgZ2V0SW50ZXJuYWxFcnJvciwgZ2V0Q29uZmxpY3QsIGdldE5vdEZvdW5kIH0gZnJvbSAnQHZlcmRhY2Npby9jb21tb25zLWFwaSc7XG5pbXBvcnQgTWVtb3J5RmlsZVN5c3RlbSBmcm9tICdtZW1vcnktZnMnO1xuaW1wb3J0IHsgVXBsb2FkVGFyYmFsbCwgUmVhZFRhcmJhbGwgfSBmcm9tICdAdmVyZGFjY2lvL3N0cmVhbXMnO1xuaW1wb3J0IHtcbiAgQ2FsbGJhY2ssXG4gIExvZ2dlcixcbiAgSVBhY2thZ2VTdG9yYWdlTWFuYWdlcixcbiAgSVVwbG9hZFRhcmJhbGwsXG4gIElSZWFkVGFyYmFsbCxcbiAgQ2FsbGJhY2tBY3Rpb24sXG4gIFN0b3JhZ2VVcGRhdGVDYWxsYmFjayxcbiAgU3RvcmFnZVdyaXRlQ2FsbGJhY2ssXG4gIFBhY2thZ2VUcmFuc2Zvcm1lcixcbiAgUGFja2FnZSxcbiAgUmVhZFBhY2thZ2VDYWxsYmFjayxcbn0gZnJvbSAnQHZlcmRhY2Npby90eXBlcyc7XG5cbmNvbnN0IGZzID0gbmV3IE1lbW9yeUZpbGVTeXN0ZW0oKTtcblxuZXhwb3J0IHR5cGUgRGF0YUhhbmRsZXIgPSB7XG4gIFtrZXk6IHN0cmluZ106IHN0cmluZztcbn07XG5cbmNsYXNzIE1lbW9yeUhhbmRsZXIgaW1wbGVtZW50cyBJUGFja2FnZVN0b3JhZ2VNYW5hZ2VyIHtcbiAgcHJpdmF0ZSBkYXRhOiBEYXRhSGFuZGxlcjtcbiAgcHJpdmF0ZSBuYW1lOiBzdHJpbmc7XG4gIHByaXZhdGUgcGF0aDogc3RyaW5nO1xuICBwdWJsaWMgbG9nZ2VyOiBMb2dnZXI7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHBhY2thZ2VOYW1lOiBzdHJpbmcsIGRhdGE6IERhdGFIYW5kbGVyLCBsb2dnZXI6IExvZ2dlcikge1xuICAgIC8vIHRoaXMgaXMgbm90IG5lZWQgaXRcbiAgICB0aGlzLmRhdGEgPSBkYXRhO1xuICAgIHRoaXMubmFtZSA9IHBhY2thZ2VOYW1lO1xuICAgIHRoaXMubG9nZ2VyID0gbG9nZ2VyO1xuICAgIHRoaXMucGF0aCA9ICcvJztcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVQYWNrYWdlKFxuICAgIHBrZ0ZpbGVOYW1lOiBzdHJpbmcsXG4gICAgdXBkYXRlSGFuZGxlcjogU3RvcmFnZVVwZGF0ZUNhbGxiYWNrLFxuICAgIG9uV3JpdGU6IFN0b3JhZ2VXcml0ZUNhbGxiYWNrLFxuICAgIHRyYW5zZm9ybVBhY2thZ2U6IFBhY2thZ2VUcmFuc2Zvcm1lcixcbiAgICBvbkVuZDogQ2FsbGJhY2tBY3Rpb25cbiAgKTogdm9pZCB7XG4gICAgY29uc3QganNvbjogc3RyaW5nID0gdGhpcy5fZ2V0U3RvcmFnZShwa2dGaWxlTmFtZSk7XG4gICAgbGV0IHBrZzogUGFja2FnZTtcblxuICAgIHRyeSB7XG4gICAgICBwa2cgPSBKU09OLnBhcnNlKGpzb24pIGFzIFBhY2thZ2U7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICByZXR1cm4gb25FbmQoZXJyKTtcbiAgICB9XG5cbiAgICB1cGRhdGVIYW5kbGVyKHBrZywgKGVycjogVmVyZGFjY2lvRXJyb3IpID0+IHtcbiAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgcmV0dXJuIG9uRW5kKGVycik7XG4gICAgICB9XG4gICAgICB0cnkge1xuICAgICAgICBvbldyaXRlKHBrZ0ZpbGVOYW1lLCB0cmFuc2Zvcm1QYWNrYWdlKHBrZyksIG9uRW5kKTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICByZXR1cm4gb25FbmQoZ2V0SW50ZXJuYWxFcnJvcignZXJyb3Igb24gcGFyc2UgcGFja3VtZW50JykpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGRlbGV0ZVBhY2thZ2UocGtnTmFtZTogc3RyaW5nLCBjYWxsYmFjazogQ2FsbGJhY2spOiB2b2lkIHtcbiAgICBkZWxldGUgdGhpcy5kYXRhW3BrZ05hbWVdO1xuICAgIGNhbGxiYWNrKG51bGwpO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZVBhY2thZ2UoY2FsbGJhY2s6IENhbGxiYWNrQWN0aW9uKTogdm9pZCB7XG4gICAgY2FsbGJhY2sobnVsbCk7XG4gIH1cblxuICBwdWJsaWMgY3JlYXRlUGFja2FnZShuYW1lOiBzdHJpbmcsIHZhbHVlOiBQYWNrYWdlLCBjYjogQ2FsbGJhY2tBY3Rpb24pOiB2b2lkIHtcbiAgICB0aGlzLnNhdmVQYWNrYWdlKG5hbWUsIHZhbHVlLCBjYik7XG4gIH1cblxuICBwdWJsaWMgc2F2ZVBhY2thZ2UobmFtZTogc3RyaW5nLCB2YWx1ZTogUGFja2FnZSwgY2I6IENhbGxiYWNrQWN0aW9uKTogdm9pZCB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGpzb246IHN0cmluZyA9IEpTT04uc3RyaW5naWZ5KHZhbHVlLCBudWxsLCAnXFx0Jyk7XG5cbiAgICAgIHRoaXMuZGF0YVtuYW1lXSA9IGpzb247XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBjYihnZXRJbnRlcm5hbEVycm9yKGVyci5tZXNzYWdlKSk7XG4gICAgfVxuXG4gICAgY2IobnVsbCk7XG4gIH1cblxuICBwdWJsaWMgcmVhZFBhY2thZ2UobmFtZTogc3RyaW5nLCBjYjogUmVhZFBhY2thZ2VDYWxsYmFjayk6IHZvaWQge1xuICAgIGNvbnN0IGpzb24gPSB0aGlzLl9nZXRTdG9yYWdlKG5hbWUpO1xuICAgIGNvbnN0IGlzSnNvbiA9IHR5cGVvZiBqc29uID09PSAndW5kZWZpbmVkJztcblxuICAgIHRyeSB7XG4gICAgICBjYihpc0pzb24gPyBnZXROb3RGb3VuZCgpIDogbnVsbCwgSlNPTi5wYXJzZShqc29uKSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBjYihnZXROb3RGb3VuZCgpKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgd3JpdGVUYXJiYWxsKG5hbWU6IHN0cmluZyk6IElVcGxvYWRUYXJiYWxsIHtcbiAgICBjb25zdCB1cGxvYWRTdHJlYW06IElVcGxvYWRUYXJiYWxsID0gbmV3IFVwbG9hZFRhcmJhbGwoe30pO1xuICAgIGNvbnN0IHRlbXBvcmFsTmFtZSA9IGAvJHtuYW1lfWA7XG5cbiAgICBwcm9jZXNzLm5leHRUaWNrKGZ1bmN0aW9uKCkge1xuICAgICAgZnMuc3RhdCh0ZW1wb3JhbE5hbWUsIGZ1bmN0aW9uKGZpbGVFcnJvciwgc3RhdHMpIHtcbiAgICAgICAgaWYgKCFmaWxlRXJyb3IgJiYgc3RhdHMpIHtcbiAgICAgICAgICByZXR1cm4gdXBsb2FkU3RyZWFtLmVtaXQoJ2Vycm9yJywgZ2V0Q29uZmxpY3QoKSk7XG4gICAgICAgIH1cblxuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IGZpbGUgPSBmcy5jcmVhdGVXcml0ZVN0cmVhbSh0ZW1wb3JhbE5hbWUpO1xuXG4gICAgICAgICAgdXBsb2FkU3RyZWFtLnBpcGUoZmlsZSk7XG5cbiAgICAgICAgICB1cGxvYWRTdHJlYW0uZG9uZSA9IGZ1bmN0aW9uKCk6IHZvaWQge1xuICAgICAgICAgICAgY29uc3Qgb25FbmQgPSBmdW5jdGlvbigpOiB2b2lkIHtcbiAgICAgICAgICAgICAgdXBsb2FkU3RyZWFtLmVtaXQoJ3N1Y2Nlc3MnKTtcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHVwbG9hZFN0cmVhbS5vbignZW5kJywgb25FbmQpO1xuICAgICAgICAgIH07XG5cbiAgICAgICAgICB1cGxvYWRTdHJlYW0uYWJvcnQgPSBmdW5jdGlvbigpOiB2b2lkIHtcbiAgICAgICAgICAgIHVwbG9hZFN0cmVhbS5lbWl0KCdlcnJvcicsIGdldEJhZFJlcXVlc3QoJ3RyYW5zbWlzaW9uIGFib3J0ZWQnKSk7XG4gICAgICAgICAgICBmaWxlLmVuZCgpO1xuICAgICAgICAgIH07XG5cbiAgICAgICAgICB1cGxvYWRTdHJlYW0uZW1pdCgnb3BlbicpO1xuICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICB1cGxvYWRTdHJlYW0uZW1pdCgnZXJyb3InLCBlcnIpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIHJldHVybiB1cGxvYWRTdHJlYW07XG4gIH1cblxuICBwdWJsaWMgcmVhZFRhcmJhbGwobmFtZTogc3RyaW5nKTogSVJlYWRUYXJiYWxsIHtcbiAgICBjb25zdCBwYXRoTmFtZSA9IGAvJHtuYW1lfWA7XG5cbiAgICBjb25zdCByZWFkVGFyYmFsbFN0cmVhbTogSVJlYWRUYXJiYWxsID0gbmV3IFJlYWRUYXJiYWxsKHt9KTtcblxuICAgIHByb2Nlc3MubmV4dFRpY2soZnVuY3Rpb24oKSB7XG4gICAgICBmcy5zdGF0KHBhdGhOYW1lLCBmdW5jdGlvbihmaWxlRXJyb3IsIHN0YXRzKSB7XG4gICAgICAgIGlmIChmaWxlRXJyb3IgJiYgIXN0YXRzKSB7XG4gICAgICAgICAgcmV0dXJuIHJlYWRUYXJiYWxsU3RyZWFtLmVtaXQoJ2Vycm9yJywgZ2V0Tm90Rm91bmQoKSk7XG4gICAgICAgIH1cblxuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IHJlYWRTdHJlYW0gPSBmcy5jcmVhdGVSZWFkU3RyZWFtKHBhdGhOYW1lKTtcblxuICAgICAgICAgIGNvbnN0IGNvbnRlbnRMZW5ndGg6IG51bWJlciA9IChmcy5kYXRhW25hbWVdICYmIGZzLmRhdGFbbmFtZV0ubGVuZ3RoKSB8fCAwO1xuICAgICAgICAgIHJlYWRUYXJiYWxsU3RyZWFtLmVtaXQoJ2NvbnRlbnQtbGVuZ3RoJywgY29udGVudExlbmd0aCk7XG4gICAgICAgICAgcmVhZFRhcmJhbGxTdHJlYW0uZW1pdCgnb3BlbicpO1xuICAgICAgICAgIHJlYWRTdHJlYW0ucGlwZShyZWFkVGFyYmFsbFN0cmVhbSk7XG4gICAgICAgICAgcmVhZFN0cmVhbS5vbignZXJyb3InLCAoZXJyb3I6IFZlcmRhY2Npb0Vycm9yKSA9PiB7XG4gICAgICAgICAgICByZWFkVGFyYmFsbFN0cmVhbS5lbWl0KCdlcnJvcicsIGVycm9yKTtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIHJlYWRUYXJiYWxsU3RyZWFtLmFib3J0ID0gZnVuY3Rpb24oKTogdm9pZCB7XG4gICAgICAgICAgICByZWFkU3RyZWFtLmRlc3Ryb3koZ2V0QmFkUmVxdWVzdCgncmVhZCBoYXMgYmVlbiBhYm9ydGVkJykpO1xuICAgICAgICAgIH07XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgIHJlYWRUYXJiYWxsU3RyZWFtLmVtaXQoJ2Vycm9yJywgZXJyKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcmVhZFRhcmJhbGxTdHJlYW07XG4gIH1cblxuICBwcml2YXRlIF9nZXRTdG9yYWdlKG5hbWUgPSAnJyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YVtuYW1lXTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBNZW1vcnlIYW5kbGVyO1xuIl19
{
"name": "verdaccio-memory",
"version": "9.3.1",
"version": "9.3.2",
"description": "Storage implementation in memory",

@@ -31,10 +31,9 @@ "keywords": [

"dependencies": {
"@verdaccio/commons-api": "^9.3.1",
"@verdaccio/streams": "^9.3.1",
"http-errors": "1.7.3",
"@verdaccio/commons-api": "^9.3.2",
"@verdaccio/streams": "^9.3.2",
"memory-fs": "0.5.0"
},
"devDependencies": {
"@verdaccio/babel-preset": "^9.3.1",
"@verdaccio/eslint-config": "^9.0.0",
"@verdaccio/babel-preset": "^9.3.2",
"@verdaccio/eslint-config": "^9.3.2",
"@verdaccio/types": "^9.3.0"

@@ -57,3 +56,3 @@ },

},
"gitHead": "df1fa45b7d8643ecfb0cb117e03ca6e7da77a8b0"
"gitHead": "d8af80dd28afc238b2ffaa6eafab5344fab38a81"
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc