@ikaros-cli/ikaros 2.1.2 → 2.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.
Files changed (2) hide show
  1. package/dist/index.mjs +1 -1
  2. package/package.json +5 -5
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import{createRequire as e}from"node:module";import{Option as t,program as n}from"commander";import r,{dirname as i,extname as a,join as o,resolve as s}from"node:path";import c,{pathToFileURL as l}from"node:url";import u from"node:fs";import d,{readFile as f}from"node:fs/promises";import{isFunction as p,isString as m}from"es-toolkit";import{isArray as h,isEmpty as g,isObject as _}from"es-toolkit/compat";import v from"fs/promises";import{z as y}from"zod/v4";import b,{join as x}from"path";import S from"fs-extra";import{config as C}from"dotenv";import w from"chalk";import{parse as ee}from"yaml";import{transform as te}from"oxc-transform";import{rspack as T}from"@rspack/core";import{RspackDevServer as ne}from"@rspack/dev-server";import re from"node:os";import E from"pretty-bytes";import ie from"easy-table";import ae from"cli-cursor";import oe from"node:process";import{RsdoctorRspackPlugin as se}from"@rsdoctor/rspack-plugin";import ce from"compression-webpack-plugin";import{ModuleFederationPlugin as le}from"@module-federation/enhanced/rspack";import{detect as ue}from"detect-port";var de=`@ikaros-cli/ikaros`,D=`2.1.2`;const O=(e,t)=>{let n=e,r=t;for(let e of Object.keys(r)){let t=r[e],i=n[e];_(t)&&_(i)?n[e]=O(i,t):n[e]=t}return e};async function k(e){try{let t=x(process.cwd(),`node_modules`,e);return await v.access(t,v.constants.F_OK),!0}catch(e){if(e.code===`ENOENT`)return!1;throw e}}const fe={target:y.enum([`pc`,`mobile`]).optional().default(`pc`),pages:y.custom().optional(),enablePages:y.union([y.array(y.string()),y.literal(!1)]).optional(),define:y.custom().optional(),build:y.object({base:y.string().optional().default(`/`),assetsDir:y.string().optional(),sourceMap:y.boolean().optional().default(!1),outDirName:y.string().optional().default(`dist`)}).optional(),resolve:y.object({alias:y.record(y.string(),y.string()).optional(),extensions:y.array(y.string()).optional()}).optional(),server:y.object({port:y.number().int().min(1024).max(65535).optional()}).optional(),electron:y.unknown().optional()},pe=y.object({bundler:y.custom().optional().default(`rspack`).refine(e=>e===`rspack`,{message:`bundler must be 'rspack' for rspack config`}),...fe,moduleFederation:y.union([y.custom(),y.array(y.custom())]).optional(),plugins:y.union([y.custom(),y.array(y.custom())]).optional(),loaders:y.array(y.custom()).optional(),experiments:y.custom().optional(),cdnOptions:y.custom().optional(),server:y.object({port:y.number().int().min(1024).max(65535).optional(),proxy:y.custom().optional(),https:y.union([y.boolean(),y.record(y.string(),y.unknown())]).optional().default(!1)}).optional(),css:y.object({lightningcssOptions:y.record(y.string(),y.unknown()).optional(),sourceMap:y.boolean().optional(),lessOptions:y.record(y.string(),y.unknown()).optional(),sassOptions:y.record(y.string(),y.unknown()).optional(),stylusOptions:y.record(y.string(),y.unknown()).optional()}).optional(),build:y.object({base:y.string().optional().default(`/`),assetsDir:y.string().optional(),gzip:y.boolean().optional().default(!1),sourceMap:y.boolean().optional().default(!1),outDirName:y.string().optional().default(`dist`),outReport:y.boolean().optional().default(!1),cache:y.boolean().optional().default(!1),dependencyCycleCheck:y.boolean().optional().default(!1)}).optional()}),me=y.object({bundler:y.literal(`vite`),...fe,server:y.object({port:y.number().int().min(1024).max(65535).optional(),proxy:y.record(y.string(),y.unknown()).optional(),https:y.union([y.boolean(),y.record(y.string(),y.unknown())]).optional()}).optional(),vite:y.object({plugins:y.unknown().optional()}).strict().optional()}).passthrough().superRefine((e,t)=>{for(let n of[`plugins`,`loaders`,`experiments`,`cdnOptions`,`moduleFederation`,`css`]){let r=e;n in r&&r[n]!==void 0&&t.addIssue({code:y.ZodIssueCode.custom,path:[n],message:`bundler='vite' 时不支持 ${String(n)},请使用 vite.plugins 或 Vite 原生配置能力`})}}),A=y.union([me,pe]),j=[],M=()=>{let e=(e,t)=>({DONE:w.bgGreen.white,ERROR:w.bgRed.white,OKAY:w.bgBlue.white,WARNING:w.bgYellow.white,INFO:w.bgCyan.white})[e](` ${e} `)+` ${t}`;return{done:({text:t,onlyText:n})=>{if(n)return e(`DONE`,t);console.log(e(`DONE`,t))},error:({text:t,onlyText:n})=>{if(n)return e(`ERROR`,t);console.error(e(`ERROR`,t))},okay:({text:t,onlyText:n})=>{if(n)return e(`OKAY`,t);console.log(e(`OKAY`,t))},warning:({text:t,onlyText:n})=>{if(n)return e(`WARNING`,t);console.warn(e(`WARNING`,t))},info:({text:t,onlyText:n})=>{if(n)return e(`INFO`,t);console.info(e(`INFO`,t))},emitEvent:e=>{let t=new Date().toLocaleTimeString(`en-US`,{hour12:!1}).split(` `)[0];j.push(`[${t}] ${e}`)},clearEventArray:()=>{j.length=0},eventArray:j}},N=e=>e?x(P,`env`,`.env.${e}`):x(P,`env`,`.env`),he=async e=>{let{warning:t,emitEvent:n}=M();if(!await S.pathExists(x(P,`env`)))return n(t({text:`env folder not found`,onlyText:!0})),!1;if(e){if(!await S.pathExists(N(e)))return n(t({text:`.env.${e} file not found`,onlyText:!0})),!1}else return await S.pathExists(N())?!0:(n(t({text:`.env file not found`,onlyText:!0})),!1);return!0},P=process.cwd(),ge=async e=>await he(e)?e?C({path:N(e),quiet:!0}).parsed??{}:C({path:N(),quiet:!0}).parsed??{}:{};async function _e(e,t){let{code:n,errors:r}=await te(e,await f(e,`utf-8`),{lang:t?`ts`:`js`});if(r.length>0)throw Error(`Transformation failed: `+r.map(e=>e.message).join(`, `));return{code:n}}async function ve(e,t){let n=`${e}.timestamp-${Date.now()}-${Math.random().toString(16).slice(2)}`,r=`${n}.mjs`,i=`${l(n)}.mjs`;await d.writeFile(r,t);try{return(await import(i)).default}finally{await d.unlink(r)}}async function ye(e,t=!1){let{code:n}=await _e(e,t);return ve(e,n)}const F=new Map;F.set(`.mjs`,async e=>(await import(l(e).href)).default),F.set(`.ts`,async e=>await ye(e,!0)),F.set(`.json`,async e=>await S.readJson(e)),F.set(`.yaml`,async e=>ee(await d.readFile(e,`utf8`)));async function be({configFile:e}){let t,n=process.cwd(),r=`ikaros.config`,c=[`ts`,`mjs`,`json`,`yaml`].map(e=>`${o(n,r)}.${e}`),l=(await Promise.all(c.map(e=>S.pathExists(e)))).findIndex(Boolean);if(!(l<0)){if(t=a(c[l]),n=s(n,`${r}${t}`),e&&(n=i(e),t=a(e)),!F.has(t))throw Error(`No configuration file ! `);return F.get(t)(n)}}let I=function(e){return e.SERVER=`server`,e.BUILD=`build`,e}({});var L=class{set env(e){this._env=e}get env(){return this._env}set contextPkg(e){this._contextPkg=e}get contextPkg(){return this._contextPkg}get isElectron(){return this.options.platform===`desktopClient`}constructor(t){this.resolveContext=(...e)=>o(this.context,...e);let{command:n,options:r,configFile:i}=t;this.command=n,this.options=r,this.configFile=i,this.context=process.cwd(),this.contextRequire=e(o(this.context,`./`))}static async create(e){let t=new this(e);return await t.initialize(),t}async initialize(){await this.initContextPkg(),await this.initEnv(),await this.loadUserConfig(),await this.onAfterConfigLoaded(),await this.startCompile()}async onAfterConfigLoaded(){}async initContextPkg(){let e=this.resolveContext(`package.json`);try{await d.access(e,u.constants.F_OK)}catch{return}this.contextPkg=JSON.parse(await d.readFile(e,{encoding:`utf8`}))}async initEnv(){let{platform:e,mode:t}=this.options,n={PLATFORM:e,MODE:t},r=await ge(t);this.env={...n,...r}}async loadUserConfig(){this.userConfig=await this.getUserConfig()}resolveContextModule(e){try{return this.contextRequire.resolve(e)}catch{return}}loadContextModule(e){return this.contextRequire(e)}async getUserConfig(){let{configFile:e}=this,t=await be({configFile:e});if(t){if(p(t)){let e={mode:this.options.mode??``,env:{...this.env,PLATFORM:this.options.platform,MODE:this.options.mode??this.env?.MODE},command:this.command};return A.parse(await t(e))}if(_(t))return A.parse(t)}}async startCompile(){switch(this.command){case I.SERVER:await this.dev();break;case I.BUILD:await this.build();break;default:break}}};const R=e=>{let t=`Build failed with errors.
1
+ import{createRequire as e}from"node:module";import{Option as t,program as n}from"commander";import r,{dirname as i,extname as a,join as o,resolve as s}from"node:path";import c,{pathToFileURL as l}from"node:url";import u from"node:fs";import d,{readFile as f}from"node:fs/promises";import{isFunction as p,isString as m}from"es-toolkit";import{isArray as h,isEmpty as g,isObject as _}from"es-toolkit/compat";import v from"fs/promises";import{z as y}from"zod/v4";import b,{join as x}from"path";import S from"fs-extra";import{config as C}from"dotenv";import w from"chalk";import{parse as ee}from"yaml";import{transform as te}from"oxc-transform";import{rspack as T}from"@rspack/core";import{RspackDevServer as ne}from"@rspack/dev-server";import re from"node:os";import E from"pretty-bytes";import ie from"easy-table";import ae from"cli-cursor";import oe from"node:process";import{RsdoctorRspackPlugin as se}from"@rsdoctor/rspack-plugin";import ce from"compression-webpack-plugin";import{ModuleFederationPlugin as le}from"@module-federation/enhanced/rspack";import{detect as ue}from"detect-port";var de=`@ikaros-cli/ikaros`,D=`2.1.3`;const O=(e,t)=>{let n=e,r=t;for(let e of Object.keys(r)){let t=r[e],i=n[e];_(t)&&_(i)?n[e]=O(i,t):n[e]=t}return e};async function k(e){try{let t=x(process.cwd(),`node_modules`,e);return await v.access(t,v.constants.F_OK),!0}catch(e){if(e.code===`ENOENT`)return!1;throw e}}const fe={target:y.enum([`pc`,`mobile`]).optional().default(`pc`),pages:y.custom().optional(),enablePages:y.union([y.array(y.string()),y.literal(!1)]).optional(),define:y.custom().optional(),build:y.object({base:y.string().optional().default(`/`),assetsDir:y.string().optional(),sourceMap:y.boolean().optional().default(!1),outDirName:y.string().optional().default(`dist`)}).optional(),resolve:y.object({alias:y.record(y.string(),y.string()).optional(),extensions:y.array(y.string()).optional()}).optional(),server:y.object({port:y.number().int().min(1024).max(65535).optional()}).optional(),electron:y.unknown().optional()},pe=y.object({bundler:y.custom().optional().default(`rspack`).refine(e=>e===`rspack`,{message:`bundler must be 'rspack' for rspack config`}),...fe,moduleFederation:y.union([y.custom(),y.array(y.custom())]).optional(),plugins:y.union([y.custom(),y.array(y.custom())]).optional(),loaders:y.array(y.custom()).optional(),experiments:y.custom().optional(),cdnOptions:y.custom().optional(),server:y.object({port:y.number().int().min(1024).max(65535).optional(),proxy:y.custom().optional(),https:y.union([y.boolean(),y.record(y.string(),y.unknown())]).optional().default(!1)}).optional(),css:y.object({lightningcssOptions:y.record(y.string(),y.unknown()).optional(),sourceMap:y.boolean().optional(),lessOptions:y.record(y.string(),y.unknown()).optional(),sassOptions:y.record(y.string(),y.unknown()).optional(),stylusOptions:y.record(y.string(),y.unknown()).optional()}).optional(),build:y.object({base:y.string().optional().default(`/`),assetsDir:y.string().optional(),gzip:y.boolean().optional().default(!1),sourceMap:y.boolean().optional().default(!1),outDirName:y.string().optional().default(`dist`),outReport:y.boolean().optional().default(!1),cache:y.boolean().optional().default(!1),dependencyCycleCheck:y.boolean().optional().default(!1)}).optional()}),me=y.object({bundler:y.literal(`vite`),...fe,server:y.object({port:y.number().int().min(1024).max(65535).optional(),proxy:y.record(y.string(),y.unknown()).optional(),https:y.union([y.boolean(),y.record(y.string(),y.unknown())]).optional()}).optional(),vite:y.object({plugins:y.unknown().optional()}).strict().optional()}).passthrough().superRefine((e,t)=>{for(let n of[`plugins`,`loaders`,`experiments`,`cdnOptions`,`moduleFederation`,`css`]){let r=e;n in r&&r[n]!==void 0&&t.addIssue({code:y.ZodIssueCode.custom,path:[n],message:`bundler='vite' 时不支持 ${String(n)},请使用 vite.plugins 或 Vite 原生配置能力`})}}),A=y.union([me,pe]),j=[],M=()=>{let e=(e,t)=>({DONE:w.bgGreen.white,ERROR:w.bgRed.white,OKAY:w.bgBlue.white,WARNING:w.bgYellow.white,INFO:w.bgCyan.white})[e](` ${e} `)+` ${t}`;return{done:({text:t,onlyText:n})=>{if(n)return e(`DONE`,t);console.log(e(`DONE`,t))},error:({text:t,onlyText:n})=>{if(n)return e(`ERROR`,t);console.error(e(`ERROR`,t))},okay:({text:t,onlyText:n})=>{if(n)return e(`OKAY`,t);console.log(e(`OKAY`,t))},warning:({text:t,onlyText:n})=>{if(n)return e(`WARNING`,t);console.warn(e(`WARNING`,t))},info:({text:t,onlyText:n})=>{if(n)return e(`INFO`,t);console.info(e(`INFO`,t))},emitEvent:e=>{let t=new Date().toLocaleTimeString(`en-US`,{hour12:!1}).split(` `)[0];j.push(`[${t}] ${e}`)},clearEventArray:()=>{j.length=0},eventArray:j}},N=e=>e?x(P,`env`,`.env.${e}`):x(P,`env`,`.env`),he=async e=>{let{warning:t,emitEvent:n}=M();if(!await S.pathExists(x(P,`env`)))return n(t({text:`env folder not found`,onlyText:!0})),!1;if(e){if(!await S.pathExists(N(e)))return n(t({text:`.env.${e} file not found`,onlyText:!0})),!1}else return await S.pathExists(N())?!0:(n(t({text:`.env file not found`,onlyText:!0})),!1);return!0},P=process.cwd(),ge=async e=>await he(e)?e?C({path:N(e),quiet:!0}).parsed??{}:C({path:N(),quiet:!0}).parsed??{}:{};async function _e(e,t){let{code:n,errors:r}=await te(e,await f(e,`utf-8`),{lang:t?`ts`:`js`});if(r.length>0)throw Error(`Transformation failed: `+r.map(e=>e.message).join(`, `));return{code:n}}async function ve(e,t){let n=`${e}.timestamp-${Date.now()}-${Math.random().toString(16).slice(2)}`,r=`${n}.mjs`,i=`${l(n)}.mjs`;await d.writeFile(r,t);try{return(await import(i)).default}finally{await d.unlink(r)}}async function ye(e,t=!1){let{code:n}=await _e(e,t);return ve(e,n)}const F=new Map;F.set(`.mjs`,async e=>(await import(l(e).href)).default),F.set(`.ts`,async e=>await ye(e,!0)),F.set(`.json`,async e=>await S.readJson(e)),F.set(`.yaml`,async e=>ee(await d.readFile(e,`utf8`)));async function be({configFile:e}){let t,n=process.cwd(),r=`ikaros.config`,c=[`ts`,`mjs`,`json`,`yaml`].map(e=>`${o(n,r)}.${e}`),l=(await Promise.all(c.map(e=>S.pathExists(e)))).findIndex(Boolean);if(!(l<0)){if(t=a(c[l]),n=s(n,`${r}${t}`),e&&(n=i(e),t=a(e)),!F.has(t))throw Error(`No configuration file ! `);return F.get(t)(n)}}let I=function(e){return e.SERVER=`server`,e.BUILD=`build`,e}({});var L=class{set env(e){this._env=e}get env(){return this._env}set contextPkg(e){this._contextPkg=e}get contextPkg(){return this._contextPkg}get isElectron(){return this.options.platform===`desktopClient`}constructor(t){this.resolveContext=(...e)=>o(this.context,...e);let{command:n,options:r,configFile:i}=t;this.command=n,this.options=r,this.configFile=i,this.context=process.cwd(),this.contextRequire=e(o(this.context,`./`))}static async create(e){let t=new this(e);return await t.initialize(),t}async initialize(){await this.initContextPkg(),await this.initEnv(),await this.loadUserConfig(),await this.onAfterConfigLoaded(),await this.startCompile()}async onAfterConfigLoaded(){}async initContextPkg(){let e=this.resolveContext(`package.json`);try{await d.access(e,u.constants.F_OK)}catch{return}this.contextPkg=JSON.parse(await d.readFile(e,{encoding:`utf8`}))}async initEnv(){let{platform:e,mode:t}=this.options,n={PLATFORM:e,MODE:t},r=await ge(t);this.env={...n,...r}}async loadUserConfig(){this.userConfig=await this.getUserConfig()}resolveContextModule(e){try{return this.contextRequire.resolve(e)}catch{return}}loadContextModule(e){return this.contextRequire(e)}async getUserConfig(){let{configFile:e}=this,t=await be({configFile:e});if(t){if(p(t)){let e={mode:this.options.mode??``,env:{...this.env,PLATFORM:this.options.platform,MODE:this.options.mode??this.env?.MODE},command:this.command};return A.parse(await t(e))}if(_(t))return A.parse(t)}}async startCompile(){switch(this.command){case I.SERVER:await this.dev();break;case I.BUILD:await this.build();break;default:break}}};const R=e=>{let t=`Build failed with errors.
2
2
  `;return e.toString({chunks:!1,colors:!0}).split(/\r?\n/).forEach(e=>{t+=` ${e}\n`}),t},z=(e,t)=>{let{onBuildStatus:n}=t??{};return new Promise((t,r)=>{let i=T(e);i.run((e,a)=>{i.close(i=>{let o=e||i;if(o)return n?.({success:!1,message:o.message||`build error`}),r(o);if(a?.hasErrors()){let e=R(a);return n?.({success:!1,message:e}),r(Error(e))}let s=a?.toString({chunks:!1,colors:!0});return n?.({success:!0,message:s}),t(s)})})})},xe=async(e,t)=>{let{port:n,onBuildStatus:r}=t??{},i=T(e),a=new ne(e.devServer,i);await new Promise((e,t)=>{a.startCallback(i=>i?(r?.({success:!1,port:n,message:i.message}),t(i)):(r?.({success:!0,port:n}),e()))})},Se=(e,t)=>{let{onBuildStatus:n,...r}=t??{};return new Promise((t,i)=>{T(e).watch({ignored:/node_modules/,aggregateTimeout:300,poll:!1,...r},(e,r)=>{if(e)return n?.({success:!1,message:e.message||`watch build error`}),i(e);if(r?.hasErrors()){let e=R(r);return n?.({success:!1,message:e}),i(Error(e))}let a=r?.toString({chunks:!1,colors:!0});return n?.({success:!0,message:a}),t(a)})})},B=x(process.cwd(),`./`),V=[`...`,`.mjs`,`.jsx`,`.ts`,`.tsx`];x(B,`tsconfig.json`);const H=c.fileURLToPath(new c.URL(`../`,import.meta.url)),Ce=e(H),U=(...e)=>x(H,...e),W=(e,t)=>({loader:e.includes(`builtin`)?e:Ce.resolve(e),options:t}),we=(e,t)=>{let{lightningcss:n,sourceMap:r}=t??{},i=W(`builtin:lightningcss-loader`,{...n}),a=(e,n)=>{let a=[i],o=t&&t[`${e}`];return e&&e!==`css`&&a.push(W(`${e}-loader`,Object.assign(o??{},n,{sourceMap:r}))),a};return{less:a(`less`),sass:a(`sass`,{sassOptions:{indentedSyntax:!0,api:`modern-compiler`}}),scss:a(`sass`,{sassOptions:{api:`modern-compiler`}}),stylus:a(`stylus`),styl:a(`stylus`),css:a(`css`)}},Te=(e,t)=>{let n=we(e,t);return Object.entries(n).map(([e,t])=>({test:RegExp(`\\.${e}$`),use:t,type:`css/auto`}))};var G=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`}add(e){return e&&(h(e)?this.list=this.list.concat(e):this.list.push(e)),this}end(){return this.list}},K=class extends G{constructor({env:e=`development`,mode:t=``}){super({env:e,mode:t}),this.defaultScriptLoader=e=>[{test:/\.m?ts$/i,loader:`builtin:swc-loader`,options:{jsc:{parser:{syntax:`typescript`}}},type:`javascript/auto`,exclude:[x(B,`node_modules`)]},{test:/\.m?js$/i,loader:`builtin:swc-loader`,options:{isModule:`unknown`,rspackExperiments:e},type:`javascript/auto`,exclude:[x(B,`node_modules`)]}],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]`}}]}useDefaultCssLoader(e){return Te(this.env,e).forEach(e=>this.add(e)),this}useDefaultScriptLoader(e){return this.add(this.defaultScriptLoader(e)),this}useDefaultResourceLoader(){return this.defaultResourceLoader.forEach(e=>this.add(e)),this}},q=class extends G{constructor({env:e=`development`,mode:t=``}){super({env:e,mode:t})}useDefaultEnvPlugin(e){let{frameworkEnv:t={},extEnv:n={},env:r={}}=e??{};return this.add(De({frameworkEnv:t,extEnv:n,env:r})),this}useCopyPlugin(){return this.env===`production`&&this.add(new T.CopyRspackPlugin({patterns:[{context:x(B,`public`),from:`./`,noErrorOnMissing:!0,globOptions:{ignore:[`**/index.html`,`.*`]}}]})),this}useHtmlPlugin(e){return this.add(new T.HtmlRspackPlugin({template:e??x(B,`index.html`)})),this}},Ee=class{constructor({pages:e,enablePages:t}){this.pages=e,this.enablePages=t,this.getEnablePages()}create(){let e={},t=[];return Object.keys(this.pages).forEach(n=>{e[n]={import:this.pages[n].entry,library:this.pages[n].library},t.push(new T.HtmlRspackPlugin({template:this.pages[n].html,filename:`${n}.html`,chunks:[n],scriptLoading:`blocking`,...this.pages[n].options}))}),{entry:e,plugins:t}}getEnablePages(){let{warning:e,emitEvent:t}=M();if(!g(this.pages)&&h(this.enablePages)){let n={},r=[];if(this.enablePages.forEach(e=>{this.pages[e]?n[e]=this.pages[e]:r.push(e)}),g(r)&&t(e({text:`当前设置页面${r.join()}不存在`,onlyText:!0})),g(n))return;this.pages=n}}};const De=({frameworkEnv:e={},extEnv:t={},env:n={}})=>{let r=Object.assign({},O(t,n)),i=Object.fromEntries(Object.entries(r).map(([e,t])=>[`import.meta.env.${e}`,JSON.stringify(t)])),a=Object.fromEntries(Object.entries({...i,...e}).map(([e,t])=>[e,t]));return new T.DefinePlugin(a)},J={name:de,version:D},Y=`@rspack/ikaros-stats-plugin`,X=w.hex(`#222222`);var Oe=class{constructor(e){this.startCompileHrtime=void 0,this.userConfig=e}apply(e){this.compiler=e,this.isDev=e.options.mode===`development`,new T.ProgressPlugin().apply(e),ae.hide(),this.isDev?this.initDevHook():this.initProdHook()}updateStartCompileTime(){this.startCompileHrtime=oe.hrtime()}getCurrentEndCompileTime(){let e=oe.hrtime(this.startCompileHrtime);return(e[0]*1e9+e[1])/1e6}getError(e){let{errors:t,errorsCount:n=0}=e;if(!(!t||n===0))return t.map(e=>`${X.bgRed(` ERROR `)} ${e.message.trim()}`).join(`
3
3
 
4
4
  `)}getWarn(e){let{warnings:t,warningsCount:n=0}=e;if(!(!t||n===0))return t.map(e=>`${X.bgYellow(` WARN `)} ${e.message.trim()}`).join(`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ikaros-cli/ikaros",
3
- "version": "2.1.2",
3
+ "version": "2.1.3",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "publishConfig": {
@@ -42,9 +42,9 @@
42
42
  "npm": ">=9.5.0"
43
43
  },
44
44
  "dependencies": {
45
- "@module-federation/enhanced": "^0.22.0",
45
+ "@module-federation/enhanced": "^0.22.1",
46
46
  "@rsdoctor/rspack-plugin": "^1.4.0",
47
- "@rspack/core": "^1.6.7",
47
+ "@rspack/core": "^1.7.2",
48
48
  "@rspack/dev-server": "^1.1.5",
49
49
  "chalk": "^5.6.2",
50
50
  "cli-cursor": "^5.0.0",
@@ -60,7 +60,7 @@
60
60
  "less-loader": "^12.3.0",
61
61
  "listr2": "^9.0.5",
62
62
  "ora": "^9.0.0",
63
- "oxc-transform": "^0.106.0",
63
+ "oxc-transform": "^0.108.0",
64
64
  "picocolors": "^1.1.1",
65
65
  "pretty-bytes": "^7.1.0",
66
66
  "sass-loader": "^16.0.6",
@@ -71,6 +71,6 @@
71
71
  },
72
72
  "devDependencies": {
73
73
  "@types/fs-extra": "^11.0.4",
74
- "vitest": "^4.0.16"
74
+ "vitest": "^4.0.17"
75
75
  }
76
76
  }