@verdaccio/web 6.0.0-6-next.43 → 6.0.0-6-next.45
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 +32 -0
- package/build/api/readme.js +5 -1
- package/build/api/readme.js.map +1 -1
- package/build/api/sidebar.js +5 -1
- package/build/api/sidebar.js.map +1 -1
- package/package.json +15 -15
- package/src/api/readme.ts +5 -1
- package/src/api/sidebar.ts +5 -1
- package/tsconfig.json +1 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,37 @@
|
|
|
1
1
|
# @verdaccio/web
|
|
2
2
|
|
|
3
|
+
## 6.0.0-6-next.45
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [fa274ee4]
|
|
8
|
+
- @verdaccio/middleware@6.0.0-6-next.37
|
|
9
|
+
- @verdaccio/core@6.0.0-6-next.58
|
|
10
|
+
- @verdaccio/config@6.0.0-6-next.58
|
|
11
|
+
- @verdaccio/auth@6.0.0-6-next.37
|
|
12
|
+
- @verdaccio/tarball@11.0.0-6-next.27
|
|
13
|
+
- @verdaccio/url@11.0.0-6-next.24
|
|
14
|
+
- @verdaccio/loaders@6.0.0-6-next.27
|
|
15
|
+
- @verdaccio/store@6.0.0-6-next.38
|
|
16
|
+
- @verdaccio/utils@6.0.0-6-next.26
|
|
17
|
+
- @verdaccio/logger@6.0.0-6-next.26
|
|
18
|
+
|
|
19
|
+
## 6.0.0-6-next.44
|
|
20
|
+
|
|
21
|
+
### Patch Changes
|
|
22
|
+
|
|
23
|
+
- Updated dependencies [9943e2b1]
|
|
24
|
+
- @verdaccio/middleware@6.0.0-6-next.36
|
|
25
|
+
- @verdaccio/store@6.0.0-6-next.37
|
|
26
|
+
- @verdaccio/core@6.0.0-6-next.57
|
|
27
|
+
- @verdaccio/config@6.0.0-6-next.57
|
|
28
|
+
- @verdaccio/auth@6.0.0-6-next.36
|
|
29
|
+
- @verdaccio/tarball@11.0.0-6-next.26
|
|
30
|
+
- @verdaccio/url@11.0.0-6-next.23
|
|
31
|
+
- @verdaccio/loaders@6.0.0-6-next.26
|
|
32
|
+
- @verdaccio/logger@6.0.0-6-next.25
|
|
33
|
+
- @verdaccio/utils@6.0.0-6-next.25
|
|
34
|
+
|
|
3
35
|
## 6.0.0-6-next.43
|
|
4
36
|
|
|
5
37
|
### Minor Changes
|
package/build/api/readme.js
CHANGED
|
@@ -25,6 +25,7 @@ exports.default = exports.NOT_README_FOUND = void 0;
|
|
|
25
25
|
var _debug = _interopRequireDefault(require("debug"));
|
|
26
26
|
var _express = require("express");
|
|
27
27
|
var _core = require("@verdaccio/core");
|
|
28
|
+
var _logger = require("@verdaccio/logger");
|
|
28
29
|
var _middleware = require("@verdaccio/middleware");
|
|
29
30
|
var _webUtils = require("../utils/web-utils");
|
|
30
31
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -43,7 +44,10 @@ const getReadme = readme => {
|
|
|
43
44
|
};
|
|
44
45
|
function addReadmeWebApi(storage, auth) {
|
|
45
46
|
debug('initialized readme web api');
|
|
46
|
-
const can = (0, _middleware.allow)(auth
|
|
47
|
+
const can = (0, _middleware.allow)(auth, {
|
|
48
|
+
beforeAll: (a, b) => _logger.logger.trace(a, b),
|
|
49
|
+
afterAll: (a, b) => _logger.logger.trace(a, b)
|
|
50
|
+
});
|
|
47
51
|
const pkgRouter = (0, _express.Router)(); /* eslint new-cap: 0 */
|
|
48
52
|
|
|
49
53
|
pkgRouter.get('/package/readme/(@:scope/)?:package/:version?', can('access'), async function (req, res, next) {
|
package/build/api/readme.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readme.js","names":["NOT_README_FOUND","debug","buildDebug","getReadme","readme","length","addReadmeWebApi","storage","auth","can","allow","pkgRouter","Router","get","req","res","next","name","params","scope","addScope","package","requestOptions","protocol","headers","host","remoteAddress","socket","manifest","getPackageByOptions","uplinksLook","abbreviated","set","HEADER_TYPE","CONTENT_TYPE","HEADERS","TEXT_PLAIN_UTF8","err"],"sources":["../../src/api/readme.ts"],"sourcesContent":["import buildDebug from 'debug';\nimport { Router } from 'express';\n\nimport { Auth } from '@verdaccio/auth';\nimport { HEADERS, HEADER_TYPE } from '@verdaccio/core';\nimport { $NextFunctionVer, $RequestExtend, $ResponseExtend, allow } from '@verdaccio/middleware';\nimport { Storage } from '@verdaccio/store';\nimport { Manifest } from '@verdaccio/types';\n\nimport { AuthorAvatar, addScope } from '../utils/web-utils';\n\nexport { $RequestExtend, $ResponseExtend, $NextFunctionVer }; // Was required by other packages\n\n// TODO: review this type, should be on @verdacid/types\nexport type PackageExt = Manifest & { author: AuthorAvatar; dist?: { tarball: string } };\nexport const NOT_README_FOUND = 'ERROR: No README data found!';\nconst debug = buildDebug('verdaccio:web:api:readme');\nconst getReadme = (readme) => {\n if (typeof readme === 'string' && readme.length === 0) {\n return NOT_README_FOUND;\n }\n if (typeof readme !== 'string') {\n return NOT_README_FOUND;\n } else {\n return readme;\n }\n};\n\nfunction addReadmeWebApi(storage: Storage, auth: Auth): Router {\n debug('initialized readme web api');\n const can = allow(auth);\n const pkgRouter = Router(); /* eslint new-cap: 0 */\n\n pkgRouter.get(\n '/package/readme/(@:scope/)?:package/:version?',\n can('access'),\n async function (\n req: $RequestExtend,\n res: $ResponseExtend,\n next: $NextFunctionVer\n ): Promise<void> {\n debug('readme hit');\n const name = req.params.scope\n ? addScope(req.params.scope, req.params.package)\n : req.params.package;\n debug('readme name %o', name);\n const requestOptions = {\n protocol: req.protocol,\n headers: req.headers as any,\n // FIXME: if we migrate to req.hostname, the port is not longer included.\n host: req.host,\n remoteAddress: req.socket.remoteAddress,\n };\n try {\n const manifest = (await storage.getPackageByOptions({\n name,\n uplinksLook: true,\n abbreviated: false,\n requestOptions,\n })) as Manifest;\n debug('readme pkg %o', manifest?.name);\n res.set(HEADER_TYPE.CONTENT_TYPE, HEADERS.TEXT_PLAIN_UTF8);\n next(getReadme(manifest.readme));\n } catch (err) {\n next(err);\n }\n }\n );\n return pkgRouter;\n}\n\nexport default addReadmeWebApi;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AAGA;AACA;AAIA;AAA4D;AAMrD,MAAMA,gBAAgB,GAAG,8BAA8B;AAAC;AAC/D,MAAMC,KAAK,GAAG,IAAAC,cAAU,EAAC,0BAA0B,CAAC;AACpD,MAAMC,SAAS,GAAIC,MAAM,IAAK;EAC5B,IAAI,OAAOA,MAAM,KAAK,QAAQ,IAAIA,MAAM,CAACC,MAAM,KAAK,CAAC,EAAE;IACrD,OAAOL,gBAAgB;EACzB;EACA,IAAI,OAAOI,MAAM,KAAK,QAAQ,EAAE;IAC9B,OAAOJ,gBAAgB;EACzB,CAAC,MAAM;IACL,OAAOI,MAAM;EACf;AACF,CAAC;AAED,SAASE,eAAe,CAACC,OAAgB,EAAEC,IAAU,EAAU;EAC7DP,KAAK,CAAC,4BAA4B,CAAC;EACnC,MAAMQ,GAAG,GAAG,IAAAC,iBAAK,EAACF,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"readme.js","names":["NOT_README_FOUND","debug","buildDebug","getReadme","readme","length","addReadmeWebApi","storage","auth","can","allow","beforeAll","a","b","logger","trace","afterAll","pkgRouter","Router","get","req","res","next","name","params","scope","addScope","package","requestOptions","protocol","headers","host","remoteAddress","socket","manifest","getPackageByOptions","uplinksLook","abbreviated","set","HEADER_TYPE","CONTENT_TYPE","HEADERS","TEXT_PLAIN_UTF8","err"],"sources":["../../src/api/readme.ts"],"sourcesContent":["import buildDebug from 'debug';\nimport { Router } from 'express';\n\nimport { Auth } from '@verdaccio/auth';\nimport { HEADERS, HEADER_TYPE } from '@verdaccio/core';\nimport { logger } from '@verdaccio/logger';\nimport { $NextFunctionVer, $RequestExtend, $ResponseExtend, allow } from '@verdaccio/middleware';\nimport { Storage } from '@verdaccio/store';\nimport { Manifest } from '@verdaccio/types';\n\nimport { AuthorAvatar, addScope } from '../utils/web-utils';\n\nexport { $RequestExtend, $ResponseExtend, $NextFunctionVer }; // Was required by other packages\n\n// TODO: review this type, should be on @verdacid/types\nexport type PackageExt = Manifest & { author: AuthorAvatar; dist?: { tarball: string } };\nexport const NOT_README_FOUND = 'ERROR: No README data found!';\nconst debug = buildDebug('verdaccio:web:api:readme');\nconst getReadme = (readme) => {\n if (typeof readme === 'string' && readme.length === 0) {\n return NOT_README_FOUND;\n }\n if (typeof readme !== 'string') {\n return NOT_README_FOUND;\n } else {\n return readme;\n }\n};\n\nfunction addReadmeWebApi(storage: Storage, auth: Auth): Router {\n debug('initialized readme web api');\n const can = allow(auth, {\n beforeAll: (a, b) => logger.trace(a, b),\n afterAll: (a, b) => logger.trace(a, b),\n });\n const pkgRouter = Router(); /* eslint new-cap: 0 */\n\n pkgRouter.get(\n '/package/readme/(@:scope/)?:package/:version?',\n can('access'),\n async function (\n req: $RequestExtend,\n res: $ResponseExtend,\n next: $NextFunctionVer\n ): Promise<void> {\n debug('readme hit');\n const name = req.params.scope\n ? addScope(req.params.scope, req.params.package)\n : req.params.package;\n debug('readme name %o', name);\n const requestOptions = {\n protocol: req.protocol,\n headers: req.headers as any,\n // FIXME: if we migrate to req.hostname, the port is not longer included.\n host: req.host,\n remoteAddress: req.socket.remoteAddress,\n };\n try {\n const manifest = (await storage.getPackageByOptions({\n name,\n uplinksLook: true,\n abbreviated: false,\n requestOptions,\n })) as Manifest;\n debug('readme pkg %o', manifest?.name);\n res.set(HEADER_TYPE.CONTENT_TYPE, HEADERS.TEXT_PLAIN_UTF8);\n next(getReadme(manifest.readme));\n } catch (err) {\n next(err);\n }\n }\n );\n return pkgRouter;\n}\n\nexport default addReadmeWebApi;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AAGA;AACA;AACA;AAIA;AAA4D;AAMrD,MAAMA,gBAAgB,GAAG,8BAA8B;AAAC;AAC/D,MAAMC,KAAK,GAAG,IAAAC,cAAU,EAAC,0BAA0B,CAAC;AACpD,MAAMC,SAAS,GAAIC,MAAM,IAAK;EAC5B,IAAI,OAAOA,MAAM,KAAK,QAAQ,IAAIA,MAAM,CAACC,MAAM,KAAK,CAAC,EAAE;IACrD,OAAOL,gBAAgB;EACzB;EACA,IAAI,OAAOI,MAAM,KAAK,QAAQ,EAAE;IAC9B,OAAOJ,gBAAgB;EACzB,CAAC,MAAM;IACL,OAAOI,MAAM;EACf;AACF,CAAC;AAED,SAASE,eAAe,CAACC,OAAgB,EAAEC,IAAU,EAAU;EAC7DP,KAAK,CAAC,4BAA4B,CAAC;EACnC,MAAMQ,GAAG,GAAG,IAAAC,iBAAK,EAACF,IAAI,EAAE;IACtBG,SAAS,EAAE,CAACC,CAAC,EAAEC,CAAC,KAAKC,cAAM,CAACC,KAAK,CAACH,CAAC,EAAEC,CAAC,CAAC;IACvCG,QAAQ,EAAE,CAACJ,CAAC,EAAEC,CAAC,KAAKC,cAAM,CAACC,KAAK,CAACH,CAAC,EAAEC,CAAC;EACvC,CAAC,CAAC;EACF,MAAMI,SAAS,GAAG,IAAAC,eAAM,GAAE,CAAC,CAAC;;EAE5BD,SAAS,CAACE,GAAG,CACX,+CAA+C,EAC/CV,GAAG,CAAC,QAAQ,CAAC,EACb,gBACEW,GAAmB,EACnBC,GAAoB,EACpBC,IAAsB,EACP;IACfrB,KAAK,CAAC,YAAY,CAAC;IACnB,MAAMsB,IAAI,GAAGH,GAAG,CAACI,MAAM,CAACC,KAAK,GACzB,IAAAC,kBAAQ,EAACN,GAAG,CAACI,MAAM,CAACC,KAAK,EAAEL,GAAG,CAACI,MAAM,CAACG,OAAO,CAAC,GAC9CP,GAAG,CAACI,MAAM,CAACG,OAAO;IACtB1B,KAAK,CAAC,gBAAgB,EAAEsB,IAAI,CAAC;IAC7B,MAAMK,cAAc,GAAG;MACrBC,QAAQ,EAAET,GAAG,CAACS,QAAQ;MACtBC,OAAO,EAAEV,GAAG,CAACU,OAAc;MAC3B;MACAC,IAAI,EAAEX,GAAG,CAACW,IAAI;MACdC,aAAa,EAAEZ,GAAG,CAACa,MAAM,CAACD;IAC5B,CAAC;IACD,IAAI;MACF,MAAME,QAAQ,GAAI,MAAM3B,OAAO,CAAC4B,mBAAmB,CAAC;QAClDZ,IAAI;QACJa,WAAW,EAAE,IAAI;QACjBC,WAAW,EAAE,KAAK;QAClBT;MACF,CAAC,CAAc;MACf3B,KAAK,CAAC,eAAe,EAAEiC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEX,IAAI,CAAC;MACtCF,GAAG,CAACiB,GAAG,CAACC,iBAAW,CAACC,YAAY,EAAEC,aAAO,CAACC,eAAe,CAAC;MAC1DpB,IAAI,CAACnB,SAAS,CAAC+B,QAAQ,CAAC9B,MAAM,CAAC,CAAC;IAClC,CAAC,CAAC,OAAOuC,GAAG,EAAE;MACZrB,IAAI,CAACqB,GAAG,CAAC;IACX;EACF,CAAC,CACF;EACD,OAAO1B,SAAS;AAClB;AAAC,eAEcX,eAAe;AAAA"}
|
package/build/api/sidebar.js
CHANGED
|
@@ -25,6 +25,7 @@ exports.default = void 0;
|
|
|
25
25
|
var _debug = _interopRequireDefault(require("debug"));
|
|
26
26
|
var _express = require("express");
|
|
27
27
|
var _core = require("@verdaccio/core");
|
|
28
|
+
var _logger = require("@verdaccio/logger");
|
|
28
29
|
var _middleware = require("@verdaccio/middleware");
|
|
29
30
|
var _tarball = require("@verdaccio/tarball");
|
|
30
31
|
var _utils = require("@verdaccio/utils");
|
|
@@ -34,7 +35,10 @@ const debug = (0, _debug.default)('verdaccio:web:api:sidebar');
|
|
|
34
35
|
function addSidebarWebApi(config, storage, auth) {
|
|
35
36
|
debug('initialized sidebar web api');
|
|
36
37
|
const router = (0, _express.Router)(); /* eslint new-cap: 0 */
|
|
37
|
-
const can = (0, _middleware.allow)(auth
|
|
38
|
+
const can = (0, _middleware.allow)(auth, {
|
|
39
|
+
beforeAll: (a, b) => _logger.logger.trace(a, b),
|
|
40
|
+
afterAll: (a, b) => _logger.logger.trace(a, b)
|
|
41
|
+
});
|
|
38
42
|
// Get package readme
|
|
39
43
|
router.get('/sidebar/(@:scope/)?:package', can('access'), async function (req, res, next) {
|
|
40
44
|
const name = req.params.scope ? (0, _webUtils.addScope)(req.params.scope, req.params.package) : req.params.package;
|
package/build/api/sidebar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidebar.js","names":["debug","buildDebug","addSidebarWebApi","config","storage","auth","router","Router","can","allow","get","req","res","next","name","params","scope","addScope","package","requestOptions","protocol","headers","host","remoteAddress","socket","info","getPackageByOptions","uplinksLook","keepUpLinkData","v","query","sideBarInfo","versions","convertDistRemoteToLocalTarballUrls","hostname","url_prefix","isVersionValid","latest","author","formatAuthor","DIST_TAGS","deleteProperties","authorAvatar","web","addGravatarSupport","gravatar","err","status","HTTP_STATUS","NOT_FOUND","end"],"sources":["../../src/api/sidebar.ts"],"sourcesContent":["import buildDebug from 'debug';\nimport { Router } from 'express';\n\nimport { Auth } from '@verdaccio/auth';\nimport { DIST_TAGS, HTTP_STATUS } from '@verdaccio/core';\nimport { $NextFunctionVer, $RequestExtend, $ResponseExtend, allow } from '@verdaccio/middleware';\nimport { Storage } from '@verdaccio/store';\nimport { convertDistRemoteToLocalTarballUrls } from '@verdaccio/tarball';\nimport { Config, Manifest, Version } from '@verdaccio/types';\nimport { addGravatarSupport, formatAuthor, isVersionValid } from '@verdaccio/utils';\n\nimport { AuthorAvatar, addScope, deleteProperties } from '../utils/web-utils';\n\nexport { $RequestExtend, $ResponseExtend, $NextFunctionVer }; // Was required by other packages\n\nexport type PackageExt = Manifest & { author: AuthorAvatar; dist?: { tarball: string } };\n\nexport type $SidebarPackage = Manifest & { latest: Version };\nconst debug = buildDebug('verdaccio:web:api:sidebar');\n\nfunction addSidebarWebApi(config: Config, storage: Storage, auth: Auth): Router {\n debug('initialized sidebar web api');\n const router = Router(); /* eslint new-cap: 0 */\n const can = allow(auth);\n // Get package readme\n router.get(\n '/sidebar/(@:scope/)?:package',\n can('access'),\n async function (\n req: $RequestExtend,\n res: $ResponseExtend,\n next: $NextFunctionVer\n ): Promise<void> {\n const name: string = req.params.scope\n ? addScope(req.params.scope, req.params.package)\n : req.params.package;\n const requestOptions = {\n protocol: req.protocol,\n headers: req.headers as any,\n // FIXME: if we migrate to req.hostname, the port is not longer included.\n host: req.host,\n remoteAddress: req.socket.remoteAddress,\n };\n try {\n const info = (await storage.getPackageByOptions({\n name,\n uplinksLook: true,\n keepUpLinkData: true,\n requestOptions,\n })) as Manifest;\n const { v } = req.query;\n let sideBarInfo = { ...info };\n sideBarInfo.versions = convertDistRemoteToLocalTarballUrls(\n info,\n { protocol: req.protocol, headers: req.headers as any, host: req.hostname },\n config.url_prefix\n ).versions;\n // TODO: review this implementation\n if (typeof v === 'string' && isVersionValid(info, v)) {\n // @ts-ignore\n sideBarInfo.latest = sideBarInfo.versions[v];\n // @ts-ignore\n sideBarInfo.latest.author = formatAuthor(sideBarInfo.latest.author);\n } else {\n // @ts-ignore\n sideBarInfo.latest = sideBarInfo.versions[info[DIST_TAGS].latest];\n // @ts-ignore\n sideBarInfo.latest.author = formatAuthor(sideBarInfo.latest.author);\n }\n sideBarInfo = deleteProperties(['readme', '_attachments', '_rev', 'name'], sideBarInfo);\n const authorAvatar = config.web\n ? addGravatarSupport(sideBarInfo, config.web.gravatar)\n : addGravatarSupport(sideBarInfo);\n next(authorAvatar);\n } catch (err) {\n res.status(HTTP_STATUS.NOT_FOUND);\n res.end();\n }\n }\n );\n\n return router;\n}\n\nexport default addSidebarWebApi;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AAGA;AACA;AAEA;AAEA;AAEA;AAA8E;AAO9E,MAAMA,KAAK,GAAG,IAAAC,cAAU,EAAC,2BAA2B,CAAC;AAErD,SAASC,gBAAgB,CAACC,MAAc,EAAEC,OAAgB,EAAEC,IAAU,EAAU;EAC9EL,KAAK,CAAC,6BAA6B,CAAC;EACpC,MAAMM,MAAM,GAAG,IAAAC,eAAM,GAAE,CAAC,CAAC;EACzB,MAAMC,GAAG,GAAG,IAAAC,iBAAK,EAACJ,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"sidebar.js","names":["debug","buildDebug","addSidebarWebApi","config","storage","auth","router","Router","can","allow","beforeAll","a","b","logger","trace","afterAll","get","req","res","next","name","params","scope","addScope","package","requestOptions","protocol","headers","host","remoteAddress","socket","info","getPackageByOptions","uplinksLook","keepUpLinkData","v","query","sideBarInfo","versions","convertDistRemoteToLocalTarballUrls","hostname","url_prefix","isVersionValid","latest","author","formatAuthor","DIST_TAGS","deleteProperties","authorAvatar","web","addGravatarSupport","gravatar","err","status","HTTP_STATUS","NOT_FOUND","end"],"sources":["../../src/api/sidebar.ts"],"sourcesContent":["import buildDebug from 'debug';\nimport { Router } from 'express';\n\nimport { Auth } from '@verdaccio/auth';\nimport { DIST_TAGS, HTTP_STATUS } from '@verdaccio/core';\nimport { logger } from '@verdaccio/logger';\nimport { $NextFunctionVer, $RequestExtend, $ResponseExtend, allow } from '@verdaccio/middleware';\nimport { Storage } from '@verdaccio/store';\nimport { convertDistRemoteToLocalTarballUrls } from '@verdaccio/tarball';\nimport { Config, Manifest, Version } from '@verdaccio/types';\nimport { addGravatarSupport, formatAuthor, isVersionValid } from '@verdaccio/utils';\n\nimport { AuthorAvatar, addScope, deleteProperties } from '../utils/web-utils';\n\nexport { $RequestExtend, $ResponseExtend, $NextFunctionVer }; // Was required by other packages\n\nexport type PackageExt = Manifest & { author: AuthorAvatar; dist?: { tarball: string } };\n\nexport type $SidebarPackage = Manifest & { latest: Version };\nconst debug = buildDebug('verdaccio:web:api:sidebar');\n\nfunction addSidebarWebApi(config: Config, storage: Storage, auth: Auth): Router {\n debug('initialized sidebar web api');\n const router = Router(); /* eslint new-cap: 0 */\n const can = allow(auth, {\n beforeAll: (a, b) => logger.trace(a, b),\n afterAll: (a, b) => logger.trace(a, b),\n });\n // Get package readme\n router.get(\n '/sidebar/(@:scope/)?:package',\n can('access'),\n async function (\n req: $RequestExtend,\n res: $ResponseExtend,\n next: $NextFunctionVer\n ): Promise<void> {\n const name: string = req.params.scope\n ? addScope(req.params.scope, req.params.package)\n : req.params.package;\n const requestOptions = {\n protocol: req.protocol,\n headers: req.headers as any,\n // FIXME: if we migrate to req.hostname, the port is not longer included.\n host: req.host,\n remoteAddress: req.socket.remoteAddress,\n };\n try {\n const info = (await storage.getPackageByOptions({\n name,\n uplinksLook: true,\n keepUpLinkData: true,\n requestOptions,\n })) as Manifest;\n const { v } = req.query;\n let sideBarInfo = { ...info };\n sideBarInfo.versions = convertDistRemoteToLocalTarballUrls(\n info,\n { protocol: req.protocol, headers: req.headers as any, host: req.hostname },\n config.url_prefix\n ).versions;\n // TODO: review this implementation\n if (typeof v === 'string' && isVersionValid(info, v)) {\n // @ts-ignore\n sideBarInfo.latest = sideBarInfo.versions[v];\n // @ts-ignore\n sideBarInfo.latest.author = formatAuthor(sideBarInfo.latest.author);\n } else {\n // @ts-ignore\n sideBarInfo.latest = sideBarInfo.versions[info[DIST_TAGS].latest];\n // @ts-ignore\n sideBarInfo.latest.author = formatAuthor(sideBarInfo.latest.author);\n }\n sideBarInfo = deleteProperties(['readme', '_attachments', '_rev', 'name'], sideBarInfo);\n const authorAvatar = config.web\n ? addGravatarSupport(sideBarInfo, config.web.gravatar)\n : addGravatarSupport(sideBarInfo);\n next(authorAvatar);\n } catch (err) {\n res.status(HTTP_STATUS.NOT_FOUND);\n res.end();\n }\n }\n );\n\n return router;\n}\n\nexport default addSidebarWebApi;\n"],"mappings":"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"}
|
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.45",
|
|
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.37",
|
|
29
|
+
"@verdaccio/core": "6.0.0-6-next.58",
|
|
30
|
+
"@verdaccio/config": "6.0.0-6-next.58",
|
|
31
|
+
"@verdaccio/loaders": "6.0.0-6-next.27",
|
|
32
|
+
"@verdaccio/logger": "6.0.0-6-next.26",
|
|
33
|
+
"@verdaccio/middleware": "6.0.0-6-next.37",
|
|
34
|
+
"@verdaccio/store": "6.0.0-6-next.38",
|
|
35
|
+
"@verdaccio/tarball": "11.0.0-6-next.27",
|
|
36
|
+
"@verdaccio/url": "11.0.0-6-next.24",
|
|
37
|
+
"@verdaccio/utils": "6.0.0-6-next.26",
|
|
38
38
|
"body-parser": "1.20.1",
|
|
39
39
|
"debug": "4.3.4",
|
|
40
40
|
"express": "4.18.2",
|
|
@@ -44,15 +44,15 @@
|
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@types/node": "16.18.10",
|
|
46
46
|
"@verdaccio/types": "11.0.0-6-next.19",
|
|
47
|
-
"@verdaccio/test-helper": "2.0.0-6-next.
|
|
48
|
-
"@verdaccio/api": "6.0.0-6-next.
|
|
47
|
+
"@verdaccio/test-helper": "2.0.0-6-next.7",
|
|
48
|
+
"@verdaccio/api": "6.0.0-6-next.41",
|
|
49
49
|
"node-html-parser": "4.1.5",
|
|
50
50
|
"supertest": "6.3.3",
|
|
51
51
|
"nock": "13.2.9",
|
|
52
52
|
"jsdom": "20.0.3",
|
|
53
53
|
"undici": "4.16.0",
|
|
54
|
-
"verdaccio-auth-memory": "11.0.0-6-next.
|
|
55
|
-
"verdaccio-memory": "11.0.0-6-next.
|
|
54
|
+
"verdaccio-auth-memory": "11.0.0-6-next.23",
|
|
55
|
+
"verdaccio-memory": "11.0.0-6-next.25"
|
|
56
56
|
},
|
|
57
57
|
"funding": {
|
|
58
58
|
"type": "opencollective",
|
package/src/api/readme.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { Router } from 'express';
|
|
|
3
3
|
|
|
4
4
|
import { Auth } from '@verdaccio/auth';
|
|
5
5
|
import { HEADERS, HEADER_TYPE } from '@verdaccio/core';
|
|
6
|
+
import { logger } from '@verdaccio/logger';
|
|
6
7
|
import { $NextFunctionVer, $RequestExtend, $ResponseExtend, allow } from '@verdaccio/middleware';
|
|
7
8
|
import { Storage } from '@verdaccio/store';
|
|
8
9
|
import { Manifest } from '@verdaccio/types';
|
|
@@ -28,7 +29,10 @@ const getReadme = (readme) => {
|
|
|
28
29
|
|
|
29
30
|
function addReadmeWebApi(storage: Storage, auth: Auth): Router {
|
|
30
31
|
debug('initialized readme web api');
|
|
31
|
-
const can = allow(auth
|
|
32
|
+
const can = allow(auth, {
|
|
33
|
+
beforeAll: (a, b) => logger.trace(a, b),
|
|
34
|
+
afterAll: (a, b) => logger.trace(a, b),
|
|
35
|
+
});
|
|
32
36
|
const pkgRouter = Router(); /* eslint new-cap: 0 */
|
|
33
37
|
|
|
34
38
|
pkgRouter.get(
|
package/src/api/sidebar.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { Router } from 'express';
|
|
|
3
3
|
|
|
4
4
|
import { Auth } from '@verdaccio/auth';
|
|
5
5
|
import { DIST_TAGS, HTTP_STATUS } from '@verdaccio/core';
|
|
6
|
+
import { logger } from '@verdaccio/logger';
|
|
6
7
|
import { $NextFunctionVer, $RequestExtend, $ResponseExtend, allow } from '@verdaccio/middleware';
|
|
7
8
|
import { Storage } from '@verdaccio/store';
|
|
8
9
|
import { convertDistRemoteToLocalTarballUrls } from '@verdaccio/tarball';
|
|
@@ -21,7 +22,10 @@ const debug = buildDebug('verdaccio:web:api:sidebar');
|
|
|
21
22
|
function addSidebarWebApi(config: Config, storage: Storage, auth: Auth): Router {
|
|
22
23
|
debug('initialized sidebar web api');
|
|
23
24
|
const router = Router(); /* eslint new-cap: 0 */
|
|
24
|
-
const can = allow(auth
|
|
25
|
+
const can = allow(auth, {
|
|
26
|
+
beforeAll: (a, b) => logger.trace(a, b),
|
|
27
|
+
afterAll: (a, b) => logger.trace(a, b),
|
|
28
|
+
});
|
|
25
29
|
// Get package readme
|
|
26
30
|
router.get(
|
|
27
31
|
'/sidebar/(@:scope/)?:package',
|
package/tsconfig.json
CHANGED
|
@@ -13,9 +13,6 @@
|
|
|
13
13
|
{
|
|
14
14
|
"path": "../config"
|
|
15
15
|
},
|
|
16
|
-
{
|
|
17
|
-
"path": "../core/readme"
|
|
18
|
-
},
|
|
19
16
|
{
|
|
20
17
|
"path": "../core/tarball"
|
|
21
18
|
},
|
|
@@ -29,7 +26,7 @@
|
|
|
29
26
|
"path": "../api"
|
|
30
27
|
},
|
|
31
28
|
{
|
|
32
|
-
"path": "../logger"
|
|
29
|
+
"path": "../logger/logger"
|
|
33
30
|
},
|
|
34
31
|
{
|
|
35
32
|
"path": "../middleware"
|