@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.
@@ -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"===i.path){const t=await getRuntimeManifest(a,e,m);return n.json(t)}g="/"===i.path?await getPageMainHtml(a,e,m):await getPageModuleHtml(a,i,e,t,m),n.send(g)}));
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:i,devPort:a,devHostUri:p,publicIp:s}=await createDevServer(o),c=o.devServer?.mockOptions?.mockFilters||[];for(const[,e]of Object.entries(r))c.push(...e.options?.mockFilters||[]);await attachMockMiddlewares(i,{...o.devServer?.mockOptions,mockFilters:arrayUnique(c),projectCwd:e});let m=a;const l=[];for(const e of t){if(!verifyGroupEntryOptions(e,ignoreEntryOptionKeys,!0))throw new Error("The entry options in a group must be the same.");m++;const r=await createDevServerEntries(m,e,o);l.push(r)}const v=flatEntryMap(l);createAppPageRoute(e,i,p,v,o);const y=normalizePageProxy(o.devServer?.pageProxy||"/pages"),f=urlJoin(p,[y]);o.devServer?.autoOpen&&openPage(f);for(const e of l){const r=createDevServerCompilerTask(s,e,l,o);n.push(r)}return Promise.all(n).then((()=>(logger.info(`debug page ➩ ${chalk(["cyan"])(f)}`,moduleName),i)))};
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)))};
@@ -18,6 +18,7 @@ export type MultiHtmlCDNEntryItem = {
18
18
  title?: string;
19
19
  /**
20
20
  * The favicon url to use for the generated HTML document
21
+ * Should be an path of (32 x 32).png
21
22
  */
22
23
  favicon?: string;
23
24
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flatjs/evolve",
3
- "version": "2.1.3",
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.5",
39
- "@armit/config-loader": "^0.2.9",
40
- "@armit/file-utility": "^0.2.5",
41
- "@armit/git": "^0.2.5",
42
- "@armit/package": "^0.2.9",
43
- "@babel/core": "^7.25.2",
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.3",
47
- "@flatjs/common": "2.1.3",
48
- "@flatjs/evolve-preset-babel": "2.1.3",
49
- "@flatjs/forge-postcss-plugin-pixel": "2.1.3",
50
- "@flatjs/graph": "2.1.3",
51
- "@flatjs/mock": "2.1.3",
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.3",
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.19.2",
60
+ "express": "^4.21.1",
61
61
  "fork-ts-checker-webpack-plugin": "^9.0.2",
62
- "happy-dom": "^15.7.3",
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.45",
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.0",
80
- "typescript": "^5.5.4",
81
- "webpack": "^5.94.0",
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.1",
91
- "@flatjs/testing": "2.1.3",
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.23",
94
- "@types/express": "4.17.21",
93
+ "@swc/core": "1.7.36",
94
+ "@types/express": "5.0.0",
95
95
  "@types/listr": "0.14.9",
96
- "@types/node": "22.5.4",
97
- "eslint": "^9.9.1",
96
+ "@types/node": "22.7.6",
97
+ "eslint": "^9.12.0",
98
98
  "imagemin-gifsicle": "7.0.0",
99
- "imagemin-jpegtran": "7.0.0",
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.0.5",
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="apple-mobile-web-app-capable" content="yes" />
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="shortcut icon" href="<%= favicon %>" type="image/x-icon" />
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="apple-mobile-web-app-capable" content="yes" />
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="shortcut icon" href="<%= favicon %>" type="image/x-icon" />
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="apple-mobile-web-app-capable" content="yes" />
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="shortcut icon" href="<%= favicon %>" type="image/x-icon" />
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="apple-mobile-web-app-capable" content="yes" />
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="shortcut icon" href="<%= favicon %>" type="image/x-icon" />
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="apple-mobile-web-app-capable" content="yes" />
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="shortcut icon" href="<%= favicon %>" type="image/x-icon" />
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="apple-mobile-web-app-capable" content="yes" />
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="shortcut icon" href="<%= favicon %>" type="image/x-icon" />
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="apple-mobile-web-app-capable" content="yes" />
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="shortcut icon" href="<%= favicon %>" type="image/x-icon" />
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="apple-mobile-web-app-capable" content="yes" />
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="shortcut icon" href="<%= favicon %>" type="image/x-icon" />
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="apple-mobile-web-app-capable" content="yes" />
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="shortcut icon" href="<%= favicon %>" type="image/x-icon" />
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="apple-mobile-web-app-capable" content="yes" />
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="shortcut icon" href="<%= favicon %>" type="image/x-icon" />
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="apple-mobile-web-app-capable" content="yes" />
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="apple-mobile-web-app-capable" content="yes" />
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="apple-mobile-web-app-capable" content="yes" />
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="shortcut icon" href="<%= favicon %>" type="image/x-icon" />
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++) { %>