UNPKG

2.01 kBTypeScriptView Raw
1/// <reference types="node" />
2import { ReadTarball } from '@verdaccio/streams';
3import { Callback, Logger, Package, ILocalPackageManager, IUploadTarball } from '@verdaccio/types';
4import { VerdaccioError } from '@verdaccio/commons-api/lib';
5export declare const fileExist = "EEXISTS";
6export declare const noSuchFile = "ENOENT";
7export declare const resourceNotAvailable = "EAGAIN";
8export declare const pkgFileName = "package.json";
9export declare const fSError: (message: string, code?: number) => VerdaccioError;
10export declare type ILocalFSPackageManager = ILocalPackageManager & {
11 path: string;
12};
13export default class LocalFS implements ILocalFSPackageManager {
14 path: string;
15 logger: Logger;
16 constructor(path: string, logger: Logger);
17 /**
18 * This function allows to update the package thread-safely
19 Algorithm:
20 1. lock package.json for writing
21 2. read package.json
22 3. updateFn(pkg, cb), and wait for cb
23 4. write package.json.tmp
24 5. move package.json.tmp package.json
25 6. callback(err?)
26 * @param {*} name
27 * @param {*} updateHandler
28 * @param {*} onWrite
29 * @param {*} transformPackage
30 * @param {*} onEnd
31 */
32 updatePackage(name: string, updateHandler: Callback, onWrite: Callback, transformPackage: Function, onEnd: Callback): void;
33 deletePackage(packageName: string, callback: (err: NodeJS.ErrnoException | null) => void): void;
34 removePackage(callback: (err: NodeJS.ErrnoException | null) => void): void;
35 createPackage(name: string, value: Package, cb: Callback): void;
36 savePackage(name: string, value: Package, cb: Callback): void;
37 readPackage(name: string, cb: Callback): void;
38 writeTarball(name: string): IUploadTarball;
39 readTarball(name: string): ReadTarball;
40 private _createFile;
41 private _readStorageFile;
42 private _convertToString;
43 private _getStorage;
44 private _writeFile;
45 private _lockAndReadJSON;
46 private _unlockJSON;
47}