@flatjs/evolve 1.8.1-next.29 → 1.8.1-next.31
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 +18 -0
- package/dist/helpers/chunk-entry-map.d.ts +7 -0
- package/dist/helpers/chunk-entry-map.js +1 -0
- package/dist/helpers/index.d.ts +1 -0
- package/dist/helpers/index.js +1 -1
- package/dist/helpers/merge-babel-options.js +1 -1
- package/dist/main/prepare-build.js +1 -1
- package/dist/main/prepare-static.d.ts +1 -1
- package/dist/main/prepare-static.js +1 -1
- package/dist/main/start-static.d.ts +1 -1
- package/dist/main/start-static.js +1 -1
- package/dist/types/types-dev-server.d.ts +1 -1
- package/package.json +6 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# @flatjs/evolve
|
|
2
2
|
|
|
3
|
+
## 1.8.1-next.31
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- b318549: Add array chunks & evolve split entryMap into multi chunks
|
|
8
|
+
- Updated dependencies [b318549]
|
|
9
|
+
- @flatjs/common@1.8.1-next.16
|
|
10
|
+
- @flatjs/forge-postcss-plugin-pixel@1.8.1-next.16
|
|
11
|
+
- @flatjs/mock@1.8.1-next.28
|
|
12
|
+
- @flatjs/evolve-preset-babel@1.8.1-next.6
|
|
13
|
+
|
|
14
|
+
## 1.8.1-next.30
|
|
15
|
+
|
|
16
|
+
### Patch Changes
|
|
17
|
+
|
|
18
|
+
- af2051d: Add `startStatic` API
|
|
19
|
+
- @flatjs/mock@1.8.1-next.27
|
|
20
|
+
|
|
3
21
|
## 1.8.1-next.29
|
|
4
22
|
|
|
5
23
|
### Patch Changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{arrayChunk}from"@flatjs/common";export const chunkEntryMap=(r,o=2)=>{const n=Object.keys(r),t=arrayChunk(n,o),c=[];for(const o of t){const n=o.reduce(((o,n)=>({...o,[n]:r[n]})),{});c.push(n)}return c};
|
package/dist/helpers/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export * from './allow-px2rem-for-module.js';
|
|
2
2
|
export * from './assert-only-single-entry-item.js';
|
|
3
|
+
export * from './chunk-entry-map.js';
|
|
3
4
|
export * from './enable-bundle-hashname-for-module.js';
|
|
4
5
|
export * from './get-bundle-file-name.js';
|
|
5
6
|
export * from './get-html-plugin-config.js';
|
package/dist/helpers/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export*from"./allow-px2rem-for-module.js";export*from"./assert-only-single-entry-item.js";export*from"./enable-bundle-hashname-for-module.js";export*from"./get-bundle-file-name.js";export*from"./get-html-plugin-config.js";export*from"./get-pacakge-dir.js";export*from"./merge-babel-options.js";export*from"./normalize-entry-map.js";export*from"./open-page.js";export*from"./print-log.js";export*from"./refresh-evolve-mock-options.js";export*from"./script-injects.js";export*from"./should-enable-react-fast-refresh.js";export*from"./split-to-multi-compiler.js";
|
|
1
|
+
export*from"./allow-px2rem-for-module.js";export*from"./assert-only-single-entry-item.js";export*from"./chunk-entry-map.js";export*from"./enable-bundle-hashname-for-module.js";export*from"./get-bundle-file-name.js";export*from"./get-html-plugin-config.js";export*from"./get-pacakge-dir.js";export*from"./merge-babel-options.js";export*from"./normalize-entry-map.js";export*from"./open-page.js";export*from"./print-log.js";export*from"./refresh-evolve-mock-options.js";export*from"./script-injects.js";export*from"./should-enable-react-fast-refresh.js";export*from"./split-to-multi-compiler.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{logger,requireResolve}from"@flatjs/common";import{reactBabelPreset,vueBabelPreset}from"@flatjs/evolve-preset-babel";import babelMerge from"babel-merge";import{moduleName}from"../constants.js";export const mergeBabelOption=(e=[],r={usePreset:"react"})=>{const t=e.map((e=>[requireResolve("babel-plugin-import"),{transformToDefaultImport:!1,libraryDirectory:"dist",...e},e.libraryName])),{usePreset:a="react",...l}=r,o="react"===a?reactBabelPreset():"vue"===a?vueBabelPreset():reactBabelPreset();let s={};try{s=babelMerge(o,l),s.plugins?s.plugins.unshift(...t):s.plugins=t}catch(e){logger.error(e,moduleName)}return{...s,babelrc:!1}};
|
|
1
|
+
import{logger,requireResolve}from"@flatjs/common";import{reactBabelPreset,vueBabelPreset}from"@flatjs/evolve-preset-babel";import babelMerge from"babel-merge";import{moduleName}from"../constants.js";export const mergeBabelOption=(e=[],r={usePreset:"react"})=>{const t=e.map((e=>[requireResolve("babel-plugin-import"),{transformToDefaultImport:!1,libraryDirectory:"dist",...e},e.libraryName])),{usePreset:a="react",...l}=r,o="react"===a?reactBabelPreset():"vue"===a?vueBabelPreset():reactBabelPreset();let s={};try{s=babelMerge(o,l),s.plugins?s.plugins.unshift(...t):s.plugins=t}catch(e){logger.error(e,moduleName)}return{...s,babelrc:!1,compact:!1}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ensureSlash,mergeOptions}from"@flatjs/common";import webpack from"webpack";import{loadWebpackConfig}from"../create-webpack/load-webpack-config.js";import{splitToMultiCompilerConfigs}from"../helpers/split-to-multi-compiler.js";import{envVerify}from"./env-verify.js";const startSingleEntryBuild=(r,o)=>{const t=loadWebpackConfig("production",r,o),e=splitToMultiCompilerConfigs(r,t,o);if(e.length>1)throw new Error("startSingleEntryBuild() only support `compiler` at a time");const n=e[0];return new Promise(((r,t)=>{webpack(n,((e,i)=>{if(e)return t(e);const s=i?.toJson();return s?.errors?.length?t(s.errors):o.rejectWarnings&&s?.warnings?.length?t(s.warnings):void r({name:n.name,warningStats:s?.warnings})}))}))};export const prepareBuild=async(r,o,t)=>{await envVerify(r,t);const e=t.multiHtmlCdn?.prod||[];if(!e.length)throw new Error('No CDN configuration for env: "prod"');const n=
|
|
1
|
+
import{ensureSlash,logger,mergeOptions}from"@flatjs/common";import webpack from"webpack";import{moduleName}from"../constants.js";import{loadWebpackConfig}from"../create-webpack/load-webpack-config.js";import{chunkEntryMap}from"../helpers/chunk-entry-map.js";import{splitToMultiCompilerConfigs}from"../helpers/split-to-multi-compiler.js";import{envVerify}from"./env-verify.js";const startSingleEntryBuild=(r,o)=>{const t=loadWebpackConfig("production",r,o),e=splitToMultiCompilerConfigs(r,t,o);if(e.length>1)throw new Error("startSingleEntryBuild() only support `compiler` at a time");const n=e[0];return new Promise(((r,t)=>{webpack(n,((e,i)=>{if(e)return t(e);const s=i?.toJson();return s?.errors?.length?t(s.errors):o.rejectWarnings&&s?.warnings?.length?t(s.warnings):void r({name:n.name,warningStats:s?.warnings})}))}))};export const prepareBuild=async(r,o,t)=>{await envVerify(r,t);const e=t.multiHtmlCdn?.prod||[];if(!e.length)throw new Error('No CDN configuration for env: "prod"');const n=ensureSlash(e[Math.floor(Math.random()*e.length)],!0),i=[],s=chunkEntryMap(o);for(const r of s){logger.info(`build task: ${JSON.stringify(Object.keys(r))}`,moduleName);const o=[];for(const[e,i]of Object.entries(r)){const r={[e]:i},s=i.options?.useRelativeAssetPath;o.push(startSingleEntryBuild(r,mergeOptions(t,{webpack:{publicPath:s?"auto":n}})))}const e=await Promise.all(o);i.push(...e)}return i};
|
|
@@ -4,4 +4,4 @@ import { type FlatEvolveOptions } from '../types/index.js';
|
|
|
4
4
|
* @param projectCwd The Root directory (workspace) of this project.
|
|
5
5
|
* @param evolveOptions FlatEvolveOptions
|
|
6
6
|
*/
|
|
7
|
-
export declare const prepareStatic: (evolveOptions: FlatEvolveOptions) => Promise<
|
|
7
|
+
export declare const prepareStatic: (projectCwd: string, evolveOptions: FlatEvolveOptions) => Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{chalk,logger,urlJoin}from"@flatjs/common";import{createDevServer}from"../dev-server/create-dev-server.js";export const prepareStatic=async
|
|
1
|
+
import{chalk,logger,urlJoin}from"@flatjs/common";import{attachMockMiddlewares}from"@flatjs/mock";import{createAppPageRoute}from"../dev-server/create-app-page-route.js";import{createDevServer}from"../dev-server/create-dev-server.js";import{openPage}from"../helpers/open-page.js";export const prepareStatic=async(e,r)=>{const{app:a,devHostUri:o}=await createDevServer(r);attachMockMiddlewares(a,{...r.devServer?.mockOptions,projectCwd:e}),createAppPageRoute(e,a,o,{},r);const t=urlJoin(o,["/pages"]);r.devServer?.autoOpen&&openPage(t),logger.info(`${"static page".padEnd(12," ")} ➩ ${chalk(["cyan"])(t)}`)};
|
|
@@ -7,4 +7,4 @@ import { type FlatEvolveOptions } from '../types/types-options.js';
|
|
|
7
7
|
* @param evolveOptions FlatEvolveOptions
|
|
8
8
|
* @param configLoaderOptions FlatMockOptions
|
|
9
9
|
*/
|
|
10
|
-
export declare const startStatic: (projectCwd: string, overrideEvolveOptions?: PartialDeep<FlatEvolveOptions>, configLoaderOptions?: ConfigLoaderOptions) => Promise<
|
|
10
|
+
export declare const startStatic: (projectCwd: string, overrideEvolveOptions?: PartialDeep<FlatEvolveOptions>, configLoaderOptions?: ConfigLoaderOptions) => Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{loadEvolveConfig}from"../load-config/load-evolve-config.js";import{prepareStatic}from"./prepare-static.js";export const startStatic=async(o,t={},a)=>{const r=await loadEvolveConfig({command:"static"},o,t,a);return prepareStatic(r)};
|
|
1
|
+
import{loadEvolveConfig}from"../load-config/load-evolve-config.js";import{prepareStatic}from"./prepare-static.js";export const startStatic=async(o,t={},a)=>{const r=await loadEvolveConfig({command:"static"},o,t,a);return prepareStatic(o,r)};
|
|
@@ -34,7 +34,7 @@ export type FlatEvolveDevServerOptions = {
|
|
|
34
34
|
/**
|
|
35
35
|
* Allow us costomized global serve data injected into `window.GLOBAL = {...globalData}`
|
|
36
36
|
*/
|
|
37
|
-
defaultServeGlobalData?: (entryItem: EvolveEntryMapContent, hostUrl: string) => Promise<Record<string, unknown
|
|
37
|
+
defaultServeGlobalData?: (entryItem: EvolveEntryMapContent, hostUrl: string) => Promise<Record<string, unknown>> | Record<string, unknown>;
|
|
38
38
|
/**
|
|
39
39
|
* The value indicates if we will auto open broswers page for `serve`
|
|
40
40
|
* @default true
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flatjs/evolve",
|
|
3
|
-
"version": "1.8.1-next.
|
|
3
|
+
"version": "1.8.1-next.31",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"build": "rimraf dist && tsc -p ./tsconfig.build.json && npm run minify",
|
|
26
26
|
"?build-release": "When https://github.com/atlassian/changesets/issues/432 has a solution we can remove this trick",
|
|
27
27
|
"build-release": "yarn build && rimraf ./_release && yarn pack && mkdir ./_release && tar zxvf ./package.tgz --directory ./_release && rm ./package.tgz",
|
|
28
|
-
"minify": "
|
|
28
|
+
"minify": "node ../../scripts/minify.mjs --dest=dist",
|
|
29
29
|
"codegen": "graphql-codegen --config ./codegen.cjs",
|
|
30
30
|
"clean": "rimraf --no-glob ./dist ./coverage ./__data__ ./config/__data__ ./_release ./tsconfig.tsbuildinfo",
|
|
31
31
|
"lint": "eslint . --ext .ts,.mts,.tsx,.js,.jsx,.cjs,.mjs --cache --cache-location ../../.cache/eslint/evolve.eslintcache",
|
|
@@ -40,10 +40,10 @@
|
|
|
40
40
|
"@armit/file-utility": "^0.0.19",
|
|
41
41
|
"@armit/package": "^0.0.29",
|
|
42
42
|
"@babel/core": "7.21.8",
|
|
43
|
-
"@flatjs/common": "1.8.1-next.
|
|
43
|
+
"@flatjs/common": "1.8.1-next.16",
|
|
44
44
|
"@flatjs/evolve-preset-babel": "1.8.1-next.6",
|
|
45
|
-
"@flatjs/forge-postcss-plugin-pixel": "1.8.1-next.
|
|
46
|
-
"@flatjs/mock": "1.8.1-next.
|
|
45
|
+
"@flatjs/forge-postcss-plugin-pixel": "1.8.1-next.16",
|
|
46
|
+
"@flatjs/mock": "1.8.1-next.28",
|
|
47
47
|
"@pmmmwh/react-refresh-webpack-plugin": "0.5.10",
|
|
48
48
|
"@types/babel__core": "7.20.0",
|
|
49
49
|
"babel-loader": "9.1.2",
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
},
|
|
76
76
|
"devDependencies": {
|
|
77
77
|
"@armit/eslint-config-bases": "^0.0.16",
|
|
78
|
-
"@flatjs/testing": "1.8.1-next.
|
|
78
|
+
"@flatjs/testing": "1.8.1-next.13",
|
|
79
79
|
"@swc/core": "1.3.59",
|
|
80
80
|
"@types/express": "4.17.17",
|
|
81
81
|
"@types/node": "20.2.3",
|