@verdaccio/web 6.0.0-6-next.27 → 6.0.0-6-next.28
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 +21 -0
- package/build/renderHTML.js +13 -9
- package/build/renderHTML.js.map +1 -1
- package/package.json +7 -7
- package/src/renderHTML.ts +7 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
# @verdaccio/web
|
|
2
2
|
|
|
3
|
+
## 6.0.0-6-next.28
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- d08fe29d: feat(web): add a config item to web,let the developer can select whet……her enable the html cache
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies [d43894e8]
|
|
12
|
+
- Updated dependencies [d08fe29d]
|
|
13
|
+
- @verdaccio/config@6.0.0-6-next.14
|
|
14
|
+
- @verdaccio/auth@6.0.0-6-next.22
|
|
15
|
+
- @verdaccio/loaders@6.0.0-6-next.12
|
|
16
|
+
- @verdaccio/store@6.0.0-6-next.22
|
|
17
|
+
- @verdaccio/core@6.0.0-6-next.5
|
|
18
|
+
- @verdaccio/readme@11.0.0-6-next.4
|
|
19
|
+
- @verdaccio/tarball@11.0.0-6-next.12
|
|
20
|
+
- @verdaccio/url@11.0.0-6-next.9
|
|
21
|
+
- @verdaccio/logger@6.0.0-6-next.11
|
|
22
|
+
- @verdaccio/middleware@6.0.0-6-next.22
|
|
23
|
+
|
|
3
24
|
## 6.0.0-6-next.27
|
|
4
25
|
|
|
5
26
|
### Major Changes
|
package/build/renderHTML.js
CHANGED
|
@@ -37,7 +37,7 @@ const defaultManifestFiles = {
|
|
|
37
37
|
};
|
|
38
38
|
|
|
39
39
|
function renderHTML(config, manifest, manifestFiles, req, res) {
|
|
40
|
-
var _config$i18n, _config$web, _config$web2, _config$web3, _config$web4, _config$web5, _config$web6;
|
|
40
|
+
var _config$i18n, _config$web, _config$web2, _config$web3, _config$web4, _config$web5, _config$web6, _config$web7;
|
|
41
41
|
|
|
42
42
|
const {
|
|
43
43
|
url_prefix
|
|
@@ -45,16 +45,17 @@ function renderHTML(config, manifest, manifestFiles, req, res) {
|
|
|
45
45
|
const base = (0, _url2.getPublicUrl)(config === null || config === void 0 ? void 0 : config.url_prefix, req);
|
|
46
46
|
const basename = new _url.URL(base).pathname;
|
|
47
47
|
const language = (config === null || config === void 0 ? void 0 : (_config$i18n = config.i18n) === null || _config$i18n === void 0 ? void 0 : _config$i18n.web) ?? DEFAULT_LANGUAGE;
|
|
48
|
-
const
|
|
49
|
-
const
|
|
48
|
+
const needHtmlCache = [undefined, null].includes(config === null || config === void 0 ? void 0 : (_config$web = config.web) === null || _config$web === void 0 ? void 0 : _config$web.html_cache) ? true : config.web.html_cache;
|
|
49
|
+
const darkMode = (config === null || config === void 0 ? void 0 : (_config$web2 = config.web) === null || _config$web2 === void 0 ? void 0 : _config$web2.darkMode) ?? false;
|
|
50
|
+
const title = (config === null || config === void 0 ? void 0 : (_config$web3 = config.web) === null || _config$web3 === void 0 ? void 0 : _config$web3.title) ?? _config.WEB_TITLE;
|
|
50
51
|
const login = (0, _webUtils.hasLogin)(config);
|
|
51
|
-
const scope = (config === null || config === void 0 ? void 0 : (_config$
|
|
52
|
-
const logoURI = (config === null || config === void 0 ? void 0 : (_config$
|
|
53
|
-
const pkgManagers = (config === null || config === void 0 ? void 0 : (_config$
|
|
52
|
+
const scope = (config === null || config === void 0 ? void 0 : (_config$web4 = config.web) === null || _config$web4 === void 0 ? void 0 : _config$web4.scope) ?? '';
|
|
53
|
+
const logoURI = (config === null || config === void 0 ? void 0 : (_config$web5 = config.web) === null || _config$web5 === void 0 ? void 0 : _config$web5.logo) ?? '';
|
|
54
|
+
const pkgManagers = (config === null || config === void 0 ? void 0 : (_config$web6 = config.web) === null || _config$web6 === void 0 ? void 0 : _config$web6.pkgManagers) ?? ['yarn', 'pnpm', 'npm'];
|
|
54
55
|
const version = pkgJSON.version;
|
|
55
56
|
const flags = { ...config.flags
|
|
56
57
|
};
|
|
57
|
-
const primaryColor = (0, _webUtils.validatePrimaryColor)(config === null || config === void 0 ? void 0 : (_config$
|
|
58
|
+
const primaryColor = (0, _webUtils.validatePrimaryColor)(config === null || config === void 0 ? void 0 : (_config$web7 = config.web) === null || _config$web7 === void 0 ? void 0 : _config$web7.primary_color) ?? '#4b5e40';
|
|
58
59
|
const {
|
|
59
60
|
scriptsBodyAfter,
|
|
60
61
|
metaScripts,
|
|
@@ -95,8 +96,11 @@ function renderHTML(config, manifest, manifestFiles, req, res) {
|
|
|
95
96
|
scriptsbodyBefore
|
|
96
97
|
}, manifest);
|
|
97
98
|
debug('template :: %o', webPage);
|
|
98
|
-
|
|
99
|
-
|
|
99
|
+
|
|
100
|
+
if (needHtmlCache) {
|
|
101
|
+
cache.set('template', webPage);
|
|
102
|
+
debug('set template cache');
|
|
103
|
+
}
|
|
100
104
|
} else {
|
|
101
105
|
debug('reuse template cache');
|
|
102
106
|
}
|
package/build/renderHTML.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/renderHTML.ts"],"names":["pkgJSON","require","DEFAULT_LANGUAGE","cache","LRU","max","maxAge","debug","defaultManifestFiles","js","ico","renderHTML","config","manifest","manifestFiles","req","res","url_prefix","base","basename","URL","pathname","language","i18n","web","darkMode","title","WEB_TITLE","login","scope","logoURI","logo","pkgManagers","version","flags","primaryColor","primary_color","scriptsBodyAfter","metaScripts","scriptsbodyBefore","Object","assign","bodyBefore","options","webPage","get","set","error","Error","stack","setHeader","HEADERS","TEXT_HTML","send"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AAEA;;AAEA;;AACA;;;;AAEA,MAAMA,OAAO,GAAGC,OAAO,CAAC,iBAAD,CAAvB;;AACA,MAAMC,gBAAgB,GAAG,OAAzB;AACA,MAAMC,KAAK,GAAG,IAAIC,iBAAJ,CAAQ;AAAEC,EAAAA,GAAG,EAAE,GAAP;AAAYC,EAAAA,MAAM,EAAE,OAAO,EAAP,GAAY;AAAhC,CAAR,CAAd;AAEA,MAAMC,KAAK,GAAG,oBAAW,sBAAX,CAAd;AAEA,MAAMC,oBAAoB,GAAG;AAC3BC,EAAAA,EAAE,EAAE,CAAC,YAAD,EAAe,YAAf,EAA6B,SAA7B,CADuB;AAE3BC,EAAAA,GAAG,EAAE;AAFsB,CAA7B;;AAKe,SAASC,UAAT,CAAoBC,MAApB,EAA4BC,QAA5B,EAAsCC,aAAtC,EAAqDC,GAArD,EAA0DC,GAA1D,EAA+D;AAAA;;AAC5E,QAAM;AAAEC,IAAAA;AAAF,MAAiBL,MAAvB;AACA,QAAMM,IAAI,GAAG,wBAAaN,MAAb,aAAaA,MAAb,uBAAaA,MAAM,CAAEK,UAArB,EAAiCF,GAAjC,CAAb;AACA,QAAMI,QAAQ,GAAG,IAAIC,QAAJ,CAAQF,IAAR,EAAcG,QAA/B;AACA,QAAMC,QAAQ,GAAG,CAAAV,MAAM,SAAN,IAAAA,MAAM,WAAN,4BAAAA,MAAM,CAAEW,IAAR,8DAAcC,GAAd,KAAqBtB,gBAAtC;AACA,QAAMuB,QAAQ,GAAG,
|
|
1
|
+
{"version":3,"sources":["../src/renderHTML.ts"],"names":["pkgJSON","require","DEFAULT_LANGUAGE","cache","LRU","max","maxAge","debug","defaultManifestFiles","js","ico","renderHTML","config","manifest","manifestFiles","req","res","url_prefix","base","basename","URL","pathname","language","i18n","web","needHtmlCache","undefined","includes","html_cache","darkMode","title","WEB_TITLE","login","scope","logoURI","logo","pkgManagers","version","flags","primaryColor","primary_color","scriptsBodyAfter","metaScripts","scriptsbodyBefore","Object","assign","bodyBefore","options","webPage","get","set","error","Error","stack","setHeader","HEADERS","TEXT_HTML","send"],"mappings":"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","sourcesContent":["import buildDebug from 'debug';\nimport LRU from 'lru-cache';\nimport { URL } from 'url';\n\nimport { WEB_TITLE } from '@verdaccio/config';\nimport { HEADERS } from '@verdaccio/core';\nimport { TemplateUIOptions } from '@verdaccio/types';\nimport { getPublicUrl } from '@verdaccio/url';\n\nimport renderTemplate from './template';\nimport { hasLogin, validatePrimaryColor } from './utils/web-utils';\n\nconst pkgJSON = require('../package.json');\nconst DEFAULT_LANGUAGE = 'es-US';\nconst cache = new LRU({ max: 500, maxAge: 1000 * 60 * 60 });\n\nconst debug = buildDebug('verdaccio:web:render');\n\nconst defaultManifestFiles = {\n js: ['runtime.js', 'vendors.js', 'main.js'],\n ico: 'favicon.ico',\n};\n\nexport default function renderHTML(config, manifest, manifestFiles, req, res) {\n const { url_prefix } = config;\n const base = getPublicUrl(config?.url_prefix, req);\n const basename = new URL(base).pathname;\n const language = config?.i18n?.web ?? DEFAULT_LANGUAGE;\n const needHtmlCache = [undefined, null].includes(config?.web?.html_cache)\n ? true\n : config.web.html_cache;\n const darkMode = config?.web?.darkMode ?? false;\n const title = config?.web?.title ?? WEB_TITLE;\n const login = hasLogin(config);\n const scope = config?.web?.scope ?? '';\n const logoURI = config?.web?.logo ?? '';\n const pkgManagers = config?.web?.pkgManagers ?? ['yarn', 'pnpm', 'npm'];\n const version = pkgJSON.version;\n const flags = {\n ...config.flags,\n };\n const primaryColor = validatePrimaryColor(config?.web?.primary_color) ?? '#4b5e40';\n const { scriptsBodyAfter, metaScripts, scriptsbodyBefore } = Object.assign(\n {},\n {\n scriptsBodyAfter: [],\n bodyBefore: [],\n metaScripts: [],\n },\n config?.web\n );\n const options: TemplateUIOptions = {\n darkMode,\n url_prefix,\n basename,\n base,\n primaryColor,\n version,\n logoURI,\n flags,\n login,\n pkgManagers,\n title,\n scope,\n language,\n };\n\n let webPage;\n\n try {\n webPage = cache.get('template');\n\n if (!webPage) {\n debug('web options %o', options);\n debug('web manifestFiles %o', manifestFiles);\n webPage = renderTemplate(\n {\n manifest: manifestFiles ?? defaultManifestFiles,\n options,\n scriptsBodyAfter,\n metaScripts,\n scriptsbodyBefore,\n },\n manifest\n );\n debug('template :: %o', webPage);\n if (needHtmlCache) {\n cache.set('template', webPage);\n debug('set template cache');\n }\n } else {\n debug('reuse template cache');\n }\n } catch (error: any) {\n throw new Error(`theme could not be load, stack ${error.stack}`);\n }\n res.setHeader('Content-Type', HEADERS.TEXT_HTML);\n res.send(webPage);\n debug('render web');\n}\n"],"file":"renderHTML.js"}
|
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.28",
|
|
4
4
|
"description": "web ui middleware",
|
|
5
5
|
"main": "./build/index.js",
|
|
6
6
|
"types": "build/index.d.ts",
|
|
@@ -25,14 +25,14 @@
|
|
|
25
25
|
},
|
|
26
26
|
"license": "MIT",
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@verdaccio/auth": "6.0.0-6-next.
|
|
28
|
+
"@verdaccio/auth": "6.0.0-6-next.22",
|
|
29
29
|
"@verdaccio/core": "6.0.0-6-next.5",
|
|
30
|
-
"@verdaccio/config": "6.0.0-6-next.
|
|
30
|
+
"@verdaccio/config": "6.0.0-6-next.14",
|
|
31
31
|
"@verdaccio/loaders": "6.0.0-6-next.12",
|
|
32
32
|
"@verdaccio/logger": "6.0.0-6-next.11",
|
|
33
|
-
"@verdaccio/middleware": "6.0.0-6-next.
|
|
33
|
+
"@verdaccio/middleware": "6.0.0-6-next.22",
|
|
34
34
|
"@verdaccio/readme": "11.0.0-6-next.4",
|
|
35
|
-
"@verdaccio/store": "6.0.0-6-next.
|
|
35
|
+
"@verdaccio/store": "6.0.0-6-next.22",
|
|
36
36
|
"@verdaccio/tarball": "11.0.0-6-next.12",
|
|
37
37
|
"@verdaccio/url": "11.0.0-6-next.9",
|
|
38
38
|
"@verdaccio/utils": "6.0.0-6-next.11",
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"@types/node": "16.11.21",
|
|
47
|
-
"@verdaccio/types": "11.0.0-6-next.
|
|
47
|
+
"@verdaccio/types": "11.0.0-6-next.12",
|
|
48
48
|
"@verdaccio/test-helper": "1.1.0-6-next.0",
|
|
49
|
-
"@verdaccio/api": "6.0.0-6-next.
|
|
49
|
+
"@verdaccio/api": "6.0.0-6-next.25",
|
|
50
50
|
"node-html-parser": "4.1.5",
|
|
51
51
|
"supertest": "6.2.2",
|
|
52
52
|
"nock": "13.2.2",
|
package/src/renderHTML.ts
CHANGED
|
@@ -26,6 +26,9 @@ export default function renderHTML(config, manifest, manifestFiles, req, res) {
|
|
|
26
26
|
const base = getPublicUrl(config?.url_prefix, req);
|
|
27
27
|
const basename = new URL(base).pathname;
|
|
28
28
|
const language = config?.i18n?.web ?? DEFAULT_LANGUAGE;
|
|
29
|
+
const needHtmlCache = [undefined, null].includes(config?.web?.html_cache)
|
|
30
|
+
? true
|
|
31
|
+
: config.web.html_cache;
|
|
29
32
|
const darkMode = config?.web?.darkMode ?? false;
|
|
30
33
|
const title = config?.web?.title ?? WEB_TITLE;
|
|
31
34
|
const login = hasLogin(config);
|
|
@@ -81,8 +84,10 @@ export default function renderHTML(config, manifest, manifestFiles, req, res) {
|
|
|
81
84
|
manifest
|
|
82
85
|
);
|
|
83
86
|
debug('template :: %o', webPage);
|
|
84
|
-
|
|
85
|
-
|
|
87
|
+
if (needHtmlCache) {
|
|
88
|
+
cache.set('template', webPage);
|
|
89
|
+
debug('set template cache');
|
|
90
|
+
}
|
|
86
91
|
} else {
|
|
87
92
|
debug('reuse template cache');
|
|
88
93
|
}
|