@verdaccio/web 8.1.0-next-8.17 → 8.1.0-next-8.19
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/build/api/search.js +2 -2
- package/build/api/search.js.map +1 -1
- package/package.json +13 -14
package/build/api/search.js
CHANGED
|
@@ -7,7 +7,7 @@ exports.default = void 0;
|
|
|
7
7
|
var _debug = _interopRequireDefault(require("debug"));
|
|
8
8
|
var _express = require("express");
|
|
9
9
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
10
|
-
var
|
|
10
|
+
var _nodeUrl = require("node:url");
|
|
11
11
|
var _core = require("@verdaccio/core");
|
|
12
12
|
var _middleware = require("@verdaccio/middleware");
|
|
13
13
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -56,7 +56,7 @@ function addSearchWebApi(storage, auth) {
|
|
|
56
56
|
text
|
|
57
57
|
};
|
|
58
58
|
// @ts-ignore
|
|
59
|
-
const urlParams = new
|
|
59
|
+
const urlParams = new _nodeUrl.URLSearchParams(query);
|
|
60
60
|
debug('search web init');
|
|
61
61
|
data = await storage?.search({
|
|
62
62
|
query,
|
package/build/api/search.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","names":["_debug","_interopRequireDefault","require","_express","_lodash","
|
|
1
|
+
{"version":3,"file":"search.js","names":["_debug","_interopRequireDefault","require","_express","_lodash","_nodeUrl","_core","_middleware","e","__esModule","default","debug","buildDebug","checkAccess","pkg","auth","remoteUser","Promise","resolve","reject","allow_access","packageName","package","name","err","allowed","status","String","match","addSearchWebApi","storage","router","Router","get","WebUrls","search","req","res","next","data","abort","AbortController","socket","on","text","params","anything","size","from","query","maintenance","popularity","quality","urlParams","URLSearchParams","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 'node:url';\n\nimport { Auth } from '@verdaccio/auth';\nimport { errorUtils, searchUtils } from '@verdaccio/core';\nimport { SearchQuery } from '@verdaccio/core/src/search-utils';\nimport { WebUrls } from '@verdaccio/middleware';\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 WebUrls.search,\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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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@verdaccio/web",
|
|
3
|
-
"version": "8.1.0-next-8.
|
|
3
|
+
"version": "8.1.0-next-8.19",
|
|
4
4
|
"description": "Verdaccio Web Middleware",
|
|
5
5
|
"main": "./build/index.js",
|
|
6
6
|
"types": "build/index.d.ts",
|
|
@@ -28,28 +28,27 @@
|
|
|
28
28
|
},
|
|
29
29
|
"license": "MIT",
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@verdaccio/auth": "8.0.0-next-8.
|
|
32
|
-
"@verdaccio/config": "8.0.0-next-8.
|
|
33
|
-
"@verdaccio/core": "8.0.0-next-8.
|
|
34
|
-
"@verdaccio/loaders": "8.0.0-next-8.
|
|
35
|
-
"@verdaccio/logger": "8.0.0-next-8.
|
|
36
|
-
"@verdaccio/middleware": "8.0.0-next-8.
|
|
37
|
-
"@verdaccio/store": "8.0.0-next-8.
|
|
38
|
-
"@verdaccio/tarball": "13.0.0-next-8.
|
|
39
|
-
"@verdaccio/url": "13.0.0-next-8.17",
|
|
31
|
+
"@verdaccio/auth": "8.0.0-next-8.19",
|
|
32
|
+
"@verdaccio/config": "8.0.0-next-8.19",
|
|
33
|
+
"@verdaccio/core": "8.0.0-next-8.19",
|
|
34
|
+
"@verdaccio/loaders": "8.0.0-next-8.9",
|
|
35
|
+
"@verdaccio/logger": "8.0.0-next-8.19",
|
|
36
|
+
"@verdaccio/middleware": "8.0.0-next-8.19",
|
|
37
|
+
"@verdaccio/store": "8.0.0-next-8.19",
|
|
38
|
+
"@verdaccio/tarball": "13.0.0-next-8.19",
|
|
40
39
|
"debug": "4.4.1",
|
|
41
40
|
"express": "4.21.2",
|
|
42
41
|
"lodash": "4.17.21"
|
|
43
42
|
},
|
|
44
43
|
"devDependencies": {
|
|
45
|
-
"@verdaccio/api": "8.1.0-next-8.
|
|
44
|
+
"@verdaccio/api": "8.1.0-next-8.19",
|
|
46
45
|
"@verdaccio/test-helper": "4.0.0-next-8.5",
|
|
47
46
|
"@verdaccio/types": "13.0.0-next-8.6",
|
|
48
47
|
"jsdom": "26.1.0",
|
|
49
|
-
"node-html-parser": "4.1.5",
|
|
50
48
|
"supertest": "7.0.0",
|
|
51
|
-
"verdaccio-auth-memory": "13.0.0-next-8.
|
|
52
|
-
"verdaccio-memory": "13.0.0-next-8.
|
|
49
|
+
"verdaccio-auth-memory": "13.0.0-next-8.19",
|
|
50
|
+
"verdaccio-memory": "13.0.0-next-8.19",
|
|
51
|
+
"vitest": "3.0.4"
|
|
53
52
|
},
|
|
54
53
|
"funding": {
|
|
55
54
|
"type": "opencollective",
|