@verdaccio/local-storage 11.0.0-6-next.8 → 11.0.0-6-next.9
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 +14 -0
- package/build/local-fs.d.ts +1 -1
- package/build/local-fs.js +5 -4
- package/build/local-fs.js.map +1 -1
- package/package.json +7 -8
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
|
+
## 11.0.0-6-next.9
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 154b2ecd: refactor: remove @verdaccio/commons-api in favor @verdaccio/core and remove duplications
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies [794af76c]
|
|
12
|
+
- Updated dependencies [154b2ecd]
|
|
13
|
+
- @verdaccio/core@6.0.0-6-next.2
|
|
14
|
+
- @verdaccio/file-locking@11.0.0-6-next.4
|
|
15
|
+
- @verdaccio/streams@11.0.0-6-next.5
|
|
16
|
+
|
|
3
17
|
## 11.0.0-6-next.8
|
|
4
18
|
|
|
5
19
|
### Major Changes
|
package/build/local-fs.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ReadTarball } from '@verdaccio/streams';
|
|
2
2
|
import { Callback, Logger, Package, ILocalPackageManager, IUploadTarball } from '@verdaccio/types';
|
|
3
|
-
import { VerdaccioError } from '@verdaccio/
|
|
3
|
+
import { VerdaccioError } from '@verdaccio/core';
|
|
4
4
|
export declare const fileExist = "EEXISTS";
|
|
5
5
|
export declare const noSuchFile = "ENOENT";
|
|
6
6
|
export declare const resourceNotAvailable = "EAGAIN";
|
package/build/local-fs.js
CHANGED
|
@@ -17,7 +17,7 @@ var _streams = require("@verdaccio/streams");
|
|
|
17
17
|
|
|
18
18
|
var _fileLocking = require("@verdaccio/file-locking");
|
|
19
19
|
|
|
20
|
-
var
|
|
20
|
+
var _core = require("@verdaccio/core");
|
|
21
21
|
|
|
22
22
|
var _fs2 = require("./fs");
|
|
23
23
|
|
|
@@ -36,9 +36,10 @@ exports.packageJSONFileName = packageJSONFileName;
|
|
|
36
36
|
const debug = (0, _debug.default)('verdaccio:plugin:local-storage:local-fs');
|
|
37
37
|
|
|
38
38
|
const fSError = function (message, code = 409) {
|
|
39
|
-
const err =
|
|
39
|
+
const err = _core.errorUtils.getCode(code, message); // FIXME: we should return http-status codes here instead, future improvement
|
|
40
40
|
// @ts-ignore
|
|
41
41
|
|
|
42
|
+
|
|
42
43
|
err.code = message;
|
|
43
44
|
return err;
|
|
44
45
|
};
|
|
@@ -134,9 +135,9 @@ class LocalFS {
|
|
|
134
135
|
|
|
135
136
|
if (_lodash.default.isNil(err) === false) {
|
|
136
137
|
if (err.code === resourceNotAvailable) {
|
|
137
|
-
return unLockCallback(
|
|
138
|
+
return unLockCallback(_core.errorUtils.getInternalError('resource temporarily unavailable'));
|
|
138
139
|
} else if (err.code === noSuchFile) {
|
|
139
|
-
return unLockCallback(
|
|
140
|
+
return unLockCallback(_core.errorUtils.getNotFound());
|
|
140
141
|
} else {
|
|
141
142
|
return unLockCallback(err);
|
|
142
143
|
}
|
package/build/local-fs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/local-fs.ts"],"names":["fileExist","noSuchFile","resourceNotAvailable","packageJSONFileName","debug","fSError","message","code","err","tempFile","str","String","Math","random","substr","renameTmp","src","dst","_cb","cb","fs","unlink","process","platform","rename","tmp","LocalFS","constructor","path","logger","updatePackage","name","updateHandler","onWrite","transformPackage","onEnd","_lockAndReadJSON","json","locked","self","unLockCallback","lockError","_args","arguments","_unlockJSON","apply","_","isNil","deletePackage","packageName","_getStorage","removePackage","createPackage","value","_createFile","_convertToString","savePackage","_writeFile","readPackage","_readStorageFile","then","res","data","JSON","parse","toString","error","catch","writeTarball","uploadStream","UploadTarball","_ended","on","pathName","access","fileNotFound","exists","emit","temporalName","join","replace","file","createWriteStream","removeTempFile","opened","pipe","done","onend","end","abort","readTarball","readTarballStream","ReadTarball","readStream","createReadStream","fd","fstat","stats","size","close","contents","callback","open","stringify","fileName","storagePath","dest","createTempFile","tempFilePath","writeFile","mkdir","dirname","recursive","lock"],"mappings":"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","sourcesContent":["/* eslint-disable no-undef */\n\nimport fs from 'fs';\nimport path from 'path';\nimport buildDebug from 'debug';\n\nimport _ from 'lodash';\nimport { UploadTarball, ReadTarball } from '@verdaccio/streams';\nimport { unlockFile, readFile } from '@verdaccio/file-locking';\nimport { Callback, Logger, Package, ILocalPackageManager, IUploadTarball } from '@verdaccio/types';\nimport { getCode, getInternalError, getNotFound, VerdaccioError } from '@verdaccio/commons-api';\nimport { unlinkPromise, rmdirPromise, readFilePromise } from './fs';\n\nexport const fileExist = 'EEXISTS';\nexport const noSuchFile = 'ENOENT';\nexport const resourceNotAvailable = 'EAGAIN';\nexport const packageJSONFileName = 'package.json';\n\nconst debug = buildDebug('verdaccio:plugin:local-storage:local-fs');\n\nexport const fSError = function (message: string, code = 409): VerdaccioError {\n const err: VerdaccioError = getCode(code, message);\n // FIXME: we should return http-status codes here instead, future improvement\n // @ts-ignore\n err.code = message;\n\n return err;\n};\n\nconst tempFile = function (str): string {\n return `${str}.tmp${String(Math.random()).substr(2)}`;\n};\n\nconst renameTmp = function (src, dst, _cb): void {\n const cb = (err): void => {\n if (err) {\n fs.unlink(src, () => {});\n }\n _cb(err);\n };\n\n if (process.platform !== 'win32') {\n return fs.rename(src, dst, cb);\n }\n\n // windows can't remove opened file,\n // but it seem to be able to rename it\n const tmp = tempFile(dst);\n fs.rename(dst, tmp, function (err) {\n fs.rename(src, dst, cb);\n if (!err) {\n fs.unlink(tmp, () => {});\n }\n });\n};\n\nexport type ILocalFSPackageManager = ILocalPackageManager & { path: string };\n\nexport default class LocalFS implements ILocalFSPackageManager {\n public path: string;\n public logger: Logger;\n\n public constructor(path: string, logger: Logger) {\n this.path = path;\n this.logger = logger;\n }\n\n /**\n * This function allows to update the package thread-safely\n Algorithm:\n 1. lock package.json for writing\n 2. read package.json\n 3. updateFn(pkg, cb), and wait for cb\n 4. write package.json.tmp\n 5. move package.json.tmp package.json\n 6. callback(err?)\n * @param {*} name\n * @param {*} updateHandler\n * @param {*} onWrite\n * @param {*} transformPackage\n * @param {*} onEnd\n */\n public updatePackage(\n name: string,\n updateHandler: Callback,\n onWrite: Callback,\n transformPackage: Function,\n onEnd: Callback\n ): void {\n this._lockAndReadJSON(packageJSONFileName, (err, json) => {\n let locked = false;\n const self = this;\n // callback that cleans up lock first\n const unLockCallback = function (lockError: Error): void {\n // eslint-disable-next-line prefer-rest-params\n const _args = arguments;\n\n if (locked) {\n debug('unlock %s', packageJSONFileName);\n self._unlockJSON(packageJSONFileName, () => {\n // ignore any error from the unlock\n if (lockError !== null) {\n debug('lock file: %o has failed with error %o', name, lockError);\n }\n\n onEnd.apply(lockError, _args);\n });\n } else {\n debug('file: %o has been updated', name);\n onEnd(..._args);\n }\n };\n\n if (!err) {\n locked = true;\n debug('file: %o has been locked', name);\n }\n\n if (_.isNil(err) === false) {\n if (err.code === resourceNotAvailable) {\n return unLockCallback(getInternalError('resource temporarily unavailable'));\n } else if (err.code === noSuchFile) {\n return unLockCallback(getNotFound());\n } else {\n return unLockCallback(err);\n }\n }\n\n updateHandler(json, (err) => {\n if (err) {\n return unLockCallback(err);\n }\n\n onWrite(name, transformPackage(json), unLockCallback);\n });\n });\n }\n\n public async deletePackage(packageName: string): Promise<void> {\n debug('delete a file/package %o', packageName);\n\n return await unlinkPromise(this._getStorage(packageName));\n }\n\n public async removePackage(): Promise<void> {\n debug('remove a package folder %o', this.path);\n\n await rmdirPromise(this._getStorage('.'));\n }\n\n public createPackage(name: string, value: Package, cb: Callback): void {\n debug('create a package %o', name);\n\n this._createFile(this._getStorage(packageJSONFileName), this._convertToString(value), cb);\n }\n\n public savePackage(name: string, value: Package, cb: Callback): void {\n debug('save a package %o', name);\n\n this._writeFile(this._getStorage(packageJSONFileName), this._convertToString(value), cb);\n }\n\n public readPackage(name: string, cb: Callback): void {\n debug('read a package %o', name);\n\n this._readStorageFile(this._getStorage(packageJSONFileName))\n .then((res) => {\n try {\n const data: any = JSON.parse(res.toString('utf8'));\n\n debug('read storage file %o has succeed', name);\n cb(null, data);\n } catch (err: any) {\n debug('parse error');\n this.logger.error({ err, name }, 'error @{err.message} on parse @{name}');\n throw err;\n }\n })\n .catch((err) => {\n this.logger.error({ err }, 'error on read storage file @{err.message}');\n return cb(err);\n });\n }\n\n public writeTarball(name: string): IUploadTarball {\n const uploadStream = new UploadTarball({});\n debug('write a tarball for a package %o', name);\n\n let _ended = 0;\n uploadStream.on('end', function () {\n _ended = 1;\n });\n\n const pathName: string = this._getStorage(name);\n\n fs.access(pathName, (fileNotFound) => {\n const exists = !fileNotFound;\n if (exists) {\n uploadStream.emit('error', fSError(fileExist));\n } else {\n const temporalName = path.join(\n this.path,\n `${name}.tmp-${String(Math.random()).replace(/^0\\./, '')}`\n );\n debug('write a temporal name %o', temporalName);\n const file = fs.createWriteStream(temporalName);\n const removeTempFile = (): void => fs.unlink(temporalName, () => {});\n let opened = false;\n uploadStream.pipe(file);\n\n uploadStream.done = function (): void {\n const onend = function (): void {\n file.on('close', function () {\n renameTmp(temporalName, pathName, function (err) {\n if (err) {\n uploadStream.emit('error', err);\n } else {\n uploadStream.emit('success');\n }\n });\n });\n file.end();\n };\n if (_ended) {\n onend();\n } else {\n uploadStream.on('end', onend);\n }\n };\n\n uploadStream.abort = function (): void {\n if (opened) {\n opened = false;\n file.on('close', function () {\n removeTempFile();\n });\n } else {\n // if the file does not recieve any byte never is opened and has to be removed anyway.\n removeTempFile();\n }\n file.end();\n };\n\n file.on('open', function () {\n opened = true;\n // re-emitting open because it's handled in storage.js\n uploadStream.emit('open');\n });\n\n file.on('error', function (err) {\n uploadStream.emit('error', err);\n });\n }\n });\n\n return uploadStream;\n }\n\n public readTarball(name: string): ReadTarball {\n const pathName: string = this._getStorage(name);\n debug('read a a tarball %o on path %o', name, pathName);\n\n const readTarballStream = new ReadTarball({});\n\n const readStream = fs.createReadStream(pathName);\n\n readStream.on('error', function (err) {\n debug('error on read a tarball %o with error %o', name, err);\n readTarballStream.emit('error', err);\n });\n\n readStream.on('open', function (fd) {\n fs.fstat(fd, function (err, stats) {\n if (_.isNil(err) === false) {\n debug('error on read a tarball %o with error %o', name, err);\n return readTarballStream.emit('error', err);\n }\n readTarballStream.emit('content-length', stats.size);\n readTarballStream.emit('open');\n debug('open on read a tarball %o', name);\n readStream.pipe(readTarballStream);\n });\n });\n\n readTarballStream.abort = function (): void {\n debug('abort on read a tarball %o', name);\n readStream.close();\n };\n\n return readTarballStream;\n }\n\n private _createFile(name: string, contents: any, callback: Function): void {\n debug(' create a new file: %o', name);\n\n fs.open(name, 'wx', (err) => {\n if (err) {\n // native EEXIST used here to check exception on fs.open\n if (err.code === 'EEXIST') {\n debug('file %o cannot be created, it already exists: %o', name);\n return callback(fSError(fileExist));\n }\n }\n\n this._writeFile(name, contents, callback);\n });\n }\n\n private async _readStorageFile(name: string): Promise<any> {\n debug('reading the file: %o', name);\n try {\n debug('reading the file: %o', name);\n return await readFilePromise(name);\n } catch (err: any) {\n debug('error reading the file: %o with error %o', name, err.message);\n throw err;\n }\n }\n\n private _convertToString(value: Package): string {\n return JSON.stringify(value, null, '\\t');\n }\n\n private _getStorage(fileName = ''): string {\n const storagePath: string = path.join(this.path, fileName);\n\n return storagePath;\n }\n\n private _writeFile(dest: string, data: string, cb: Callback): void {\n const createTempFile = (cb): void => {\n const tempFilePath = tempFile(dest);\n\n fs.writeFile(tempFilePath, data, (err) => {\n if (err) {\n debug('error on write the file: %o', dest);\n return cb(err);\n }\n\n debug('creating a new file:: %o', dest);\n renameTmp(tempFilePath, dest, cb);\n });\n };\n\n createTempFile((err) => {\n if (err && err.code === noSuchFile) {\n fs.mkdir(path.dirname(dest), { recursive: true }, function (err) {\n if (err) {\n return cb(err);\n }\n createTempFile(cb);\n });\n } else {\n cb(err);\n }\n });\n }\n\n private _lockAndReadJSON(name: string, cb: Function): void {\n const fileName: string = this._getStorage(name);\n debug('lock and read a file %o', fileName);\n readFile(\n fileName,\n {\n lock: true,\n parse: true,\n },\n (err, res) => {\n if (err) {\n this.logger.error({ err }, 'error on lock file @{err.message}');\n debug('error on lock and read json for file: %o', name);\n\n return cb(err);\n }\n debug('lock and read json for file: %o', name);\n\n return cb(null, res);\n }\n );\n }\n\n private _unlockJSON(name: string, cb: Function): void {\n unlockFile(this._getStorage(name), cb);\n }\n}\n"],"file":"local-fs.js"}
|
|
1
|
+
{"version":3,"sources":["../src/local-fs.ts"],"names":["fileExist","noSuchFile","resourceNotAvailable","packageJSONFileName","debug","fSError","message","code","err","errorUtils","getCode","tempFile","str","String","Math","random","substr","renameTmp","src","dst","_cb","cb","fs","unlink","process","platform","rename","tmp","LocalFS","constructor","path","logger","updatePackage","name","updateHandler","onWrite","transformPackage","onEnd","_lockAndReadJSON","json","locked","self","unLockCallback","lockError","_args","arguments","_unlockJSON","apply","_","isNil","getInternalError","getNotFound","deletePackage","packageName","_getStorage","removePackage","createPackage","value","_createFile","_convertToString","savePackage","_writeFile","readPackage","_readStorageFile","then","res","data","JSON","parse","toString","error","catch","writeTarball","uploadStream","UploadTarball","_ended","on","pathName","access","fileNotFound","exists","emit","temporalName","join","replace","file","createWriteStream","removeTempFile","opened","pipe","done","onend","end","abort","readTarball","readTarballStream","ReadTarball","readStream","createReadStream","fd","fstat","stats","size","close","contents","callback","open","stringify","fileName","storagePath","dest","createTempFile","tempFilePath","writeFile","mkdir","dirname","recursive","lock"],"mappings":"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","sourcesContent":["/* eslint-disable no-undef */\n\nimport fs from 'fs';\nimport path from 'path';\nimport buildDebug from 'debug';\n\nimport _ from 'lodash';\nimport { UploadTarball, ReadTarball } from '@verdaccio/streams';\nimport { unlockFile, readFile } from '@verdaccio/file-locking';\nimport { Callback, Logger, Package, ILocalPackageManager, IUploadTarball } from '@verdaccio/types';\nimport { VerdaccioError, errorUtils } from '@verdaccio/core';\nimport { unlinkPromise, rmdirPromise, readFilePromise } from './fs';\n\nexport const fileExist = 'EEXISTS';\nexport const noSuchFile = 'ENOENT';\nexport const resourceNotAvailable = 'EAGAIN';\nexport const packageJSONFileName = 'package.json';\n\nconst debug = buildDebug('verdaccio:plugin:local-storage:local-fs');\n\nexport const fSError = function (message: string, code = 409): VerdaccioError {\n const err: VerdaccioError = errorUtils.getCode(code, message);\n // FIXME: we should return http-status codes here instead, future improvement\n // @ts-ignore\n err.code = message;\n\n return err;\n};\n\nconst tempFile = function (str): string {\n return `${str}.tmp${String(Math.random()).substr(2)}`;\n};\n\nconst renameTmp = function (src, dst, _cb): void {\n const cb = (err): void => {\n if (err) {\n fs.unlink(src, () => {});\n }\n _cb(err);\n };\n\n if (process.platform !== 'win32') {\n return fs.rename(src, dst, cb);\n }\n\n // windows can't remove opened file,\n // but it seem to be able to rename it\n const tmp = tempFile(dst);\n fs.rename(dst, tmp, function (err) {\n fs.rename(src, dst, cb);\n if (!err) {\n fs.unlink(tmp, () => {});\n }\n });\n};\n\nexport type ILocalFSPackageManager = ILocalPackageManager & { path: string };\n\nexport default class LocalFS implements ILocalFSPackageManager {\n public path: string;\n public logger: Logger;\n\n public constructor(path: string, logger: Logger) {\n this.path = path;\n this.logger = logger;\n }\n\n /**\n * This function allows to update the package thread-safely\n Algorithm:\n 1. lock package.json for writing\n 2. read package.json\n 3. updateFn(pkg, cb), and wait for cb\n 4. write package.json.tmp\n 5. move package.json.tmp package.json\n 6. callback(err?)\n * @param {*} name\n * @param {*} updateHandler\n * @param {*} onWrite\n * @param {*} transformPackage\n * @param {*} onEnd\n */\n public updatePackage(\n name: string,\n updateHandler: Callback,\n onWrite: Callback,\n transformPackage: Function,\n onEnd: Callback\n ): void {\n this._lockAndReadJSON(packageJSONFileName, (err, json) => {\n let locked = false;\n const self = this;\n // callback that cleans up lock first\n const unLockCallback = function (lockError: Error): void {\n // eslint-disable-next-line prefer-rest-params\n const _args = arguments;\n\n if (locked) {\n debug('unlock %s', packageJSONFileName);\n self._unlockJSON(packageJSONFileName, () => {\n // ignore any error from the unlock\n if (lockError !== null) {\n debug('lock file: %o has failed with error %o', name, lockError);\n }\n\n onEnd.apply(lockError, _args);\n });\n } else {\n debug('file: %o has been updated', name);\n onEnd(..._args);\n }\n };\n\n if (!err) {\n locked = true;\n debug('file: %o has been locked', name);\n }\n\n if (_.isNil(err) === false) {\n if (err.code === resourceNotAvailable) {\n return unLockCallback(errorUtils.getInternalError('resource temporarily unavailable'));\n } else if (err.code === noSuchFile) {\n return unLockCallback(errorUtils.getNotFound());\n } else {\n return unLockCallback(err);\n }\n }\n\n updateHandler(json, (err) => {\n if (err) {\n return unLockCallback(err);\n }\n\n onWrite(name, transformPackage(json), unLockCallback);\n });\n });\n }\n\n public async deletePackage(packageName: string): Promise<void> {\n debug('delete a file/package %o', packageName);\n\n return await unlinkPromise(this._getStorage(packageName));\n }\n\n public async removePackage(): Promise<void> {\n debug('remove a package folder %o', this.path);\n\n await rmdirPromise(this._getStorage('.'));\n }\n\n public createPackage(name: string, value: Package, cb: Callback): void {\n debug('create a package %o', name);\n\n this._createFile(this._getStorage(packageJSONFileName), this._convertToString(value), cb);\n }\n\n public savePackage(name: string, value: Package, cb: Callback): void {\n debug('save a package %o', name);\n\n this._writeFile(this._getStorage(packageJSONFileName), this._convertToString(value), cb);\n }\n\n public readPackage(name: string, cb: Callback): void {\n debug('read a package %o', name);\n\n this._readStorageFile(this._getStorage(packageJSONFileName))\n .then((res) => {\n try {\n const data: any = JSON.parse(res.toString('utf8'));\n\n debug('read storage file %o has succeed', name);\n cb(null, data);\n } catch (err: any) {\n debug('parse error');\n this.logger.error({ err, name }, 'error @{err.message} on parse @{name}');\n throw err;\n }\n })\n .catch((err) => {\n this.logger.error({ err }, 'error on read storage file @{err.message}');\n return cb(err);\n });\n }\n\n public writeTarball(name: string): IUploadTarball {\n const uploadStream = new UploadTarball({});\n debug('write a tarball for a package %o', name);\n\n let _ended = 0;\n uploadStream.on('end', function () {\n _ended = 1;\n });\n\n const pathName: string = this._getStorage(name);\n\n fs.access(pathName, (fileNotFound) => {\n const exists = !fileNotFound;\n if (exists) {\n uploadStream.emit('error', fSError(fileExist));\n } else {\n const temporalName = path.join(\n this.path,\n `${name}.tmp-${String(Math.random()).replace(/^0\\./, '')}`\n );\n debug('write a temporal name %o', temporalName);\n const file = fs.createWriteStream(temporalName);\n const removeTempFile = (): void => fs.unlink(temporalName, () => {});\n let opened = false;\n uploadStream.pipe(file);\n\n uploadStream.done = function (): void {\n const onend = function (): void {\n file.on('close', function () {\n renameTmp(temporalName, pathName, function (err) {\n if (err) {\n uploadStream.emit('error', err);\n } else {\n uploadStream.emit('success');\n }\n });\n });\n file.end();\n };\n if (_ended) {\n onend();\n } else {\n uploadStream.on('end', onend);\n }\n };\n\n uploadStream.abort = function (): void {\n if (opened) {\n opened = false;\n file.on('close', function () {\n removeTempFile();\n });\n } else {\n // if the file does not recieve any byte never is opened and has to be removed anyway.\n removeTempFile();\n }\n file.end();\n };\n\n file.on('open', function () {\n opened = true;\n // re-emitting open because it's handled in storage.js\n uploadStream.emit('open');\n });\n\n file.on('error', function (err) {\n uploadStream.emit('error', err);\n });\n }\n });\n\n return uploadStream;\n }\n\n public readTarball(name: string): ReadTarball {\n const pathName: string = this._getStorage(name);\n debug('read a a tarball %o on path %o', name, pathName);\n\n const readTarballStream = new ReadTarball({});\n\n const readStream = fs.createReadStream(pathName);\n\n readStream.on('error', function (err) {\n debug('error on read a tarball %o with error %o', name, err);\n readTarballStream.emit('error', err);\n });\n\n readStream.on('open', function (fd) {\n fs.fstat(fd, function (err, stats) {\n if (_.isNil(err) === false) {\n debug('error on read a tarball %o with error %o', name, err);\n return readTarballStream.emit('error', err);\n }\n readTarballStream.emit('content-length', stats.size);\n readTarballStream.emit('open');\n debug('open on read a tarball %o', name);\n readStream.pipe(readTarballStream);\n });\n });\n\n readTarballStream.abort = function (): void {\n debug('abort on read a tarball %o', name);\n readStream.close();\n };\n\n return readTarballStream;\n }\n\n private _createFile(name: string, contents: any, callback: Function): void {\n debug(' create a new file: %o', name);\n\n fs.open(name, 'wx', (err) => {\n if (err) {\n // native EEXIST used here to check exception on fs.open\n if (err.code === 'EEXIST') {\n debug('file %o cannot be created, it already exists: %o', name);\n return callback(fSError(fileExist));\n }\n }\n\n this._writeFile(name, contents, callback);\n });\n }\n\n private async _readStorageFile(name: string): Promise<any> {\n debug('reading the file: %o', name);\n try {\n debug('reading the file: %o', name);\n return await readFilePromise(name);\n } catch (err: any) {\n debug('error reading the file: %o with error %o', name, err.message);\n throw err;\n }\n }\n\n private _convertToString(value: Package): string {\n return JSON.stringify(value, null, '\\t');\n }\n\n private _getStorage(fileName = ''): string {\n const storagePath: string = path.join(this.path, fileName);\n\n return storagePath;\n }\n\n private _writeFile(dest: string, data: string, cb: Callback): void {\n const createTempFile = (cb): void => {\n const tempFilePath = tempFile(dest);\n\n fs.writeFile(tempFilePath, data, (err) => {\n if (err) {\n debug('error on write the file: %o', dest);\n return cb(err);\n }\n\n debug('creating a new file:: %o', dest);\n renameTmp(tempFilePath, dest, cb);\n });\n };\n\n createTempFile((err) => {\n if (err && err.code === noSuchFile) {\n fs.mkdir(path.dirname(dest), { recursive: true }, function (err) {\n if (err) {\n return cb(err);\n }\n createTempFile(cb);\n });\n } else {\n cb(err);\n }\n });\n }\n\n private _lockAndReadJSON(name: string, cb: Function): void {\n const fileName: string = this._getStorage(name);\n debug('lock and read a file %o', fileName);\n readFile(\n fileName,\n {\n lock: true,\n parse: true,\n },\n (err, res) => {\n if (err) {\n this.logger.error({ err }, 'error on lock file @{err.message}');\n debug('error on lock and read json for file: %o', name);\n\n return cb(err);\n }\n debug('lock and read json for file: %o', name);\n\n return cb(null, res);\n }\n );\n }\n\n private _unlockJSON(name: string, cb: Function): void {\n unlockFile(this._getStorage(name), cb);\n }\n}\n"],"file":"local-fs.js"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@verdaccio/local-storage",
|
|
3
|
-
"version": "11.0.0-6-next.
|
|
3
|
+
"version": "11.0.0-6-next.9",
|
|
4
4
|
"description": "Local storage implementation",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"private",
|
|
@@ -37,10 +37,9 @@
|
|
|
37
37
|
"npm": ">=7"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@verdaccio/
|
|
41
|
-
"@verdaccio/
|
|
42
|
-
"@verdaccio/
|
|
43
|
-
"@verdaccio/streams": "11.0.0-6-next.4",
|
|
40
|
+
"@verdaccio/core": "6.0.0-6-next.2",
|
|
41
|
+
"@verdaccio/file-locking": "11.0.0-6-next.4",
|
|
42
|
+
"@verdaccio/streams": "11.0.0-6-next.5",
|
|
44
43
|
"async": "3.2.1",
|
|
45
44
|
"core-js": "3.17.2",
|
|
46
45
|
"debug": "4.3.2",
|
|
@@ -52,9 +51,9 @@
|
|
|
52
51
|
},
|
|
53
52
|
"devDependencies": {
|
|
54
53
|
"@types/minimatch": "3.0.5",
|
|
55
|
-
"@verdaccio/types": "11.0.0-6-next.
|
|
56
|
-
"@verdaccio/config": "6.0.0-6-next.
|
|
57
|
-
"@verdaccio/utils": "6.0.0-6-next.
|
|
54
|
+
"@verdaccio/types": "11.0.0-6-next.9",
|
|
55
|
+
"@verdaccio/config": "6.0.0-6-next.9",
|
|
56
|
+
"@verdaccio/utils": "6.0.0-6-next.7",
|
|
58
57
|
"minimatch": "3.0.4",
|
|
59
58
|
"tmp-promise": "3.0.2"
|
|
60
59
|
},
|