@flatjs/evolve 2.1.3 → 2.1.5
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/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++) { %>
|