@flatjs/evolve 2.3.2-next.1 → 2.3.2-next.3
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/build-server/compiler-server-manager.d.ts +1 -1
- package/dist/compiler/create-build-server-compiler.js +1 -1
- package/dist/constants.d.ts +7 -0
- package/dist/constants.js +1 -1
- package/dist/core/rspack/create-externals.d.ts +4 -0
- package/dist/core/rspack/create-optimization.d.ts +4 -0
- package/dist/core/rspack/create-optimization.js +1 -0
- package/dist/core/rspack/create-performance.d.ts +2 -0
- package/dist/core/rspack/create-plugins.d.ts +5 -0
- package/dist/core/rspack/create-plugins.js +1 -0
- package/dist/core/rspack/create-resolve.d.ts +2 -0
- package/dist/core/rspack/create-resolve.js +1 -0
- package/dist/core/rspack/create-rspack-output.d.ts +4 -0
- package/dist/core/rspack/create-rspack-output.js +1 -0
- package/dist/core/rspack/create-rspack-rule-sets.d.ts +4 -0
- package/dist/core/rspack/create-rspack-rule-sets.js +1 -0
- package/dist/core/rspack/dev-serve/add-rspack-compiler-to-dev-server.d.ts +11 -0
- package/dist/core/rspack/dev-serve/add-rspack-compiler-to-dev-server.js +1 -0
- package/dist/core/rspack/dev-serve/create-rspack-compiler-task.d.ts +3 -0
- package/dist/core/rspack/dev-serve/create-rspack-compiler-task.js +1 -0
- package/dist/core/rspack/load-rspack-config.d.ts +11 -0
- package/dist/core/rspack/load-rspack-config.js +1 -0
- package/dist/core/rspack/load-rspack-watch-options.d.ts +12 -0
- package/dist/core/rspack/load-rspack-watch-options.js +1 -0
- package/dist/core/rspack/start-rspack-build.d.ts +12 -0
- package/dist/core/rspack/start-rspack-build.js +1 -0
- package/dist/{create-webpack → core/webpack}/create-externals.d.ts +2 -2
- package/dist/core/webpack/create-externals.js +1 -0
- package/dist/{create-webpack → core/webpack}/create-optimization.d.ts +2 -2
- package/dist/core/webpack/create-optimization.js +1 -0
- package/dist/{create-webpack → core/webpack}/create-output.d.ts +2 -2
- package/dist/core/webpack/create-output.js +1 -0
- package/dist/{create-webpack → core/webpack}/create-performance.d.ts +1 -1
- package/dist/core/webpack/create-performance.js +1 -0
- package/dist/core/webpack/create-plugins.d.ts +5 -0
- package/dist/core/webpack/create-plugins.js +1 -0
- package/dist/{create-webpack → core/webpack}/create-resolve.d.ts +1 -1
- package/dist/{create-webpack → core/webpack}/create-rule-sets.d.ts +2 -2
- package/dist/core/webpack/create-rule-sets.js +1 -0
- package/dist/{dev-server/add-compiler-to-dev-server.d.ts → core/webpack/dev-serve/add-webpack-compiler-to-dev-server.d.ts} +2 -2
- package/dist/core/webpack/dev-serve/add-webpack-compiler-to-dev-server.js +1 -0
- package/dist/core/webpack/dev-serve/create-webpack-compiler-task.d.ts +3 -0
- package/dist/core/webpack/dev-serve/create-webpack-compiler-task.js +1 -0
- package/dist/core/webpack/index.d.ts +2 -0
- package/dist/core/webpack/index.js +1 -0
- package/dist/{create-webpack → core/webpack}/load-watch-options.d.ts +3 -3
- package/dist/core/webpack/load-watch-options.js +1 -0
- package/dist/{create-webpack → core/webpack}/load-webpack-config.d.ts +3 -3
- package/dist/core/webpack/load-webpack-config.js +1 -0
- package/dist/core/webpack/start-webpack-build.d.ts +12 -0
- package/dist/core/webpack/start-webpack-build.js +1 -0
- package/dist/default-options.js +1 -1
- package/dist/dev-server/create-app-page-route.d.ts +1 -1
- package/dist/dev-server/create-dev-server-entries.d.ts +1 -1
- package/dist/dev-server/index.d.ts +0 -2
- package/dist/dev-server/index.js +1 -1
- package/dist/dev-server/middlewares/create-page-middleware.d.ts +1 -1
- package/dist/dev-server/middlewares/get-all-sorted-modules.d.ts +1 -1
- package/dist/dev-server/middlewares/get-dev-server-host-uri.d.ts +1 -1
- package/dist/dev-server/middlewares/get-hmr-runtime-chunks.d.ts +1 -1
- package/dist/dev-server/middlewares/get-normalized-entry-name.d.ts +1 -1
- package/dist/dev-server/middlewares/get-page-main-html.d.ts +1 -1
- package/dist/dev-server/middlewares/get-page-module-html.d.ts +1 -1
- package/dist/dev-server/middlewares/get-runtime-manifest.d.ts +1 -1
- package/dist/helpers/assert-single-compiler.d.ts +14 -1
- package/dist/helpers/assert-single-compiler.js +1 -1
- package/dist/helpers/custom-listr-renderer.js +1 -1
- package/dist/helpers/flat-entry-map.d.ts +1 -1
- package/dist/helpers/format-spinner-text.d.ts +3 -1
- package/dist/helpers/format-spinner-text.js +1 -1
- package/dist/helpers/print-promotion.d.ts +2 -0
- package/dist/helpers/print-promotion.js +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1 -1
- package/dist/main/create-build-server.d.ts +1 -1
- package/dist/main/create-thread-worker.d.ts +1 -1
- package/dist/main/index.d.ts +0 -1
- package/dist/main/index.js +1 -1
- package/dist/main/prepare-build.d.ts +1 -1
- package/dist/main/prepare-build.js +1 -1
- package/dist/main/prepare-serve.d.ts +2 -1
- package/dist/main/prepare-serve.js +1 -1
- package/dist/main/start-build-dynamic.d.ts +5 -3
- package/dist/main/start-build-dynamic.js +1 -1
- package/dist/main/start-build-worker.d.ts +1 -3
- package/dist/main/start-build-worker.js +1 -1
- package/dist/main/start-build.d.ts +1 -1
- package/dist/main/start-build.js +1 -1
- package/dist/main/start-serve.d.ts +2 -1
- package/dist/main/start-serve.js +1 -1
- package/dist/minimizer/default-options.d.ts +2 -0
- package/dist/minimizer/default-options.js +1 -1
- package/dist/minimizer/index.d.ts +2 -1
- package/dist/minimizer/index.js +1 -1
- package/dist/minimizer/rspack/create-minimizers.d.ts +3 -0
- package/dist/minimizer/rspack/create-minimizers.js +1 -0
- package/dist/minimizer/{image-minimizer.d.ts → rspack/image-minimizer.d.ts} +1 -1
- package/dist/minimizer/rspack/image-minimizer.js +1 -0
- package/dist/minimizer/rspack/terser-minimizer.d.ts +6 -0
- package/dist/minimizer/rspack/terser-minimizer.js +1 -0
- package/dist/minimizer/webpack/create-minimizers.d.ts +3 -0
- package/dist/minimizer/webpack/create-minimizers.js +1 -0
- package/dist/minimizer/webpack/image-minimizer.d.ts +16 -0
- package/dist/minimizer/webpack/image-minimizer.js +1 -0
- package/dist/minimizer/webpack/terser-minimizer.d.ts +6 -0
- package/dist/minimizer/{terser-minimizer.js → webpack/terser-minimizer.js} +1 -1
- package/dist/plugins/{define-variable/define-variable-plugin.d.ts → rspack/define-variable/index.d.ts} +3 -3
- package/dist/plugins/rspack/define-variable/index.js +1 -0
- package/dist/plugins/rspack/module-federation/external-template-remotes-rspack-plugin.d.ts +4 -0
- package/dist/plugins/rspack/module-federation/external-template-remotes-rspack-plugin.js +1 -0
- package/dist/plugins/rspack/module-federation/index.d.ts +4 -0
- package/dist/plugins/rspack/module-federation/index.js +1 -0
- package/dist/plugins/rspack/multi-html/index.d.ts +4 -0
- package/dist/plugins/rspack/multi-html/index.js +1 -0
- package/dist/plugins/rspack/multi-html/multi-html-cdn-rspack-plugin.d.ts +18 -0
- package/dist/plugins/rspack/multi-html/multi-html-cdn-rspack-plugin.js +1 -0
- package/dist/plugins/{multi-html/multi-html-modify-plugin.d.ts → rspack/multi-html/multi-html-modify--rspack-plugin.d.ts} +2 -2
- package/dist/plugins/rspack/multi-html/multi-html-modify--rspack-plugin.js +1 -0
- package/dist/plugins/rspack/multi-html/multi-html-rspack-plugin.d.ts +11 -0
- package/dist/plugins/rspack/multi-html/multi-html-rspack-plugin.js +1 -0
- package/dist/plugins/rspack/progress-plugin/index.d.ts +4 -0
- package/dist/plugins/rspack/progress-plugin/index.js +1 -0
- package/dist/plugins/rspack/progress-plugin/progress-handler.d.ts +3 -0
- package/dist/plugins/rspack/progress-plugin/progress-handler.js +1 -0
- package/dist/plugins/rspack/progress-plugin/progress-worker.d.ts +7 -0
- package/dist/plugins/rspack/progress-plugin/progress-worker.js +1 -0
- package/dist/plugins/{circular-dependency/circular-dependency-plugin.d.ts → webpack/circular-dependency/circular-dependency-webpack-plugin.d.ts} +1 -1
- package/dist/plugins/webpack/circular-dependency/circular-dependency-webpack-plugin.js +1 -0
- package/dist/plugins/webpack/circular-dependency/index.d.ts +9 -0
- package/dist/plugins/webpack/circular-dependency/index.js +1 -0
- package/dist/plugins/webpack/clean-webpack/clean-webpack-plugin.js +1 -0
- package/dist/plugins/webpack/clean-webpack/index.d.ts +9 -0
- package/dist/plugins/webpack/clean-webpack/index.js +1 -0
- package/dist/plugins/webpack/define-variable/index.d.ts +16 -0
- package/dist/plugins/webpack/define-variable/index.js +1 -0
- package/dist/plugins/{html-inject-scripts/plugin-html-inject-script.d.ts → webpack/html-inject-scripts/html-inject-script-webpack-plugin.d.ts} +1 -1
- package/dist/plugins/webpack/html-inject-scripts/html-inject-script-webpack-plugin.js +1 -0
- package/dist/plugins/webpack/html-inject-scripts/html-inline-script-webpack-plugin.d.ts +12 -0
- package/dist/plugins/webpack/html-inject-scripts/html-inline-script-webpack-plugin.js +1 -0
- package/dist/plugins/webpack/html-inject-scripts/index.d.ts +2 -0
- package/dist/plugins/webpack/html-inject-scripts/index.js +1 -0
- package/dist/plugins/{module-federation/external-template-remotes.d.ts → webpack/module-federation/external-template-remotes-webpack-plugin.d.ts} +1 -1
- package/dist/plugins/webpack/module-federation/external-template-remotes-webpack-plugin.js +1 -0
- package/dist/plugins/webpack/module-federation/index.d.ts +4 -0
- package/dist/plugins/webpack/module-federation/index.js +1 -0
- package/dist/plugins/webpack/multi-html/index.d.ts +4 -0
- package/dist/plugins/webpack/multi-html/index.js +1 -0
- package/dist/plugins/{multi-html/multi-html-cdn-plugin.d.ts → webpack/multi-html/multi-html-cdn-webpack-plugin.d.ts} +2 -2
- package/dist/plugins/webpack/multi-html/multi-html-cdn-webpack-plugin.js +1 -0
- package/dist/plugins/webpack/multi-html/multi-html-modify-webpack-plugin.d.ts +12 -0
- package/dist/plugins/webpack/multi-html/multi-html-modify-webpack-plugin.js +1 -0
- package/dist/plugins/webpack/multi-html/multi-html-webpack-plugins.d.ts +11 -0
- package/dist/plugins/webpack/multi-html/multi-html-webpack-plugins.js +1 -0
- package/dist/plugins/webpack/stats-webpack/index.d.ts +12 -0
- package/dist/plugins/webpack/stats-webpack/index.js +1 -0
- package/dist/plugins/webpack/stats-webpack/stats-webpack-plugin.js +1 -0
- package/dist/rules/index.d.ts +2 -0
- package/dist/rules/index.js +1 -0
- package/dist/rules/rspack/index.d.ts +5 -0
- package/dist/rules/rspack/index.js +1 -0
- package/dist/rules/rspack/rule-assets.d.ts +10 -0
- package/dist/rules/rspack/rule-assets.js +1 -0
- package/dist/rules/rspack/rule-css.d.ts +11 -0
- package/dist/rules/rspack/rule-css.js +1 -0
- package/dist/rules/rspack/rule-less.d.ts +26 -0
- package/dist/rules/rspack/rule-less.js +1 -0
- package/dist/rules/rspack/rule-scripts.d.ts +3 -0
- package/dist/rules/rspack/rule-scripts.js +1 -0
- package/dist/rules/rspack/rule-svg-icon.d.ts +6 -0
- package/dist/rules/rspack/rule-svg-icon.js +1 -0
- package/dist/rules/rule-utils.d.ts +19 -0
- package/dist/rules/rule-utils.js +1 -0
- package/dist/rules/wepack/index.d.ts +5 -0
- package/dist/rules/wepack/index.js +1 -0
- package/dist/{create-webpack/rule-sets → rules/wepack}/rule-assets.d.ts +1 -1
- package/dist/rules/wepack/rule-assets.js +1 -0
- package/dist/{create-webpack/rule-sets → rules/wepack}/rule-css.d.ts +1 -1
- package/dist/rules/wepack/rule-css.js +1 -0
- package/dist/{create-webpack/rule-sets → rules/wepack}/rule-less.d.ts +1 -1
- package/dist/rules/wepack/rule-less.js +1 -0
- package/dist/{create-webpack/rule-sets → rules/wepack}/rule-scripts.d.ts +1 -1
- package/dist/rules/wepack/rule-scripts.js +1 -0
- package/dist/{create-webpack/rule-sets → rules/wepack}/rule-svg-icon.d.ts +1 -1
- package/dist/rules/wepack/rule-svg-icon.js +1 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.js +1 -1
- package/dist/types/types-build.d.ts +4 -0
- package/dist/types/types-cli-options.d.ts +5 -0
- package/dist/types/types-dev-server.d.ts +23 -0
- package/dist/types/types-options.d.ts +5 -0
- package/dist/types/types-webpack.d.ts +42 -3
- package/package.json +21 -9
- package/dist/create-webpack/create-optimization.js +0 -1
- package/dist/create-webpack/create-output.js +0 -1
- package/dist/create-webpack/create-plugins.d.ts +0 -5
- package/dist/create-webpack/create-plugins.js +0 -1
- package/dist/create-webpack/create-rule-sets.js +0 -1
- package/dist/create-webpack/load-watch-options.js +0 -1
- package/dist/create-webpack/load-webpack-config.js +0 -1
- package/dist/create-webpack/rule-sets/rule-assets.js +0 -1
- package/dist/create-webpack/rule-sets/rule-css.js +0 -1
- package/dist/create-webpack/rule-sets/rule-less.js +0 -1
- package/dist/create-webpack/rule-sets/rule-scripts.js +0 -1
- package/dist/create-webpack/rule-sets/rule-svg-icon.js +0 -1
- package/dist/create-webpack/rule-sets/rule-utils.d.ts +0 -7
- package/dist/create-webpack/rule-sets/rule-utils.js +0 -1
- package/dist/create-webpack/types.d.ts +0 -2
- package/dist/dev-server/add-compiler-to-dev-server.js +0 -1
- package/dist/dev-server/create-dev-server-compiler-task.d.ts +0 -3
- package/dist/dev-server/create-dev-server-compiler-task.js +0 -1
- package/dist/dev-server/middlewares/types.d.ts +0 -24
- package/dist/dev-server/middlewares/types.js +0 -1
- package/dist/main/start-group-entry-build.d.ts +0 -15
- package/dist/main/start-group-entry-build.js +0 -1
- package/dist/minimizer/create-minimizers.d.ts +0 -3
- package/dist/minimizer/create-minimizers.js +0 -1
- package/dist/minimizer/image-minimizer.js +0 -1
- package/dist/minimizer/terser-minimizer.d.ts +0 -6
- package/dist/plugins/circular-dependency/circular-dependency-plugin.js +0 -1
- package/dist/plugins/circular-dependency/index.d.ts +0 -7
- package/dist/plugins/circular-dependency/index.js +0 -1
- package/dist/plugins/clean-webpack/clean-webpack-plugin.js +0 -1
- package/dist/plugins/clean-webpack/index.d.ts +0 -9
- package/dist/plugins/clean-webpack/index.js +0 -1
- package/dist/plugins/define-variable/define-variable-plugin.js +0 -1
- package/dist/plugins/define-variable/index.d.ts +0 -1
- package/dist/plugins/define-variable/index.js +0 -1
- package/dist/plugins/html-inject-scripts/plugin-html-inject-script.js +0 -1
- package/dist/plugins/module-federation/external-template-remotes.js +0 -1
- package/dist/plugins/module-federation/index.d.ts +0 -1
- package/dist/plugins/module-federation/index.js +0 -1
- package/dist/plugins/module-federation/module-federation.d.ts +0 -4
- package/dist/plugins/module-federation/module-federation.js +0 -1
- package/dist/plugins/multi-html/index.d.ts +0 -4
- package/dist/plugins/multi-html/index.js +0 -1
- package/dist/plugins/multi-html/multi-html-cdn-plugin.js +0 -1
- package/dist/plugins/multi-html/multi-html-modify-plugin.js +0 -1
- package/dist/plugins/multi-html/multi-html-plugin.d.ts +0 -11
- package/dist/plugins/multi-html/multi-html-plugin.js +0 -1
- package/dist/plugins/stats-webpack/index.d.ts +0 -12
- package/dist/plugins/stats-webpack/index.js +0 -1
- package/dist/plugins/stats-webpack/stats-webpack-plugin.js +0 -1
- /package/dist/{create-webpack → core/rspack}/create-externals.js +0 -0
- /package/dist/{create-webpack → core/rspack}/create-performance.js +0 -0
- /package/dist/{create-webpack → core/webpack}/create-resolve.js +0 -0
- /package/dist/{create-webpack → helpers}/resolve-public-path.d.ts +0 -0
- /package/dist/{create-webpack → helpers}/resolve-public-path.js +0 -0
- /package/dist/plugins/{clean-webpack → webpack/clean-webpack}/clean-webpack-plugin.d.ts +0 -0
- /package/dist/plugins/{stats-webpack → webpack/stats-webpack}/helper-write-stats.d.ts +0 -0
- /package/dist/plugins/{stats-webpack → webpack/stats-webpack}/helper-write-stats.js +0 -0
- /package/dist/plugins/{stats-webpack → webpack/stats-webpack}/stats-webpack-plugin.d.ts +0 -0
- /package/dist/{create-webpack/rule-sets → rules}/constants.d.ts +0 -0
- /package/dist/{create-webpack/rule-sets → rules}/constants.js +0 -0
- /package/dist/{create-webpack/types.js → types/types-build.js} +0 -0
@@ -1,5 +1,5 @@
|
|
1
1
|
import type { ConfigLoaderOptions } from '../load-config/types.js';
|
2
|
-
import type { EvolveBuildResult } from '../
|
2
|
+
import type { EvolveBuildResult } from '../types/types-build.js';
|
3
3
|
import type { EvolveEntryMap } from '../types/types-entry-map.js';
|
4
4
|
import type { FlatEvolveOptions } from '../types/types-options.js';
|
5
5
|
/**
|
@@ -1 +1 @@
|
|
1
|
-
import webpack from"webpack";import{ensureSlash,mergeOptions}from"@flatjs/common";import{ignoreEntryOptionKeys}from"../constants.js";import{loadWebpackConfig}from"../
|
1
|
+
import webpack from"webpack";import{ensureSlash,mergeOptions}from"@flatjs/common";import{ignoreEntryOptionKeys}from"../constants.js";import{loadWebpackConfig}from"../core/webpack/load-webpack-config.js";import{EvolveBuildError}from"../errors/evolve-build-error.js";import{assertSingleWebpackCompiler}from"../helpers/assert-single-compiler.js";import{printCompilerError}from"../helpers/print-log.js";import{verifyGroupEntryOptions}from"../helpers/verify-group-entry-options.js";export const createBuildServerCompiler=async(r,o,e)=>{const t=Object.values(r)[0];if(!verifyGroupEntryOptions(r,ignoreEntryOptionKeys,!0))throw new Error("The entry options in a group must be the same.");const i=o.multiHtmlCdn?.prod||[];if(!i.length)throw new Error(`No CDN config for env:"prod", groupName: ${t.groupName}`);const n=ensureSlash(i[Math.floor(Math.random()*i.length)],!0);try{const i=t.options?.useRelativeAssetPath,p=mergeOptions(o,{webpack:{publicPath:i?"auto":n}}),s=await loadWebpackConfig("production",r,p,e),a=assertSingleWebpackCompiler(r,s,p,!1);return webpack(a)}catch(r){const o=printCompilerError(r);throw new EvolveBuildError("BUILD_ERROR",o)}};
|
package/dist/constants.d.ts
CHANGED
@@ -31,3 +31,10 @@ export declare const ignoreEntryOptionKeys: Array<keyof EvolveEntryItemOption>;
|
|
31
31
|
* The directory where the webpack stats files are stored. relative to projectCwd
|
32
32
|
*/
|
33
33
|
export declare const webpackStatsDir = ".cache/stats";
|
34
|
+
/**
|
35
|
+
* The spinner frames used for build progress indicator
|
36
|
+
* Different frames for Windows and Unix-like systems
|
37
|
+
* Windows: simple ASCII characters
|
38
|
+
* Unix: Braille patterns for smoother animation
|
39
|
+
*/
|
40
|
+
export declare const buildProgressSpinnerFrames: string[];
|
package/dist/constants.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
export const moduleName="@flatjs/evolve";export const configFileName="flatjs-evolve";export const viewportScripts='(function(d){var j;var b=1;var i=1;var h=750;var c=100;function e(s,o){var q=d.document;var l=q.documentElement;var k=navigator.userAgent;var m=k.toLowerCase().indexOf("android")>-1;i=d.devicePixelRatio||1;if(i>3){i=3}if(m){i=1}console.log("current devicePixelRatio:",i);l.setAttribute("data-dpr",i.toString());var p=q.querySelector(\'meta[name="viewport"]\');if(!p){b=1/i;p=q.createElement("meta");p.setAttribute("name","viewport");q.head.appendChild(p);p.setAttribute(["content","width=device-width,user-scalable=no,initial-scale=",b,",maximum-scale=",b,",minimum-scale=",b].join(""))}function n(){var t=document.documentElement.clientWidth;j=t/o*(s/i)*i;q.documentElement.style.fontSize=String(j)+"px"}var r;d.addEventListener("resize",function(){clearTimeout(r);r=setTimeout(n,300)},false);d.addEventListener("onload",n,false);n()}e(c,h);window.fabricViewport={currRem:j,currDpr:i,currScale:b,dpiPX2px:function f(k){return parseFloat(k.toString())/j*100+"px"},px2DPIpx:function a(k){return parseFloat(k.toString())/100*j+"px"},px2rem:function g(k){return parseFloat(k.toString())/100+"rem"}}})(window);';export const polyfill=["https://polyfill.io/v3/polyfill.min.js?features=Array.from%2CArray.isArray%2CArray.of%2CArray.prototype.entries%2CArray.prototype.every%2CArray.prototype.fill%2CArray.prototype.filter%2CArray.prototype.find%2CArray.prototype.findIndex%2CArray.prototype.flat%2CArray.prototype.forEach%2CArray.prototype.flatMap%2CArray.prototype.keys%2CArray.prototype.indexOf%2CArray.prototype.includes%2CArray.prototype.lastIndexOf%2CArray.prototype.map%2CArray.prototype.reduce%2CArray.prototype.reduceRight%2CArray.prototype.some%2CArray.prototype.sort%2CArray.prototype.values%2CArrayBuffer%2CBlob%2CDataView%2CDate.now%2CObject.assign%2CObject.create%2CObject.defineProperties%2CObject.defineProperty%2CObject.entries%2CObject.freeze%2CObject.fromEntries%2CObject.getOwnPropertySymbols%2CObject.getOwnPropertyNames%2CObject.getOwnPropertyDescriptors%2CObject.getOwnPropertyDescriptor%2CObject.getPrototypeOf%2CObject.is%2CObject.isExtensible%2CObject.isFrozen%2CObject.isSealed%2CObject.keys%2CObject.values%2CObject.setPrototypeOf%2CPromise%2CPromise.prototype.finally%2CReflect%2CReflect.apply%2CReflect.construct%2CReflect.defineProperty%2CReflect.deleteProperty%2CReflect.getPrototypeOf%2CReflect.getOwnPropertyDescriptor%2CReflect.get%2CReflect.ownKeys%2CReflect.isExtensible%2CReflect.has%2CReflect.preventExtensions%2CReflect.set%2CReflect.setPrototypeOf%2CSet%2CString.prototype.trimStart%2CString.prototype.trimEnd%2CString.prototype.trim%2CString.prototype.startsWith%2CString.prototype.repeat%2CString.prototype.replaceAll%2CString.prototype.padStart%2CString.prototype.padEnd%2CMap%2CObject.seal%2Cconsole.groupEnd%2Cconsole.group"];export const devReactFastRefresh={runtime:"reactRefreshRuntime",reactRefreshSetup:"reactRefreshSetup"};export const ignoreEntryOptionKeys=["title"];export const webpackStatsDir=".cache/stats";
|
1
|
+
import process from"node:process";export const moduleName="@flatjs/evolve";export const configFileName="flatjs-evolve";export const viewportScripts='(function(d){var j;var b=1;var i=1;var h=750;var c=100;function e(s,o){var q=d.document;var l=q.documentElement;var k=navigator.userAgent;var m=k.toLowerCase().indexOf("android")>-1;i=d.devicePixelRatio||1;if(i>3){i=3}if(m){i=1}console.log("current devicePixelRatio:",i);l.setAttribute("data-dpr",i.toString());var p=q.querySelector(\'meta[name="viewport"]\');if(!p){b=1/i;p=q.createElement("meta");p.setAttribute("name","viewport");q.head.appendChild(p);p.setAttribute(["content","width=device-width,user-scalable=no,initial-scale=",b,",maximum-scale=",b,",minimum-scale=",b].join(""))}function n(){var t=document.documentElement.clientWidth;j=t/o*(s/i)*i;q.documentElement.style.fontSize=String(j)+"px"}var r;d.addEventListener("resize",function(){clearTimeout(r);r=setTimeout(n,300)},false);d.addEventListener("onload",n,false);n()}e(c,h);window.fabricViewport={currRem:j,currDpr:i,currScale:b,dpiPX2px:function f(k){return parseFloat(k.toString())/j*100+"px"},px2DPIpx:function a(k){return parseFloat(k.toString())/100*j+"px"},px2rem:function g(k){return parseFloat(k.toString())/100+"rem"}}})(window);';export const polyfill=["https://polyfill.io/v3/polyfill.min.js?features=Array.from%2CArray.isArray%2CArray.of%2CArray.prototype.entries%2CArray.prototype.every%2CArray.prototype.fill%2CArray.prototype.filter%2CArray.prototype.find%2CArray.prototype.findIndex%2CArray.prototype.flat%2CArray.prototype.forEach%2CArray.prototype.flatMap%2CArray.prototype.keys%2CArray.prototype.indexOf%2CArray.prototype.includes%2CArray.prototype.lastIndexOf%2CArray.prototype.map%2CArray.prototype.reduce%2CArray.prototype.reduceRight%2CArray.prototype.some%2CArray.prototype.sort%2CArray.prototype.values%2CArrayBuffer%2CBlob%2CDataView%2CDate.now%2CObject.assign%2CObject.create%2CObject.defineProperties%2CObject.defineProperty%2CObject.entries%2CObject.freeze%2CObject.fromEntries%2CObject.getOwnPropertySymbols%2CObject.getOwnPropertyNames%2CObject.getOwnPropertyDescriptors%2CObject.getOwnPropertyDescriptor%2CObject.getPrototypeOf%2CObject.is%2CObject.isExtensible%2CObject.isFrozen%2CObject.isSealed%2CObject.keys%2CObject.values%2CObject.setPrototypeOf%2CPromise%2CPromise.prototype.finally%2CReflect%2CReflect.apply%2CReflect.construct%2CReflect.defineProperty%2CReflect.deleteProperty%2CReflect.getPrototypeOf%2CReflect.getOwnPropertyDescriptor%2CReflect.get%2CReflect.ownKeys%2CReflect.isExtensible%2CReflect.has%2CReflect.preventExtensions%2CReflect.set%2CReflect.setPrototypeOf%2CSet%2CString.prototype.trimStart%2CString.prototype.trimEnd%2CString.prototype.trim%2CString.prototype.startsWith%2CString.prototype.repeat%2CString.prototype.replaceAll%2CString.prototype.padStart%2CString.prototype.padEnd%2CMap%2CObject.seal%2Cconsole.groupEnd%2Cconsole.group"];export const devReactFastRefresh={runtime:"reactRefreshRuntime",reactRefreshSetup:"reactRefreshSetup"};export const ignoreEntryOptionKeys=["title"];export const webpackStatsDir=".cache/stats";export const buildProgressSpinnerFrames="win32"===process.platform?["-","\\","|","/"]:["⠋","⠙","⠹","⠸","⠼","⠴","⠦","⠧","⠇","⠏"];
|
@@ -0,0 +1,4 @@
|
|
1
|
+
import type { RspackOptions } from '@rspack/core';
|
2
|
+
import { type EntryMapItem } from '../../types/types-entry-map.js';
|
3
|
+
import { type FlatEvolveWebpackOptions } from '../../types/types-webpack.js';
|
4
|
+
export declare const createExternals: (externals?: FlatEvolveWebpackOptions["externals"], entryItem?: EntryMapItem) => RspackOptions["externals"];
|
@@ -0,0 +1,4 @@
|
|
1
|
+
import type { RspackOptions } from '@rspack/core';
|
2
|
+
import { type EntryMapItem } from '../../types/types-entry-map.js';
|
3
|
+
import { type FlatEvolveOptions } from '../../types/types-options.js';
|
4
|
+
export declare const createOptimization: (serveMode: boolean, evolveOptions: FlatEvolveOptions, entryMapItem: EntryMapItem) => RspackOptions["optimization"];
|
@@ -0,0 +1 @@
|
|
1
|
+
import{posix}from"node:path";import{devReactFastRefresh}from"../../constants.js";import{shouldEnableReactFastRefresh}from"../../helpers/should-enable-react-fast-refresh.js";import{createRspackMinimizers}from"../../minimizer/index.js";export const createOptimization=(e,i,n)=>({nodeEnv:e?"development":"production",chunkIds:"named",moduleIds:"named",runtimeChunk:!!shouldEnableReactFastRefresh(e,n,i)&&{name:e=>posix.join(e.name,devReactFastRefresh.runtime)},minimize:!1!==i.webpack?.minimizer&&!e,minimizer:createRspackMinimizers(e,i.webpack),splitChunks:{name:!1,chunks:"all",minSize:25e5,cacheGroups:{default:!1,defaultVendors:!1}}});
|
@@ -0,0 +1,5 @@
|
|
1
|
+
import { type Plugin as RspackPlugin } from '@rspack/core';
|
2
|
+
import type { FlatCliOptions } from '../../types/types-cli-options.js';
|
3
|
+
import { type EntryMapItem } from '../../types/types-entry-map.js';
|
4
|
+
import { type FlatEvolveOptions } from '../../types/types-options.js';
|
5
|
+
export declare const createRspackPlugins: (serveMode: boolean, entryMapItemList: EntryMapItem[], evolveOptions: FlatEvolveOptions, cliOptions?: FlatCliOptions) => Promise<RspackPlugin[]>;
|
@@ -0,0 +1 @@
|
|
1
|
+
import CaseSensitivePathsPlugin from"case-sensitive-paths-webpack-plugin";import{logger}from"@flatjs/common";import{RsdoctorRspackPlugin}from"@rsdoctor/rspack-plugin";import rspack,{CssExtractRspackPlugin}from"@rspack/core";import ReactRefreshPlugin from"@rspack/plugin-react-refresh";import{enableBundleHashNameForModule}from"../../helpers/enable-bundle-hashname-for-module.js";import{getBundleFileName}from"../../helpers/get-bundle-file-name.js";import{shouldEnableReactFastRefresh}from"../../helpers/should-enable-react-fast-refresh.js";import{createBuiltinDefineVariablesRspackPlugins}from"../../plugins/rspack/define-variable/index.js";import{createModuleFederationRspackPlugins}from"../../plugins/rspack/module-federation/index.js";import{createHtmlRspackPlugins}from"../../plugins/rspack/multi-html/index.js";import{createProgressRspackPlugins}from"../../plugins/rspack/progress-plugin/index.js";import{createCircularDependencyWebpackPlugins}from"../../plugins/webpack/circular-dependency/index.js";import{createCleanWebpackPlugins}from"../../plugins/webpack/clean-webpack/index.js";import{createStatsWebpackPlugins}from"../../plugins/webpack/stats-webpack/index.js";export const createRspackPlugins=async(e,s,a,r)=>{const n=s[0],[i,l]=n,c=enableBundleHashNameForModule(a,l?.options),t=[...createProgressRspackPlugins(s),new rspack.IgnorePlugin({resourceRegExp:/\.d\.[cm]ts$/}),new CaseSensitivePathsPlugin,...createCircularDependencyWebpackPlugins(e,a),new CssExtractRspackPlugin({filename:`[name]/${getBundleFileName("css",e,c)}`,chunkFilename:c?"[id].[contenthash].css":"[id].css"}),...await createBuiltinDefineVariablesRspackPlugins(e,a),...createCleanWebpackPlugins(e,s,a),...createModuleFederationRspackPlugins(e,s,a),...createHtmlRspackPlugins(e,s,a),...createStatsWebpackPlugins(e,a,r)],o=shouldEnableReactFastRefresh(e,n,a);o&&t.push(new ReactRefreshPlugin({overlay:!1,exclude:[/node_modules/]})),!o&&e&&(a.devServer?.liveReload?logger.warn('The HMR disabled cause of "liveReload" specificed'):logger.warn(`The HMR disabled cause of \`"moduleFederation":"${i}"\``)),a.openRsdoctor&&t.push(new RsdoctorRspackPlugin);const p=a.webpack?.plugins||[];return t.concat(p)};
|
@@ -0,0 +1 @@
|
|
1
|
+
import{join}from"node:path";import{mergeOptions}from"@flatjs/common";export const createRspackResolve=(s,o)=>{const t={mainFields:["browser","module","main"],extensions:[".ts",".tsx",".js",".jsx",".mjs",".cjs",".mts",".cts",".json"],extensionAlias:{".js":[".js",".ts"],".cjs":[".cjs",".cts"],".mjs":[".mjs",".mts"],".jsx":[".jsx",".tsx"]},tsConfig:{configFile:join(s,"tsconfig.json")}};return mergeOptions(t,o?.resolve||{})};
|
@@ -0,0 +1,4 @@
|
|
1
|
+
import type { Output } from '@rspack/core';
|
2
|
+
import { type EntryMapItem } from '../../types/types-entry-map.js';
|
3
|
+
import { type FlatEvolveOptions } from '../../types/types-options.js';
|
4
|
+
export declare const createRspackOutput: (serveMode: boolean, evolveOptions: FlatEvolveOptions, entryItem: EntryMapItem) => Promise<Output>;
|
@@ -0,0 +1 @@
|
|
1
|
+
import{join}from"node:path";import{enableBundleHashNameForModule}from"../../helpers/enable-bundle-hashname-for-module.js";import{getBundleFileName}from"../../helpers/get-bundle-file-name.js";import{resolvePublicPath}from"../../helpers/resolve-public-path.js";export const createRspackOutput=async(e,o,t)=>{const{projectCwd:a,webpack:n}=o,l=t[1],i=enableBundleHashNameForModule(o,l?.options),p=resolvePublicPath(o),u="function"==typeof n?.outputDir?await n.outputDir():n?.outputDir||"public";return{devtoolModuleFilenameTemplate:({namespace:e,resourcePath:o})=>`webpack:///${join(e,o)}`,environment:{},pathinfo:!1,path:join(a,u),publicPath:p,filename:`[name]/${getBundleFileName("js",e,i)}`,chunkFilename:i?"[id].[contenthash].js":"[id].js",...l.options?.output}};
|
@@ -0,0 +1,4 @@
|
|
1
|
+
import type { RuleSetRule } from '@rspack/core';
|
2
|
+
import { type EntryMapItem } from '../../types/types-entry-map.js';
|
3
|
+
import { type FlatEvolveOptions } from '../../types/types-options.js';
|
4
|
+
export declare const createRspackRuleSets: (serveMode: boolean, entryMapItemList: EntryMapItem[], evolveOptions: FlatEvolveOptions) => RuleSetRule[];
|
@@ -0,0 +1 @@
|
|
1
|
+
import{rspackRuleAssets,rspackRuleCss,rspackRuleLess,rspackRuleScripts,rspackRuleSvgIcon}from"../../rules/index.js";export const createRspackRuleSets=(s,e,c)=>{const r=e[0],p=[rspackRuleSvgIcon(),rspackRuleAssets(e,c),rspackRuleCss(s,r,c,!1),rspackRuleCss(s,r,c,!0),rspackRuleLess(s,r,c),rspackRuleScripts(s,r,c)],a=c.webpack?.ruleSets||[];return p.concat(a)};
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import type { Compiler } from '@rspack/core';
|
2
|
+
import { type FlatEvolveOptions } from '../../../types/types-options.js';
|
3
|
+
/**
|
4
|
+
* Integrated rspack-dev-server with `mock` server together
|
5
|
+
* @param compiler Rspack compiler(s)
|
6
|
+
* @param enabledHmr Value indicates if we need to liveReload or `HMR`
|
7
|
+
* @param devPort The port number of `@flatjs/mock`
|
8
|
+
* @param publicIp The public ip address of local server
|
9
|
+
* @param evolveOptions The configuration of `@flatjs/evolve` (FlatEvolveOptions)
|
10
|
+
*/
|
11
|
+
export declare const addRspackCompilerToDevServer: (compiler: Compiler, enabledHmr: boolean, devPort: number, publicIp: string, evolveOptions: FlatEvolveOptions) => Promise<boolean>;
|
@@ -0,0 +1 @@
|
|
1
|
+
import{join}from"node:path";import{RspackDevServer}from"@rspack/dev-server";export const addRspackCompilerToDevServer=(e,r,t,o,s)=>{const{projectCwd:d,devServer:a}=s,l=new RspackDevServer({server:{type:a?.https?"https":"http",options:{...a?.https}},open:!1,compress:!0,port:t,hot:r,liveReload:!r,allowedHosts:"all",static:{directory:`${join(d,"/public")}`},headers:{"Access-Control-Allow-Origin":"*"},setupMiddlewares:e=>(a?.devBeforeMiddlewares&&e.unshift(...a.devBeforeMiddlewares),a?.devAfterMiddlewares&&e.push(...a.devAfterMiddlewares),e),client:{progress:!0,overlay:a?.clientOverlay,webSocketURL:"localIp"===a?.webSocketURL?{hostname:o||void 0}:{hostname:"0.0.0.0",...a?.webSocketURL}}},e);return new Promise(((e,r)=>{l.startCallback((t=>{if(t)return r(t);e(!0)}))}))};
|
@@ -0,0 +1,3 @@
|
|
1
|
+
import type { EvolveDevServerEntryMap } from '../../../types/types-dev-server.js';
|
2
|
+
import { type FlatEvolveOptions } from '../../../types/types-options.js';
|
3
|
+
export declare const createRspackCompilerTask: (publicIp: string, servedDevServerEntries: EvolveDevServerEntryMap, servedDevServerEntryList: Array<EvolveDevServerEntryMap>, evolveOptions: FlatEvolveOptions) => Promise<boolean>;
|
@@ -0,0 +1 @@
|
|
1
|
+
import{relative}from"node:path";import{chalk,logger,mergeOptions,urlJoin}from"@flatjs/common";import{rspack}from"@rspack/core";import{assertSingleRspackCompiler}from"../../../helpers/assert-single-compiler.js";import{flatEntryMap}from"../../../helpers/flat-entry-map.js";import{shouldEnableReactFastRefresh}from"../../../helpers/should-enable-react-fast-refresh.js";import{loadRspackConfig}from"../load-rspack-config.js";import{addRspackCompilerToDevServer}from"./add-rspack-compiler-to-dev-server.js";export const createRspackCompilerTask=async(e,r,o,t)=>{const{projectCwd:a}=t,[s,n]=Object.entries(r)[0],{devServerPort:i,devServerHostUri:p}=n;for(const[,e]of Object.entries(r)){const r=e.entryConfig,t=r.options?.moduleFederation,a=t?.remotes||[],s=flatEntryMap(o);a.forEach((e=>{e.endpoint=e=>{const r=s[e];if(!r)throw new Error(`No servedDevServerEntry found via "${e}"`);return urlJoin(r?.devServerHostUri,["/public"])}}))}const c=Object.keys(r).reduce(((e,o)=>(e[o]=r[o].entryConfig,e)),{}),l=urlJoin(p,["public"]),m=await loadRspackConfig("development",c,mergeOptions(t,{webpack:{publicPath:l}})),f=shouldEnableReactFastRefresh(!0,[s,n.entryConfig],t),d=assertSingleRspackCompiler(c,m,t,f),v=rspack(d),h=addRspackCompilerToDevServer(v,f,i,e,t),k=v.name||"";return v.hooks.invalid.tap("fileChange",(e=>{const r=relative(a,e||"");logger.info(`file change ➩ ${chalk(["cyan"])(r||"")}`,k)})),h};
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import type { RspackOptions } from '@rspack/core';
|
2
|
+
import type { FlatCliOptions } from '../../types/types-cli-options.js';
|
3
|
+
import { type EvolveEntryMap } from '../../types/types-entry-map.js';
|
4
|
+
import { type FlatEvolveOptions } from '../../types/types-options.js';
|
5
|
+
/**
|
6
|
+
* Try to organization the configuraiton object of `rspack`
|
7
|
+
* @param mode Enable production optimizations or development hints.
|
8
|
+
* @param entryMap The only single one `servedEntry` or `toBuildEntry`
|
9
|
+
* @param overrideOptions The manually override configuration options for flatjsEvolve
|
10
|
+
*/
|
11
|
+
export declare const loadRspackConfig: (mode: "production" | "development", entryMap: EvolveEntryMap, evolveOptions: FlatEvolveOptions, cliOptions?: FlatCliOptions) => Promise<Omit<RspackOptions, "entry">>;
|
@@ -0,0 +1 @@
|
|
1
|
+
import{assertGroupEntryItem}from"../../helpers/assert-group-entry-item.js";import{createExternals}from"./create-externals.js";import{createOptimization}from"./create-optimization.js";import{createPerformance}from"./create-performance.js";import{createRspackPlugins}from"./create-plugins.js";import{createRspackResolve}from"./create-resolve.js";import{createRspackOutput}from"./create-rspack-output.js";import{createRspackRuleSets}from"./create-rspack-rule-sets.js";import{loadRspackWatchOptions}from"./load-rspack-watch-options.js";export const loadRspackConfig=async(e,t,r,a)=>{const s="development"===e,{projectCwd:o,webpack:c,devServer:p}=r,n=loadRspackWatchOptions(t,r,p?.watchOptions),i=assertGroupEntryItem(t,r),m=createRspackRuleSets(s,i,r),l=await createRspackPlugins(s,i,r,a),u=i[0];return{mode:e,plugins:l,watchOptions:n,output:await createRspackOutput(s,r,u),context:o,target:c?.target??["web","es5"],resolve:createRspackResolve(o,c),module:{rules:m},devtool:s?"eval-source-map":c?.sourceMap||!1,externalsType:c?.externalsType,externals:createExternals(c?.externals,u),performance:createPerformance(s,c?.performance),optimization:createOptimization(s,r,u),infrastructureLogging:c?.infrastructureLogging??{level:"warn"},stats:c?.stats??{preset:"errors-warnings"},cache:!0}};
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import { type FlatEvolveDevServerOptions } from '../../types/types-dev-server.js';
|
2
|
+
import type { EvolveEntryMap } from '../../types/types-entry-map.js';
|
3
|
+
import { type FlatEvolveOptions } from '../../types/types-options.js';
|
4
|
+
/**
|
5
|
+
* Loads the watch options for rspack configuration.
|
6
|
+
*
|
7
|
+
* @param groupEntryMap - The map of entry.
|
8
|
+
* @param evolveOptions - The options for the evolve process.
|
9
|
+
* @param originalOptions - The original watch options to be merged with.
|
10
|
+
* @returns The updated watch options for rspack configuration.
|
11
|
+
*/
|
12
|
+
export declare const loadRspackWatchOptions: (groupEntryMap: EvolveEntryMap, evolveOptions: FlatEvolveOptions, originalOptions?: FlatEvolveDevServerOptions["watchOptions"]) => FlatEvolveDevServerOptions["watchOptions"];
|
@@ -0,0 +1 @@
|
|
1
|
+
import fg from"fast-glob";import{existsSync}from"node:fs";import{posix}from"node:path";import{logger}from"@flatjs/common";import{normalizeEntryModuleAbsolutePath}from"../../helpers/normalize-entry-module-absolute-path.js";export const loadRspackWatchOptions=(o,t,e={})=>{const{ignored:r=[]}=e,{entryMap:n}=t,s=normalizeEntryModuleAbsolutePath(t,o),a=normalizeEntryModuleAbsolutePath(t,n);for(const o of a){existsSync(o)||logger.warn(`The module path does not exist. Check ${o}`);s.findIndex((t=>t===o))<0&&r.push(posix.join("**",fg.convertPathToPattern(o),"**/*"))}return{...e,ignored:r}};
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import type { EvolveBuildResult } from '../../types/types-build.js';
|
2
|
+
import type { FlatCliOptions } from '../../types/types-cli-options.js';
|
3
|
+
import { type EvolveEntryMap } from '../../types/types-entry-map.js';
|
4
|
+
import { type FlatEvolveOptions } from '../../types/types-options.js';
|
5
|
+
/**
|
6
|
+
* Starts the build process for a group of entry files.
|
7
|
+
*
|
8
|
+
* @param groupBuildEntry - The map of entry files to be built.
|
9
|
+
* @param evolveOptions - The options for the build process.
|
10
|
+
* @returns A promise that resolves to the build result.
|
11
|
+
*/
|
12
|
+
export declare const startRspackBuild: (groupBuildEntry: EvolveEntryMap, evolveOptions: FlatEvolveOptions, cliOptions?: FlatCliOptions) => Promise<EvolveBuildResult>;
|
@@ -0,0 +1 @@
|
|
1
|
+
import{rspack}from"@rspack/core";import{assertSingleRspackCompiler}from"../../helpers/assert-single-compiler.js";import{normalizeEvolveEntryName}from"../../helpers/normalize-entry-map.js";import{loadRspackConfig}from"./load-rspack-config.js";export const startRspackBuild=async(r,e,n)=>{const s=await loadRspackConfig("production",r,e,n),o=assertSingleRspackCompiler(r,s,e,!1);return new Promise(((n,s)=>{rspack(o,((o,a)=>{if(o)return s(o);const t=a?.toJson();if(t?.errors?.length)return s(t.errors);if(e.rejectWarnings&&t?.warnings?.length)return s(t.warnings);const{projectVirtualPath:i}=e,p=Object.keys(r).map((r=>normalizeEvolveEntryName(r,i)));n({name:p,warningStats:t?.warnings})}))}))};
|
@@ -1,4 +1,4 @@
|
|
1
1
|
import { type Configuration } from 'webpack';
|
2
|
-
import { type EntryMapItem } from '
|
3
|
-
import { type FlatEvolveWebpackOptions } from '
|
2
|
+
import { type EntryMapItem } from '../../types/types-entry-map.js';
|
3
|
+
import { type FlatEvolveWebpackOptions } from '../../types/types-webpack.js';
|
4
4
|
export declare const createExternals: (externals?: FlatEvolveWebpackOptions["externals"], entryItem?: EntryMapItem) => Configuration["externals"];
|
@@ -0,0 +1 @@
|
|
1
|
+
import{mergeOptions}from"@flatjs/common";export const createExternals=(t={},e)=>{let o=t;"function"==typeof t&&(o=t());const n=e?.[1];return mergeOptions(o,n?.options?.externals||{})};
|
@@ -1,4 +1,4 @@
|
|
1
1
|
import { type Configuration } from 'webpack';
|
2
|
-
import { type EntryMapItem } from '
|
3
|
-
import { type FlatEvolveOptions } from '
|
2
|
+
import { type EntryMapItem } from '../../types/types-entry-map.js';
|
3
|
+
import { type FlatEvolveOptions } from '../../types/types-options.js';
|
4
4
|
export declare const createOptimization: (serveMode: boolean, evolveOptions: FlatEvolveOptions, entryMapItem: EntryMapItem) => Configuration["optimization"];
|
@@ -0,0 +1 @@
|
|
1
|
+
import{posix}from"node:path";import{devReactFastRefresh}from"../../constants.js";import{shouldEnableReactFastRefresh}from"../../helpers/should-enable-react-fast-refresh.js";import{createWebpackMinimizers}from"../../minimizer/index.js";export const createOptimization=(e,i,n)=>({nodeEnv:e?"development":"production",chunkIds:"named",moduleIds:"named",runtimeChunk:!!shouldEnableReactFastRefresh(e,n,i)&&{name:e=>posix.join(e.name,devReactFastRefresh.runtime)},minimize:!1!==i.webpack?.minimizer&&!e,minimizer:createWebpackMinimizers(e,i.webpack),splitChunks:{name:!1,chunks:"all",minSize:25e5,cacheGroups:{default:!1,defaultVendors:!1}}});
|
@@ -1,4 +1,4 @@
|
|
1
1
|
import { type Configuration } from 'webpack';
|
2
|
-
import { type EntryMapItem } from '
|
3
|
-
import { type FlatEvolveOptions } from '
|
2
|
+
import { type EntryMapItem } from '../../types/types-entry-map.js';
|
3
|
+
import { type FlatEvolveOptions } from '../../types/types-options.js';
|
4
4
|
export declare const createOutput: (serveMode: boolean, evolveOptions: FlatEvolveOptions, entryItem: EntryMapItem) => Promise<Configuration["output"]>;
|
@@ -0,0 +1 @@
|
|
1
|
+
import{join}from"node:path";import{enableBundleHashNameForModule}from"../../helpers/enable-bundle-hashname-for-module.js";import{getBundleFileName}from"../../helpers/get-bundle-file-name.js";import{resolvePublicPath}from"../../helpers/resolve-public-path.js";export const createOutput=async(e,o,t)=>{const{projectCwd:n,webpack:a}=o,l=t[1],i=enableBundleHashNameForModule(o,l?.options),u=resolvePublicPath(o),p="function"==typeof a?.outputDir?await a.outputDir():a?.outputDir||"public";return{devtoolModuleFilenameTemplate:({namespace:e,resourcePath:o})=>`webpack:///${join(e,o)}`,environment:{},pathinfo:!1,path:join(n,p),publicPath:u,filename:`[name]/${getBundleFileName("js",e,i)}`,chunkFilename:i?"[id].[contenthash].js":"[id].js",...l.options?.output}};
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import { type FlatEvolveWebpackOptions } from '
|
1
|
+
import { type FlatEvolveWebpackOptions } from '../../types/types-webpack.js';
|
2
2
|
export declare const createPerformance: (serveMode: boolean, performanceOptions?: FlatEvolveWebpackOptions["performance"]) => FlatEvolveWebpackOptions["performance"];
|
@@ -0,0 +1 @@
|
|
1
|
+
export const createPerformance=(n,e={})=>{const r={hints:!n&&"warning"};return Object.assign(r,e)};
|
@@ -0,0 +1,5 @@
|
|
1
|
+
import type { FlatCliOptions } from '../../types/types-cli-options.js';
|
2
|
+
import { type EntryMapItem } from '../../types/types-entry-map.js';
|
3
|
+
import { type FlatEvolveOptions } from '../../types/types-options.js';
|
4
|
+
import { type FlatEvolveWebpackOptions } from '../../types/types-webpack.js';
|
5
|
+
export declare const createPlugins: (serveMode: boolean, entryMapItemList: EntryMapItem[], evolveOptions: FlatEvolveOptions, cliOptions?: FlatCliOptions) => Promise<FlatEvolveWebpackOptions["plugins"]>;
|
@@ -0,0 +1 @@
|
|
1
|
+
import CaseSensitivePathsPlugin from"case-sensitive-paths-webpack-plugin";import MiniCssExtractPlugin from"mini-css-extract-plugin";import webpack from"webpack";import{logger}from"@flatjs/common";import ReactRefreshWebpackPlugin from"@pmmmwh/react-refresh-webpack-plugin";import{enableBundleHashNameForModule}from"../../helpers/enable-bundle-hashname-for-module.js";import{getBundleFileName}from"../../helpers/get-bundle-file-name.js";import{shouldEnableReactFastRefresh}from"../../helpers/should-enable-react-fast-refresh.js";import{createCircularDependencyWebpackPlugins}from"../../plugins/webpack/circular-dependency/index.js";import{createCleanWebpackPlugins}from"../../plugins/webpack/clean-webpack/index.js";import{createBuiltinDefineVariablesWebpackPlugins}from"../../plugins/webpack/define-variable/index.js";import{createModuleFederationWebpackPlugins}from"../../plugins/webpack/module-federation/index.js";import{createHtmlWebpackPlugins}from"../../plugins/webpack/multi-html/index.js";import{createStatsWebpackPlugins}from"../../plugins/webpack/stats-webpack/index.js";export const createPlugins=async(e,a,i,n)=>{const s=a[0],[l,r]=s,t=enableBundleHashNameForModule(i,r?.options),c=[new webpack.WatchIgnorePlugin({paths:[/\.d\.[cm]ts$/]}),new CaseSensitivePathsPlugin,...createCircularDependencyWebpackPlugins(e,i),new MiniCssExtractPlugin({filename:`[name]/${getBundleFileName("css",e,t)}`,chunkFilename:t?"[id].[contenthash].css":"[id].css"}),...await createBuiltinDefineVariablesWebpackPlugins(e,i),...createCleanWebpackPlugins(e,a,i),...createModuleFederationWebpackPlugins(e,a,i),...createHtmlWebpackPlugins(e,a,i),...createStatsWebpackPlugins(e,i,n)],p=shouldEnableReactFastRefresh(e,s,i);p&&c.push(new ReactRefreshWebpackPlugin({overlay:!1})),!p&&e&&(i.devServer?.liveReload?logger.warn('The HMR disabled cause of "liveReload" specificed'):logger.warn(`The HMR disabled cause of \`"moduleFederation":"${l}"\``));const o=i.webpack?.plugins||[];return c.concat(o)};
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import { type FlatEvolveWebpackOptions } from '
|
1
|
+
import { type FlatEvolveWebpackOptions } from '../../types/types-webpack.js';
|
2
2
|
export declare const createResolve: (projectCwd: string, webpackOptions?: FlatEvolveWebpackOptions) => import("webpack").ResolveOptions;
|
@@ -1,4 +1,4 @@
|
|
1
1
|
import { type RuleSetRule } from 'webpack';
|
2
|
-
import { type EntryMapItem } from '
|
3
|
-
import { type FlatEvolveOptions } from '
|
2
|
+
import { type EntryMapItem } from '../../types/types-entry-map.js';
|
3
|
+
import { type FlatEvolveOptions } from '../../types/types-options.js';
|
4
4
|
export declare const createRuleSets: (serveMode: boolean, entryMapItemList: EntryMapItem[], evolveOptions: FlatEvolveOptions) => RuleSetRule[];
|
@@ -0,0 +1 @@
|
|
1
|
+
import{webpackRuleAssets,webpackRuleCss,webpackRuleLess,webpackRuleScripts,webpackRuleSvgIcon}from"../../rules/index.js";export const createRuleSets=(e,s,c)=>{const p=s[0],u=[webpackRuleSvgIcon(),webpackRuleAssets(s,c),webpackRuleCss(e,p,c,!1),webpackRuleCss(e,p,c,!0),webpackRuleLess(e,p,c),webpackRuleScripts(e,p,c)],a=c.webpack?.ruleSets||[];return u.concat(a)};
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { type Compiler } from 'webpack';
|
2
|
-
import { type FlatEvolveOptions } from '
|
2
|
+
import { type FlatEvolveOptions } from '../../../types/types-options.js';
|
3
3
|
/**
|
4
4
|
* Integrated webpack-dev-server with `mock` server together
|
5
5
|
* @param compiler Webpack compiler(s)
|
@@ -8,4 +8,4 @@ import { type FlatEvolveOptions } from '../types/types-options.js';
|
|
8
8
|
* @param publicIp The public ip address of local server
|
9
9
|
* @param evolveOptions The configuration of `@flatjs/evolve` (FlatEvolveOptions)
|
10
10
|
*/
|
11
|
-
export declare const
|
11
|
+
export declare const addWebpackCompilerToDevServer: (compiler: Compiler, enabledHmr: boolean, devPort: number, publicIp: string, evolveOptions: FlatEvolveOptions) => Promise<boolean>;
|
@@ -0,0 +1 @@
|
|
1
|
+
import{join}from"node:path";import WebpackDevServer from"webpack-dev-server";export const addWebpackCompilerToDevServer=(e,r,t,o,s)=>{const{projectCwd:d,devServer:a}=s,l=new WebpackDevServer({server:{type:a?.https?"https":"http",options:{...a?.https}},open:!1,compress:!0,port:t,hot:r,liveReload:!r,allowedHosts:"all",static:{directory:`${join(d,"/public")}`},headers:{"Access-Control-Allow-Origin":"*"},setupMiddlewares:e=>(a?.devBeforeMiddlewares&&e.unshift(...a.devBeforeMiddlewares),a?.devAfterMiddlewares&&e.push(...a.devAfterMiddlewares),e),client:{progress:!0,overlay:a?.clientOverlay,webSocketURL:"localIp"===a?.webSocketURL?{hostname:o||void 0}:{hostname:"0.0.0.0",...a?.webSocketURL}}},e);return new Promise(((e,r)=>{l.startCallback((t=>{if(t)return r(t);e(!0)}))}))};
|
@@ -0,0 +1,3 @@
|
|
1
|
+
import type { EvolveDevServerEntryMap } from '../../../types/types-dev-server.js';
|
2
|
+
import { type FlatEvolveOptions } from '../../../types/types-options.js';
|
3
|
+
export declare const createWebpackCompilerTask: (publicIp: string, servedDevServerEntries: EvolveDevServerEntryMap, servedDevServerEntryList: Array<EvolveDevServerEntryMap>, evolveOptions: FlatEvolveOptions) => Promise<boolean>;
|
@@ -0,0 +1 @@
|
|
1
|
+
import{relative}from"node:path";import webpack from"webpack";import{chalk,logger,mergeOptions,urlJoin}from"@flatjs/common";import{assertSingleWebpackCompiler}from"../../../helpers/assert-single-compiler.js";import{flatEntryMap}from"../../../helpers/flat-entry-map.js";import{shouldEnableReactFastRefresh}from"../../../helpers/should-enable-react-fast-refresh.js";import{loadWebpackConfig}from"../load-webpack-config.js";import{addWebpackCompilerToDevServer}from"./add-webpack-compiler-to-dev-server.js";export const createWebpackCompilerTask=async(e,r,o,t)=>{const{projectCwd:a}=t,[n,i]=Object.entries(r)[0],{devServerPort:p,devServerHostUri:s}=i;for(const[,e]of Object.entries(r)){const r=e.entryConfig,t=r.options?.moduleFederation,a=t?.remotes||[],n=flatEntryMap(o);a.forEach((e=>{e.endpoint=e=>{const r=n[e];if(!r)throw new Error(`No servedDevServerEntry found via "${e}"`);return urlJoin(r?.devServerHostUri,["/public"])}}))}const l=Object.keys(r).reduce(((e,o)=>(e[o]=r[o].entryConfig,e)),{}),c=urlJoin(s,["public"]),m=await loadWebpackConfig("development",l,mergeOptions(t,{webpack:{publicPath:c}})),f=shouldEnableReactFastRefresh(!0,[n,i.entryConfig],t),d=assertSingleWebpackCompiler(l,m,t,f),b=webpack(d),v=addWebpackCompilerToDevServer(b,f,p,e,t),h=b.name||"";return b.hooks.invalid.tap("fileChange",(e=>{const r=relative(a,e||"");logger.info(`file change ➩ ${chalk(["cyan"])(r||"")}`,h)})),v};
|
@@ -0,0 +1 @@
|
|
1
|
+
export*from"./load-webpack-config.js";export*from"./start-webpack-build.js";
|
@@ -1,6 +1,6 @@
|
|
1
|
-
import { type FlatEvolveDevServerOptions } from '
|
2
|
-
import type { EvolveEntryMap } from '
|
3
|
-
import { type FlatEvolveOptions } from '
|
1
|
+
import { type FlatEvolveDevServerOptions } from '../../types/types-dev-server.js';
|
2
|
+
import type { EvolveEntryMap } from '../../types/types-entry-map.js';
|
3
|
+
import { type FlatEvolveOptions } from '../../types/types-options.js';
|
4
4
|
/**
|
5
5
|
* Loads the watch options for webpack configuration.
|
6
6
|
*
|
@@ -0,0 +1 @@
|
|
1
|
+
import fg from"fast-glob";import{existsSync}from"node:fs";import{posix}from"node:path";import{logger}from"@flatjs/common";import{normalizeEntryModuleAbsolutePath}from"../../helpers/normalize-entry-module-absolute-path.js";export const loadWatchOptions=(o,t,e={})=>{const{ignored:r=[]}=e,{entryMap:n}=t,s=normalizeEntryModuleAbsolutePath(t,o),a=normalizeEntryModuleAbsolutePath(t,n);for(const o of a){existsSync(o)||logger.warn(`The module path does not exist. Check ${o}`);s.findIndex((t=>t===o))<0&&r.push(posix.join("**",fg.convertPathToPattern(o),"**/*"))}return{...e,ignored:r}};
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { type Configuration } from 'webpack';
|
2
|
-
import type { FlatCliOptions } from '
|
3
|
-
import { type EvolveEntryMap } from '
|
4
|
-
import { type FlatEvolveOptions } from '
|
2
|
+
import type { FlatCliOptions } from '../../types/types-cli-options.js';
|
3
|
+
import { type EvolveEntryMap } from '../../types/types-entry-map.js';
|
4
|
+
import { type FlatEvolveOptions } from '../../types/types-options.js';
|
5
5
|
/**
|
6
6
|
* Try to organization the configuraiton object of `webpack`
|
7
7
|
* @param mode Enable production optimizations or development hints.
|
@@ -0,0 +1 @@
|
|
1
|
+
import{assertGroupEntryItem}from"../../helpers/assert-group-entry-item.js";import{createExternals}from"./create-externals.js";import{createOptimization}from"./create-optimization.js";import{createOutput}from"./create-output.js";import{createPerformance}from"./create-performance.js";import{createPlugins}from"./create-plugins.js";import{createResolve}from"./create-resolve.js";import{createRuleSets}from"./create-rule-sets.js";import{loadWatchOptions}from"./load-watch-options.js";export const loadWebpackConfig=async(e,t,r,a)=>{const o="development"===e,{projectCwd:s,webpack:c,devServer:n}=r,p=loadWatchOptions(t,r,n?.watchOptions),i=assertGroupEntryItem(t,r),m=createRuleSets(o,i,r),l=await createPlugins(o,i,r,a),u=i[0];return{mode:e,plugins:l,watchOptions:p,output:await createOutput(o,r,u),context:s,target:c?.target??["web","es5"],resolve:createResolve(s,c),module:{rules:m},devtool:o?"eval-source-map":c?.sourceMap||!1,externalsType:c?.externalsType,externals:createExternals(c?.externals,u),performance:createPerformance(o,c?.performance),optimization:createOptimization(o,r,u),infrastructureLogging:c?.infrastructureLogging??{level:"warn"},stats:c?.stats??{preset:"errors-warnings"},cache:{type:"memory"}}};
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import type { EvolveBuildResult } from '../../types/types-build.js';
|
2
|
+
import type { FlatCliOptions } from '../../types/types-cli-options.js';
|
3
|
+
import { type EvolveEntryMap } from '../../types/types-entry-map.js';
|
4
|
+
import { type FlatEvolveOptions } from '../../types/types-options.js';
|
5
|
+
/**
|
6
|
+
* Starts the build process for a group of entry files.
|
7
|
+
*
|
8
|
+
* @param groupBuildEntry - The map of entry files to be built.
|
9
|
+
* @param evolveOptions - The options for the build process.
|
10
|
+
* @returns A promise that resolves to the build result.
|
11
|
+
*/
|
12
|
+
export declare const startWebpackBuild: (groupBuildEntry: EvolveEntryMap, evolveOptions: FlatEvolveOptions, cliOptions?: FlatCliOptions) => Promise<EvolveBuildResult>;
|
@@ -0,0 +1 @@
|
|
1
|
+
import webpack from"webpack";import{assertSingleWebpackCompiler}from"../../helpers/assert-single-compiler.js";import{normalizeEvolveEntryName}from"../../helpers/normalize-entry-map.js";import{loadWebpackConfig}from"./load-webpack-config.js";export const startWebpackBuild=async(r,e,n)=>{const a=await loadWebpackConfig("production",r,e,n),o=assertSingleWebpackCompiler(r,a,e,!1);return new Promise(((n,a)=>{webpack(o,((o,t)=>{if(o)return a(o);const i=t?.toJson();if(i?.errors?.length)return a(i.errors);if(e.rejectWarnings&&i?.warnings?.length)return a(i.warnings);const{projectVirtualPath:s}=e,p=Object.keys(r).map((r=>normalizeEvolveEntryName(r,s)));n({name:p,warningStats:i?.warnings})}))}))};
|
package/dist/default-options.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
export const defaultEvolveOptions={projectCwd:process.cwd(),projectVirtualPath:"flatjs/evolve",rejectWarnings:!1,devServer:{autoOpen:!0,pageProxy:"/pages",mockOptions:{mockBaseDir:"mocks"},clientOverlay:{errors:!0,warnings:!1},webSocketURL:"localIp",middlewares:[],watchOptions:{poll:1e3,ignored:["**/node_modules","**/mocks"],aggregateTimeout:500},defaultServeGlobalData:()=>Promise.resolve({}),bundleDirResolver:e=>e},webpack:{target:["web","es5"],plugins:[],ruleSets:[],publicPath:"auto",resolve:{},externals:{vue:"Vue",react:"React","react-dom":"ReactDOM"},outputDir:"public",enableBundleHashName:!0},pluginOptions:{},loaderOptions:{assetDataUrlMaxSize:4096,babelOptions:{usePreset:"react",plugins:[],presets:[]},lessOptions:{},postcssOptions:{cssnanoOptions:{}},pixelOptions:{rootValue:{px:100,rpx:1},outputUnit:"rem"},modularImports:[]},globalCompilerOptions:{runTsChecker:!0},entryMap:{},multiHtmlCdn:{},multiHtmlCdnEnvResolver:function cdnResolver(){},needVerifyPackages:{},packageInstallChecker:{enabled:!1,detectModules:["@dimjs/*"],throwError:!1,showAllInstalledGraph:!0},ci:{basedBranch:"origin/master"},isolation:!1,maxEntryGroupSize:10};
|
1
|
+
export const defaultEvolveOptions={projectCwd:process.cwd(),projectVirtualPath:"flatjs/evolve",rejectWarnings:!1,devServer:{autoOpen:!0,pageProxy:"/pages",mockOptions:{mockBaseDir:"mocks"},clientOverlay:{errors:!0,warnings:!1},webSocketURL:"localIp",middlewares:[],watchOptions:{poll:1e3,ignored:["**/node_modules","**/mocks"],aggregateTimeout:500},defaultServeGlobalData:()=>Promise.resolve({}),bundleDirResolver:e=>e},webpack:{target:["web","es5"],plugins:[],ruleSets:[],publicPath:"auto",resolve:{},externals:{vue:"Vue",react:"React","react-dom":"ReactDOM"},outputDir:"public",enableBundleHashName:!0},pluginOptions:{},loaderOptions:{assetDataUrlMaxSize:4096,babelOptions:{usePreset:"react",plugins:[],presets:[]},lessOptions:{},postcssOptions:{cssnanoOptions:{}},pixelOptions:{rootValue:{px:100,rpx:1},outputUnit:"rem"},modularImports:[]},globalCompilerOptions:{runTsChecker:!0},entryMap:{},multiHtmlCdn:{},multiHtmlCdnEnvResolver:function cdnResolver(){},needVerifyPackages:{},packageInstallChecker:{enabled:!1,detectModules:["@dimjs/*"],throwError:!1,showAllInstalledGraph:!0},ci:{basedBranch:"origin/master"},isolation:!1,maxEntryGroupSize:10,openRsdoctor:!1};
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { type Application } from 'express';
|
2
2
|
import { type FlatEvolveOptions } from '../types/index.js';
|
3
|
-
import {
|
3
|
+
import type { EvolveDevServerEntryMap } from '../types/types-dev-server.js';
|
4
4
|
/**
|
5
5
|
* Add route `/pages`, `*` to main web-server
|
6
6
|
*/
|
@@ -1,4 +1,4 @@
|
|
1
|
+
import type { EvolveDevServerEntryMap } from '../types/types-dev-server.js';
|
1
2
|
import { type EvolveEntryMap } from '../types/types-entry-map.js';
|
2
3
|
import { type FlatEvolveOptions } from '../types/types-options.js';
|
3
|
-
import { type EvolveDevServerEntryMap } from './middlewares/types.js';
|
4
4
|
export declare const createDevServerEntries: (lastPort: number, servedEntries: EvolveEntryMap, evolveOptions: FlatEvolveOptions) => Promise<EvolveDevServerEntryMap>;
|
@@ -1,6 +1,4 @@
|
|
1
|
-
export * from './add-compiler-to-dev-server.js';
|
2
1
|
export * from './create-app-page-route.js';
|
3
2
|
export * from './create-dev-server.js';
|
4
|
-
export * from './create-dev-server-compiler-task.js';
|
5
3
|
export * from './create-dev-server-entries.js';
|
6
4
|
export * from './middlewares/index.js';
|
package/dist/dev-server/index.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
export*from"./
|
1
|
+
export*from"./create-app-page-route.js";export*from"./create-dev-server.js";export*from"./create-dev-server-entries.js";export*from"./middlewares/index.js";
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { type RequestHandler } from 'express';
|
2
|
+
import type { EvolveDevServerEntryMap } from '../../types/types-dev-server.js';
|
2
3
|
import { type FlatEvolveOptions } from '../../types/types-options.js';
|
3
|
-
import { type EvolveDevServerEntryMap } from './types.js';
|
4
4
|
/**
|
5
5
|
* A middleware to proxy the page modules template.
|
6
6
|
* @example `http://dev.flatjs.com:3001/pages`
|
@@ -1,6 +1,6 @@
|
|
1
|
+
import type { EvolveDevServerEntryMap } from '../../types/types-dev-server.js';
|
1
2
|
import { type EvolveEntryMapContent } from '../../types/types-entry-map.js';
|
2
3
|
import { type FlatEvolveOptions } from '../../types/types-options.js';
|
3
|
-
import { type EvolveDevServerEntryMap } from './types.js';
|
4
4
|
export interface SortedModuleItem {
|
5
5
|
/**
|
6
6
|
* The entry name defined in `entryMap`
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import {
|
1
|
+
import type { EvolveDevServerEntryMap } from '../../types/types-dev-server.js';
|
2
2
|
export declare function getDevServerHostUri(servedDevServerEntries: EvolveDevServerEntryMap, currEntry: string, devHostUri: string): string;
|
@@ -1,4 +1,4 @@
|
|
1
|
+
import type { EvolveDevServerEntryMap } from '../../types/types-dev-server.js';
|
1
2
|
import { type EvolveEntryMapContent } from '../../types/types-entry-map.js';
|
2
3
|
import { type FlatEvolveOptions } from '../../types/types-options.js';
|
3
|
-
import { type EvolveDevServerEntryMap } from './types.js';
|
4
4
|
export declare function getHmrRuntimeChunks(servedDevServerEntries: EvolveDevServerEntryMap, entryName: string, normalizedCurrEntry: string, currEntryItem: EvolveEntryMapContent, evolveOptions: FlatEvolveOptions, devServerHostUri: string): string[];
|
@@ -1,3 +1,3 @@
|
|
1
|
+
import type { EvolveDevServerEntryMap } from '../../types/types-dev-server.js';
|
1
2
|
import { type FlatEvolveDevServerOptions } from '../../types/types-dev-server.js';
|
2
|
-
import { type EvolveDevServerEntryMap } from './types.js';
|
3
3
|
export declare function getNormalizedEntryName(entryName: string, projectVirtualPath: string, servedDevServerEntries: EvolveDevServerEntryMap, devServer?: FlatEvolveDevServerOptions): string;
|
@@ -1,3 +1,3 @@
|
|
1
|
+
import type { EvolveDevServerEntryMap } from '../../types/types-dev-server.js';
|
1
2
|
import { type FlatEvolveOptions } from '../../types/types-options.js';
|
2
|
-
import { type EvolveDevServerEntryMap } from './types.js';
|
3
3
|
export declare const getPageMainHtml: (servedDevServerEntries: EvolveDevServerEntryMap, devHostUri: string, evolveOptions: FlatEvolveOptions) => Promise<string>;
|
@@ -1,4 +1,4 @@
|
|
1
1
|
import { type Request } from 'express';
|
2
|
+
import type { EvolveDevServerEntryMap } from '../../types/types-dev-server.js';
|
2
3
|
import { type FlatEvolveOptions } from '../../types/types-options.js';
|
3
|
-
import { type EvolveDevServerEntryMap } from './types.js';
|
4
4
|
export declare const getPageModuleHtml: (servedDevServerEntries: EvolveDevServerEntryMap, req: Request, devHostUri: string, apiContext: string, evolveOptions: FlatEvolveOptions) => Promise<string>;
|
@@ -1,5 +1,5 @@
|
|
1
|
+
import type { EvolveDevServerEntryMap } from '../../types/types-dev-server.js';
|
1
2
|
import { type FlatEvolveOptions } from '../../types/types-options.js';
|
2
|
-
import { type EvolveDevServerEntryMap } from './types.js';
|
3
3
|
interface RuntimeManifest {
|
4
4
|
[normalizedEntryName: string]: {
|
5
5
|
entryName: string;
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import { type Configuration } from 'webpack';
|
2
|
+
import { type RspackOptions } from '@rspack/core';
|
2
3
|
import { type EvolveEntryMap } from '../types/types-entry-map.js';
|
3
4
|
import { type FlatEvolveOptions } from '../types/types-options.js';
|
4
5
|
/**
|
@@ -12,4 +13,16 @@ import { type FlatEvolveOptions } from '../types/types-options.js';
|
|
12
13
|
* @returns The merged webpack configuration object with the new entry object.
|
13
14
|
* @throws Error if the react-refresh-webpack-plugin package directory is not found.
|
14
15
|
*/
|
15
|
-
export declare function
|
16
|
+
export declare function assertSingleWebpackCompiler(servedEntries: EvolveEntryMap, webpackConfig: Omit<Configuration, 'entry'>, evolveOptions: FlatEvolveOptions, enabledHmr?: boolean): Configuration;
|
17
|
+
/**
|
18
|
+
* Asserts a single compiler configuration by generating a new entry object based on the served entries,
|
19
|
+
* rspack configuration, evolve options, and enabled HMR flag.
|
20
|
+
*
|
21
|
+
* @param servedEntries - The served entries object.
|
22
|
+
* @param rspackConfig `Omit<Configuration, 'entry'>` rspack final configuration
|
23
|
+
* @param evolveOptions - The flat evolve options object.
|
24
|
+
* @param enabledHmr - Flag indicating whether Hot Module Replacement (HMR) is enabled. Default is false.
|
25
|
+
* @returns The merged rspack configuration object with the new entry object.
|
26
|
+
* @throws Error if the react-refresh-webpack-plugin package directory is not found.
|
27
|
+
*/
|
28
|
+
export declare function assertSingleRspackCompiler(servedEntries: EvolveEntryMap, rspackConfig: Omit<RspackOptions, 'entry'>, evolveOptions: FlatEvolveOptions, enabledHmr?: boolean): RspackOptions;
|
@@ -1 +1 @@
|
|
1
|
-
import{dirname,join,posix}from"path";import{searchPackageDir}from"@armit/package";import{mergeOptions,requireResolve}from"@flatjs/common";import{devReactFastRefresh}from"../constants.js";import{normalizeEvolveEntryName}from"./normalize-entry-map.js";export function
|
1
|
+
import{dirname,join,posix}from"path";import{searchPackageDir}from"@armit/package";import{mergeOptions,requireResolve}from"@flatjs/common";import{devReactFastRefresh}from"../constants.js";import{normalizeEvolveEntryName}from"./normalize-entry-map.js";export function assertSingleWebpackCompiler(e,r,t,o=!1){const a={};for(const[r,n]of Object.entries(e)){const e=normalizeEvolveEntryName(r,t.projectVirtualPath);if(a[e]=n.entry,o){const r=posix.join(e,devReactFastRefresh.reactRefreshSetup),t=requireResolve(import.meta.url,"@pmmmwh/react-refresh-webpack-plugin"),o=searchPackageDir({cwd:dirname(t)});if(!o)throw new Error("react-refresh-webpack-plugin package directory not found");a[r]=[join(o,"client","ReactRefreshEntry.js")]}}const n=Object.values(e)[0].groupName;return mergeOptions(r,{name:n,entry:a})}export function assertSingleRspackCompiler(e,r,t,o=!1){const a={};for(const[r,n]of Object.entries(e)){const e=normalizeEvolveEntryName(r,t.projectVirtualPath);if(a[e]=n.entry,o){const r=posix.join(e,devReactFastRefresh.reactRefreshSetup),t=requireResolve(import.meta.url,"@rspack/plugin-react-refresh"),o=searchPackageDir({cwd:dirname(t)});if(!o)throw new Error("react-refresh-webpack-plugin package directory not found");a[r]=[join(o,"client","reactRefreshEntry.js")]}}const n=Object.values(e)[0].groupName;return mergeOptions(r,{name:n,entry:a})}
|
@@ -1 +1 @@
|
|
1
|
-
import logUpdate from"log-update";import
|
1
|
+
import logUpdate from"log-update";import{chalk,loggerSimpleStdWriteSteam}from"@flatjs/common";import{buildProgressSpinnerFrames}from"../constants.js";import{formatSpinnerText}from"./format-spinner-text.js";let startIndex=0;export class CustomListrRenderer{constructor(e){this._tasks=[],this.renderTask=()=>{const e=[];startIndex=++startIndex%buildProgressSpinnerFrames.length;const t=buildProgressSpinnerFrames[startIndex];for(const r of this._tasks){const s=r.title.split("$ENTRY_KEYS")||[],i=s[1]||"",o=i?i.split(","):[];r.isCompleted()?e.push(`${chalk(["green"])("✔")} ${this.formatTextByTemp(s[0],"successfully")} \n${formatSpinnerText(o,"✔","green")}`):r.hasFailed()?e.push(`${chalk(["red"])("✘")} ${this.formatTextByTemp(s[0],"failed")} \n${formatSpinnerText(o,"✘","red")}`):r.isSkipped()?e.push(`${chalk(["gray"])("ℹ")} ${this.formatTextByTemp(s[0],"skipped")} \n${formatSpinnerText(o,"ℹ","gray")}`):e.push(`${chalk(["cyan"])(t)} ${this.formatTextByTemp(s[0],"building")} \n${formatSpinnerText(o)}`)}logUpdate(e.join("\n"))},this._tasks=e}static get nonTTY(){return!0}render(){this._id||(this._id=setInterval((()=>{this.renderTask()}),100))}end(){this._id&&(clearInterval(this._id),this._id=void 0),this.renderTask(),logUpdate.done(),this.printMemoryLogs()}formatTextByTemp(e,t,r="$STATUS"){const s={successfully:`${chalk(["green"])("done")}`,failed:`builded ${chalk(["red"])("failed")}`,skipped:`builded ${chalk(["gray"])("skipped")}`,building:chalk(["white"])("compiling...")};return e.replace(r,s[t])}printMemoryLogs(){const{stderr:e=[],stdout:t=[]}=loggerSimpleStdWriteSteam.getStdData();for(const t of e)console.error(t);for(const e of t)console.log(e)}}
|
@@ -1,8 +1,10 @@
|
|
1
|
+
import { chalk } from '@flatjs/common';
|
1
2
|
/**
|
2
3
|
* Formats the spinner text by adding prefixes and styling using chalk.
|
3
4
|
*
|
4
5
|
* @param strArr - An array of strings to be formatted.
|
5
6
|
* @param prefixCode - The prefix to replace default prefix code.
|
7
|
+
* @param prefixColor - The color of the prefix.
|
6
8
|
* @returns The formatted spinner text.
|
7
9
|
*/
|
8
|
-
export declare const formatSpinnerText: (strArr?: string[], prefixCode?: string) => string;
|
10
|
+
export declare const formatSpinnerText: (strArr?: string[], prefixCode?: string, prefixColor?: Parameters<typeof chalk>[0][number]) => string;
|
@@ -1 +1 @@
|
|
1
|
-
import{chalk}from"@flatjs/common";export const formatSpinnerText=(n=[],t)=>{if(1===n.length)return` ${chalk(["blue"])(t||"●")} ${n[0]} \n`;return n.map(((
|
1
|
+
import{chalk}from"@flatjs/common";export const formatSpinnerText=(n=[],t,e)=>{if(1===n.length)return` ${chalk([e||"blue"])(t||"●")} ${n[0]} \n`;return n.map(((r,l)=>{let o="├";return 0===l?o="┌":l===n.length-1&&(o="└"),` ${chalk([e||"blue"])(t||o)} ${r} \n`})).join("")};
|
@@ -0,0 +1 @@
|
|
1
|
+
import{chalk,logger}from"@flatjs/common";export const printPromotions=(o={})=>{const{compilerType:r="webpack"}=o;logger.info(`Compiler type is ${chalk(["cyan"])(r)}`)};
|
package/dist/index.d.ts
CHANGED
@@ -2,5 +2,7 @@ export * from './build-server/index.js';
|
|
2
2
|
export * from './define-config/index.js';
|
3
3
|
export * from './load-config/index.js';
|
4
4
|
export * from './main/index.js';
|
5
|
+
export * from './types/types-build.js';
|
6
|
+
export * from './types/types-cli-options.js';
|
5
7
|
export * from './types/types-entry-map.js';
|
6
8
|
export * from './types/types-options.js';
|
package/dist/index.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
export*from"./build-server/index.js";export*from"./define-config/index.js";export*from"./load-config/index.js";export*from"./main/index.js";export*from"./types/types-entry-map.js";export*from"./types/types-options.js";
|
1
|
+
export*from"./build-server/index.js";export*from"./define-config/index.js";export*from"./load-config/index.js";export*from"./main/index.js";export*from"./types/types-build.js";export*from"./types/types-cli-options.js";export*from"./types/types-entry-map.js";export*from"./types/types-options.js";
|