mirror of
https://github.com/verdaccio/verdaccio.git
synced 2025-02-21 07:29:37 +01:00
fix: markdown anchor links in package readme.md broken #2712
This commit is contained in:
parent
60cd25ce4f
commit
820c9d5db2
70
.pnp.js
generated
70
.pnp.js
generated
@ -79,7 +79,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
["@verdaccio/commons-api", "npm:10.0.2"],
|
||||
["@verdaccio/eslint-config", "virtual:7f7b3df50ee4b7b1719ad19fad11505dc2788f3227a7e5cc9ca19f71d8cb309c9d33b532ea2b2b60ab65abf6cc12153df4643c5e6e17d01ea0ae0492723bb4b4#npm:8.5.0"],
|
||||
["@verdaccio/local-storage", "npm:10.0.8"],
|
||||
["@verdaccio/readme", "npm:10.0.1"],
|
||||
["@verdaccio/readme", "npm:10.1.0"],
|
||||
["@verdaccio/streams", "npm:10.0.1"],
|
||||
["@verdaccio/types", "npm:9.7.2"],
|
||||
["@verdaccio/ui-theme", "npm:3.2.1"],
|
||||
@ -5343,12 +5343,12 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
}]
|
||||
]],
|
||||
["@verdaccio/readme", [
|
||||
["npm:10.0.1", {
|
||||
"packageLocation": "./.yarn/cache/@verdaccio-readme-npm-10.0.1-dd3c1c7def-fa9671f10d.zip/node_modules/@verdaccio/readme/",
|
||||
["npm:10.1.0", {
|
||||
"packageLocation": "./.yarn/cache/@verdaccio-readme-npm-10.1.0-b5e92d038e-0d116bbd32.zip/node_modules/@verdaccio/readme/",
|
||||
"packageDependencies": [
|
||||
["@verdaccio/readme", "npm:10.0.1"],
|
||||
["@verdaccio/readme", "npm:10.1.0"],
|
||||
["dompurify", "npm:2.2.6"],
|
||||
["jsdom", "virtual:dd3c1c7def4024f56fab8b4ec20b487d806a013b875c2d34ca74e96fa913bba7daeeb0d2d11d0a1f42ddab4332f7951d13f48296b7a75aa30b83af0eb7fe1fed#npm:15.2.1"],
|
||||
["jsdom", "virtual:b5e92d038e9f5a217411989447802564dd37e172be2844c3100f02d2b11f16c5c5caf4f497085e26650bb5559c3775b2b2b97ea683a2712c5f23b768f8bda9ff#npm:15.2.1"],
|
||||
["marked", "npm:2.0.1"]
|
||||
],
|
||||
"linkType": "HARD",
|
||||
@ -11798,10 +11798,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
],
|
||||
"linkType": "SOFT",
|
||||
}],
|
||||
["virtual:dd3c1c7def4024f56fab8b4ec20b487d806a013b875c2d34ca74e96fa913bba7daeeb0d2d11d0a1f42ddab4332f7951d13f48296b7a75aa30b83af0eb7fe1fed#npm:15.2.1", {
|
||||
"packageLocation": "./.yarn/$$virtual/jsdom-virtual-2e80ddf178/0/cache/jsdom-npm-15.2.1-9f569ec90b-706d227c37.zip/node_modules/jsdom/",
|
||||
["virtual:b5e92d038e9f5a217411989447802564dd37e172be2844c3100f02d2b11f16c5c5caf4f497085e26650bb5559c3775b2b2b97ea683a2712c5f23b768f8bda9ff#npm:15.2.1", {
|
||||
"packageLocation": "./.yarn/$$virtual/jsdom-virtual-d30df9df72/0/cache/jsdom-npm-15.2.1-9f569ec90b-706d227c37.zip/node_modules/jsdom/",
|
||||
"packageDependencies": [
|
||||
["jsdom", "virtual:dd3c1c7def4024f56fab8b4ec20b487d806a013b875c2d34ca74e96fa913bba7daeeb0d2d11d0a1f42ddab4332f7951d13f48296b7a75aa30b83af0eb7fe1fed#npm:15.2.1"],
|
||||
["jsdom", "virtual:b5e92d038e9f5a217411989447802564dd37e172be2844c3100f02d2b11f16c5c5caf4f497085e26650bb5559c3775b2b2b97ea683a2712c5f23b768f8bda9ff#npm:15.2.1"],
|
||||
["@types/canvas", null],
|
||||
["abab", "npm:2.0.3"],
|
||||
["acorn", "npm:7.1.1"],
|
||||
@ -11818,7 +11818,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
["parse5", "npm:5.1.0"],
|
||||
["pn", "npm:1.1.0"],
|
||||
["request", "npm:2.88.2"],
|
||||
["request-promise-native", "virtual:2e80ddf1782ae7934273073b0793840427ae9c20d5230635d07dfae6bfd92cd23329b59bbd7f9e956628815d4628e1880f21edb0c5de29ce9cb068478d0d473c#npm:1.0.8"],
|
||||
["request-promise-native", "virtual:d30df9df72d558393724afee36d27357ee84aefe65825fa8da510d64e83cf0e8cfc95b1b03dec016901a080eaab201d0d71ba8d4d3a57c3e60be4d9d6c233d63#npm:1.0.8"],
|
||||
["saxes", "npm:3.1.11"],
|
||||
["symbol-tree", "npm:3.2.4"],
|
||||
["tough-cookie", "npm:3.0.1"],
|
||||
@ -11828,7 +11828,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
["whatwg-encoding", "npm:1.0.5"],
|
||||
["whatwg-mimetype", "npm:2.3.0"],
|
||||
["whatwg-url", "npm:7.1.0"],
|
||||
["ws", "virtual:2e80ddf1782ae7934273073b0793840427ae9c20d5230635d07dfae6bfd92cd23329b59bbd7f9e956628815d4628e1880f21edb0c5de29ce9cb068478d0d473c#npm:7.2.1"],
|
||||
["ws", "virtual:d30df9df72d558393724afee36d27357ee84aefe65825fa8da510d64e83cf0e8cfc95b1b03dec016901a080eaab201d0d71ba8d4d3a57c3e60be4d9d6c233d63#npm:7.2.1"],
|
||||
["xml-name-validator", "npm:3.0.0"]
|
||||
],
|
||||
"packagePeers": [
|
||||
@ -14909,10 +14909,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
],
|
||||
"linkType": "SOFT",
|
||||
}],
|
||||
["virtual:bee6e6a7e293e6cae2dfa18fb670bbdefccfa592866997dbf1f1f3b9d5c04e9905d816f013deb61be485fc53854631d57dcdaa9bfbbf966811b6b72b8e3191fa#npm:1.1.3", {
|
||||
"packageLocation": "./.yarn/$$virtual/request-promise-core-virtual-18ff3beb43/0/cache/request-promise-core-npm-1.1.3-1b898b5c44-1235a6071b.zip/node_modules/request-promise-core/",
|
||||
["virtual:59de9ecd79b31f9d6c77dd85f26d9908b701d11d4860a3be6ba801ac361751e32ead7d4b646d3a1112f9f53b1ba8aadaf5fff177b5b02838bf30ffba3e272423#npm:1.1.3", {
|
||||
"packageLocation": "./.yarn/$$virtual/request-promise-core-virtual-60224830f4/0/cache/request-promise-core-npm-1.1.3-1b898b5c44-1235a6071b.zip/node_modules/request-promise-core/",
|
||||
"packageDependencies": [
|
||||
["request-promise-core", "virtual:bee6e6a7e293e6cae2dfa18fb670bbdefccfa592866997dbf1f1f3b9d5c04e9905d816f013deb61be485fc53854631d57dcdaa9bfbbf966811b6b72b8e3191fa#npm:1.1.3"],
|
||||
["request-promise-core", "virtual:59de9ecd79b31f9d6c77dd85f26d9908b701d11d4860a3be6ba801ac361751e32ead7d4b646d3a1112f9f53b1ba8aadaf5fff177b5b02838bf30ffba3e272423#npm:1.1.3"],
|
||||
["@types/request", null],
|
||||
["lodash", "npm:4.17.19"],
|
||||
["request", "npm:2.88.2"]
|
||||
@ -14932,13 +14932,13 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
],
|
||||
"linkType": "SOFT",
|
||||
}],
|
||||
["virtual:2e80ddf1782ae7934273073b0793840427ae9c20d5230635d07dfae6bfd92cd23329b59bbd7f9e956628815d4628e1880f21edb0c5de29ce9cb068478d0d473c#npm:1.0.8", {
|
||||
"packageLocation": "./.yarn/$$virtual/request-promise-native-virtual-bee6e6a7e2/0/cache/request-promise-native-npm-1.0.8-45c7cbe307-29986fe3cc.zip/node_modules/request-promise-native/",
|
||||
["virtual:d30df9df72d558393724afee36d27357ee84aefe65825fa8da510d64e83cf0e8cfc95b1b03dec016901a080eaab201d0d71ba8d4d3a57c3e60be4d9d6c233d63#npm:1.0.8", {
|
||||
"packageLocation": "./.yarn/$$virtual/request-promise-native-virtual-59de9ecd79/0/cache/request-promise-native-npm-1.0.8-45c7cbe307-29986fe3cc.zip/node_modules/request-promise-native/",
|
||||
"packageDependencies": [
|
||||
["request-promise-native", "virtual:2e80ddf1782ae7934273073b0793840427ae9c20d5230635d07dfae6bfd92cd23329b59bbd7f9e956628815d4628e1880f21edb0c5de29ce9cb068478d0d473c#npm:1.0.8"],
|
||||
["request-promise-native", "virtual:d30df9df72d558393724afee36d27357ee84aefe65825fa8da510d64e83cf0e8cfc95b1b03dec016901a080eaab201d0d71ba8d4d3a57c3e60be4d9d6c233d63#npm:1.0.8"],
|
||||
["@types/request", null],
|
||||
["request", "npm:2.88.2"],
|
||||
["request-promise-core", "virtual:bee6e6a7e293e6cae2dfa18fb670bbdefccfa592866997dbf1f1f3b9d5c04e9905d816f013deb61be485fc53854631d57dcdaa9bfbbf966811b6b72b8e3191fa#npm:1.1.3"],
|
||||
["request-promise-core", "virtual:59de9ecd79b31f9d6c77dd85f26d9908b701d11d4860a3be6ba801ac361751e32ead7d4b646d3a1112f9f53b1ba8aadaf5fff177b5b02838bf30ffba3e272423#npm:1.1.3"],
|
||||
["stealthy-require", "npm:1.1.1"],
|
||||
["tough-cookie", "npm:2.5.0"]
|
||||
],
|
||||
@ -17032,7 +17032,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
["@verdaccio/commons-api", "npm:10.0.2"],
|
||||
["@verdaccio/eslint-config", "virtual:7f7b3df50ee4b7b1719ad19fad11505dc2788f3227a7e5cc9ca19f71d8cb309c9d33b532ea2b2b60ab65abf6cc12153df4643c5e6e17d01ea0ae0492723bb4b4#npm:8.5.0"],
|
||||
["@verdaccio/local-storage", "npm:10.0.8"],
|
||||
["@verdaccio/readme", "npm:10.0.1"],
|
||||
["@verdaccio/readme", "npm:10.1.0"],
|
||||
["@verdaccio/streams", "npm:10.0.1"],
|
||||
["@verdaccio/types", "npm:9.7.2"],
|
||||
["@verdaccio/ui-theme", "npm:3.2.1"],
|
||||
@ -17437,23 +17437,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
],
|
||||
"linkType": "SOFT",
|
||||
}],
|
||||
["virtual:2e80ddf1782ae7934273073b0793840427ae9c20d5230635d07dfae6bfd92cd23329b59bbd7f9e956628815d4628e1880f21edb0c5de29ce9cb068478d0d473c#npm:7.2.1", {
|
||||
"packageLocation": "./.yarn/$$virtual/ws-virtual-15eb6cf224/0/cache/ws-npm-7.2.1-6a11e4a4b3-097beba4b2.zip/node_modules/ws/",
|
||||
"packageDependencies": [
|
||||
["ws", "virtual:2e80ddf1782ae7934273073b0793840427ae9c20d5230635d07dfae6bfd92cd23329b59bbd7f9e956628815d4628e1880f21edb0c5de29ce9cb068478d0d473c#npm:7.2.1"],
|
||||
["@types/bufferutil", null],
|
||||
["@types/utf-8-validate", null],
|
||||
["bufferutil", null],
|
||||
["utf-8-validate", null]
|
||||
],
|
||||
"packagePeers": [
|
||||
"@types/bufferutil",
|
||||
"@types/utf-8-validate",
|
||||
"bufferutil",
|
||||
"utf-8-validate"
|
||||
],
|
||||
"linkType": "HARD",
|
||||
}],
|
||||
["virtual:5d97c1964f47c97510019e8e1ca12c073edbd7f16b511e7ceee55b6129c48784db6a804ce3b47d654660f50f8f4d1ab075b879abda7a62ddc6511583371ef9b5#npm:7.4.6", {
|
||||
"packageLocation": "./.yarn/$$virtual/ws-virtual-f18bd5ad7c/0/cache/ws-npm-7.4.6-9c9a725604-ffeb626d92.zip/node_modules/ws/",
|
||||
"packageDependencies": [
|
||||
@ -17487,6 +17470,23 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
"utf-8-validate"
|
||||
],
|
||||
"linkType": "HARD",
|
||||
}],
|
||||
["virtual:d30df9df72d558393724afee36d27357ee84aefe65825fa8da510d64e83cf0e8cfc95b1b03dec016901a080eaab201d0d71ba8d4d3a57c3e60be4d9d6c233d63#npm:7.2.1", {
|
||||
"packageLocation": "./.yarn/$$virtual/ws-virtual-9560c285e9/0/cache/ws-npm-7.2.1-6a11e4a4b3-097beba4b2.zip/node_modules/ws/",
|
||||
"packageDependencies": [
|
||||
["ws", "virtual:d30df9df72d558393724afee36d27357ee84aefe65825fa8da510d64e83cf0e8cfc95b1b03dec016901a080eaab201d0d71ba8d4d3a57c3e60be4d9d6c233d63#npm:7.2.1"],
|
||||
["@types/bufferutil", null],
|
||||
["@types/utf-8-validate", null],
|
||||
["bufferutil", null],
|
||||
["utf-8-validate", null]
|
||||
],
|
||||
"packagePeers": [
|
||||
"@types/bufferutil",
|
||||
"@types/utf-8-validate",
|
||||
"bufferutil",
|
||||
"utf-8-validate"
|
||||
],
|
||||
"linkType": "HARD",
|
||||
}]
|
||||
]],
|
||||
["xml", [
|
||||
|
Binary file not shown.
BIN
.yarn/cache/@verdaccio-readme-npm-10.1.0-b5e92d038e-0d116bbd32.zip
vendored
Normal file
BIN
.yarn/cache/@verdaccio-readme-npm-10.1.0-b5e92d038e-0d116bbd32.zip
vendored
Normal file
Binary file not shown.
@ -20,7 +20,7 @@
|
||||
"dependencies": {
|
||||
"@verdaccio/commons-api": "10.0.2",
|
||||
"@verdaccio/local-storage": "10.0.8",
|
||||
"@verdaccio/readme": "10.0.1",
|
||||
"@verdaccio/readme": "10.1.0",
|
||||
"@verdaccio/streams": "10.0.1",
|
||||
"@verdaccio/ui-theme": "3.2.1",
|
||||
"JSONStream": "1.3.5",
|
||||
|
@ -100,7 +100,9 @@ function addPackageWebApi(route: Router, storage: IStorageHandler, auth: IAuth,
|
||||
}
|
||||
|
||||
res.set(HEADER_TYPE.CONTENT_TYPE, HEADERS.TEXT_PLAIN);
|
||||
next(parseReadme(info.name, info.readme));
|
||||
const referer = req.get('Referer');
|
||||
const pathname = referer ? (new URL(referer)).pathname : undefined;
|
||||
next(parseReadme(info.name, info.readme, {pathname}));
|
||||
},
|
||||
});
|
||||
});
|
||||
|
@ -489,11 +489,14 @@ export function addGravatarSupport(pkgInfo: Package, online = true): AuthorAvata
|
||||
* parse package readme - markdown/ascii
|
||||
* @param {String} packageName name of package
|
||||
* @param {String} readme package readme
|
||||
* @param {Object} options sanitizyReadme options
|
||||
* @return {String} converted html template
|
||||
*/
|
||||
export function parseReadme(packageName: string, readme: string): string | void {
|
||||
export function parseReadme(packageName: string,
|
||||
readme: string,
|
||||
options: { pathname?: string | void } = {}): string | void {
|
||||
if (_.isEmpty(readme) === false) {
|
||||
return sanitizyReadme(readme);
|
||||
return sanitizyReadme(readme, options);
|
||||
}
|
||||
|
||||
// logs readme not found error
|
||||
|
BIN
yarn.lock
BIN
yarn.lock
Binary file not shown.
Loading…
Reference in New Issue
Block a user