@verdaccio/core 6.0.0-6-next.3 → 6.0.0-6-next.4
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 +6 -0
- package/build/error-utils.js.map +1 -1
- package/build/index.d.ts +5 -5
- package/build/index.js +14 -16
- package/build/index.js.map +1 -1
- package/build/pkg-utils.js.map +1 -1
- package/build/stream-utils.d.ts +1 -1
- package/build/stream-utils.js.map +1 -1
- package/build/validation-utils.js.map +1 -1
- package/package.json +5 -4
- package/src/error-utils.ts +1 -0
- package/src/index.ts +5 -5
- package/src/pkg-utils.ts +3 -1
- package/src/plugin-utils.ts +1 -0
- package/src/stream-utils.ts +1 -1
- package/src/validation-utils.ts +2 -0
- package/test/errors.spec.ts +7 -7
- package/test/merge.dist.tags.spec.ts +1 -1
- package/test/mystreams.spec.ts +2 -1
- package/test/validation-utilts.spec.ts +1 -1
package/CHANGELOG.md
CHANGED
package/build/error-utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/error-utils.ts"],"names":["API_ERROR","PASSWORD_SHORT","passLength","DEFAULT_MIN_LIMIT_PASSWORD","MUST_BE_LOGGED","PLUGIN_ERROR","CONFIG_BAD_FORMAT","BAD_USERNAME_PASSWORD","NO_PACKAGE","PACKAGE_CANNOT_BE_ADDED","BAD_DATA","NOT_ALLOWED","NOT_ALLOWED_PUBLISH","INTERNAL_SERVER_ERROR","UNKNOWN_ERROR","NOT_PACKAGE_UPLINK","UPLINK_OFFLINE_PUBLISH","UPLINK_OFFLINE","CONTENT_MISMATCH","NOT_FILE_UPLINK","MAX_USERS_REACHED","VERSION_NOT_EXIST","UNSUPORTED_REGISTRY_CALL","FILE_NOT_FOUND","REGISTRATION_DISABLED","UNAUTHORIZED_ACCESS","BAD_STATUS_CODE","PACKAGE_EXIST","BAD_AUTH_HEADER","WEB_DISABLED","DEPRECATED_BASIC_HEADER","BAD_FORMAT_USER_GROUP","RESOURCE_UNAVAILABLE","BAD_PACKAGE_DATA","USERNAME_PASSWORD_REQUIRED","USERNAME_ALREADY_REGISTERED","SUPPORT_ERRORS","PLUGIN_MISSING_INTERFACE","TFA_DISABLED","STORAGE_NOT_IMPLEMENT","PARAMETERS_NOT_VALID","APP_ERROR","CONFIG_NOT_VALID","PROFILE_ERROR","PASSWORD_VALIDATION","getError","code","message","httpError","getConflict","HTTP_STATUS","CONFLICT","getBadData","customMessage","getBadRequest","BAD_REQUEST","getInternalError","INTERNAL_ERROR","getUnauthorized","UNAUTHORIZED","getForbidden","FORBIDDEN","getServiceUnavailable","SERVICE_UNAVAILABLE","getNotFound","NOT_FOUND","getCode","statusCode"],"mappings":";;;;;;;;;;;;;;;;AAAA;;
|
|
1
|
+
{"version":3,"sources":["../src/error-utils.ts"],"names":["API_ERROR","PASSWORD_SHORT","passLength","DEFAULT_MIN_LIMIT_PASSWORD","MUST_BE_LOGGED","PLUGIN_ERROR","CONFIG_BAD_FORMAT","BAD_USERNAME_PASSWORD","NO_PACKAGE","PACKAGE_CANNOT_BE_ADDED","BAD_DATA","NOT_ALLOWED","NOT_ALLOWED_PUBLISH","INTERNAL_SERVER_ERROR","UNKNOWN_ERROR","NOT_PACKAGE_UPLINK","UPLINK_OFFLINE_PUBLISH","UPLINK_OFFLINE","CONTENT_MISMATCH","NOT_FILE_UPLINK","MAX_USERS_REACHED","VERSION_NOT_EXIST","UNSUPORTED_REGISTRY_CALL","FILE_NOT_FOUND","REGISTRATION_DISABLED","UNAUTHORIZED_ACCESS","BAD_STATUS_CODE","PACKAGE_EXIST","BAD_AUTH_HEADER","WEB_DISABLED","DEPRECATED_BASIC_HEADER","BAD_FORMAT_USER_GROUP","RESOURCE_UNAVAILABLE","BAD_PACKAGE_DATA","USERNAME_PASSWORD_REQUIRED","USERNAME_ALREADY_REGISTERED","SUPPORT_ERRORS","PLUGIN_MISSING_INTERFACE","TFA_DISABLED","STORAGE_NOT_IMPLEMENT","PARAMETERS_NOT_VALID","APP_ERROR","CONFIG_NOT_VALID","PROFILE_ERROR","PASSWORD_VALIDATION","getError","code","message","httpError","getConflict","HTTP_STATUS","CONFLICT","getBadData","customMessage","getBadRequest","BAD_REQUEST","getInternalError","INTERNAL_ERROR","getUnauthorized","UNAUTHORIZED","getForbidden","FORBIDDEN","getServiceUnavailable","SERVICE_UNAVAILABLE","getNotFound","NOT_FOUND","getCode","statusCode"],"mappings":"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","sourcesContent":["import createError, { HttpError } from 'http-errors';\n\nimport { DEFAULT_MIN_LIMIT_PASSWORD, HTTP_STATUS } from './constants';\n\nexport const API_ERROR = {\n PASSWORD_SHORT: (passLength = DEFAULT_MIN_LIMIT_PASSWORD): string =>\n `The provided password is too short. Please pick a password longer than ` +\n `${passLength} characters.`,\n MUST_BE_LOGGED: 'You must be logged in to publish packages.',\n PLUGIN_ERROR: 'bug in the auth plugin system',\n CONFIG_BAD_FORMAT: 'config file must be an object',\n BAD_USERNAME_PASSWORD: 'bad username/password, access denied',\n NO_PACKAGE: 'no such package available',\n PACKAGE_CANNOT_BE_ADDED: 'this package cannot be added',\n BAD_DATA: 'bad data',\n NOT_ALLOWED: 'not allowed to access package',\n NOT_ALLOWED_PUBLISH: 'not allowed to publish package',\n INTERNAL_SERVER_ERROR: 'internal server error',\n UNKNOWN_ERROR: 'unknown error',\n NOT_PACKAGE_UPLINK: 'package does not exist on uplink',\n UPLINK_OFFLINE_PUBLISH: 'one of the uplinks is down, refuse to publish',\n UPLINK_OFFLINE: 'uplink is offline',\n CONTENT_MISMATCH: 'content length mismatch',\n NOT_FILE_UPLINK: \"file doesn't exist on uplink\",\n MAX_USERS_REACHED: 'maximum amount of users reached',\n VERSION_NOT_EXIST: \"this version doesn't exist\",\n UNSUPORTED_REGISTRY_CALL: 'unsupported registry call',\n FILE_NOT_FOUND: 'File not found',\n REGISTRATION_DISABLED: 'user registration disabled',\n UNAUTHORIZED_ACCESS: 'unauthorized access',\n BAD_STATUS_CODE: 'bad status code',\n PACKAGE_EXIST: 'this package is already present',\n BAD_AUTH_HEADER: 'bad authorization header',\n WEB_DISABLED: 'Web interface is disabled in the config file',\n DEPRECATED_BASIC_HEADER: 'basic authentication is deprecated, please use JWT instead',\n BAD_FORMAT_USER_GROUP: 'user groups is different than an array',\n RESOURCE_UNAVAILABLE: 'resource unavailable',\n BAD_PACKAGE_DATA: 'bad incoming package data',\n USERNAME_PASSWORD_REQUIRED: 'username and password is required',\n USERNAME_ALREADY_REGISTERED: 'username is already registered',\n};\n\nexport const SUPPORT_ERRORS = {\n PLUGIN_MISSING_INTERFACE: 'the plugin does not provide implementation of the requested feature',\n TFA_DISABLED: 'the two-factor authentication is not yet supported',\n STORAGE_NOT_IMPLEMENT: 'the storage does not support token saving',\n PARAMETERS_NOT_VALID: 'the parameters are not valid',\n};\n\nexport const APP_ERROR = {\n CONFIG_NOT_VALID: 'CONFIG: it does not look like a valid config file',\n PROFILE_ERROR: 'profile unexpected error',\n PASSWORD_VALIDATION: 'not valid password',\n};\n\nexport type VerdaccioError = HttpError & { code: number };\n\nfunction getError(code: number, message: string): VerdaccioError {\n const httpError = createError(code, message);\n\n httpError.code = code;\n\n return httpError as VerdaccioError;\n}\n\nexport function getConflict(message: string = API_ERROR.PACKAGE_EXIST): VerdaccioError {\n return getError(HTTP_STATUS.CONFLICT, message);\n}\n\nexport function getBadData(customMessage?: string): VerdaccioError {\n return getError(HTTP_STATUS.BAD_DATA, customMessage || API_ERROR.BAD_DATA);\n}\n\nexport function getBadRequest(customMessage: string): VerdaccioError {\n return getError(HTTP_STATUS.BAD_REQUEST, customMessage);\n}\n\nexport function getInternalError(customMessage?: string): VerdaccioError {\n return customMessage\n ? getError(HTTP_STATUS.INTERNAL_ERROR, customMessage)\n : getError(HTTP_STATUS.INTERNAL_ERROR, API_ERROR.UNKNOWN_ERROR);\n}\n\nexport function getUnauthorized(message = 'no credentials provided'): VerdaccioError {\n return getError(HTTP_STATUS.UNAUTHORIZED, message);\n}\n\nexport function getForbidden(message = \"can't use this filename\"): VerdaccioError {\n return getError(HTTP_STATUS.FORBIDDEN, message);\n}\n\nexport function getServiceUnavailable(\n message: string = API_ERROR.RESOURCE_UNAVAILABLE\n): VerdaccioError {\n return getError(HTTP_STATUS.SERVICE_UNAVAILABLE, message);\n}\n\nexport function getNotFound(customMessage?: string): VerdaccioError {\n return getError(HTTP_STATUS.NOT_FOUND, customMessage || API_ERROR.NO_PACKAGE);\n}\n\nexport function getCode(statusCode: number, customMessage: string): VerdaccioError {\n return getError(statusCode, customMessage);\n}\n"],"file":"error-utils.js"}
|
package/build/index.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import * as searchUtils from './search-utils';
|
|
2
|
-
import * as streamUtils from './stream-utils';
|
|
3
|
-
import * as errorUtils from './error-utils';
|
|
4
|
-
import * as validatioUtils from './validation-utils';
|
|
5
1
|
import * as constants from './constants';
|
|
6
|
-
import * as
|
|
2
|
+
import * as errorUtils from './error-utils';
|
|
7
3
|
import * as fileUtils from './file-utils';
|
|
8
4
|
import * as pkgUtils from './pkg-utils';
|
|
5
|
+
import * as pluginUtils from './plugin-utils';
|
|
6
|
+
import * as searchUtils from './search-utils';
|
|
7
|
+
import * as streamUtils from './stream-utils';
|
|
8
|
+
import * as validatioUtils from './validation-utils';
|
|
9
9
|
import * as warningUtils from './warning-utils';
|
|
10
10
|
export { VerdaccioError, API_ERROR, SUPPORT_ERRORS, APP_ERROR } from './error-utils';
|
|
11
11
|
export { TOKEN_BASIC, TOKEN_BEARER, HTTP_STATUS, API_MESSAGE, HEADERS, DIST_TAGS, CHARACTER_ENCODING, HEADER_TYPE, LATEST, DEFAULT_MIN_LIMIT_PASSWORD, DEFAULT_USER, USERS, } from './constants';
|
package/build/index.js
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
require("core-js/modules/esnext.weak-map.delete-all.js");
|
|
4
|
-
|
|
5
3
|
Object.defineProperty(exports, "__esModule", {
|
|
6
4
|
value: true
|
|
7
5
|
});
|
|
@@ -103,37 +101,37 @@ Object.defineProperty(exports, "VerdaccioError", {
|
|
|
103
101
|
});
|
|
104
102
|
exports.warningUtils = exports.validatioUtils = exports.streamUtils = exports.searchUtils = exports.pluginUtils = exports.pkgUtils = exports.fileUtils = exports.errorUtils = exports.constants = void 0;
|
|
105
103
|
|
|
106
|
-
var
|
|
107
|
-
|
|
108
|
-
exports.searchUtils = searchUtils;
|
|
109
|
-
|
|
110
|
-
var streamUtils = _interopRequireWildcard(require("./stream-utils"));
|
|
104
|
+
var constants = _interopRequireWildcard(require("./constants"));
|
|
111
105
|
|
|
112
|
-
exports.
|
|
106
|
+
exports.constants = constants;
|
|
113
107
|
|
|
114
108
|
var errorUtils = _interopRequireWildcard(require("./error-utils"));
|
|
115
109
|
|
|
116
110
|
exports.errorUtils = errorUtils;
|
|
117
111
|
|
|
118
|
-
var
|
|
112
|
+
var fileUtils = _interopRequireWildcard(require("./file-utils"));
|
|
119
113
|
|
|
120
|
-
exports.
|
|
114
|
+
exports.fileUtils = fileUtils;
|
|
121
115
|
|
|
122
|
-
var
|
|
116
|
+
var pkgUtils = _interopRequireWildcard(require("./pkg-utils"));
|
|
123
117
|
|
|
124
|
-
exports.
|
|
118
|
+
exports.pkgUtils = pkgUtils;
|
|
125
119
|
|
|
126
120
|
var pluginUtils = _interopRequireWildcard(require("./plugin-utils"));
|
|
127
121
|
|
|
128
122
|
exports.pluginUtils = pluginUtils;
|
|
129
123
|
|
|
130
|
-
var
|
|
124
|
+
var searchUtils = _interopRequireWildcard(require("./search-utils"));
|
|
131
125
|
|
|
132
|
-
exports.
|
|
126
|
+
exports.searchUtils = searchUtils;
|
|
133
127
|
|
|
134
|
-
var
|
|
128
|
+
var streamUtils = _interopRequireWildcard(require("./stream-utils"));
|
|
135
129
|
|
|
136
|
-
exports.
|
|
130
|
+
exports.streamUtils = streamUtils;
|
|
131
|
+
|
|
132
|
+
var validatioUtils = _interopRequireWildcard(require("./validation-utils"));
|
|
133
|
+
|
|
134
|
+
exports.validatioUtils = validatioUtils;
|
|
137
135
|
|
|
138
136
|
var warningUtils = _interopRequireWildcard(require("./warning-utils"));
|
|
139
137
|
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA","sourcesContent":["import * as constants from './constants';\nimport * as errorUtils from './error-utils';\nimport * as fileUtils from './file-utils';\nimport * as pkgUtils from './pkg-utils';\nimport * as pluginUtils from './plugin-utils';\nimport * as searchUtils from './search-utils';\nimport * as streamUtils from './stream-utils';\nimport * as validatioUtils from './validation-utils';\nimport * as warningUtils from './warning-utils';\n\nexport { VerdaccioError, API_ERROR, SUPPORT_ERRORS, APP_ERROR } from './error-utils';\nexport {\n TOKEN_BASIC,\n TOKEN_BEARER,\n HTTP_STATUS,\n API_MESSAGE,\n HEADERS,\n DIST_TAGS,\n CHARACTER_ENCODING,\n HEADER_TYPE,\n LATEST,\n DEFAULT_MIN_LIMIT_PASSWORD,\n DEFAULT_USER,\n USERS,\n} from './constants';\n\nexport {\n fileUtils,\n pkgUtils,\n searchUtils,\n streamUtils,\n errorUtils,\n validatioUtils,\n constants,\n pluginUtils,\n warningUtils,\n};\n"],"file":"index.js"}
|
package/build/pkg-utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/pkg-utils.ts"],"names":["semverSort","listVersions","filter","x","semver","parse","sort","compareLoose","map","String","getLatest","pkg","Object","keys","versions","length","Error","latest","DIST_TAGS","mergeVersions","local","upstream","i","lte","readme"],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"sources":["../src/pkg-utils.ts"],"names":["semverSort","listVersions","filter","x","semver","parse","sort","compareLoose","map","String","getLatest","pkg","Object","keys","versions","length","Error","latest","DIST_TAGS","mergeVersions","local","upstream","i","lte","readme"],"mappings":";;;;;;;;;AAAA;;AAIA;;;;AAEA;AACA;AACA;AACA;AACO,SAASA,UAAT,CAAoBC,YAApB,EAAsD;AAC3D,SAAOA,YAAY,CAChBC,MADI,CACG,UAAUC,CAAV,EAAsB;AAC5B,QAAI,CAACC,gBAAOC,KAAP,CAAaF,CAAb,EAAgB,IAAhB,CAAL,EAA4B;AAC1B,aAAO,KAAP;AACD;;AACD,WAAO,IAAP;AACD,GANI,EAOJG,IAPI,CAOCF,gBAAOG,YAPR,EAQJC,GARI,CAQAC,MARA,CAAP;AASD;AAED;AACA;AACA;AACA;;;AACO,SAASC,SAAT,CAAmBC,GAAnB,EAAyC;AAAA;;AAC9C,QAAMV,YAAsB,GAAGW,MAAM,CAACC,IAAP,CAAYF,GAAG,CAACG,QAAhB,CAA/B;;AACA,MAAIb,YAAY,CAACc,MAAb,GAAsB,CAA1B,EAA6B;AAC3B,UAAMC,KAAK,CAAC,oCAAD,CAAX;AACD;;AAED,QAAMF,QAAkB,GAAGd,UAAU,CAACC,YAAD,CAArC;AACA,QAAMgB,MAA0B,GAAG,kBAAAN,GAAG,CAACO,oBAAD,CAAH,0DAAgBD,MAAhB,GAAyBN,GAAG,CAACO,oBAAD,CAAH,CAAeD,MAAxC,GAAiDH,QAAQ,CAAC,CAAD,CAA5F;AAEA,SAAOG,MAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASE,aAAT,CAAuBC,KAAvB,EAAuCC,QAAvC,EAA0D;AAC/D;AACA;AACA,OAAK,MAAMC,CAAX,IAAgBD,QAAQ,CAACP,QAAzB,EAAmC;AACjC,QAAI,OAAOM,KAAK,CAACN,QAAN,CAAeQ,CAAf,CAAP,KAA6B,WAAjC,EAA8C;AAC5CF,MAAAA,KAAK,CAACN,QAAN,CAAeQ,CAAf,IAAoBD,QAAQ,CAACP,QAAT,CAAkBQ,CAAlB,CAApB;AACD;AACF;;AAED,OAAK,MAAMA,CAAX,IAAgBD,QAAQ,CAACH,oBAAD,CAAxB,EAAqC;AACnC,QAAIE,KAAK,CAACF,oBAAD,CAAL,CAAiBI,CAAjB,MAAwBD,QAAQ,CAACH,oBAAD,CAAR,CAAoBI,CAApB,CAA5B,EAAoD;AAClD,UAAI,CAACF,KAAK,CAACF,oBAAD,CAAL,CAAiBI,CAAjB,CAAD,IAAwBlB,gBAAOmB,GAAP,CAAWH,KAAK,CAACF,oBAAD,CAAL,CAAiBI,CAAjB,CAAX,EAAgCD,QAAQ,CAACH,oBAAD,CAAR,CAAoBI,CAApB,CAAhC,CAA5B,EAAqF;AACnFF,QAAAA,KAAK,CAACF,oBAAD,CAAL,CAAiBI,CAAjB,IAAsBD,QAAQ,CAACH,oBAAD,CAAR,CAAoBI,CAApB,CAAtB;AACD;;AACD,UAAIA,CAAC,KAAK,QAAN,IAAkBF,KAAK,CAACF,oBAAD,CAAL,CAAiBI,CAAjB,MAAwBD,QAAQ,CAACH,oBAAD,CAAR,CAAoBI,CAApB,CAA9C,EAAsE;AACpE;AACAF,QAAAA,KAAK,CAACI,MAAN,GAAeH,QAAQ,CAACG,MAAxB;AACD;AACF;AACF;AACF","sourcesContent":["import semver from 'semver';\n\nimport { Package } from '@verdaccio/types';\n\nimport { DIST_TAGS } from './constants';\n\n/**\n * Function filters out bad semver versions and sorts the array.\n * @return {Array} sorted Array\n */\nexport function semverSort(listVersions: string[]): string[] {\n return listVersions\n .filter(function (x): boolean {\n if (!semver.parse(x, true)) {\n return false;\n }\n return true;\n })\n .sort(semver.compareLoose)\n .map(String);\n}\n\n/**\n * Get the latest publihsed version of a package.\n * @param package metadata\n **/\nexport function getLatest(pkg: Package): string {\n const listVersions: string[] = Object.keys(pkg.versions);\n if (listVersions.length < 1) {\n throw Error('cannot get lastest version of none');\n }\n\n const versions: string[] = semverSort(listVersions);\n const latest: string | undefined = pkg[DIST_TAGS]?.latest ? pkg[DIST_TAGS].latest : versions[0];\n\n return latest;\n}\n\n/**\n * Function gets a local info and an info from uplinks and tries to merge it\n exported for unit tests only.\n * @param {*} local\n * @param {*} upstream\n * @param {*} config sds\n */\nexport function mergeVersions(local: Package, upstream: Package) {\n // copy new versions to a cache\n // NOTE: if a certain version was updated, we can't refresh it reliably\n for (const i in upstream.versions) {\n if (typeof local.versions[i] === 'undefined') {\n local.versions[i] = upstream.versions[i];\n }\n }\n\n for (const i in upstream[DIST_TAGS]) {\n if (local[DIST_TAGS][i] !== upstream[DIST_TAGS][i]) {\n if (!local[DIST_TAGS][i] || semver.lte(local[DIST_TAGS][i], upstream[DIST_TAGS][i])) {\n local[DIST_TAGS][i] = upstream[DIST_TAGS][i];\n }\n if (i === 'latest' && local[DIST_TAGS][i] === upstream[DIST_TAGS][i]) {\n // if remote has more fresh package, we should borrow its readme\n local.readme = upstream.readme;\n }\n }\n }\n}\n"],"file":"pkg-utils.js"}
|
package/build/stream-utils.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/stream-utils.ts"],"names":["ReadTarball","PassThrough","constructor","options","addAbstractMethods","abort","UploadTarball","done","self","name","_called_methods","__defineGetter__","__defineSetter__","fn","readableToString","stream","chunks","chunk","push","Buffer","from","buffer","concat","str","toString","transformObjectToString","Transform","objectMode","transform","encoding","callback","JSON","stringify"],"mappings":";;;;;;;AAAA;;AAWA;AACA;AACA;AACA;AACA;AACA,MAAMA,WAAN,SAA0BC,mBAA1B,CAA8D;AAC5D;AACF;AACA;AACA;AACSC,EAAAA,WAAW,CAACC,OAAD,EAA4B;AAC5C,UAAMA,OAAN,EAD4C,CAE5C;;AACAC,IAAAA,kBAAkB,CAAC,IAAD,EAAO,OAAP,CAAlB;AACD;;AAEMC,EAAAA,KAAK,GAAS,CAAE;;AAXqC;AAc9D;AACA;AACA;AACA;AACA;;;;;AACA,MAAMC,aAAN,SAA4BL,mBAA5B,CAAkE;AAChE;AACF;AACA;AACA;AACSC,EAAAA,WAAW,CAACC,OAAD,EAAe;AAC/B,UAAMA,OAAN,EAD+B,CAE/B;;AACAC,IAAAA,kBAAkB,CAAC,IAAD,EAAO,OAAP,CAAlB,CAH+B,CAK/B;;AACAA,IAAAA,kBAAkB,CAAC,IAAD,EAAO,MAAP,CAAlB;AACD;;AAEMC,EAAAA,KAAK,GAAS,CAAE;;AAChBE,EAAAA,IAAI,GAAS,CAAE;;AAf0C;AAkBlE;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AACA,SAASH,kBAAT,CAA4BI,IAA5B,EAAuCC,IAAvC,EAAwD;AACtDD,EAAAA,IAAI,CAACE,eAAL,GAAuBF,IAAI,CAACE,eAAL,IAAwB,EAA/C;;AAEAF,EAAAA,IAAI,CAACG,gBAAL,CAAsBF,IAAtB,EAA4B,YAAY;AACtC,WAAO,YAAkB;AACvBD,MAAAA,IAAI,CAACE,eAAL,CAAqBD,IAArB,IAA6B,IAA7B;AACD,KAFD;AAGD,GAJD;;AAMAD,EAAAA,IAAI,CAACI,gBAAL,CAAsBH,IAAtB,EAA4B,UAAUI,EAAV,EAAmB;AAC7C,WAAOL,IAAI,CAACC,IAAD,CAAX;AAEAD,IAAAA,IAAI,CAACC,IAAD,CAAJ,GAAaI,EAAb,CAH6C,CAK7C;;AACA,QAAIL,IAAI,CAACE,eAAL,IAAwBF,IAAI,CAACE,eAAL,CAAqBD,IAArB,CAA5B,EAAwD;AACtD,aAAOD,IAAI,CAACE,eAAL,CAAqBD,IAArB,CAAP;AAEAD,MAAAA,IAAI,CAACC,IAAD,CAAJ;AACD;AACF,GAXD;AAYD;AAED;AACA;AACA;;;AACA,MAAMK,gBAAgB,GAAG,MAAOC,MAAP,IAAkB;AACzC,QAAMC,MAAgB,GAAG,EAAzB;;AACA,aAAW,IAAIC,KAAf,IAAwBF,MAAxB,EAAgC;AAC9BC,IAAAA,MAAM,CAACE,IAAP,CAAYC,MAAM,CAACC,IAAP,CAAYH,KAAZ,CAAZ;AACD;;AACD,QAAMI,MAAM,GAAGF,MAAM,CAACG,MAAP,CAAcN,MAAd,CAAf;AACA,QAAMO,GAAG,GAAGF,MAAM,CAACG,QAAP,CAAgB,OAAhB,CAAZ;AACA,SAAOD,GAAP;AACD,CARD;AAUA;AACA;AACA;;;;;AACA,MAAME,uBAAuB,GAAG,MAAM;AACpC,SAAO,IAAIC,iBAAJ,CAAc;AACnBC,IAAAA,UAAU,EAAE,IADO;AAEnBC,IAAAA,SAAS,EAAE,CAACX,KAAD,EAAQY,QAAR,EAAkBC,QAAlB,KAA+B;AACxCA,MAAAA,QAAQ,CAAC,IAAD,EAAOC,IAAI,CAACC,SAAL,CAAef,KAAf,CAAP,CAAR;AACD;AAJkB,GAAd,CAAP;AAMD,CAPD","sourcesContent":["import { PassThrough,
|
|
1
|
+
{"version":3,"sources":["../src/stream-utils.ts"],"names":["ReadTarball","PassThrough","constructor","options","addAbstractMethods","abort","UploadTarball","done","self","name","_called_methods","__defineGetter__","__defineSetter__","fn","readableToString","stream","chunks","chunk","push","Buffer","from","buffer","concat","str","toString","transformObjectToString","Transform","objectMode","transform","encoding","callback","JSON","stringify"],"mappings":";;;;;;;AAAA;;AAWA;AACA;AACA;AACA;AACA;AACA,MAAMA,WAAN,SAA0BC,mBAA1B,CAA8D;AAC5D;AACF;AACA;AACA;AACSC,EAAAA,WAAW,CAACC,OAAD,EAA4B;AAC5C,UAAMA,OAAN,EAD4C,CAE5C;;AACAC,IAAAA,kBAAkB,CAAC,IAAD,EAAO,OAAP,CAAlB;AACD;;AAEMC,EAAAA,KAAK,GAAS,CAAE;;AAXqC;AAc9D;AACA;AACA;AACA;AACA;;;;;AACA,MAAMC,aAAN,SAA4BL,mBAA5B,CAAkE;AAChE;AACF;AACA;AACA;AACSC,EAAAA,WAAW,CAACC,OAAD,EAAe;AAC/B,UAAMA,OAAN,EAD+B,CAE/B;;AACAC,IAAAA,kBAAkB,CAAC,IAAD,EAAO,OAAP,CAAlB,CAH+B,CAK/B;;AACAA,IAAAA,kBAAkB,CAAC,IAAD,EAAO,MAAP,CAAlB;AACD;;AAEMC,EAAAA,KAAK,GAAS,CAAE;;AAChBE,EAAAA,IAAI,GAAS,CAAE;;AAf0C;AAkBlE;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AACA,SAASH,kBAAT,CAA4BI,IAA5B,EAAuCC,IAAvC,EAAwD;AACtDD,EAAAA,IAAI,CAACE,eAAL,GAAuBF,IAAI,CAACE,eAAL,IAAwB,EAA/C;;AAEAF,EAAAA,IAAI,CAACG,gBAAL,CAAsBF,IAAtB,EAA4B,YAAY;AACtC,WAAO,YAAkB;AACvBD,MAAAA,IAAI,CAACE,eAAL,CAAqBD,IAArB,IAA6B,IAA7B;AACD,KAFD;AAGD,GAJD;;AAMAD,EAAAA,IAAI,CAACI,gBAAL,CAAsBH,IAAtB,EAA4B,UAAUI,EAAV,EAAmB;AAC7C,WAAOL,IAAI,CAACC,IAAD,CAAX;AAEAD,IAAAA,IAAI,CAACC,IAAD,CAAJ,GAAaI,EAAb,CAH6C,CAK7C;;AACA,QAAIL,IAAI,CAACE,eAAL,IAAwBF,IAAI,CAACE,eAAL,CAAqBD,IAArB,CAA5B,EAAwD;AACtD,aAAOD,IAAI,CAACE,eAAL,CAAqBD,IAArB,CAAP;AAEAD,MAAAA,IAAI,CAACC,IAAD,CAAJ;AACD;AACF,GAXD;AAYD;AAED;AACA;AACA;;;AACA,MAAMK,gBAAgB,GAAG,MAAOC,MAAP,IAAkB;AACzC,QAAMC,MAAgB,GAAG,EAAzB;;AACA,aAAW,IAAIC,KAAf,IAAwBF,MAAxB,EAAgC;AAC9BC,IAAAA,MAAM,CAACE,IAAP,CAAYC,MAAM,CAACC,IAAP,CAAYH,KAAZ,CAAZ;AACD;;AACD,QAAMI,MAAM,GAAGF,MAAM,CAACG,MAAP,CAAcN,MAAd,CAAf;AACA,QAAMO,GAAG,GAAGF,MAAM,CAACG,QAAP,CAAgB,OAAhB,CAAZ;AACA,SAAOD,GAAP;AACD,CARD;AAUA;AACA;AACA;;;;;AACA,MAAME,uBAAuB,GAAG,MAAM;AACpC,SAAO,IAAIC,iBAAJ,CAAc;AACnBC,IAAAA,UAAU,EAAE,IADO;AAEnBC,IAAAA,SAAS,EAAE,CAACX,KAAD,EAAQY,QAAR,EAAkBC,QAAlB,KAA+B;AACxCA,MAAAA,QAAQ,CAAC,IAAD,EAAOC,IAAI,CAACC,SAAL,CAAef,KAAf,CAAP,CAAR;AACD;AAJkB,GAAd,CAAP;AAMD,CAPD","sourcesContent":["import { PassThrough, Transform, TransformOptions } from 'stream';\n\nexport interface IReadTarball {\n abort?: () => void;\n}\n\nexport interface IUploadTarball {\n done?: () => void;\n abort?: () => void;\n}\n\n/**\n * This stream is used to read tarballs from repository.\n * @param {*} options\n * @return {Stream}\n */\nclass ReadTarball extends PassThrough implements IReadTarball {\n /**\n *\n * @param {Object} options\n */\n public constructor(options: TransformOptions) {\n super(options);\n // called when data is not needed anymore\n addAbstractMethods(this, 'abort');\n }\n\n public abort(): void {}\n}\n\n/**\n * This stream is used to upload tarballs to a repository.\n * @param {*} options\n * @return {Stream}\n */\nclass UploadTarball extends PassThrough implements IUploadTarball {\n /**\n *\n * @param {Object} options\n */\n public constructor(options: any) {\n super(options);\n // called when user closes connection before upload finishes\n addAbstractMethods(this, 'abort');\n\n // called when upload finishes successfully\n addAbstractMethods(this, 'done');\n }\n\n public abort(): void {}\n public done(): void {}\n}\n\n/**\n * This function intercepts abstract calls and replays them allowing.\n * us to attach those functions after we are ready to do so\n * @param {*} self\n * @param {*} name\n */\n// Perhaps someone knows a better way to write this\nfunction addAbstractMethods(self: any, name: any): void {\n self._called_methods = self._called_methods || {};\n\n self.__defineGetter__(name, function () {\n return function (): void {\n self._called_methods[name] = true;\n };\n });\n\n self.__defineSetter__(name, function (fn: any) {\n delete self[name];\n\n self[name] = fn;\n\n // eslint-disable-next-line @typescript-eslint/prefer-optional-chain\n if (self._called_methods && self._called_methods[name]) {\n delete self._called_methods[name];\n\n self[name]();\n }\n });\n}\n\n/**\n * Converts a buffer stream to a string.\n */\nconst readableToString = async (stream) => {\n const chunks: Buffer[] = [];\n for await (let chunk of stream) {\n chunks.push(Buffer.from(chunk));\n }\n const buffer = Buffer.concat(chunks);\n const str = buffer.toString('utf-8');\n return str;\n};\n\n/**\n * Transform stream object mode to string\n **/\nconst transformObjectToString = () => {\n return new Transform({\n objectMode: true,\n transform: (chunk, encoding, callback) => {\n callback(null, JSON.stringify(chunk));\n },\n });\n};\n\nexport { ReadTarball, UploadTarball, readableToString, transformObjectToString };\n"],"file":"stream-utils.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/validation-utils.ts"],"names":["isPackageNameScoped","name","startsWith","validateName","normalizedName","toLowerCase","isScoped","scopedName","split","match","includes","validatePackage","nameList","length","slice","validateMetadata","object","isObject","assert","strictEqual","DIST_TAGS","obj","prototype","Array","isArray"],"mappings":";;;;;;;;;;;AAAA;;
|
|
1
|
+
{"version":3,"sources":["../src/validation-utils.ts"],"names":["isPackageNameScoped","name","startsWith","validateName","normalizedName","toLowerCase","isScoped","scopedName","split","match","includes","validatePackage","nameList","length","slice","validateMetadata","object","isObject","assert","strictEqual","DIST_TAGS","obj","prototype","Array","isArray"],"mappings":";;;;;;;;;;;AAAA;;AAIA;;;;AAEO,SAASA,mBAAT,CAA6BC,IAA7B,EAAoD;AACzD,SAAOA,IAAI,CAACC,UAAL,CAAgB,GAAhB,CAAP;AACD;AAED;AACA;AACA;AACA;AACA;;;AACO,SAASC,YAAT,CAAsBF,IAAtB,EAA6C;AAClD,MAAI,OAAOA,IAAP,KAAgB,QAApB,EAA8B;AAC5B,WAAO,KAAP;AACD;;AAED,MAAIG,cAAsB,GAAGH,IAAI,CAACI,WAAL,EAA7B;AAEA,QAAMC,QAAiB,GAAGN,mBAAmB,CAACC,IAAD,CAA7C;AACA,QAAMM,UAAU,GAAGN,IAAI,CAACO,KAAL,CAAW,GAAX,EAAgB,CAAhB,EAAmB,CAAnB,CAAnB;;AAEA,MAAIF,QAAQ,IAAI,OAAOC,UAAP,KAAsB,WAAtC,EAAmD;AACjDH,IAAAA,cAAc,GAAGG,UAAU,CAACF,WAAX,EAAjB;AACD;AAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACE,SAAO,EACL,CAACD,cAAc,CAACK,KAAf,CAAqB,0BAArB,CAAD,IACAL,cAAc,CAACF,UAAf,CAA0B,GAA1B,CADA,IACkC;AAClC,GAAC,cAAD,EAAiB,WAAjB,EAA8B,aAA9B,EAA6CQ,QAA7C,CAAsDN,cAAtD,CAHK,CAAP;AAKD;AAED;AACA;AACA;AACA;;;AACO,SAASO,eAAT,CAAyBV,IAAzB,EAAgD;AACrD,QAAMW,QAAQ,GAAGX,IAAI,CAACO,KAAL,CAAW,GAAX,EAAgB,CAAhB,CAAjB;;AACA,MAAII,QAAQ,CAACC,MAAT,KAAoB,CAAxB,EAA2B;AACzB;AACA,WAAOV,YAAY,CAACS,QAAQ,CAAC,CAAD,CAAT,CAAnB;AACD,GALoD,CAMrD;;;AACA,SAAOA,QAAQ,CAAC,CAAD,CAAR,CAAY,CAAZ,MAAmB,GAAnB,IAA0BT,YAAY,CAACS,QAAQ,CAAC,CAAD,CAAR,CAAYE,KAAZ,CAAkB,CAAlB,CAAD,CAAtC,IAAgEX,YAAY,CAACS,QAAQ,CAAC,CAAD,CAAT,CAAnF;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASG,gBAAT,CAA0BC,MAA1B,EAA2Cf,IAA3C,EAAkE;AACvE,uBAAOgB,QAAQ,CAACD,MAAD,CAAf,EAAyB,mBAAzB;;AACAE,kBAAOC,WAAP,CAAmBH,MAAM,CAACf,IAA1B,EAAgCA,IAAhC;;AAEA,MAAI,CAACgB,QAAQ,CAACD,MAAM,CAACI,oBAAD,CAAP,CAAb,EAAkC;AAChCJ,IAAAA,MAAM,CAACI,oBAAD,CAAN,GAAoB,EAApB;AACD;;AAED,MAAI,CAACH,QAAQ,CAACD,MAAM,CAAC,UAAD,CAAP,CAAb,EAAmC;AACjCA,IAAAA,MAAM,CAAC,UAAD,CAAN,GAAqB,EAArB;AACD;;AAED,MAAI,CAACC,QAAQ,CAACD,MAAM,CAAC,MAAD,CAAP,CAAb,EAA+B;AAC7BA,IAAAA,MAAM,CAAC,MAAD,CAAN,GAAiB,EAAjB;AACD;;AAED,SAAOA,MAAP;AACD;AAED;AACA;AACA;AACA;AACA;;;AACO,SAASC,QAAT,CAAkBI,GAAlB,EAAqC;AAC1C,MAAIA,GAAG,KAAK,IAAR,IAAgB,OAAOA,GAAP,KAAe,WAAnC,EAAgD;AAC9C,WAAO,KAAP;AACD;;AAED,SACE,CAAC,OAAOA,GAAP,KAAe,QAAf,IAA2B,OAAOA,GAAG,CAACC,SAAX,KAAyB,WAArD,KACAC,KAAK,CAACC,OAAN,CAAcH,GAAd,MAAuB,KAFzB;AAID","sourcesContent":["import assert from 'assert';\n\nimport { Package } from '@verdaccio/types';\n\nimport { DIST_TAGS } from './constants';\n\nexport function isPackageNameScoped(name: string): boolean {\n return name.startsWith('@');\n}\n\n/**\n * From normalize-package-data/lib/fixer.js\n * @param {*} name the package name\n * @return {Boolean} whether is valid or not\n */\nexport function validateName(name: string): boolean {\n if (typeof name !== 'string') {\n return false;\n }\n\n let normalizedName: string = name.toLowerCase();\n\n const isScoped: boolean = isPackageNameScoped(name);\n const scopedName = name.split('/', 2)[1];\n\n if (isScoped && typeof scopedName !== 'undefined') {\n normalizedName = scopedName.toLowerCase();\n }\n\n /**\n * Some context about the first regex\n * - npm used to have a different tarball naming system.\n * eg: http://registry.npmjs.com/thirty-two\n * https://registry.npmjs.org/thirty-two/-/thirty-two@0.0.1.tgz\n * The file name thirty-two@0.0.1.tgz, the version and the pkg name was separated by an at (@)\n * while nowadays the naming system is based in dashes\n * https://registry.npmjs.org/verdaccio/-/verdaccio-1.4.0.tgz\n *\n * more info here: https://github.com/rlidwka/sinopia/issues/75\n */\n return !(\n !normalizedName.match(/^[-a-zA-Z0-9_.!~*'()@]+$/) ||\n normalizedName.startsWith('.') || // \".bin\", etc.\n ['node_modules', '__proto__', 'favicon.ico'].includes(normalizedName)\n );\n}\n\n/**\n * Validate a package.\n * @return {Boolean} whether the package is valid or not\n */\nexport function validatePackage(name: string): boolean {\n const nameList = name.split('/', 2);\n if (nameList.length === 1) {\n // normal package\n return validateName(nameList[0]);\n }\n // scoped package\n return nameList[0][0] === '@' && validateName(nameList[0].slice(1)) && validateName(nameList[1]);\n}\n\n/**\n * Validate the package metadata, add additional properties whether are missing within\n * the metadata properties.\n * @param {*} object\n * @param {*} name\n * @return {Object} the object with additional properties as dist-tags ad versions\n */\nexport function validateMetadata(object: Package, name: string): Package {\n assert(isObject(object), 'not a json object');\n assert.strictEqual(object.name, name);\n\n if (!isObject(object[DIST_TAGS])) {\n object[DIST_TAGS] = {};\n }\n\n if (!isObject(object['versions'])) {\n object['versions'] = {};\n }\n\n if (!isObject(object['time'])) {\n object['time'] = {};\n }\n\n return object;\n}\n\n/**\n * Check whether an element is an Object\n * @param {*} obj the element\n * @return {Boolean}\n */\nexport function isObject(obj: any): boolean {\n if (obj === null || typeof obj === 'undefined') {\n return false;\n }\n\n return (\n (typeof obj === 'object' || typeof obj.prototype === 'undefined') &&\n Array.isArray(obj) === false\n );\n}\n"],"file":"validation-utils.js"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@verdaccio/core",
|
|
3
|
-
"version": "6.0.0-6-next.
|
|
3
|
+
"version": "6.0.0-6-next.4",
|
|
4
4
|
"description": "core utilities",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"private",
|
|
@@ -34,13 +34,14 @@
|
|
|
34
34
|
"access": "public"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"http-errors": "1.8.
|
|
37
|
+
"http-errors": "1.8.1",
|
|
38
38
|
"http-status-codes": "2.1.4",
|
|
39
39
|
"semver": "7.3.5",
|
|
40
|
-
"fastify-warning": "0.2.0"
|
|
40
|
+
"fastify-warning": "0.2.0",
|
|
41
|
+
"core-js": "3.17.2"
|
|
41
42
|
},
|
|
42
43
|
"devDependencies": {
|
|
43
|
-
"@verdaccio/types": "11.0.0-6-next.
|
|
44
|
+
"@verdaccio/types": "11.0.0-6-next.10"
|
|
44
45
|
},
|
|
45
46
|
"funding": {
|
|
46
47
|
"type": "opencollective",
|
package/src/error-utils.ts
CHANGED
package/src/index.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import * as searchUtils from './search-utils';
|
|
2
|
-
import * as streamUtils from './stream-utils';
|
|
3
|
-
import * as errorUtils from './error-utils';
|
|
4
|
-
import * as validatioUtils from './validation-utils';
|
|
5
1
|
import * as constants from './constants';
|
|
6
|
-
import * as
|
|
2
|
+
import * as errorUtils from './error-utils';
|
|
7
3
|
import * as fileUtils from './file-utils';
|
|
8
4
|
import * as pkgUtils from './pkg-utils';
|
|
5
|
+
import * as pluginUtils from './plugin-utils';
|
|
6
|
+
import * as searchUtils from './search-utils';
|
|
7
|
+
import * as streamUtils from './stream-utils';
|
|
8
|
+
import * as validatioUtils from './validation-utils';
|
|
9
9
|
import * as warningUtils from './warning-utils';
|
|
10
10
|
|
|
11
11
|
export { VerdaccioError, API_ERROR, SUPPORT_ERRORS, APP_ERROR } from './error-utils';
|
package/src/pkg-utils.ts
CHANGED
package/src/plugin-utils.ts
CHANGED
package/src/stream-utils.ts
CHANGED
package/src/validation-utils.ts
CHANGED
package/test/errors.spec.ts
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import _ from 'lodash';
|
|
2
|
-
import { HTTP_STATUS } from '../src/constants';
|
|
3
2
|
|
|
3
|
+
import { HTTP_STATUS } from '../src/constants';
|
|
4
4
|
import {
|
|
5
|
-
|
|
5
|
+
API_ERROR,
|
|
6
6
|
VerdaccioError,
|
|
7
|
-
getConflict,
|
|
8
7
|
getBadData,
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
getUnauthorized,
|
|
8
|
+
getCode,
|
|
9
|
+
getConflict,
|
|
12
10
|
getForbidden,
|
|
11
|
+
getInternalError,
|
|
12
|
+
getNotFound,
|
|
13
13
|
getServiceUnavailable,
|
|
14
|
-
|
|
14
|
+
getUnauthorized,
|
|
15
15
|
} from '../src/error-utils';
|
|
16
16
|
|
|
17
17
|
describe('testing errors', () => {
|
package/test/mystreams.spec.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Stream } from 'stream';
|
|
2
|
-
|
|
2
|
+
|
|
3
|
+
import { ReadTarball, UploadTarball, readableToString } from '../src/stream-utils';
|
|
3
4
|
|
|
4
5
|
describe('mystreams', () => {
|
|
5
6
|
test('should delay events on ReadTarball abort', (cb) => {
|