@verdaccio/web 6.0.0-6-next.61 → 6.0.0-6-next.63
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 +33 -0
- package/build/api/package.js +2 -2
- package/build/api/package.js.map +1 -1
- package/build/api/search.js +2 -1
- package/build/api/search.js.map +1 -1
- package/build/middleware.js +2 -2
- package/build/middleware.js.map +1 -1
- package/package.json +14 -15
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,38 @@
|
|
|
1
1
|
# @verdaccio/web
|
|
2
2
|
|
|
3
|
+
## 6.0.0-6-next.63
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- @verdaccio/store@6.0.0-6-next.56
|
|
8
|
+
- @verdaccio/core@6.0.0-6-next.76
|
|
9
|
+
- @verdaccio/config@6.0.0-6-next.76
|
|
10
|
+
- @verdaccio/auth@6.0.0-6-next.55
|
|
11
|
+
- @verdaccio/tarball@11.0.0-6-next.45
|
|
12
|
+
- @verdaccio/url@11.0.0-6-next.42
|
|
13
|
+
- @verdaccio/loaders@6.0.0-6-next.45
|
|
14
|
+
- @verdaccio/middleware@6.0.0-6-next.55
|
|
15
|
+
- @verdaccio/utils@6.0.0-6-next.44
|
|
16
|
+
- @verdaccio/logger@6.0.0-6-next.44
|
|
17
|
+
|
|
18
|
+
## 6.0.0-6-next.62
|
|
19
|
+
|
|
20
|
+
### Patch Changes
|
|
21
|
+
|
|
22
|
+
- 0a6412ca9: refactor: got instead undici
|
|
23
|
+
- Updated dependencies [0a6412ca9]
|
|
24
|
+
- Updated dependencies [0a6412ca9]
|
|
25
|
+
- @verdaccio/core@6.0.0-6-next.75
|
|
26
|
+
- @verdaccio/store@6.0.0-6-next.55
|
|
27
|
+
- @verdaccio/auth@6.0.0-6-next.54
|
|
28
|
+
- @verdaccio/config@6.0.0-6-next.75
|
|
29
|
+
- @verdaccio/tarball@11.0.0-6-next.44
|
|
30
|
+
- @verdaccio/url@11.0.0-6-next.41
|
|
31
|
+
- @verdaccio/loaders@6.0.0-6-next.44
|
|
32
|
+
- @verdaccio/middleware@6.0.0-6-next.54
|
|
33
|
+
- @verdaccio/utils@6.0.0-6-next.43
|
|
34
|
+
- @verdaccio/logger@6.0.0-6-next.43
|
|
35
|
+
|
|
3
36
|
## 6.0.0-6-next.61
|
|
4
37
|
|
|
5
38
|
### Patch Changes
|
package/build/api/package.js
CHANGED
|
@@ -38,8 +38,8 @@ const getOrder = (order = 'asc') => {
|
|
|
38
38
|
};
|
|
39
39
|
const debug = (0, _debug.default)('verdaccio:web:api:package');
|
|
40
40
|
function addPackageWebApi(storage, auth, config) {
|
|
41
|
-
var _config$web;
|
|
42
|
-
const isLoginEnabled = (config === null || config === void 0 ? void 0 : (_config$web = config.web) === null || _config$web === void 0 ? void 0 : _config$web.login) === true
|
|
41
|
+
var _ref, _config$web;
|
|
42
|
+
const isLoginEnabled = (_ref = (config === null || config === void 0 ? void 0 : (_config$web = config.web) === null || _config$web === void 0 ? void 0 : _config$web.login) === true) !== null && _ref !== void 0 ? _ref : true;
|
|
43
43
|
const pkgRouter = (0, _express.Router)(); /* eslint new-cap: 0 */
|
|
44
44
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
45
45
|
const anonymousRemoteUser = {
|
package/build/api/package.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package.js","names":["_debug","_interopRequireDefault","require","_express","_lodash","_logger","_middleware","_tarball","_utils","_webUtils","obj","__esModule","default","getOrder","order","debug","buildDebug","addPackageWebApi","storage","auth","config","_config$web","isLoginEnabled","web","login","pkgRouter","Router","anonymousRemoteUser","name","undefined","real_groups","groups","checkAllow","remoteUser","Promise","resolve","reject","allow_access","packageName","err","allowed","processPackages","packages","req","permissions","packagesToProcess","slice","pkg","pkgCopy","author","formatAuthor","remote_user","avatar","generateGravatarUrl","email","gravatar","_","isNil","dist","isNull","tarball","getLocalRegistryTarballUri","protocol","headers","host","hostname","url_prefix","push","logger","error","get","res","next","_config$web2","localPackages","getLocalDatabase","sort_packages","pkgs","sortByName","_default","exports"],"sources":["../../src/api/package.ts"],"sourcesContent":["import buildDebug from 'debug';\nimport { Router } from 'express';\nimport _ from 'lodash';\n\nimport { Auth } from '@verdaccio/auth';\nimport { logger } from '@verdaccio/logger';\nimport { $NextFunctionVer, $RequestExtend, $ResponseExtend } from '@verdaccio/middleware';\nimport { Storage } from '@verdaccio/store';\nimport { getLocalRegistryTarballUri } from '@verdaccio/tarball';\nimport { Config, RemoteUser, Version } from '@verdaccio/types';\nimport { formatAuthor, generateGravatarUrl } from '@verdaccio/utils';\n\nimport { sortByName } from '../web-utils';\n\nexport { $RequestExtend, $ResponseExtend, $NextFunctionVer }; // Was required by other packages\n\nconst getOrder = (order = 'asc') => {\n return order === 'asc';\n};\n\nconst debug = buildDebug('verdaccio:web:api:package');\n\nfunction addPackageWebApi(storage: Storage, auth: Auth, config: Config): Router {\n const isLoginEnabled = config?.web?.login === true ?? true;\n const pkgRouter = Router(); /* eslint new-cap: 0 */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const anonymousRemoteUser: RemoteUser = {\n name: undefined,\n real_groups: [],\n groups: [],\n };\n\n debug('initialized package web api');\n const checkAllow = (name: string, remoteUser: RemoteUser): Promise<boolean> =>\n new Promise((resolve, reject): void => {\n debug('is login disabled %o', isLoginEnabled);\n // FIXME: this logic does not work, review\n // const remoteUserAccess = !isLoginEnabled ? anonymousRemoteUser : remoteUser;\n try {\n auth.allow_access({ packageName: name }, remoteUser, (err, allowed): void => {\n if (err) {\n resolve(false);\n }\n return resolve(allowed as boolean);\n });\n } catch (err: any) {\n reject(err);\n }\n });\n\n async function processPackages(packages: Version[] = [], req): Promise<Version[]> {\n const permissions: Version[] = [];\n const packagesToProcess = packages.slice();\n debug('process packages %o', packagesToProcess);\n for (const pkg of packagesToProcess) {\n const pkgCopy = { ...pkg };\n pkgCopy.author = formatAuthor(pkg.author);\n try {\n if (await checkAllow(pkg.name, req.remote_user)) {\n if (config.web) {\n // @ts-ignore\n pkgCopy.author.avatar = generateGravatarUrl(pkgCopy.author.email, config.web.gravatar);\n }\n // convert any remote dist to a local reference\n // eg: if the dist points to npmjs, switch to localhost:4873/prefix/etc.tar.gz\n if (!_.isNil(pkgCopy.dist) && !_.isNull(pkgCopy.dist.tarball)) {\n pkgCopy.dist.tarball = getLocalRegistryTarballUri(\n pkgCopy.dist.tarball,\n pkg.name,\n { protocol: req.protocol, headers: req.headers as any, host: req.hostname },\n config?.url_prefix\n );\n }\n permissions.push(pkgCopy);\n }\n } catch (err: any) {\n debug('process packages error %o', err);\n logger.error(\n { name: pkg.name, error: err },\n 'permission process for @{name} has failed: @{error}'\n );\n throw err;\n }\n }\n\n return permissions;\n }\n\n // Get list of all visible package\n pkgRouter.get(\n '/packages',\n async function (\n req: $RequestExtend,\n res: $ResponseExtend,\n next: $NextFunctionVer\n ): Promise<void> {\n debug('hit package web api %o');\n\n try {\n const localPackages: Version[] = await storage.getLocalDatabase();\n\n const order = getOrder(config?.web?.sort_packages);\n debug('order %o', order);\n const pkgs = await processPackages(localPackages, req);\n next(sortByName(pkgs, order));\n } catch (error: any) {\n next(error);\n }\n }\n );\n\n return pkgRouter;\n}\n\nexport default addPackageWebApi;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAH,sBAAA,CAAAC,OAAA;AAGA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AAEA,IAAAK,QAAA,GAAAL,OAAA;AAEA,IAAAM,MAAA,GAAAN,OAAA;AAEA,IAAAO,SAAA,GAAAP,OAAA;AAA0C,SAAAD,uBAAAS,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEoB;;AAE9D,MAAMG,QAAQ,GAAGA,CAACC,KAAK,GAAG,KAAK,KAAK;EAClC,OAAOA,KAAK,KAAK,KAAK;AACxB,CAAC;AAED,MAAMC,KAAK,GAAG,IAAAC,cAAU,EAAC,2BAA2B,CAAC;AAErD,SAASC,gBAAgBA,CAACC,OAAgB,EAAEC,IAAU,EAAEC,MAAc,EAAU;EAAA,IAAAC,WAAA;EAC9E,MAAMC,cAAc,GAAG,
|
|
1
|
+
{"version":3,"file":"package.js","names":["_debug","_interopRequireDefault","require","_express","_lodash","_logger","_middleware","_tarball","_utils","_webUtils","obj","__esModule","default","getOrder","order","debug","buildDebug","addPackageWebApi","storage","auth","config","_ref","_config$web","isLoginEnabled","web","login","pkgRouter","Router","anonymousRemoteUser","name","undefined","real_groups","groups","checkAllow","remoteUser","Promise","resolve","reject","allow_access","packageName","err","allowed","processPackages","packages","req","permissions","packagesToProcess","slice","pkg","pkgCopy","author","formatAuthor","remote_user","avatar","generateGravatarUrl","email","gravatar","_","isNil","dist","isNull","tarball","getLocalRegistryTarballUri","protocol","headers","host","hostname","url_prefix","push","logger","error","get","res","next","_config$web2","localPackages","getLocalDatabase","sort_packages","pkgs","sortByName","_default","exports"],"sources":["../../src/api/package.ts"],"sourcesContent":["import buildDebug from 'debug';\nimport { Router } from 'express';\nimport _ from 'lodash';\n\nimport { Auth } from '@verdaccio/auth';\nimport { logger } from '@verdaccio/logger';\nimport { $NextFunctionVer, $RequestExtend, $ResponseExtend } from '@verdaccio/middleware';\nimport { Storage } from '@verdaccio/store';\nimport { getLocalRegistryTarballUri } from '@verdaccio/tarball';\nimport { Config, RemoteUser, Version } from '@verdaccio/types';\nimport { formatAuthor, generateGravatarUrl } from '@verdaccio/utils';\n\nimport { sortByName } from '../web-utils';\n\nexport { $RequestExtend, $ResponseExtend, $NextFunctionVer }; // Was required by other packages\n\nconst getOrder = (order = 'asc') => {\n return order === 'asc';\n};\n\nconst debug = buildDebug('verdaccio:web:api:package');\n\nfunction addPackageWebApi(storage: Storage, auth: Auth, config: Config): Router {\n const isLoginEnabled = config?.web?.login === true ?? true;\n const pkgRouter = Router(); /* eslint new-cap: 0 */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const anonymousRemoteUser: RemoteUser = {\n name: undefined,\n real_groups: [],\n groups: [],\n };\n\n debug('initialized package web api');\n const checkAllow = (name: string, remoteUser: RemoteUser): Promise<boolean> =>\n new Promise((resolve, reject): void => {\n debug('is login disabled %o', isLoginEnabled);\n // FIXME: this logic does not work, review\n // const remoteUserAccess = !isLoginEnabled ? anonymousRemoteUser : remoteUser;\n try {\n auth.allow_access({ packageName: name }, remoteUser, (err, allowed): void => {\n if (err) {\n resolve(false);\n }\n return resolve(allowed as boolean);\n });\n } catch (err: any) {\n reject(err);\n }\n });\n\n async function processPackages(packages: Version[] = [], req): Promise<Version[]> {\n const permissions: Version[] = [];\n const packagesToProcess = packages.slice();\n debug('process packages %o', packagesToProcess);\n for (const pkg of packagesToProcess) {\n const pkgCopy = { ...pkg };\n pkgCopy.author = formatAuthor(pkg.author);\n try {\n if (await checkAllow(pkg.name, req.remote_user)) {\n if (config.web) {\n // @ts-ignore\n pkgCopy.author.avatar = generateGravatarUrl(pkgCopy.author.email, config.web.gravatar);\n }\n // convert any remote dist to a local reference\n // eg: if the dist points to npmjs, switch to localhost:4873/prefix/etc.tar.gz\n if (!_.isNil(pkgCopy.dist) && !_.isNull(pkgCopy.dist.tarball)) {\n pkgCopy.dist.tarball = getLocalRegistryTarballUri(\n pkgCopy.dist.tarball,\n pkg.name,\n { protocol: req.protocol, headers: req.headers as any, host: req.hostname },\n config?.url_prefix\n );\n }\n permissions.push(pkgCopy);\n }\n } catch (err: any) {\n debug('process packages error %o', err);\n logger.error(\n { name: pkg.name, error: err },\n 'permission process for @{name} has failed: @{error}'\n );\n throw err;\n }\n }\n\n return permissions;\n }\n\n // Get list of all visible package\n pkgRouter.get(\n '/packages',\n async function (\n req: $RequestExtend,\n res: $ResponseExtend,\n next: $NextFunctionVer\n ): Promise<void> {\n debug('hit package web api %o');\n\n try {\n const localPackages: Version[] = await storage.getLocalDatabase();\n\n const order = getOrder(config?.web?.sort_packages);\n debug('order %o', order);\n const pkgs = await processPackages(localPackages, req);\n next(sortByName(pkgs, order));\n } catch (error: any) {\n next(error);\n }\n }\n );\n\n return pkgRouter;\n}\n\nexport default addPackageWebApi;\n"],"mappings":"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"}
|
package/build/api/search.js
CHANGED
|
@@ -36,13 +36,14 @@ function addSearchWebApi(storage, auth) {
|
|
|
36
36
|
const router = (0, _express.Router)(); /* eslint new-cap: 0 */
|
|
37
37
|
router.get('/search/:anything', async function (req, res, next) {
|
|
38
38
|
try {
|
|
39
|
+
var _ref;
|
|
39
40
|
let data;
|
|
40
41
|
const abort = new AbortController();
|
|
41
42
|
req.socket.on('close', function () {
|
|
42
43
|
debug('search web aborted');
|
|
43
44
|
abort.abort();
|
|
44
45
|
});
|
|
45
|
-
const text = req.params.anything
|
|
46
|
+
const text = (_ref = req.params.anything) !== null && _ref !== void 0 ? _ref : '';
|
|
46
47
|
// These values are declared as optimal by npm cli
|
|
47
48
|
// FUTURE: could be overwritten by ui settings.
|
|
48
49
|
const size = 20;
|
package/build/api/search.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","names":["_debug","_interopRequireDefault","require","_express","_lodash","_url","_core","obj","__esModule","default","debug","buildDebug","checkAccess","pkg","auth","remoteUser","Promise","resolve","reject","_pkg$package","allow_access","packageName","package","name","err","allowed","status","String","match","addSearchWebApi","storage","router","Router","get","req","res","next","data","abort","AbortController","socket","on","text","params","anything","size","from","query","maintenance","popularity","quality","urlParams","URLSearchParams","search","url","toString","checkAccessPromises","all","map","pkgItem","remote_user","final","filter","i","_","isNull","slice","errorUtils","getInternalError","message","_default","exports"],"sources":["../../src/api/search.ts"],"sourcesContent":["import buildDebug from 'debug';\nimport { Router } from 'express';\nimport _ from 'lodash';\nimport { URLSearchParams } from 'url';\n\nimport { Auth } from '@verdaccio/auth';\nimport { errorUtils, searchUtils } from '@verdaccio/core';\nimport { SearchQuery } from '@verdaccio/core/src/search-utils';\nimport { Storage } from '@verdaccio/store';\nimport { Manifest } from '@verdaccio/types';\n\nimport { $NextFunctionVer, $RequestExtend, $ResponseExtend } from './package';\n\nconst debug = buildDebug('verdaccio:web:api:search');\n\nfunction checkAccess(pkg: any, auth: any, remoteUser): Promise<Manifest | null> {\n return new Promise((resolve, reject) => {\n auth.allow_access({ packageName: pkg?.package?.name }, remoteUser, function (err, allowed) {\n if (err) {\n if (err.status && String(err.status).match(/^4\\d\\d$/)) {\n // auth plugin returns 4xx user error,\n // that's equivalent of !allowed basically\n allowed = false;\n return resolve(null);\n } else {\n reject(err);\n }\n } else {\n return resolve(allowed ? pkg : null);\n }\n });\n });\n}\n\nfunction addSearchWebApi(storage: Storage, auth: Auth): Router {\n const router = Router(); /* eslint new-cap: 0 */\n router.get(\n '/search/:anything',\n async function (\n req: $RequestExtend,\n res: $ResponseExtend,\n next: $NextFunctionVer\n ): Promise<void> {\n try {\n let data;\n const abort = new AbortController();\n req.socket.on('close', function () {\n debug('search web aborted');\n abort.abort();\n });\n const text: string = (req.params.anything as string) ?? '';\n // These values are declared as optimal by npm cli\n // FUTURE: could be overwritten by ui settings.\n const size = 20;\n const from = 0;\n const query: SearchQuery = {\n from: 0,\n maintenance: 0.5,\n popularity: 0.98,\n quality: 0.65,\n size: 20,\n text,\n };\n // @ts-ignore\n const urlParams = new URLSearchParams(query);\n debug('search web init');\n data = await storage?.search({\n query,\n url: `/-/v1/search?${urlParams.toString()}`,\n abort,\n });\n const checkAccessPromises: searchUtils.SearchItemPkg[] = await Promise.all(\n data.map((pkgItem) => {\n return checkAccess(pkgItem, auth, req.remote_user);\n })\n );\n\n const final: searchUtils.SearchItemPkg[] = checkAccessPromises\n .filter((i) => !_.isNull(i))\n .slice(from, size);\n\n next(final);\n } catch (err: any) {\n next(errorUtils.getInternalError(err.message));\n }\n }\n );\n return router;\n}\n\nexport default addSearchWebApi;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,IAAA,GAAAH,OAAA;AAGA,IAAAI,KAAA,GAAAJ,OAAA;AAA0D,SAAAD,uBAAAM,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAO1D,MAAMG,KAAK,GAAG,IAAAC,cAAU,EAAC,0BAA0B,CAAC;AAEpD,SAASC,WAAWA,CAACC,GAAQ,EAAEC,IAAS,EAAEC,UAAU,EAA4B;EAC9E,OAAO,IAAIC,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;IAAA,IAAAC,YAAA;IACtCL,IAAI,CAACM,YAAY,CAAC;MAAEC,WAAW,EAAER,GAAG,aAAHA,GAAG,wBAAAM,YAAA,GAAHN,GAAG,CAAES,OAAO,cAAAH,YAAA,uBAAZA,YAAA,CAAcI;IAAK,CAAC,EAAER,UAAU,EAAE,UAAUS,GAAG,EAAEC,OAAO,EAAE;MACzF,IAAID,GAAG,EAAE;QACP,IAAIA,GAAG,CAACE,MAAM,IAAIC,MAAM,CAACH,GAAG,CAACE,MAAM,CAAC,CAACE,KAAK,CAAC,SAAS,CAAC,EAAE;UACrD;UACA;UACAH,OAAO,GAAG,KAAK;UACf,OAAOR,OAAO,CAAC,IAAI,CAAC;QACtB,CAAC,MAAM;UACLC,MAAM,CAACM,GAAG,CAAC;QACb;MACF,CAAC,MAAM;QACL,OAAOP,OAAO,CAACQ,OAAO,GAAGZ,GAAG,GAAG,IAAI,CAAC;MACtC;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ;AAEA,SAASgB,eAAeA,CAACC,OAAgB,EAAEhB,IAAU,EAAU;EAC7D,MAAMiB,MAAM,GAAG,IAAAC,eAAM,EAAC,CAAC,CAAC,CAAC;EACzBD,MAAM,CAACE,GAAG,CACR,mBAAmB,EACnB,gBACEC,GAAmB,EACnBC,GAAoB,EACpBC,IAAsB,EACP;IACf,IAAI;MACF,IAAIC,IAAI;MACR,MAAMC,KAAK,GAAG,IAAIC,eAAe,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"search.js","names":["_debug","_interopRequireDefault","require","_express","_lodash","_url","_core","obj","__esModule","default","debug","buildDebug","checkAccess","pkg","auth","remoteUser","Promise","resolve","reject","_pkg$package","allow_access","packageName","package","name","err","allowed","status","String","match","addSearchWebApi","storage","router","Router","get","req","res","next","_ref","data","abort","AbortController","socket","on","text","params","anything","size","from","query","maintenance","popularity","quality","urlParams","URLSearchParams","search","url","toString","checkAccessPromises","all","map","pkgItem","remote_user","final","filter","i","_","isNull","slice","errorUtils","getInternalError","message","_default","exports"],"sources":["../../src/api/search.ts"],"sourcesContent":["import buildDebug from 'debug';\nimport { Router } from 'express';\nimport _ from 'lodash';\nimport { URLSearchParams } from 'url';\n\nimport { Auth } from '@verdaccio/auth';\nimport { errorUtils, searchUtils } from '@verdaccio/core';\nimport { SearchQuery } from '@verdaccio/core/src/search-utils';\nimport { Storage } from '@verdaccio/store';\nimport { Manifest } from '@verdaccio/types';\n\nimport { $NextFunctionVer, $RequestExtend, $ResponseExtend } from './package';\n\nconst debug = buildDebug('verdaccio:web:api:search');\n\nfunction checkAccess(pkg: any, auth: any, remoteUser): Promise<Manifest | null> {\n return new Promise((resolve, reject) => {\n auth.allow_access({ packageName: pkg?.package?.name }, remoteUser, function (err, allowed) {\n if (err) {\n if (err.status && String(err.status).match(/^4\\d\\d$/)) {\n // auth plugin returns 4xx user error,\n // that's equivalent of !allowed basically\n allowed = false;\n return resolve(null);\n } else {\n reject(err);\n }\n } else {\n return resolve(allowed ? pkg : null);\n }\n });\n });\n}\n\nfunction addSearchWebApi(storage: Storage, auth: Auth): Router {\n const router = Router(); /* eslint new-cap: 0 */\n router.get(\n '/search/:anything',\n async function (\n req: $RequestExtend,\n res: $ResponseExtend,\n next: $NextFunctionVer\n ): Promise<void> {\n try {\n let data;\n const abort = new AbortController();\n req.socket.on('close', function () {\n debug('search web aborted');\n abort.abort();\n });\n const text: string = (req.params.anything as string) ?? '';\n // These values are declared as optimal by npm cli\n // FUTURE: could be overwritten by ui settings.\n const size = 20;\n const from = 0;\n const query: SearchQuery = {\n from: 0,\n maintenance: 0.5,\n popularity: 0.98,\n quality: 0.65,\n size: 20,\n text,\n };\n // @ts-ignore\n const urlParams = new URLSearchParams(query);\n debug('search web init');\n data = await storage?.search({\n query,\n url: `/-/v1/search?${urlParams.toString()}`,\n abort,\n });\n const checkAccessPromises: searchUtils.SearchItemPkg[] = await Promise.all(\n data.map((pkgItem) => {\n return checkAccess(pkgItem, auth, req.remote_user);\n })\n );\n\n const final: searchUtils.SearchItemPkg[] = checkAccessPromises\n .filter((i) => !_.isNull(i))\n .slice(from, size);\n\n next(final);\n } catch (err: any) {\n next(errorUtils.getInternalError(err.message));\n }\n }\n );\n return router;\n}\n\nexport default addSearchWebApi;\n"],"mappings":"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"}
|
package/build/middleware.js
CHANGED
|
@@ -14,7 +14,7 @@ var _api = _interopRequireDefault(require("./api"));
|
|
|
14
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
15
|
async function loadTheme(config) {
|
|
16
16
|
if (_lodash.default.isNil(config.theme) === false) {
|
|
17
|
-
var _config$serverSetting;
|
|
17
|
+
var _config$serverSetting, _config$serverSetting2;
|
|
18
18
|
const plugin = await (0, _loaders.asyncLoadPlugin)(config.theme, {
|
|
19
19
|
config,
|
|
20
20
|
logger: _logger.logger
|
|
@@ -28,7 +28,7 @@ async function loadTheme(config) {
|
|
|
28
28
|
- `manifestFiles`: A object with one property `js` and the array (order matters) of the manifest id to be loaded in the template dynamically.
|
|
29
29
|
*/
|
|
30
30
|
return plugin.staticPath && plugin.manifest && plugin.manifestFiles;
|
|
31
|
-
}, (config === null || config === void 0 ? void 0 : (_config$
|
|
31
|
+
}, (_config$serverSetting = config === null || config === void 0 ? void 0 : (_config$serverSetting2 = config.serverSettings) === null || _config$serverSetting2 === void 0 ? void 0 : _config$serverSetting2.pluginPrefix) !== null && _config$serverSetting !== void 0 ? _config$serverSetting : 'verdaccio-theme');
|
|
32
32
|
if (plugin.length > 1) {
|
|
33
33
|
_logger.logger.warn('multiple ui themes are not supported , only the first plugin is used used');
|
|
34
34
|
}
|
package/build/middleware.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.js","names":["_express","_interopRequireDefault","require","_lodash","_loaders","_logger","_middleware","_api","obj","__esModule","default","loadTheme","config","_","isNil","theme","_config$serverSetting","plugin","asyncLoadPlugin","logger","staticPath","manifest","manifestFiles","serverSettings","pluginPrefix","length","warn","head","_default","auth","storage","pluginOptions","web","router","express","Router","use","webMiddleware","tokenMiddleware","webUIJWTmiddleware","webEndpointsApi","exports"],"sources":["../src/middleware.ts"],"sourcesContent":["import express from 'express';\nimport _ from 'lodash';\n\nimport { asyncLoadPlugin } from '@verdaccio/loaders';\nimport { logger } from '@verdaccio/logger';\nimport { webMiddleware } from '@verdaccio/middleware';\n\nimport webEndpointsApi from './api';\n\nexport async function loadTheme(config: any) {\n if (_.isNil(config.theme) === false) {\n const plugin = await asyncLoadPlugin(\n config.theme,\n { config, logger },\n // TODO: add types { staticPath: string; manifest: unknown; manifestFiles: unknown }\n function (plugin: any) {\n /**\n * \n - `staticPath`: is the same data returned in Verdaccio 5.\n - `manifest`: A webpack manifest object.\n - `manifestFiles`: A object with one property `js` and the array (order matters) of the manifest id to be loaded in the template dynamically.\n */\n return plugin.staticPath && plugin.manifest && plugin.manifestFiles;\n },\n config?.serverSettings?.pluginPrefix ?? 'verdaccio-theme'\n );\n if (plugin.length > 1) {\n logger.warn('multiple ui themes are not supported , only the first plugin is used used');\n }\n\n return _.head(plugin);\n }\n}\n\nexport default async (config, auth, storage) => {\n const pluginOptions = (await loadTheme(config)) || require('@verdaccio/ui-theme')(config.web);\n\n // eslint-disable-next-line new-cap\n const router = express.Router();\n // load application\n router.use(\n webMiddleware(\n config,\n {\n tokenMiddleware: auth.webUIJWTmiddleware(),\n webEndpointsApi: webEndpointsApi(auth, storage, config),\n },\n pluginOptions\n )\n );\n return router;\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AAEA,IAAAK,IAAA,GAAAN,sBAAA,CAAAC,OAAA;AAAoC,SAAAD,uBAAAO,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE7B,eAAeG,SAASA,CAACC,MAAW,EAAE;EAC3C,IAAIC,eAAC,CAACC,KAAK,CAACF,MAAM,CAACG,KAAK,CAAC,KAAK,KAAK,EAAE;IAAA,IAAAC,qBAAA;IACnC,MAAMC,MAAM,GAAG,MAAM,IAAAC,wBAAe,
|
|
1
|
+
{"version":3,"file":"middleware.js","names":["_express","_interopRequireDefault","require","_lodash","_loaders","_logger","_middleware","_api","obj","__esModule","default","loadTheme","config","_","isNil","theme","_config$serverSetting","_config$serverSetting2","plugin","asyncLoadPlugin","logger","staticPath","manifest","manifestFiles","serverSettings","pluginPrefix","length","warn","head","_default","auth","storage","pluginOptions","web","router","express","Router","use","webMiddleware","tokenMiddleware","webUIJWTmiddleware","webEndpointsApi","exports"],"sources":["../src/middleware.ts"],"sourcesContent":["import express from 'express';\nimport _ from 'lodash';\n\nimport { asyncLoadPlugin } from '@verdaccio/loaders';\nimport { logger } from '@verdaccio/logger';\nimport { webMiddleware } from '@verdaccio/middleware';\n\nimport webEndpointsApi from './api';\n\nexport async function loadTheme(config: any) {\n if (_.isNil(config.theme) === false) {\n const plugin = await asyncLoadPlugin(\n config.theme,\n { config, logger },\n // TODO: add types { staticPath: string; manifest: unknown; manifestFiles: unknown }\n function (plugin: any) {\n /**\n * \n - `staticPath`: is the same data returned in Verdaccio 5.\n - `manifest`: A webpack manifest object.\n - `manifestFiles`: A object with one property `js` and the array (order matters) of the manifest id to be loaded in the template dynamically.\n */\n return plugin.staticPath && plugin.manifest && plugin.manifestFiles;\n },\n config?.serverSettings?.pluginPrefix ?? 'verdaccio-theme'\n );\n if (plugin.length > 1) {\n logger.warn('multiple ui themes are not supported , only the first plugin is used used');\n }\n\n return _.head(plugin);\n }\n}\n\nexport default async (config, auth, storage) => {\n const pluginOptions = (await loadTheme(config)) || require('@verdaccio/ui-theme')(config.web);\n\n // eslint-disable-next-line new-cap\n const router = express.Router();\n // load application\n router.use(\n webMiddleware(\n config,\n {\n tokenMiddleware: auth.webUIJWTmiddleware(),\n webEndpointsApi: webEndpointsApi(auth, storage, config),\n },\n pluginOptions\n )\n );\n return router;\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AAEA,IAAAK,IAAA,GAAAN,sBAAA,CAAAC,OAAA;AAAoC,SAAAD,uBAAAO,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE7B,eAAeG,SAASA,CAACC,MAAW,EAAE;EAC3C,IAAIC,eAAC,CAACC,KAAK,CAACF,MAAM,CAACG,KAAK,CAAC,KAAK,KAAK,EAAE;IAAA,IAAAC,qBAAA,EAAAC,sBAAA;IACnC,MAAMC,MAAM,GAAG,MAAM,IAAAC,wBAAe,EAClCP,MAAM,CAACG,KAAK,EACZ;MAAEH,MAAM;MAAEQ,MAAM,EAANA;IAAO,CAAC;IAClB;IACA,UAAUF,MAAW,EAAE;MACrB;AACR;AACA;AACA;AACA;AACA;MACQ,OAAOA,MAAM,CAACG,UAAU,IAAIH,MAAM,CAACI,QAAQ,IAAIJ,MAAM,CAACK,aAAa;IACrE,CAAC,GAAAP,qBAAA,GACDJ,MAAM,aAANA,MAAM,wBAAAK,sBAAA,GAANL,MAAM,CAAEY,cAAc,cAAAP,sBAAA,uBAAtBA,sBAAA,CAAwBQ,YAAY,cAAAT,qBAAA,cAAAA,qBAAA,GAAI,iBAC1C,CAAC;IACD,IAAIE,MAAM,CAACQ,MAAM,GAAG,CAAC,EAAE;MACrBN,cAAM,CAACO,IAAI,CAAC,2EAA2E,CAAC;IAC1F;IAEA,OAAOd,eAAC,CAACe,IAAI,CAACV,MAAM,CAAC;EACvB;AACF;AAAC,IAAAW,QAAA,GAEc,MAAAA,CAAOjB,MAAM,EAAEkB,IAAI,EAAEC,OAAO,KAAK;EAC9C,MAAMC,aAAa,GAAG,CAAC,MAAMrB,SAAS,CAACC,MAAM,CAAC,KAAKV,OAAO,CAAC,qBAAqB,CAAC,CAACU,MAAM,CAACqB,GAAG,CAAC;;EAE7F;EACA,MAAMC,MAAM,GAAGC,gBAAO,CAACC,MAAM,CAAC,CAAC;EAC/B;EACAF,MAAM,CAACG,GAAG,CACR,IAAAC,yBAAa,EACX1B,MAAM,EACN;IACE2B,eAAe,EAAET,IAAI,CAACU,kBAAkB,CAAC,CAAC;IAC1CC,eAAe,EAAE,IAAAA,YAAe,EAACX,IAAI,EAAEC,OAAO,EAAEnB,MAAM;EACxD,CAAC,EACDoB,aACF,CACF,CAAC;EACD,OAAOE,MAAM;AACf,CAAC;AAAAQ,OAAA,CAAAhC,OAAA,GAAAmB,QAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@verdaccio/web",
|
|
3
|
-
"version": "6.0.0-6-next.
|
|
3
|
+
"version": "6.0.0-6-next.63",
|
|
4
4
|
"description": "web ui middleware",
|
|
5
5
|
"main": "./build/index.js",
|
|
6
6
|
"types": "build/index.d.ts",
|
|
@@ -25,16 +25,16 @@
|
|
|
25
25
|
},
|
|
26
26
|
"license": "MIT",
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@verdaccio/auth": "6.0.0-6-next.
|
|
29
|
-
"@verdaccio/core": "6.0.0-6-next.
|
|
30
|
-
"@verdaccio/config": "6.0.0-6-next.
|
|
31
|
-
"@verdaccio/loaders": "6.0.0-6-next.
|
|
32
|
-
"@verdaccio/logger": "6.0.0-6-next.
|
|
33
|
-
"@verdaccio/middleware": "6.0.0-6-next.
|
|
34
|
-
"@verdaccio/store": "6.0.0-6-next.
|
|
35
|
-
"@verdaccio/tarball": "11.0.0-6-next.
|
|
36
|
-
"@verdaccio/url": "11.0.0-6-next.
|
|
37
|
-
"@verdaccio/utils": "6.0.0-6-next.
|
|
28
|
+
"@verdaccio/auth": "6.0.0-6-next.55",
|
|
29
|
+
"@verdaccio/core": "6.0.0-6-next.76",
|
|
30
|
+
"@verdaccio/config": "6.0.0-6-next.76",
|
|
31
|
+
"@verdaccio/loaders": "6.0.0-6-next.45",
|
|
32
|
+
"@verdaccio/logger": "6.0.0-6-next.44",
|
|
33
|
+
"@verdaccio/middleware": "6.0.0-6-next.55",
|
|
34
|
+
"@verdaccio/store": "6.0.0-6-next.56",
|
|
35
|
+
"@verdaccio/tarball": "11.0.0-6-next.45",
|
|
36
|
+
"@verdaccio/url": "11.0.0-6-next.42",
|
|
37
|
+
"@verdaccio/utils": "6.0.0-6-next.44",
|
|
38
38
|
"debug": "4.3.4",
|
|
39
39
|
"express": "4.18.2",
|
|
40
40
|
"lodash": "4.17.21"
|
|
@@ -42,14 +42,13 @@
|
|
|
42
42
|
"devDependencies": {
|
|
43
43
|
"@verdaccio/types": "11.0.0-6-next.25",
|
|
44
44
|
"@verdaccio/test-helper": "2.0.0-6-next.8",
|
|
45
|
-
"@verdaccio/api": "6.0.0-6-next.
|
|
45
|
+
"@verdaccio/api": "6.0.0-6-next.59",
|
|
46
46
|
"node-html-parser": "4.1.5",
|
|
47
47
|
"supertest": "6.3.3",
|
|
48
48
|
"nock": "13.2.9",
|
|
49
49
|
"jsdom": "20.0.3",
|
|
50
|
-
"
|
|
51
|
-
"verdaccio-
|
|
52
|
-
"verdaccio-memory": "11.0.0-6-next.41"
|
|
50
|
+
"verdaccio-auth-memory": "11.0.0-6-next.41",
|
|
51
|
+
"verdaccio-memory": "11.0.0-6-next.43"
|
|
53
52
|
},
|
|
54
53
|
"funding": {
|
|
55
54
|
"type": "opencollective",
|