@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.
@@ -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++) { %>