@ikaros-cli/ikaros 1.1.0 → 1.1.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/bin.mjs +2 -2
- package/dist/index.d.mts +17 -13
- package/dist/index.mjs +9 -10
- package/package.json +6 -6
package/bin.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import "./dist/index.mjs";
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import "./dist/index.mjs";
|
package/dist/index.d.mts
CHANGED
|
@@ -3,19 +3,19 @@ import * as _rspack_dev_server from '@rspack/dev-server';
|
|
|
3
3
|
import * as _rspack_core from '@rspack/core';
|
|
4
4
|
import { LightningcssLoaderOptions, ModuleFederationPluginOptions, DefinePluginOptions, Plugin, Loader } from '@rspack/core';
|
|
5
5
|
|
|
6
|
-
interface ImportMetaBaseEnv {
|
|
7
|
-
/** 命令行所指定的 mode (-m, --mode) */
|
|
8
|
-
MODE?: string
|
|
9
|
-
/** 路径前缀 */
|
|
10
|
-
BASE?: string
|
|
11
|
-
/** 平台 */
|
|
12
|
-
PLATFORM: 'web'
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
type ImportMetaEnv =
|
|
16
|
-
|
|
17
|
-
interface ImportMeta {
|
|
18
|
-
readonly env: Readonly<ImportMetaEnv & ImportMetaBaseEnv>
|
|
6
|
+
interface ImportMetaBaseEnv {
|
|
7
|
+
/** 命令行所指定的 mode (-m, --mode) */
|
|
8
|
+
MODE?: string
|
|
9
|
+
/** 路径前缀 */
|
|
10
|
+
BASE?: string
|
|
11
|
+
/** 平台 */
|
|
12
|
+
PLATFORM: 'web'
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
type ImportMetaEnv = Record<string, any>
|
|
16
|
+
|
|
17
|
+
interface ImportMeta {
|
|
18
|
+
readonly env: Readonly<ImportMetaEnv & ImportMetaBaseEnv>
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
/** 命令 */
|
|
@@ -200,6 +200,10 @@ interface UserConfig {
|
|
|
200
200
|
* @default false
|
|
201
201
|
*/
|
|
202
202
|
cache?: boolean;
|
|
203
|
+
/**
|
|
204
|
+
* 是否开启循环依赖检查
|
|
205
|
+
*/
|
|
206
|
+
dependencyCycleCheck?: boolean;
|
|
203
207
|
};
|
|
204
208
|
/**
|
|
205
209
|
* resolve
|
package/dist/index.mjs
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
var $e=Object.defineProperty;var i=(n,e)=>$e(n,"name",{value:e,configurable:!0}),A=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):n)(function(n){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+n+'" is not supported')});import{program as G}from"commander";var K="@ikaros-cli/ikaros",k="1.1.0";import{Option as Oe}from"commander";import dt from"chalk";import{rspack as b}from"@rspack/core";import{RsdoctorRspackPlugin as gt}from"@rsdoctor/rspack-plugin";import ft from"compression-webpack-plugin";import{ModuleFederationPlugin as we}from"@module-federation/enhanced/rspack";import{isEmpty as ht,isString as ke,isArray as vt}from"radash";import{RspackDevServer as yt}from"@rspack/dev-server";import{join as Re}from"node:path";import{detect as Ct}from"detect-port";import{createRequire as We}from"node:module";import{join as ae}from"path";import Ge from"node:fs";import le from"node:fs/promises";import{isObject as Ot}from"radash";import Z from"fs/promises";import{z as r}from"zod";import{join as _e}from"path";async function N(n){try{let e=_e(process.cwd(),"node_modules",n);return await Z.access(e,Z.constants.F_OK),!0}catch(e){if(e.code==="ENOENT")return!1;throw e}}i(N,"checkDependency");var X=r.object({target:r.enum(["pc","mobile"]).optional().default("pc"),pages:r.custom().optional(),enablePages:r.union([r.array(r.string()),r.boolean()]).optional().default(!1),moduleFederation:r.union([r.custom(),r.array(r.custom())]).optional(),plugins:r.union([r.custom(),r.array(r.custom())]).optional(),loaders:r.array(r.custom()).optional(),experiments:r.custom().optional(),cdnOptions:r.custom().optional(),server:r.object({port:r.number().int().min(1024).max(65535).optional(),proxy:r.custom().optional(),https:r.union([r.boolean(),r.record(r.any())]).optional().default(!1)}).optional(),css:r.object({lightningcssOptions:r.record(r.any()).optional(),sourceMap:r.boolean().optional(),lessOptions:r.record(r.unknown()).optional(),sassOptions:r.record(r.unknown()).optional(),stylusOptions:r.record(r.unknown()).optional()}).optional(),build:r.object({base:r.string().optional().default("/"),assetsDir:r.string().optional(),gzip:r.boolean().optional().default(!1),sourceMap:r.boolean().optional().default(!1),outDirName:r.string().optional().default("dist"),outReport:r.boolean().optional().default(!1),cache:r.boolean().optional().default(!1)}).optional(),resolve:r.object({alias:r.record(r.string()).optional(),extensions:r.array(r.string()).optional()}).optional()});import{dirname as Fe,extname as z,isAbsolute as Ie,join as Ae,resolve as ee}from"node:path";import{pathToFileURL as V}from"node:url";import{createRequire as Ne}from"node:module";import{parse as ze}from"yaml";import Q from"node:fs";import te from"node:fs/promises";import se from"fs-extra";import{build as Ve}from"esbuild";async function He(n,e=!1){let t=await Ve({absWorkingDir:process.cwd(),entryPoints:[n],outfile:"out.js",write:!1,platform:"node",bundle:!0,format:e?"esm":"cjs",sourcemap:"inline",metafile:!0,plugins:[{name:"externalize-deps",setup(o){o.onResolve({filter:/.*/},l=>{let a=l.path;if(!a.startsWith(".")&&!Ie(a))return{external:!0}})}}]}),{text:s}=t.outputFiles[0];return{code:s,dependencies:t.metafile?Object.keys(t.metafile.inputs):[]}}i(He,"transformConfig");var P=Ne(V(ee()));async function Be(n,e,t=!1){if(t){let u=`${n}.timestamp-${Date.now()}-${Math.random().toString(16).slice(2)}`,m=`${u}.mjs`,p=`${V(u)}.mjs`;await te.writeFile(m,e);try{return(await import(p)).default}finally{Q.unlink(m,()=>{})}}let s=z(n),o=Q.realpathSync(n),l=s in P.extensions?s:".js",a=P.extensions[l];P.extensions[l]=(u,m)=>{m===o?u._compile(e,m):a(u,m)},delete A.cache[A.resolve(n)];let c=P(n);return P.extensions[l]=a,c.__esModule?c.default:c}i(Be,"requireConfig");async function qe(n,e=!1){let{code:t}=await He(n,e);return Be(n,t,e)}i(qe,"resultConfig");var v=new Map;v.set(".mjs",async n=>(await import(V(n).href)).default);v.set(".ts",async n=>await qe(n,!0));v.set(".json",async n=>await se.readJson(n));v.set(".yaml",async n=>{let e=await te.readFile(n,"utf8");return ze(e)});async function oe({configFile:n}){let e,t=process.cwd(),s="ikaros.config",o=["ts","mjs","json","yaml"].map(c=>`${Ae(t,s)}.${c}`),a=(await Promise.all(o.map(c=>se.pathExists(c)))).findIndex(Boolean);if(!(a<0)){if(e=z(o[a]),t=ee(t,`${s}${e}`),n&&(t=Fe(n),e=z(n)),!v.has(e))throw new Error("No configuration file ! ");return v.get(e)(t)}}i(oe,"resolveConfig");import{isFunction as Ye,isObject as Ke}from"radash";import H from"fs-extra";import{join as B}from"path";import{config as ie}from"dotenv";import ne from"chalk";var re=i(n=>{console.log(`
|
|
2
|
-
|
|
3
|
-
`+ne.bgYellow.white(" WARNING ")+" "+n)},"warningLog");var R=i(n=>n?B(q,"env",`.env.${n}`):B(q,"env",".env"),"getEnvPath"),Je=i(async n=>{if(!await H.pathExists(B(q,"env")))return y("env folder not found"),!1;if(n){if(!await H.pathExists(R(n)))return y(`.env.${n} file not found`),!1}else return await H.pathExists(R())?!0:(y(".env file not found"),!1);return!0},"checkEnv"),q=process.cwd(),O=i(async n=>await Je(n)?n?ie({path:R(n)}).parsed??{}:ie({path:R()}).parsed??{}:{},"getEnv");var j=class{static{i(this,"BaseCompileService")}set env(e){this._env=e}get env(){return this._env}set contextPkg(e){this._contextPkg=e}get contextPkg(){return this._contextPkg}constructor(e){let{command:t,options:s,configFile:o}=e;this.command=t,this.options=s,this.configFile=o,this.context=ae(process.cwd(),"./"),this.contextRequire=We(this.context),this.initialize()}async initialize(){await this.initContextPkg(),await this.initEnv(),await this.getUserConfig(),this.startCompile()}resolveContext(...e){return ae(this.context,...e)}async initContextPkg(){let e=this.resolveContext("package.json");try{await le.access(e,Ge.constants.F_OK)}catch{return}this.contextPkg=JSON.parse(await le.readFile(e,{encoding:"utf8"}))}async initEnv(){let{platform:e,mode:t}=this.options,s={PLATFORM:e,MODE:t},o=await O(t);this.env={...s,...o}}resolveContextModule(e){try{return this.contextRequire.resolve(e)}catch{return}}loadContextModule(e){return this.contextRequire(e)}async getUserConfig(){let{configFile:e}=this,t=await oe({configFile:e}),s;if(t){if(Ye(t)){let o={PLATFORM:this.options.platform},l={mode:this.options.mode??"",env:Object.assign(o,this.env),command:this.command};s=await t(l)}Ke(t)&&(s=t),this.userConfig=X.parse(s)}}startCompile(){switch(this.command){case"server":{this.dev?.();break}case"build":{this.build?.();break}default:break}}};import{join as J}from"path";import{createRequire as Ze}from"node:module";import pe from"node:url";var S=J(process.cwd(),"./"),ce=["...",".mjs",".jsx",".ts",".tsx"],us=J(S,"tsconfig.json"),ue=pe.fileURLToPath(new pe.URL("../",import.meta.url)),me=Ze(ue),de=i((...n)=>J(ue,...n),"resolveCLI");import{rspack as D}from"@rspack/core";var ge=i((n,e)=>({loader:n.includes("builtin")?n:me.resolve(n),options:e}),"createLoader"),Xe=i((n,e)=>{let{lightningcss:t,sourceMap:s}=e??{},o=ge("builtin:lightningcss-loader",{...t}),l=i((a,c)=>{let u=[o],m=e&&e[`${a}`];return a&&a!=="css"&&u.push(ge(`${a}-loader`,Object.assign(m??{},c,{sourceMap:s}))),u},"generateLoaders");return{less:l("less"),sass:l("sass",{sassOptions:{indentedSyntax:!0,api:"modern-compiler"}}),scss:l("sass",{sassOptions:{api:"modern-compiler"}}),stylus:l("stylus"),styl:l("stylus"),css:l("css")}},"cssLoaders"),fe=i((n,e)=>{let t=Xe(n,e);return Object.entries(t).map(([s,o])=>({test:new RegExp(`\\.${s}$`),use:o,type:"css/auto"}))},"buildCssLoaders");import{join as he}from"path";import{isArray as ye,isEmpty as ve}from"radash";var L=class{constructor({env:e="development",mode:t=""}){this.list=[];this.env="development";this.mode="";this.isDev=!0;this.env=e,this.mode=t,this.isDev=e==="development"}static{i(this,"BaseCreate")}add(e){return ye(e)?this.list=this.list.concat(e):e&&this.list.push(e),this}end(){return this.list}},T=class extends L{constructor({env:t="development",mode:s=""}){super({env:t,mode:s});this.defaultScriptLoader=i(t=>({test:/\.m?[j]s$/,loader:"builtin:swc-loader",options:{sourceMap:this.isDev,isModule:"unknown",rspackExperiments:t},type:"javascript/auto"}),"defaultScriptLoader");this.defaultResourceLoader=[{test:/\.(png|jpe?g|gif|svg|ico)(\?.*)?$/,type:"asset/resource",generator:{filename:this.isDev?"[id][ext]":"assets/img/[contenthash][ext]"}},{test:/\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/,type:"asset/resource",generator:{filename:this.isDev?"[id][ext]":"assets/media/[contenthash][ext]"}},{test:/\.(woff2?|eot|ttf|otf)(\?.*)?$/,type:"asset/resource",generator:{filename:this.isDev?"[id][ext]":"assets/fonts/[contenthash][ext]"}}]}static{i(this,"CreateLoader")}useDefaultCssLoader(t){return fe(this.env,t).forEach(o=>this.add(o)),this}useDefaultScriptLoader(t){return this.add(this.defaultScriptLoader(t)),this}useDefaultResourceLoader(){return this.defaultResourceLoader.forEach(t=>this.add(t)),this}},M=class extends L{static{i(this,"CreatePlugins")}constructor({env:e="development",mode:t=""}){super({env:e,mode:t})}useDefaultEnvPlugin(e){let{frameworkEnv:t={},extEnv:s={}}=e??{};return this.add(Qe({frameworkEnv:t,extEnv:s,mode:this.mode})),this}useCopyPlugin(){return this.env==="production"&&this.add(new D.CopyRspackPlugin({patterns:[{context:he(S,"public"),from:"./",noErrorOnMissing:!0,globOptions:{ignore:["**/index.html",".*"]}}]})),this}useHtmlPlugin(e){return this.add(new D.HtmlRspackPlugin({template:e??he(S,"index.html")})),this}},U=class{static{i(this,"CreateMpaAssets")}constructor({pages:e,enablePages:t}){this.pages=e,this.enablePages=t,this.getEnablePages()}create(){let e={},t=[];return Object.keys(this.pages).forEach(s=>{e[s]={import:this.pages[s].entry,library:this.pages[s].library},t.push(new D.HtmlRspackPlugin({template:this.pages[s].html,filename:`${s}.html`,chunks:[s],scriptLoading:"blocking",...this.pages[s].options}))}),{entry:e,plugins:t}}getEnablePages(){if(!ve(this.pages)&&ye(this.enablePages)){let e={},t=[];if(this.enablePages.forEach(s=>{this.pages[s]?e[s]=this.pages[s]:t.push(s)}),t.length&&y(`\u5F53\u524D\u8BBE\u7F6E\u9875\u9762${t.join()}\u4E0D\u5B58\u5728`),ve(e))return;this.pages=e}}},Qe=i(({mode:n,frameworkEnv:e={},extEnv:t={}})=>{let s=Object.assign({},t,O(n)),o=Object.fromEntries(Object.entries(s).map(([a,c])=>[`import.meta.env.${a}`,JSON.stringify(c)])),l=Object.fromEntries(Object.entries({...o,...e}).map(([a,c])=>[a,c]));return new D.DefinePlugin(l)},"createEnvPlugin");import{rspack as et}from"@rspack/core";import x from"chalk";import tt from"ora";import st from"node:os";import $ from"pretty-bytes";import ot from"easy-table";import nt from"cli-cursor";import rt from"node:path";import Ce from"node:process";import{isArray as it}from"radash";var xe={name:K,version:k},C="@rspack/ikaros-stats-plugin",be=x.hex("#222222"),E=class{constructor(e){this.startCompileHrtime=void 0;this.userConfig=e,this.ora=tt({color:"cyan",prefixText:"",hideCursor:!1})}static{i(this,"StatsPlugin")}apply(e){this.compiler=e,this.isDev=e.options.mode==="development",new et.ProgressPlugin(this.progressHandler.bind(this)).apply(e),nt.hide(),this.isDev?this.initDevHook():this.initProdHook()}progressHandler(e,t,...s){let o=`${(e*100).toFixed(2)}%`;o+=` ${t} `,o+=x.gray(s?.join(" ")),this.lastProgressText!==o&&(this.lastProgressText=o,this.isDev?this.ora.text=`${o}
|
|
4
|
-
`:console.log(o))}updateStartCompileTime(){this.startCompileHrtime=Ce.hrtime()}getCurrentEndCompileTime(){let e=Ce.hrtime(this.startCompileHrtime);return(e[0]*1e9+e[1])/1e6}getError(e){let{errors:t,errorsCount:s=0}=e;if(!(!t||s===0))return t.map(o=>`${be.bgRed(" ERROR ")} ${o.message.trim()}`).join(`
|
|
1
|
+
var _e=Object.defineProperty;var r=(o,e)=>_e(o,"name",{value:e,configurable:!0}),I=(o=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(o,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):o)(function(o){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+o+'" is not supported')});import{program as Z}from"commander";var Q="@ikaros-cli/ikaros",O="1.1.2";import{Option as Se}from"commander";import ft from"chalk";import{rspack as y}from"@rspack/core";import{RsdoctorRspackPlugin as ht}from"@rsdoctor/rspack-plugin";import vt from"compression-webpack-plugin";import{ModuleFederationPlugin as ke}from"@module-federation/enhanced/rspack";import{isEmpty as yt,isString as Oe,isArray as Ct}from"radash";import{RspackDevServer as xt}from"@rspack/dev-server";import{join as De}from"node:path";import{detect as bt}from"detect-port";import{createRequire as Ye}from"node:module";import{join as pe}from"path";import Ke from"node:fs";import ce from"node:fs/promises";import{isObject as Fe}from"radash";import ee from"fs/promises";import{z as a}from"zod";import{join as Ne}from"path";var z=r((o,e)=>{for(let t in e)o[t]=Fe(e[t])&&t in o?z(o[t],e[t]):e[t];return o},"mergeUserConfig");async function V(o){try{let e=Ne(process.cwd(),"node_modules",o);return await ee.access(e,ee.constants.F_OK),!0}catch(e){if(e.code==="ENOENT")return!1;throw e}}r(V,"checkDependency");var te=a.object({target:a.enum(["pc","mobile"]).optional().default("pc"),pages:a.custom().optional(),enablePages:a.union([a.array(a.string()),a.boolean()]).optional().default(!1),moduleFederation:a.union([a.custom(),a.array(a.custom())]).optional(),plugins:a.union([a.custom(),a.array(a.custom())]).optional(),loaders:a.array(a.custom()).optional(),experiments:a.custom().optional(),cdnOptions:a.custom().optional(),server:a.object({port:a.number().int().min(1024).max(65535).optional(),proxy:a.custom().optional(),https:a.union([a.boolean(),a.record(a.any())]).optional().default(!1)}).optional(),css:a.object({lightningcssOptions:a.record(a.any()).optional(),sourceMap:a.boolean().optional(),lessOptions:a.record(a.unknown()).optional(),sassOptions:a.record(a.unknown()).optional(),stylusOptions:a.record(a.unknown()).optional()}).optional(),build:a.object({base:a.string().optional().default("/"),assetsDir:a.string().optional(),gzip:a.boolean().optional().default(!1),sourceMap:a.boolean().optional().default(!1),outDirName:a.string().optional().default("dist"),outReport:a.boolean().optional().default(!1),cache:a.boolean().optional().default(!1),dependencyCycleCheck:a.boolean().optional().default(!1)}).optional(),resolve:a.object({alias:a.record(a.string()).optional(),extensions:a.array(a.string()).optional()}).optional()});import{dirname as Ae,extname as H,isAbsolute as Ie,join as ze,resolve as oe}from"node:path";import{pathToFileURL as B}from"node:url";import{createRequire as Ve}from"node:module";import{parse as He}from"yaml";import se from"node:fs";import ne from"node:fs/promises";import re from"fs-extra";import{build as Be}from"esbuild";async function qe(o,e=!1){let t=await Be({absWorkingDir:process.cwd(),entryPoints:[o],outfile:"out.js",write:!1,platform:"node",bundle:!0,format:e?"esm":"cjs",sourcemap:"inline",metafile:!0,plugins:[{name:"externalize-deps",setup(n){n.onResolve({filter:/.*/},l=>{let p=l.path;if(!p.startsWith(".")&&!Ie(p))return{external:!0}})}}]}),{text:s}=t.outputFiles[0];return{code:s,dependencies:t.metafile?Object.keys(t.metafile.inputs):[]}}r(qe,"transformConfig");var E=Ve(B(oe()));async function We(o,e,t=!1){if(t){let i=`${o}.timestamp-${Date.now()}-${Math.random().toString(16).slice(2)}`,c=`${i}.mjs`,u=`${B(i)}.mjs`;await ne.writeFile(c,e);try{return(await import(u)).default}finally{se.unlink(c,()=>{})}}let s=H(o),n=se.realpathSync(o),l=s in E.extensions?s:".js",p=E.extensions[l];E.extensions[l]=(i,c)=>{c===n?i._compile(e,c):p(i,c)},delete I.cache[I.resolve(o)];let m=E(o);return E.extensions[l]=p,m.__esModule?m.default:m}r(We,"requireConfig");async function Je(o,e=!1){let{code:t}=await qe(o,e);return We(o,t,e)}r(Je,"resultConfig");var C=new Map;C.set(".mjs",async o=>(await import(B(o).href)).default);C.set(".ts",async o=>await Je(o,!0));C.set(".json",async o=>await re.readJson(o));C.set(".yaml",async o=>{let e=await ne.readFile(o,"utf8");return He(e)});async function ie({configFile:o}){let e,t=process.cwd(),s="ikaros.config",n=["ts","mjs","json","yaml"].map(m=>`${ze(t,s)}.${m}`),p=(await Promise.all(n.map(m=>re.pathExists(m)))).findIndex(Boolean);if(!(p<0)){if(e=H(n[p]),t=oe(t,`${s}${e}`),o&&(t=Ae(o),e=H(o)),!C.has(e))throw new Error("No configuration file ! ");return C.get(e)(t)}}r(ie,"resolveConfig");import{isFunction as Ze,isObject as Xe}from"radash";import W from"fs-extra";import{join as J}from"path";import{config as ae}from"dotenv";import R from"chalk";var q=[],v=r(()=>{let o=r((i,c)=>({DONE:R.bgGreen.white,ERROR:R.bgRed.white,OKAY:R.bgBlue.white,WARNING:R.bgYellow.white,INFO:R.bgCyan.white})[i](` ${i} `)+` ${c}`,"generateLog");return{done:r(({text:i,onlyText:c})=>{if(c)return o("DONE",i);console.log(o("DONE",i))},"done"),error:r(({text:i,onlyText:c})=>{if(c)return o("ERROR",i);console.error(o("ERROR",i))},"error"),okay:r(({text:i,onlyText:c})=>{if(c)return o("OKAY",i);console.log(o("OKAY",i))},"okay"),warning:r(({text:i,onlyText:c})=>{if(c)return o("WARNING",i);console.warn(o("WARNING",i))},"warning"),info:r(({text:i,onlyText:c})=>{if(c)return o("INFO",i);console.info(o("INFO",i))},"info"),emitEvent:r(i=>{let c=new Date().toLocaleTimeString("en-US",{hour12:!1}).split(" ")[0];q.push(`[${c}] ${i}`)},"emitEvent"),clearEventArray:r(()=>{q.length=0},"clearEventArray"),eventArray:q}},"LoggerSystem");var D=r(o=>o?J(G,"env",`.env.${o}`):J(G,"env",".env"),"getEnvPath"),Ge=r(async o=>{let{warning:e,emitEvent:t}=v();if(!await W.pathExists(J(G,"env")))return t(e({text:"env folder not found",onlyText:!0})),!1;if(o){if(!await W.pathExists(D(o)))return t(e({text:`.env.${o} file not found`,onlyText:!0})),!1}else return await W.pathExists(D())?!0:(t(e({text:".env file not found",onlyText:!0})),!1);return!0},"checkEnv"),G=process.cwd(),le=r(async o=>await Ge(o)?o?ae({path:D(o)}).parsed??{}:ae({path:D()}).parsed??{}:{},"getEnv");var S=class{static{r(this,"BaseCompileService")}set env(e){this._env=e}get env(){return this._env}set contextPkg(e){this._contextPkg=e}get contextPkg(){return this._contextPkg}constructor(e){let{command:t,options:s,configFile:n}=e;this.command=t,this.options=s,this.configFile=n,this.context=pe(process.cwd(),"./"),this.contextRequire=Ye(this.context),this.initialize()}async initialize(){await this.initContextPkg(),await this.initEnv(),await this.getUserConfig(),this.startCompile()}resolveContext(...e){return pe(this.context,...e)}async initContextPkg(){let e=this.resolveContext("package.json");try{await ce.access(e,Ke.constants.F_OK)}catch{return}this.contextPkg=JSON.parse(await ce.readFile(e,{encoding:"utf8"}))}async initEnv(){let{platform:e,mode:t}=this.options,s={PLATFORM:e,MODE:t},n=await le(t);this.env={...s,...n}}resolveContextModule(e){try{return this.contextRequire.resolve(e)}catch{return}}loadContextModule(e){return this.contextRequire(e)}async getUserConfig(){let{configFile:e}=this,t=await ie({configFile:e}),s;if(t){if(Ze(t)){let n={PLATFORM:this.options.platform},l={mode:this.options.mode??"",env:Object.assign(n,this.env),command:this.command};s=await t(l)}Xe(t)&&(s=t),this.userConfig=te.parse(s)}}startCompile(){switch(this.command){case"server":{this.dev?.();break}case"build":{this.build?.();break}default:break}}};import{join as Y}from"path";import{createRequire as Qe}from"node:module";import ue from"node:url";var T=Y(process.cwd(),"./"),me=["...",".mjs",".jsx",".ts",".tsx"],ds=Y(T,"tsconfig.json"),de=ue.fileURLToPath(new ue.URL("../",import.meta.url)),ge=Qe(de),fe=r((...o)=>Y(de,...o),"resolveCLI");import{rspack as j}from"@rspack/core";var he=r((o,e)=>({loader:o.includes("builtin")?o:ge.resolve(o),options:e}),"createLoader"),et=r((o,e)=>{let{lightningcss:t,sourceMap:s}=e??{},n=he("builtin:lightningcss-loader",{...t}),l=r((p,m)=>{let i=[n],c=e&&e[`${p}`];return p&&p!=="css"&&i.push(he(`${p}-loader`,Object.assign(c??{},m,{sourceMap:s}))),i},"generateLoaders");return{less:l("less"),sass:l("sass",{sassOptions:{indentedSyntax:!0,api:"modern-compiler"}}),scss:l("sass",{sassOptions:{api:"modern-compiler"}}),stylus:l("stylus"),styl:l("stylus"),css:l("css")}},"cssLoaders"),ve=r((o,e)=>{let t=et(o,e);return Object.entries(t).map(([s,n])=>({test:new RegExp(`\\.${s}$`),use:n,type:"css/auto"}))},"buildCssLoaders");import{join as ye}from"path";import{isArray as xe,isEmpty as Ce}from"radash";var L=class{constructor({env:e="development",mode:t=""}){this.list=[];this.env="development";this.mode="";this.isDev=!0;this.env=e,this.mode=t,this.isDev=e==="development"}static{r(this,"BaseCreate")}add(e){return xe(e)?this.list=this.list.concat(e):e&&this.list.push(e),this}end(){return this.list}},M=class extends L{constructor({env:t="development",mode:s=""}){super({env:t,mode:s});this.defaultScriptLoader=r(t=>({test:/\.m?[j]s$/,loader:"builtin:swc-loader",options:{sourceMap:this.isDev,isModule:"unknown",rspackExperiments:t},type:"javascript/auto"}),"defaultScriptLoader");this.defaultResourceLoader=[{test:/\.(png|jpe?g|gif|svg|ico)(\?.*)?$/,type:"asset/resource",generator:{filename:this.isDev?"[id][ext]":"assets/img/[contenthash][ext]"}},{test:/\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/,type:"asset/resource",generator:{filename:this.isDev?"[id][ext]":"assets/media/[contenthash][ext]"}},{test:/\.(woff2?|eot|ttf|otf)(\?.*)?$/,type:"asset/resource",generator:{filename:this.isDev?"[id][ext]":"assets/fonts/[contenthash][ext]"}}]}static{r(this,"CreateLoader")}useDefaultCssLoader(t){return ve(this.env,t).forEach(n=>this.add(n)),this}useDefaultScriptLoader(t){return this.add(this.defaultScriptLoader(t)),this}useDefaultResourceLoader(){return this.defaultResourceLoader.forEach(t=>this.add(t)),this}},U=class extends L{static{r(this,"CreatePlugins")}constructor({env:e="development",mode:t=""}){super({env:e,mode:t})}useDefaultEnvPlugin(e){let{frameworkEnv:t={},extEnv:s={},env:n={}}=e??{};return this.add(tt({frameworkEnv:t,extEnv:s,env:n})),this}useCopyPlugin(){return this.env==="production"&&this.add(new j.CopyRspackPlugin({patterns:[{context:ye(T,"public"),from:"./",noErrorOnMissing:!0,globOptions:{ignore:["**/index.html",".*"]}}]})),this}useHtmlPlugin(e){return this.add(new j.HtmlRspackPlugin({template:e??ye(T,"index.html")})),this}},$=class{static{r(this,"CreateMpaAssets")}constructor({pages:e,enablePages:t}){this.pages=e,this.enablePages=t,this.getEnablePages()}create(){let e={},t=[];return Object.keys(this.pages).forEach(s=>{e[s]={import:this.pages[s].entry,library:this.pages[s].library},t.push(new j.HtmlRspackPlugin({template:this.pages[s].html,filename:`${s}.html`,chunks:[s],scriptLoading:"blocking",...this.pages[s].options}))}),{entry:e,plugins:t}}getEnablePages(){let{warning:e,emitEvent:t}=v();if(!Ce(this.pages)&&xe(this.enablePages)){let s={},n=[];if(this.enablePages.forEach(l=>{this.pages[l]?s[l]=this.pages[l]:n.push(l)}),n.length&&t(e({text:`\u5F53\u524D\u8BBE\u7F6E\u9875\u9762${n.join()}\u4E0D\u5B58\u5728`,onlyText:!0})),Ce(s))return;this.pages=s}}},tt=r(({frameworkEnv:o={},extEnv:e={},env:t={}})=>{let s=Object.assign({},z(e,t)),n=Object.fromEntries(Object.entries(s).map(([p,m])=>[`import.meta.env.${p}`,JSON.stringify(m)])),l=Object.fromEntries(Object.entries({...n,...o}).map(([p,m])=>[p,m]));return new j.DefinePlugin(l)},"createEnvPlugin");import{rspack as st}from"@rspack/core";import b from"chalk";import ot from"ora";import nt from"node:os";import _ from"pretty-bytes";import rt from"easy-table";import it from"cli-cursor";import at from"node:path";import be from"node:process";import{isArray as lt}from"radash";var Pe={name:Q,version:O},x="@rspack/ikaros-stats-plugin",Ee=b.hex("#222222"),w=class{constructor(e){this.startCompileHrtime=void 0;this.userConfig=e,this.ora=ot({color:"cyan",prefixText:"",hideCursor:!1})}static{r(this,"StatsPlugin")}apply(e){this.compiler=e,this.isDev=e.options.mode==="development",new st.ProgressPlugin(this.progressHandler.bind(this)).apply(e),it.hide(),this.isDev?this.initDevHook():this.initProdHook()}progressHandler(e,t,...s){let n=`${(e*100).toFixed(2)}%`;n+=` ${t} `,n+=b.gray(s?.join(" ")),this.lastProgressText!==n&&(this.lastProgressText=n,this.isDev?this.ora.text=`${n}
|
|
2
|
+
`:console.log(n))}updateStartCompileTime(){this.startCompileHrtime=be.hrtime()}getCurrentEndCompileTime(){let e=be.hrtime(this.startCompileHrtime);return(e[0]*1e9+e[1])/1e6}getError(e){let{errors:t,errorsCount:s=0}=e;if(!(!t||s===0))return t.map(n=>`${Ee.bgRed(" ERROR ")} ${n.message.trim()}`).join(`
|
|
5
3
|
|
|
6
|
-
`)}getWarn(e){let{warnings:t,warningsCount:s=0}=e;if(!(!t||s===0))return t.map(
|
|
4
|
+
`)}getWarn(e){let{warnings:t,warningsCount:s=0}=e;if(!(!t||s===0))return t.map(n=>`${Ee.bgYellow(" WARN ")} ${n.message.trim()}`).join(`
|
|
7
5
|
|
|
8
|
-
`)}getEndTips(e,t){let{gray:s,cyan:
|
|
6
|
+
`)}getEndTips(e,t){let{gray:s,cyan:n,red:l,green:p,yellow:m}=b,{errorsCount:i=-1,warningsCount:c=-1}=e,u=(t/1e3).toFixed(2);return i>0?s(`${n(Pe.name)} compiled with${l(` ${i} error`)}`):c>0?s(`compile ${p("success")} and with ${m(`${c} warning`)}, time: ${u}s`):s(`compile ${p("success")}, time: ${u}s.`)}getTableInfo(e){let{assets:t}=e;if(!t||t.length===0)return;let s=new rt,n=this.userConfig?.build?.gzip??!1,l=0,p=0,m=!1;for(let i=0;i<t.length;i++){let{name:c,size:u,related:d,info:f}=t[i];if(f.development)continue;let h=n&<(d)?d.find(g=>g.type==="gzipped").size:0;if(l+=u,p+=h,t.length>20&&i>=4&&i<t.length-1-4){m||(m=!0,s.cell("name","...."),s.cell("size","...."),n&&s.cell("gzip","...."),s.newRow());continue}s.cell("name",c),s.cell("size",_(u)),n&&s.cell("gzip",_(h)),s.newRow()}return s.pushDelimeter(),s.cell("name",`There are ${t.length} files`),s.cell("size",_(l)),n&&s.cell("gzip",_(p)),s.newRow(),b.cyan.dim(s.toString().trim())}getHostList(){let{userConfig:e,compiler:t}=this,{devServer:s}=t.options,n=s?.server==="https"||typeof s?.server=="object",l=Number(s?.port),p=[],m="",i=Object.values(nt.networkInterfaces());if(e){m=e.build?.base??"",(!m||m==="auto")&&(m="/");let u=Object.keys(e?.pages||{})[0];u&&u!=="index"?m=at.join(m,`${u}.html`):m.endsWith("/")||(m+="/")}for(let u of i){let{address:d}=u?.find(f=>f.family==="IPv4")||{};d&&p.push(d)}p.sort((u,d)=>{let f=u.split("."),h=d.split(".");for(let[g]of f.entries())if(u[g]!==h[g])return Number(h[g])-Number(u[g]);return 0});let c=p.indexOf("127.0.0.1");return c!==-1&&(p.splice(c,1),p.unshift("localhost")),p=p.map(u=>(n?(u=`https://${u}`,l!==443&&(u=u+":"+l)):(u="http://"+u,l!==80&&(u=u+":"+l)),new URL(m,u).href)),p}initDevHook(){let{compiler:e,ora:t}=this,s=this.getHostList(),{blue:n,cyan:l,gray:p}=b;e.hooks.environment.intercept({name:x,call(){t.start("Preparing resource files....")}}),e.hooks.watchRun.intercept({name:x,call:r(()=>{t.isSpinning||console.clear(),t.start(),this.updateStartCompileTime()},"call")}),e.hooks.done.intercept({name:x,call:r(m=>{t.stop(),console.clear();let i=m.toJson({preset:"errors-warnings",colors:!0}),{eventArray:c}=v(),{errorsCount:u=0,warningsCount:d=0}=i;if(u>0)console.log(this.getError(i)),console.log();else{d>0&&(console.log(this.getWarn(i)),console.log()),c.length>0&&(console.log(c.map(P=>P).join(`
|
|
7
|
+
`)),console.log());let{name:f,version:h}=Pe,g=`${l(`${f} v${h}`)} entry address:
|
|
9
8
|
|
|
10
|
-
`;for(let
|
|
11
|
-
`);console.log(
|
|
12
|
-
`,
|
|
13
|
-
`}),l(new Error(
|
|
9
|
+
`;for(let P of s)g+=n(` ${P}
|
|
10
|
+
`);console.log(p(g))}console.log(this.getEndTips(i,this.getCurrentEndCompileTime())),console.log()},"call")})}initProdHook(){let{compiler:e}=this,t;e.hooks.environment.intercept({name:x,call:r(()=>{console.log(b.gray("start build...")),this.updateStartCompileTime()},"call")}),e.hooks.done.intercept({name:x,call:r(s=>{t=s.toJson({preset:"normal",colors:!0,assetsSort:"size"})},"call")}),e.cache.hooks.shutdown.intercept({name:x,done:r(()=>{let{errorsCount:s=0,warningsCount:n=0}=t;console.log(),s>0?(console.log(this.getError(t)),console.log()):(n>0&&(console.log(this.getWarn(t)),console.log()),console.log(this.getTableInfo(t)),console.log()),console.log(this.getEndTips(t,this.getCurrentEndCompileTime()))},"done")})}};import{rspack as pt}from"@rspack/core";import{createRequire as ct}from"node:module";import ut from"chalk";import Re from"path";var K="@rspack/ikaros-cdn-plugin",mt="https://unpkg.com/:name@:version/:path",dt=":name/:path",we=/:([a-z]+)/gi,k=class{constructor(e){this.isDev=!1;this.options={prodUrl:mt,devUrl:dt,crossOrigin:!1,sri:!1,...e}}static{r(this,"CdnPlugin")}apply(e){this.compiler=e,this.isDev=e.options.mode==="development",this.handleExternals(),e.hooks.compilation.tap(K,t=>{pt.HtmlRspackPlugin.getCompilationHooks(t).alterAssetTags.tapAsync(K,(n,l)=>{try{this.injectResources(n),l(null,n)}catch(p){l(p)}})})}handleExternals(){let e=this.compiler.options.externals||{};this.options.modules.filter(t=>!t.cssOnly).forEach(t=>{e[t.name]=t.var||t.name}),this.compiler.options.externals=e}injectResources(e){let t=this.options.modules,s=[];t.forEach(n=>{this.getStyles(n).forEach(p=>{s.push({tagName:"link",voidTag:!0,attributes:{rel:"stylesheet",href:p,...this.options.crossOrigin&&{crossorigin:this.options.crossOrigin}}})})}),t.filter(n=>!n.cssOnly).forEach(n=>{this.getScripts(n).forEach(p=>{s.push({tagName:"script",voidTag:!0,attributes:{src:p,...this.options.crossOrigin&&{crossorigin:this.options.crossOrigin}}})})}),e.assetTags&&(e.assetTags.styles.unshift(...s.filter(n=>n.tagName==="link")),e.assetTags.scripts.unshift(...s.filter(n=>n.tagName==="script")))}getStyles(e){let t=[...e.styles||[]];return e.style&&t.unshift(e.style),t.map(s=>this.generateUrl(e,s))}getScripts(e){let t=[...e.paths||[]];return e.path&&t.unshift(e.path),t.map(s=>this.generateUrl(e,s))}joinUrl(e,t){return e=e.replace(/\/+$/,""),t=t.replace(/^\/+/,""),`${e}/${t}`}generateUrl(e,t){let s=this.isDev?e.devUrl||this.options.devUrl:e.prodUrl||this.options.prodUrl;return s.match(we)?s.replace(we,(n,l)=>{switch(l){case"name":return e.name;case"version":return e.version||this.getModuleVersion(e.name);case"path":return t;default:return n}}):this.joinUrl(s,t)}getModuleVersion(e){try{return ct(Re.join(process.cwd(),"node_modules"))(Re.join(e,"package.json")).version}catch{return console.warn(ut.yellow(`[${K}] \u65E0\u6CD5\u83B7\u53D6\u6A21\u5757 "${e}" \u7684\u7248\u672C\u4FE1\u606F`)),"latest"}}};var{error:Pt}=v(),F=class extends S{constructor(){super(...arguments);this.isVue=!1;this.isReact=!1}static{r(this,"WebCompileService")}async dev(){await this.initPreConfig(),await this.createRspackBuilder({isLive:!0})}async build(){await this.initPreConfig(),await this.createRspackBuilder()}async initPreConfig(){await Promise.all([this.initUserConfig(),this.initBrowserslist(),this.initOtherConfig()]),await this.createRspackConfig()}async initUserConfig(){let t=this.command==="server",s=this.userConfig;if(this.base=s?.build?.base??"/",t&&Oe(this.base)&&/^https?:/.test(this.base)){let n=ft.cyan("build.base");Pt({text:`\u672C\u5730\u5F00\u53D1\u65F6 ${n} \u4E0D\u5E94\u8BE5\u4E3A\u5916\u90E8 Host!`}),process.exit(0)}this.target=s?.target??"pc",this.pages=s?.pages??{index:{html:this.resolveContext("index.html"),entry:this.resolveContext("src/index")}},this.port=s?.server?.port??await bt("8080")}async initBrowserslist(){let t=this.target==="mobile",s=["defaults"];t?s.push("IOS >= 10","Chrome >= 56"):s.push(">0.2%","Chrome >= 56","Safari >= 10","last 2 versions","not dead"),this.browserslist=s.join(",")}async initOtherConfig(){try{let[t,s]=await Promise.all([V("react"),V("vue")]);this.isVue=s,this.isReact=t}catch{}}joinAssetsDir(...t){let s=this.userConfig?.build?.assetsDir??"";return De(s,...t).replaceAll("\\","/")}getOutDirPath(){let t=this.userConfig?.build?.outDirName;return Oe(t)?this.resolveContext(t):this.resolveContext("dist")}async createRspackConfig(){let t=this.command==="server",s=t?"development":"production",{userConfig:n,context:l,browserslist:p,pages:m,contextPkg:i,port:c,base:u}=this,d=new M({env:s,mode:this.options.mode}),f=new U({env:s,mode:this.options.mode}),h=new $({pages:m,enablePages:n?.enablePages}),{entry:g,plugins:P}=h.create(),{env:Le,noParse:Me}=this.createVueOrReactConfig(),Ue=d.useDefaultResourceLoader().useDefaultScriptLoader(n?.experiments).useDefaultCssLoader(n?.css).add(n?.loaders).end(),$e=f.useDefaultEnvPlugin({extEnv:{...n?.define},frameworkEnv:Le,env:this.env}).useCopyPlugin().add(P).add(new w).add(this.createSourceMapPlugin()).add(this.createCssExtractPlugin()).add(this.createDoctorPlugin()).add(this.createGzipPlugin()).add(this.createCdnPlugin()).add(this.createModuleFederationPlugin()).add(this.createDependencyCyclePlugin()).add(n?.plugins).end();this.rspackConfig={mode:s,target:["web","es5",`browserslist:${p}`],context:l,entry:g,resolve:{alias:{"@":this.resolveContext("src"),...n?.resolve?.alias},extensions:n?.resolve?.extensions||me,modules:["node_modules",this.resolveContext("node_modules"),fe("node_modules")]},output:{clean:!0,path:this.getOutDirPath(),publicPath:u,filename:t?"[id].js":this.joinAssetsDir("assets/js/[contenthash].js"),chunkLoadingGlobal:`${i?.name||"ikaros"}_chunk`,pathinfo:!1},optimization:this.createOptimization(),stats:"none",watchOptions:{aggregateTimeout:500,ignored:/node_modules/},module:{rules:Ue,noParse:Me},plugins:$e,devServer:{hot:!0,port:c,server:(()=>{let A=n?.server?.https;return A?A===!0?"https":{type:"https",options:A}:"http"})(),allowedHosts:"all",proxy:n?.server?.proxy,historyApiFallback:{rewrites:[{from:new RegExp(`^${u}`),to:De(u,"index.html")}]},headers:{"Access-Control-Allow-Origin":"*"},static:{directory:this.resolveContext("public"),publicPath:u},client:{logging:"none",overlay:{errors:!0,warnings:!1,runtimeErrors:!1},webSocketURL:`auto://0.0.0.0:${c}/ws`}},experiments:{css:!0},...this.createCacheConfig()}}createSourceMapPlugin(){let{userConfig:t,command:s}=this;if(s==="server")return new y.EvalSourceMapDevToolPlugin({columns:!1,module:!0});if(t?.build?.sourceMap??!1)return new y.SourceMapDevToolPlugin({test:[/.js/,/.mjs/],filename:"[file].map[query]"})}createCssExtractPlugin(){if(this.command!=="server")return new y.CssExtractRspackPlugin({filename:this.joinAssetsDir("assets/css/[contenthash].css"),ignoreOrder:!0})}createDoctorPlugin(){if(this.command!=="server"&&this.userConfig?.build?.outReport)return new ht}createGzipPlugin(){if(this.command!=="server"&&this.userConfig?.build?.gzip)return new vt}createOptimization(){return this.command==="server"?{minimize:!1,removeAvailableModules:!1,removeEmptyChunks:!1,splitChunks:!1}:{minimize:!0,minimizer:[new y.LightningCssMinimizerRspackPlugin,new y.SwcJsMinimizerRspackPlugin],splitChunks:{chunks:"all",minSize:2e4,minChunks:2,maxAsyncRequests:30,maxInitialRequests:30,cacheGroups:{defaultVendors:{test:/[/\\]node_modules[/\\]/,priority:-10,reuseExistingChunk:!0},default:{minChunks:2,priority:-20,reuseExistingChunk:!0}}}}}createCacheConfig(){if(this.command!=="server"&&this.userConfig?.build?.cache)return{cache:!0,experiments:{cache:{type:"persistent"}}}}createVueOrReactConfig(){return this.isVue?{noParse:/^(vue|vue-router|vuex|vuex-router-sync)$/,env:{__VUE_OPTIONS_API__:!0,__VUE_PROD_DEVTOOLS__:!1,__VUE_PROD_HYDRATION_MISMATCH_DETAILS__:!1}}:this.isReact?{noParse:r(t=>/(react|react-dom|react-is)\.production\.min\.js$/.test(t),"noParse"),env:{REACT_APP_ENABLE_DEVTOOLS:!1}}:{env:void 0,noParse:void 0}}createCdnPlugin(){let{cdnOptions:t}=this.userConfig??{};if(!(!t||yt(t.modules)))return new k(t)}createModuleFederationPlugin(){let t=this.userConfig?.moduleFederation;if(t)return Ct(t)?t.map(s=>new ke(s)):new ke(t)}createDependencyCyclePlugin(){if(this.command!=="server"&&this.userConfig?.build?.dependencyCycleCheck)return new y.CircularDependencyRspackPlugin({exclude:/node_modules/,failOnError:!1})}createRspackBuilder(t){let{isLive:s=!1}=t||{};return new Promise((n,l)=>{let p=y(this.rspackConfig);if(s){new xt(this.rspackConfig.devServer,p).startCallback(c=>{if(c)return l(c);n(void 0)});return}let m="";p.run((i,c)=>{p.close(u=>i||u?(console.error(i||u),l(i||u)):c?.hasErrors()?(m+=`Build failed with errors.
|
|
11
|
+
`,c.toString({chunks:!1,colors:!0}).split(/\r?\n/).forEach(d=>{m+=` ${d}
|
|
12
|
+
`}),l(new Error(m))):n(c?.toString({chunks:!1,colors:!0})))})})}};var N={WEB:"web"},Et=[new Se("-m, --mode <name>","Environment variable"),new Se("-p, --platform <type>","build platform type").default(N.WEB).choices(Object.values(N))],Te=r(o=>{switch(o.options.platform){case N.WEB:{new F(o);break}default:{let e=Object.values(N).join(",");console.error(`No corresponding compilation service was found, platform: ${e}`),process.exit(1)}}},"startCompile"),je=r(o=>{let e=o.command("server",{isDefault:!0}).description("Start local develop serve").action(s=>{Te({command:"server",options:s})}),t=o.command("build").description("Start build").action(s=>{Te({command:"build",options:s})});for(let s of Et)e.addOption(s),t.addOption(s)},"commander");var Co=r(o=>o,"defineConfig");import wt from"chalk";var kt=Number(process.versions.node.split(".")[0]);if(kt<18){let o=wt.bgRed.white(" ERROR ");console.error(o+" The Node.js version is greater than v18!"),console.log(),process.exit(1)}Z.version(O,"-v, --version");je(Z);Z.parse();export{Co as defineConfig};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ikaros-cli/ikaros",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.3",
|
|
4
4
|
"description": "",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"registry": "https://registry.npmjs.org/",
|
|
@@ -43,15 +43,15 @@
|
|
|
43
43
|
"dependencies": {
|
|
44
44
|
"@module-federation/enhanced": "^0.8.12",
|
|
45
45
|
"@rsdoctor/rspack-plugin": "^0.4.13",
|
|
46
|
-
"@rspack/core": "^1.
|
|
47
|
-
"@rspack/dev-server": "^1.
|
|
46
|
+
"@rspack/core": "^1.3.4",
|
|
47
|
+
"@rspack/dev-server": "^1.1.1",
|
|
48
48
|
"chalk": "^5.4.1",
|
|
49
49
|
"cli-cursor": "^5.0.0",
|
|
50
50
|
"commander": "^13.1.0",
|
|
51
51
|
"compression-webpack-plugin": "^11.1.0",
|
|
52
52
|
"css-loader": "^7.1.2",
|
|
53
53
|
"detect-port": "^2.1.0",
|
|
54
|
-
"dotenv": "^16.
|
|
54
|
+
"dotenv": "^16.5.0",
|
|
55
55
|
"easy-table": "^1.2.0",
|
|
56
56
|
"esbuild": "^0.21.5",
|
|
57
57
|
"fs-extra": "^11.3.0",
|
|
@@ -66,12 +66,12 @@
|
|
|
66
66
|
"sass-loader": "^16.0.5",
|
|
67
67
|
"stylus-loader": "^8.1.1",
|
|
68
68
|
"vue-style-loader": "^4.1.3",
|
|
69
|
-
"yaml": "^2.7.
|
|
69
|
+
"yaml": "^2.7.1",
|
|
70
70
|
"zod": "^3.24.2"
|
|
71
71
|
},
|
|
72
72
|
"devDependencies": {
|
|
73
73
|
"@types/fs-extra": "^11.0.4",
|
|
74
74
|
"@types/minimist": "^1.2.5",
|
|
75
|
-
"vitest": "^3.
|
|
75
|
+
"vitest": "^3.1.1"
|
|
76
76
|
}
|
|
77
77
|
}
|