@flatjs/evolve 2.1.3 → 2.1.5
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/dev-server/middlewares/create-page-middleware.js +1 -1
- package/dist/main/prepare-serve.js +1 -1
- package/dist/types/types-multi-html.d.ts +1 -0
- package/package.json +28 -28
- package/templates/html-plugin/index-dev.html +2 -3
- package/templates/html-plugin/index-inte.html +2 -3
- package/templates/html-plugin/index-inte2.html +2 -3
- package/templates/html-plugin/index-inte3.html +2 -3
- package/templates/html-plugin/index-inte4.html +2 -3
- package/templates/html-plugin/index-me.html +2 -3
- package/templates/html-plugin/index-ntv.html +2 -3
- package/templates/html-plugin/index-prod.html +2 -3
- package/templates/html-plugin/index-rc.html +2 -3
- package/templates/html-plugin/index-uat.html +2 -3
- package/templates/main.html +1 -1
- package/templates/module-404.html +1 -1
- package/templates/module.html +2 -3
@@ -1 +1 @@
|
|
1
|
-
import{getPageMainHtml}from"./get-page-main-html.js";import{getPageModuleHtml}from"./get-page-module-html.js";import{getRuntimeManifest}from"./get-runtime-manifest.js";export const createPageMiddleware=(e,t,a,m)=>(m.devServer?.middlewares||[]).concat((async(i,n)=>{let g;if("/runtime/manifest.json"
|
1
|
+
import{getPageMainHtml}from"./get-page-main-html.js";import{getPageModuleHtml}from"./get-page-module-html.js";import{getRuntimeManifest}from"./get-runtime-manifest.js";export const createPageMiddleware=(e,t,a,m)=>(m.devServer?.middlewares||[]).concat((async(i,n)=>{let g;if("/runtime/manifest.json"!==i.path)g="/"===i.path?await getPageMainHtml(a,e,m):await getPageModuleHtml(a,i,e,t,m),n.send(g);else{const t=await getRuntimeManifest(a,e,m);n.json(t)}}));
|
@@ -1 +1 @@
|
|
1
|
-
import{arrayUnique,chalk,logger,urlJoin}from"@flatjs/common";import{attachMockMiddlewares}from"@flatjs/mock";import{ignoreEntryOptionKeys,moduleName}from"../constants.js";import{createAppPageRoute,createDevServer,createDevServerCompilerTask,createDevServerEntries}from"../dev-server/index.js";import{flatEntryMap,openPage}from"../helpers/index.js";import{normalizePageProxy}from"../helpers/normalize-page-proxy.js";import{splitToEntryGroup}from"../helpers/split-to-entry-group.js";import{verifyGroupEntryOptions}from"../helpers/verify-group-entry-options.js";import{envVerify}from"./env-verify.js";export const prepareServe=async(e,r,o)=>{await envVerify(e,o);const t=splitToEntryGroup(r,o,ignoreEntryOptionKeys,!0);if(!t.length)return void logger.warn("No served entries provided!");const n=[],{app:
|
1
|
+
import{arrayUnique,chalk,logger,urlJoin}from"@flatjs/common";import{attachMockMiddlewares}from"@flatjs/mock";import{ignoreEntryOptionKeys,moduleName}from"../constants.js";import{createAppPageRoute,createDevServer,createDevServerCompilerTask,createDevServerEntries}from"../dev-server/index.js";import{flatEntryMap,openPage}from"../helpers/index.js";import{normalizePageProxy}from"../helpers/normalize-page-proxy.js";import{splitToEntryGroup}from"../helpers/split-to-entry-group.js";import{verifyGroupEntryOptions}from"../helpers/verify-group-entry-options.js";import{envVerify}from"./env-verify.js";export const prepareServe=async(e,r,o)=>{await envVerify(e,o);const t=splitToEntryGroup(r,o,ignoreEntryOptionKeys,!0);if(!t.length)return void logger.warn("No served entries provided!");const n=[],{app:s,devPort:i,devHostUri:a,publicIp:p}=await createDevServer(o),c=o.devServer?.mockOptions?.mockFilters||[];for(const[,e]of Object.entries(r))c.push(...e.options?.mockFilters||[]);await attachMockMiddlewares(s,{...o.devServer?.mockOptions,mockFilters:arrayUnique(c),projectCwd:e});let l=i;const m=[];for(const e of t){if(!verifyGroupEntryOptions(e,ignoreEntryOptionKeys,!0))throw new Error("The entry options in a group must be the same.");l++;const r=await createDevServerEntries(l,e,o);m.push(r)}const v=flatEntryMap(m);createAppPageRoute(e,s,a,v,o);const d=normalizePageProxy(o.devServer?.pageProxy||"/pages"),f=urlJoin(a,[d]);o.devServer?.autoOpen&&openPage(f);for(const e of m){const r=createDevServerCompilerTask(p,e,m,o);n.push(r)}return Promise.all(n).then((()=>(logger.info(`debug page ➩ ${chalk(["cyan"])(f)}`,moduleName),process.stdin.resume(),process.stdin.setEncoding("utf8"),process.stdin.on("data",(e=>{const r=e.toString();12===r.charCodeAt(0)?console.clear():[102,70].includes(r.charCodeAt(0))&&logger.info(`debug page ➩ ${chalk(["cyan"])(f)}`,moduleName)})),s)))};
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@flatjs/evolve",
|
3
|
-
"version": "2.1.
|
3
|
+
"version": "2.1.5",
|
4
4
|
"license": "MIT",
|
5
5
|
"type": "module",
|
6
6
|
"exports": {
|
@@ -35,31 +35,31 @@
|
|
35
35
|
"typecheck": "tsc --project ./tsconfig.json --noEmit"
|
36
36
|
},
|
37
37
|
"dependencies": {
|
38
|
-
"@armit/babel-merge": "^0.2.
|
39
|
-
"@armit/config-loader": "^0.
|
40
|
-
"@armit/file-utility": "^0.2.
|
41
|
-
"@armit/git": "^0.2.
|
42
|
-
"@armit/package": "^0.2.
|
43
|
-
"@babel/core": "^7.25.
|
38
|
+
"@armit/babel-merge": "^0.2.6",
|
39
|
+
"@armit/config-loader": "^0.3.0",
|
40
|
+
"@armit/file-utility": "^0.2.6",
|
41
|
+
"@armit/git": "^0.2.6",
|
42
|
+
"@armit/package": "^0.2.10",
|
43
|
+
"@babel/core": "^7.25.8",
|
44
44
|
"@clack/prompts": "^0.7.0",
|
45
45
|
"@discoveryjs/json-ext": "0.6.1",
|
46
|
-
"@flatjs/babel-plugin-import": "2.1.
|
47
|
-
"@flatjs/common": "2.1.
|
48
|
-
"@flatjs/evolve-preset-babel": "2.1.
|
49
|
-
"@flatjs/forge-postcss-plugin-pixel": "2.1.
|
50
|
-
"@flatjs/graph": "2.1.
|
51
|
-
"@flatjs/mock": "2.
|
46
|
+
"@flatjs/babel-plugin-import": "2.1.4",
|
47
|
+
"@flatjs/common": "2.1.4",
|
48
|
+
"@flatjs/evolve-preset-babel": "2.1.4",
|
49
|
+
"@flatjs/forge-postcss-plugin-pixel": "2.1.4",
|
50
|
+
"@flatjs/graph": "2.1.4",
|
51
|
+
"@flatjs/mock": "2.2.0",
|
52
52
|
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.15",
|
53
53
|
"@types/babel__core": "^7.20.5",
|
54
|
-
"babel-loader": "^9.1
|
54
|
+
"babel-loader": "^9.2.1",
|
55
55
|
"better-opn": "^3.0.2",
|
56
56
|
"case-sensitive-paths-webpack-plugin": "^2.4.0",
|
57
57
|
"ci-info": "^4.0.0",
|
58
58
|
"css-loader": "^7.1.2",
|
59
59
|
"cssnano": "^7.0.6",
|
60
|
-
"express": "^4.
|
60
|
+
"express": "^4.21.1",
|
61
61
|
"fork-ts-checker-webpack-plugin": "^9.0.2",
|
62
|
-
"happy-dom": "^15.7.
|
62
|
+
"happy-dom": "^15.7.4",
|
63
63
|
"html-webpack-plugin": "^5.6.0",
|
64
64
|
"image-minimizer-webpack-plugin": "^4.1.0",
|
65
65
|
"less": "^4.2.0",
|
@@ -68,7 +68,7 @@
|
|
68
68
|
"lodash": "^4.17.21",
|
69
69
|
"log-update": "^6.1.0",
|
70
70
|
"mini-css-extract-plugin": "^2.9.1",
|
71
|
-
"postcss": "^8.4.
|
71
|
+
"postcss": "^8.4.47",
|
72
72
|
"postcss-loader": "^8.1.1",
|
73
73
|
"react-refresh": "^0.14.2",
|
74
74
|
"svgo": "^3.3.2",
|
@@ -76,9 +76,9 @@
|
|
76
76
|
"terser-webpack-plugin": "^5.3.10",
|
77
77
|
"tinypool": "^1.0.1",
|
78
78
|
"tsconfig-paths-webpack-plugin": "^4.1.0",
|
79
|
-
"type-fest": "^4.26.
|
80
|
-
"typescript": "^5.
|
81
|
-
"webpack": "^5.
|
79
|
+
"type-fest": "^4.26.1",
|
80
|
+
"typescript": "^5.6.3",
|
81
|
+
"webpack": "^5.95.0",
|
82
82
|
"webpack-bundle-analyzer": "^4.10.2",
|
83
83
|
"webpack-dev-server": "^5.1.0",
|
84
84
|
"webpack-sources": "^3.2.3"
|
@@ -87,23 +87,23 @@
|
|
87
87
|
"@dimjs/lang": "2.0.0",
|
88
88
|
"@dimjs/model": "2.0.1",
|
89
89
|
"@dimjs/model-react": "2.0.1",
|
90
|
-
"@dimjs/utils": "2.0.
|
91
|
-
"@flatjs/testing": "2.1.
|
90
|
+
"@dimjs/utils": "2.0.2",
|
91
|
+
"@flatjs/testing": "2.1.4",
|
92
92
|
"@hyperse/eslint-config-hyperse": "^1.1.3",
|
93
|
-
"@swc/core": "1.7.
|
94
|
-
"@types/express": "
|
93
|
+
"@swc/core": "1.7.36",
|
94
|
+
"@types/express": "5.0.0",
|
95
95
|
"@types/listr": "0.14.9",
|
96
|
-
"@types/node": "22.
|
97
|
-
"eslint": "^9.
|
96
|
+
"@types/node": "22.7.6",
|
97
|
+
"eslint": "^9.12.0",
|
98
98
|
"imagemin-gifsicle": "7.0.0",
|
99
|
-
"imagemin-jpegtran": "
|
99
|
+
"imagemin-jpegtran": "8.0.0",
|
100
100
|
"imagemin-pngquant": "10.0.0",
|
101
101
|
"imagemin-svgo": "11.0.1",
|
102
102
|
"npm-run-all": "4.1.5",
|
103
103
|
"react": "18.3.1",
|
104
104
|
"rimraf": "6.0.1",
|
105
105
|
"vite-tsconfig-paths": "5.0.1",
|
106
|
-
"vitest": "2.
|
106
|
+
"vitest": "2.1.3",
|
107
107
|
"vue-loader": "17.4.2"
|
108
108
|
},
|
109
109
|
"peerDependencies": {
|
@@ -8,7 +8,7 @@
|
|
8
8
|
<meta http-equiv="Cache-control" content="no-cache" />
|
9
9
|
<meta http-equiv="Cache" content="no-cache" />
|
10
10
|
<meta name="format-detection" content="telephone=no,email=no" />
|
11
|
-
<meta name="
|
11
|
+
<meta name="mobile-web-app-capable" content="yes" />
|
12
12
|
<meta name="apple-touch-fullscreen" content="yes" />
|
13
13
|
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
|
14
14
|
<meta
|
@@ -35,8 +35,7 @@
|
|
35
35
|
</script>
|
36
36
|
<% } %>
|
37
37
|
<% if (favicon) { %>
|
38
|
-
<link rel="
|
39
|
-
<link rel="icon" href="<%= favicon %>" type="image/x-icon" />
|
38
|
+
<link rel="icon" type="image/png" sizes="32x32" href="<%= favicon %>" />
|
40
39
|
<% } %>
|
41
40
|
<% if (headBeforeStyles) { %>
|
42
41
|
<% for (let index = 0; index < headBeforeStyles.length; index++) { %>
|
@@ -8,7 +8,7 @@
|
|
8
8
|
<meta http-equiv="Cache-control" content="no-cache" />
|
9
9
|
<meta http-equiv="Cache" content="no-cache" />
|
10
10
|
<meta name="format-detection" content="telephone=no,email=no" />
|
11
|
-
<meta name="
|
11
|
+
<meta name="mobile-web-app-capable" content="yes" />
|
12
12
|
<meta name="apple-touch-fullscreen" content="yes" />
|
13
13
|
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
|
14
14
|
<meta
|
@@ -35,8 +35,7 @@
|
|
35
35
|
</script>
|
36
36
|
<% } %>
|
37
37
|
<% if (favicon) { %>
|
38
|
-
<link rel="
|
39
|
-
<link rel="icon" href="<%= favicon %>" type="image/x-icon" />
|
38
|
+
<link rel="icon" type="image/png" sizes="32x32" href="<%= favicon %>" />
|
40
39
|
<% } %>
|
41
40
|
<% if (headBeforeStyles) { %>
|
42
41
|
<% for (let index = 0; index < headBeforeStyles.length; index++) { %>
|
@@ -8,7 +8,7 @@
|
|
8
8
|
<meta http-equiv="Cache-control" content="no-cache" />
|
9
9
|
<meta http-equiv="Cache" content="no-cache" />
|
10
10
|
<meta name="format-detection" content="telephone=no,email=no" />
|
11
|
-
<meta name="
|
11
|
+
<meta name="mobile-web-app-capable" content="yes" />
|
12
12
|
<meta name="apple-touch-fullscreen" content="yes" />
|
13
13
|
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
|
14
14
|
<meta
|
@@ -35,8 +35,7 @@
|
|
35
35
|
</script>
|
36
36
|
<% } %>
|
37
37
|
<% if (favicon) { %>
|
38
|
-
<link rel="
|
39
|
-
<link rel="icon" href="<%= favicon %>" type="image/x-icon" />
|
38
|
+
<link rel="icon" type="image/png" sizes="32x32" href="<%= favicon %>" />
|
40
39
|
<% } %>
|
41
40
|
<% if (headBeforeStyles) { %>
|
42
41
|
<% for (let index = 0; index < headBeforeStyles.length; index++) { %>
|
@@ -8,7 +8,7 @@
|
|
8
8
|
<meta http-equiv="Cache-control" content="no-cache" />
|
9
9
|
<meta http-equiv="Cache" content="no-cache" />
|
10
10
|
<meta name="format-detection" content="telephone=no,email=no" />
|
11
|
-
<meta name="
|
11
|
+
<meta name="mobile-web-app-capable" content="yes" />
|
12
12
|
<meta name="apple-touch-fullscreen" content="yes" />
|
13
13
|
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
|
14
14
|
<meta
|
@@ -35,8 +35,7 @@
|
|
35
35
|
</script>
|
36
36
|
<% } %>
|
37
37
|
<% if (favicon) { %>
|
38
|
-
<link rel="
|
39
|
-
<link rel="icon" href="<%= favicon %>" type="image/x-icon" />
|
38
|
+
<link rel="icon" type="image/png" sizes="32x32" href="<%= favicon %>" />
|
40
39
|
<% } %>
|
41
40
|
<% if (headBeforeStyles) { %>
|
42
41
|
<% for (let index = 0; index < headBeforeStyles.length; index++) { %>
|
@@ -8,7 +8,7 @@
|
|
8
8
|
<meta http-equiv="Cache-control" content="no-cache" />
|
9
9
|
<meta http-equiv="Cache" content="no-cache" />
|
10
10
|
<meta name="format-detection" content="telephone=no,email=no" />
|
11
|
-
<meta name="
|
11
|
+
<meta name="mobile-web-app-capable" content="yes" />
|
12
12
|
<meta name="apple-touch-fullscreen" content="yes" />
|
13
13
|
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
|
14
14
|
<meta
|
@@ -35,8 +35,7 @@
|
|
35
35
|
</script>
|
36
36
|
<% } %>
|
37
37
|
<% if (favicon) { %>
|
38
|
-
<link rel="
|
39
|
-
<link rel="icon" href="<%= favicon %>" type="image/x-icon" />
|
38
|
+
<link rel="icon" type="image/png" sizes="32x32" href="<%= favicon %>" />
|
40
39
|
<% } %>
|
41
40
|
<% if (headBeforeStyles) { %>
|
42
41
|
<% for (let index = 0; index < headBeforeStyles.length; index++) { %>
|
@@ -8,7 +8,7 @@
|
|
8
8
|
<meta http-equiv="Cache-control" content="no-cache" />
|
9
9
|
<meta http-equiv="Cache" content="no-cache" />
|
10
10
|
<meta name="format-detection" content="telephone=no,email=no" />
|
11
|
-
<meta name="
|
11
|
+
<meta name="mobile-web-app-capable" content="yes" />
|
12
12
|
<meta name="apple-touch-fullscreen" content="yes" />
|
13
13
|
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
|
14
14
|
<meta
|
@@ -35,8 +35,7 @@
|
|
35
35
|
</script>
|
36
36
|
<% } %>
|
37
37
|
<% if (favicon) { %>
|
38
|
-
<link rel="
|
39
|
-
<link rel="icon" href="<%= favicon %>" type="image/x-icon" />
|
38
|
+
<link rel="icon" type="image/png" sizes="32x32" href="<%= favicon %>" />
|
40
39
|
<% } %>
|
41
40
|
<% if (headBeforeStyles) { %>
|
42
41
|
<% for (let index = 0; index < headBeforeStyles.length; index++) { %>
|
@@ -8,7 +8,7 @@
|
|
8
8
|
<meta http-equiv="Cache-control" content="no-cache" />
|
9
9
|
<meta http-equiv="Cache" content="no-cache" />
|
10
10
|
<meta name="format-detection" content="telephone=no,email=no" />
|
11
|
-
<meta name="
|
11
|
+
<meta name="mobile-web-app-capable" content="yes" />
|
12
12
|
<meta name="apple-touch-fullscreen" content="yes" />
|
13
13
|
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
|
14
14
|
<meta
|
@@ -35,8 +35,7 @@
|
|
35
35
|
</script>
|
36
36
|
<% } %>
|
37
37
|
<% if (favicon) { %>
|
38
|
-
<link rel="
|
39
|
-
<link rel="icon" href="<%= favicon %>" type="image/x-icon" />
|
38
|
+
<link rel="icon" type="image/png" sizes="32x32" href="<%= favicon %>" />
|
40
39
|
<% } %>
|
41
40
|
<% if (headBeforeStyles) { %>
|
42
41
|
<% for (let index = 0; index < headBeforeStyles.length; index++) { %>
|
@@ -8,7 +8,7 @@
|
|
8
8
|
<meta http-equiv="Cache-control" content="no-cache" />
|
9
9
|
<meta http-equiv="Cache" content="no-cache" />
|
10
10
|
<meta name="format-detection" content="telephone=no,email=no" />
|
11
|
-
<meta name="
|
11
|
+
<meta name="mobile-web-app-capable" content="yes" />
|
12
12
|
<meta name="apple-touch-fullscreen" content="yes" />
|
13
13
|
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
|
14
14
|
<meta
|
@@ -35,8 +35,7 @@
|
|
35
35
|
</script>
|
36
36
|
<% } %>
|
37
37
|
<% if (favicon) { %>
|
38
|
-
<link rel="
|
39
|
-
<link rel="icon" href="<%= favicon %>" type="image/x-icon" />
|
38
|
+
<link rel="icon" type="image/png" sizes="32x32" href="<%= favicon %>" />
|
40
39
|
<% } %>
|
41
40
|
<% if (headBeforeStyles) { %>
|
42
41
|
<% for (let index = 0; index < headBeforeStyles.length; index++) { %>
|
@@ -8,7 +8,7 @@
|
|
8
8
|
<meta http-equiv="Cache-control" content="no-cache" />
|
9
9
|
<meta http-equiv="Cache" content="no-cache" />
|
10
10
|
<meta name="format-detection" content="telephone=no,email=no" />
|
11
|
-
<meta name="
|
11
|
+
<meta name="mobile-web-app-capable" content="yes" />
|
12
12
|
<meta name="apple-touch-fullscreen" content="yes" />
|
13
13
|
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
|
14
14
|
<meta
|
@@ -35,8 +35,7 @@
|
|
35
35
|
</script>
|
36
36
|
<% } %>
|
37
37
|
<% if (favicon) { %>
|
38
|
-
<link rel="
|
39
|
-
<link rel="icon" href="<%= favicon %>" type="image/x-icon" />
|
38
|
+
<link rel="icon" type="image/png" sizes="32x32" href="<%= favicon %>" />
|
40
39
|
<% } %>
|
41
40
|
<% if (headBeforeStyles) { %>
|
42
41
|
<% for (let index = 0; index < headBeforeStyles.length; index++) { %>
|
@@ -8,7 +8,7 @@
|
|
8
8
|
<meta http-equiv="Cache-control" content="no-cache" />
|
9
9
|
<meta http-equiv="Cache" content="no-cache" />
|
10
10
|
<meta name="format-detection" content="telephone=no,email=no" />
|
11
|
-
<meta name="
|
11
|
+
<meta name="mobile-web-app-capable" content="yes" />
|
12
12
|
<meta name="apple-touch-fullscreen" content="yes" />
|
13
13
|
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
|
14
14
|
<meta
|
@@ -35,8 +35,7 @@
|
|
35
35
|
</script>
|
36
36
|
<% } %>
|
37
37
|
<% if (favicon) { %>
|
38
|
-
<link rel="
|
39
|
-
<link rel="icon" href="<%= favicon %>" type="image/x-icon" />
|
38
|
+
<link rel="icon" type="image/png" sizes="32x32" href="<%= favicon %>" />
|
40
39
|
<% } %>
|
41
40
|
<% if (headBeforeStyles) { %>
|
42
41
|
<% for (let index = 0; index < headBeforeStyles.length; index++) { %>
|
package/templates/main.html
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
<meta http-equiv="Cache-control" content="no-cache" />
|
9
9
|
<meta http-equiv="Cache" content="no-cache" />
|
10
10
|
<meta name="format-detection" content="telephone=no,email=no" />
|
11
|
-
<meta name="
|
11
|
+
<meta name="mobile-web-app-capable" content="yes" />
|
12
12
|
<meta name="apple-touch-fullscreen" content="yes" />
|
13
13
|
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
|
14
14
|
<meta
|
@@ -8,7 +8,7 @@
|
|
8
8
|
<meta http-equiv="Cache-control" content="no-cache" />
|
9
9
|
<meta http-equiv="Cache" content="no-cache" />
|
10
10
|
<meta name="format-detection" content="telephone=no,email=no" />
|
11
|
-
<meta name="
|
11
|
+
<meta name="mobile-web-app-capable" content="yes" />
|
12
12
|
<meta name="apple-touch-fullscreen" content="yes" />
|
13
13
|
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
|
14
14
|
<meta
|
package/templates/module.html
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
<meta http-equiv="Cache-control" content="no-cache" />
|
9
9
|
<meta http-equiv="Cache" content="no-cache" />
|
10
10
|
<meta name="format-detection" content="telephone=no,email=no" />
|
11
|
-
<meta name="
|
11
|
+
<meta name="mobile-web-app-capable" content="yes" />
|
12
12
|
<meta name="apple-touch-fullscreen" content="yes" />
|
13
13
|
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
|
14
14
|
<meta
|
@@ -36,8 +36,7 @@
|
|
36
36
|
</script>
|
37
37
|
<% } %>
|
38
38
|
<% if (favicon) { %>
|
39
|
-
<link rel="
|
40
|
-
<link rel="icon" href="<%= favicon %>" type="image/x-icon" />
|
39
|
+
<link rel="icon" type="image/png" sizes="32x32" href="<%= favicon %>" />
|
41
40
|
<% } %>
|
42
41
|
<% if (headBeforeStyles) { %>
|
43
42
|
<% for (let index = 0; index < headBeforeStyles.length; index++) { %>
|