@empjs/cli 3.10.0-beta.6 → 3.10.1

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/README.md CHANGED
@@ -1,19 +1,199 @@
1
- # EMP ⚡ 3.0
1
+ # @empjs/cli
2
2
 
3
- ## 安装
4
- ```
3
+ [![npm version][npm-version-src]][npm-version-href]
4
+ [![npm downloads][npm-downloads-src]][npm-downloads-href]
5
+ [![github][github-src]][github-href]
6
+ [![node][node-src]][node-href]
7
+
8
+ EMP 是一个基于 Rspack 的高性能模块联邦框架,专注于微前端和组件共享,支持 React、Vue 等多框架。
9
+
10
+ ## 快速开始
11
+
12
+ ### 环境要求
13
+ - Node.js 18+
14
+ - pnpm 8+(推荐)
15
+
16
+ ### 安装
17
+ ```bash
18
+ # 使用 pnpm 安装(推荐)
5
19
  pnpm i @empjs/cli
20
+
21
+ # 或使用 npm
22
+ npm i @empjs/cli
23
+ ```
24
+
25
+ ### 项目脚本配置
26
+ 在 `package.json` 中添加以下脚本:
27
+
28
+ ```json
29
+ "scripts": {
30
+ "dev": "emp dev", // 开发模式
31
+ "build": "emp build", // 生产构建
32
+ "start": "emp serve", // 本地预览生产版本
33
+ "stat": "emp build --analyze", // 包体积分析
34
+ "emp": "emp" // EMP CLI 命令
35
+ }
36
+ ```
37
+
38
+ ## 执行指令
39
+
40
+ ### 开发模式
41
+ ```bash
42
+ # 启动开发服务器
43
+ pnpm dev
44
+
45
+ # 指定环境
46
+ pnpm dev --env test
47
+ ```
48
+
49
+ ### 构建
50
+ ```bash
51
+ # 生产构建
52
+ pnpm build
53
+
54
+ # 分析包体积
55
+ pnpm stat
56
+ ```
57
+
58
+ ### 本地预览
59
+ ```bash
60
+ # 预览生产构建
61
+ pnpm start
62
+ ```
63
+
64
+ ## 配置文件
65
+
66
+ ### TypeScript 配置 (tsconfig.json)
67
+ ```json
68
+ {
69
+ "extends": "@empjs/cli/tsconfig/react",
70
+ "compilerOptions": {
71
+ "baseUrl": "./",
72
+ "paths": {
73
+ "@/*": ["src/*"],
74
+ "~@/*": ["src/*"]
75
+ },
76
+ // 解决 scss 的 css module 提示问题
77
+ "plugins": [
78
+ {
79
+ "name": "typescript-plugin-css-modules",
80
+ "options": {
81
+ "additionalData": "@import '~@/css/mixin';",
82
+ "allowUnknownClassnames": true
83
+ },
84
+ "postcssOptions": {
85
+ "useConfig": true
86
+ }
87
+ }
88
+ ]
89
+ },
90
+ "include": ["src"]
91
+ }
6
92
  ```
7
93
 
8
- ## 配置 emp-config.js
94
+ ### 基础配置 (emp-config.js/ts)
9
95
  ```js
10
96
  import {defineConfig} from '@empjs/cli'
97
+
11
98
  export default defineConfig(store => {
12
99
  return {
100
+ // 配置 Rspack 链式操作
13
101
  chain(chainConfig) {},
14
102
  }
15
103
  })
104
+ ```
105
+
106
+ ### React 与模块联邦配置示例
107
+ ```js
108
+ import {defineConfig} from '@empjs/cli'
109
+ import pluginReact from '@empjs/plugin-react'
110
+ import {externalReact, pluginRspackEmpShare} from '@empjs/share'
16
111
 
112
+ export default defineConfig(store => {
113
+ const ip = store.server.ip
114
+ const port = 6001
115
+
116
+ return {
117
+ plugins: [
118
+ // 添加 React 插件支持
119
+ pluginReact(),
120
+
121
+ // 配置模块联邦共享
122
+ pluginRspackEmpShare({
123
+ name: 'mfHost',
124
+ // 暴露组件
125
+ exposes: {
126
+ './App': './src/App',
127
+ './CountComp': './src/CountComp',
128
+ './Section': './src/component/Section',
129
+ },
130
+ // 生成清单文件
131
+ manifest: true,
132
+ // 生成类型声明
133
+ dts: {
134
+ generateTypes: true,
135
+ },
136
+ // 配置运行时
137
+ empRuntime: {
138
+ framework: {
139
+ global: 'EMP_ADAPTER_REACT',
140
+ libs: [`https://unpkg.com/@empjs/cdn-react@0.18.0/dist/reactRouter.${store.mode}.umd.js`],
141
+ },
142
+ runtime: {
143
+ lib: `http://${ip}:2100/sdk.js`,
144
+ },
145
+ setExternals: externalReact,
146
+ },
147
+ }),
148
+ ],
149
+ define: {ip, port},
150
+ build: {
151
+ polyfill: {
152
+ mode: 'entry',
153
+ entryCdn: 'https://unpkg.com/@empjs/polyfill@0.0.2/dist/es.js',
154
+ browserslist: store.browserslistOptions.h5,
155
+ },
156
+ sourcemap: true,
157
+ },
158
+ server: {
159
+ port,
160
+ open: false,
161
+ hot: true,
162
+ },
163
+ debug: {
164
+ clearLog: false,
165
+ },
166
+ }
167
+ })
17
168
  ```
18
- ## 项目要求
19
- + nodejs 20
169
+
170
+ ## 高级功能
171
+
172
+ ### 模块联邦
173
+ EMP 提供了强大的模块联邦功能,支持组件共享和微前端架构:
174
+
175
+ - **暴露组件**:通过 `exposes` 配置暴露组件
176
+ - **远程加载**:使用 `remotes` 配置加载远程组件
177
+ - **类型支持**:通过 `dts` 配置生成类型声明
178
+
179
+ ### 多框架支持
180
+ EMP 支持多种前端框架:
181
+
182
+ - React:使用 `@empjs/plugin-react`
183
+ - Vue 2:使用 `@empjs/plugin-vue2`
184
+ - Vue 3:使用 `@empjs/plugin-vue3`
185
+
186
+
187
+ ## QQ 交流群
188
+ <img width="200" src="https://github.com/empjs/emp/blob/main/docs/assets/qq.jpeg?raw=true" />
189
+
190
+
191
+
192
+ [npm-version-src]: https://img.shields.io/npm/v/@empjs/cli?style=flat&colorA=18181B&colorB=F0DB4F
193
+ [npm-version-href]: https://npmjs.com/package/@empjs/cli
194
+ [npm-downloads-src]: https://img.shields.io/npm/dm/@empjs/cli?style=flat&colorA=18181B&colorB=F0DB4F
195
+ [npm-downloads-href]: https://npmjs.com/package/@empjs/cli
196
+ [github-src]: https://img.shields.io/badge/github-@emp/cli-blue?style=flat&colorA=18181B&colorB=F0DB4F
197
+ [github-href]: https://github.com/empjs/emp
198
+ [node-src]: https://img.shields.io/node/v/@empjs/cli?style=flat&colorA=18181B&colorB=F0DB4F
199
+ [node-href]: https://nodejs.org/en/about/previous-releases
package/dist/index.cjs CHANGED
@@ -1,17 +1,22 @@
1
- "use strict";var cs=Object.create;var H=Object.defineProperty;var ms=Object.getOwnPropertyDescriptor;var us=Object.getOwnPropertyNames;var hs=Object.getPrototypeOf,fs=Object.prototype.hasOwnProperty;var c=(s,e)=>()=>(s&&(e=s(s=0)),e);var R=(s,e)=>{for(var t in e)H(s,t,{get:e[t],enumerable:!0})},Je=(s,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of us(e))!fs.call(s,r)&&r!==t&&H(s,r,{get:()=>e[r],enumerable:!(i=ms(e,r))||i.enumerable});return s};var l=(s,e,t)=>(t=s!=null?cs(hs(s)):{},Je(e||!s||!s.__esModule?H(t,"default",{value:s,enumerable:!0}):t,s)),gs=s=>Je(H({},"__esModule",{value:!0}),s);var o=c(()=>{"use strict"});var d,ys,x,vs,bs,Cs,pe,_,ws,xs,N,ae,Ss,le,L,h,A=c(()=>{"use strict";o();d=l(require("chalk"),1),ys=d.default.hex("#1abc9c"),x=d.default.hex("#16a085"),vs=d.default.hex("#2ecc71"),bs=d.default.hex("#27ae60"),Cs=d.default.hex("#e74c3c"),pe=d.default.hex("#c0392b"),_=d.default.hex("#f1c40f"),ws=d.default.hex("#f39c12"),xs=d.default.hex("#3498db"),N=d.default.hex("#2980b9"),ae=d.default.hex("#ecf0f1"),Ss=d.default.hex("#fd79a8"),le=d.default.hex("#e84393"),L=d.default.hex("#7f8c8d"),h={lightGreen:ys,green:x,lightCyan:vs,cyan:bs,lightRed:Cs,red:pe,yellow:_,orange:ws,lightBlue:xs,blue:N,white:ae,lightMagenta:Ss,magenta:le,gray:L}});var z,n,O=c(()=>{"use strict";o();A();z=class{brandName="";fullName="";logLevel="debug";isLogTime=!1;setup({brandName:e,logLevel:t,fullName:i}){this.brandName=` [${e}] `,this.fullName=` ${i} `,this.fullName=h.green.bold(this.fullName),t&&(this.logLevel=t)}time=(...e)=>this.isLogTime&&console.time(...e);timeEnd=(...e)=>this.isLogTime&&console.timeEnd(...e);debug=(...e)=>["debug"].includes(this.logLevel)&&console.log(...e);info=(...e)=>["debug","info"].includes(this.logLevel)&&console.log(...e);warn=(...e)=>["debug","info","warn"].includes(this.logLevel)&&console.warn(...e);error=(...e)=>["debug","info","warn","error"].includes(this.logLevel)&&console.error(...e);blue=e=>{console.log(`${h.lightBlue(this.brandName)}${h.blue(` ${e} `)}
2
- `)};cyan=e=>{console.log(`${h.lightCyan(this.brandName)}${h.cyan(` ${e} `)}
3
- `)};magenta=e=>{console.log(`${h.lightMagenta(this.brandName)}${h.magenta(` ${e} `)}
4
- `)};green=e=>{console.log(`${h.lightGreen(this.brandName)}${h.green(` ${e} `)}
5
- `)};yellow=e=>{console.log(`${h.yellow(this.brandName)}${h.orange(` ${e} `)}
6
- `)};red=e=>{console.log(`${h.lightRed(this.brandName)}${h.red(` ${e} `)}
7
- `)};sysError=e=>{console.log(`${h.lightRed(" System Error Tips ")}${h.red(` ${e} `)}
8
- `)};link=e=>h.blue(e);title=e=>{console.log(`${this.fullName}${h.yellow.underline(`${e}`)}
9
- `)}},n=new z});var ce,We,me,ks,qe,Xe,Ke,Qe,J=c(()=>{"use strict";o();ce=l(require("fs"),1),We=require("jiti"),me=l(require("path"),1);S();O();ks=["emp-config.ts","emp-config.js","emp.config.ts","emp.config.js","emp-config.mjs","emp-config.cjs","emp-config.mts","emp-config.cts","emp.config.mjs","emp.config.cjs","emp.config.mts","emp.config.cts"],qe=(0,We.createJiti)(__filename,{interopDefault:!0}),Xe=async()=>{n.time("[store]GetEmpConfigPath");let s=ks.map(i=>me.default.resolve(p.root,i)),e=await Promise.all(s.map(i=>ce.default.promises.access(i).then(()=>!0,()=>!1))),t=s.find((i,r)=>e[r]);return n.timeEnd("[store]GetEmpConfigPath"),t},Ke=async()=>{let s=me.default.join(p.root,"tsconfig.json");return await ce.default.promises.access(s).then(()=>!0,()=>!1)||(s=void 0),s},Qe=()=>{let s=[__filename];return p.rootPaths.pkg&&s.push(p.rootPaths.pkg),p.rootPaths.empConfig&&s.push(p.rootPaths.empConfig),p.rootPaths.tsConfig&&s.push(p.rootPaths.tsConfig),s}});var ge={};R(ge,{clearConsole:()=>he,deepAssign:()=>v,ensureArray:()=>Os,getLanIp:()=>D,getPkgVersion:()=>ue,importJsVm:()=>fe,jsonFilter:()=>Ps,timeFormat:()=>W,vCompare:()=>V});function he(){process.stdout.write(process.platform==="win32"?"\x1B[2J\x1B[0f":"\x1B[2J\x1B[3J\x1B[H")}function v(s,...e){for(let t of e)for(let i in t){let r=t[i],a=s[i];if(Object(r)==r&&Object(a)===a){s[i]=v(a,r);continue}s[i]=t[i]}return s}var Ye,Ze,et,tt,D,ue,Os,Ps,V,W,fe,w=c(()=>{"use strict";o();Ye=require("address"),Ze=l(require("chalk"),1),et=require("default-gateway"),tt=l(require("fs-extra"),1),D=()=>{let s="127.0.0.1";try{let{int:e}=(0,et.gateway4sync)();return(0,Ye.ip)(e||"")||s}catch{return s}},ue=s=>{try{let{version:e}=tt.default.readJSONSync(s);return e}catch{return}};Os=s=>Array.isArray(s)?s:[s],Ps=(s={},e=[])=>Object.keys(s).filter(t=>!e.includes(t)).reduce((t,i)=>(t[i]=s[i],t),{}),V=(s="",e="")=>{let t=s.replace("^","").split("."),i=e.replace("^","").split("."),r=Math.max(t.length,i.length),a=0;for(let u=0;u<r;u++){let f=t.length>u?t[u]:0,y=isNaN(Number(f))?f.charCodeAt():Number(f),j=i.length>u?i[u]:0,g=isNaN(Number(j))?j.charCodeAt():Number(j);if(y<g){a=-1;break}else if(y>g){a=1;break}}return a},W=s=>{s=s/1e3;let e=i=>Ze.default.bold(i);if(s<1)return`${s*1e3} ms`;if(s<10){let i=s>=.01?2:3;return`${e(s.toFixed(i))} s`}if(s<60)return`${e(s.toFixed(1))} s`;let t=s/60;return`${e(t.toFixed(2))} m`},fe=s=>`data:text/javascript,${s}`});var de,st,ye=c(()=>{"use strict";o();de=l(require("@empjs/chain"),1),st={rule:{mjs:"mjs",typescript:"typescript",javascript:"javascript",sourceMap:"sourceMapLoader",inline:"inline",raw:"raw",svg:"svg",image:"image",font:"fonts",svga:"svga",sass:"sass",less:"less",css:"css"},use:{swc:"swc",sourceMap:"sourceMapLoader",sass:"sassLoader",less:"lessLoader"},plugin:{tsCheckerRspackPlugin:"TsCheckerRspackPlugin",bundleAnalyzer:"bundleAnalyzerPlugin",define:"definePlugin",copy:"copyRspackPlugin",progress:"progressPlugin",html:{prefix:"html-plugin-"},rsdoctor:"rsdoctor",sourceMapDevTool:"sourceMapDevTool"},minimizer:{minJs:"minJs",minCss:"minCss"}}});var ve={};R(ve,{chalk:()=>it.default,color:()=>h,glob:()=>F.glob,logger:()=>n,utils:()=>ge});var it,F,G=c(()=>{"use strict";o();it=l(require("chalk"),1),F=require("glob");A();O();w()});var q,rt=c(()=>{"use strict";o();q=class{op={};constructor(e={}){this.op=e}async afterGetEmpOptions(){this.op.afterGetEmpOptions&&await this.op.afterGetEmpOptions()}async beforePlugin(){this.op.beforePlugin&&await this.op.beforePlugin()}async afterPlugin(){this.op.afterPlugin&&await this.op.afterPlugin()}async beforeModule(){this.op.beforeModule&&await this.op.beforeModule()}async afterModule(){this.op.afterModule&&await this.op.afterModule()}async beforeEmpPlugin(){this.op.beforeEmpPlugin&&await this.op.beforeEmpPlugin()}async afterEmpPlugin(){this.op.afterEmpPlugin&&await this.op.afterEmpPlugin()}async beforeBuild(){this.op.beforeBuild&&await this.op.beforeBuild()}async afterBulid(){this.op.afterBulid&&await this.op.afterBulid()}async beforeDevServe(){this.op.beforeDevServe&&await this.op.beforeDevServe()}async afterDevServe(){this.op.afterDevServe&&await this.op.afterDevServe()}async beforeServe(){this.op.beforeServe&&await this.op.beforeServe()}async afterServe(){this.op.afterServe&&await this.op.afterServe()}}});var be,ot,nt=c(()=>{"use strict";o();G();J();w();rt();be=class{store;appSrc="src";appEntry="";base="";target=[];assign(e,t){return t=t||{},v(e,t)}isESM=!1;checkIsESM(e){return["es3","es5"].indexOf(e)===-1}lifeCycle;async setup(e){this.store=e,await this.syncEmpOptions(),await this.setupEmpOptions(),this.lifeCycle=new q(this.store.empOptions.lifeCycle),await this.lifeCycle.afterGetEmpOptions(),this.isESM=this.checkIsESM(this.build.target),this.store.empOptions.target?(this.target=this.store.empOptions.target,Array.isArray(this.target)&&!this.target.includes(this.build.target)&&this.target.push(this.build.target)):this.target=["web",this.build.target];let{appSrc:t,base:i,appEntry:r}=this.store.empOptions;t&&(this.appSrc=t),i&&(this.base=i),r&&(this.appEntry=r)}async setupEmpOptions(){await this.store.server.setupOnEmpOptionSync()}async chain(){this.store.empOptions.chain&&await this.store.empOptions.chain(this.store.chain)}async plugins(){let e=[];this.store.empOptions.plugins&&Array.isArray(this.store.empOptions.plugins)&&this.store.empOptions.plugins.length>0&&(this.store.empOptions.plugins.map(t=>{e.push(t.rsConfig(this.store))}),await Promise.all(e))}get debug(){let e=!1;return this.store.cliOptions.doctor&&(e={}),this.assign({loggerLevel:"info",clearLog:!0,progress:!0,showRsconfig:!1,showPerformance:!1,rsdoctor:e,infrastructureLogging:{appendOnly:!0,level:"warn"},newTreeshaking:this.store.empConfig.isESM,devShowAllLog:!1,showScriptDebug:!1,parallelCodeSplitting:!0,cssChunkingPlugin:!0,warnRuleAsWarning:!0},this.store.empOptions.debug)}get build(){let e=this.store.empOptions.build?.staticDir?`${this.store.empOptions.build?.staticDir}/`:"";return this.assign({outDir:"dist",staticDir:e,assetsDir:"assets",publicDir:"public",chunkIds:this.store.isDev?"named":"deterministic",moduleIds:this.store.isDev?"named":"deterministic",sourcemap:this.store.isDev,minify:!this.store.isDev,minOptions:{},cssminOptions:{},target:"es5",polyfill:{mode:void 0,entryCdn:void 0,splitChunks:!1,include:[],coreJsFeatures:"stable",externalHelpers:!1,browserslist:this.store.browserslistOptions.default},swcConfig:{},devtool:this.store.isDev?"cheap-module-source-map":"source-map"},{...this.store.empOptions.build,staticDir:e})}get html(){let e=this.store.empOptions.html?.template?{}:{charset:{charset:"utf-8"},"http-equiv":{"http-equiv":"X-UA-Compatible",content:"IE=edge"},viewport:{name:"viewport",content:"width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0"},keywords:{keywords:""},description:{description:""}};return this.assign({lang:"zh-CN",title:"EMP",inject:"body",minify:!this.store.isDev,scriptLoading:this.isESM?"module":"defer",meta:e,cache:this.cache!==!1,tags:[]},this.store.empOptions.html)}get entries(){return this.store.empOptions.entries?this.store.empOptions.entries:{}}get server(){let e={host:"0.0.0.0",port:8e3,open:process.platform==="darwin",hot:!0,watchFiles:["src/**/*.html"],static:[{directory:this.store.publicDir,watch:this.store.isDev}],allowedHosts:["all"],historyApiFallback:!0,headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, POST, PUT, DELETE, PATCH, OPTIONS","Access-Control-Allow-Headers":"X-Requested-With, content-type, Authorization"}};return this.store.empOptions.server?.http2&&(this.store.server.httpsType="h2",delete this.store.empOptions.server.http2),this.assign(e,this.store.empOptions.server)}get css(){return this.assign({sass:{mode:"modern",warnRuleAsWarning:this.store.empConfig.debug.warnRuleAsWarning},prifixName:""},this.store.empOptions.css)}get output(){let e=(this.store.isDev,".[contenthash:8]"),t=this.store.isDev?"":".[contenthash:8]",{assetsDir:i,staticDir:r}=this.store.empConfig.build,a={publicPath:this.store.empConfig.base?this.store.empConfig.base:"auto",crossOriginLoading:"anonymous",filename:`${r}js/[name]${e}.js`,cssFilename:`${r}css/[name]${t}.css`,cssChunkFilename:`${r}css/[name]${t}.css`,assetModuleFilename:`${r}${i}/[name]${e}[ext][query]`,path:this.store.outDir,clean:!this.store.isDev,uniqueName:this.store.uniqueName};return this.assign(a,this.store.empOptions.output)}get define(){let e={mode:this.store.mode,env:this.store.cliOptions.env};return this.store.empOptions.define&&(e={...e,...this.store.empOptions.define}),this.setDefine(e)}get tsCheckerRspackPlugin(){let e={};if(this.store.empOptions.tsCheckerRspackPlugin)typeof this.store.empOptions.tsCheckerRspackPlugin=="object"&&(e=this.store.empOptions.tsCheckerRspackPlugin);else return!1;return this.assign({},e)}setDefine(e){let t=this.store.empOptions.defineFix?this.store.empOptions.defineFix:this.isESM?"esm":"cjs",i={};return Object.keys(e).map(r=>{t==="all"?(i[`import.meta.env.${r}`]=JSON.stringify(e[r]),i[`process.env.${r}`]=JSON.stringify(e[r])):t==="esm"?i[`import.meta.env.${r}`]=JSON.stringify(e[r]):t==="cjs"?i[`process.env.${r}`]=JSON.stringify(e[r]):t==="none"&&(i[`${r}`]=JSON.stringify(e[r]))}),i}get externals(){return this.assign({},this.store.empOptions.externals)}get resolve(){return v({alias:{src:this.store.resolve("src"),"@":this.store.resolve("src")},extensions:["...",".js",".jsx",".mjs",".ts",".tsx",".css",".less",".scss",".sass",".json",".wasm",".vue",".svg",".svga"]},this.store.empOptions.resolve)}async syncEmpOptions(){if(n.time("[store][empConfig]SyncEmpOptions"),!this.store.rootPaths.empConfig)return;let e=await qe(this.store.rootPaths.empConfig);typeof e=="function"?this.store.empOptions=await e(this.store):this.store.empOptions=e||{},n.timeEnd("[store][empConfig]SyncEmpOptions")}get moduleTransformRule(){let{moduleTransform:e}=this.store.empOptions,t=this.assign({defaultExclude:!1},e),i={and:[],not:[]};return t.defaultExclude===!0&&i.and.push(/(node_modules|bower_components)/),t?.exclude&&(i.and=i.and.concat(t.exclude)),e?.include&&(i.not=t.include),i}get cacheDir(){return this.store.empOptions.cacheDir?this.store.empOptions.cacheDir:"node_modules/.emp-cache"}get cache(){return this.store.empOptions.cache===!1?!1:this.store.empOptions.cache?this.store.empOptions.cache:"persistent"}get ignoreWarnings(){return this.store.empOptions.ignoreWarnings?this.store.empOptions.ignoreWarnings:[/Conflicting order/]}get autoPages(){let e;return this.store.empOptions.autoPages&&(e=typeof this.store.empOptions.autoPages=="boolean"?{}:this.store.empOptions.autoPages,e=this.assign({path:"pages"},e)),e}},ot=new be});var pt,Ce,at,lt=c(()=>{"use strict";o();pt=l(require("fs-extra"),1);J();Ce=class{store;async setup(e){this.store=e;let t=[this.common(),this.stats(),this.devServer(),this.optimization(),this.checkTsconfig()];await Promise.all(t)}get cache(){if(this.store.empConfig.cache===!1)return!1;let e={type:this.store.empConfig.cache==="persistent"?"persistent":"memory",buildDependencies:Qe(),version:this.store.empPkg.version};return typeof this.store.empConfig.cache=="object"&&(e=this.store.deepAssign(e,this.store.empConfig.cache)),e}get name(){let e=this.store.empConfig.server.port?`_${this.store.empConfig.server.port}`:"";return this.store.pkg.name+e}async common(){this.store.merge({name:this.name,node:{global:!0},experiments:{nativeWatcher:!0,lazyBarrel:!0,inlineConst:!0,inlineEnum:!0,typeReexportsPresence:!0,outputModule:this.store.empConfig.isESM,topLevelAwait:!0,asyncWebAssembly:!0,css:!0,rspackFuture:{bundlerInfo:{force:!1}},cache:this.cache,incremental:"advance-silent",parallelCodeSplitting:this.store.empConfig.debug.parallelCodeSplitting,parallelLoader:!0},lazyCompilation:this.store.isDev,target:this.store.empConfig.target,infrastructureLogging:this.store.empConfig.debug.infrastructureLogging,context:this.store.root,mode:this.store.mode,cache:!!this.store.empConfig.cache,devtool:this.store.empConfig.build.sourcemap?this.store.empConfig.build.devtool:!1,output:this.store.empConfig.output,resolve:this.store.empConfig.resolve,externals:this.store.empConfig.externals,ignoreWarnings:this.store.empConfig.ignoreWarnings,watchOptions:{ignored:["**/node_modules/**","**/@mf-types/**"]}})}async checkTsconfig(){let e=this.store.resolve("tsconfig.json");if(await pt.default.exists(e)){let i={};this.store.isOldRspack?i.tsConfigPath=e:i.tsConfig=e,this.store.merge({resolve:i})}}async stats(){this.store.merge({stats:{colors:!0,all:!1,assets:!1,chunks:!1,timings:!0,version:!0}})}async devServer(){this.store.merge({devServer:this.store.empConfig.server})}async optimization(){let e={moduleIds:this.store.empConfig.build.moduleIds,chunkIds:this.store.empConfig.build.chunkIds,minimize:this.store.empConfig.build.minify,splitChunks:{chunks:"async",cacheGroups:{}}};this.store.empConfig.build.polyfill.mode==="entry"&&this.store.empConfig.build.polyfill.splitChunks&&!this.store.empConfig.build.polyfill.entryCdn&&(e.splitChunks.cacheGroups.coreJs={test:/[\\/]node_modules[\\/](core-js)[\\/]/,name:"coreJs",chunks:"all",enforce:!0}),this.store.chain.merge({optimization:e})}},at=new Ce});var we,ct,mt=c(()=>{"use strict";o();we=class{store;async setup(e){this.store=e;let t=[this.sass(),this.less(),this.css()];await Promise.all(t)}async sass(){let{rule:e,use:t}=this.store.chainName,i={},{sass:r}=this.store.empConfig.css;r.mode==="modern"&&(i.implementation=r.implementation?r.implementation:require.resolve("sass-embedded"),i.api="modern-compiler",i.sourceMap=this.store.empConfig.build.sourcemap,r.sassOptions&&(i.sassOptions=r.sassOptions)),typeof r.additionalData<"u"&&(i.additionalData=r.additionalData),typeof r.warnRuleAsWarning<"u"&&(i.warnRuleAsWarning=r.warnRuleAsWarning),typeof r.webpackImporter<"u"&&(i.webpackImporter=r.webpackImporter),this.store.chain.merge({module:{rule:{[e.sass]:{test:/\.(sass|scss)$/,use:{[t.sass]:{loader:require.resolve("sass-loader"),options:i}},type:"css/auto"}}}})}async less(){let{rule:e,use:t}=this.store.chainName,i={loader:require.resolve("less-loader"),options:{lessOptions:{javascriptEnabled:!0}}};this.store.chain.merge({module:{rule:{[e.less]:{test:/\.less$/,use:{[t.less]:i},type:"css/auto"}}}})}async css(){let{rule:e}=this.store.chainName;this.store.chain.merge({module:{rule:{[e.css]:{test:/\.css$/,use:{},type:"css/auto"}}}})}},ct=new we});function Es(){let s=[`import 'core-js/${p.empConfig.build.polyfill.coreJsFeatures}'`].join(`
10
- `);return fe(s)}var K,X,I,Q=c(()=>{"use strict";o();K=l(require("html-webpack-plugin"),1);w();S();X=class{constructor(){}apply(e){let{webpack:t}=e;p.empConfig.build.polyfill.entryCdn||new t.EntryPlugin(e.context,Es(),{name:void 0}).apply(e)}},I=class{PluginName="HtmlEmpInjectPlugin";chunk="";files=[];constructor(e,t="",i=""){this.PluginName=`${this.PluginName}-${t}`,this.files=e,this.chunk=i}apply(e){e.hooks.compilation.tap(this.PluginName,t=>{K.default.getHooks(t).alterAssetTagGroups.tapPromise(this.PluginName,async i=>(this.chunk&&!i.plugin.userOptions.chunks?.includes(this.chunk)||this.files.map(r=>{let{pos:a,...u}=r;(a==="body"?i.bodyTags:i.headTags).push({attributes:{},voidTag:!1,meta:{plugin:void 0},tagName:"script",...u})}),i))})}}});var b,xe,ut,ht=c(()=>{"use strict";o();b=l(require("path"),1);G();Q();xe=class{store;entriesConfig={};async setup(e){this.store=e,await this.init(),this.toConfig()}setHtmlConfig(e,t){return e.template=this.setTemplate(e.template),e.favicon=this.setFavicion(e.favicon),e.chunks=t,e.filename=`${t[0]}.html`,this.store.empConfig.base&&(e.publicPath=this.store.empConfig.base),this.prepareAndSetAsset(e),e}prepareAndSetAsset(e){let t=e.chunks?e.chunks[0]:void 0;this.store.injectTags(e.tags,t?`injectTags-${t}`:"injectTags",t),delete e.tags}injectPolyfill(){if(!this.store.empConfig.build.polyfill.entryCdn)return;let e=[{attributes:{src:this.store.empConfig.build.polyfill.entryCdn},tagName:"script",pos:"head"}];this.store.injectTags(e,"injectEMPPolyfill")}setChunk(e){return e.replace(b.default.extname(e),"").replace(`${this.store.empConfig.appSrc}${b.default.sep}`,"")}setTemplate(e){return e?this.store.resolve(e):this.store.empResolve(b.default.join("template","index.html"))}setFavicion(e){if(e!=="")return e?this.store.resolve(e):this.store.empResolve(b.default.join("template","favicon.ico"))}setEntryItem(e,t,i){i=i||this.store.resolve(b.default.join(this.store.empConfig.appSrc,e));let r=this.setChunk(e),a=[i];this.entriesConfig[r]={entry:{[r]:a},html:this.setHtmlConfig(t,[r])},this.store.entries[r]=a}setRspackHtmlPlugin(e,t){this.store.chain.plugin(`${this.store.chainName.plugin.html.prefix}${t}`).use(K.default,[e])}setRspackEntry(e){this.store.merge({entry:e})}async init(){this.injectPolyfill(),this.store.empConfig.autoPages?await this.setAutoPage():(await this.setDefaultEntry(),this.setEntryByConfig())}async setAutoPage(){n.time("setAutoPage");let e=this.store.empConfig.autoPages?.path||"pages",t=b.default.join(this.store.appSrc,e),i=b.default.join(t,"**","*.{ts,tsx,jsx,js}"),r=await(0,F.glob)([i],{windowsPathsNoEscape:!0});r=r.map(a=>a.replace(`${t}${b.default.sep}`,"")),r.map(a=>{let u=this.store.empConfig.entries[a]||{};this.setEntryItem(a,{...this.store.empConfig.html,...u},b.default.join(t,a))}),n.timeEnd("setAutoPage")}async setDefaultEntry(){n.time("[store][empConfig]SetDefaultEntry");let e=b.default.join(this.store.appSrc,this.store.empConfig.appEntry?this.store.empConfig.appEntry:"index.{ts,tsx,jsx,js}"),t=await(0,F.glob)([e],{windowsPathsNoEscape:!0});if(t[0]){let i=b.default.join(this.store.empConfig.appSrc,Object.keys(this.store.empConfig.entries).length>0&&this.store.empConfig.appEntry?this.store.empConfig.appEntry:"index");this.setEntryItem(i,this.store.empConfig.html,t[0])}n.timeEnd("[store][empConfig]SetDefaultEntry")}setEntryByConfig(){if(Object.keys(this.store.empConfig.entries).length>0)for(let[e,t]of Object.entries(this.store.empConfig.entries))this.setEntryItem(e,{...this.store.empConfig.html,...t})}toConfig(){for(let[e,t]of Object.entries(this.entriesConfig))this.setRspackHtmlPlugin(t.html,e),this.setRspackEntry(t.entry)}},ut=new xe});var Se,ke,ft,gt=c(()=>{"use strict";o();Se=l(require("path"),1);w();ke=class{store;swcJsOptions={};swcTsOptions={};coreJs={version:"3",alias:"",path:""};async setup(e){this.store=e,this.swcInitOptions(),await this.run()}async run(){let e=[this.jsDataUrl(),this.files(),this.scripts(),this.rspackGenerator(),this.rspackParser()];await this.store.empConfig.lifeCycle.beforeModule(),await Promise.all(e),await this.store.empConfig.lifeCycle.afterModule()}rspackGenerator(){let e=this.store.empConfig.css?.prifixName?`${this.store.empConfig.css?.prifixName}-`:"",t=this.store.isDev?`${e}[id]-[local]-[hash:base64:8]`:`${e}[local]-[hash:5]`;this.store.chain.merge({module:{generator:{"css/auto":{exportsConvention:"as-is",exportsOnly:!1,localIdentName:t,esModule:!0},css:{exportsOnly:!1,esModule:!0},"css/module":{exportsConvention:"as-is",exportsOnly:!1,localIdentName:t,esModule:!0},json:{JSONParse:!0}}}})}rspackParser(){this.store.chain.merge({module:{parser:{javascript:{dynamicImportMode:"lazy",dynamicImportPrefetch:!1,dynamicImportPreload:!1,url:!0,importMeta:!0},css:{namedExports:!1},"css/auto":{namedExports:!1},"css/module":{namedExports:!1}}}})}get isPolyfill(){return!!this.store.empConfig.build.polyfill.mode}swcParser(e){switch(e){case"js":return{syntax:"ecmascript",jsx:!0,decorators:!0,decoratorsBeforeExport:!1};case"ts":return{syntax:"typescript",decorators:!0,tsx:!0,dynamicImport:!0}}}swcJsc(e){let{target:t,polyfill:i}=this.store.empConfig.build,{externalHelpers:r}=i;return{parser:this.swcParser(e),transform:{},target:t,externalHelpers:r,preserveAllComments:!0}}get swcCoreVersion(){let[e,t]=this.coreJs.version.split(".");return`${e}.${t}`}swcOptions(e){let t={jsc:v(this.swcJsc(e),{...this.store.empConfig.build.swcConfig}),isModule:"unknown"};return this.isPolyfill&&(delete t.jsc.target,t.env={coreJs:this.swcCoreVersion,targets:this.store.empConfig.build.polyfill.browserslist},this.store.empConfig.isESM||(t.env.mode=this.store.empConfig.build.polyfill.mode),this.store.empConfig.build.polyfill.mode==="usage"&&(t.env.shippedProposals=!0,t.env.include=this.store.empConfig.build.polyfill.include)),t}swcInitOptions(){let{externalHelpers:e}=this.store.empConfig.build.polyfill;e&&this.store.chain.resolve.alias.set("@swc/helpers",Se.default.dirname(require.resolve("@swc/helpers/package.json"))),this.coreJs.path=require.resolve("core-js/package.json");let t=ue(this.coreJs.path);t&&(this.coreJs.version=t),this.coreJs.alias=Se.default.dirname(this.coreJs.path),this.store.empConfig.build.polyfill.mode&&(this.store.chain.resolve.alias.set("core-js",this.coreJs.alias),this.store.chain.module.rule("javascript").exclude.add(/core-js/),this.store.chain.module.rule("typescript").exclude.add(/core-js/)),this.swcTsOptions=this.swcOptions("ts"),this.swcJsOptions=this.swcOptions("js")}jsDataUrl(){this.store.chain.module.rule("jsDataUrl").merge({mimetype:{or:["text/javascript","application/javascript"]}}).resolve.set("fullySpecified",!1).end().use("swcJsParser").loader("builtin:swc-loader").options(this.swcJsOptions)}async scripts(){let e=[],{rule:t,use:i}=this.store.chainName;this.store.chain.merge({module:{parser:{javascript:{exportsPresence:"error",importExportsPresence:"error"}},rule:{[t.mjs]:{test:/\.m?js/,resolve:{fullySpecified:!1}},[t.typescript]:{test:/\.(ts|tsx)$/,exclude:e,use:{[i.swc]:{loader:"builtin:swc-loader",options:this.swcTsOptions}}},[t.javascript]:{test:/\.((m|c)?js|jsx)$/,exclude:e,use:{[i.swc]:{loader:"builtin:swc-loader",options:this.swcJsOptions}}}}}})}async files(){let{rule:e}=this.store.chainName;this.store.chain.merge({module:{rule:{[e.svg]:{test:/\.svg$/,type:"asset/resource"}}}}),this.store.chain.merge({module:{rule:{[e.inline]:{resourceQuery:/inline/,type:"asset/inline"}}}}),this.store.chain.merge({module:{rule:{[e.raw]:{resourceQuery:/raw/,type:"asset/source"}}}}),this.store.chain.merge({module:{rule:{[e.image]:{test:/\.(png|jpe?g|gif|webp|ico)$/i,type:"asset/resource"},[e.font]:{test:/\.(|otf|ttf|eot|woff|woff2)$/i,type:"asset/resource"},[e.svga]:{test:/\.(svga)$/i,type:"asset/resource"}}}})}},ft=new ke});var P,Oe,dt,Pe,yt,vt=c(()=>{"use strict";o();P=l(require("@rspack/core"),1),Oe=l(require("fs"),1),dt=require("ts-checker-rspack-plugin");Q();Pe=class{store;async setup(e){this.store=e;let t=[this.define(),this.anylayze(),this.progress(),this.copy(),this.minify(),this.redoctor(),this.tsCheckerRspackPlugin(),this.cssChunkingPlugin()];this.beforeLifeCycle(),await this.store.empConfig.lifeCycle.beforePlugin(),await Promise.all(t),await this.store.empConfig.lifeCycle.afterPlugin()}beforeLifeCycle(){let{store:e}=this;e.empConfig.build.polyfill.mode==="entry"&&e.chain.plugin("empPolyfill").use(X)}async anylayze(){if(!this.store.cliOptions.analyze)return;let{default:{BundleAnalyzerPlugin:e}}=await import("webpack-bundle-analyzer");this.store.chain.plugin(this.store.chainName.plugin.bundleAnalyzer).use(e,[{analyzerPort:this.store.empConfig.server.port,defaultSizes:"gzip",analyzerHost:this.store.getLanIp()||"127.0.0.1"}])}tsCheckerRspackPlugin(){if(this.store.empConfig.tsCheckerRspackPlugin===!1)return!1;this.store.chain.plugin(this.store.chainName.plugin.tsCheckerRspackPlugin).use(dt.TsCheckerRspackPlugin,[this.store.empConfig.tsCheckerRspackPlugin])}async define(){this.store.chain.plugin(this.store.chainName.plugin.define).use(P.default.DefinePlugin,[this.store.empConfig.define])}async copy(){let e=this.store.resolve("public");Oe.default.existsSync(e)&&Oe.default.readdirSync(e).length>0&&this.store.chain.plugin(this.store.chainName.plugin.copy).use(P.default.CopyRspackPlugin,[{patterns:[{from:e,to:this.store.resolve(this.store.empConfig.build.outDir),noErrorOnMissing:!0,globOptions:{ignore:["**/.DS_Store"]}}]}])}async progress(){if(!this.store.empConfig.debug.progress)return;let e={};this.store.isOldRspack||(e={template:"{bar:25.green/white}{spinner:.green}{percent}% {wide_msg:.dim}",tick:void 0,progressChars:"\u25A9\u25A9"}),this.store.chain.plugin(this.store.chainName.plugin.progress).use(P.default.ProgressPlugin,[e])}minify(){this.store.chain.optimization.minimizer(this.store.chainName.minimizer.minJs).use(P.default.SwcJsMinimizerRspackPlugin,[this.store.empConfig.build.minOptions]);let{SwcCssMinimizerRspackPlugin:e,LightningCssMinimizerRspackPlugin:t}=P.default;e?this.store.chain.optimization.minimizer(this.store.chainName.minimizer.minCss).use(e,[this.store.empConfig.build.cssminOptions]):t&&this.store.chain.optimization.minimizer(this.store.chainName.minimizer.minCss).use(t,[this.store.empConfig.build.cssminOptions])}redoctor(){if(!this.store.empConfig.debug.rsdoctor)return;let{RsdoctorRspackPlugin:e}=require("@rsdoctor/rspack-plugin"),t={};typeof this.store.empConfig.debug.rsdoctor=="object"&&(t=this.store.empConfig.debug.rsdoctor),this.store.chain.plugin(this.store.chainName.plugin.rsdoctor).use(e,[t])}sourceMapDevToolPlugin(){if(!this.store.empConfig.build.sourcemap)return;let e={};typeof this.store.empConfig.build.sourcemap=="object"&&(e=this.store.empConfig.build.sourcemap),this.store.chain.plugin(this.store.chainName.plugin.sourceMapDevTool).use(P.default.SourceMapDevToolPlugin,[e])}circularDependency(){this.store.chain.plugin("circularDependency").use(P.default.CircularDependencyRspackPlugin,[{}])}cssChunkingPlugin(){this.store.empConfig.debug.cssChunkingPlugin&&this.store.chain.plugin("CssChunkingPlugin").use(P.default.experiments.CssChunkingPlugin,[{}])}},yt=new Pe});var Ee,bt,Ct=c(()=>{"use strict";o();lt();mt();ht();gt();vt();Ee=class{store;async setup(e){this.store=e;let t=[at.setup(this.store),ft.setup(this.store),yt.setup(this.store),ut.setup(this.store),ct.setup(this.store)];await Promise.all(t),await this.store.empConfig.lifeCycle.beforeEmpPlugin(),await this.store.empConfig.plugins(),await this.store.empConfig.lifeCycle.afterEmpPlugin(),await this.store.empConfig.chain()}},bt=new Ee});async function Y(s,e=void 0){if(s!==js&&(s<wt||s>je))throw new Error(`Port number must lie between ${wt} and ${je}`);let t=s,i=$s(),r;e&&!i.has(e)?r=new Set([e]):r=i;let a=new Set(["EADDRINUSE","EACCES"]);for(;t<=je;)try{return await Ds(t,r)}catch(u){if(!a.has(u.code))throw u;t+=1}throw new Error("No available ports found")}var xt,St,wt,je,js,$s,Ts,Ds,kt=c(()=>{"use strict";o();xt=l(require("net"),1),St=l(require("os"),1),wt=1024,je=65535,js=443,$s=()=>{let s=St.default.networkInterfaces(),e=new Set([void 0,"0.0.0.0"]);for(let t of Object.values(s))if(t)for(let i of t)e.add(i.address);return e},Ts=(s,e)=>new Promise((t,i)=>{let r=xt.default.createServer();r.unref(),r.on("error",i),r.listen(s,e,()=>{let{port:a}=r.address();r.close(()=>{t(a)})})}),Ds=async(s,e)=>{let t=new Set(["EADDRNOTAVAIL","EINVAL"]);for(let i of e)try{await Ts(s,i)}catch(r){if(!t.has(r.code))throw r}return s}});var Ot,$e,Te,Z,Pt=c(()=>{"use strict";o();Ot=l(require("chalk"),1);A();$e=l(require("url"),1);w();Te=class{imf={protocol:"",port:8e3,pathname:"/"};host="0.0.0.0";urls={lanUrlForConfig:"",lanUrlForTerminal:L("unavailable"),localUrlForTerminal:"",localUrlForBrowser:""};setup(e){e.host&&(this.host=e.host),e.protocol&&(this.imf.protocol=e.protocol),e.pathname&&(this.imf.pathname=e.pathname),e.port&&(this.imf.port=e.port),this.setupUrls()}setupUrls(){let{host:e}=this,t=e==="0.0.0.0"||e==="::",i;if(t){i="localhost";try{this.urls.lanUrlForConfig=this.getLanIp(),this.urls.lanUrlForConfig&&(/^10[.]|^172[.](1[6-9]|2[0-9]|3[0-1])[.]|^192[.]168[.]/.test(this.urls.lanUrlForConfig)?this.urls.lanUrlForTerminal=this.prettyPrintUrl(this.urls.lanUrlForConfig):this.urls.lanUrlForConfig="")}catch{}}else i=e,this.urls.lanUrlForConfig=e,this.urls.lanUrlForTerminal=this.prettyPrintUrl(this.urls.lanUrlForConfig);this.urls.localUrlForTerminal=this.prettyPrintUrl(i),this.urls.localUrlForBrowser=this.formatUrl(i)}getLanIp=D;formatUrl(e){let{protocol:t,port:i,pathname:r}=this.imf;return $e.default.format({protocol:t,hostname:e,port:i,pathname:r})}prettyPrintUrl(e){let{protocol:t,port:i,pathname:r}=this.imf;return $e.default.format({protocol:t,hostname:e,port:Ot.default.bold(i),pathname:r})}},Z=new Te});var jt,$t,Tt,Et,Rs,Ns,Dt,Rt=c(()=>{"use strict";o();jt=require("child_process"),$t=require("util");S();O();Tt=(0,$t.promisify)(jt.exec),Et=["Google Chrome Canary","Google Chrome Dev","Google Chrome Beta","Google Chrome","Microsoft Edge","Brave Browser","Vivaldi","Chromium"],Rs=async()=>{let s=process.env.BROWSER;if(!s||!Et.includes(s)){let{stdout:e}=await Tt("ps cax");s=Et.find(t=>e.includes(t))}return s},Ns=async s=>{if(process.platform==="darwin")try{let t=await Rs();if(t){let i=`osascript openChrome.applescript "${encodeURI(s)}" "${t}"`;return await Tt(i,{cwd:p.resource.dir}),!0}}catch(t){n.debug(t)}try{let{default:t}=await import("open");return await t(s),!0}catch(t){return n.error("Failed to open start URL."),n.error(t),!1}},Dt=Ns});var De,ee,Nt=c(()=>{"use strict";o();De=l(require("fs/promises"),1);G();A();kt();Pt();Rt();w();ee=class{ip=D();host=this.ip;isAutoDevBase=!1;isHttps=!1;httpsType="default";protocol="http";port=8e3;store;publicPath="/";publicHasHttp=!1;isOpenBrower=!1;url="";urls={localUrlForBrowser:"",localUrlForTerminal:"",lanUrlForTerminal:"",lanUrlForConfig:""};constructor(e){this.store=e}async setupOnEmpOptionSync(){this.store.cliAction!=="build"&&(this.port=await Y(this.port),this.setHttps(),await this.setAutoDevBase())}get config(){return{}}async setupOnStore(){if(this.store.cliAction==="build")return;let{store:e}=this;this.publicPath=e.rsConfig.output?.publicPath==="auto"?"/":e.rsConfig.output?.publicPath||"/",this.isOpenBrower=!!e.empConfig.server.open,this.protocol=this.isHttps?"https":"http",this.host=e.empConfig.server.host?e.empConfig.server.host:this.ip,e.empConfig.server.port&&e.empConfig.server.port!==this.port&&(this.port=await Y(e.empConfig.server.port)),Z.setup(this),this.publicPath&&(this.publicPath.indexOf("http://")>-1||this.publicPath.indexOf("https://")>-1)?(this.url=this.publicPath,this.publicHasHttp=!0,this.urls.localUrlForTerminal=Z.prettyPrintUrl("localhost")):(this.urls=Z.urls,this.url=this.urls.localUrlForBrowser)}startOpen(){let{urls:e}=this;this.publicHasHttp?(n.info(`${x("\u279C")} Local: ${n.link(e.localUrlForTerminal)}`),n.info(`${x("\u279C")} Network: ${n.link(this.publicPath)}`)):(n.info(`${x("\u279C")} Local: ${n.link(e.localUrlForTerminal)}`),n.info(`${x("\u279C")} Network: ${n.link(e.lanUrlForTerminal)}
11
- `)),this.isOpenBrower&&Dt(this.url)}async getcert(){let{store:e}=this,t=this.store.rsConfig.devServer||{server:{type:"http"}};if(typeof t.server=="object"&&t.server.type==="https"&&t.server.options&&t.server.options.key&&t.server.options.cert)return t.server.options;let[i,r]=await Promise.all([De.default.readFile(e.resource.key),De.default.readFile(e.resource.cert)]);return{key:i,cert:r}}setHttps(){let{store:e}=this,{server:t,https:i}=e.empOptions.server||{};this.isHttps=t==="https"||typeof t=="object"&&t.type==="https"||i===!0}async setAutoDevBase(){let{store:e}=this;this.isAutoDevBase=!!e.empOptions.autoDevBase&&e.mode==="development"&&!this.isHttpBase,this.isAutoDevBase&&(this.protocol=this.isHttps?"https":"http",e.empOptions.server?.port&&(this.port=e.empOptions.server.port),this.port=await Y(this.port),e.empOptions.base=`${this.protocol}://${this.host}:${this.port}/`,e.empOptions.server=e.deepAssign({port:this.port,client:{webSocketURL:`${this.isHttps?"wss":"ws"}://${this.host}:${this.port}/ws`}},e.empOptions.server))}get isHttpBase(){let e=this.store.empOptions.base||"";return e.indexOf("http://")>-1||e.indexOf("https://")>-1}}});var Lt,C,At,Re,Ne,p,S=c(()=>{"use strict";o();Lt=l(require("fs/promises"),1),C=l(require("path"),1),At=l(require("util"),1),Re=require("@rspack/core");J();O();w();ye();nt();Ct();Nt();ye();Q();Ne=class{rspack=Re.rspack;rspackVersion=Re.rspack.rspackVersion;isOldRspack=V(this.rspackVersion,"1.0.0")===-1;empPkg={dependencies:{},devDependencies:{},version:"2.0.0",name:""};pkg={dependencies:{},devDependencies:{},version:"0.0.0",name:""};root=process.cwd();empRoot=C.default.resolve(__dirname,__filename).replace(`${C.default.sep}dist${C.default.sep}index.js`,"");empSource=C.default.resolve(this.empRoot,"dist");resolve=e=>C.default.isAbsolute(e)?e:C.default.resolve(this.root,e);empResolve=e=>C.default.resolve(this.empRoot,e);appSrc="";outDir="";publicDir="";resource={dir:"",key:"",cert:""};chainName=st;server=new ee(this);cacheDir="";mode="development";cliMode="dev";isDev=!0;cliOptions;chain;rsConfig;empOptions={};empConfig;entries={};debug;cliAction;rootPaths={empConfig:void 0,tsConfig:void 0,pkg:void 0};async setup(e,t){n.time("[store]Setup");let[i,r]=await Promise.all([Xe(),Ke()]);this.rootPaths.empConfig=i,this.rootPaths.tsConfig=r,this.rootPaths.pkg=this.resolve("package.json"),await this.initVars(e,t),this.empConfig=ot,await this.empConfig.setup(this),this.debug={...this.empConfig.debug},this.initPaths(),this.chain=new de.default,await bt.setup(this),this.setLogger(),this.toConfig(),this.logConfig(),await this.server.setupOnStore(),n.timeEnd("[store]Setup")}async initVars(e,t){this.cliAction=e,this.cliOptions=t||{},this.cliMode="prod",this.mode=e==="dev"?"development":"production",this.isDev=this.mode==="development",process.env.NODE_ENV=e==="dev"?"development":"production";let i=require(this.empResolve("package.json")),r=require(this.resolve("package.json"));this.empPkg={...this.empPkg,...i},this.pkg={...this.pkg,...r},this.resource.dir=C.default.join(this.empRoot,"resource"),this.resource.cert=C.default.join(this.resource.dir,"emp.cert"),this.resource.key=C.default.join(this.resource.dir,"emp.key")}initPaths(){this.appSrc=this.resolve(this.empConfig.appSrc),this.outDir=this.resolve(this.empConfig.build.outDir),this.publicDir=this.resolve(this.empConfig.build.publicDir),this.cacheDir=this.resolve(this.empConfig.cacheDir)}loggerExtensionName="";setLoggerExtensionName(e){this.loggerExtensionName=e}setLogger(){let e=this.cliMode==="dev"?"debug":"info";this.debug.loggerLevel&&(e=this.debug.loggerLevel),n.setup({fullName:`EMP\u26A1${this.empPkg.version}${this.cliMode==="dev"?".DEV":""}${this.loggerExtensionName?" "+this.loggerExtensionName:""}`,brandName:"EMP",logLevel:e})}merge(e){this.chain.merge(e)}toConfig(){this.rsConfig=this.chain.toConfig()}logConfig(){if(this.debug.showRsconfig)if(typeof this.debug.showRsconfig=="string"){let e=C.default.join(this.root,this.debug.showRsconfig);Lt.default.writeFile(e,JSON.stringify(this.rsConfig,null,2))}else{this.debug.clearLog=!1;let e={colors:!0,depth:null},t=typeof this.debug.showRsconfig=="object"?v(e,this.debug.showRsconfig):e;console.log(n.link("[Compile Config]")),console.log(At.default.inspect(this.rsConfig,t))}}get browserslistOptions(){return{default:["chrome >= 87","edge >= 88","firefox >= 78","safari >= 14"],h5:["iOS >= 9","Android >= 4.4","last 2 versions","> 0.2%","not dead"],node:["node >= 16"]}}get uniqueName(){return this.encodeVarName(this.pkg.name)}encodeVarName(e){return e.replaceAll("/","_").replaceAll("@","_").replaceAll("-","_")}vCompare=V;deepAssign=v;getLanIp=D;injectTags(e=[],t="",i=""){this.chain.plugin(`${I}-${t}`).use(I,[e,t,i])}},p=new Ne});function Is(s,e){let t=[s,e],i=["File","Size","Gzipped"].reduce((r,a,u)=>{let f=t[u],y=a;return f&&(y=a.length<f?a+" ".repeat(f-a.length):a),`${r+y} `}," ");console.log(N.bold(i))}async function Ft(s){let e=s.toJson({all:!1,assets:!0,timings:!0}),i=e.assets.filter(g=>zs(g.name)).map(Gs);i.sort((g,k)=>g.size-k.size);let r=Math.max(...i.map(g=>g.sizeLabel.length)),a=Math.max(...i.map(g=>(g.folder+E.default.sep+g.name).length));Is(a,r);let u=0,f=0;i.forEach(g=>{let{sizeLabel:k}=g,{name:ps,folder:as,gzipSizeLabel:ls}=g,Be=(as+E.default.sep+ps).length,He=k.length;if(u+=g.size,f+=g.gzippedSize,He<r){let ne=" ".repeat(r-He);k+=ne}let _e=L(g.folder+E.default.sep)+Us(g.name);if(Be<a){let ne=" ".repeat(a-Be);_e+=ne}n.info(` ${_e} ${L(k)} ${ls}`)});let y=`${N.bold("Total size:")} ${te(u)}`,j=`${N.bold("Gzipped size:")} ${te(f)}`;n.info(`
12
- ${y}
13
- ${j}
14
- `),n.info(`${x("\u2713")} Ready in ${W(Number(e.time))}
15
- `)}function se(s=0){n.info(`${x("\u2713")} Ready in ${W(Number(s))}`)}var Mt,E,zt,Ls,As,Ms,zs,Fs,Gs,te,Us,ie=c(()=>{"use strict";o();Mt=l(require("fs"),1),E=l(require("path"),1),zt=require("gzip-size");A();S();O();w();Ls=/\.html$/,As=/\.(?:js|mjs|cjs|jsx)$/,Ms=/\.css$/,zs=s=>!/\.map$/.test(s)&&!/\.LICENSE\.txt$/.test(s),Fs=s=>s>300*1e3?pe:s>100*1e3?_:ae,Gs=s=>{let e=s.name.split("?")[0],t=te(s.size),i=E.default.basename(e),r=E.default.join(E.default.basename(p.empConfig.build.outDir),E.default.dirname(e)),a=Mt.default.readFileSync(E.default.join(p.empConfig.build.outDir,e)),u=a.length,f=(0,zt.gzipSizeSync)(a),y=Fs(f)(te(f));return{size:u,folder:r,name:i,gzippedSize:f,sizeLabel:t,gzipSizeLabel:y}};te=s=>{let e=s/1e3;return`${e.toFixed(e<1?2:1)} kB`},Us=s=>As.test(s)?_(s):Ms.test(s)?x(s):Ls.test(s)?N(s):le(s)});var $,re=c(()=>{"use strict";o();O();w();S();$=class{async setup(e,t){n.time(`[${e}]Setup`),await p.setup(e,t),p.debug.clearLog&&he(),n.title(`${e}`),n.time(`[${e}]Run`),await this.run(),this.processExit(),n.timeEnd(`[${e}]Run`),n.timeEnd(`[${e}]Setup`)}async run(){}processExit(){process.on("SIGINT",function(){process.exit()})}}});var Gt,It,U,Ut=c(()=>{"use strict";o();Gt=require("@rspack/dev-server"),It=l(require("connect"),1),U=class{async setup(e,t,i,r=()=>{}){if(!t.devServer)return console.warn("rspackConfig.devServer need!");let a=new Gt.RspackDevServer(t.devServer,e);return await a.start(),a.middleware?.waitUntilValid(r),a}async beforeCompiler(e){return e.devServer.app=()=>(0,It.default)(),e.devServer.server&&e.devServer.server.type==="https"&&(e.devServer.server.type="http2"),e}}});var Le,Bt,Ht,_t,Jt,Vt,Ae,Wt,qt,M,B,Xt=c(()=>{"use strict";o();Le=l(require("fs"),1),Bt=l(require("fs/promises"),1),Ht=l(require("compression"),1),_t=l(require("connect"),1),Jt=l(require("cors"),1),Vt=l(require("http2"),1),Ae=l(require("path"),1),Wt=l(require("serve-static"),1),qt=require("url"),M=(0,_t.default)();M.use((0,Ht.default)());M.use((0,Jt.default)());B=class{async setup(e,t=()=>{}){let i="index",r=Object.keys(e.rsConfig.entry);if(r.length===0)return e.logger.sysError("emp serve must include entry!");if(r.includes(i)||(i=r[0]),!Le.default.existsSync(e.outDir))return e.logger.sysError(`emp serve must be executed after emp build,${e.outDir} not exist!`);let a=e.resolve(e.rsConfig.output?.path);M.use((0,Wt.default)(a));let u=await Bt.default.readFile(Ae.default.join(a,`${i}.html`),"utf8");if(M.use((f,y,j)=>{let k=(0,qt.parse)(f.url||"",!0).pathname;if(k&&k!=="/"&&Le.default.existsSync(Ae.default.join(a,k)))return j();y.setHeader("Content-Type","text/html"),y.end(u)}),e.server.isHttps){let{key:f,cert:y}=await e.server.getcert();Vt.default.createSecureServer(typeof e.server.isHttps!="boolean"?e.server.isHttps:{key:f,cert:y,allowHTTP1:!0},M).listen(e.server.port,t)}else require("http").createServer(M).listen(e.server.port,t)}}});var Me=c(()=>{"use strict";o();Ut();Xt()});var Yt={};R(Yt,{default:()=>Bs});var Qt,Kt,ze,Bs,Zt=c(()=>{"use strict";o();Qt=require("@rspack/core");ie();w();re();Me();S();Kt=new U,ze=class extends ${get stats(){return{all:p.empConfig.debug.devShowAllLog,colors:!0,assets:!1,chunks:!1,entrypoints:!1,timings:!1,version:!1,errors:!0,warnings:!0}}async getRspackDevConfig(){let e=v(p.rsConfig,{stats:this.stats,devServer:{open:!1,setupExitSignals:!0,port:p.server.port}}),{devServer:t}=e;if(p.server.isHttps&&(!t.server||t.server.type==="https"&&!t.server.options)){let{key:i,cert:r}=await p.server.getcert();t.server={type:"https",options:{key:i,cert:r}}}return Object.hasOwn(t,"https")&&delete t.https,e}async run(){let{server:e}=p,t=await this.getRspackDevConfig();t=await Kt.beforeCompiler(t);let i=(0,Qt.rspack)(t);await p.empConfig.lifeCycle.beforeDevServe(),e.startOpen(),await Kt.setup(i,t,p,async r=>{this.showTimeDone(r),await p.empConfig.lifeCycle.afterDevServe()}),p.debug.showPerformance&&i.hooks.afterDone.tap("done",this.showTimeDone)}showTimeDone=e=>{let t=e?.toJson({all:!1,colors:!1,assets:!1,chunks:!1,timings:!0});se(t.time)}},Bs=new ze});var Fe={};R(Fe,{ServeScript:()=>oe,default:()=>_s});var Hs,es,oe,_s,Ge=c(()=>{"use strict";o();ie();re();Me();S();Hs=new B,es=0,oe=class extends ${async run(){es=Date.now(),await p.empConfig.lifeCycle.beforeServe(),await Hs.setup(p,this.onReady)}onReady=async()=>{p.server.startOpen(),se(Date.now()-es),await p.empConfig.lifeCycle.afterServe()}},_s=new oe});var ss={};R(ss,{default:()=>Js});var ts,Ie,Js,is=c(()=>{"use strict";o();ts=require("@rspack/core");ie();O();re();S();Ie=class extends ${isWatchMode=!1;rspackConfig;isuseServe=!1;isStartServe=!1;watchMode(){this.isWatchMode&&this.rspackConfig.optimization&&(this.rspackConfig.optimization.moduleIds="named",this.rspackConfig.optimization.chunkIds="named",this.rspackConfig.watch=!0)}async startServe(){if(!this.isuseServe||this.isStartServe)return;this.isStartServe=!0;let{default:e}=await Promise.resolve().then(()=>(Ge(),Fe));await e.setup("serve",p.cliOptions)}async run(){await p.empConfig.lifeCycle.beforeBuild(),this.isWatchMode=!!p.cliOptions.watch,this.isuseServe=!!p.cliOptions.serve,this.rspackConfig=p.rsConfig,this.isWatchMode&&this.watchMode(),(0,ts.rspack)(this.rspackConfig,async(e,t)=>{if(console.log(`
16
- `),p.debug.showScriptDebug&&console.log(t?.toString()),e!==null){n.error(e.stack||e),e.message&&n.error(e.message);return}if(!t){n.red("Stats is Undefined.");return}t.hasErrors()&&(n.error(t.toString({all:!1,colors:!0,errors:!0})),n.red("Failed to compile."),process.exit(1)),t.hasWarnings()&&(n.yellow("Compiled with warnings."),n.warn(t.toString({all:!1,chunks:!1,assets:!1,colors:!0,errors:!0,warnings:!0}))),await Ft(t),this.startServe(),await p.empConfig.lifeCycle.afterBulid()})}},Js=new Ie});var Ws={};R(Ws,{Logger:()=>z,color:()=>h,defineConfig:()=>Vs,empHelper:()=>ve,program:()=>ns.program,rspack:()=>os.rspack,runScript:()=>Ue,store:()=>p});module.exports=gs(Ws);o();var os=require("@rspack/core"),ns=require("commander");o();var rs=l(require("process"),1),T=require("commander");var Ve={name:"@empjs/cli",version:"3.10.0-beta.6",description:"emp",license:"MIT",type:"module",files:["dist","bin","resource","template","types","tsconfig"],maintainers:["xuhongbin","ckken","doerme"],repository:{type:"git",url:"git+https://github.com/empjs/emp.git",directory:"packages/cli"},publishConfig:{access:"public",registry:"https://registry.npmjs.org/"},keywords:["rspack","rust","typescript"],bin:{emp:"./bin/emp.js"},main:"dist/index.js",types:"dist/index.d.ts",exports:{".":{import:{types:"./dist/index.d.ts",default:"./dist/index.js"},require:{types:"./dist/index.d.cts",default:"./dist/index.cjs"}},"./emp-tsconfig.json":{default:"./tsconfig/react.json"},"./tsconfig/base":{default:"./tsconfig/base.json"},"./tsconfig/react":{default:"./tsconfig/react.json"},"./tsconfig/vue":{default:"./tsconfig/vue.json"},"./client":{types:"./types/react/index.d.ts",default:"./types/react/index.d.ts"},"./types/base":{types:"./types/base/index.d.ts",default:"./types/base/index.d.ts"},"./types/vue":{types:"./types/vue/index.d.ts",default:"./types/vue/index.d.ts"},"./types/react":{types:"./types/react/index.d.ts",default:"./types/react/index.d.ts"}},scripts:{dev:"tsup --watch --env.ENV dev",build:"tsup --env.ENV prod",ph:"pnpm publish --no-git-checks"},engines:{node:">=18.0.0"},author:"Ken",devDependencies:{"@types/compression":"^1.7.2","@types/connect":"^3.4.38","@types/cors":"^2.8.12","@types/default-gateway":"^7.2.1","@types/fs-extra":"^11.0.4","@types/node":"^20.8.7","@types/react":"^18.3.2","@types/serve-static":"^1.15.8","@types/watchpack":"^2.4.3","@types/webpack":"^5.28.4","@types/webpack-bundle-analyzer":"^4.6.2","@types/webpack-sources":"^3.2.2",vue:"^3.5.21"},dependencies:{"@empjs/chain":"workspace:*","@rsdoctor/rspack-plugin":"1.2.3","@rspack/core":"1.5.3","@rspack/dev-server":"1.1.4","@swc/helpers":"^0.5.17","@vue/tsconfig":"^0.8.1",address:"^2.0.2",chalk:"^5.3.0",commander:"11.1.0",compression:"1.8.1",connect:"3.7.0","core-js":"^3.41.0",cors:"2.8.5","default-gateway":"7.2.2","fs-extra":"11.3.1",glob:"11.0.3","gzip-size":"7.0.0","html-webpack-plugin":"5.6.4",jiti:"2.0.0","less-loader":"^12.2.0",open:"10.2.0","sass-embedded":"1.91.0","sass-loader":"16.0.5","serve-static":"2.2.0","ts-checker-rspack-plugin":"1.1.5","typescript-plugin-css-modules":"5.2.0","webpack-bundle-analyzer":"4.10.2"}};async function Ue(){T.program.version(Ve.version,"-v, --version").usage("<command> [options]"),T.program.command("dev").description("Dev \u6A21\u5F0F").option("-e, --env <env>","\u90E8\u7F72\u73AF\u5883 dev\u3001test\u3001prod").option("-rd, --doctor","\u5F00\u542Frsdoctor,\u53EF\u901A\u8FC7debug.rsdoctor\u64CD\u4F5C").option("-h, --hot","\u662F\u5426\u4F7F\u7528\u70ED\u66F4\u65B0 \u9ED8\u8BA4\u542F\u52A8").option("-o, --open","\u662F\u5426\u6253\u5F00\u8C03\u8BD5\u9875\u9762 \u9ED8\u8BA4\u4E0D\u6253\u5F00").option("-t, --ts","\u751F\u6210\u7C7B\u578B\u6587\u4EF6 \u9ED8\u8BA4\u4E3A false").option("-pr, --profile","\u7EDF\u8BA1\u6A21\u5757\u6D88\u8017").option("-cl, --clearLog <clearLog>","\u6E05\u7A7A\u65E5\u5FD7 \u9ED8\u8BA4\u4E3A true").option("-ev, --env-vars <key=value>","\u5B9A\u4E49\u4E00\u4E2A\u73AF\u5883\u53D8\u91CF -ev key=value \u591A\u4E2A\u73AF\u5883\u53D8\u91CF\u91CD\u590D\u8C03\u7528 -ev key=value -ev key=value",(s,e)=>{let[t,i]=s.split("=");return e[t]=i,e},{}).action(async s=>{let{default:e}=await Promise.resolve().then(()=>(Zt(),Yt));await e.setup("dev",s)}),T.program.command("build").description("Build \u6A21\u5F0F").option("-e, --env <env>","\u90E8\u7F72\u73AF\u5883 dev\u3001test\u3001prod").option("-rd, --doctor","\u5F00\u542Frsdoctor,\u53EF\u901A\u8FC7debug.rsdoctor\u64CD\u4F5C").option("-a, --analyze","\u751F\u6210\u5206\u6790\u62A5\u544A \u9ED8\u8BA4\u4E3A false").option("-t, --ts","\u751F\u6210\u7C7B\u578B\u6587\u4EF6 \u9ED8\u8BA4\u4E3A false").option("-pr, --profile","\u7EDF\u8BA1\u6A21\u5757\u6D88\u8017").option("-cl, --clearLog <clearLog>","\u6E05\u7A7A\u65E5\u5FD7 \u9ED8\u8BA4\u4E3A true").option("-w, --watch","watch \u6A21\u5F0F").option("-sv, --serve","watch \u6A21\u5F0F\u4E0B\u542F\u52A8serve").option("-ev, --env-vars <key=value>","\u5B9A\u4E49\u4E00\u4E2A\u73AF\u5883\u53D8\u91CF -ev key=value \u591A\u4E2A\u73AF\u5883\u53D8\u91CF\u91CD\u590D\u8C03\u7528 -ev key=value -ev key=value",(s,e)=>{let[t,i]=s.split("=");return e[t]=i,e},{}).action(async s=>{let{default:e}=await Promise.resolve().then(()=>(is(),ss));await e.setup("build",s)}),T.program.command("serve").description("Server \u6A21\u5F0F").option("-cl, --clearLog <clearLog>","\u6E05\u7A7A\u65E5\u5FD7 \u9ED8\u8BA4\u4E3A true").option("-e, --env <env>","\u90E8\u7F72\u73AF\u5883 dev\u3001test\u3001prod").option("-ev, --env-vars <key=value>","\u5B9A\u4E49\u4E00\u4E2A\u73AF\u5883\u53D8\u91CF -ev key=value \u591A\u4E2A\u73AF\u5883\u53D8\u91CF\u91CD\u590D\u8C03\u7528 -ev key=value -ev key=value",(s,e)=>{let[t,i]=s.split("=");return e[t]=i,e},{}).action(async s=>{let{default:e}=await Promise.resolve().then(()=>(Ge(),Fe));await e.setup("serve",s)}),T.program.command("dts").description("\u62C9\u53D6 remote \u9879\u76EE\u7684 d.ts").option("-p, --typingsPath <typingsPath>","\u4E0B\u8F7D\u76EE\u5F55").option("-e, --env <env>","\u90E8\u7F72\u73AF\u5883 dev\u3001test\u3001prod").action(s=>{}),T.program.command("init").description("\u521D\u59CB\u5316 emp \u9879\u76EE").option("-d, --data [data]","JSON\u6570\u636E http\u5730\u5740 \u6216\u8005 \u6587\u4EF6\u8DEF\u5F84\u76F8\u5BF9\u3001\u7EDD\u5BF9\u8DEF\u5F84").action(s=>{}),T.program.parse(rs.default.argv)}S();O();G();function Vs(s){return s}0&&(module.exports={Logger,color,defineConfig,empHelper,program,rspack,runScript,store});
1
+ "use strict";var Di=Object.create;var ue=Object.defineProperty;var Ri=Object.getOwnPropertyDescriptor;var Ti=Object.getOwnPropertyNames;var ji=Object.getPrototypeOf,Ni=Object.prototype.hasOwnProperty;var w=(s,e)=>()=>(s&&(e=s(s=0)),e);var X=(s,e)=>{for(var t in e)ue(s,t,{get:e[t],enumerable:!0})},Lt=(s,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Ti(e))!Ni.call(s,r)&&r!==t&&ue(s,r,{get:()=>e[r],enumerable:!(i=Ri(e,r))||i.enumerable});return s};var d=(s,e,t)=>(t=s!=null?Di(ji(s)):{},Lt(e||!s||!s.__esModule?ue(t,"default",{value:s,enumerable:!0}):t,s)),Ai=s=>Lt(ue({},"__esModule",{value:!0}),s);var p=w(()=>{"use strict"});var me,ze=w(()=>{me={name:"@empjs/cli",version:"3.10.1",description:"emp",license:"MIT",type:"module",files:["dist","bin","resource","template","types","tsconfig"],maintainers:["xuhongbin","ckken","doerme"],repository:{type:"git",url:"git+https://github.com/empjs/emp.git",directory:"packages/cli"},publishConfig:{access:"public",registry:"https://registry.npmjs.org/"},keywords:["rspack","rust","typescript"],bin:{emp:"./bin/emp.js"},main:"dist/index.js",types:"dist/index.d.ts",exports:{".":{import:{types:"./dist/index.d.ts",default:"./dist/index.js"},require:{types:"./dist/index.d.cts",default:"./dist/index.cjs"}},"./emp-tsconfig.json":{default:"./tsconfig/react.json"},"./tsconfig/base":{default:"./tsconfig/base.json"},"./tsconfig/react":{default:"./tsconfig/react.json"},"./tsconfig/vue":{default:"./tsconfig/vue.json"},"./client":{types:"./types/react/index.d.ts",default:"./types/react/index.d.ts"},"./types/base":{types:"./types/base/index.d.ts",default:"./types/base/index.d.ts"},"./types/vue":{types:"./types/vue/index.d.ts",default:"./types/vue/index.d.ts"},"./types/react":{types:"./types/react/index.d.ts",default:"./types/react/index.d.ts"}},scripts:{dev:"tsup --watch --env.ENV dev",build:"tsup --env.ENV prod","dev-rs":"rslib build --watch --env-mode development","build-rs":"rslib build --env-mode production",ph:"pnpm publish --no-git-checks"},engines:{node:">=18.0.0"},author:"Ken",devDependencies:{"@types/compression":"^1.7.2","@types/connect":"^3.4.38","@types/cors":"^2.8.12","@types/default-gateway":"^7.2.1","@types/fs-extra":"^11.0.4","@types/node":"^20.8.7","@types/react":"^18.3.2","@types/serve-static":"^1.15.8","@types/watchpack":"^2.4.3","@types/webpack":"^5.28.4","@types/webpack-bundle-analyzer":"^4.6.2","@types/webpack-sources":"^3.2.2",chokidar:"^4.0.3",vue:"^3.5.21"},dependencies:{"@empjs/chain":"workspace:*","@rsdoctor/rspack-plugin":"1.2.3","@rspack/core":"1.5.7","@rspack/dev-server":"1.1.4","@swc/helpers":"^0.5.17","@vue/tsconfig":"^0.8.1",address:"^2.0.2",chalk:"^5.3.0",commander:"11.1.0",compression:"1.8.1",connect:"3.7.0","core-js":"^3.41.0",cors:"2.8.5","default-gateway":"7.2.2","fs-extra":"11.3.1",glob:"11.0.3","gzip-size":"7.0.0","html-webpack-plugin":"5.6.4",jiti:"2.6.0","less-loader":"^12.2.0",open:"10.2.0","sass-embedded":"1.91.0","sass-loader":"16.0.5","serve-static":"2.2.0","ts-checker-rspack-plugin":"1.1.5","typescript-plugin-css-modules":"5.2.0","webpack-bundle-analyzer":"4.10.2"}}});function Gt(s,e={}){let t=e.entryType||e.type;if(t==="both"&&(t=D.FILE_DIR_TYPE),t&&(e.type=t),s){if(typeof s!="string")throw new TypeError("readdirp: root argument must be a string. Usage: readdirp(root, options)");if(t&&!It.includes(t))throw new Error(`readdirp: Invalid type passed. Use one of ${It.join(", ")}`)}else throw new Error("readdirp: root argument is required. Usage: readdirp(root, options)");return e.root=s,new Ge(e)}var M,zt,z,D,He,Ht,Li,It,Ii,$i,Mi,zi,$t,Mt,Ge,Wt=w(()=>{"use strict";p();M=require("fs/promises"),zt=require("stream"),z=require("path"),D={FILE_TYPE:"files",DIR_TYPE:"directories",FILE_DIR_TYPE:"files_directories",EVERYTHING_TYPE:"all"},He={root:".",fileFilter:s=>!0,directoryFilter:s=>!0,type:D.FILE_TYPE,lstat:!1,depth:2147483648,alwaysStat:!1,highWaterMark:4096};Object.freeze(He);Ht="READDIRP_RECURSIVE_ERROR",Li=new Set(["ENOENT","EPERM","EACCES","ELOOP",Ht]),It=[D.DIR_TYPE,D.EVERYTHING_TYPE,D.FILE_DIR_TYPE,D.FILE_TYPE],Ii=new Set([D.DIR_TYPE,D.EVERYTHING_TYPE,D.FILE_DIR_TYPE]),$i=new Set([D.EVERYTHING_TYPE,D.FILE_DIR_TYPE,D.FILE_TYPE]),Mi=s=>Li.has(s.code),zi=process.platform==="win32",$t=s=>!0,Mt=s=>{if(s===void 0)return $t;if(typeof s=="function")return s;if(typeof s=="string"){let e=s.trim();return t=>t.basename===e}if(Array.isArray(s)){let e=s.map(t=>t.trim());return t=>e.some(i=>t.basename===i)}return $t},Ge=class extends zt.Readable{constructor(e={}){super({objectMode:!0,autoDestroy:!0,highWaterMark:e.highWaterMark});let t={...He,...e},{root:i,type:r}=t;this._fileFilter=Mt(t.fileFilter),this._directoryFilter=Mt(t.directoryFilter);let o=t.lstat?M.lstat:M.stat;zi?this._stat=a=>o(a,{bigint:!0}):this._stat=o,this._maxDepth=t.depth??He.depth,this._wantsDir=r?Ii.has(r):!1,this._wantsFile=r?$i.has(r):!1,this._wantsEverything=r===D.EVERYTHING_TYPE,this._root=(0,z.resolve)(i),this._isDirent=!t.alwaysStat,this._statsProp=this._isDirent?"dirent":"stats",this._rdOptions={encoding:"utf8",withFileTypes:this._isDirent},this.parents=[this._exploreDir(i,1)],this.reading=!1,this.parent=void 0}async _read(e){if(!this.reading){this.reading=!0;try{for(;!this.destroyed&&e>0;){let t=this.parent,i=t&&t.files;if(i&&i.length>0){let{path:r,depth:o}=t,a=i.splice(0,e).map(l=>this._formatEntry(l,r)),n=await Promise.all(a);for(let l of n){if(!l)continue;if(this.destroyed)return;let f=await this._getEntryType(l);f==="directory"&&this._directoryFilter(l)?(o<=this._maxDepth&&this.parents.push(this._exploreDir(l.fullPath,o+1)),this._wantsDir&&(this.push(l),e--)):(f==="file"||this._includeAsFile(l))&&this._fileFilter(l)&&this._wantsFile&&(this.push(l),e--)}}else{let r=this.parents.pop();if(!r){this.push(null);break}if(this.parent=await r,this.destroyed)return}}}catch(t){this.destroy(t)}finally{this.reading=!1}}}async _exploreDir(e,t){let i;try{i=await(0,M.readdir)(e,this._rdOptions)}catch(r){this._onError(r)}return{files:i,depth:t,path:e}}async _formatEntry(e,t){let i,r=this._isDirent?e.name:e;try{let o=(0,z.resolve)((0,z.join)(t,r));i={path:(0,z.relative)(this._root,o),fullPath:o,basename:r},i[this._statsProp]=this._isDirent?e:await this._stat(o)}catch(o){this._onError(o);return}return i}_onError(e){Mi(e)&&!this.destroyed?this.emit("warn",e):this.destroy(e)}async _getEntryType(e){if(!e&&this._statsProp in e)return"";let t=e[this._statsProp];if(t.isFile())return"file";if(t.isDirectory())return"directory";if(t&&t.isSymbolicLink()){let i=e.fullPath;try{let r=await(0,M.realpath)(i),o=await(0,M.lstat)(r);if(o.isFile())return"file";if(o.isDirectory()){let a=r.length;if(i.startsWith(r)&&i.substr(a,1)===z.sep){let n=new Error(`Circular symlink detected: "${i}" points to "${r}"`);return n.code=Ht,this._onError(n)}return"directory"}}catch(r){return this._onError(r),""}}}_includeAsFile(e){let t=e&&e[this._statsProp];return t&&this._wantsEverything&&!t.isDirectory()}}});function Ut(s,e,t,i,r){let o=(a,n)=>{t(s),r(a,n,{watchedPath:s}),n&&s!==n&&ye(P.resolve(s,n),V,P.join(s,n))};try{return(0,Y.watch)(s,{persistent:e.persistent},o)}catch(a){i(a);return}}var Y,F,P,Bt,Hi,Be,Jt,ve,be,Je,Gi,Wi,Ui,Vt,_,A,Bi,Ji,V,de,K,Vi,Yi,qi,Ue,ie,Xi,re,Yt,ge,ye,Ki,We,Qi,we,qt=w(()=>{"use strict";p();Y=require("fs"),F=require("fs/promises"),P=d(require("path"),1),Bt=require("os"),Hi="data",Be="end",Jt="close",ve=()=>{},be=process.platform,Je=be==="win32",Gi=be==="darwin",Wi=be==="linux",Ui=be==="freebsd",Vt=(0,Bt.type)()==="OS400",_={ALL:"all",READY:"ready",ADD:"add",CHANGE:"change",ADD_DIR:"addDir",UNLINK:"unlink",UNLINK_DIR:"unlinkDir",RAW:"raw",ERROR:"error"},A=_,Bi="watch",Ji={lstat:F.lstat,stat:F.stat},V="listeners",de="errHandlers",K="rawEmitters",Vi=[V,de,K],Yi=new Set(["3dm","3ds","3g2","3gp","7z","a","aac","adp","afdesign","afphoto","afpub","ai","aif","aiff","alz","ape","apk","appimage","ar","arj","asf","au","avi","bak","baml","bh","bin","bk","bmp","btif","bz2","bzip2","cab","caf","cgm","class","cmx","cpio","cr2","cur","dat","dcm","deb","dex","djvu","dll","dmg","dng","doc","docm","docx","dot","dotm","dra","DS_Store","dsk","dts","dtshd","dvb","dwg","dxf","ecelp4800","ecelp7470","ecelp9600","egg","eol","eot","epub","exe","f4v","fbs","fh","fla","flac","flatpak","fli","flv","fpx","fst","fvt","g3","gh","gif","graffle","gz","gzip","h261","h263","h264","icns","ico","ief","img","ipa","iso","jar","jpeg","jpg","jpgv","jpm","jxr","key","ktx","lha","lib","lvp","lz","lzh","lzma","lzo","m3u","m4a","m4v","mar","mdi","mht","mid","midi","mj2","mka","mkv","mmr","mng","mobi","mov","movie","mp3","mp4","mp4a","mpeg","mpg","mpga","mxu","nef","npx","numbers","nupkg","o","odp","ods","odt","oga","ogg","ogv","otf","ott","pages","pbm","pcx","pdb","pdf","pea","pgm","pic","png","pnm","pot","potm","potx","ppa","ppam","ppm","pps","ppsm","ppsx","ppt","pptm","pptx","psd","pya","pyc","pyo","pyv","qt","rar","ras","raw","resources","rgb","rip","rlc","rmf","rmvb","rpm","rtf","rz","s3m","s7z","scpt","sgi","shar","snap","sil","sketch","slk","smv","snk","so","stl","suo","sub","swf","tar","tbz","tbz2","tga","tgz","thmx","tif","tiff","tlz","ttc","ttf","txz","udf","uvh","uvi","uvm","uvp","uvs","uvu","viv","vob","war","wav","wax","wbmp","wdp","weba","webm","webp","whl","wim","wm","wma","wmv","wmx","woff","woff2","wrm","wvx","xbm","xif","xla","xlam","xls","xlsb","xlsm","xlsx","xlt","xltm","xltx","xm","xmind","xpi","xpm","xwd","xz","z","zip","zipx"]),qi=s=>Yi.has(P.extname(s).slice(1).toLowerCase()),Ue=(s,e)=>{s instanceof Set?s.forEach(e):e(s)},ie=(s,e,t)=>{let i=s[e];i instanceof Set||(s[e]=i=new Set([i])),i.add(t)},Xi=s=>e=>{let t=s[e];t instanceof Set?t.clear():delete s[e]},re=(s,e,t)=>{let i=s[e];i instanceof Set?i.delete(t):i===t&&delete s[e]},Yt=s=>s instanceof Set?s.size===0:!s,ge=new Map;ye=(s,e,t,i,r)=>{let o=ge.get(s);o&&Ue(o[e],a=>{a(t,i,r)})},Ki=(s,e,t,i)=>{let{listener:r,errHandler:o,rawEmitter:a}=i,n=ge.get(e),l;if(!t.persistent)return l=Ut(s,t,r,o,a),l?l.close.bind(l):void 0;if(n)ie(n,V,r),ie(n,de,o),ie(n,K,a);else{if(l=Ut(s,t,ye.bind(null,e,V),o,ye.bind(null,e,K)),!l)return;l.on(A.ERROR,async f=>{let c=ye.bind(null,e,de);if(n&&(n.watcherUnusable=!0),Je&&f.code==="EPERM")try{await(await(0,F.open)(s,"r")).close(),c(f)}catch{}else c(f)}),n={listeners:r,errHandlers:o,rawEmitters:a,watcher:l},ge.set(e,n)}return()=>{re(n,V,r),re(n,de,o),re(n,K,a),Yt(n.listeners)&&(n.watcher.close(),ge.delete(e),Vi.forEach(Xi(n)),n.watcher=void 0,Object.freeze(n))}},We=new Map,Qi=(s,e,t,i)=>{let{listener:r,rawEmitter:o}=i,a=We.get(e),n=a&&a.options;return n&&(n.persistent<t.persistent||n.interval>t.interval)&&((0,Y.unwatchFile)(e),a=void 0),a?(ie(a,V,r),ie(a,K,o)):(a={listeners:r,rawEmitters:o,options:t,watcher:(0,Y.watchFile)(e,t,(l,f)=>{Ue(a.rawEmitters,m=>{m(A.CHANGE,e,{curr:l,prev:f})});let c=l.mtimeMs;(l.size!==f.size||c>f.mtimeMs||c===0)&&Ue(a.listeners,m=>m(s,l))})},We.set(e,a)),()=>{re(a,V,r),re(a,K,o),Yt(a.listeners)&&(We.delete(e),(0,Y.unwatchFile)(e),a.options=a.watcher=void 0,Object.freeze(a))}},we=class{constructor(e){this.fsw=e,this._boundHandleError=t=>e._handleError(t)}_watchWithNodeFs(e,t){let i=this.fsw.options,r=P.dirname(e),o=P.basename(e);this.fsw._getWatchedDir(r).add(o);let n=P.resolve(e),l={persistent:i.persistent};t||(t=ve);let f;if(i.usePolling){let c=i.interval!==i.binaryInterval;l.interval=c&&qi(o)?i.binaryInterval:i.interval,f=Qi(e,n,l,{listener:t,rawEmitter:this.fsw._emitRaw})}else f=Ki(e,n,l,{listener:t,errHandler:this._boundHandleError,rawEmitter:this.fsw._emitRaw});return f}_handleFile(e,t,i){if(this.fsw.closed)return;let r=P.dirname(e),o=P.basename(e),a=this.fsw._getWatchedDir(r),n=t;if(a.has(o))return;let l=async(c,m)=>{if(this.fsw._throttle(Bi,e,5)){if(!m||m.mtimeMs===0)try{let u=await(0,F.stat)(e);if(this.fsw.closed)return;let b=u.atimeMs,C=u.mtimeMs;if((!b||b<=C||C!==n.mtimeMs)&&this.fsw._emit(A.CHANGE,e,u),(Gi||Wi||Ui)&&n.ino!==u.ino){this.fsw._closeFile(c),n=u;let E=this._watchWithNodeFs(e,l);E&&this.fsw._addPathCloser(c,E)}else n=u}catch{this.fsw._remove(r,o)}else if(a.has(o)){let u=m.atimeMs,b=m.mtimeMs;(!u||u<=b||b!==n.mtimeMs)&&this.fsw._emit(A.CHANGE,e,m),n=m}}},f=this._watchWithNodeFs(e,l);if(!(i&&this.fsw.options.ignoreInitial)&&this.fsw._isntIgnored(e)){if(!this.fsw._throttle(A.ADD,e,0))return;this.fsw._emit(A.ADD,e,t)}return f}async _handleSymlink(e,t,i,r){if(this.fsw.closed)return;let o=e.fullPath,a=this.fsw._getWatchedDir(t);if(!this.fsw.options.followSymlinks){this.fsw._incrReadyCount();let n;try{n=await(0,F.realpath)(i)}catch{return this.fsw._emitReady(),!0}return this.fsw.closed?void 0:(a.has(r)?this.fsw._symlinkPaths.get(o)!==n&&(this.fsw._symlinkPaths.set(o,n),this.fsw._emit(A.CHANGE,i,e.stats)):(a.add(r),this.fsw._symlinkPaths.set(o,n),this.fsw._emit(A.ADD,i,e.stats)),this.fsw._emitReady(),!0)}if(this.fsw._symlinkPaths.has(o))return!0;this.fsw._symlinkPaths.set(o,!0)}_handleRead(e,t,i,r,o,a,n){if(e=P.join(e,""),n=this.fsw._throttle("readdir",e,1e3),!n)return;let l=this.fsw._getWatchedDir(i.path),f=new Set,c=this.fsw._readdirp(e,{fileFilter:m=>i.filterPath(m),directoryFilter:m=>i.filterDir(m)});if(c)return c.on(Hi,async m=>{if(this.fsw.closed){c=void 0;return}let u=m.path,b=P.join(e,u);if(f.add(u),!(m.stats.isSymbolicLink()&&await this._handleSymlink(m,e,b,u))){if(this.fsw.closed){c=void 0;return}(u===r||!r&&!l.has(u))&&(this.fsw._incrReadyCount(),b=P.join(o,P.relative(o,b)),this._addToNodeFs(b,t,i,a+1))}}).on(A.ERROR,this._boundHandleError),new Promise((m,u)=>{if(!c)return u();c.once(Be,()=>{if(this.fsw.closed){c=void 0;return}let b=n?n.clear():!1;m(void 0),l.getChildren().filter(C=>C!==e&&!f.has(C)).forEach(C=>{this.fsw._remove(e,C)}),c=void 0,b&&this._handleRead(e,!1,i,r,o,a,n)})})}async _handleDir(e,t,i,r,o,a,n){let l=this.fsw._getWatchedDir(P.dirname(e)),f=l.has(P.basename(e));!(i&&this.fsw.options.ignoreInitial)&&!o&&!f&&this.fsw._emit(A.ADD_DIR,e,t),l.add(P.basename(e)),this.fsw._getWatchedDir(e);let c,m,u=this.fsw.options.depth;if((u==null||r<=u)&&!this.fsw._symlinkPaths.has(n)){if(!o&&(await this._handleRead(e,i,a,o,e,r,c),this.fsw.closed))return;m=this._watchWithNodeFs(e,(b,C)=>{C&&C.mtimeMs===0||this._handleRead(b,!1,a,o,e,r,c)})}return m}async _addToNodeFs(e,t,i,r,o){let a=this.fsw._emitReady;if(this.fsw._isIgnored(e)||this.fsw.closed)return a(),!1;let n=this.fsw._getWatchHelpers(e);i&&(n.filterPath=l=>i.filterPath(l),n.filterDir=l=>i.filterDir(l));try{let l=await Ji[n.statMethod](n.watchPath);if(this.fsw.closed)return;if(this.fsw._isIgnored(n.watchPath,l))return a(),!1;let f=this.fsw.options.followSymlinks,c;if(l.isDirectory()){let m=P.resolve(e),u=f?await(0,F.realpath)(e):e;if(this.fsw.closed||(c=await this._handleDir(n.watchPath,l,t,r,o,n,u),this.fsw.closed))return;m!==u&&u!==void 0&&this.fsw._symlinkPaths.set(m,u)}else if(l.isSymbolicLink()){let m=f?await(0,F.realpath)(e):e;if(this.fsw.closed)return;let u=P.dirname(n.watchPath);if(this.fsw._getWatchedDir(u).add(n.watchPath),this.fsw._emit(A.ADD,n.watchPath,l),c=await this._handleDir(u,l,t,r,e,n,m),this.fsw.closed)return;m!==void 0&&this.fsw._symlinkPaths.set(P.resolve(e),m)}else c=this._handleFile(n.watchPath,l,t);return a(),c&&this.fsw._addPathCloser(e,c),!1}catch(l){if(this.fsw._handleError(l))return a(),e}}}});function Ce(s){return Array.isArray(s)?s:[s]}function or(s){return typeof s=="function"?s:typeof s=="string"?e=>s===e:s instanceof RegExp?e=>s.test(e):typeof s=="object"&&s!==null?e=>{if(s.path===e)return!0;if(s.recursive){let t=y.relative(s.path,e);return t?!t.startsWith("..")&&!y.isAbsolute(t):!1}return!1}:()=>!1}function nr(s){if(typeof s!="string")throw new Error("string expected");s=y.normalize(s),s=s.replace(/\\/g,"/");let e=!1;s.startsWith("//")&&(e=!0);let t=/\/\//;for(;s.match(t);)s=s.replace(t,"/");return e&&(s="/"+s),s}function Kt(s,e,t){let i=nr(e);for(let r=0;r<s.length;r++){let o=s[r];if(o(i,t))return!0}return!1}function ar(s,e){if(s==null)throw new TypeError("anymatch: specify first argument");let i=Ce(s).map(r=>or(r));return e==null?(r,o)=>Kt(i,r,o):Kt(i,e)}function fr(s,e={}){let t=new Ee(e);return t.add(s),t}var ts,Pe,ss,y,Ve,Zi,is,er,tr,sr,Xt,ir,rr,Ye,Qt,Zt,rs,es,lr,cr,qe,pr,hr,Xe,Ee,os,ns=w(()=>{"use strict";p();ts=require("fs"),Pe=require("fs/promises"),ss=require("events"),y=d(require("path"),1);Wt();qt();Ve="/",Zi="//",is=".",er="..",tr="string",sr=/\\/g,Xt=/\/\//,ir=/\..*\.(sw[px])$|~$|\.subl.*\.tmp/,rr=/^\.[/\\]/;Ye=s=>typeof s=="object"&&s!==null&&!(s instanceof RegExp);Qt=s=>{let e=Ce(s).flat();if(!e.every(t=>typeof t===tr))throw new TypeError(`Non-string provided as watch path: ${e}`);return e.map(rs)},Zt=s=>{let e=s.replace(sr,Ve),t=!1;for(e.startsWith(Zi)&&(t=!0);e.match(Xt);)e=e.replace(Xt,Ve);return t&&(e=Ve+e),e},rs=s=>Zt(y.normalize(Zt(s))),es=(s="")=>e=>typeof e=="string"?rs(y.isAbsolute(e)?e:y.join(s,e)):e,lr=(s,e)=>y.isAbsolute(s)?s:y.join(e,s),cr=Object.freeze(new Set),qe=class{constructor(e,t){this.path=e,this._removeWatcher=t,this.items=new Set}add(e){let{items:t}=this;t&&e!==is&&e!==er&&t.add(e)}async remove(e){let{items:t}=this;if(!t||(t.delete(e),t.size>0))return;let i=this.path;try{await(0,Pe.readdir)(i)}catch{this._removeWatcher&&this._removeWatcher(y.dirname(i),y.basename(i))}}has(e){let{items:t}=this;if(t)return t.has(e)}getChildren(){let{items:e}=this;return e?[...e.values()]:[]}dispose(){this.items.clear(),this.path="",this._removeWatcher=ve,this.items=cr,Object.freeze(this)}},pr="stat",hr="lstat",Xe=class{constructor(e,t,i){this.fsw=i;let r=e;this.path=e=e.replace(rr,""),this.watchPath=r,this.fullWatchPath=y.resolve(r),this.dirParts=[],this.dirParts.forEach(o=>{o.length>1&&o.pop()}),this.followSymlinks=t,this.statMethod=t?pr:hr}entryPath(e){return y.join(this.watchPath,y.relative(this.watchPath,e.fullPath))}filterPath(e){let{stats:t}=e;if(t&&t.isSymbolicLink())return this.filterDir(e);let i=this.entryPath(e);return this.fsw._isntIgnored(i,t)&&this.fsw._hasReadPermissions(t)}filterDir(e){return this.fsw._isntIgnored(this.entryPath(e),e.stats)}},Ee=class extends ss.EventEmitter{constructor(e={}){super(),this.closed=!1,this._closers=new Map,this._ignoredPaths=new Set,this._throttled=new Map,this._streams=new Set,this._symlinkPaths=new Map,this._watched=new Map,this._pendingWrites=new Map,this._pendingUnlinks=new Map,this._readyCount=0,this._readyEmitted=!1;let t=e.awaitWriteFinish,i={stabilityThreshold:2e3,pollInterval:100},r={persistent:!0,ignoreInitial:!1,ignorePermissionErrors:!1,interval:100,binaryInterval:300,followSymlinks:!0,usePolling:!1,atomic:!0,...e,ignored:e.ignored?Ce(e.ignored):Ce([]),awaitWriteFinish:t===!0?i:typeof t=="object"?{...i,...t}:!1};Vt&&(r.usePolling=!0),r.atomic===void 0&&(r.atomic=!r.usePolling);let o=process.env.CHOKIDAR_USEPOLLING;if(o!==void 0){let l=o.toLowerCase();l==="false"||l==="0"?r.usePolling=!1:l==="true"||l==="1"?r.usePolling=!0:r.usePolling=!!l}let a=process.env.CHOKIDAR_INTERVAL;a&&(r.interval=Number.parseInt(a,10));let n=0;this._emitReady=()=>{n++,n>=this._readyCount&&(this._emitReady=ve,this._readyEmitted=!0,process.nextTick(()=>this.emit(_.READY)))},this._emitRaw=(...l)=>this.emit(_.RAW,...l),this._boundRemove=this._remove.bind(this),this.options=r,this._nodeFsHandler=new we(this),Object.freeze(r)}_addIgnoredPath(e){if(Ye(e)){for(let t of this._ignoredPaths)if(Ye(t)&&t.path===e.path&&t.recursive===e.recursive)return}this._ignoredPaths.add(e)}_removeIgnoredPath(e){if(this._ignoredPaths.delete(e),typeof e=="string")for(let t of this._ignoredPaths)Ye(t)&&t.path===e&&this._ignoredPaths.delete(t)}add(e,t,i){let{cwd:r}=this.options;this.closed=!1,this._closePromise=void 0;let o=Qt(e);return r&&(o=o.map(a=>lr(a,r))),o.forEach(a=>{this._removeIgnoredPath(a)}),this._userIgnored=void 0,this._readyCount||(this._readyCount=0),this._readyCount+=o.length,Promise.all(o.map(async a=>{let n=await this._nodeFsHandler._addToNodeFs(a,!i,void 0,0,t);return n&&this._emitReady(),n})).then(a=>{this.closed||a.forEach(n=>{n&&this.add(y.dirname(n),y.basename(t||n))})}),this}unwatch(e){if(this.closed)return this;let t=Qt(e),{cwd:i}=this.options;return t.forEach(r=>{!y.isAbsolute(r)&&!this._closers.has(r)&&(i&&(r=y.join(i,r)),r=y.resolve(r)),this._closePath(r),this._addIgnoredPath(r),this._watched.has(r)&&this._addIgnoredPath({path:r,recursive:!0}),this._userIgnored=void 0}),this}close(){if(this._closePromise)return this._closePromise;this.closed=!0,this.removeAllListeners();let e=[];return this._closers.forEach(t=>t.forEach(i=>{let r=i();r instanceof Promise&&e.push(r)})),this._streams.forEach(t=>t.destroy()),this._userIgnored=void 0,this._readyCount=0,this._readyEmitted=!1,this._watched.forEach(t=>t.dispose()),this._closers.clear(),this._watched.clear(),this._streams.clear(),this._symlinkPaths.clear(),this._throttled.clear(),this._closePromise=e.length?Promise.all(e).then(()=>{}):Promise.resolve(),this._closePromise}getWatched(){let e={};return this._watched.forEach((t,i)=>{let o=(this.options.cwd?y.relative(this.options.cwd,i):i)||is;e[o]=t.getChildren().sort()}),e}emitWithAll(e,t){this.emit(e,...t),e!==_.ERROR&&this.emit(_.ALL,e,...t)}async _emit(e,t,i){if(this.closed)return;let r=this.options;Je&&(t=y.normalize(t)),r.cwd&&(t=y.relative(r.cwd,t));let o=[t];i!=null&&o.push(i);let a=r.awaitWriteFinish,n;if(a&&(n=this._pendingWrites.get(t)))return n.lastChange=new Date,this;if(r.atomic){if(e===_.UNLINK)return this._pendingUnlinks.set(t,[e,...o]),setTimeout(()=>{this._pendingUnlinks.forEach((l,f)=>{this.emit(...l),this.emit(_.ALL,...l),this._pendingUnlinks.delete(f)})},typeof r.atomic=="number"?r.atomic:100),this;e===_.ADD&&this._pendingUnlinks.has(t)&&(e=_.CHANGE,this._pendingUnlinks.delete(t))}if(a&&(e===_.ADD||e===_.CHANGE)&&this._readyEmitted){let l=(f,c)=>{f?(e=_.ERROR,o[0]=f,this.emitWithAll(e,o)):c&&(o.length>1?o[1]=c:o.push(c),this.emitWithAll(e,o))};return this._awaitWriteFinish(t,a.stabilityThreshold,e,l),this}if(e===_.CHANGE&&!this._throttle(_.CHANGE,t,50))return this;if(r.alwaysStat&&i===void 0&&(e===_.ADD||e===_.ADD_DIR||e===_.CHANGE)){let l=r.cwd?y.join(r.cwd,t):t,f;try{f=await(0,Pe.stat)(l)}catch{}if(!f||this.closed)return;o.push(f)}return this.emitWithAll(e,o),this}_handleError(e){let t=e&&e.code;return e&&t!=="ENOENT"&&t!=="ENOTDIR"&&(!this.options.ignorePermissionErrors||t!=="EPERM"&&t!=="EACCES")&&this.emit(_.ERROR,e),e||this.closed}_throttle(e,t,i){this._throttled.has(e)||this._throttled.set(e,new Map);let r=this._throttled.get(e);if(!r)throw new Error("invalid throttle");let o=r.get(t);if(o)return o.count++,!1;let a,n=()=>{let f=r.get(t),c=f?f.count:0;return r.delete(t),clearTimeout(a),f&&clearTimeout(f.timeoutObject),c};a=setTimeout(n,i);let l={timeoutObject:a,clear:n,count:0};return r.set(t,l),l}_incrReadyCount(){return this._readyCount++}_awaitWriteFinish(e,t,i,r){let o=this.options.awaitWriteFinish;if(typeof o!="object")return;let a=o.pollInterval,n,l=e;this.options.cwd&&!y.isAbsolute(e)&&(l=y.join(this.options.cwd,e));let f=new Date,c=this._pendingWrites;function m(u){(0,ts.stat)(l,(b,C)=>{if(b||!c.has(e)){b&&b.code!=="ENOENT"&&r(b);return}let E=Number(new Date);u&&C.size!==u.size&&(c.get(e).lastChange=E);let O=c.get(e);E-O.lastChange>=t?(c.delete(e),r(void 0,C)):n=setTimeout(m,a,C)})}c.has(e)||(c.set(e,{lastChange:f,cancelWait:()=>(c.delete(e),clearTimeout(n),i)}),n=setTimeout(m,a))}_isIgnored(e,t){if(this.options.atomic&&ir.test(e))return!0;if(!this._userIgnored){let{cwd:i}=this.options,o=(this.options.ignored||[]).map(es(i)),n=[...[...this._ignoredPaths].map(es(i)),...o];this._userIgnored=ar(n,void 0)}return this._userIgnored(e,t)}_isntIgnored(e,t){return!this._isIgnored(e,t)}_getWatchHelpers(e){return new Xe(e,this.options.followSymlinks,this)}_getWatchedDir(e){let t=y.resolve(e);return this._watched.has(t)||this._watched.set(t,new qe(t,this._boundRemove)),this._watched.get(t)}_hasReadPermissions(e){return this.options.ignorePermissionErrors?!0:!!(Number(e.mode)&256)}_remove(e,t,i){let r=y.join(e,t),o=y.resolve(r);if(i=i??(this._watched.has(r)||this._watched.has(o)),!this._throttle("remove",r,100))return;!i&&this._watched.size===1&&this.add(e,t,!0),this._getWatchedDir(r).getChildren().forEach(u=>this._remove(r,u));let l=this._getWatchedDir(e),f=l.has(t);l.remove(t),this._symlinkPaths.has(o)&&this._symlinkPaths.delete(o);let c=r;if(this.options.cwd&&(c=y.relative(this.options.cwd,r)),this.options.awaitWriteFinish&&this._pendingWrites.has(c)&&this._pendingWrites.get(c).cancelWait()===_.ADD)return;this._watched.delete(r),this._watched.delete(o);let m=i?_.UNLINK_DIR:_.UNLINK;f&&!this._isIgnored(r)&&this._emit(m,r),this._closePath(r)}_closePath(e){this._closeFile(e);let t=y.dirname(e);this._getWatchedDir(t).remove(y.basename(e))}_closeFile(e){let t=this._closers.get(e);t&&(t.forEach(i=>i()),this._closers.delete(e))}_addPathCloser(e,t){if(!t)return;let i=this._closers.get(e);i||(i=[],this._closers.set(e,i)),i.push(t)}_readdirp(e,t){if(this.closed)return;let i={type:_.ALL,alwaysStat:!0,lstat:!0,...t,depth:0},r=Gt(e,i);return this._streams.add(r),r.once(Jt,()=>{r=void 0}),r.once(Be,()=>{r&&(this._streams.delete(r),r=void 0)}),r}};os={watch:fr,FSWatcher:Ee}});var k,ur,W,mr,dr,gr,Ke,_e,yr,wr,Q,Qe,vr,Ze,Z,x,ee=w(()=>{"use strict";p();k=d(require("chalk"),1),ur=k.default.hex("#1abc9c"),W=k.default.hex("#16a085"),mr=k.default.hex("#2ecc71"),dr=k.default.hex("#27ae60"),gr=k.default.hex("#e74c3c"),Ke=k.default.hex("#c0392b"),_e=k.default.hex("#f1c40f"),yr=k.default.hex("#f39c12"),wr=k.default.hex("#3498db"),Q=k.default.hex("#2980b9"),Qe=k.default.hex("#ecf0f1"),vr=k.default.hex("#fd79a8"),Ze=k.default.hex("#e84393"),Z=k.default.hex("#7f8c8d"),x={lightGreen:ur,green:W,lightCyan:mr,cyan:dr,lightRed:gr,red:Ke,yellow:_e,orange:yr,lightBlue:wr,blue:Q,white:Qe,lightMagenta:vr,magenta:Ze,gray:Z}});var as,oe,h,L=w(()=>{"use strict";p();ee();as=!1,oe=class{brandName="";fullName="";logLevel=as?"debug":"info";isLogTime=as;setup({brandName:e,logLevel:t,fullName:i}){this.brandName=` [${e}] `,this.fullName=` ${i} `,this.fullName=x.green.bold(this.fullName),t&&(this.logLevel=t)}time=(...e)=>this.isLogTime&&console.time(...e);timeEnd=(...e)=>this.isLogTime&&console.timeEnd(...e);debug=(...e)=>["debug"].includes(this.logLevel)&&console.log(...e);info=(...e)=>["debug","info"].includes(this.logLevel)&&console.log(...e);warn=(...e)=>["debug","info","warn"].includes(this.logLevel)&&console.warn(...e);error=(...e)=>["debug","info","warn","error"].includes(this.logLevel)&&console.error(...e);blue=e=>{console.log(`${x.lightBlue(this.brandName)}${x.blue(` ${e} `)}
2
+ `)};cyan=e=>{console.log(`${x.lightCyan(this.brandName)}${x.cyan(` ${e} `)}
3
+ `)};magenta=e=>{console.log(`${x.lightMagenta(this.brandName)}${x.magenta(` ${e} `)}
4
+ `)};green=e=>{console.log(`${x.lightGreen(this.brandName)}${x.green(` ${e} `)}
5
+ `)};yellow=e=>{console.log(`${x.yellow(this.brandName)}${x.orange(` ${e} `)}
6
+ `)};red=e=>{console.log(`${x.lightRed(this.brandName)}${x.red(` ${e} `)}
7
+ `)};sysError=e=>{console.log(`${x.lightRed(" System Error Tips ")}${x.red(` ${e} `)}
8
+ `)};link=e=>x.blue(e);title=e=>{console.log(`${this.fullName}${x.yellow.underline(`${e}`)}
9
+ `)}},h=new oe});var it={};X(it,{clearConsole:()=>tt,deepAssign:()=>R,ensureArray:()=>br,getLanIp:()=>q,getPkgVersion:()=>et,importJsVm:()=>st,jsonFilter:()=>Cr,timeFormat:()=>Se,vCompare:()=>xe});function tt(){process.stdout.write(process.platform==="win32"?"\x1B[2J\x1B[0f":"\x1B[2J\x1B[3J\x1B[H")}function R(s,...e){for(let t of e)for(let i in t){let r=t[i],o=s[i];if(Object(r)==r&&Object(o)===o){s[i]=R(o,r);continue}s[i]=t[i]}return s}var ls,cs,ps,hs,q,et,br,Cr,xe,Se,st,I=w(()=>{"use strict";p();ls=require("address"),cs=d(require("chalk"),1),ps=require("default-gateway"),hs=d(require("fs-extra"),1),q=()=>{let s="127.0.0.1";try{let{int:e}=(0,ps.gateway4sync)();return(0,ls.ip)(e||"")||s}catch{return s}},et=s=>{try{let{version:e}=hs.default.readJSONSync(s);return e}catch{return}};br=s=>Array.isArray(s)?s:[s],Cr=(s={},e=[])=>Object.keys(s).filter(t=>!e.includes(t)).reduce((t,i)=>(t[i]=s[i],t),{}),xe=(s="",e="")=>{let t=s.replace("^","").split("."),i=e.replace("^","").split("."),r=Math.max(t.length,i.length),o=0;for(let a=0;a<r;a++){let n=t.length>a?t[a]:0,l=isNaN(Number(n))?n.charCodeAt():Number(n),f=i.length>a?i[a]:0,c=isNaN(Number(f))?f.charCodeAt():Number(f);if(l<c){o=-1;break}else if(l>c){o=1;break}}return o},Se=s=>{s=s/1e3;let e=i=>cs.default.bold(i);if(s<1)return`${s*1e3} ms`;if(s<10){let i=s>=.01?2:3;return`${e(s.toFixed(i))} s`}if(s<60)return`${e(s.toFixed(1))} s`;let t=s/60;return`${e(t.toFixed(2))} m`},st=s=>`data:text/javascript,${s}`});var rt={};X(rt,{chalk:()=>fs.default,color:()=>x,glob:()=>ne.glob,logger:()=>h,utils:()=>it});var fs,ne,te=w(()=>{"use strict";p();fs=d(require("chalk"),1),ne=require("glob");ee();L();I()});var ot,us,nt,Er,ms,ds,gs,ys,ke=w(()=>{"use strict";p();ot=d(require("fs"),1),us=require("jiti"),nt=d(require("path"),1);$();ze();L();Er=["emp-config.ts","emp-config.js","emp.config.ts","emp.config.js","emp-config.mjs","emp-config.cjs","emp-config.mts","emp-config.cts","emp.config.mjs","emp.config.cjs","emp.config.mts","emp.config.cts"],ms=(0,us.createJiti)(__filename,{interopDefault:!0,fsCache:!0,moduleCache:!0,cacheVersion:me.version}),ds=async()=>{h.time("[store]GetEmpConfigPath");let s=Er.map(i=>nt.default.resolve(g.root,i)),e=await Promise.all(s.map(i=>ot.default.promises.access(i).then(()=>!0,()=>!1))),t=s.find((i,r)=>e[r]);return h.timeEnd("[store]GetEmpConfigPath"),t},gs=async()=>{let s=nt.default.join(g.root,"tsconfig.json");return await ot.default.promises.access(s).then(()=>!0,()=>!1)||(s=void 0),s},ys=()=>{let s=[__filename];return g.rootPaths.pkg&&s.push(g.rootPaths.pkg),g.rootPaths.empConfig&&s.push(g.rootPaths.empConfig),g.rootPaths.tsConfig&&s.push(g.rootPaths.tsConfig),s}});var at,ws,lt=w(()=>{"use strict";p();at=d(require("@empjs/chain"),1),ws={rule:{mjs:"mjs",typescript:"typescript",javascript:"javascript",sourceMap:"sourceMapLoader",inline:"inline",raw:"raw",svg:"svg",image:"image",font:"fonts",svga:"svga",sass:"sass",less:"less",css:"css"},use:{swc:"swc",sourceMap:"sourceMapLoader",sass:"sassLoader",less:"lessLoader"},plugin:{tsCheckerRspackPlugin:"TsCheckerRspackPlugin",bundleAnalyzer:"bundleAnalyzerPlugin",define:"definePlugin",copy:"copyRspackPlugin",progress:"progressPlugin",html:{prefix:"html-plugin-"},rsdoctor:"rsdoctor",sourceMapDevTool:"sourceMapDevTool"},minimizer:{minJs:"minJs",minCss:"minCss"}}});var Oe,vs=w(()=>{"use strict";p();Oe=class{op={};constructor(e={}){this.op=e}async afterGetEmpOptions(){this.op.afterGetEmpOptions&&await this.op.afterGetEmpOptions()}async beforePlugin(){this.op.beforePlugin&&await this.op.beforePlugin()}async afterPlugin(){this.op.afterPlugin&&await this.op.afterPlugin()}async beforeModule(){this.op.beforeModule&&await this.op.beforeModule()}async afterModule(){this.op.afterModule&&await this.op.afterModule()}async beforeEmpPlugin(){this.op.beforeEmpPlugin&&await this.op.beforeEmpPlugin()}async afterEmpPlugin(){this.op.afterEmpPlugin&&await this.op.afterEmpPlugin()}async beforeBuild(){this.op.beforeBuild&&await this.op.beforeBuild()}async afterBulid(){this.op.afterBulid&&await this.op.afterBulid()}async beforeDevServe(){this.op.beforeDevServe&&await this.op.beforeDevServe()}async afterDevServe(){this.op.afterDevServe&&await this.op.afterDevServe()}async beforeServe(){this.op.beforeServe&&await this.op.beforeServe()}async afterServe(){this.op.afterServe&&await this.op.afterServe()}}});var ct,bs,Cs=w(()=>{"use strict";p();te();ke();I();vs();ct=class{store;appSrc="src";appEntry="";base="";target=[];assign(e,t){return t=t||{},R(e,t)}isESM=!1;checkIsESM(e){return["es3","es5"].indexOf(e)===-1}lifeCycle;async setup(e){this.store=e,await this.syncEmpOptions(),await this.setupEmpOptions(),this.lifeCycle=new Oe(this.store.empOptions.lifeCycle),await this.lifeCycle.afterGetEmpOptions(),this.isESM=this.checkIsESM(this.build.target),this.store.empOptions.target?(this.target=this.store.empOptions.target,Array.isArray(this.target)&&!this.target.includes(this.build.target)&&this.target.push(this.build.target)):this.target=["web",this.build.target];let{appSrc:t,base:i,appEntry:r}=this.store.empOptions;t&&(this.appSrc=t),i&&(this.base=i),r&&(this.appEntry=r)}async setupEmpOptions(){await this.store.server.setupOnEmpOptionSync()}async chain(){this.store.empOptions.chain&&await this.store.empOptions.chain(this.store.chain)}async plugins(){let e=[];this.store.empOptions.plugins&&Array.isArray(this.store.empOptions.plugins)&&this.store.empOptions.plugins.length>0&&(this.store.empOptions.plugins.map(t=>{e.push(t.rsConfig(this.store))}),await Promise.all(e))}get debug(){let e=!1;return this.store.cliOptions.doctor&&(e={}),this.assign({loggerLevel:"info",clearLog:!0,progress:!0,showRsconfig:!1,showPerformance:!1,rsdoctor:e,infrastructureLogging:{appendOnly:!0,level:"warn"},newTreeshaking:this.store.empConfig.isESM,devShowAllLog:!1,showScriptDebug:!1,parallelCodeSplitting:!0,cssChunkingPlugin:!0,warnRuleAsWarning:!0},this.store.empOptions.debug)}get build(){let e=this.store.empOptions.build?.staticDir?`${this.store.empOptions.build?.staticDir}/`:"";return this.assign({outDir:"dist",staticDir:e,assetsDir:"assets",publicDir:"public",chunkIds:this.store.isDev?"named":"deterministic",moduleIds:this.store.isDev?"named":"deterministic",sourcemap:this.store.isDev,minify:!this.store.isDev,minOptions:{},cssminOptions:{},target:"es5",polyfill:{mode:void 0,entryCdn:void 0,splitChunks:!1,include:[],coreJsFeatures:"stable",externalHelpers:!1,browserslist:this.store.browserslistOptions.default},swcConfig:{},devtool:this.store.isDev?"cheap-module-source-map":"source-map"},{...this.store.empOptions.build,staticDir:e})}get html(){let e=this.store.empOptions.html?.template?{}:{charset:{charset:"utf-8"},"http-equiv":{"http-equiv":"X-UA-Compatible",content:"IE=edge"},viewport:{name:"viewport",content:"width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0"},keywords:{keywords:""},description:{description:""}};return this.assign({lang:"zh-CN",title:"EMP",inject:"body",minify:!this.store.isDev,scriptLoading:this.isESM?"module":"defer",meta:e,cache:this.cache!==!1,tags:[]},this.store.empOptions.html)}get entries(){return this.store.empOptions.entries?this.store.empOptions.entries:{}}get server(){let e={host:"0.0.0.0",port:8e3,open:process.platform==="darwin",hot:!0,watchFiles:["src/**/*.html"],static:[{directory:this.store.publicDir,watch:this.store.isDev}],allowedHosts:["all"],historyApiFallback:!0,headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, POST, PUT, DELETE, PATCH, OPTIONS","Access-Control-Allow-Headers":"X-Requested-With, content-type, Authorization"}};return this.store.empOptions.server?.http2&&(this.store.server.httpsType="h2",delete this.store.empOptions.server.http2),this.assign(e,this.store.empOptions.server)}get css(){return this.assign({sass:{mode:"modern",warnRuleAsWarning:this.store.empConfig.debug.warnRuleAsWarning},prifixName:""},this.store.empOptions.css)}get output(){let e=(this.store.isDev,".[contenthash:8]"),t=this.store.isDev?"":".[contenthash:8]",{assetsDir:i,staticDir:r}=this.store.empConfig.build,o={publicPath:this.store.empConfig.base?this.store.empConfig.base:"auto",crossOriginLoading:"anonymous",filename:`${r}js/[name]${e}.js`,cssFilename:`${r}css/[name]${t}.css`,cssChunkFilename:`${r}css/[name]${t}.css`,assetModuleFilename:`${r}${i}/[name]${e}[ext][query]`,path:this.store.outDir,clean:!this.store.isDev,uniqueName:this.store.uniqueName};return this.assign(o,this.store.empOptions.output)}get define(){let e={mode:this.store.mode,env:this.store.cliOptions.env};return this.store.empOptions.define&&(e={...e,...this.store.empOptions.define}),this.setDefine(e)}get tsCheckerRspackPlugin(){let e={};if(this.store.empOptions.tsCheckerRspackPlugin)typeof this.store.empOptions.tsCheckerRspackPlugin=="object"&&(e=this.store.empOptions.tsCheckerRspackPlugin);else return!1;return this.assign({},e)}setDefine(e){let t=this.store.empOptions.defineFix?this.store.empOptions.defineFix:this.isESM?"esm":"cjs",i={};return Object.keys(e).map(r=>{t==="all"?(i[`import.meta.env.${r}`]=JSON.stringify(e[r]),i[`process.env.${r}`]=JSON.stringify(e[r])):t==="esm"?i[`import.meta.env.${r}`]=JSON.stringify(e[r]):t==="cjs"?i[`process.env.${r}`]=JSON.stringify(e[r]):t==="none"&&(i[`${r}`]=JSON.stringify(e[r]))}),i}get externals(){return this.assign({},this.store.empOptions.externals)}get resolve(){return R({alias:{src:this.store.resolve("src"),"@":this.store.resolve("src")},extensions:["...",".js",".jsx",".mjs",".ts",".tsx",".css",".less",".scss",".sass",".json",".wasm",".vue",".svg",".svga"]},this.store.empOptions.resolve)}async syncEmpOptions(){if(h.time("[store][empConfig]SyncEmpOptions"),!this.store.rootPaths.empConfig)return;let{default:e}=await ms(this.store.rootPaths.empConfig);typeof e=="function"?this.store.empOptions=await e(this.store):this.store.empOptions=e||{},h.timeEnd("[store][empConfig]SyncEmpOptions")}get moduleTransformRule(){let{moduleTransform:e}=this.store.empOptions,t=this.assign({defaultExclude:!1},e),i={and:[],not:[]};return t.defaultExclude===!0&&i.and.push(/(node_modules|bower_components)/),t?.exclude&&(i.and=i.and.concat(t.exclude)),e?.include&&(i.not=t.include),i}get cacheDir(){return this.store.empOptions.cacheDir?this.store.empOptions.cacheDir:"node_modules/.emp-cache"}get cache(){return this.store.empOptions.cache===!1?!1:this.store.empOptions.cache?this.store.empOptions.cache:"persistent"}get ignoreWarnings(){return this.store.empOptions.ignoreWarnings?this.store.empOptions.ignoreWarnings:[/Conflicting order/]}get autoPages(){let e;return this.store.empOptions.autoPages&&(e=typeof this.store.empOptions.autoPages=="boolean"?{}:this.store.empOptions.autoPages,e=this.assign({path:"pages"},e)),e}},bs=new ct});var Es,pt,Ps,_s=w(()=>{"use strict";p();Es=d(require("fs-extra"),1);ke();pt=class{store;async setup(e){this.store=e;let t=[this.common(),this.stats(),this.devServer(),this.optimization(),this.checkTsconfig()];await Promise.all(t)}get cache(){if(this.store.empConfig.cache===!1)return!1;let e={type:this.store.empConfig.cache==="persistent"?"persistent":"memory",buildDependencies:ys(),version:this.store.empPkg.version};return typeof this.store.empConfig.cache=="object"&&(e=this.store.deepAssign(e,this.store.empConfig.cache)),e}get name(){let e=this.store.empConfig.server.port?`_${this.store.empConfig.server.port}`:"";return this.store.pkg.name+e}async common(){this.store.merge({name:this.name,node:{global:!0},experiments:{nativeWatcher:!0,lazyBarrel:!0,inlineConst:!0,inlineEnum:!0,typeReexportsPresence:!0,outputModule:this.store.empConfig.isESM,topLevelAwait:!0,asyncWebAssembly:!0,css:!0,rspackFuture:{bundlerInfo:{force:!1}},cache:this.cache,incremental:"advance-silent",parallelCodeSplitting:this.store.empConfig.debug.parallelCodeSplitting,parallelLoader:!0},lazyCompilation:this.store.isDev,target:this.store.empConfig.target,infrastructureLogging:this.store.empConfig.debug.infrastructureLogging,context:this.store.root,mode:this.store.mode,cache:!!this.store.empConfig.cache,devtool:this.store.empConfig.build.sourcemap?this.store.empConfig.build.devtool:!1,output:this.store.empConfig.output,resolve:this.store.empConfig.resolve,externals:this.store.empConfig.externals,ignoreWarnings:this.store.empConfig.ignoreWarnings,watchOptions:{ignored:["**/node_modules/**","**/@mf-types/**"]}})}async checkTsconfig(){let e=this.store.resolve("tsconfig.json");if(await Es.default.exists(e)){let i={};this.store.isOldRspack?i.tsConfigPath=e:i.tsConfig=e,this.store.merge({resolve:i})}}async stats(){this.store.merge({stats:{colors:!0,all:!1,assets:!1,chunks:!1,timings:!0,version:!0}})}async devServer(){this.store.merge({devServer:this.store.empConfig.server})}async optimization(){let e={moduleIds:this.store.empConfig.build.moduleIds,chunkIds:this.store.empConfig.build.chunkIds,minimize:this.store.empConfig.build.minify,splitChunks:{chunks:"async",cacheGroups:{}}};this.store.empConfig.build.polyfill.mode==="entry"&&this.store.empConfig.build.polyfill.splitChunks&&!this.store.empConfig.build.polyfill.entryCdn&&(e.splitChunks.cacheGroups.coreJs={test:/[\\/]node_modules[\\/](core-js)[\\/]/,name:"coreJs",chunks:"all",enforce:!0}),this.store.chain.merge({optimization:e})}},Ps=new pt});var ht,xs,Ss=w(()=>{"use strict";p();ht=class{store;async setup(e){this.store=e;let t=[this.sass(),this.less(),this.css()];await Promise.all(t)}async sass(){let{rule:e,use:t}=this.store.chainName,i={},{sass:r}=this.store.empConfig.css;r.mode==="modern"&&(i.implementation=r.implementation?r.implementation:require.resolve("sass-embedded"),i.api="modern-compiler",i.sourceMap=this.store.empConfig.build.sourcemap,r.sassOptions&&(i.sassOptions=r.sassOptions)),typeof r.additionalData<"u"&&(i.additionalData=r.additionalData),typeof r.warnRuleAsWarning<"u"&&(i.warnRuleAsWarning=r.warnRuleAsWarning),typeof r.webpackImporter<"u"&&(i.webpackImporter=r.webpackImporter),this.store.chain.merge({module:{rule:{[e.sass]:{test:/\.(sass|scss)$/,use:{[t.sass]:{loader:require.resolve("sass-loader"),options:i}},type:"css/auto"}}}})}async less(){let{rule:e,use:t}=this.store.chainName,i={loader:require.resolve("less-loader"),options:{lessOptions:{javascriptEnabled:!0}}};this.store.chain.merge({module:{rule:{[e.less]:{test:/\.less$/,use:{[t.less]:i},type:"css/auto"}}}})}async css(){let{rule:e}=this.store.chainName;this.store.chain.merge({module:{rule:{[e.css]:{test:/\.css$/,use:{},type:"css/auto"}}}})}},xs=new ht});function Pr(){let s=[`import 'core-js/${g.empConfig.build.polyfill.coreJsFeatures}'`].join(`
10
+ `);return st(s)}var Re,De,ae,Te=w(()=>{"use strict";p();Re=d(require("html-webpack-plugin"),1);I();$();De=class{constructor(){}apply(e){let{webpack:t}=e;g.empConfig.build.polyfill.entryCdn||new t.EntryPlugin(e.context,Pr(),{name:void 0}).apply(e)}},ae=class{PluginName="HtmlEmpInjectPlugin";chunk="";files=[];constructor(e,t="",i=""){this.PluginName=`${this.PluginName}-${t}`,this.files=e,this.chunk=i}apply(e){e.hooks.compilation.tap(this.PluginName,t=>{Re.default.getHooks(t).alterAssetTagGroups.tapPromise(this.PluginName,async i=>(this.chunk&&!i.plugin.userOptions.chunks?.includes(this.chunk)||this.files.map(r=>{let{pos:o,...a}=r;(o==="body"?i.bodyTags:i.headTags).push({attributes:{},voidTag:!1,meta:{plugin:void 0},tagName:"script",...a})}),i))})}}});var T,ft,ks,Os=w(()=>{"use strict";p();T=d(require("path"),1);te();Te();ft=class{store;entriesConfig={};async setup(e){this.store=e,await this.init(),this.toConfig()}setHtmlConfig(e,t){return e.template=this.setTemplate(e.template),e.favicon=this.setFavicion(e.favicon),e.chunks=t,e.filename=`${t[0]}.html`,this.store.empConfig.base&&(e.publicPath=this.store.empConfig.base),this.prepareAndSetAsset(e),e}prepareAndSetAsset(e){let t=e.chunks?e.chunks[0]:void 0;this.store.injectTags(e.tags,t?`injectTags-${t}`:"injectTags",t),delete e.tags}injectPolyfill(){if(!this.store.empConfig.build.polyfill.entryCdn)return;let e=[{attributes:{src:this.store.empConfig.build.polyfill.entryCdn},tagName:"script",pos:"head"}];this.store.injectTags(e,"injectEMPPolyfill")}setChunk(e){return e.replace(T.default.extname(e),"").replace(`${this.store.empConfig.appSrc}${T.default.sep}`,"")}setTemplate(e){return e?this.store.resolve(e):this.store.empResolve(T.default.join("template","index.html"))}setFavicion(e){if(e!=="")return e?this.store.resolve(e):this.store.empResolve(T.default.join("template","favicon.ico"))}setEntryItem(e,t,i){i=i||this.store.resolve(T.default.join(this.store.empConfig.appSrc,e));let r=this.setChunk(e),o=[i];this.entriesConfig[r]={entry:{[r]:o},html:this.setHtmlConfig(t,[r])},this.store.entries[r]=o}setRspackHtmlPlugin(e,t){this.store.chain.plugin(`${this.store.chainName.plugin.html.prefix}${t}`).use(Re.default,[e])}setRspackEntry(e){this.store.merge({entry:e})}async init(){this.injectPolyfill(),this.store.empConfig.autoPages?await this.setAutoPage():(await this.setDefaultEntry(),this.setEntryByConfig())}async setAutoPage(){h.time("setAutoPage");let e=this.store.empConfig.autoPages?.path||"pages",t=T.default.join(this.store.appSrc,e),i=T.default.join(t,"**","*.{ts,tsx,jsx,js}"),r=await(0,ne.glob)([i],{windowsPathsNoEscape:!0});r=r.map(o=>o.replace(`${t}${T.default.sep}`,"")),r.map(o=>{let a=this.store.empConfig.entries[o]||{};this.setEntryItem(o,{...this.store.empConfig.html,...a},T.default.join(t,o))}),h.timeEnd("setAutoPage")}async setDefaultEntry(){h.time("[store][empConfig]SetDefaultEntry");let e=T.default.join(this.store.appSrc,this.store.empConfig.appEntry?this.store.empConfig.appEntry:"index.{ts,tsx,jsx,js}"),t=await(0,ne.glob)([e],{windowsPathsNoEscape:!0});if(t[0]){let i=T.default.join(this.store.empConfig.appSrc,Object.keys(this.store.empConfig.entries).length>0&&this.store.empConfig.appEntry?this.store.empConfig.appEntry:"index");this.setEntryItem(i,this.store.empConfig.html,t[0])}h.timeEnd("[store][empConfig]SetDefaultEntry")}setEntryByConfig(){if(Object.keys(this.store.empConfig.entries).length>0)for(let[e,t]of Object.entries(this.store.empConfig.entries))this.setEntryItem(e,{...this.store.empConfig.html,...t})}toConfig(){for(let[e,t]of Object.entries(this.entriesConfig))this.setRspackHtmlPlugin(t.html,e),this.setRspackEntry(t.entry)}},ks=new ft});var ut,mt,Ds,Rs=w(()=>{"use strict";p();ut=d(require("path"),1);I();mt=class{store;swcJsOptions={};swcTsOptions={};coreJs={version:"3",alias:"",path:""};async setup(e){this.store=e,this.swcInitOptions(),await this.run()}async run(){let e=[this.jsDataUrl(),this.files(),this.scripts(),this.rspackGenerator(),this.rspackParser()];await this.store.empConfig.lifeCycle.beforeModule(),await Promise.all(e),await this.store.empConfig.lifeCycle.afterModule()}rspackGenerator(){let e=this.store.empConfig.css?.prifixName?`${this.store.empConfig.css?.prifixName}-`:"",t=this.store.isDev?`${e}[id]-[local]-[hash:base64:8]`:`${e}[local]-[hash:5]`;this.store.chain.merge({module:{generator:{"css/auto":{exportsConvention:"as-is",exportsOnly:!1,localIdentName:t,esModule:!0},css:{exportsOnly:!1,esModule:!0},"css/module":{exportsConvention:"as-is",exportsOnly:!1,localIdentName:t,esModule:!0},json:{JSONParse:!0}}}})}rspackParser(){this.store.chain.merge({module:{parser:{javascript:{dynamicImportMode:"lazy",dynamicImportPrefetch:!1,dynamicImportPreload:!1,url:!0,importMeta:!0},css:{namedExports:!1},"css/auto":{namedExports:!1},"css/module":{namedExports:!1}}}})}get isPolyfill(){return!!this.store.empConfig.build.polyfill.mode}swcParser(e){switch(e){case"js":return{syntax:"ecmascript",jsx:!0,decorators:!0,decoratorsBeforeExport:!1};case"ts":return{syntax:"typescript",decorators:!0,tsx:!0,dynamicImport:!0}}}swcJsc(e){let{target:t,polyfill:i}=this.store.empConfig.build,{externalHelpers:r}=i;return{parser:this.swcParser(e),transform:{},target:t,externalHelpers:r,preserveAllComments:!0}}get swcCoreVersion(){let[e,t]=this.coreJs.version.split(".");return`${e}.${t}`}swcOptions(e){let t={jsc:R(this.swcJsc(e),{...this.store.empConfig.build.swcConfig}),isModule:"unknown"};return this.isPolyfill&&(delete t.jsc.target,t.env={coreJs:this.swcCoreVersion,targets:this.store.empConfig.build.polyfill.browserslist},this.store.empConfig.isESM||(t.env.mode=this.store.empConfig.build.polyfill.mode),this.store.empConfig.build.polyfill.mode==="usage"&&(t.env.shippedProposals=!0,t.env.include=this.store.empConfig.build.polyfill.include)),t}swcInitOptions(){let{externalHelpers:e}=this.store.empConfig.build.polyfill;e&&this.store.chain.resolve.alias.set("@swc/helpers",ut.default.dirname(require.resolve("@swc/helpers/package.json"))),this.coreJs.path=require.resolve("core-js/package.json");let t=et(this.coreJs.path);t&&(this.coreJs.version=t),this.coreJs.alias=ut.default.dirname(this.coreJs.path),this.store.empConfig.build.polyfill.mode&&(this.store.chain.resolve.alias.set("core-js",this.coreJs.alias),this.store.chain.module.rule("javascript").exclude.add(/core-js/),this.store.chain.module.rule("typescript").exclude.add(/core-js/)),this.swcTsOptions=this.swcOptions("ts"),this.swcJsOptions=this.swcOptions("js")}jsDataUrl(){this.store.chain.module.rule("jsDataUrl").merge({mimetype:{or:["text/javascript","application/javascript"]}}).resolve.set("fullySpecified",!1).end().use("swcJsParser").loader("builtin:swc-loader").options(this.swcJsOptions)}async scripts(){let e=[],{rule:t,use:i}=this.store.chainName;this.store.chain.merge({module:{parser:{javascript:{exportsPresence:"error",importExportsPresence:"error"}},rule:{[t.mjs]:{test:/\.m?js/,resolve:{fullySpecified:!1}},[t.typescript]:{test:/\.(ts|tsx)$/,exclude:e,use:{[i.swc]:{loader:"builtin:swc-loader",options:this.swcTsOptions}}},[t.javascript]:{test:/\.((m|c)?js|jsx)$/,exclude:e,use:{[i.swc]:{loader:"builtin:swc-loader",options:this.swcJsOptions}}}}}})}async files(){let{rule:e}=this.store.chainName;this.store.chain.merge({module:{rule:{[e.svg]:{test:/\.svg$/,type:"asset/resource"}}}}),this.store.chain.merge({module:{rule:{[e.inline]:{resourceQuery:/inline/,type:"asset/inline"}}}}),this.store.chain.merge({module:{rule:{[e.raw]:{resourceQuery:/raw/,type:"asset/source"}}}}),this.store.chain.merge({module:{rule:{[e.image]:{test:/\.(png|jpe?g|gif|webp|ico)$/i,type:"asset/resource"},[e.font]:{test:/\.(|otf|ttf|eot|woff|woff2)$/i,type:"asset/resource"},[e.svga]:{test:/\.(svga)$/i,type:"asset/resource"}}}})}},Ds=new mt});var H,dt,Ts,gt,js,Ns=w(()=>{"use strict";p();H=d(require("@rspack/core"),1),dt=d(require("fs"),1),Ts=require("ts-checker-rspack-plugin");Te();gt=class{store;async setup(e){this.store=e;let t=[this.define(),this.anylayze(),this.progress(),this.copy(),this.minify(),this.redoctor(),this.tsCheckerRspackPlugin(),this.cssChunkingPlugin()];this.beforeLifeCycle(),await this.store.empConfig.lifeCycle.beforePlugin(),await Promise.all(t),await this.store.empConfig.lifeCycle.afterPlugin()}beforeLifeCycle(){let{store:e}=this;e.empConfig.build.polyfill.mode==="entry"&&e.chain.plugin("empPolyfill").use(De)}async anylayze(){if(!this.store.cliOptions.analyze)return;let{default:{BundleAnalyzerPlugin:e}}=await import("webpack-bundle-analyzer");this.store.chain.plugin(this.store.chainName.plugin.bundleAnalyzer).use(e,[{analyzerPort:this.store.empConfig.server.port,defaultSizes:"gzip",analyzerHost:this.store.getLanIp()||"127.0.0.1"}])}tsCheckerRspackPlugin(){if(this.store.empConfig.tsCheckerRspackPlugin===!1)return!1;this.store.chain.plugin(this.store.chainName.plugin.tsCheckerRspackPlugin).use(Ts.TsCheckerRspackPlugin,[this.store.empConfig.tsCheckerRspackPlugin])}async define(){this.store.chain.plugin(this.store.chainName.plugin.define).use(H.default.DefinePlugin,[this.store.empConfig.define])}async copy(){let e=this.store.resolve("public");dt.default.existsSync(e)&&dt.default.readdirSync(e).length>0&&this.store.chain.plugin(this.store.chainName.plugin.copy).use(H.default.CopyRspackPlugin,[{patterns:[{from:e,to:this.store.resolve(this.store.empConfig.build.outDir),noErrorOnMissing:!0,globOptions:{ignore:["**/.DS_Store"]}}]}])}async progress(){if(this.store.mode==="development")return;let e={};this.store.isOldRspack||(e={template:"{bar:25.green/white}{spinner:.green}{percent}% {wide_msg:.dim}",tick:void 0,progressChars:"\u25A9\u25A9"}),this.store.chain.plugin(this.store.chainName.plugin.progress).use(H.default.ProgressPlugin,[e])}minify(){this.store.chain.optimization.minimizer(this.store.chainName.minimizer.minJs).use(H.default.SwcJsMinimizerRspackPlugin,[this.store.empConfig.build.minOptions]);let{SwcCssMinimizerRspackPlugin:e,LightningCssMinimizerRspackPlugin:t}=H.default;e?this.store.chain.optimization.minimizer(this.store.chainName.minimizer.minCss).use(e,[this.store.empConfig.build.cssminOptions]):t&&this.store.chain.optimization.minimizer(this.store.chainName.minimizer.minCss).use(t,[this.store.empConfig.build.cssminOptions])}redoctor(){if(!this.store.empConfig.debug.rsdoctor)return;let{RsdoctorRspackPlugin:e}=require("@rsdoctor/rspack-plugin"),t={};typeof this.store.empConfig.debug.rsdoctor=="object"&&(t=this.store.empConfig.debug.rsdoctor),this.store.chain.plugin(this.store.chainName.plugin.rsdoctor).use(e,[t])}sourceMapDevToolPlugin(){if(!this.store.empConfig.build.sourcemap)return;let e={};typeof this.store.empConfig.build.sourcemap=="object"&&(e=this.store.empConfig.build.sourcemap),this.store.chain.plugin(this.store.chainName.plugin.sourceMapDevTool).use(H.default.SourceMapDevToolPlugin,[e])}circularDependency(){this.store.chain.plugin("circularDependency").use(H.default.CircularDependencyRspackPlugin,[{}])}cssChunkingPlugin(){this.store.empConfig.debug.cssChunkingPlugin&&this.store.chain.plugin("CssChunkingPlugin").use(H.default.experiments.CssChunkingPlugin,[{}])}},js=new gt});var yt,As,Fs=w(()=>{"use strict";p();_s();Ss();Os();Rs();Ns();yt=class{store;async setup(e){this.store=e;let t=[Ps.setup(this.store),Ds.setup(this.store),js.setup(this.store),ks.setup(this.store),xs.setup(this.store)];await Promise.all(t),await this.store.empConfig.lifeCycle.beforeEmpPlugin(),await this.store.empConfig.plugins(),await this.store.empConfig.lifeCycle.afterEmpPlugin(),await this.store.empConfig.chain()}},As=new yt});async function je(s,e=void 0){if(s!==_r&&(s<Ls||s>wt))throw new Error(`Port number must lie between ${Ls} and ${wt}`);let t=s,i=xr(),r;e&&!i.has(e)?r=new Set([e]):r=i;let o=new Set(["EADDRINUSE","EACCES"]);for(;t<=wt;)try{return await kr(t,r)}catch(a){if(!o.has(a.code))throw a;t+=1}throw new Error("No available ports found")}var Is,$s,Ls,wt,_r,xr,Sr,kr,Ms=w(()=>{"use strict";p();Is=d(require("net"),1),$s=d(require("os"),1),Ls=1024,wt=65535,_r=443,xr=()=>{let s=$s.default.networkInterfaces(),e=new Set([void 0,"0.0.0.0"]);for(let t of Object.values(s))if(t)for(let i of t)e.add(i.address);return e},Sr=(s,e)=>new Promise((t,i)=>{let r=Is.default.createServer();r.unref(),r.on("error",i),r.listen(s,e,()=>{let{port:o}=r.address();r.close(()=>{t(o)})})}),kr=async(s,e)=>{let t=new Set(["EADDRNOTAVAIL","EINVAL"]);for(let i of e)try{await Sr(s,i)}catch(r){if(!t.has(r.code))throw r}return s}});var zs,vt,bt,Ne,Hs=w(()=>{"use strict";p();zs=d(require("chalk"),1);ee();vt=d(require("url"),1);I();bt=class{imf={protocol:"",port:8e3,pathname:"/"};host="0.0.0.0";urls={lanUrlForConfig:"",lanUrlForTerminal:Z("unavailable"),localUrlForTerminal:"",localUrlForBrowser:""};setup(e){e.host&&(this.host=e.host),e.protocol&&(this.imf.protocol=e.protocol),e.pathname&&(this.imf.pathname=e.pathname),e.port&&(this.imf.port=e.port),this.setupUrls()}setupUrls(){let{host:e}=this,t=e==="0.0.0.0"||e==="::",i;if(t){i="localhost";try{this.urls.lanUrlForConfig=this.getLanIp(),this.urls.lanUrlForConfig&&(/^10[.]|^172[.](1[6-9]|2[0-9]|3[0-1])[.]|^192[.]168[.]/.test(this.urls.lanUrlForConfig)?this.urls.lanUrlForTerminal=this.prettyPrintUrl(this.urls.lanUrlForConfig):this.urls.lanUrlForConfig="")}catch{}}else i=e,this.urls.lanUrlForConfig=e,this.urls.lanUrlForTerminal=this.prettyPrintUrl(this.urls.lanUrlForConfig);this.urls.localUrlForTerminal=this.prettyPrintUrl(i),this.urls.localUrlForBrowser=this.formatUrl(i)}getLanIp=q;formatUrl(e){let{protocol:t,port:i,pathname:r}=this.imf;return vt.default.format({protocol:t,hostname:e,port:i,pathname:r})}prettyPrintUrl(e){let{protocol:t,port:i,pathname:r}=this.imf;return vt.default.format({protocol:t,hostname:e,port:zs.default.bold(i),pathname:r})}},Ne=new bt});var Ws,Us,Bs,Gs,Or,Dr,Js,Vs=w(()=>{"use strict";p();Ws=require("child_process"),Us=require("util");$();L();Bs=(0,Us.promisify)(Ws.exec),Gs=["Google Chrome Canary","Google Chrome Dev","Google Chrome Beta","Google Chrome","Microsoft Edge","Brave Browser","Vivaldi","Chromium"],Or=async()=>{let s=process.env.BROWSER;if(!s||!Gs.includes(s)){let{stdout:e}=await Bs("ps cax");s=Gs.find(t=>e.includes(t))}return s},Dr=async s=>{if(process.platform==="darwin")try{let t=await Or();if(t){let i=`osascript openChrome.applescript "${encodeURI(s)}" "${t}"`;return await Bs(i,{cwd:g.resource.dir}),!0}}catch(t){h.debug(t)}try{let{default:t}=await import("open");return await t(s),!0}catch(t){return h.error("Failed to open start URL."),h.error(t),!1}},Js=Dr});var Ct,Ae,Ys=w(()=>{"use strict";p();Ct=d(require("fs/promises"),1);te();ee();Ms();Hs();Vs();I();Ae=class{ip=q();host=this.ip;isAutoDevBase=!1;isHttps=!1;httpsType="default";protocol="http";port=8e3;store;publicPath="/";publicHasHttp=!1;isOpenBrower=!1;url="";urls={localUrlForBrowser:"",localUrlForTerminal:"",lanUrlForTerminal:"",lanUrlForConfig:""};constructor(e){this.store=e}async setupOnEmpOptionSync(){this.store.cliAction!=="build"&&(this.port=await je(this.port),this.setHttps(),await this.setAutoDevBase())}get config(){return{}}async setupOnStore(){if(this.store.cliAction==="build")return;let{store:e}=this;this.publicPath=e.rsConfig.output?.publicPath==="auto"?"/":e.rsConfig.output?.publicPath||"/",this.isOpenBrower=!!e.empConfig.server.open,this.protocol=this.isHttps?"https":"http",this.host=e.empConfig.server.host?e.empConfig.server.host:this.ip,e.empConfig.server.port&&e.empConfig.server.port!==this.port&&(this.port=await je(e.empConfig.server.port)),Ne.setup(this),this.publicPath&&(this.publicPath.indexOf("http://")>-1||this.publicPath.indexOf("https://")>-1)?(this.url=this.publicPath,this.publicHasHttp=!0,this.urls.localUrlForTerminal=Ne.prettyPrintUrl("localhost")):(this.urls=Ne.urls,this.url=this.urls.localUrlForBrowser)}startOpen(){let{urls:e}=this;this.publicHasHttp?(h.info(`${W("\u279C")} Local: ${h.link(e.localUrlForTerminal)}`),h.info(`${W("\u279C")} Network: ${h.link(this.publicPath)}`)):(h.info(`${W("\u279C")} Local: ${h.link(e.localUrlForTerminal)}`),h.info(`${W("\u279C")} Network: ${h.link(e.lanUrlForTerminal)}
11
+ `)),this.isOpenBrower&&Js(this.url)}async getcert(){let{store:e}=this,t=this.store.rsConfig.devServer||{server:{type:"http"}};if(typeof t.server=="object"&&t.server.type==="https"&&t.server.options&&t.server.options.key&&t.server.options.cert)return t.server.options;let[i,r]=await Promise.all([Ct.default.readFile(e.resource.key),Ct.default.readFile(e.resource.cert)]);return{key:i,cert:r}}setHttps(){let{store:e}=this,{server:t,https:i}=e.empOptions.server||{};this.isHttps=t==="https"||typeof t=="object"&&t.type==="https"||i===!0}async setAutoDevBase(){let{store:e}=this;this.isAutoDevBase=!!e.empOptions.autoDevBase&&e.mode==="development"&&!this.isHttpBase,this.isAutoDevBase&&(this.protocol=this.isHttps?"https":"http",e.empOptions.server?.port&&(this.port=e.empOptions.server.port),this.port=await je(this.port),e.empOptions.base=`${this.protocol}://${this.host}:${this.port}/`,e.empOptions.server=e.deepAssign({port:this.port,client:{webSocketURL:`${this.isHttps?"wss":"ws"}://${this.host}:${this.port}/ws`}},e.empOptions.server))}get isHttpBase(){let e=this.store.empOptions.base||"";return e.indexOf("http://")>-1||e.indexOf("https://")>-1}}});var qs,j,Xs,Et,Pt,g,$=w(()=>{"use strict";p();qs=d(require("fs/promises"),1),j=d(require("path"),1),Xs=d(require("util"),1),Et=require("@rspack/core");ke();L();I();lt();Cs();Fs();Ys();lt();Te();Pt=class{rspack=Et.rspack;rspackVersion=Et.rspack.rspackVersion;isOldRspack=xe(this.rspackVersion,"1.0.0")===-1;empPkg={dependencies:{},devDependencies:{},version:"2.0.0",name:""};pkg={dependencies:{},devDependencies:{},version:"0.0.0",name:""};root=process.cwd();empRoot=j.default.resolve(__dirname,__filename).replace(`${j.default.sep}dist${j.default.sep}index.js`,"");empSource=j.default.resolve(this.empRoot,"dist");resolve=e=>j.default.isAbsolute(e)?e:j.default.resolve(this.root,e);empResolve=e=>j.default.resolve(this.empRoot,e);appSrc="";outDir="";publicDir="";resource={dir:"",key:"",cert:""};chainName=ws;server=new Ae(this);cacheDir="";mode="development";cliMode="dev";isDev=!0;chain;rsConfig;empOptions={};empConfig;entries={};debug;cliAction;cliOptions;rootPaths={empConfig:void 0,tsConfig:void 0,pkg:void 0};async setup(e,t){this.cliAction=e||this.cliAction,this.cliOptions=t||this.cliOptions,h.time("[store]Setup");let[i,r]=await Promise.all([ds(),gs()]);this.rootPaths.empConfig=i,this.rootPaths.tsConfig=r,this.rootPaths.pkg=this.resolve("package.json"),await this.initVars(this.cliAction,this.cliOptions),this.empConfig=bs,await this.empConfig.setup(this),this.debug={...this.empConfig.debug},this.initPaths(),this.chain=new at.default,await As.setup(this),this.setLogger(),this.toConfig(),this.logConfig(),await this.server.setupOnStore(),h.timeEnd("[store]Setup"),this.debug.clearLog&&tt()}async initVars(e,t){this.cliAction=e,this.cliOptions=t||{},this.cliMode="prod",this.mode=e==="dev"?"development":"production",this.isDev=this.mode==="development",process.env.NODE_ENV=e==="dev"?"development":"production";let i=require(this.empResolve("package.json")),r=require(this.resolve("package.json"));this.empPkg={...this.empPkg,...i},this.pkg={...this.pkg,...r},this.resource.dir=j.default.join(this.empRoot,"resource"),this.resource.cert=j.default.join(this.resource.dir,"emp.cert"),this.resource.key=j.default.join(this.resource.dir,"emp.key")}initPaths(){this.appSrc=this.resolve(this.empConfig.appSrc),this.outDir=this.resolve(this.empConfig.build.outDir),this.publicDir=this.resolve(this.empConfig.build.publicDir),this.cacheDir=this.resolve(this.empConfig.cacheDir)}loggerExtensionName="";setLoggerExtensionName(e){this.loggerExtensionName=e}setLogger(){let e=this.cliMode==="dev"?"debug":"info";this.debug.loggerLevel&&(e=this.debug.loggerLevel),h.setup({fullName:`EMP\u26A1${this.empPkg.version}${this.cliMode==="dev"?".DEV":""}${this.loggerExtensionName?" "+this.loggerExtensionName:""}`,brandName:"EMP",logLevel:e})}merge(e){this.chain.merge(e)}toConfig(){this.rsConfig=this.chain.toConfig()}logConfig(){if(this.debug.showRsconfig)if(typeof this.debug.showRsconfig=="string"){let e=j.default.join(this.root,this.debug.showRsconfig);qs.default.writeFile(e,JSON.stringify(this.rsConfig,null,2))}else{this.debug.clearLog=!1;let e={colors:!0,depth:null},t=typeof this.debug.showRsconfig=="object"?R(e,this.debug.showRsconfig):e;console.log(h.link("[Compile Config]")),console.log(Xs.default.inspect(this.rsConfig,t))}}get browserslistOptions(){return{default:["chrome >= 87","edge >= 88","firefox >= 78","safari >= 14"],h5:["iOS >= 9","Android >= 4.4","last 2 versions","> 0.2%","not dead"],node:["node >= 16"]}}get uniqueName(){return this.encodeVarName(this.pkg.name)}encodeVarName(e){return e.replaceAll("/","_").replaceAll("@","_").replaceAll("-","_")}vCompare=xe;deepAssign=R;getLanIp=q;injectTags(e=[],t="",i=""){this.chain.plugin(`${ae}-${t}`).use(ae,[e,t,i])}},g=new Pt});function Lr(s,e){let t=[s,e],i=["File","Size","Gzipped"].reduce((r,o,a)=>{let n=t[a],l=o;return n&&(l=o.length<n?o+" ".repeat(n-o.length):o),`${r+l} `}," ");console.log(Q.bold(i))}async function Zs(s){let e=s.toJson({all:!1,assets:!0,timings:!0}),i=e.assets.filter(c=>Nr(c.name)).map(Fr);i.sort((c,m)=>c.size-m.size);let r=Math.max(...i.map(c=>c.sizeLabel.length)),o=Math.max(...i.map(c=>(c.folder+G.default.sep+c.name).length));Lr(o,r);let a=0,n=0;i.forEach(c=>{let{sizeLabel:m}=c,{name:u,folder:b,gzipSizeLabel:C}=c,E=(b+G.default.sep+u).length,O=m.length;if(a+=c.size,n+=c.gzippedSize,O<r){let N=" ".repeat(r-O);m+=N}let S=Z(c.folder+G.default.sep)+Ir(c.name);if(E<o){let N=" ".repeat(o-E);S+=N}h.info(` ${S} ${Z(m)} ${C}`)});let l=`${Q.bold("Total size:")} ${Fe(a)}`,f=`${Q.bold("Gzipped size:")} ${Fe(n)}`;h.info(`
12
+ ${l}
13
+ ${f}
14
+ `),h.info(`${U.default.green("ready ")}Built in ${Se(Number(e.time))}
15
+ `)}function Le(s,e){let t=s==="start"?U.default.cyan("start "):U.default.green("ready ");console.log(t+U.default.white(e))}function ei(s=0,e="Ready"){h.info(`${U.default.green("ready ")}${e} in ${Se(Number(s))}`)}function ti(){Le("start","build started...")}function si(s){let e=s?.toJson({all:!1,colors:!1,assets:!1,chunks:!1,timings:!0});Le("ready",`built in ${U.default.bold((e.time/1e3).toFixed(2))} s`)}function ii(s="build started..."){Le("start",s)}function ri(s,e="built"){let t;typeof s=="number"?t=(s/1e3).toFixed(2):t=((s?.toJson({all:!1,colors:!1,assets:!1,chunks:!1,timings:!0})).time/1e3).toFixed(2),Le("ready",`${e} in ${U.default.bold(t)} s`)}var Ks,G,U,Qs,Rr,Tr,jr,Nr,Ar,Fr,Fe,Ir,le=w(()=>{"use strict";p();Ks=d(require("fs"),1),G=d(require("path"),1),U=d(require("chalk"),1),Qs=require("gzip-size");ee();$();L();I();Rr=/\.html$/,Tr=/\.(?:js|mjs|cjs|jsx)$/,jr=/\.css$/,Nr=s=>!/\.map$/.test(s)&&!/\.LICENSE\.txt$/.test(s),Ar=s=>s>300*1e3?Ke:s>100*1e3?_e:Qe,Fr=s=>{let e=s.name.split("?")[0],t=Fe(s.size),i=G.default.basename(e),r=G.default.join(G.default.basename(g.empConfig.build.outDir),G.default.dirname(e)),o=Ks.default.readFileSync(G.default.join(g.empConfig.build.outDir,e)),a=o.length,n=(0,Qs.gzipSizeSync)(o),l=Ar(n)(Fe(n));return{size:a,folder:r,name:i,gzippedSize:n,sizeLabel:t,gzipSizeLabel:l}};Fe=s=>{let e=s/1e3;return`${e.toFixed(e<1?2:1)} kB`},Ir=s=>Tr.test(s)?_e(s):jr.test(s)?W(s):Rr.test(s)?Q(s):Ze(s)});function _t(s,e){return s.map(t=>{let i=ce.default.relative(e,t);return xt.default.dim(ce.default.dirname(i)+ce.default.sep)+xt.default.dim(ce.default.basename(i))})}function oi(s,e){let t="emp:compiler",i=new Set,r=new Map,o=!1,a=new Set,n=!1,l=s.options.context||process.cwd(),f=u=>$r.test(u)&&!Mr.test(u),c=u=>{let b=new Set,C=new Set;if(u.modifiedFiles||u.removedFiles){if(u.modifiedFiles){for(let E of u.modifiedFiles)if(f(E)){let O=r.get(E)||0,S=Date.now();S-O>300&&(b.add(E),r.set(E,S))}}if(u.removedFiles)for(let E of u.removedFiles)f(E)&&(C.add(E),r.delete(E));return{changed:b,removed:C}}if(u.watchFileSystem?.watcher){let O=u.watchFileSystem.watcher.mtimes||{};for(let S of Object.keys(O)){if(!f(S))continue;let N=O[S],At=r.get(S)||0,Ft=Date.now();At<N&&Ft-At>300&&(b.add(S),r.set(S,Ft))}}return{changed:b,removed:C}};function m(u,b){if(!e.isServerStarted)return;let C=Array.from(u),E=Array.from(b),O=Array.from(a);if(C.length===0&&E.length===0&&O.length===0)return;let S="";if(C.length>0){let N=_t(C,l);S+=`modified ${N.join(", ")}`}if(O.length>0){let N=_t(O,l);S+=`lazyLoaded ${N.join(", ")}`}if(E.length>0){let N=_t(E,l);S+=`removed ${N.join(", ")}`}ii(S)}return s.hooks.watchRun.tap(t,u=>{if(n)return;n=!0,i.clear(),a.clear();let{changed:b,removed:C}=c(u);o=b.size>0||C.size>0,o&&m(b,C),b.forEach(E=>i.add(E))}),s.hooks.done.tap(t,u=>{if(!e.isServerStarted||!o){n=!1;return}(i.size>0||a.size>0)&&(ri(u),o=!1),n=!1}),{cleanup:()=>{i.clear(),r.clear(),a.clear(),o=!1,n=!1}}}var xt,ce,$r,Mr,ni=w(()=>{"use strict";p();xt=d(require("chalk"),1),ce=d(require("path"),1);le();$r=/\/src\//,Mr=/node_modules/});var B,Ie=w(()=>{"use strict";p();L();$();B=class{async setup(e,t){h.time(`[${e}]Setup`),await g.setup(e,t),h.title(`${e}`),h.time(`[${e}]Run`),await this.run(),this.processExit(),h.timeEnd(`[${e}]Run`),h.timeEnd(`[${e}]Setup`)}async run(){}processExit(){process.on("SIGINT",function(){process.exit()})}}});var ai,li,pe,ci=w(()=>{"use strict";p();ai=require("@rspack/dev-server"),li=d(require("connect"),1);L();pe=class{server=null;isServerStarted=!1;async setup(e,t,i,r=()=>{}){if(!t.devServer)return h.warn("rspackConfig.devServer need!");let o=new ai.RspackDevServer(t.devServer,e);return await o.start(),o.middleware?.waitUntilValid(r),this.server=o,o}async beforeCompiler(e){return e.devServer.app=()=>(0,li.default)(),e.devServer.server&&e.devServer.server.type==="https"&&(e.devServer.server.type="http2"),e}async close(){if(h.debug("close dev server"),this.server)try{return await this.server.stop(),this.isServerStarted=!1,this.server=null,!0}catch(e){return h.error("Error closing dev server:",e),!1}return!0}}});var St,pi,hi,fi,ui,mi,kt,di,gi,se,he,yi=w(()=>{"use strict";p();St=d(require("fs"),1),pi=d(require("fs/promises"),1),hi=d(require("compression"),1),fi=d(require("connect"),1),ui=d(require("cors"),1),mi=d(require("http2"),1),kt=d(require("path"),1),di=d(require("serve-static"),1),gi=require("url"),se=(0,fi.default)();se.use((0,hi.default)());se.use((0,ui.default)());he=class{async setup(e,t=()=>{}){let i="index",r=Object.keys(e.rsConfig.entry);if(r.length===0)return e.logger.sysError("emp serve must include entry!");if(r.includes(i)||(i=r[0]),!St.default.existsSync(e.outDir))return e.logger.sysError(`emp serve must be executed after emp build,${e.outDir} not exist!`);let o=e.resolve(e.rsConfig.output?.path);se.use((0,di.default)(o));let a=await pi.default.readFile(kt.default.join(o,`${i}.html`),"utf8");if(se.use((n,l,f)=>{let m=(0,gi.parse)(n.url||"",!0).pathname;if(m&&m!=="/"&&St.default.existsSync(kt.default.join(o,m)))return f();l.setHeader("Content-Type","text/html"),l.end(a)}),e.server.isHttps){let{key:n,cert:l}=await e.server.getcert();mi.default.createSecureServer(typeof e.server.isHttps!="boolean"?e.server.isHttps:{key:n,cert:l,allowHTTP1:!0},se).listen(e.server.port,t)}else require("http").createServer(se).listen(e.server.port,t)}}});var Ot=w(()=>{"use strict";p();ci();yi()});var bi={};X(bi,{default:()=>zr});var wi,$e,vi,fe,Dt,zr,Ci=w(()=>{"use strict";p();wi=require("@rspack/core");ns();$e=d(require("fs"),1),vi=d(require("path"),1);te();le();ni();I();Ie();Ot();$();fe=new pe,Dt=class extends B{closeHooks=[];get stats(){return{all:g.empConfig.debug.devShowAllLog,colors:!0,assets:!1,chunks:!1,entrypoints:!1,timings:!1,version:!1,errors:!0,warnings:!0}}async getRspackDevConfig(){let e=R(g.rsConfig,{stats:this.stats,devServer:{open:!1,setupExitSignals:!0,port:g.server.port}}),{devServer:t}=e;if(g.server.isHttps&&(!t.server||t.server.type==="https"&&!t.server.options)){let{key:i,cert:r}=await g.server.getcert();t.server={type:"https",options:{key:i,cert:r}}}return Object.hasOwn(t,"https")&&delete t.https,e}async startDevServer(e=!1){try{let{server:t}=g,i=await this.getRspackDevConfig();i=await fe.beforeCompiler(i);let r=(0,wi.rspack)(i);await g.empConfig.lifeCycle.beforeDevServe(),t.startOpen(),ti(),await fe.setup(r,i,g,async a=>{fe.isServerStarted=!0,si(a),await g.empConfig.lifeCycle.afterDevServe()});let o=oi(r,fe);this.closeHooks.push(()=>o.cleanup()),e&&h.debug("[EMP] Dev server restarted successfully")}catch(t){h.error(`[EMP] Failed to ${e?"restart":"start"} dev server:`,t)}}watchConfigFile(){let e=vi.default.resolve(process.cwd(),"emp.config.ts");if(!$e.default.existsSync(e))return;h.debug("[EMP] Watching for changes in emp.config.ts...");let t=$e.default.readFileSync(e,"utf-8");os.watch(e,{ignored:/(^|[/\\])\../,persistent:!0}).on("change",async i=>{let r=$e.default.readFileSync(e,"utf-8");if(t===r){h.debug("[EMP] \u914D\u7F6E\u6587\u4EF6\u65E0\u5B9E\u9645\u53D8\u66F4\uFF08\u7A7A\u4FDD\u5B58\uFF09\uFF0C\u8DF3\u8FC7\u91CD\u542F");return}t=r,h.debug(`[EMP] Config file changed: ${i}`),Object.keys(require.cache).forEach(o=>{o.includes("emp.config")&&delete require.cache[o]}),h.debug("[EMP] \u914D\u7F6E\u6587\u4EF6\u5DF2\u53D8\u66F4\uFF0C\u6B63\u5728\u91CD\u542F\u670D\u52A1..."),this.executeCloseHooks(),await fe.close(),await g.setup(),h.debug("[EMP] \u91CD\u542F\u670D\u52A1\u5B8C\u6210\uFF0C\u65B0\u914D\u7F6E\u5982\u4E0B:",g.empConfig.debug),await this.startDevServer(!0)})}async run(){await this.startDevServer(!1),this.watchConfigFile()}lastBuildTime=0;executeCloseHooks(){if(this.closeHooks.length>0){h.debug(`[EMP] \u6267\u884C ${this.closeHooks.length} \u4E2AHook...`);for(let e of this.closeHooks)try{e()}catch(t){h.error("[EMP] \u6267\u884C\u6E05\u7406\u94A9\u5B50\u65F6\u51FA\u9519:",t)}this.closeHooks=[]}}},zr=new Dt});var Rt={};X(Rt,{ServeScript:()=>Me,default:()=>Gr});var Hr,Ei,Me,Gr,Tt=w(()=>{"use strict";p();le();Ie();Ot();$();Hr=new he,Ei=0,Me=class extends B{async run(){Ei=Date.now(),await g.empConfig.lifeCycle.beforeServe(),await Hr.setup(g,this.onReady)}onReady=async()=>{g.server.startOpen(),ei(Date.now()-Ei,"Server Started"),await g.empConfig.lifeCycle.afterServe()}},Gr=new Me});var _i={};X(_i,{default:()=>Wr});var Pi,jt,Wr,xi=w(()=>{"use strict";p();Pi=require("@rspack/core");le();L();Ie();$();jt=class extends B{isWatchMode=!1;rspackConfig;isuseServe=!1;isStartServe=!1;watchMode(){this.isWatchMode&&this.rspackConfig.optimization&&(this.rspackConfig.optimization.moduleIds="named",this.rspackConfig.optimization.chunkIds="named",this.rspackConfig.watch=!0)}async startServe(){if(!this.isuseServe||this.isStartServe)return;this.isStartServe=!0;let{default:e}=await Promise.resolve().then(()=>(Tt(),Rt));await e.setup("serve",g.cliOptions)}async run(){await g.empConfig.lifeCycle.beforeBuild(),this.isWatchMode=!!g.cliOptions.watch,this.isuseServe=!!g.cliOptions.serve,this.rspackConfig=g.rsConfig,this.isWatchMode&&this.watchMode(),(0,Pi.rspack)(this.rspackConfig,async(e,t)=>{if(console.log(`
16
+ `),g.debug.showScriptDebug&&console.log(t?.toString()),e!==null){h.error(e.stack||e),e.message&&h.error(e.message);return}if(!t){h.red("Stats is Undefined.");return}t.hasErrors()&&(h.error(t.toString({all:!1,colors:!0,errors:!0})),h.red("Failed to compile."),process.exit(1)),t.hasWarnings()&&(h.yellow("Compiled with warnings."),h.warn(t.toString({all:!1,chunks:!1,assets:!1,colors:!0,errors:!0,warnings:!0}))),await Zs(t),this.startServe(),await g.empConfig.lifeCycle.afterBulid()})}},Wr=new jt});var Br={};X(Br,{Logger:()=>oe,color:()=>x,defineConfig:()=>Ur,empHelper:()=>rt,program:()=>Oi.program,rspack:()=>ki.rspack,runScript:()=>Nt,store:()=>g});module.exports=Ai(Br);p();var ki=require("@rspack/core"),Oi=require("commander");p();var Si=d(require("process"),1),J=require("commander");ze();async function Nt(){J.program.version(me.version,"-v, --version").usage("<command> [options]"),J.program.command("dev").description("Dev \u6A21\u5F0F").option("-e, --env <env>","\u90E8\u7F72\u73AF\u5883 dev\u3001test\u3001prod").option("-rd, --doctor","\u5F00\u542Frsdoctor,\u53EF\u901A\u8FC7debug.rsdoctor\u64CD\u4F5C").option("-h, --hot","\u662F\u5426\u4F7F\u7528\u70ED\u66F4\u65B0 \u9ED8\u8BA4\u542F\u52A8").option("-o, --open","\u662F\u5426\u6253\u5F00\u8C03\u8BD5\u9875\u9762 \u9ED8\u8BA4\u4E0D\u6253\u5F00").option("-t, --ts","\u751F\u6210\u7C7B\u578B\u6587\u4EF6 \u9ED8\u8BA4\u4E3A false").option("-pr, --profile","\u7EDF\u8BA1\u6A21\u5757\u6D88\u8017").option("-cl, --clearLog <clearLog>","\u6E05\u7A7A\u65E5\u5FD7 \u9ED8\u8BA4\u4E3A true").option("-ev, --env-vars <key=value>","\u5B9A\u4E49\u4E00\u4E2A\u73AF\u5883\u53D8\u91CF -ev key=value \u591A\u4E2A\u73AF\u5883\u53D8\u91CF\u91CD\u590D\u8C03\u7528 -ev key=value -ev key=value",(s,e)=>{let[t,i]=s.split("=");return e[t]=i,e},{}).action(async s=>{let{default:e}=await Promise.resolve().then(()=>(Ci(),bi));await e.setup("dev",s)}),J.program.command("build").description("Build \u6A21\u5F0F").option("-e, --env <env>","\u90E8\u7F72\u73AF\u5883 dev\u3001test\u3001prod").option("-rd, --doctor","\u5F00\u542Frsdoctor,\u53EF\u901A\u8FC7debug.rsdoctor\u64CD\u4F5C").option("-a, --analyze","\u751F\u6210\u5206\u6790\u62A5\u544A \u9ED8\u8BA4\u4E3A false").option("-t, --ts","\u751F\u6210\u7C7B\u578B\u6587\u4EF6 \u9ED8\u8BA4\u4E3A false").option("-pr, --profile","\u7EDF\u8BA1\u6A21\u5757\u6D88\u8017").option("-cl, --clearLog <clearLog>","\u6E05\u7A7A\u65E5\u5FD7 \u9ED8\u8BA4\u4E3A true").option("-w, --watch","watch \u6A21\u5F0F").option("-sv, --serve","watch \u6A21\u5F0F\u4E0B\u542F\u52A8serve").option("-ev, --env-vars <key=value>","\u5B9A\u4E49\u4E00\u4E2A\u73AF\u5883\u53D8\u91CF -ev key=value \u591A\u4E2A\u73AF\u5883\u53D8\u91CF\u91CD\u590D\u8C03\u7528 -ev key=value -ev key=value",(s,e)=>{let[t,i]=s.split("=");return e[t]=i,e},{}).action(async s=>{let{default:e}=await Promise.resolve().then(()=>(xi(),_i));await e.setup("build",s)}),J.program.command("serve").description("Server \u6A21\u5F0F").option("-cl, --clearLog <clearLog>","\u6E05\u7A7A\u65E5\u5FD7 \u9ED8\u8BA4\u4E3A true").option("-e, --env <env>","\u90E8\u7F72\u73AF\u5883 dev\u3001test\u3001prod").option("-ev, --env-vars <key=value>","\u5B9A\u4E49\u4E00\u4E2A\u73AF\u5883\u53D8\u91CF -ev key=value \u591A\u4E2A\u73AF\u5883\u53D8\u91CF\u91CD\u590D\u8C03\u7528 -ev key=value -ev key=value",(s,e)=>{let[t,i]=s.split("=");return e[t]=i,e},{}).action(async s=>{let{default:e}=await Promise.resolve().then(()=>(Tt(),Rt));await e.setup("serve",s)}),J.program.command("dts").description("\u62C9\u53D6 remote \u9879\u76EE\u7684 d.ts").option("-p, --typingsPath <typingsPath>","\u4E0B\u8F7D\u76EE\u5F55").option("-e, --env <env>","\u90E8\u7F72\u73AF\u5883 dev\u3001test\u3001prod").action(s=>{}),J.program.command("init").description("\u521D\u59CB\u5316 emp \u9879\u76EE").option("-d, --data [data]","JSON\u6570\u636E http\u5730\u5740 \u6216\u8005 \u6587\u4EF6\u8DEF\u5F84\u76F8\u5BF9\u3001\u7EDD\u5BF9\u8DEF\u5F84").action(s=>{}),J.program.parse(Si.default.argv)}$();L();te();function Ur(s){return s}0&&(module.exports={Logger,color,defineConfig,empHelper,program,rspack,runScript,store});
17
+ /*! Bundled license information:
18
+
19
+ chokidar/esm/index.js:
20
+ (*! chokidar - MIT License (c) 2012 Paul Miller (paulmillr.com) *)
21
+ */
17
22
  if (module.exports.default) module.exports = module.exports.default;
package/dist/index.d.cts CHANGED
@@ -224,6 +224,7 @@ declare class StoreServer {
224
224
 
225
225
  type EMPModeType = 'development' | 'production';
226
226
  type CliActionType = 'dev' | 'build' | 'serve';
227
+ type CliOptionsType = any;
227
228
 
228
229
  declare class GlobalStore {
229
230
  rspack: typeof node_modules__rspack_core_dist_rspack.rspack & typeof node_modules__rspack_core_dist_exports & {
@@ -344,7 +345,6 @@ declare class GlobalStore {
344
345
  /**
345
346
  * 项目配置
346
347
  */
347
- cliOptions: any;
348
348
  chain: Chain;
349
349
  rsConfig: Configuration;
350
350
  empOptions: EmpOptions;
@@ -354,8 +354,9 @@ declare class GlobalStore {
354
354
  };
355
355
  debug: EmpConfig['debug'];
356
356
  cliAction: CliActionType;
357
+ cliOptions: CliOptionsType;
357
358
  rootPaths: StoreRootPaths;
358
- setup(cliAction: CliActionType, cliOptions: any): Promise<void>;
359
+ setup(cliAction?: CliActionType, cliOptions?: any): Promise<void>;
359
360
  /**
360
361
  * 初始化 基础变量
361
362
  * @param mode cli名称
@@ -409,6 +410,9 @@ type DebugType = {
409
410
  clearLog?: boolean;
410
411
  progress?: boolean;
411
412
  showRsconfig?: boolean | string | InspectOptions;
413
+ /**
414
+ * 已经弃用
415
+ */
412
416
  showPerformance?: boolean;
413
417
  showScriptDebug?: boolean;
414
418
  rsdoctor?: boolean | RsdoctorRspackPluginOptions;
package/dist/index.d.ts CHANGED
@@ -224,6 +224,7 @@ declare class StoreServer {
224
224
 
225
225
  type EMPModeType = 'development' | 'production';
226
226
  type CliActionType = 'dev' | 'build' | 'serve';
227
+ type CliOptionsType = any;
227
228
 
228
229
  declare class GlobalStore {
229
230
  rspack: typeof node_modules__rspack_core_dist_rspack.rspack & typeof node_modules__rspack_core_dist_exports & {
@@ -344,7 +345,6 @@ declare class GlobalStore {
344
345
  /**
345
346
  * 项目配置
346
347
  */
347
- cliOptions: any;
348
348
  chain: Chain;
349
349
  rsConfig: Configuration;
350
350
  empOptions: EmpOptions;
@@ -354,8 +354,9 @@ declare class GlobalStore {
354
354
  };
355
355
  debug: EmpConfig['debug'];
356
356
  cliAction: CliActionType;
357
+ cliOptions: CliOptionsType;
357
358
  rootPaths: StoreRootPaths;
358
- setup(cliAction: CliActionType, cliOptions: any): Promise<void>;
359
+ setup(cliAction?: CliActionType, cliOptions?: any): Promise<void>;
359
360
  /**
360
361
  * 初始化 基础变量
361
362
  * @param mode cli名称
@@ -409,6 +410,9 @@ type DebugType = {
409
410
  clearLog?: boolean;
410
411
  progress?: boolean;
411
412
  showRsconfig?: boolean | string | InspectOptions;
413
+ /**
414
+ * 已经弃用
415
+ */
412
416
  showPerformance?: boolean;
413
417
  showScriptDebug?: boolean;
414
418
  rsdoctor?: boolean | RsdoctorRspackPluginOptions;
package/dist/index.js CHANGED
@@ -1,17 +1,22 @@
1
1
  import {createRequire as __createRequire} from 'module';var require=__createRequire(import.meta.url);
2
- var Nt=Object.defineProperty;var v=(s=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(s,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):s)(function(s){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+s+'" is not supported')});var m=(s,e)=>()=>(s&&(e=s(s=0)),e);var z=(s,e)=>{for(var t in e)Nt(s,t,{get:e[t],enumerable:!0})};import Lt from"path";import{fileURLToPath as At}from"url";var Ne,Mt,c,l,o=m(()=>{"use strict";Ne=()=>At(import.meta.url),Mt=()=>Lt.dirname(Ne()),c=Mt(),l=Ne()});import y from"chalk";var Ft,S,Gt,It,Bt,ne,U,Ut,Ht,N,pe,Jt,ae,L,h,A=m(()=>{"use strict";o();Ft=y.hex("#1abc9c"),S=y.hex("#16a085"),Gt=y.hex("#2ecc71"),It=y.hex("#27ae60"),Bt=y.hex("#e74c3c"),ne=y.hex("#c0392b"),U=y.hex("#f1c40f"),Ut=y.hex("#f39c12"),Ht=y.hex("#3498db"),N=y.hex("#2980b9"),pe=y.hex("#ecf0f1"),Jt=y.hex("#fd79a8"),ae=y.hex("#e84393"),L=y.hex("#7f8c8d"),h={lightGreen:Ft,green:S,lightCyan:Gt,cyan:It,lightRed:Bt,red:ne,yellow:U,orange:Ut,lightBlue:Ht,blue:N,white:pe,lightMagenta:Jt,magenta:ae,gray:L}});var H,n,P=m(()=>{"use strict";o();A();H=class{brandName="";fullName="";logLevel="debug";isLogTime=!1;setup({brandName:e,logLevel:t,fullName:i}){this.brandName=` [${e}] `,this.fullName=` ${i} `,this.fullName=h.green.bold(this.fullName),t&&(this.logLevel=t)}time=(...e)=>this.isLogTime&&console.time(...e);timeEnd=(...e)=>this.isLogTime&&console.timeEnd(...e);debug=(...e)=>["debug"].includes(this.logLevel)&&console.log(...e);info=(...e)=>["debug","info"].includes(this.logLevel)&&console.log(...e);warn=(...e)=>["debug","info","warn"].includes(this.logLevel)&&console.warn(...e);error=(...e)=>["debug","info","warn","error"].includes(this.logLevel)&&console.error(...e);blue=e=>{console.log(`${h.lightBlue(this.brandName)}${h.blue(` ${e} `)}
3
- `)};cyan=e=>{console.log(`${h.lightCyan(this.brandName)}${h.cyan(` ${e} `)}
4
- `)};magenta=e=>{console.log(`${h.lightMagenta(this.brandName)}${h.magenta(` ${e} `)}
5
- `)};green=e=>{console.log(`${h.lightGreen(this.brandName)}${h.green(` ${e} `)}
6
- `)};yellow=e=>{console.log(`${h.yellow(this.brandName)}${h.orange(` ${e} `)}
7
- `)};red=e=>{console.log(`${h.lightRed(this.brandName)}${h.red(` ${e} `)}
8
- `)};sysError=e=>{console.log(`${h.lightRed(" System Error Tips ")}${h.red(` ${e} `)}
9
- `)};link=e=>h.blue(e);title=e=>{console.log(`${this.fullName}${h.yellow.underline(`${e}`)}
10
- `)}},n=new H});import Ae from"fs";import{createJiti as _t}from"jiti";import Me from"path";var Vt,ze,Fe,Ge,Ie,J=m(()=>{"use strict";o();k();P();Vt=["emp-config.ts","emp-config.js","emp.config.ts","emp.config.js","emp-config.mjs","emp-config.cjs","emp-config.mts","emp-config.cts","emp.config.mjs","emp.config.cjs","emp.config.mts","emp.config.cts"],ze=_t(l,{interopDefault:!0}),Fe=async()=>{n.time("[store]GetEmpConfigPath");let s=Vt.map(i=>Me.resolve(a.root,i)),e=await Promise.all(s.map(i=>Ae.promises.access(i).then(()=>!0,()=>!1))),t=s.find((i,r)=>e[r]);return n.timeEnd("[store]GetEmpConfigPath"),t},Ge=async()=>{let s=Me.join(a.root,"tsconfig.json");return await Ae.promises.access(s).then(()=>!0,()=>!1)||(s=void 0),s},Ie=()=>{let s=[l];return a.rootPaths.pkg&&s.push(a.rootPaths.pkg),a.rootPaths.empConfig&&s.push(a.rootPaths.empConfig),a.rootPaths.tsConfig&&s.push(a.rootPaths.tsConfig),s}});var ue={};z(ue,{clearConsole:()=>ce,deepAssign:()=>b,ensureArray:()=>Qt,getLanIp:()=>D,getPkgVersion:()=>le,importJsVm:()=>me,jsonFilter:()=>Yt,timeFormat:()=>V,vCompare:()=>_});import{ip as Wt}from"address";import qt from"chalk";import{gateway4sync as Xt}from"default-gateway";import Kt from"fs-extra";function ce(){process.stdout.write(process.platform==="win32"?"\x1B[2J\x1B[0f":"\x1B[2J\x1B[3J\x1B[H")}function b(s,...e){for(let t of e)for(let i in t){let r=t[i],p=s[i];if(Object(r)==r&&Object(p)===p){s[i]=b(p,r);continue}s[i]=t[i]}return s}var D,le,Qt,Yt,_,V,me,C=m(()=>{"use strict";o();D=()=>{let s="127.0.0.1";try{let{int:e}=Xt();return Wt(e||"")||s}catch{return s}},le=s=>{try{let{version:e}=Kt.readJSONSync(s);return e}catch{return}};Qt=s=>Array.isArray(s)?s:[s],Yt=(s={},e=[])=>Object.keys(s).filter(t=>!e.includes(t)).reduce((t,i)=>(t[i]=s[i],t),{}),_=(s="",e="")=>{let t=s.replace("^","").split("."),i=e.replace("^","").split("."),r=Math.max(t.length,i.length),p=0;for(let u=0;u<r;u++){let f=t.length>u?t[u]:0,d=isNaN(Number(f))?f.charCodeAt():Number(f),E=i.length>u?i[u]:0,g=isNaN(Number(E))?E.charCodeAt():Number(E);if(d<g){p=-1;break}else if(d>g){p=1;break}}return p},V=s=>{s=s/1e3;let e=i=>qt.bold(i);if(s<1)return`${s*1e3} ms`;if(s<10){let i=s>=.01?2:3;return`${e(s.toFixed(i))} s`}if(s<60)return`${e(s.toFixed(1))} s`;let t=s/60;return`${e(t.toFixed(2))} m`},me=s=>`data:text/javascript,${s}`});import Be from"@empjs/chain";var Ue,he=m(()=>{"use strict";o();Ue={rule:{mjs:"mjs",typescript:"typescript",javascript:"javascript",sourceMap:"sourceMapLoader",inline:"inline",raw:"raw",svg:"svg",image:"image",font:"fonts",svga:"svga",sass:"sass",less:"less",css:"css"},use:{swc:"swc",sourceMap:"sourceMapLoader",sass:"sassLoader",less:"lessLoader"},plugin:{tsCheckerRspackPlugin:"TsCheckerRspackPlugin",bundleAnalyzer:"bundleAnalyzerPlugin",define:"definePlugin",copy:"copyRspackPlugin",progress:"progressPlugin",html:{prefix:"html-plugin-"},rsdoctor:"rsdoctor",sourceMapDevTool:"sourceMapDevTool"},minimizer:{minJs:"minJs",minCss:"minCss"}}});var He={};z(He,{chalk:()=>Zt,color:()=>h,glob:()=>W,logger:()=>n,utils:()=>ue});import Zt from"chalk";import{glob as W}from"glob";var F=m(()=>{"use strict";o();A();P();C()});var q,Je=m(()=>{"use strict";o();q=class{op={};constructor(e={}){this.op=e}async afterGetEmpOptions(){this.op.afterGetEmpOptions&&await this.op.afterGetEmpOptions()}async beforePlugin(){this.op.beforePlugin&&await this.op.beforePlugin()}async afterPlugin(){this.op.afterPlugin&&await this.op.afterPlugin()}async beforeModule(){this.op.beforeModule&&await this.op.beforeModule()}async afterModule(){this.op.afterModule&&await this.op.afterModule()}async beforeEmpPlugin(){this.op.beforeEmpPlugin&&await this.op.beforeEmpPlugin()}async afterEmpPlugin(){this.op.afterEmpPlugin&&await this.op.afterEmpPlugin()}async beforeBuild(){this.op.beforeBuild&&await this.op.beforeBuild()}async afterBulid(){this.op.afterBulid&&await this.op.afterBulid()}async beforeDevServe(){this.op.beforeDevServe&&await this.op.beforeDevServe()}async afterDevServe(){this.op.afterDevServe&&await this.op.afterDevServe()}async beforeServe(){this.op.beforeServe&&await this.op.beforeServe()}async afterServe(){this.op.afterServe&&await this.op.afterServe()}}});var fe,_e,Ve=m(()=>{"use strict";o();F();J();C();Je();fe=class{store;appSrc="src";appEntry="";base="";target=[];assign(e,t){return t=t||{},b(e,t)}isESM=!1;checkIsESM(e){return["es3","es5"].indexOf(e)===-1}lifeCycle;async setup(e){this.store=e,await this.syncEmpOptions(),await this.setupEmpOptions(),this.lifeCycle=new q(this.store.empOptions.lifeCycle),await this.lifeCycle.afterGetEmpOptions(),this.isESM=this.checkIsESM(this.build.target),this.store.empOptions.target?(this.target=this.store.empOptions.target,Array.isArray(this.target)&&!this.target.includes(this.build.target)&&this.target.push(this.build.target)):this.target=["web",this.build.target];let{appSrc:t,base:i,appEntry:r}=this.store.empOptions;t&&(this.appSrc=t),i&&(this.base=i),r&&(this.appEntry=r)}async setupEmpOptions(){await this.store.server.setupOnEmpOptionSync()}async chain(){this.store.empOptions.chain&&await this.store.empOptions.chain(this.store.chain)}async plugins(){let e=[];this.store.empOptions.plugins&&Array.isArray(this.store.empOptions.plugins)&&this.store.empOptions.plugins.length>0&&(this.store.empOptions.plugins.map(t=>{e.push(t.rsConfig(this.store))}),await Promise.all(e))}get debug(){let e=!1;return this.store.cliOptions.doctor&&(e={}),this.assign({loggerLevel:"info",clearLog:!0,progress:!0,showRsconfig:!1,showPerformance:!1,rsdoctor:e,infrastructureLogging:{appendOnly:!0,level:"warn"},newTreeshaking:this.store.empConfig.isESM,devShowAllLog:!1,showScriptDebug:!1,parallelCodeSplitting:!0,cssChunkingPlugin:!0,warnRuleAsWarning:!0},this.store.empOptions.debug)}get build(){let e=this.store.empOptions.build?.staticDir?`${this.store.empOptions.build?.staticDir}/`:"";return this.assign({outDir:"dist",staticDir:e,assetsDir:"assets",publicDir:"public",chunkIds:this.store.isDev?"named":"deterministic",moduleIds:this.store.isDev?"named":"deterministic",sourcemap:this.store.isDev,minify:!this.store.isDev,minOptions:{},cssminOptions:{},target:"es5",polyfill:{mode:void 0,entryCdn:void 0,splitChunks:!1,include:[],coreJsFeatures:"stable",externalHelpers:!1,browserslist:this.store.browserslistOptions.default},swcConfig:{},devtool:this.store.isDev?"cheap-module-source-map":"source-map"},{...this.store.empOptions.build,staticDir:e})}get html(){let e=this.store.empOptions.html?.template?{}:{charset:{charset:"utf-8"},"http-equiv":{"http-equiv":"X-UA-Compatible",content:"IE=edge"},viewport:{name:"viewport",content:"width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0"},keywords:{keywords:""},description:{description:""}};return this.assign({lang:"zh-CN",title:"EMP",inject:"body",minify:!this.store.isDev,scriptLoading:this.isESM?"module":"defer",meta:e,cache:this.cache!==!1,tags:[]},this.store.empOptions.html)}get entries(){return this.store.empOptions.entries?this.store.empOptions.entries:{}}get server(){let e={host:"0.0.0.0",port:8e3,open:process.platform==="darwin",hot:!0,watchFiles:["src/**/*.html"],static:[{directory:this.store.publicDir,watch:this.store.isDev}],allowedHosts:["all"],historyApiFallback:!0,headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, POST, PUT, DELETE, PATCH, OPTIONS","Access-Control-Allow-Headers":"X-Requested-With, content-type, Authorization"}};return this.store.empOptions.server?.http2&&(this.store.server.httpsType="h2",delete this.store.empOptions.server.http2),this.assign(e,this.store.empOptions.server)}get css(){return this.assign({sass:{mode:"modern",warnRuleAsWarning:this.store.empConfig.debug.warnRuleAsWarning},prifixName:""},this.store.empOptions.css)}get output(){let e=(this.store.isDev,".[contenthash:8]"),t=this.store.isDev?"":".[contenthash:8]",{assetsDir:i,staticDir:r}=this.store.empConfig.build,p={publicPath:this.store.empConfig.base?this.store.empConfig.base:"auto",crossOriginLoading:"anonymous",filename:`${r}js/[name]${e}.js`,cssFilename:`${r}css/[name]${t}.css`,cssChunkFilename:`${r}css/[name]${t}.css`,assetModuleFilename:`${r}${i}/[name]${e}[ext][query]`,path:this.store.outDir,clean:!this.store.isDev,uniqueName:this.store.uniqueName};return this.assign(p,this.store.empOptions.output)}get define(){let e={mode:this.store.mode,env:this.store.cliOptions.env};return this.store.empOptions.define&&(e={...e,...this.store.empOptions.define}),this.setDefine(e)}get tsCheckerRspackPlugin(){let e={};if(this.store.empOptions.tsCheckerRspackPlugin)typeof this.store.empOptions.tsCheckerRspackPlugin=="object"&&(e=this.store.empOptions.tsCheckerRspackPlugin);else return!1;return this.assign({},e)}setDefine(e){let t=this.store.empOptions.defineFix?this.store.empOptions.defineFix:this.isESM?"esm":"cjs",i={};return Object.keys(e).map(r=>{t==="all"?(i[`import.meta.env.${r}`]=JSON.stringify(e[r]),i[`process.env.${r}`]=JSON.stringify(e[r])):t==="esm"?i[`import.meta.env.${r}`]=JSON.stringify(e[r]):t==="cjs"?i[`process.env.${r}`]=JSON.stringify(e[r]):t==="none"&&(i[`${r}`]=JSON.stringify(e[r]))}),i}get externals(){return this.assign({},this.store.empOptions.externals)}get resolve(){return b({alias:{src:this.store.resolve("src"),"@":this.store.resolve("src")},extensions:["...",".js",".jsx",".mjs",".ts",".tsx",".css",".less",".scss",".sass",".json",".wasm",".vue",".svg",".svga"]},this.store.empOptions.resolve)}async syncEmpOptions(){if(n.time("[store][empConfig]SyncEmpOptions"),!this.store.rootPaths.empConfig)return;let e=await ze(this.store.rootPaths.empConfig);typeof e=="function"?this.store.empOptions=await e(this.store):this.store.empOptions=e||{},n.timeEnd("[store][empConfig]SyncEmpOptions")}get moduleTransformRule(){let{moduleTransform:e}=this.store.empOptions,t=this.assign({defaultExclude:!1},e),i={and:[],not:[]};return t.defaultExclude===!0&&i.and.push(/(node_modules|bower_components)/),t?.exclude&&(i.and=i.and.concat(t.exclude)),e?.include&&(i.not=t.include),i}get cacheDir(){return this.store.empOptions.cacheDir?this.store.empOptions.cacheDir:"node_modules/.emp-cache"}get cache(){return this.store.empOptions.cache===!1?!1:this.store.empOptions.cache?this.store.empOptions.cache:"persistent"}get ignoreWarnings(){return this.store.empOptions.ignoreWarnings?this.store.empOptions.ignoreWarnings:[/Conflicting order/]}get autoPages(){let e;return this.store.empOptions.autoPages&&(e=typeof this.store.empOptions.autoPages=="boolean"?{}:this.store.empOptions.autoPages,e=this.assign({path:"pages"},e)),e}},_e=new fe});import es from"fs-extra";var ge,We,qe=m(()=>{"use strict";o();J();ge=class{store;async setup(e){this.store=e;let t=[this.common(),this.stats(),this.devServer(),this.optimization(),this.checkTsconfig()];await Promise.all(t)}get cache(){if(this.store.empConfig.cache===!1)return!1;let e={type:this.store.empConfig.cache==="persistent"?"persistent":"memory",buildDependencies:Ie(),version:this.store.empPkg.version};return typeof this.store.empConfig.cache=="object"&&(e=this.store.deepAssign(e,this.store.empConfig.cache)),e}get name(){let e=this.store.empConfig.server.port?`_${this.store.empConfig.server.port}`:"";return this.store.pkg.name+e}async common(){this.store.merge({name:this.name,node:{global:!0},experiments:{nativeWatcher:!0,lazyBarrel:!0,inlineConst:!0,inlineEnum:!0,typeReexportsPresence:!0,outputModule:this.store.empConfig.isESM,topLevelAwait:!0,asyncWebAssembly:!0,css:!0,rspackFuture:{bundlerInfo:{force:!1}},cache:this.cache,incremental:"advance-silent",parallelCodeSplitting:this.store.empConfig.debug.parallelCodeSplitting,parallelLoader:!0},lazyCompilation:this.store.isDev,target:this.store.empConfig.target,infrastructureLogging:this.store.empConfig.debug.infrastructureLogging,context:this.store.root,mode:this.store.mode,cache:!!this.store.empConfig.cache,devtool:this.store.empConfig.build.sourcemap?this.store.empConfig.build.devtool:!1,output:this.store.empConfig.output,resolve:this.store.empConfig.resolve,externals:this.store.empConfig.externals,ignoreWarnings:this.store.empConfig.ignoreWarnings,watchOptions:{ignored:["**/node_modules/**","**/@mf-types/**"]}})}async checkTsconfig(){let e=this.store.resolve("tsconfig.json");if(await es.exists(e)){let i={};this.store.isOldRspack?i.tsConfigPath=e:i.tsConfig=e,this.store.merge({resolve:i})}}async stats(){this.store.merge({stats:{colors:!0,all:!1,assets:!1,chunks:!1,timings:!0,version:!0}})}async devServer(){this.store.merge({devServer:this.store.empConfig.server})}async optimization(){let e={moduleIds:this.store.empConfig.build.moduleIds,chunkIds:this.store.empConfig.build.chunkIds,minimize:this.store.empConfig.build.minify,splitChunks:{chunks:"async",cacheGroups:{}}};this.store.empConfig.build.polyfill.mode==="entry"&&this.store.empConfig.build.polyfill.splitChunks&&!this.store.empConfig.build.polyfill.entryCdn&&(e.splitChunks.cacheGroups.coreJs={test:/[\\/]node_modules[\\/](core-js)[\\/]/,name:"coreJs",chunks:"all",enforce:!0}),this.store.chain.merge({optimization:e})}},We=new ge});var de,Xe,Ke=m(()=>{"use strict";o();de=class{store;async setup(e){this.store=e;let t=[this.sass(),this.less(),this.css()];await Promise.all(t)}async sass(){let{rule:e,use:t}=this.store.chainName,i={},{sass:r}=this.store.empConfig.css;r.mode==="modern"&&(i.implementation=r.implementation?r.implementation:v.resolve("sass-embedded"),i.api="modern-compiler",i.sourceMap=this.store.empConfig.build.sourcemap,r.sassOptions&&(i.sassOptions=r.sassOptions)),typeof r.additionalData<"u"&&(i.additionalData=r.additionalData),typeof r.warnRuleAsWarning<"u"&&(i.warnRuleAsWarning=r.warnRuleAsWarning),typeof r.webpackImporter<"u"&&(i.webpackImporter=r.webpackImporter),this.store.chain.merge({module:{rule:{[e.sass]:{test:/\.(sass|scss)$/,use:{[t.sass]:{loader:v.resolve("sass-loader"),options:i}},type:"css/auto"}}}})}async less(){let{rule:e,use:t}=this.store.chainName,i={loader:v.resolve("less-loader"),options:{lessOptions:{javascriptEnabled:!0}}};this.store.chain.merge({module:{rule:{[e.less]:{test:/\.less$/,use:{[t.less]:i},type:"css/auto"}}}})}async css(){let{rule:e}=this.store.chainName;this.store.chain.merge({module:{rule:{[e.css]:{test:/\.css$/,use:{},type:"css/auto"}}}})}},Xe=new de});import ye from"html-webpack-plugin";function ts(){let s=[`import 'core-js/${a.empConfig.build.polyfill.coreJsFeatures}'`].join(`
11
- `);return me(s)}var X,G,K=m(()=>{"use strict";o();C();k();X=class{constructor(){}apply(e){let{webpack:t}=e;a.empConfig.build.polyfill.entryCdn||new t.EntryPlugin(e.context,ts(),{name:void 0}).apply(e)}},G=class{PluginName="HtmlEmpInjectPlugin";chunk="";files=[];constructor(e,t="",i=""){this.PluginName=`${this.PluginName}-${t}`,this.files=e,this.chunk=i}apply(e){e.hooks.compilation.tap(this.PluginName,t=>{ye.getHooks(t).alterAssetTagGroups.tapPromise(this.PluginName,async i=>(this.chunk&&!i.plugin.userOptions.chunks?.includes(this.chunk)||this.files.map(r=>{let{pos:p,...u}=r;(p==="body"?i.bodyTags:i.headTags).push({attributes:{},voidTag:!1,meta:{plugin:void 0},tagName:"script",...u})}),i))})}}});import w from"path";var ve,Qe,Ye=m(()=>{"use strict";o();F();K();ve=class{store;entriesConfig={};async setup(e){this.store=e,await this.init(),this.toConfig()}setHtmlConfig(e,t){return e.template=this.setTemplate(e.template),e.favicon=this.setFavicion(e.favicon),e.chunks=t,e.filename=`${t[0]}.html`,this.store.empConfig.base&&(e.publicPath=this.store.empConfig.base),this.prepareAndSetAsset(e),e}prepareAndSetAsset(e){let t=e.chunks?e.chunks[0]:void 0;this.store.injectTags(e.tags,t?`injectTags-${t}`:"injectTags",t),delete e.tags}injectPolyfill(){if(!this.store.empConfig.build.polyfill.entryCdn)return;let e=[{attributes:{src:this.store.empConfig.build.polyfill.entryCdn},tagName:"script",pos:"head"}];this.store.injectTags(e,"injectEMPPolyfill")}setChunk(e){return e.replace(w.extname(e),"").replace(`${this.store.empConfig.appSrc}${w.sep}`,"")}setTemplate(e){return e?this.store.resolve(e):this.store.empResolve(w.join("template","index.html"))}setFavicion(e){if(e!=="")return e?this.store.resolve(e):this.store.empResolve(w.join("template","favicon.ico"))}setEntryItem(e,t,i){i=i||this.store.resolve(w.join(this.store.empConfig.appSrc,e));let r=this.setChunk(e),p=[i];this.entriesConfig[r]={entry:{[r]:p},html:this.setHtmlConfig(t,[r])},this.store.entries[r]=p}setRspackHtmlPlugin(e,t){this.store.chain.plugin(`${this.store.chainName.plugin.html.prefix}${t}`).use(ye,[e])}setRspackEntry(e){this.store.merge({entry:e})}async init(){this.injectPolyfill(),this.store.empConfig.autoPages?await this.setAutoPage():(await this.setDefaultEntry(),this.setEntryByConfig())}async setAutoPage(){n.time("setAutoPage");let e=this.store.empConfig.autoPages?.path||"pages",t=w.join(this.store.appSrc,e),i=w.join(t,"**","*.{ts,tsx,jsx,js}"),r=await W([i],{windowsPathsNoEscape:!0});r=r.map(p=>p.replace(`${t}${w.sep}`,"")),r.map(p=>{let u=this.store.empConfig.entries[p]||{};this.setEntryItem(p,{...this.store.empConfig.html,...u},w.join(t,p))}),n.timeEnd("setAutoPage")}async setDefaultEntry(){n.time("[store][empConfig]SetDefaultEntry");let e=w.join(this.store.appSrc,this.store.empConfig.appEntry?this.store.empConfig.appEntry:"index.{ts,tsx,jsx,js}"),t=await W([e],{windowsPathsNoEscape:!0});if(t[0]){let i=w.join(this.store.empConfig.appSrc,Object.keys(this.store.empConfig.entries).length>0&&this.store.empConfig.appEntry?this.store.empConfig.appEntry:"index");this.setEntryItem(i,this.store.empConfig.html,t[0])}n.timeEnd("[store][empConfig]SetDefaultEntry")}setEntryByConfig(){if(Object.keys(this.store.empConfig.entries).length>0)for(let[e,t]of Object.entries(this.store.empConfig.entries))this.setEntryItem(e,{...this.store.empConfig.html,...t})}toConfig(){for(let[e,t]of Object.entries(this.entriesConfig))this.setRspackHtmlPlugin(t.html,e),this.setRspackEntry(t.entry)}},Qe=new ve});import Ze from"path";var be,et,tt=m(()=>{"use strict";o();C();be=class{store;swcJsOptions={};swcTsOptions={};coreJs={version:"3",alias:"",path:""};async setup(e){this.store=e,this.swcInitOptions(),await this.run()}async run(){let e=[this.jsDataUrl(),this.files(),this.scripts(),this.rspackGenerator(),this.rspackParser()];await this.store.empConfig.lifeCycle.beforeModule(),await Promise.all(e),await this.store.empConfig.lifeCycle.afterModule()}rspackGenerator(){let e=this.store.empConfig.css?.prifixName?`${this.store.empConfig.css?.prifixName}-`:"",t=this.store.isDev?`${e}[id]-[local]-[hash:base64:8]`:`${e}[local]-[hash:5]`;this.store.chain.merge({module:{generator:{"css/auto":{exportsConvention:"as-is",exportsOnly:!1,localIdentName:t,esModule:!0},css:{exportsOnly:!1,esModule:!0},"css/module":{exportsConvention:"as-is",exportsOnly:!1,localIdentName:t,esModule:!0},json:{JSONParse:!0}}}})}rspackParser(){this.store.chain.merge({module:{parser:{javascript:{dynamicImportMode:"lazy",dynamicImportPrefetch:!1,dynamicImportPreload:!1,url:!0,importMeta:!0},css:{namedExports:!1},"css/auto":{namedExports:!1},"css/module":{namedExports:!1}}}})}get isPolyfill(){return!!this.store.empConfig.build.polyfill.mode}swcParser(e){switch(e){case"js":return{syntax:"ecmascript",jsx:!0,decorators:!0,decoratorsBeforeExport:!1};case"ts":return{syntax:"typescript",decorators:!0,tsx:!0,dynamicImport:!0}}}swcJsc(e){let{target:t,polyfill:i}=this.store.empConfig.build,{externalHelpers:r}=i;return{parser:this.swcParser(e),transform:{},target:t,externalHelpers:r,preserveAllComments:!0}}get swcCoreVersion(){let[e,t]=this.coreJs.version.split(".");return`${e}.${t}`}swcOptions(e){let t={jsc:b(this.swcJsc(e),{...this.store.empConfig.build.swcConfig}),isModule:"unknown"};return this.isPolyfill&&(delete t.jsc.target,t.env={coreJs:this.swcCoreVersion,targets:this.store.empConfig.build.polyfill.browserslist},this.store.empConfig.isESM||(t.env.mode=this.store.empConfig.build.polyfill.mode),this.store.empConfig.build.polyfill.mode==="usage"&&(t.env.shippedProposals=!0,t.env.include=this.store.empConfig.build.polyfill.include)),t}swcInitOptions(){let{externalHelpers:e}=this.store.empConfig.build.polyfill;e&&this.store.chain.resolve.alias.set("@swc/helpers",Ze.dirname(v.resolve("@swc/helpers/package.json"))),this.coreJs.path=v.resolve("core-js/package.json");let t=le(this.coreJs.path);t&&(this.coreJs.version=t),this.coreJs.alias=Ze.dirname(this.coreJs.path),this.store.empConfig.build.polyfill.mode&&(this.store.chain.resolve.alias.set("core-js",this.coreJs.alias),this.store.chain.module.rule("javascript").exclude.add(/core-js/),this.store.chain.module.rule("typescript").exclude.add(/core-js/)),this.swcTsOptions=this.swcOptions("ts"),this.swcJsOptions=this.swcOptions("js")}jsDataUrl(){this.store.chain.module.rule("jsDataUrl").merge({mimetype:{or:["text/javascript","application/javascript"]}}).resolve.set("fullySpecified",!1).end().use("swcJsParser").loader("builtin:swc-loader").options(this.swcJsOptions)}async scripts(){let e=[],{rule:t,use:i}=this.store.chainName;this.store.chain.merge({module:{parser:{javascript:{exportsPresence:"error",importExportsPresence:"error"}},rule:{[t.mjs]:{test:/\.m?js/,resolve:{fullySpecified:!1}},[t.typescript]:{test:/\.(ts|tsx)$/,exclude:e,use:{[i.swc]:{loader:"builtin:swc-loader",options:this.swcTsOptions}}},[t.javascript]:{test:/\.((m|c)?js|jsx)$/,exclude:e,use:{[i.swc]:{loader:"builtin:swc-loader",options:this.swcJsOptions}}}}}})}async files(){let{rule:e}=this.store.chainName;this.store.chain.merge({module:{rule:{[e.svg]:{test:/\.svg$/,type:"asset/resource"}}}}),this.store.chain.merge({module:{rule:{[e.inline]:{resourceQuery:/inline/,type:"asset/inline"}}}}),this.store.chain.merge({module:{rule:{[e.raw]:{resourceQuery:/raw/,type:"asset/source"}}}}),this.store.chain.merge({module:{rule:{[e.image]:{test:/\.(png|jpe?g|gif|webp|ico)$/i,type:"asset/resource"},[e.font]:{test:/\.(|otf|ttf|eot|woff|woff2)$/i,type:"asset/resource"},[e.svga]:{test:/\.(svga)$/i,type:"asset/resource"}}}})}},et=new be});import j from"@rspack/core";import st from"fs";import{TsCheckerRspackPlugin as ss}from"ts-checker-rspack-plugin";var Ce,it,rt=m(()=>{"use strict";o();K();Ce=class{store;async setup(e){this.store=e;let t=[this.define(),this.anylayze(),this.progress(),this.copy(),this.minify(),this.redoctor(),this.tsCheckerRspackPlugin(),this.cssChunkingPlugin()];this.beforeLifeCycle(),await this.store.empConfig.lifeCycle.beforePlugin(),await Promise.all(t),await this.store.empConfig.lifeCycle.afterPlugin()}beforeLifeCycle(){let{store:e}=this;e.empConfig.build.polyfill.mode==="entry"&&e.chain.plugin("empPolyfill").use(X)}async anylayze(){if(!this.store.cliOptions.analyze)return;let{default:{BundleAnalyzerPlugin:e}}=await import("webpack-bundle-analyzer");this.store.chain.plugin(this.store.chainName.plugin.bundleAnalyzer).use(e,[{analyzerPort:this.store.empConfig.server.port,defaultSizes:"gzip",analyzerHost:this.store.getLanIp()||"127.0.0.1"}])}tsCheckerRspackPlugin(){if(this.store.empConfig.tsCheckerRspackPlugin===!1)return!1;this.store.chain.plugin(this.store.chainName.plugin.tsCheckerRspackPlugin).use(ss,[this.store.empConfig.tsCheckerRspackPlugin])}async define(){this.store.chain.plugin(this.store.chainName.plugin.define).use(j.DefinePlugin,[this.store.empConfig.define])}async copy(){let e=this.store.resolve("public");st.existsSync(e)&&st.readdirSync(e).length>0&&this.store.chain.plugin(this.store.chainName.plugin.copy).use(j.CopyRspackPlugin,[{patterns:[{from:e,to:this.store.resolve(this.store.empConfig.build.outDir),noErrorOnMissing:!0,globOptions:{ignore:["**/.DS_Store"]}}]}])}async progress(){if(!this.store.empConfig.debug.progress)return;let e={};this.store.isOldRspack||(e={template:"{bar:25.green/white}{spinner:.green}{percent}% {wide_msg:.dim}",tick:void 0,progressChars:"\u25A9\u25A9"}),this.store.chain.plugin(this.store.chainName.plugin.progress).use(j.ProgressPlugin,[e])}minify(){this.store.chain.optimization.minimizer(this.store.chainName.minimizer.minJs).use(j.SwcJsMinimizerRspackPlugin,[this.store.empConfig.build.minOptions]);let{SwcCssMinimizerRspackPlugin:e,LightningCssMinimizerRspackPlugin:t}=j;e?this.store.chain.optimization.minimizer(this.store.chainName.minimizer.minCss).use(e,[this.store.empConfig.build.cssminOptions]):t&&this.store.chain.optimization.minimizer(this.store.chainName.minimizer.minCss).use(t,[this.store.empConfig.build.cssminOptions])}redoctor(){if(!this.store.empConfig.debug.rsdoctor)return;let{RsdoctorRspackPlugin:e}=v("@rsdoctor/rspack-plugin"),t={};typeof this.store.empConfig.debug.rsdoctor=="object"&&(t=this.store.empConfig.debug.rsdoctor),this.store.chain.plugin(this.store.chainName.plugin.rsdoctor).use(e,[t])}sourceMapDevToolPlugin(){if(!this.store.empConfig.build.sourcemap)return;let e={};typeof this.store.empConfig.build.sourcemap=="object"&&(e=this.store.empConfig.build.sourcemap),this.store.chain.plugin(this.store.chainName.plugin.sourceMapDevTool).use(j.SourceMapDevToolPlugin,[e])}circularDependency(){this.store.chain.plugin("circularDependency").use(j.CircularDependencyRspackPlugin,[{}])}cssChunkingPlugin(){this.store.empConfig.debug.cssChunkingPlugin&&this.store.chain.plugin("CssChunkingPlugin").use(j.experiments.CssChunkingPlugin,[{}])}},it=new Ce});var we,ot,nt=m(()=>{"use strict";o();qe();Ke();Ye();tt();rt();we=class{store;async setup(e){this.store=e;let t=[We.setup(this.store),et.setup(this.store),it.setup(this.store),Qe.setup(this.store),Xe.setup(this.store)];await Promise.all(t),await this.store.empConfig.lifeCycle.beforeEmpPlugin(),await this.store.empConfig.plugins(),await this.store.empConfig.lifeCycle.afterEmpPlugin(),await this.store.empConfig.chain()}},ot=new we});import is from"net";import rs from"os";async function Q(s,e=void 0){if(s!==os&&(s<pt||s>xe))throw new Error(`Port number must lie between ${pt} and ${xe}`);let t=s,i=ns(),r;e&&!i.has(e)?r=new Set([e]):r=i;let p=new Set(["EADDRINUSE","EACCES"]);for(;t<=xe;)try{return await as(t,r)}catch(u){if(!p.has(u.code))throw u;t+=1}throw new Error("No available ports found")}var pt,xe,os,ns,ps,as,at=m(()=>{"use strict";o();pt=1024,xe=65535,os=443,ns=()=>{let s=rs.networkInterfaces(),e=new Set([void 0,"0.0.0.0"]);for(let t of Object.values(s))if(t)for(let i of t)e.add(i.address);return e},ps=(s,e)=>new Promise((t,i)=>{let r=is.createServer();r.unref(),r.on("error",i),r.listen(s,e,()=>{let{port:p}=r.address();r.close(()=>{t(p)})})}),as=async(s,e)=>{let t=new Set(["EADDRNOTAVAIL","EINVAL"]);for(let i of e)try{await ps(s,i)}catch(r){if(!t.has(r.code))throw r}return s}});import ls from"chalk";import lt from"url";var Se,Y,ct=m(()=>{"use strict";o();A();C();Se=class{imf={protocol:"",port:8e3,pathname:"/"};host="0.0.0.0";urls={lanUrlForConfig:"",lanUrlForTerminal:L("unavailable"),localUrlForTerminal:"",localUrlForBrowser:""};setup(e){e.host&&(this.host=e.host),e.protocol&&(this.imf.protocol=e.protocol),e.pathname&&(this.imf.pathname=e.pathname),e.port&&(this.imf.port=e.port),this.setupUrls()}setupUrls(){let{host:e}=this,t=e==="0.0.0.0"||e==="::",i;if(t){i="localhost";try{this.urls.lanUrlForConfig=this.getLanIp(),this.urls.lanUrlForConfig&&(/^10[.]|^172[.](1[6-9]|2[0-9]|3[0-1])[.]|^192[.]168[.]/.test(this.urls.lanUrlForConfig)?this.urls.lanUrlForTerminal=this.prettyPrintUrl(this.urls.lanUrlForConfig):this.urls.lanUrlForConfig="")}catch{}}else i=e,this.urls.lanUrlForConfig=e,this.urls.lanUrlForTerminal=this.prettyPrintUrl(this.urls.lanUrlForConfig);this.urls.localUrlForTerminal=this.prettyPrintUrl(i),this.urls.localUrlForBrowser=this.formatUrl(i)}getLanIp=D;formatUrl(e){let{protocol:t,port:i,pathname:r}=this.imf;return lt.format({protocol:t,hostname:e,port:i,pathname:r})}prettyPrintUrl(e){let{protocol:t,port:i,pathname:r}=this.imf;return lt.format({protocol:t,hostname:e,port:ls.bold(i),pathname:r})}},Y=new Se});import{exec as cs}from"child_process";import{promisify as ms}from"util";var ut,mt,us,hs,ht,ft=m(()=>{"use strict";o();k();P();ut=ms(cs),mt=["Google Chrome Canary","Google Chrome Dev","Google Chrome Beta","Google Chrome","Microsoft Edge","Brave Browser","Vivaldi","Chromium"],us=async()=>{let s=process.env.BROWSER;if(!s||!mt.includes(s)){let{stdout:e}=await ut("ps cax");s=mt.find(t=>e.includes(t))}return s},hs=async s=>{if(process.platform==="darwin")try{let t=await us();if(t){let i=`osascript openChrome.applescript "${encodeURI(s)}" "${t}"`;return await ut(i,{cwd:a.resource.dir}),!0}}catch(t){n.debug(t)}try{let{default:t}=await import("open");return await t(s),!0}catch(t){return n.error("Failed to open start URL."),n.error(t),!1}},ht=hs});import gt from"fs/promises";var Z,dt=m(()=>{"use strict";o();F();A();at();ct();ft();C();Z=class{ip=D();host=this.ip;isAutoDevBase=!1;isHttps=!1;httpsType="default";protocol="http";port=8e3;store;publicPath="/";publicHasHttp=!1;isOpenBrower=!1;url="";urls={localUrlForBrowser:"",localUrlForTerminal:"",lanUrlForTerminal:"",lanUrlForConfig:""};constructor(e){this.store=e}async setupOnEmpOptionSync(){this.store.cliAction!=="build"&&(this.port=await Q(this.port),this.setHttps(),await this.setAutoDevBase())}get config(){return{}}async setupOnStore(){if(this.store.cliAction==="build")return;let{store:e}=this;this.publicPath=e.rsConfig.output?.publicPath==="auto"?"/":e.rsConfig.output?.publicPath||"/",this.isOpenBrower=!!e.empConfig.server.open,this.protocol=this.isHttps?"https":"http",this.host=e.empConfig.server.host?e.empConfig.server.host:this.ip,e.empConfig.server.port&&e.empConfig.server.port!==this.port&&(this.port=await Q(e.empConfig.server.port)),Y.setup(this),this.publicPath&&(this.publicPath.indexOf("http://")>-1||this.publicPath.indexOf("https://")>-1)?(this.url=this.publicPath,this.publicHasHttp=!0,this.urls.localUrlForTerminal=Y.prettyPrintUrl("localhost")):(this.urls=Y.urls,this.url=this.urls.localUrlForBrowser)}startOpen(){let{urls:e}=this;this.publicHasHttp?(n.info(`${S("\u279C")} Local: ${n.link(e.localUrlForTerminal)}`),n.info(`${S("\u279C")} Network: ${n.link(this.publicPath)}`)):(n.info(`${S("\u279C")} Local: ${n.link(e.localUrlForTerminal)}`),n.info(`${S("\u279C")} Network: ${n.link(e.lanUrlForTerminal)}
12
- `)),this.isOpenBrower&&ht(this.url)}async getcert(){let{store:e}=this,t=this.store.rsConfig.devServer||{server:{type:"http"}};if(typeof t.server=="object"&&t.server.type==="https"&&t.server.options&&t.server.options.key&&t.server.options.cert)return t.server.options;let[i,r]=await Promise.all([gt.readFile(e.resource.key),gt.readFile(e.resource.cert)]);return{key:i,cert:r}}setHttps(){let{store:e}=this,{server:t,https:i}=e.empOptions.server||{};this.isHttps=t==="https"||typeof t=="object"&&t.type==="https"||i===!0}async setAutoDevBase(){let{store:e}=this;this.isAutoDevBase=!!e.empOptions.autoDevBase&&e.mode==="development"&&!this.isHttpBase,this.isAutoDevBase&&(this.protocol=this.isHttps?"https":"http",e.empOptions.server?.port&&(this.port=e.empOptions.server.port),this.port=await Q(this.port),e.empOptions.base=`${this.protocol}://${this.host}:${this.port}/`,e.empOptions.server=e.deepAssign({port:this.port,client:{webSocketURL:`${this.isHttps?"wss":"ws"}://${this.host}:${this.port}/ws`}},e.empOptions.server))}get isHttpBase(){let e=this.store.empOptions.base||"";return e.indexOf("http://")>-1||e.indexOf("https://")>-1}}});import fs from"fs/promises";import x from"path";import gs from"util";import{rspack as yt}from"@rspack/core";var ke,a,k=m(()=>{"use strict";o();J();P();C();he();Ve();nt();dt();he();K();ke=class{rspack=yt;rspackVersion=yt.rspackVersion;isOldRspack=_(this.rspackVersion,"1.0.0")===-1;empPkg={dependencies:{},devDependencies:{},version:"2.0.0",name:""};pkg={dependencies:{},devDependencies:{},version:"0.0.0",name:""};root=process.cwd();empRoot=x.resolve(c,l).replace(`${x.sep}dist${x.sep}index.js`,"");empSource=x.resolve(this.empRoot,"dist");resolve=e=>x.isAbsolute(e)?e:x.resolve(this.root,e);empResolve=e=>x.resolve(this.empRoot,e);appSrc="";outDir="";publicDir="";resource={dir:"",key:"",cert:""};chainName=Ue;server=new Z(this);cacheDir="";mode="development";cliMode="dev";isDev=!0;cliOptions;chain;rsConfig;empOptions={};empConfig;entries={};debug;cliAction;rootPaths={empConfig:void 0,tsConfig:void 0,pkg:void 0};async setup(e,t){n.time("[store]Setup");let[i,r]=await Promise.all([Fe(),Ge()]);this.rootPaths.empConfig=i,this.rootPaths.tsConfig=r,this.rootPaths.pkg=this.resolve("package.json"),await this.initVars(e,t),this.empConfig=_e,await this.empConfig.setup(this),this.debug={...this.empConfig.debug},this.initPaths(),this.chain=new Be,await ot.setup(this),this.setLogger(),this.toConfig(),this.logConfig(),await this.server.setupOnStore(),n.timeEnd("[store]Setup")}async initVars(e,t){this.cliAction=e,this.cliOptions=t||{},this.cliMode="prod",this.mode=e==="dev"?"development":"production",this.isDev=this.mode==="development",process.env.NODE_ENV=e==="dev"?"development":"production";let i=v(this.empResolve("package.json")),r=v(this.resolve("package.json"));this.empPkg={...this.empPkg,...i},this.pkg={...this.pkg,...r},this.resource.dir=x.join(this.empRoot,"resource"),this.resource.cert=x.join(this.resource.dir,"emp.cert"),this.resource.key=x.join(this.resource.dir,"emp.key")}initPaths(){this.appSrc=this.resolve(this.empConfig.appSrc),this.outDir=this.resolve(this.empConfig.build.outDir),this.publicDir=this.resolve(this.empConfig.build.publicDir),this.cacheDir=this.resolve(this.empConfig.cacheDir)}loggerExtensionName="";setLoggerExtensionName(e){this.loggerExtensionName=e}setLogger(){let e=this.cliMode==="dev"?"debug":"info";this.debug.loggerLevel&&(e=this.debug.loggerLevel),n.setup({fullName:`EMP\u26A1${this.empPkg.version}${this.cliMode==="dev"?".DEV":""}${this.loggerExtensionName?" "+this.loggerExtensionName:""}`,brandName:"EMP",logLevel:e})}merge(e){this.chain.merge(e)}toConfig(){this.rsConfig=this.chain.toConfig()}logConfig(){if(this.debug.showRsconfig)if(typeof this.debug.showRsconfig=="string"){let e=x.join(this.root,this.debug.showRsconfig);fs.writeFile(e,JSON.stringify(this.rsConfig,null,2))}else{this.debug.clearLog=!1;let e={colors:!0,depth:null},t=typeof this.debug.showRsconfig=="object"?b(e,this.debug.showRsconfig):e;console.log(n.link("[Compile Config]")),console.log(gs.inspect(this.rsConfig,t))}}get browserslistOptions(){return{default:["chrome >= 87","edge >= 88","firefox >= 78","safari >= 14"],h5:["iOS >= 9","Android >= 4.4","last 2 versions","> 0.2%","not dead"],node:["node >= 16"]}}get uniqueName(){return this.encodeVarName(this.pkg.name)}encodeVarName(e){return e.replaceAll("/","_").replaceAll("@","_").replaceAll("-","_")}vCompare=_;deepAssign=b;getLanIp=D;injectTags(e=[],t="",i=""){this.chain.plugin(`${G}-${t}`).use(G,[e,t,i])}},a=new ke});import ds from"fs";import $ from"path";import{gzipSizeSync as ys}from"gzip-size";function ks(s,e){let t=[s,e],i=["File","Size","Gzipped"].reduce((r,p,u)=>{let f=t[u],d=p;return f&&(d=p.length<f?p+" ".repeat(f-p.length):p),`${r+d} `}," ");console.log(N.bold(i))}async function vt(s){let e=s.toJson({all:!1,assets:!0,timings:!0}),i=e.assets.filter(g=>ws(g.name)).map(Ss);i.sort((g,O)=>g.size-O.size);let r=Math.max(...i.map(g=>g.sizeLabel.length)),p=Math.max(...i.map(g=>(g.folder+$.sep+g.name).length));ks(p,r);let u=0,f=0;i.forEach(g=>{let{sizeLabel:O}=g,{name:Tt,folder:Dt,gzipSizeLabel:Rt}=g,Te=(Dt+$.sep+Tt).length,De=O.length;if(u+=g.size,f+=g.gzippedSize,De<r){let oe=" ".repeat(r-De);O+=oe}let Re=L(g.folder+$.sep)+Os(g.name);if(Te<p){let oe=" ".repeat(p-Te);Re+=oe}n.info(` ${Re} ${L(O)} ${Rt}`)});let d=`${N.bold("Total size:")} ${ee(u)}`,E=`${N.bold("Gzipped size:")} ${ee(f)}`;n.info(`
13
- ${d}
14
- ${E}
15
- `),n.info(`${S("\u2713")} Ready in ${V(Number(e.time))}
16
- `)}function te(s=0){n.info(`${S("\u2713")} Ready in ${V(Number(s))}`)}var vs,bs,Cs,ws,xs,Ss,ee,Os,se=m(()=>{"use strict";o();A();k();P();C();vs=/\.html$/,bs=/\.(?:js|mjs|cjs|jsx)$/,Cs=/\.css$/,ws=s=>!/\.map$/.test(s)&&!/\.LICENSE\.txt$/.test(s),xs=s=>s>300*1e3?ne:s>100*1e3?U:pe,Ss=s=>{let e=s.name.split("?")[0],t=ee(s.size),i=$.basename(e),r=$.join($.basename(a.empConfig.build.outDir),$.dirname(e)),p=ds.readFileSync($.join(a.empConfig.build.outDir,e)),u=p.length,f=ys(p),d=xs(f)(ee(f));return{size:u,folder:r,name:i,gzippedSize:f,sizeLabel:t,gzipSizeLabel:d}};ee=s=>{let e=s/1e3;return`${e.toFixed(e<1?2:1)} kB`},Os=s=>bs.test(s)?U(s):Cs.test(s)?S(s):vs.test(s)?N(s):ae(s)});var T,ie=m(()=>{"use strict";o();P();C();k();T=class{async setup(e,t){n.time(`[${e}]Setup`),await a.setup(e,t),a.debug.clearLog&&ce(),n.title(`${e}`),n.time(`[${e}]Run`),await this.run(),this.processExit(),n.timeEnd(`[${e}]Run`),n.timeEnd(`[${e}]Setup`)}async run(){}processExit(){process.on("SIGINT",function(){process.exit()})}}});import{RspackDevServer as Ps}from"@rspack/dev-server";import Es from"connect";var I,bt=m(()=>{"use strict";o();I=class{async setup(e,t,i,r=()=>{}){if(!t.devServer)return console.warn("rspackConfig.devServer need!");let p=new Ps(t.devServer,e);return await p.start(),p.middleware?.waitUntilValid(r),p}async beforeCompiler(e){return e.devServer.app=()=>Es(),e.devServer.server&&e.devServer.server.type==="https"&&(e.devServer.server.type="http2"),e}}});import Ct from"fs";import js from"fs/promises";import $s from"compression";import Ts from"connect";import Ds from"cors";import Rs from"http2";import wt from"path";import Ns from"serve-static";import{parse as Ls}from"url";var M,B,xt=m(()=>{"use strict";o();M=Ts();M.use($s());M.use(Ds());B=class{async setup(e,t=()=>{}){let i="index",r=Object.keys(e.rsConfig.entry);if(r.length===0)return e.logger.sysError("emp serve must include entry!");if(r.includes(i)||(i=r[0]),!Ct.existsSync(e.outDir))return e.logger.sysError(`emp serve must be executed after emp build,${e.outDir} not exist!`);let p=e.resolve(e.rsConfig.output?.path);M.use(Ns(p));let u=await js.readFile(wt.join(p,`${i}.html`),"utf8");if(M.use((f,d,E)=>{let O=Ls(f.url||"",!0).pathname;if(O&&O!=="/"&&Ct.existsSync(wt.join(p,O)))return E();d.setHeader("Content-Type","text/html"),d.end(u)}),e.server.isHttps){let{key:f,cert:d}=await e.server.getcert();Rs.createSecureServer(typeof e.server.isHttps!="boolean"?e.server.isHttps:{key:f,cert:d,allowHTTP1:!0},M).listen(e.server.port,t)}else v("http").createServer(M).listen(e.server.port,t)}}});var Oe=m(()=>{"use strict";o();bt();xt()});var kt={};z(kt,{default:()=>Ms});import{rspack as As}from"@rspack/core";var St,Pe,Ms,Ot=m(()=>{"use strict";o();se();C();ie();Oe();k();St=new I,Pe=class extends T{get stats(){return{all:a.empConfig.debug.devShowAllLog,colors:!0,assets:!1,chunks:!1,entrypoints:!1,timings:!1,version:!1,errors:!0,warnings:!0}}async getRspackDevConfig(){let e=b(a.rsConfig,{stats:this.stats,devServer:{open:!1,setupExitSignals:!0,port:a.server.port}}),{devServer:t}=e;if(a.server.isHttps&&(!t.server||t.server.type==="https"&&!t.server.options)){let{key:i,cert:r}=await a.server.getcert();t.server={type:"https",options:{key:i,cert:r}}}return Object.hasOwn(t,"https")&&delete t.https,e}async run(){let{server:e}=a,t=await this.getRspackDevConfig();t=await St.beforeCompiler(t);let i=As(t);await a.empConfig.lifeCycle.beforeDevServe(),e.startOpen(),await St.setup(i,t,a,async r=>{this.showTimeDone(r),await a.empConfig.lifeCycle.afterDevServe()}),a.debug.showPerformance&&i.hooks.afterDone.tap("done",this.showTimeDone)}showTimeDone=e=>{let t=e?.toJson({all:!1,colors:!1,assets:!1,chunks:!1,timings:!0});te(t.time)}},Ms=new Pe});var Ee={};z(Ee,{ServeScript:()=>re,default:()=>Fs});var zs,Pt,re,Fs,je=m(()=>{"use strict";o();se();ie();Oe();k();zs=new B,Pt=0,re=class extends T{async run(){Pt=Date.now(),await a.empConfig.lifeCycle.beforeServe(),await zs.setup(a,this.onReady)}onReady=async()=>{a.server.startOpen(),te(Date.now()-Pt),await a.empConfig.lifeCycle.afterServe()}},Fs=new re});var Et={};z(Et,{default:()=>Is});import{rspack as Gs}from"@rspack/core";var $e,Is,jt=m(()=>{"use strict";o();se();P();ie();k();$e=class extends T{isWatchMode=!1;rspackConfig;isuseServe=!1;isStartServe=!1;watchMode(){this.isWatchMode&&this.rspackConfig.optimization&&(this.rspackConfig.optimization.moduleIds="named",this.rspackConfig.optimization.chunkIds="named",this.rspackConfig.watch=!0)}async startServe(){if(!this.isuseServe||this.isStartServe)return;this.isStartServe=!0;let{default:e}=await Promise.resolve().then(()=>(je(),Ee));await e.setup("serve",a.cliOptions)}async run(){await a.empConfig.lifeCycle.beforeBuild(),this.isWatchMode=!!a.cliOptions.watch,this.isuseServe=!!a.cliOptions.serve,this.rspackConfig=a.rsConfig,this.isWatchMode&&this.watchMode(),Gs(this.rspackConfig,async(e,t)=>{if(console.log(`
17
- `),a.debug.showScriptDebug&&console.log(t?.toString()),e!==null){n.error(e.stack||e),e.message&&n.error(e.message);return}if(!t){n.red("Stats is Undefined.");return}t.hasErrors()&&(n.error(t.toString({all:!1,colors:!0,errors:!0})),n.red("Failed to compile."),process.exit(1)),t.hasWarnings()&&(n.yellow("Compiled with warnings."),n.warn(t.toString({all:!1,chunks:!1,assets:!1,colors:!0,errors:!0,warnings:!0}))),await vt(t),this.startServe(),await a.empConfig.lifeCycle.afterBulid()})}},Is=new $e});o();import{rspack as Zo}from"@rspack/core";import{program as tn}from"commander";o();import Bs from"process";import{program as R}from"commander";var Le={name:"@empjs/cli",version:"3.10.0-beta.6",description:"emp",license:"MIT",type:"module",files:["dist","bin","resource","template","types","tsconfig"],maintainers:["xuhongbin","ckken","doerme"],repository:{type:"git",url:"git+https://github.com/empjs/emp.git",directory:"packages/cli"},publishConfig:{access:"public",registry:"https://registry.npmjs.org/"},keywords:["rspack","rust","typescript"],bin:{emp:"./bin/emp.js"},main:"dist/index.js",types:"dist/index.d.ts",exports:{".":{import:{types:"./dist/index.d.ts",default:"./dist/index.js"},require:{types:"./dist/index.d.cts",default:"./dist/index.cjs"}},"./emp-tsconfig.json":{default:"./tsconfig/react.json"},"./tsconfig/base":{default:"./tsconfig/base.json"},"./tsconfig/react":{default:"./tsconfig/react.json"},"./tsconfig/vue":{default:"./tsconfig/vue.json"},"./client":{types:"./types/react/index.d.ts",default:"./types/react/index.d.ts"},"./types/base":{types:"./types/base/index.d.ts",default:"./types/base/index.d.ts"},"./types/vue":{types:"./types/vue/index.d.ts",default:"./types/vue/index.d.ts"},"./types/react":{types:"./types/react/index.d.ts",default:"./types/react/index.d.ts"}},scripts:{dev:"tsup --watch --env.ENV dev",build:"tsup --env.ENV prod",ph:"pnpm publish --no-git-checks"},engines:{node:">=18.0.0"},author:"Ken",devDependencies:{"@types/compression":"^1.7.2","@types/connect":"^3.4.38","@types/cors":"^2.8.12","@types/default-gateway":"^7.2.1","@types/fs-extra":"^11.0.4","@types/node":"^20.8.7","@types/react":"^18.3.2","@types/serve-static":"^1.15.8","@types/watchpack":"^2.4.3","@types/webpack":"^5.28.4","@types/webpack-bundle-analyzer":"^4.6.2","@types/webpack-sources":"^3.2.2",vue:"^3.5.21"},dependencies:{"@empjs/chain":"workspace:*","@rsdoctor/rspack-plugin":"1.2.3","@rspack/core":"1.5.3","@rspack/dev-server":"1.1.4","@swc/helpers":"^0.5.17","@vue/tsconfig":"^0.8.1",address:"^2.0.2",chalk:"^5.3.0",commander:"11.1.0",compression:"1.8.1",connect:"3.7.0","core-js":"^3.41.0",cors:"2.8.5","default-gateway":"7.2.2","fs-extra":"11.3.1",glob:"11.0.3","gzip-size":"7.0.0","html-webpack-plugin":"5.6.4",jiti:"2.0.0","less-loader":"^12.2.0",open:"10.2.0","sass-embedded":"1.91.0","sass-loader":"16.0.5","serve-static":"2.2.0","ts-checker-rspack-plugin":"1.1.5","typescript-plugin-css-modules":"5.2.0","webpack-bundle-analyzer":"4.10.2"}};async function $t(){R.version(Le.version,"-v, --version").usage("<command> [options]"),R.command("dev").description("Dev \u6A21\u5F0F").option("-e, --env <env>","\u90E8\u7F72\u73AF\u5883 dev\u3001test\u3001prod").option("-rd, --doctor","\u5F00\u542Frsdoctor,\u53EF\u901A\u8FC7debug.rsdoctor\u64CD\u4F5C").option("-h, --hot","\u662F\u5426\u4F7F\u7528\u70ED\u66F4\u65B0 \u9ED8\u8BA4\u542F\u52A8").option("-o, --open","\u662F\u5426\u6253\u5F00\u8C03\u8BD5\u9875\u9762 \u9ED8\u8BA4\u4E0D\u6253\u5F00").option("-t, --ts","\u751F\u6210\u7C7B\u578B\u6587\u4EF6 \u9ED8\u8BA4\u4E3A false").option("-pr, --profile","\u7EDF\u8BA1\u6A21\u5757\u6D88\u8017").option("-cl, --clearLog <clearLog>","\u6E05\u7A7A\u65E5\u5FD7 \u9ED8\u8BA4\u4E3A true").option("-ev, --env-vars <key=value>","\u5B9A\u4E49\u4E00\u4E2A\u73AF\u5883\u53D8\u91CF -ev key=value \u591A\u4E2A\u73AF\u5883\u53D8\u91CF\u91CD\u590D\u8C03\u7528 -ev key=value -ev key=value",(s,e)=>{let[t,i]=s.split("=");return e[t]=i,e},{}).action(async s=>{let{default:e}=await Promise.resolve().then(()=>(Ot(),kt));await e.setup("dev",s)}),R.command("build").description("Build \u6A21\u5F0F").option("-e, --env <env>","\u90E8\u7F72\u73AF\u5883 dev\u3001test\u3001prod").option("-rd, --doctor","\u5F00\u542Frsdoctor,\u53EF\u901A\u8FC7debug.rsdoctor\u64CD\u4F5C").option("-a, --analyze","\u751F\u6210\u5206\u6790\u62A5\u544A \u9ED8\u8BA4\u4E3A false").option("-t, --ts","\u751F\u6210\u7C7B\u578B\u6587\u4EF6 \u9ED8\u8BA4\u4E3A false").option("-pr, --profile","\u7EDF\u8BA1\u6A21\u5757\u6D88\u8017").option("-cl, --clearLog <clearLog>","\u6E05\u7A7A\u65E5\u5FD7 \u9ED8\u8BA4\u4E3A true").option("-w, --watch","watch \u6A21\u5F0F").option("-sv, --serve","watch \u6A21\u5F0F\u4E0B\u542F\u52A8serve").option("-ev, --env-vars <key=value>","\u5B9A\u4E49\u4E00\u4E2A\u73AF\u5883\u53D8\u91CF -ev key=value \u591A\u4E2A\u73AF\u5883\u53D8\u91CF\u91CD\u590D\u8C03\u7528 -ev key=value -ev key=value",(s,e)=>{let[t,i]=s.split("=");return e[t]=i,e},{}).action(async s=>{let{default:e}=await Promise.resolve().then(()=>(jt(),Et));await e.setup("build",s)}),R.command("serve").description("Server \u6A21\u5F0F").option("-cl, --clearLog <clearLog>","\u6E05\u7A7A\u65E5\u5FD7 \u9ED8\u8BA4\u4E3A true").option("-e, --env <env>","\u90E8\u7F72\u73AF\u5883 dev\u3001test\u3001prod").option("-ev, --env-vars <key=value>","\u5B9A\u4E49\u4E00\u4E2A\u73AF\u5883\u53D8\u91CF -ev key=value \u591A\u4E2A\u73AF\u5883\u53D8\u91CF\u91CD\u590D\u8C03\u7528 -ev key=value -ev key=value",(s,e)=>{let[t,i]=s.split("=");return e[t]=i,e},{}).action(async s=>{let{default:e}=await Promise.resolve().then(()=>(je(),Ee));await e.setup("serve",s)}),R.command("dts").description("\u62C9\u53D6 remote \u9879\u76EE\u7684 d.ts").option("-p, --typingsPath <typingsPath>","\u4E0B\u8F7D\u76EE\u5F55").option("-e, --env <env>","\u90E8\u7F72\u73AF\u5883 dev\u3001test\u3001prod").action(s=>{}),R.command("init").description("\u521D\u59CB\u5316 emp \u9879\u76EE").option("-d, --data [data]","JSON\u6570\u636E http\u5730\u5740 \u6216\u8005 \u6587\u4EF6\u8DEF\u5F84\u76F8\u5BF9\u3001\u7EDD\u5BF9\u8DEF\u5F84").action(s=>{}),R.parse(Bs.argv)}k();P();F();function on(s){return s}export{H as Logger,h as color,on as defineConfig,He as empHelper,tn as program,Zo as rspack,$t as runScript,a as store};
2
+ var Vs=Object.defineProperty;var k=(s=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(s,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):s)(function(s){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+s+'" is not supported')});var v=(s,e)=>()=>(s&&(e=s(s=0)),e);var Z=(s,e)=>{for(var t in e)Vs(s,t,{get:e[t],enumerable:!0})};import Ys from"path";import{fileURLToPath as qs}from"url";var vt,Xs,w,g,c=v(()=>{"use strict";vt=()=>qs(import.meta.url),Xs=()=>Ys.dirname(vt()),w=Xs(),g=vt()});var ae,Fe=v(()=>{ae={name:"@empjs/cli",version:"3.10.1",description:"emp",license:"MIT",type:"module",files:["dist","bin","resource","template","types","tsconfig"],maintainers:["xuhongbin","ckken","doerme"],repository:{type:"git",url:"git+https://github.com/empjs/emp.git",directory:"packages/cli"},publishConfig:{access:"public",registry:"https://registry.npmjs.org/"},keywords:["rspack","rust","typescript"],bin:{emp:"./bin/emp.js"},main:"dist/index.js",types:"dist/index.d.ts",exports:{".":{import:{types:"./dist/index.d.ts",default:"./dist/index.js"},require:{types:"./dist/index.d.cts",default:"./dist/index.cjs"}},"./emp-tsconfig.json":{default:"./tsconfig/react.json"},"./tsconfig/base":{default:"./tsconfig/base.json"},"./tsconfig/react":{default:"./tsconfig/react.json"},"./tsconfig/vue":{default:"./tsconfig/vue.json"},"./client":{types:"./types/react/index.d.ts",default:"./types/react/index.d.ts"},"./types/base":{types:"./types/base/index.d.ts",default:"./types/base/index.d.ts"},"./types/vue":{types:"./types/vue/index.d.ts",default:"./types/vue/index.d.ts"},"./types/react":{types:"./types/react/index.d.ts",default:"./types/react/index.d.ts"}},scripts:{dev:"tsup --watch --env.ENV dev",build:"tsup --env.ENV prod","dev-rs":"rslib build --watch --env-mode development","build-rs":"rslib build --env-mode production",ph:"pnpm publish --no-git-checks"},engines:{node:">=18.0.0"},author:"Ken",devDependencies:{"@types/compression":"^1.7.2","@types/connect":"^3.4.38","@types/cors":"^2.8.12","@types/default-gateway":"^7.2.1","@types/fs-extra":"^11.0.4","@types/node":"^20.8.7","@types/react":"^18.3.2","@types/serve-static":"^1.15.8","@types/watchpack":"^2.4.3","@types/webpack":"^5.28.4","@types/webpack-bundle-analyzer":"^4.6.2","@types/webpack-sources":"^3.2.2",chokidar:"^4.0.3",vue:"^3.5.21"},dependencies:{"@empjs/chain":"workspace:*","@rsdoctor/rspack-plugin":"1.2.3","@rspack/core":"1.5.7","@rspack/dev-server":"1.1.4","@swc/helpers":"^0.5.17","@vue/tsconfig":"^0.8.1",address:"^2.0.2",chalk:"^5.3.0",commander:"11.1.0",compression:"1.8.1",connect:"3.7.0","core-js":"^3.41.0",cors:"2.8.5","default-gateway":"7.2.2","fs-extra":"11.3.1",glob:"11.0.3","gzip-size":"7.0.0","html-webpack-plugin":"5.6.4",jiti:"2.6.0","less-loader":"^12.2.0",open:"10.2.0","sass-embedded":"1.91.0","sass-loader":"16.0.5","serve-static":"2.2.0","ts-checker-rspack-plugin":"1.1.5","typescript-plugin-css-modules":"5.2.0","webpack-bundle-analyzer":"4.10.2"}}});import{stat as Qs,lstat as bt,readdir as Zs,realpath as ei}from"fs/promises";import{Readable as ti}from"stream";import{resolve as Ct,relative as si,join as ii,sep as ri}from"path";function St(s,e={}){let t=e.entryType||e.type;if(t==="both"&&(t=R.FILE_DIR_TYPE),t&&(e.type=t),s){if(typeof s!="string")throw new TypeError("readdirp: root argument must be a string. Usage: readdirp(root, options)");if(t&&!Et.includes(t))throw new Error(`readdirp: Invalid type passed. Use one of ${Et.join(", ")}`)}else throw new Error("readdirp: root argument is required. Usage: readdirp(root, options)");return e.root=s,new Ae(e)}var R,Ne,_t,oi,Et,ni,ai,li,pi,Pt,xt,Ae,kt=v(()=>{"use strict";c();R={FILE_TYPE:"files",DIR_TYPE:"directories",FILE_DIR_TYPE:"files_directories",EVERYTHING_TYPE:"all"},Ne={root:".",fileFilter:s=>!0,directoryFilter:s=>!0,type:R.FILE_TYPE,lstat:!1,depth:2147483648,alwaysStat:!1,highWaterMark:4096};Object.freeze(Ne);_t="READDIRP_RECURSIVE_ERROR",oi=new Set(["ENOENT","EPERM","EACCES","ELOOP",_t]),Et=[R.DIR_TYPE,R.EVERYTHING_TYPE,R.FILE_DIR_TYPE,R.FILE_TYPE],ni=new Set([R.DIR_TYPE,R.EVERYTHING_TYPE,R.FILE_DIR_TYPE]),ai=new Set([R.EVERYTHING_TYPE,R.FILE_DIR_TYPE,R.FILE_TYPE]),li=s=>oi.has(s.code),pi=process.platform==="win32",Pt=s=>!0,xt=s=>{if(s===void 0)return Pt;if(typeof s=="function")return s;if(typeof s=="string"){let e=s.trim();return t=>t.basename===e}if(Array.isArray(s)){let e=s.map(t=>t.trim());return t=>e.some(i=>t.basename===i)}return Pt},Ae=class extends ti{constructor(e={}){super({objectMode:!0,autoDestroy:!0,highWaterMark:e.highWaterMark});let t={...Ne,...e},{root:i,type:r}=t;this._fileFilter=xt(t.fileFilter),this._directoryFilter=xt(t.directoryFilter);let o=t.lstat?bt:Qs;pi?this._stat=a=>o(a,{bigint:!0}):this._stat=o,this._maxDepth=t.depth??Ne.depth,this._wantsDir=r?ni.has(r):!1,this._wantsFile=r?ai.has(r):!1,this._wantsEverything=r===R.EVERYTHING_TYPE,this._root=Ct(i),this._isDirent=!t.alwaysStat,this._statsProp=this._isDirent?"dirent":"stats",this._rdOptions={encoding:"utf8",withFileTypes:this._isDirent},this.parents=[this._exploreDir(i,1)],this.reading=!1,this.parent=void 0}async _read(e){if(!this.reading){this.reading=!0;try{for(;!this.destroyed&&e>0;){let t=this.parent,i=t&&t.files;if(i&&i.length>0){let{path:r,depth:o}=t,a=i.splice(0,e).map(l=>this._formatEntry(l,r)),n=await Promise.all(a);for(let l of n){if(!l)continue;if(this.destroyed)return;let f=await this._getEntryType(l);f==="directory"&&this._directoryFilter(l)?(o<=this._maxDepth&&this.parents.push(this._exploreDir(l.fullPath,o+1)),this._wantsDir&&(this.push(l),e--)):(f==="file"||this._includeAsFile(l))&&this._fileFilter(l)&&this._wantsFile&&(this.push(l),e--)}}else{let r=this.parents.pop();if(!r){this.push(null);break}if(this.parent=await r,this.destroyed)return}}}catch(t){this.destroy(t)}finally{this.reading=!1}}}async _exploreDir(e,t){let i;try{i=await Zs(e,this._rdOptions)}catch(r){this._onError(r)}return{files:i,depth:t,path:e}}async _formatEntry(e,t){let i,r=this._isDirent?e.name:e;try{let o=Ct(ii(t,r));i={path:si(this._root,o),fullPath:o,basename:r},i[this._statsProp]=this._isDirent?e:await this._stat(o)}catch(o){this._onError(o);return}return i}_onError(e){li(e)&&!this.destroyed?this.emit("warn",e):this.destroy(e)}async _getEntryType(e){if(!e&&this._statsProp in e)return"";let t=e[this._statsProp];if(t.isFile())return"file";if(t.isDirectory())return"directory";if(t&&t.isSymbolicLink()){let i=e.fullPath;try{let r=await ei(i),o=await bt(r);if(o.isFile())return"file";if(o.isDirectory()){let a=r.length;if(i.startsWith(r)&&i.substr(a,1)===ri){let n=new Error(`Circular symlink detected: "${i}" points to "${r}"`);return n.code=_t,this._onError(n)}return"directory"}}catch(r){return this._onError(r),""}}}_includeAsFile(e){let t=e&&e[this._statsProp];return t&&this._wantsEverything&&!t.isDirectory()}}});import{watchFile as ci,unwatchFile as Ot,watch as hi}from"fs";import{open as fi,stat as Rt,lstat as ui,realpath as Le}from"fs/promises";import*as P from"path";import{type as mi}from"os";function Dt(s,e,t,i,r){let o=(a,n)=>{t(s),r(a,n,{watchedPath:s}),n&&s!==n&&ce(P.resolve(s,n),W,P.join(s,n))};try{return hi(s,{persistent:e.persistent},o)}catch(a){i(a);return}}var di,Me,Tt,fe,ue,ze,gi,yi,wi,jt,x,F,vi,bi,W,le,V,Ci,Ei,Pi,$e,ee,xi,te,Ft,pe,ce,_i,Ie,Si,he,Nt=v(()=>{"use strict";c();di="data",Me="end",Tt="close",fe=()=>{},ue=process.platform,ze=ue==="win32",gi=ue==="darwin",yi=ue==="linux",wi=ue==="freebsd",jt=mi()==="OS400",x={ALL:"all",READY:"ready",ADD:"add",CHANGE:"change",ADD_DIR:"addDir",UNLINK:"unlink",UNLINK_DIR:"unlinkDir",RAW:"raw",ERROR:"error"},F=x,vi="watch",bi={lstat:ui,stat:Rt},W="listeners",le="errHandlers",V="rawEmitters",Ci=[W,le,V],Ei=new Set(["3dm","3ds","3g2","3gp","7z","a","aac","adp","afdesign","afphoto","afpub","ai","aif","aiff","alz","ape","apk","appimage","ar","arj","asf","au","avi","bak","baml","bh","bin","bk","bmp","btif","bz2","bzip2","cab","caf","cgm","class","cmx","cpio","cr2","cur","dat","dcm","deb","dex","djvu","dll","dmg","dng","doc","docm","docx","dot","dotm","dra","DS_Store","dsk","dts","dtshd","dvb","dwg","dxf","ecelp4800","ecelp7470","ecelp9600","egg","eol","eot","epub","exe","f4v","fbs","fh","fla","flac","flatpak","fli","flv","fpx","fst","fvt","g3","gh","gif","graffle","gz","gzip","h261","h263","h264","icns","ico","ief","img","ipa","iso","jar","jpeg","jpg","jpgv","jpm","jxr","key","ktx","lha","lib","lvp","lz","lzh","lzma","lzo","m3u","m4a","m4v","mar","mdi","mht","mid","midi","mj2","mka","mkv","mmr","mng","mobi","mov","movie","mp3","mp4","mp4a","mpeg","mpg","mpga","mxu","nef","npx","numbers","nupkg","o","odp","ods","odt","oga","ogg","ogv","otf","ott","pages","pbm","pcx","pdb","pdf","pea","pgm","pic","png","pnm","pot","potm","potx","ppa","ppam","ppm","pps","ppsm","ppsx","ppt","pptm","pptx","psd","pya","pyc","pyo","pyv","qt","rar","ras","raw","resources","rgb","rip","rlc","rmf","rmvb","rpm","rtf","rz","s3m","s7z","scpt","sgi","shar","snap","sil","sketch","slk","smv","snk","so","stl","suo","sub","swf","tar","tbz","tbz2","tga","tgz","thmx","tif","tiff","tlz","ttc","ttf","txz","udf","uvh","uvi","uvm","uvp","uvs","uvu","viv","vob","war","wav","wax","wbmp","wdp","weba","webm","webp","whl","wim","wm","wma","wmv","wmx","woff","woff2","wrm","wvx","xbm","xif","xla","xlam","xls","xlsb","xlsm","xlsx","xlt","xltm","xltx","xm","xmind","xpi","xpm","xwd","xz","z","zip","zipx"]),Pi=s=>Ei.has(P.extname(s).slice(1).toLowerCase()),$e=(s,e)=>{s instanceof Set?s.forEach(e):e(s)},ee=(s,e,t)=>{let i=s[e];i instanceof Set||(s[e]=i=new Set([i])),i.add(t)},xi=s=>e=>{let t=s[e];t instanceof Set?t.clear():delete s[e]},te=(s,e,t)=>{let i=s[e];i instanceof Set?i.delete(t):i===t&&delete s[e]},Ft=s=>s instanceof Set?s.size===0:!s,pe=new Map;ce=(s,e,t,i,r)=>{let o=pe.get(s);o&&$e(o[e],a=>{a(t,i,r)})},_i=(s,e,t,i)=>{let{listener:r,errHandler:o,rawEmitter:a}=i,n=pe.get(e),l;if(!t.persistent)return l=Dt(s,t,r,o,a),l?l.close.bind(l):void 0;if(n)ee(n,W,r),ee(n,le,o),ee(n,V,a);else{if(l=Dt(s,t,ce.bind(null,e,W),o,ce.bind(null,e,V)),!l)return;l.on(F.ERROR,async f=>{let p=ce.bind(null,e,le);if(n&&(n.watcherUnusable=!0),ze&&f.code==="EPERM")try{await(await fi(s,"r")).close(),p(f)}catch{}else p(f)}),n={listeners:r,errHandlers:o,rawEmitters:a,watcher:l},pe.set(e,n)}return()=>{te(n,W,r),te(n,le,o),te(n,V,a),Ft(n.listeners)&&(n.watcher.close(),pe.delete(e),Ci.forEach(xi(n)),n.watcher=void 0,Object.freeze(n))}},Ie=new Map,Si=(s,e,t,i)=>{let{listener:r,rawEmitter:o}=i,a=Ie.get(e),n=a&&a.options;return n&&(n.persistent<t.persistent||n.interval>t.interval)&&(Ot(e),a=void 0),a?(ee(a,W,r),ee(a,V,o)):(a={listeners:r,rawEmitters:o,options:t,watcher:ci(e,t,(l,f)=>{$e(a.rawEmitters,m=>{m(F.CHANGE,e,{curr:l,prev:f})});let p=l.mtimeMs;(l.size!==f.size||p>f.mtimeMs||p===0)&&$e(a.listeners,m=>m(s,l))})},Ie.set(e,a)),()=>{te(a,W,r),te(a,V,o),Ft(a.listeners)&&(Ie.delete(e),Ot(e),a.options=a.watcher=void 0,Object.freeze(a))}},he=class{constructor(e){this.fsw=e,this._boundHandleError=t=>e._handleError(t)}_watchWithNodeFs(e,t){let i=this.fsw.options,r=P.dirname(e),o=P.basename(e);this.fsw._getWatchedDir(r).add(o);let n=P.resolve(e),l={persistent:i.persistent};t||(t=fe);let f;if(i.usePolling){let p=i.interval!==i.binaryInterval;l.interval=p&&Pi(o)?i.binaryInterval:i.interval,f=Si(e,n,l,{listener:t,rawEmitter:this.fsw._emitRaw})}else f=_i(e,n,l,{listener:t,errHandler:this._boundHandleError,rawEmitter:this.fsw._emitRaw});return f}_handleFile(e,t,i){if(this.fsw.closed)return;let r=P.dirname(e),o=P.basename(e),a=this.fsw._getWatchedDir(r),n=t;if(a.has(o))return;let l=async(p,m)=>{if(this.fsw._throttle(vi,e,5)){if(!m||m.mtimeMs===0)try{let u=await Rt(e);if(this.fsw.closed)return;let b=u.atimeMs,C=u.mtimeMs;if((!b||b<=C||C!==n.mtimeMs)&&this.fsw._emit(F.CHANGE,e,u),(gi||yi||wi)&&n.ino!==u.ino){this.fsw._closeFile(p),n=u;let E=this._watchWithNodeFs(e,l);E&&this.fsw._addPathCloser(p,E)}else n=u}catch{this.fsw._remove(r,o)}else if(a.has(o)){let u=m.atimeMs,b=m.mtimeMs;(!u||u<=b||b!==n.mtimeMs)&&this.fsw._emit(F.CHANGE,e,m),n=m}}},f=this._watchWithNodeFs(e,l);if(!(i&&this.fsw.options.ignoreInitial)&&this.fsw._isntIgnored(e)){if(!this.fsw._throttle(F.ADD,e,0))return;this.fsw._emit(F.ADD,e,t)}return f}async _handleSymlink(e,t,i,r){if(this.fsw.closed)return;let o=e.fullPath,a=this.fsw._getWatchedDir(t);if(!this.fsw.options.followSymlinks){this.fsw._incrReadyCount();let n;try{n=await Le(i)}catch{return this.fsw._emitReady(),!0}return this.fsw.closed?void 0:(a.has(r)?this.fsw._symlinkPaths.get(o)!==n&&(this.fsw._symlinkPaths.set(o,n),this.fsw._emit(F.CHANGE,i,e.stats)):(a.add(r),this.fsw._symlinkPaths.set(o,n),this.fsw._emit(F.ADD,i,e.stats)),this.fsw._emitReady(),!0)}if(this.fsw._symlinkPaths.has(o))return!0;this.fsw._symlinkPaths.set(o,!0)}_handleRead(e,t,i,r,o,a,n){if(e=P.join(e,""),n=this.fsw._throttle("readdir",e,1e3),!n)return;let l=this.fsw._getWatchedDir(i.path),f=new Set,p=this.fsw._readdirp(e,{fileFilter:m=>i.filterPath(m),directoryFilter:m=>i.filterDir(m)});if(p)return p.on(di,async m=>{if(this.fsw.closed){p=void 0;return}let u=m.path,b=P.join(e,u);if(f.add(u),!(m.stats.isSymbolicLink()&&await this._handleSymlink(m,e,b,u))){if(this.fsw.closed){p=void 0;return}(u===r||!r&&!l.has(u))&&(this.fsw._incrReadyCount(),b=P.join(o,P.relative(o,b)),this._addToNodeFs(b,t,i,a+1))}}).on(F.ERROR,this._boundHandleError),new Promise((m,u)=>{if(!p)return u();p.once(Me,()=>{if(this.fsw.closed){p=void 0;return}let b=n?n.clear():!1;m(void 0),l.getChildren().filter(C=>C!==e&&!f.has(C)).forEach(C=>{this.fsw._remove(e,C)}),p=void 0,b&&this._handleRead(e,!1,i,r,o,a,n)})})}async _handleDir(e,t,i,r,o,a,n){let l=this.fsw._getWatchedDir(P.dirname(e)),f=l.has(P.basename(e));!(i&&this.fsw.options.ignoreInitial)&&!o&&!f&&this.fsw._emit(F.ADD_DIR,e,t),l.add(P.basename(e)),this.fsw._getWatchedDir(e);let p,m,u=this.fsw.options.depth;if((u==null||r<=u)&&!this.fsw._symlinkPaths.has(n)){if(!o&&(await this._handleRead(e,i,a,o,e,r,p),this.fsw.closed))return;m=this._watchWithNodeFs(e,(b,C)=>{C&&C.mtimeMs===0||this._handleRead(b,!1,a,o,e,r,p)})}return m}async _addToNodeFs(e,t,i,r,o){let a=this.fsw._emitReady;if(this.fsw._isIgnored(e)||this.fsw.closed)return a(),!1;let n=this.fsw._getWatchHelpers(e);i&&(n.filterPath=l=>i.filterPath(l),n.filterDir=l=>i.filterDir(l));try{let l=await bi[n.statMethod](n.watchPath);if(this.fsw.closed)return;if(this.fsw._isIgnored(n.watchPath,l))return a(),!1;let f=this.fsw.options.followSymlinks,p;if(l.isDirectory()){let m=P.resolve(e),u=f?await Le(e):e;if(this.fsw.closed||(p=await this._handleDir(n.watchPath,l,t,r,o,n,u),this.fsw.closed))return;m!==u&&u!==void 0&&this.fsw._symlinkPaths.set(m,u)}else if(l.isSymbolicLink()){let m=f?await Le(e):e;if(this.fsw.closed)return;let u=P.dirname(n.watchPath);if(this.fsw._getWatchedDir(u).add(n.watchPath),this.fsw._emit(F.ADD,n.watchPath,l),p=await this._handleDir(u,l,t,r,e,n,m),this.fsw.closed)return;m!==void 0&&this.fsw._symlinkPaths.set(P.resolve(e),m)}else p=this._handleFile(n.watchPath,l,t);return a(),p&&this.fsw._addPathCloser(e,p),!1}catch(l){if(this.fsw._handleError(l))return a(),e}}}});import{stat as ki}from"fs";import{stat as Oi,readdir as Di}from"fs/promises";import{EventEmitter as Ri}from"events";import*as y from"path";function me(s){return Array.isArray(s)?s:[s]}function Ii(s){return typeof s=="function"?s:typeof s=="string"?e=>s===e:s instanceof RegExp?e=>s.test(e):typeof s=="object"&&s!==null?e=>{if(s.path===e)return!0;if(s.recursive){let t=y.relative(s.path,e);return t?!t.startsWith("..")&&!y.isAbsolute(t):!1}return!1}:()=>!1}function $i(s){if(typeof s!="string")throw new Error("string expected");s=y.normalize(s),s=s.replace(/\\/g,"/");let e=!1;s.startsWith("//")&&(e=!0);let t=/\/\//;for(;s.match(t);)s=s.replace(t,"/");return e&&(s="/"+s),s}function Lt(s,e,t){let i=$i(e);for(let r=0;r<s.length;r++){let o=s[r];if(o(i,t))return!0}return!1}function Mi(s,e){if(s==null)throw new TypeError("anymatch: specify first argument");let i=me(s).map(r=>Ii(r));return e==null?(r,o)=>Lt(i,r,o):Lt(i,e)}function Ui(s,e={}){let t=new de(e);return t.add(s),t}var He,Ti,zt,ji,Fi,Ni,At,Ai,Li,Ge,It,$t,Ht,Mt,zi,Hi,We,Gi,Wi,Ue,de,Gt,Wt=v(()=>{"use strict";c();kt();Nt();He="/",Ti="//",zt=".",ji="..",Fi="string",Ni=/\\/g,At=/\/\//,Ai=/\..*\.(sw[px])$|~$|\.subl.*\.tmp/,Li=/^\.[/\\]/;Ge=s=>typeof s=="object"&&s!==null&&!(s instanceof RegExp);It=s=>{let e=me(s).flat();if(!e.every(t=>typeof t===Fi))throw new TypeError(`Non-string provided as watch path: ${e}`);return e.map(Ht)},$t=s=>{let e=s.replace(Ni,He),t=!1;for(e.startsWith(Ti)&&(t=!0);e.match(At);)e=e.replace(At,He);return t&&(e=He+e),e},Ht=s=>$t(y.normalize($t(s))),Mt=(s="")=>e=>typeof e=="string"?Ht(y.isAbsolute(e)?e:y.join(s,e)):e,zi=(s,e)=>y.isAbsolute(s)?s:y.join(e,s),Hi=Object.freeze(new Set),We=class{constructor(e,t){this.path=e,this._removeWatcher=t,this.items=new Set}add(e){let{items:t}=this;t&&e!==zt&&e!==ji&&t.add(e)}async remove(e){let{items:t}=this;if(!t||(t.delete(e),t.size>0))return;let i=this.path;try{await Di(i)}catch{this._removeWatcher&&this._removeWatcher(y.dirname(i),y.basename(i))}}has(e){let{items:t}=this;if(t)return t.has(e)}getChildren(){let{items:e}=this;return e?[...e.values()]:[]}dispose(){this.items.clear(),this.path="",this._removeWatcher=fe,this.items=Hi,Object.freeze(this)}},Gi="stat",Wi="lstat",Ue=class{constructor(e,t,i){this.fsw=i;let r=e;this.path=e=e.replace(Li,""),this.watchPath=r,this.fullWatchPath=y.resolve(r),this.dirParts=[],this.dirParts.forEach(o=>{o.length>1&&o.pop()}),this.followSymlinks=t,this.statMethod=t?Gi:Wi}entryPath(e){return y.join(this.watchPath,y.relative(this.watchPath,e.fullPath))}filterPath(e){let{stats:t}=e;if(t&&t.isSymbolicLink())return this.filterDir(e);let i=this.entryPath(e);return this.fsw._isntIgnored(i,t)&&this.fsw._hasReadPermissions(t)}filterDir(e){return this.fsw._isntIgnored(this.entryPath(e),e.stats)}},de=class extends Ri{constructor(e={}){super(),this.closed=!1,this._closers=new Map,this._ignoredPaths=new Set,this._throttled=new Map,this._streams=new Set,this._symlinkPaths=new Map,this._watched=new Map,this._pendingWrites=new Map,this._pendingUnlinks=new Map,this._readyCount=0,this._readyEmitted=!1;let t=e.awaitWriteFinish,i={stabilityThreshold:2e3,pollInterval:100},r={persistent:!0,ignoreInitial:!1,ignorePermissionErrors:!1,interval:100,binaryInterval:300,followSymlinks:!0,usePolling:!1,atomic:!0,...e,ignored:e.ignored?me(e.ignored):me([]),awaitWriteFinish:t===!0?i:typeof t=="object"?{...i,...t}:!1};jt&&(r.usePolling=!0),r.atomic===void 0&&(r.atomic=!r.usePolling);let o=process.env.CHOKIDAR_USEPOLLING;if(o!==void 0){let l=o.toLowerCase();l==="false"||l==="0"?r.usePolling=!1:l==="true"||l==="1"?r.usePolling=!0:r.usePolling=!!l}let a=process.env.CHOKIDAR_INTERVAL;a&&(r.interval=Number.parseInt(a,10));let n=0;this._emitReady=()=>{n++,n>=this._readyCount&&(this._emitReady=fe,this._readyEmitted=!0,process.nextTick(()=>this.emit(x.READY)))},this._emitRaw=(...l)=>this.emit(x.RAW,...l),this._boundRemove=this._remove.bind(this),this.options=r,this._nodeFsHandler=new he(this),Object.freeze(r)}_addIgnoredPath(e){if(Ge(e)){for(let t of this._ignoredPaths)if(Ge(t)&&t.path===e.path&&t.recursive===e.recursive)return}this._ignoredPaths.add(e)}_removeIgnoredPath(e){if(this._ignoredPaths.delete(e),typeof e=="string")for(let t of this._ignoredPaths)Ge(t)&&t.path===e&&this._ignoredPaths.delete(t)}add(e,t,i){let{cwd:r}=this.options;this.closed=!1,this._closePromise=void 0;let o=It(e);return r&&(o=o.map(a=>zi(a,r))),o.forEach(a=>{this._removeIgnoredPath(a)}),this._userIgnored=void 0,this._readyCount||(this._readyCount=0),this._readyCount+=o.length,Promise.all(o.map(async a=>{let n=await this._nodeFsHandler._addToNodeFs(a,!i,void 0,0,t);return n&&this._emitReady(),n})).then(a=>{this.closed||a.forEach(n=>{n&&this.add(y.dirname(n),y.basename(t||n))})}),this}unwatch(e){if(this.closed)return this;let t=It(e),{cwd:i}=this.options;return t.forEach(r=>{!y.isAbsolute(r)&&!this._closers.has(r)&&(i&&(r=y.join(i,r)),r=y.resolve(r)),this._closePath(r),this._addIgnoredPath(r),this._watched.has(r)&&this._addIgnoredPath({path:r,recursive:!0}),this._userIgnored=void 0}),this}close(){if(this._closePromise)return this._closePromise;this.closed=!0,this.removeAllListeners();let e=[];return this._closers.forEach(t=>t.forEach(i=>{let r=i();r instanceof Promise&&e.push(r)})),this._streams.forEach(t=>t.destroy()),this._userIgnored=void 0,this._readyCount=0,this._readyEmitted=!1,this._watched.forEach(t=>t.dispose()),this._closers.clear(),this._watched.clear(),this._streams.clear(),this._symlinkPaths.clear(),this._throttled.clear(),this._closePromise=e.length?Promise.all(e).then(()=>{}):Promise.resolve(),this._closePromise}getWatched(){let e={};return this._watched.forEach((t,i)=>{let o=(this.options.cwd?y.relative(this.options.cwd,i):i)||zt;e[o]=t.getChildren().sort()}),e}emitWithAll(e,t){this.emit(e,...t),e!==x.ERROR&&this.emit(x.ALL,e,...t)}async _emit(e,t,i){if(this.closed)return;let r=this.options;ze&&(t=y.normalize(t)),r.cwd&&(t=y.relative(r.cwd,t));let o=[t];i!=null&&o.push(i);let a=r.awaitWriteFinish,n;if(a&&(n=this._pendingWrites.get(t)))return n.lastChange=new Date,this;if(r.atomic){if(e===x.UNLINK)return this._pendingUnlinks.set(t,[e,...o]),setTimeout(()=>{this._pendingUnlinks.forEach((l,f)=>{this.emit(...l),this.emit(x.ALL,...l),this._pendingUnlinks.delete(f)})},typeof r.atomic=="number"?r.atomic:100),this;e===x.ADD&&this._pendingUnlinks.has(t)&&(e=x.CHANGE,this._pendingUnlinks.delete(t))}if(a&&(e===x.ADD||e===x.CHANGE)&&this._readyEmitted){let l=(f,p)=>{f?(e=x.ERROR,o[0]=f,this.emitWithAll(e,o)):p&&(o.length>1?o[1]=p:o.push(p),this.emitWithAll(e,o))};return this._awaitWriteFinish(t,a.stabilityThreshold,e,l),this}if(e===x.CHANGE&&!this._throttle(x.CHANGE,t,50))return this;if(r.alwaysStat&&i===void 0&&(e===x.ADD||e===x.ADD_DIR||e===x.CHANGE)){let l=r.cwd?y.join(r.cwd,t):t,f;try{f=await Oi(l)}catch{}if(!f||this.closed)return;o.push(f)}return this.emitWithAll(e,o),this}_handleError(e){let t=e&&e.code;return e&&t!=="ENOENT"&&t!=="ENOTDIR"&&(!this.options.ignorePermissionErrors||t!=="EPERM"&&t!=="EACCES")&&this.emit(x.ERROR,e),e||this.closed}_throttle(e,t,i){this._throttled.has(e)||this._throttled.set(e,new Map);let r=this._throttled.get(e);if(!r)throw new Error("invalid throttle");let o=r.get(t);if(o)return o.count++,!1;let a,n=()=>{let f=r.get(t),p=f?f.count:0;return r.delete(t),clearTimeout(a),f&&clearTimeout(f.timeoutObject),p};a=setTimeout(n,i);let l={timeoutObject:a,clear:n,count:0};return r.set(t,l),l}_incrReadyCount(){return this._readyCount++}_awaitWriteFinish(e,t,i,r){let o=this.options.awaitWriteFinish;if(typeof o!="object")return;let a=o.pollInterval,n,l=e;this.options.cwd&&!y.isAbsolute(e)&&(l=y.join(this.options.cwd,e));let f=new Date,p=this._pendingWrites;function m(u){ki(l,(b,C)=>{if(b||!p.has(e)){b&&b.code!=="ENOENT"&&r(b);return}let E=Number(new Date);u&&C.size!==u.size&&(p.get(e).lastChange=E);let D=p.get(e);E-D.lastChange>=t?(p.delete(e),r(void 0,C)):n=setTimeout(m,a,C)})}p.has(e)||(p.set(e,{lastChange:f,cancelWait:()=>(p.delete(e),clearTimeout(n),i)}),n=setTimeout(m,a))}_isIgnored(e,t){if(this.options.atomic&&Ai.test(e))return!0;if(!this._userIgnored){let{cwd:i}=this.options,o=(this.options.ignored||[]).map(Mt(i)),n=[...[...this._ignoredPaths].map(Mt(i)),...o];this._userIgnored=Mi(n,void 0)}return this._userIgnored(e,t)}_isntIgnored(e,t){return!this._isIgnored(e,t)}_getWatchHelpers(e){return new Ue(e,this.options.followSymlinks,this)}_getWatchedDir(e){let t=y.resolve(e);return this._watched.has(t)||this._watched.set(t,new We(t,this._boundRemove)),this._watched.get(t)}_hasReadPermissions(e){return this.options.ignorePermissionErrors?!0:!!(Number(e.mode)&256)}_remove(e,t,i){let r=y.join(e,t),o=y.resolve(r);if(i=i??(this._watched.has(r)||this._watched.has(o)),!this._throttle("remove",r,100))return;!i&&this._watched.size===1&&this.add(e,t,!0),this._getWatchedDir(r).getChildren().forEach(u=>this._remove(r,u));let l=this._getWatchedDir(e),f=l.has(t);l.remove(t),this._symlinkPaths.has(o)&&this._symlinkPaths.delete(o);let p=r;if(this.options.cwd&&(p=y.relative(this.options.cwd,r)),this.options.awaitWriteFinish&&this._pendingWrites.has(p)&&this._pendingWrites.get(p).cancelWait()===x.ADD)return;this._watched.delete(r),this._watched.delete(o);let m=i?x.UNLINK_DIR:x.UNLINK;f&&!this._isIgnored(r)&&this._emit(m,r),this._closePath(r)}_closePath(e){this._closeFile(e);let t=y.dirname(e);this._getWatchedDir(t).remove(y.basename(e))}_closeFile(e){let t=this._closers.get(e);t&&(t.forEach(i=>i()),this._closers.delete(e))}_addPathCloser(e,t){if(!t)return;let i=this._closers.get(e);i||(i=[],this._closers.set(e,i)),i.push(t)}_readdirp(e,t){if(this.closed)return;let i={type:x.ALL,alwaysStat:!0,lstat:!0,...t,depth:0},r=St(e,i);return this._streams.add(r),r.once(Tt,()=>{r=void 0}),r.once(Me,()=>{r&&(this._streams.delete(r),r=void 0)}),r}};Gt={watch:Ui,FSWatcher:de}});import O from"chalk";var Bi,M,Ji,Vi,Yi,Be,ge,qi,Xi,Y,Je,Ki,Ve,q,_,X=v(()=>{"use strict";c();Bi=O.hex("#1abc9c"),M=O.hex("#16a085"),Ji=O.hex("#2ecc71"),Vi=O.hex("#27ae60"),Yi=O.hex("#e74c3c"),Be=O.hex("#c0392b"),ge=O.hex("#f1c40f"),qi=O.hex("#f39c12"),Xi=O.hex("#3498db"),Y=O.hex("#2980b9"),Je=O.hex("#ecf0f1"),Ki=O.hex("#fd79a8"),Ve=O.hex("#e84393"),q=O.hex("#7f8c8d"),_={lightGreen:Bi,green:M,lightCyan:Ji,cyan:Vi,lightRed:Yi,red:Be,yellow:ge,orange:qi,lightBlue:Xi,blue:Y,white:Je,lightMagenta:Ki,magenta:Ve,gray:q}});var Ut,ye,h,L=v(()=>{"use strict";c();X();Ut=!1,ye=class{brandName="";fullName="";logLevel=Ut?"debug":"info";isLogTime=Ut;setup({brandName:e,logLevel:t,fullName:i}){this.brandName=` [${e}] `,this.fullName=` ${i} `,this.fullName=_.green.bold(this.fullName),t&&(this.logLevel=t)}time=(...e)=>this.isLogTime&&console.time(...e);timeEnd=(...e)=>this.isLogTime&&console.timeEnd(...e);debug=(...e)=>["debug"].includes(this.logLevel)&&console.log(...e);info=(...e)=>["debug","info"].includes(this.logLevel)&&console.log(...e);warn=(...e)=>["debug","info","warn"].includes(this.logLevel)&&console.warn(...e);error=(...e)=>["debug","info","warn","error"].includes(this.logLevel)&&console.error(...e);blue=e=>{console.log(`${_.lightBlue(this.brandName)}${_.blue(` ${e} `)}
3
+ `)};cyan=e=>{console.log(`${_.lightCyan(this.brandName)}${_.cyan(` ${e} `)}
4
+ `)};magenta=e=>{console.log(`${_.lightMagenta(this.brandName)}${_.magenta(` ${e} `)}
5
+ `)};green=e=>{console.log(`${_.lightGreen(this.brandName)}${_.green(` ${e} `)}
6
+ `)};yellow=e=>{console.log(`${_.yellow(this.brandName)}${_.orange(` ${e} `)}
7
+ `)};red=e=>{console.log(`${_.lightRed(this.brandName)}${_.red(` ${e} `)}
8
+ `)};sysError=e=>{console.log(`${_.lightRed(" System Error Tips ")}${_.red(` ${e} `)}
9
+ `)};link=e=>_.blue(e);title=e=>{console.log(`${this.fullName}${_.yellow.underline(`${e}`)}
10
+ `)}},h=new ye});var Ke={};Z(Ke,{clearConsole:()=>qe,deepAssign:()=>T,ensureArray:()=>sr,getLanIp:()=>U,getPkgVersion:()=>Ye,importJsVm:()=>Xe,jsonFilter:()=>ir,timeFormat:()=>ve,vCompare:()=>we});import{ip as Qi}from"address";import Zi from"chalk";import{gateway4sync as er}from"default-gateway";import tr from"fs-extra";function qe(){process.stdout.write(process.platform==="win32"?"\x1B[2J\x1B[0f":"\x1B[2J\x1B[3J\x1B[H")}function T(s,...e){for(let t of e)for(let i in t){let r=t[i],o=s[i];if(Object(r)==r&&Object(o)===o){s[i]=T(o,r);continue}s[i]=t[i]}return s}var U,Ye,sr,ir,we,ve,Xe,I=v(()=>{"use strict";c();U=()=>{let s="127.0.0.1";try{let{int:e}=er();return Qi(e||"")||s}catch{return s}},Ye=s=>{try{let{version:e}=tr.readJSONSync(s);return e}catch{return}};sr=s=>Array.isArray(s)?s:[s],ir=(s={},e=[])=>Object.keys(s).filter(t=>!e.includes(t)).reduce((t,i)=>(t[i]=s[i],t),{}),we=(s="",e="")=>{let t=s.replace("^","").split("."),i=e.replace("^","").split("."),r=Math.max(t.length,i.length),o=0;for(let a=0;a<r;a++){let n=t.length>a?t[a]:0,l=isNaN(Number(n))?n.charCodeAt():Number(n),f=i.length>a?i[a]:0,p=isNaN(Number(f))?f.charCodeAt():Number(f);if(l<p){o=-1;break}else if(l>p){o=1;break}}return o},ve=s=>{s=s/1e3;let e=i=>Zi.bold(i);if(s<1)return`${s*1e3} ms`;if(s<10){let i=s>=.01?2:3;return`${e(s.toFixed(i))} s`}if(s<60)return`${e(s.toFixed(1))} s`;let t=s/60;return`${e(t.toFixed(2))} m`},Xe=s=>`data:text/javascript,${s}`});var Bt={};Z(Bt,{chalk:()=>rr,color:()=>_,glob:()=>be,logger:()=>h,utils:()=>Ke});import rr from"chalk";import{glob as be}from"glob";var K=v(()=>{"use strict";c();X();L();I()});import Jt from"fs";import{createJiti as or}from"jiti";import Vt from"path";var nr,Yt,qt,Xt,Kt,Ce=v(()=>{"use strict";c();$();Fe();L();nr=["emp-config.ts","emp-config.js","emp.config.ts","emp.config.js","emp-config.mjs","emp-config.cjs","emp-config.mts","emp-config.cts","emp.config.mjs","emp.config.cjs","emp.config.mts","emp.config.cts"],Yt=or(g,{interopDefault:!0,fsCache:!0,moduleCache:!0,cacheVersion:ae.version}),qt=async()=>{h.time("[store]GetEmpConfigPath");let s=nr.map(i=>Vt.resolve(d.root,i)),e=await Promise.all(s.map(i=>Jt.promises.access(i).then(()=>!0,()=>!1))),t=s.find((i,r)=>e[r]);return h.timeEnd("[store]GetEmpConfigPath"),t},Xt=async()=>{let s=Vt.join(d.root,"tsconfig.json");return await Jt.promises.access(s).then(()=>!0,()=>!1)||(s=void 0),s},Kt=()=>{let s=[g];return d.rootPaths.pkg&&s.push(d.rootPaths.pkg),d.rootPaths.empConfig&&s.push(d.rootPaths.empConfig),d.rootPaths.tsConfig&&s.push(d.rootPaths.tsConfig),s}});import Qt from"@empjs/chain";var Zt,Qe=v(()=>{"use strict";c();Zt={rule:{mjs:"mjs",typescript:"typescript",javascript:"javascript",sourceMap:"sourceMapLoader",inline:"inline",raw:"raw",svg:"svg",image:"image",font:"fonts",svga:"svga",sass:"sass",less:"less",css:"css"},use:{swc:"swc",sourceMap:"sourceMapLoader",sass:"sassLoader",less:"lessLoader"},plugin:{tsCheckerRspackPlugin:"TsCheckerRspackPlugin",bundleAnalyzer:"bundleAnalyzerPlugin",define:"definePlugin",copy:"copyRspackPlugin",progress:"progressPlugin",html:{prefix:"html-plugin-"},rsdoctor:"rsdoctor",sourceMapDevTool:"sourceMapDevTool"},minimizer:{minJs:"minJs",minCss:"minCss"}}});var Ee,es=v(()=>{"use strict";c();Ee=class{op={};constructor(e={}){this.op=e}async afterGetEmpOptions(){this.op.afterGetEmpOptions&&await this.op.afterGetEmpOptions()}async beforePlugin(){this.op.beforePlugin&&await this.op.beforePlugin()}async afterPlugin(){this.op.afterPlugin&&await this.op.afterPlugin()}async beforeModule(){this.op.beforeModule&&await this.op.beforeModule()}async afterModule(){this.op.afterModule&&await this.op.afterModule()}async beforeEmpPlugin(){this.op.beforeEmpPlugin&&await this.op.beforeEmpPlugin()}async afterEmpPlugin(){this.op.afterEmpPlugin&&await this.op.afterEmpPlugin()}async beforeBuild(){this.op.beforeBuild&&await this.op.beforeBuild()}async afterBulid(){this.op.afterBulid&&await this.op.afterBulid()}async beforeDevServe(){this.op.beforeDevServe&&await this.op.beforeDevServe()}async afterDevServe(){this.op.afterDevServe&&await this.op.afterDevServe()}async beforeServe(){this.op.beforeServe&&await this.op.beforeServe()}async afterServe(){this.op.afterServe&&await this.op.afterServe()}}});var Ze,ts,ss=v(()=>{"use strict";c();K();Ce();I();es();Ze=class{store;appSrc="src";appEntry="";base="";target=[];assign(e,t){return t=t||{},T(e,t)}isESM=!1;checkIsESM(e){return["es3","es5"].indexOf(e)===-1}lifeCycle;async setup(e){this.store=e,await this.syncEmpOptions(),await this.setupEmpOptions(),this.lifeCycle=new Ee(this.store.empOptions.lifeCycle),await this.lifeCycle.afterGetEmpOptions(),this.isESM=this.checkIsESM(this.build.target),this.store.empOptions.target?(this.target=this.store.empOptions.target,Array.isArray(this.target)&&!this.target.includes(this.build.target)&&this.target.push(this.build.target)):this.target=["web",this.build.target];let{appSrc:t,base:i,appEntry:r}=this.store.empOptions;t&&(this.appSrc=t),i&&(this.base=i),r&&(this.appEntry=r)}async setupEmpOptions(){await this.store.server.setupOnEmpOptionSync()}async chain(){this.store.empOptions.chain&&await this.store.empOptions.chain(this.store.chain)}async plugins(){let e=[];this.store.empOptions.plugins&&Array.isArray(this.store.empOptions.plugins)&&this.store.empOptions.plugins.length>0&&(this.store.empOptions.plugins.map(t=>{e.push(t.rsConfig(this.store))}),await Promise.all(e))}get debug(){let e=!1;return this.store.cliOptions.doctor&&(e={}),this.assign({loggerLevel:"info",clearLog:!0,progress:!0,showRsconfig:!1,showPerformance:!1,rsdoctor:e,infrastructureLogging:{appendOnly:!0,level:"warn"},newTreeshaking:this.store.empConfig.isESM,devShowAllLog:!1,showScriptDebug:!1,parallelCodeSplitting:!0,cssChunkingPlugin:!0,warnRuleAsWarning:!0},this.store.empOptions.debug)}get build(){let e=this.store.empOptions.build?.staticDir?`${this.store.empOptions.build?.staticDir}/`:"";return this.assign({outDir:"dist",staticDir:e,assetsDir:"assets",publicDir:"public",chunkIds:this.store.isDev?"named":"deterministic",moduleIds:this.store.isDev?"named":"deterministic",sourcemap:this.store.isDev,minify:!this.store.isDev,minOptions:{},cssminOptions:{},target:"es5",polyfill:{mode:void 0,entryCdn:void 0,splitChunks:!1,include:[],coreJsFeatures:"stable",externalHelpers:!1,browserslist:this.store.browserslistOptions.default},swcConfig:{},devtool:this.store.isDev?"cheap-module-source-map":"source-map"},{...this.store.empOptions.build,staticDir:e})}get html(){let e=this.store.empOptions.html?.template?{}:{charset:{charset:"utf-8"},"http-equiv":{"http-equiv":"X-UA-Compatible",content:"IE=edge"},viewport:{name:"viewport",content:"width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0"},keywords:{keywords:""},description:{description:""}};return this.assign({lang:"zh-CN",title:"EMP",inject:"body",minify:!this.store.isDev,scriptLoading:this.isESM?"module":"defer",meta:e,cache:this.cache!==!1,tags:[]},this.store.empOptions.html)}get entries(){return this.store.empOptions.entries?this.store.empOptions.entries:{}}get server(){let e={host:"0.0.0.0",port:8e3,open:process.platform==="darwin",hot:!0,watchFiles:["src/**/*.html"],static:[{directory:this.store.publicDir,watch:this.store.isDev}],allowedHosts:["all"],historyApiFallback:!0,headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, POST, PUT, DELETE, PATCH, OPTIONS","Access-Control-Allow-Headers":"X-Requested-With, content-type, Authorization"}};return this.store.empOptions.server?.http2&&(this.store.server.httpsType="h2",delete this.store.empOptions.server.http2),this.assign(e,this.store.empOptions.server)}get css(){return this.assign({sass:{mode:"modern",warnRuleAsWarning:this.store.empConfig.debug.warnRuleAsWarning},prifixName:""},this.store.empOptions.css)}get output(){let e=(this.store.isDev,".[contenthash:8]"),t=this.store.isDev?"":".[contenthash:8]",{assetsDir:i,staticDir:r}=this.store.empConfig.build,o={publicPath:this.store.empConfig.base?this.store.empConfig.base:"auto",crossOriginLoading:"anonymous",filename:`${r}js/[name]${e}.js`,cssFilename:`${r}css/[name]${t}.css`,cssChunkFilename:`${r}css/[name]${t}.css`,assetModuleFilename:`${r}${i}/[name]${e}[ext][query]`,path:this.store.outDir,clean:!this.store.isDev,uniqueName:this.store.uniqueName};return this.assign(o,this.store.empOptions.output)}get define(){let e={mode:this.store.mode,env:this.store.cliOptions.env};return this.store.empOptions.define&&(e={...e,...this.store.empOptions.define}),this.setDefine(e)}get tsCheckerRspackPlugin(){let e={};if(this.store.empOptions.tsCheckerRspackPlugin)typeof this.store.empOptions.tsCheckerRspackPlugin=="object"&&(e=this.store.empOptions.tsCheckerRspackPlugin);else return!1;return this.assign({},e)}setDefine(e){let t=this.store.empOptions.defineFix?this.store.empOptions.defineFix:this.isESM?"esm":"cjs",i={};return Object.keys(e).map(r=>{t==="all"?(i[`import.meta.env.${r}`]=JSON.stringify(e[r]),i[`process.env.${r}`]=JSON.stringify(e[r])):t==="esm"?i[`import.meta.env.${r}`]=JSON.stringify(e[r]):t==="cjs"?i[`process.env.${r}`]=JSON.stringify(e[r]):t==="none"&&(i[`${r}`]=JSON.stringify(e[r]))}),i}get externals(){return this.assign({},this.store.empOptions.externals)}get resolve(){return T({alias:{src:this.store.resolve("src"),"@":this.store.resolve("src")},extensions:["...",".js",".jsx",".mjs",".ts",".tsx",".css",".less",".scss",".sass",".json",".wasm",".vue",".svg",".svga"]},this.store.empOptions.resolve)}async syncEmpOptions(){if(h.time("[store][empConfig]SyncEmpOptions"),!this.store.rootPaths.empConfig)return;let{default:e}=await Yt(this.store.rootPaths.empConfig);typeof e=="function"?this.store.empOptions=await e(this.store):this.store.empOptions=e||{},h.timeEnd("[store][empConfig]SyncEmpOptions")}get moduleTransformRule(){let{moduleTransform:e}=this.store.empOptions,t=this.assign({defaultExclude:!1},e),i={and:[],not:[]};return t.defaultExclude===!0&&i.and.push(/(node_modules|bower_components)/),t?.exclude&&(i.and=i.and.concat(t.exclude)),e?.include&&(i.not=t.include),i}get cacheDir(){return this.store.empOptions.cacheDir?this.store.empOptions.cacheDir:"node_modules/.emp-cache"}get cache(){return this.store.empOptions.cache===!1?!1:this.store.empOptions.cache?this.store.empOptions.cache:"persistent"}get ignoreWarnings(){return this.store.empOptions.ignoreWarnings?this.store.empOptions.ignoreWarnings:[/Conflicting order/]}get autoPages(){let e;return this.store.empOptions.autoPages&&(e=typeof this.store.empOptions.autoPages=="boolean"?{}:this.store.empOptions.autoPages,e=this.assign({path:"pages"},e)),e}},ts=new Ze});import ar from"fs-extra";var et,is,rs=v(()=>{"use strict";c();Ce();et=class{store;async setup(e){this.store=e;let t=[this.common(),this.stats(),this.devServer(),this.optimization(),this.checkTsconfig()];await Promise.all(t)}get cache(){if(this.store.empConfig.cache===!1)return!1;let e={type:this.store.empConfig.cache==="persistent"?"persistent":"memory",buildDependencies:Kt(),version:this.store.empPkg.version};return typeof this.store.empConfig.cache=="object"&&(e=this.store.deepAssign(e,this.store.empConfig.cache)),e}get name(){let e=this.store.empConfig.server.port?`_${this.store.empConfig.server.port}`:"";return this.store.pkg.name+e}async common(){this.store.merge({name:this.name,node:{global:!0},experiments:{nativeWatcher:!0,lazyBarrel:!0,inlineConst:!0,inlineEnum:!0,typeReexportsPresence:!0,outputModule:this.store.empConfig.isESM,topLevelAwait:!0,asyncWebAssembly:!0,css:!0,rspackFuture:{bundlerInfo:{force:!1}},cache:this.cache,incremental:"advance-silent",parallelCodeSplitting:this.store.empConfig.debug.parallelCodeSplitting,parallelLoader:!0},lazyCompilation:this.store.isDev,target:this.store.empConfig.target,infrastructureLogging:this.store.empConfig.debug.infrastructureLogging,context:this.store.root,mode:this.store.mode,cache:!!this.store.empConfig.cache,devtool:this.store.empConfig.build.sourcemap?this.store.empConfig.build.devtool:!1,output:this.store.empConfig.output,resolve:this.store.empConfig.resolve,externals:this.store.empConfig.externals,ignoreWarnings:this.store.empConfig.ignoreWarnings,watchOptions:{ignored:["**/node_modules/**","**/@mf-types/**"]}})}async checkTsconfig(){let e=this.store.resolve("tsconfig.json");if(await ar.exists(e)){let i={};this.store.isOldRspack?i.tsConfigPath=e:i.tsConfig=e,this.store.merge({resolve:i})}}async stats(){this.store.merge({stats:{colors:!0,all:!1,assets:!1,chunks:!1,timings:!0,version:!0}})}async devServer(){this.store.merge({devServer:this.store.empConfig.server})}async optimization(){let e={moduleIds:this.store.empConfig.build.moduleIds,chunkIds:this.store.empConfig.build.chunkIds,minimize:this.store.empConfig.build.minify,splitChunks:{chunks:"async",cacheGroups:{}}};this.store.empConfig.build.polyfill.mode==="entry"&&this.store.empConfig.build.polyfill.splitChunks&&!this.store.empConfig.build.polyfill.entryCdn&&(e.splitChunks.cacheGroups.coreJs={test:/[\\/]node_modules[\\/](core-js)[\\/]/,name:"coreJs",chunks:"all",enforce:!0}),this.store.chain.merge({optimization:e})}},is=new et});var tt,os,ns=v(()=>{"use strict";c();tt=class{store;async setup(e){this.store=e;let t=[this.sass(),this.less(),this.css()];await Promise.all(t)}async sass(){let{rule:e,use:t}=this.store.chainName,i={},{sass:r}=this.store.empConfig.css;r.mode==="modern"&&(i.implementation=r.implementation?r.implementation:k.resolve("sass-embedded"),i.api="modern-compiler",i.sourceMap=this.store.empConfig.build.sourcemap,r.sassOptions&&(i.sassOptions=r.sassOptions)),typeof r.additionalData<"u"&&(i.additionalData=r.additionalData),typeof r.warnRuleAsWarning<"u"&&(i.warnRuleAsWarning=r.warnRuleAsWarning),typeof r.webpackImporter<"u"&&(i.webpackImporter=r.webpackImporter),this.store.chain.merge({module:{rule:{[e.sass]:{test:/\.(sass|scss)$/,use:{[t.sass]:{loader:k.resolve("sass-loader"),options:i}},type:"css/auto"}}}})}async less(){let{rule:e,use:t}=this.store.chainName,i={loader:k.resolve("less-loader"),options:{lessOptions:{javascriptEnabled:!0}}};this.store.chain.merge({module:{rule:{[e.less]:{test:/\.less$/,use:{[t.less]:i},type:"css/auto"}}}})}async css(){let{rule:e}=this.store.chainName;this.store.chain.merge({module:{rule:{[e.css]:{test:/\.css$/,use:{},type:"css/auto"}}}})}},os=new tt});import st from"html-webpack-plugin";function lr(){let s=[`import 'core-js/${d.empConfig.build.polyfill.coreJsFeatures}'`].join(`
11
+ `);return Xe(s)}var Pe,se,xe=v(()=>{"use strict";c();I();$();Pe=class{constructor(){}apply(e){let{webpack:t}=e;d.empConfig.build.polyfill.entryCdn||new t.EntryPlugin(e.context,lr(),{name:void 0}).apply(e)}},se=class{PluginName="HtmlEmpInjectPlugin";chunk="";files=[];constructor(e,t="",i=""){this.PluginName=`${this.PluginName}-${t}`,this.files=e,this.chunk=i}apply(e){e.hooks.compilation.tap(this.PluginName,t=>{st.getHooks(t).alterAssetTagGroups.tapPromise(this.PluginName,async i=>(this.chunk&&!i.plugin.userOptions.chunks?.includes(this.chunk)||this.files.map(r=>{let{pos:o,...a}=r;(o==="body"?i.bodyTags:i.headTags).push({attributes:{},voidTag:!1,meta:{plugin:void 0},tagName:"script",...a})}),i))})}}});import N from"path";var it,as,ls=v(()=>{"use strict";c();K();xe();it=class{store;entriesConfig={};async setup(e){this.store=e,await this.init(),this.toConfig()}setHtmlConfig(e,t){return e.template=this.setTemplate(e.template),e.favicon=this.setFavicion(e.favicon),e.chunks=t,e.filename=`${t[0]}.html`,this.store.empConfig.base&&(e.publicPath=this.store.empConfig.base),this.prepareAndSetAsset(e),e}prepareAndSetAsset(e){let t=e.chunks?e.chunks[0]:void 0;this.store.injectTags(e.tags,t?`injectTags-${t}`:"injectTags",t),delete e.tags}injectPolyfill(){if(!this.store.empConfig.build.polyfill.entryCdn)return;let e=[{attributes:{src:this.store.empConfig.build.polyfill.entryCdn},tagName:"script",pos:"head"}];this.store.injectTags(e,"injectEMPPolyfill")}setChunk(e){return e.replace(N.extname(e),"").replace(`${this.store.empConfig.appSrc}${N.sep}`,"")}setTemplate(e){return e?this.store.resolve(e):this.store.empResolve(N.join("template","index.html"))}setFavicion(e){if(e!=="")return e?this.store.resolve(e):this.store.empResolve(N.join("template","favicon.ico"))}setEntryItem(e,t,i){i=i||this.store.resolve(N.join(this.store.empConfig.appSrc,e));let r=this.setChunk(e),o=[i];this.entriesConfig[r]={entry:{[r]:o},html:this.setHtmlConfig(t,[r])},this.store.entries[r]=o}setRspackHtmlPlugin(e,t){this.store.chain.plugin(`${this.store.chainName.plugin.html.prefix}${t}`).use(st,[e])}setRspackEntry(e){this.store.merge({entry:e})}async init(){this.injectPolyfill(),this.store.empConfig.autoPages?await this.setAutoPage():(await this.setDefaultEntry(),this.setEntryByConfig())}async setAutoPage(){h.time("setAutoPage");let e=this.store.empConfig.autoPages?.path||"pages",t=N.join(this.store.appSrc,e),i=N.join(t,"**","*.{ts,tsx,jsx,js}"),r=await be([i],{windowsPathsNoEscape:!0});r=r.map(o=>o.replace(`${t}${N.sep}`,"")),r.map(o=>{let a=this.store.empConfig.entries[o]||{};this.setEntryItem(o,{...this.store.empConfig.html,...a},N.join(t,o))}),h.timeEnd("setAutoPage")}async setDefaultEntry(){h.time("[store][empConfig]SetDefaultEntry");let e=N.join(this.store.appSrc,this.store.empConfig.appEntry?this.store.empConfig.appEntry:"index.{ts,tsx,jsx,js}"),t=await be([e],{windowsPathsNoEscape:!0});if(t[0]){let i=N.join(this.store.empConfig.appSrc,Object.keys(this.store.empConfig.entries).length>0&&this.store.empConfig.appEntry?this.store.empConfig.appEntry:"index");this.setEntryItem(i,this.store.empConfig.html,t[0])}h.timeEnd("[store][empConfig]SetDefaultEntry")}setEntryByConfig(){if(Object.keys(this.store.empConfig.entries).length>0)for(let[e,t]of Object.entries(this.store.empConfig.entries))this.setEntryItem(e,{...this.store.empConfig.html,...t})}toConfig(){for(let[e,t]of Object.entries(this.entriesConfig))this.setRspackHtmlPlugin(t.html,e),this.setRspackEntry(t.entry)}},as=new it});import ps from"path";var rt,cs,hs=v(()=>{"use strict";c();I();rt=class{store;swcJsOptions={};swcTsOptions={};coreJs={version:"3",alias:"",path:""};async setup(e){this.store=e,this.swcInitOptions(),await this.run()}async run(){let e=[this.jsDataUrl(),this.files(),this.scripts(),this.rspackGenerator(),this.rspackParser()];await this.store.empConfig.lifeCycle.beforeModule(),await Promise.all(e),await this.store.empConfig.lifeCycle.afterModule()}rspackGenerator(){let e=this.store.empConfig.css?.prifixName?`${this.store.empConfig.css?.prifixName}-`:"",t=this.store.isDev?`${e}[id]-[local]-[hash:base64:8]`:`${e}[local]-[hash:5]`;this.store.chain.merge({module:{generator:{"css/auto":{exportsConvention:"as-is",exportsOnly:!1,localIdentName:t,esModule:!0},css:{exportsOnly:!1,esModule:!0},"css/module":{exportsConvention:"as-is",exportsOnly:!1,localIdentName:t,esModule:!0},json:{JSONParse:!0}}}})}rspackParser(){this.store.chain.merge({module:{parser:{javascript:{dynamicImportMode:"lazy",dynamicImportPrefetch:!1,dynamicImportPreload:!1,url:!0,importMeta:!0},css:{namedExports:!1},"css/auto":{namedExports:!1},"css/module":{namedExports:!1}}}})}get isPolyfill(){return!!this.store.empConfig.build.polyfill.mode}swcParser(e){switch(e){case"js":return{syntax:"ecmascript",jsx:!0,decorators:!0,decoratorsBeforeExport:!1};case"ts":return{syntax:"typescript",decorators:!0,tsx:!0,dynamicImport:!0}}}swcJsc(e){let{target:t,polyfill:i}=this.store.empConfig.build,{externalHelpers:r}=i;return{parser:this.swcParser(e),transform:{},target:t,externalHelpers:r,preserveAllComments:!0}}get swcCoreVersion(){let[e,t]=this.coreJs.version.split(".");return`${e}.${t}`}swcOptions(e){let t={jsc:T(this.swcJsc(e),{...this.store.empConfig.build.swcConfig}),isModule:"unknown"};return this.isPolyfill&&(delete t.jsc.target,t.env={coreJs:this.swcCoreVersion,targets:this.store.empConfig.build.polyfill.browserslist},this.store.empConfig.isESM||(t.env.mode=this.store.empConfig.build.polyfill.mode),this.store.empConfig.build.polyfill.mode==="usage"&&(t.env.shippedProposals=!0,t.env.include=this.store.empConfig.build.polyfill.include)),t}swcInitOptions(){let{externalHelpers:e}=this.store.empConfig.build.polyfill;e&&this.store.chain.resolve.alias.set("@swc/helpers",ps.dirname(k.resolve("@swc/helpers/package.json"))),this.coreJs.path=k.resolve("core-js/package.json");let t=Ye(this.coreJs.path);t&&(this.coreJs.version=t),this.coreJs.alias=ps.dirname(this.coreJs.path),this.store.empConfig.build.polyfill.mode&&(this.store.chain.resolve.alias.set("core-js",this.coreJs.alias),this.store.chain.module.rule("javascript").exclude.add(/core-js/),this.store.chain.module.rule("typescript").exclude.add(/core-js/)),this.swcTsOptions=this.swcOptions("ts"),this.swcJsOptions=this.swcOptions("js")}jsDataUrl(){this.store.chain.module.rule("jsDataUrl").merge({mimetype:{or:["text/javascript","application/javascript"]}}).resolve.set("fullySpecified",!1).end().use("swcJsParser").loader("builtin:swc-loader").options(this.swcJsOptions)}async scripts(){let e=[],{rule:t,use:i}=this.store.chainName;this.store.chain.merge({module:{parser:{javascript:{exportsPresence:"error",importExportsPresence:"error"}},rule:{[t.mjs]:{test:/\.m?js/,resolve:{fullySpecified:!1}},[t.typescript]:{test:/\.(ts|tsx)$/,exclude:e,use:{[i.swc]:{loader:"builtin:swc-loader",options:this.swcTsOptions}}},[t.javascript]:{test:/\.((m|c)?js|jsx)$/,exclude:e,use:{[i.swc]:{loader:"builtin:swc-loader",options:this.swcJsOptions}}}}}})}async files(){let{rule:e}=this.store.chainName;this.store.chain.merge({module:{rule:{[e.svg]:{test:/\.svg$/,type:"asset/resource"}}}}),this.store.chain.merge({module:{rule:{[e.inline]:{resourceQuery:/inline/,type:"asset/inline"}}}}),this.store.chain.merge({module:{rule:{[e.raw]:{resourceQuery:/raw/,type:"asset/source"}}}}),this.store.chain.merge({module:{rule:{[e.image]:{test:/\.(png|jpe?g|gif|webp|ico)$/i,type:"asset/resource"},[e.font]:{test:/\.(|otf|ttf|eot|woff|woff2)$/i,type:"asset/resource"},[e.svga]:{test:/\.(svga)$/i,type:"asset/resource"}}}})}},cs=new rt});import z from"@rspack/core";import fs from"fs";import{TsCheckerRspackPlugin as pr}from"ts-checker-rspack-plugin";var ot,us,ms=v(()=>{"use strict";c();xe();ot=class{store;async setup(e){this.store=e;let t=[this.define(),this.anylayze(),this.progress(),this.copy(),this.minify(),this.redoctor(),this.tsCheckerRspackPlugin(),this.cssChunkingPlugin()];this.beforeLifeCycle(),await this.store.empConfig.lifeCycle.beforePlugin(),await Promise.all(t),await this.store.empConfig.lifeCycle.afterPlugin()}beforeLifeCycle(){let{store:e}=this;e.empConfig.build.polyfill.mode==="entry"&&e.chain.plugin("empPolyfill").use(Pe)}async anylayze(){if(!this.store.cliOptions.analyze)return;let{default:{BundleAnalyzerPlugin:e}}=await import("webpack-bundle-analyzer");this.store.chain.plugin(this.store.chainName.plugin.bundleAnalyzer).use(e,[{analyzerPort:this.store.empConfig.server.port,defaultSizes:"gzip",analyzerHost:this.store.getLanIp()||"127.0.0.1"}])}tsCheckerRspackPlugin(){if(this.store.empConfig.tsCheckerRspackPlugin===!1)return!1;this.store.chain.plugin(this.store.chainName.plugin.tsCheckerRspackPlugin).use(pr,[this.store.empConfig.tsCheckerRspackPlugin])}async define(){this.store.chain.plugin(this.store.chainName.plugin.define).use(z.DefinePlugin,[this.store.empConfig.define])}async copy(){let e=this.store.resolve("public");fs.existsSync(e)&&fs.readdirSync(e).length>0&&this.store.chain.plugin(this.store.chainName.plugin.copy).use(z.CopyRspackPlugin,[{patterns:[{from:e,to:this.store.resolve(this.store.empConfig.build.outDir),noErrorOnMissing:!0,globOptions:{ignore:["**/.DS_Store"]}}]}])}async progress(){if(this.store.mode==="development")return;let e={};this.store.isOldRspack||(e={template:"{bar:25.green/white}{spinner:.green}{percent}% {wide_msg:.dim}",tick:void 0,progressChars:"\u25A9\u25A9"}),this.store.chain.plugin(this.store.chainName.plugin.progress).use(z.ProgressPlugin,[e])}minify(){this.store.chain.optimization.minimizer(this.store.chainName.minimizer.minJs).use(z.SwcJsMinimizerRspackPlugin,[this.store.empConfig.build.minOptions]);let{SwcCssMinimizerRspackPlugin:e,LightningCssMinimizerRspackPlugin:t}=z;e?this.store.chain.optimization.minimizer(this.store.chainName.minimizer.minCss).use(e,[this.store.empConfig.build.cssminOptions]):t&&this.store.chain.optimization.minimizer(this.store.chainName.minimizer.minCss).use(t,[this.store.empConfig.build.cssminOptions])}redoctor(){if(!this.store.empConfig.debug.rsdoctor)return;let{RsdoctorRspackPlugin:e}=k("@rsdoctor/rspack-plugin"),t={};typeof this.store.empConfig.debug.rsdoctor=="object"&&(t=this.store.empConfig.debug.rsdoctor),this.store.chain.plugin(this.store.chainName.plugin.rsdoctor).use(e,[t])}sourceMapDevToolPlugin(){if(!this.store.empConfig.build.sourcemap)return;let e={};typeof this.store.empConfig.build.sourcemap=="object"&&(e=this.store.empConfig.build.sourcemap),this.store.chain.plugin(this.store.chainName.plugin.sourceMapDevTool).use(z.SourceMapDevToolPlugin,[e])}circularDependency(){this.store.chain.plugin("circularDependency").use(z.CircularDependencyRspackPlugin,[{}])}cssChunkingPlugin(){this.store.empConfig.debug.cssChunkingPlugin&&this.store.chain.plugin("CssChunkingPlugin").use(z.experiments.CssChunkingPlugin,[{}])}},us=new ot});var nt,ds,gs=v(()=>{"use strict";c();rs();ns();ls();hs();ms();nt=class{store;async setup(e){this.store=e;let t=[is.setup(this.store),cs.setup(this.store),us.setup(this.store),as.setup(this.store),os.setup(this.store)];await Promise.all(t),await this.store.empConfig.lifeCycle.beforeEmpPlugin(),await this.store.empConfig.plugins(),await this.store.empConfig.lifeCycle.afterEmpPlugin(),await this.store.empConfig.chain()}},ds=new nt});import cr from"net";import hr from"os";async function _e(s,e=void 0){if(s!==fr&&(s<ys||s>at))throw new Error(`Port number must lie between ${ys} and ${at}`);let t=s,i=ur(),r;e&&!i.has(e)?r=new Set([e]):r=i;let o=new Set(["EADDRINUSE","EACCES"]);for(;t<=at;)try{return await dr(t,r)}catch(a){if(!o.has(a.code))throw a;t+=1}throw new Error("No available ports found")}var ys,at,fr,ur,mr,dr,ws=v(()=>{"use strict";c();ys=1024,at=65535,fr=443,ur=()=>{let s=hr.networkInterfaces(),e=new Set([void 0,"0.0.0.0"]);for(let t of Object.values(s))if(t)for(let i of t)e.add(i.address);return e},mr=(s,e)=>new Promise((t,i)=>{let r=cr.createServer();r.unref(),r.on("error",i),r.listen(s,e,()=>{let{port:o}=r.address();r.close(()=>{t(o)})})}),dr=async(s,e)=>{let t=new Set(["EADDRNOTAVAIL","EINVAL"]);for(let i of e)try{await mr(s,i)}catch(r){if(!t.has(r.code))throw r}return s}});import gr from"chalk";import vs from"url";var lt,Se,bs=v(()=>{"use strict";c();X();I();lt=class{imf={protocol:"",port:8e3,pathname:"/"};host="0.0.0.0";urls={lanUrlForConfig:"",lanUrlForTerminal:q("unavailable"),localUrlForTerminal:"",localUrlForBrowser:""};setup(e){e.host&&(this.host=e.host),e.protocol&&(this.imf.protocol=e.protocol),e.pathname&&(this.imf.pathname=e.pathname),e.port&&(this.imf.port=e.port),this.setupUrls()}setupUrls(){let{host:e}=this,t=e==="0.0.0.0"||e==="::",i;if(t){i="localhost";try{this.urls.lanUrlForConfig=this.getLanIp(),this.urls.lanUrlForConfig&&(/^10[.]|^172[.](1[6-9]|2[0-9]|3[0-1])[.]|^192[.]168[.]/.test(this.urls.lanUrlForConfig)?this.urls.lanUrlForTerminal=this.prettyPrintUrl(this.urls.lanUrlForConfig):this.urls.lanUrlForConfig="")}catch{}}else i=e,this.urls.lanUrlForConfig=e,this.urls.lanUrlForTerminal=this.prettyPrintUrl(this.urls.lanUrlForConfig);this.urls.localUrlForTerminal=this.prettyPrintUrl(i),this.urls.localUrlForBrowser=this.formatUrl(i)}getLanIp=U;formatUrl(e){let{protocol:t,port:i,pathname:r}=this.imf;return vs.format({protocol:t,hostname:e,port:i,pathname:r})}prettyPrintUrl(e){let{protocol:t,port:i,pathname:r}=this.imf;return vs.format({protocol:t,hostname:e,port:gr.bold(i),pathname:r})}},Se=new lt});import{exec as yr}from"child_process";import{promisify as wr}from"util";var Es,Cs,vr,br,Ps,xs=v(()=>{"use strict";c();$();L();Es=wr(yr),Cs=["Google Chrome Canary","Google Chrome Dev","Google Chrome Beta","Google Chrome","Microsoft Edge","Brave Browser","Vivaldi","Chromium"],vr=async()=>{let s=process.env.BROWSER;if(!s||!Cs.includes(s)){let{stdout:e}=await Es("ps cax");s=Cs.find(t=>e.includes(t))}return s},br=async s=>{if(process.platform==="darwin")try{let t=await vr();if(t){let i=`osascript openChrome.applescript "${encodeURI(s)}" "${t}"`;return await Es(i,{cwd:d.resource.dir}),!0}}catch(t){h.debug(t)}try{let{default:t}=await import("open");return await t(s),!0}catch(t){return h.error("Failed to open start URL."),h.error(t),!1}},Ps=br});import _s from"fs/promises";var ke,Ss=v(()=>{"use strict";c();K();X();ws();bs();xs();I();ke=class{ip=U();host=this.ip;isAutoDevBase=!1;isHttps=!1;httpsType="default";protocol="http";port=8e3;store;publicPath="/";publicHasHttp=!1;isOpenBrower=!1;url="";urls={localUrlForBrowser:"",localUrlForTerminal:"",lanUrlForTerminal:"",lanUrlForConfig:""};constructor(e){this.store=e}async setupOnEmpOptionSync(){this.store.cliAction!=="build"&&(this.port=await _e(this.port),this.setHttps(),await this.setAutoDevBase())}get config(){return{}}async setupOnStore(){if(this.store.cliAction==="build")return;let{store:e}=this;this.publicPath=e.rsConfig.output?.publicPath==="auto"?"/":e.rsConfig.output?.publicPath||"/",this.isOpenBrower=!!e.empConfig.server.open,this.protocol=this.isHttps?"https":"http",this.host=e.empConfig.server.host?e.empConfig.server.host:this.ip,e.empConfig.server.port&&e.empConfig.server.port!==this.port&&(this.port=await _e(e.empConfig.server.port)),Se.setup(this),this.publicPath&&(this.publicPath.indexOf("http://")>-1||this.publicPath.indexOf("https://")>-1)?(this.url=this.publicPath,this.publicHasHttp=!0,this.urls.localUrlForTerminal=Se.prettyPrintUrl("localhost")):(this.urls=Se.urls,this.url=this.urls.localUrlForBrowser)}startOpen(){let{urls:e}=this;this.publicHasHttp?(h.info(`${M("\u279C")} Local: ${h.link(e.localUrlForTerminal)}`),h.info(`${M("\u279C")} Network: ${h.link(this.publicPath)}`)):(h.info(`${M("\u279C")} Local: ${h.link(e.localUrlForTerminal)}`),h.info(`${M("\u279C")} Network: ${h.link(e.lanUrlForTerminal)}
12
+ `)),this.isOpenBrower&&Ps(this.url)}async getcert(){let{store:e}=this,t=this.store.rsConfig.devServer||{server:{type:"http"}};if(typeof t.server=="object"&&t.server.type==="https"&&t.server.options&&t.server.options.key&&t.server.options.cert)return t.server.options;let[i,r]=await Promise.all([_s.readFile(e.resource.key),_s.readFile(e.resource.cert)]);return{key:i,cert:r}}setHttps(){let{store:e}=this,{server:t,https:i}=e.empOptions.server||{};this.isHttps=t==="https"||typeof t=="object"&&t.type==="https"||i===!0}async setAutoDevBase(){let{store:e}=this;this.isAutoDevBase=!!e.empOptions.autoDevBase&&e.mode==="development"&&!this.isHttpBase,this.isAutoDevBase&&(this.protocol=this.isHttps?"https":"http",e.empOptions.server?.port&&(this.port=e.empOptions.server.port),this.port=await _e(this.port),e.empOptions.base=`${this.protocol}://${this.host}:${this.port}/`,e.empOptions.server=e.deepAssign({port:this.port,client:{webSocketURL:`${this.isHttps?"wss":"ws"}://${this.host}:${this.port}/ws`}},e.empOptions.server))}get isHttpBase(){let e=this.store.empOptions.base||"";return e.indexOf("http://")>-1||e.indexOf("https://")>-1}}});import Cr from"fs/promises";import A from"path";import Er from"util";import{rspack as ks}from"@rspack/core";var pt,d,$=v(()=>{"use strict";c();Ce();L();I();Qe();ss();gs();Ss();Qe();xe();pt=class{rspack=ks;rspackVersion=ks.rspackVersion;isOldRspack=we(this.rspackVersion,"1.0.0")===-1;empPkg={dependencies:{},devDependencies:{},version:"2.0.0",name:""};pkg={dependencies:{},devDependencies:{},version:"0.0.0",name:""};root=process.cwd();empRoot=A.resolve(w,g).replace(`${A.sep}dist${A.sep}index.js`,"");empSource=A.resolve(this.empRoot,"dist");resolve=e=>A.isAbsolute(e)?e:A.resolve(this.root,e);empResolve=e=>A.resolve(this.empRoot,e);appSrc="";outDir="";publicDir="";resource={dir:"",key:"",cert:""};chainName=Zt;server=new ke(this);cacheDir="";mode="development";cliMode="dev";isDev=!0;chain;rsConfig;empOptions={};empConfig;entries={};debug;cliAction;cliOptions;rootPaths={empConfig:void 0,tsConfig:void 0,pkg:void 0};async setup(e,t){this.cliAction=e||this.cliAction,this.cliOptions=t||this.cliOptions,h.time("[store]Setup");let[i,r]=await Promise.all([qt(),Xt()]);this.rootPaths.empConfig=i,this.rootPaths.tsConfig=r,this.rootPaths.pkg=this.resolve("package.json"),await this.initVars(this.cliAction,this.cliOptions),this.empConfig=ts,await this.empConfig.setup(this),this.debug={...this.empConfig.debug},this.initPaths(),this.chain=new Qt,await ds.setup(this),this.setLogger(),this.toConfig(),this.logConfig(),await this.server.setupOnStore(),h.timeEnd("[store]Setup"),this.debug.clearLog&&qe()}async initVars(e,t){this.cliAction=e,this.cliOptions=t||{},this.cliMode="prod",this.mode=e==="dev"?"development":"production",this.isDev=this.mode==="development",process.env.NODE_ENV=e==="dev"?"development":"production";let i=k(this.empResolve("package.json")),r=k(this.resolve("package.json"));this.empPkg={...this.empPkg,...i},this.pkg={...this.pkg,...r},this.resource.dir=A.join(this.empRoot,"resource"),this.resource.cert=A.join(this.resource.dir,"emp.cert"),this.resource.key=A.join(this.resource.dir,"emp.key")}initPaths(){this.appSrc=this.resolve(this.empConfig.appSrc),this.outDir=this.resolve(this.empConfig.build.outDir),this.publicDir=this.resolve(this.empConfig.build.publicDir),this.cacheDir=this.resolve(this.empConfig.cacheDir)}loggerExtensionName="";setLoggerExtensionName(e){this.loggerExtensionName=e}setLogger(){let e=this.cliMode==="dev"?"debug":"info";this.debug.loggerLevel&&(e=this.debug.loggerLevel),h.setup({fullName:`EMP\u26A1${this.empPkg.version}${this.cliMode==="dev"?".DEV":""}${this.loggerExtensionName?" "+this.loggerExtensionName:""}`,brandName:"EMP",logLevel:e})}merge(e){this.chain.merge(e)}toConfig(){this.rsConfig=this.chain.toConfig()}logConfig(){if(this.debug.showRsconfig)if(typeof this.debug.showRsconfig=="string"){let e=A.join(this.root,this.debug.showRsconfig);Cr.writeFile(e,JSON.stringify(this.rsConfig,null,2))}else{this.debug.clearLog=!1;let e={colors:!0,depth:null},t=typeof this.debug.showRsconfig=="object"?T(e,this.debug.showRsconfig):e;console.log(h.link("[Compile Config]")),console.log(Er.inspect(this.rsConfig,t))}}get browserslistOptions(){return{default:["chrome >= 87","edge >= 88","firefox >= 78","safari >= 14"],h5:["iOS >= 9","Android >= 4.4","last 2 versions","> 0.2%","not dead"],node:["node >= 16"]}}get uniqueName(){return this.encodeVarName(this.pkg.name)}encodeVarName(e){return e.replaceAll("/","_").replaceAll("@","_").replaceAll("-","_")}vCompare=we;deepAssign=T;getLanIp=U;injectTags(e=[],t="",i=""){this.chain.plugin(`${se}-${t}`).use(se,[e,t,i])}},d=new pt});import Pr from"fs";import H from"path";import B from"chalk";import{gzipSizeSync as xr}from"gzip-size";function Tr(s,e){let t=[s,e],i=["File","Size","Gzipped"].reduce((r,o,a)=>{let n=t[a],l=o;return n&&(l=o.length<n?o+" ".repeat(n-o.length):o),`${r+l} `}," ");console.log(Y.bold(i))}async function Os(s){let e=s.toJson({all:!1,assets:!0,timings:!0}),i=e.assets.filter(p=>Or(p.name)).map(Rr);i.sort((p,m)=>p.size-m.size);let r=Math.max(...i.map(p=>p.sizeLabel.length)),o=Math.max(...i.map(p=>(p.folder+H.sep+p.name).length));Tr(o,r);let a=0,n=0;i.forEach(p=>{let{sizeLabel:m}=p,{name:u,folder:b,gzipSizeLabel:C}=p,E=(b+H.sep+u).length,D=m.length;if(a+=p.size,n+=p.gzippedSize,D<r){let j=" ".repeat(r-D);m+=j}let S=q(p.folder+H.sep)+jr(p.name);if(E<o){let j=" ".repeat(o-E);S+=j}h.info(` ${S} ${q(m)} ${C}`)});let l=`${Y.bold("Total size:")} ${Oe(a)}`,f=`${Y.bold("Gzipped size:")} ${Oe(n)}`;h.info(`
13
+ ${l}
14
+ ${f}
15
+ `),h.info(`${B.green("ready ")}Built in ${ve(Number(e.time))}
16
+ `)}function De(s,e){let t=s==="start"?B.cyan("start "):B.green("ready ");console.log(t+B.white(e))}function Ds(s=0,e="Ready"){h.info(`${B.green("ready ")}${e} in ${ve(Number(s))}`)}function Rs(){De("start","build started...")}function Ts(s){let e=s?.toJson({all:!1,colors:!1,assets:!1,chunks:!1,timings:!0});De("ready",`built in ${B.bold((e.time/1e3).toFixed(2))} s`)}function js(s="build started..."){De("start",s)}function Fs(s,e="built"){let t;typeof s=="number"?t=(s/1e3).toFixed(2):t=((s?.toJson({all:!1,colors:!1,assets:!1,chunks:!1,timings:!0})).time/1e3).toFixed(2),De("ready",`${e} in ${B.bold(t)} s`)}var _r,Sr,kr,Or,Dr,Rr,Oe,jr,ie=v(()=>{"use strict";c();X();$();L();I();_r=/\.html$/,Sr=/\.(?:js|mjs|cjs|jsx)$/,kr=/\.css$/,Or=s=>!/\.map$/.test(s)&&!/\.LICENSE\.txt$/.test(s),Dr=s=>s>300*1e3?Be:s>100*1e3?ge:Je,Rr=s=>{let e=s.name.split("?")[0],t=Oe(s.size),i=H.basename(e),r=H.join(H.basename(d.empConfig.build.outDir),H.dirname(e)),o=Pr.readFileSync(H.join(d.empConfig.build.outDir,e)),a=o.length,n=xr(o),l=Dr(n)(Oe(n));return{size:a,folder:r,name:i,gzippedSize:n,sizeLabel:t,gzipSizeLabel:l}};Oe=s=>{let e=s/1e3;return`${e.toFixed(e<1?2:1)} kB`},jr=s=>Sr.test(s)?ge(s):kr.test(s)?M(s):_r.test(s)?Y(s):Ve(s)});import Ns from"chalk";import Re from"path";function ct(s,e){return s.map(t=>{let i=Re.relative(e,t);return Ns.dim(Re.dirname(i)+Re.sep)+Ns.dim(Re.basename(i))})}function As(s,e){let t="emp:compiler",i=new Set,r=new Map,o=!1,a=new Set,n=!1,l=s.options.context||process.cwd(),f=u=>Fr.test(u)&&!Nr.test(u),p=u=>{let b=new Set,C=new Set;if(u.modifiedFiles||u.removedFiles){if(u.modifiedFiles){for(let E of u.modifiedFiles)if(f(E)){let D=r.get(E)||0,S=Date.now();S-D>300&&(b.add(E),r.set(E,S))}}if(u.removedFiles)for(let E of u.removedFiles)f(E)&&(C.add(E),r.delete(E));return{changed:b,removed:C}}if(u.watchFileSystem?.watcher){let D=u.watchFileSystem.watcher.mtimes||{};for(let S of Object.keys(D)){if(!f(S))continue;let j=D[S],yt=r.get(S)||0,wt=Date.now();yt<j&&wt-yt>300&&(b.add(S),r.set(S,wt))}}return{changed:b,removed:C}};function m(u,b){if(!e.isServerStarted)return;let C=Array.from(u),E=Array.from(b),D=Array.from(a);if(C.length===0&&E.length===0&&D.length===0)return;let S="";if(C.length>0){let j=ct(C,l);S+=`modified ${j.join(", ")}`}if(D.length>0){let j=ct(D,l);S+=`lazyLoaded ${j.join(", ")}`}if(E.length>0){let j=ct(E,l);S+=`removed ${j.join(", ")}`}js(S)}return s.hooks.watchRun.tap(t,u=>{if(n)return;n=!0,i.clear(),a.clear();let{changed:b,removed:C}=p(u);o=b.size>0||C.size>0,o&&m(b,C),b.forEach(E=>i.add(E))}),s.hooks.done.tap(t,u=>{if(!e.isServerStarted||!o){n=!1;return}(i.size>0||a.size>0)&&(Fs(u),o=!1),n=!1}),{cleanup:()=>{i.clear(),r.clear(),a.clear(),o=!1,n=!1}}}var Fr,Nr,Ls=v(()=>{"use strict";c();ie();Fr=/\/src\//,Nr=/node_modules/});var G,Te=v(()=>{"use strict";c();L();$();G=class{async setup(e,t){h.time(`[${e}]Setup`),await d.setup(e,t),h.title(`${e}`),h.time(`[${e}]Run`),await this.run(),this.processExit(),h.timeEnd(`[${e}]Run`),h.timeEnd(`[${e}]Setup`)}async run(){}processExit(){process.on("SIGINT",function(){process.exit()})}}});import{RspackDevServer as Ar}from"@rspack/dev-server";import Lr from"connect";var re,Is=v(()=>{"use strict";c();L();re=class{server=null;isServerStarted=!1;async setup(e,t,i,r=()=>{}){if(!t.devServer)return h.warn("rspackConfig.devServer need!");let o=new Ar(t.devServer,e);return await o.start(),o.middleware?.waitUntilValid(r),this.server=o,o}async beforeCompiler(e){return e.devServer.app=()=>Lr(),e.devServer.server&&e.devServer.server.type==="https"&&(e.devServer.server.type="http2"),e}async close(){if(h.debug("close dev server"),this.server)try{return await this.server.stop(),this.isServerStarted=!1,this.server=null,!0}catch(e){return h.error("Error closing dev server:",e),!1}return!0}}});import $s from"fs";import Ir from"fs/promises";import $r from"compression";import Mr from"connect";import zr from"cors";import Hr from"http2";import Ms from"path";import Gr from"serve-static";import{parse as Wr}from"url";var Q,oe,zs=v(()=>{"use strict";c();Q=Mr();Q.use($r());Q.use(zr());oe=class{async setup(e,t=()=>{}){let i="index",r=Object.keys(e.rsConfig.entry);if(r.length===0)return e.logger.sysError("emp serve must include entry!");if(r.includes(i)||(i=r[0]),!$s.existsSync(e.outDir))return e.logger.sysError(`emp serve must be executed after emp build,${e.outDir} not exist!`);let o=e.resolve(e.rsConfig.output?.path);Q.use(Gr(o));let a=await Ir.readFile(Ms.join(o,`${i}.html`),"utf8");if(Q.use((n,l,f)=>{let m=Wr(n.url||"",!0).pathname;if(m&&m!=="/"&&$s.existsSync(Ms.join(o,m)))return f();l.setHeader("Content-Type","text/html"),l.end(a)}),e.server.isHttps){let{key:n,cert:l}=await e.server.getcert();Hr.createSecureServer(typeof e.server.isHttps!="boolean"?e.server.isHttps:{key:n,cert:l,allowHTTP1:!0},Q).listen(e.server.port,t)}else k("http").createServer(Q).listen(e.server.port,t)}}});var ht=v(()=>{"use strict";c();Is();zs()});var Hs={};Z(Hs,{default:()=>Jr});import{rspack as Ur}from"@rspack/core";import ft from"fs";import Br from"path";var ne,ut,Jr,Gs=v(()=>{"use strict";c();Wt();K();ie();Ls();I();Te();ht();$();ne=new re,ut=class extends G{closeHooks=[];get stats(){return{all:d.empConfig.debug.devShowAllLog,colors:!0,assets:!1,chunks:!1,entrypoints:!1,timings:!1,version:!1,errors:!0,warnings:!0}}async getRspackDevConfig(){let e=T(d.rsConfig,{stats:this.stats,devServer:{open:!1,setupExitSignals:!0,port:d.server.port}}),{devServer:t}=e;if(d.server.isHttps&&(!t.server||t.server.type==="https"&&!t.server.options)){let{key:i,cert:r}=await d.server.getcert();t.server={type:"https",options:{key:i,cert:r}}}return Object.hasOwn(t,"https")&&delete t.https,e}async startDevServer(e=!1){try{let{server:t}=d,i=await this.getRspackDevConfig();i=await ne.beforeCompiler(i);let r=Ur(i);await d.empConfig.lifeCycle.beforeDevServe(),t.startOpen(),Rs(),await ne.setup(r,i,d,async a=>{ne.isServerStarted=!0,Ts(a),await d.empConfig.lifeCycle.afterDevServe()});let o=As(r,ne);this.closeHooks.push(()=>o.cleanup()),e&&h.debug("[EMP] Dev server restarted successfully")}catch(t){h.error(`[EMP] Failed to ${e?"restart":"start"} dev server:`,t)}}watchConfigFile(){let e=Br.resolve(process.cwd(),"emp.config.ts");if(!ft.existsSync(e))return;h.debug("[EMP] Watching for changes in emp.config.ts...");let t=ft.readFileSync(e,"utf-8");Gt.watch(e,{ignored:/(^|[/\\])\../,persistent:!0}).on("change",async i=>{let r=ft.readFileSync(e,"utf-8");if(t===r){h.debug("[EMP] \u914D\u7F6E\u6587\u4EF6\u65E0\u5B9E\u9645\u53D8\u66F4\uFF08\u7A7A\u4FDD\u5B58\uFF09\uFF0C\u8DF3\u8FC7\u91CD\u542F");return}t=r,h.debug(`[EMP] Config file changed: ${i}`),Object.keys(k.cache).forEach(o=>{o.includes("emp.config")&&delete k.cache[o]}),h.debug("[EMP] \u914D\u7F6E\u6587\u4EF6\u5DF2\u53D8\u66F4\uFF0C\u6B63\u5728\u91CD\u542F\u670D\u52A1..."),this.executeCloseHooks(),await ne.close(),await d.setup(),h.debug("[EMP] \u91CD\u542F\u670D\u52A1\u5B8C\u6210\uFF0C\u65B0\u914D\u7F6E\u5982\u4E0B:",d.empConfig.debug),await this.startDevServer(!0)})}async run(){await this.startDevServer(!1),this.watchConfigFile()}lastBuildTime=0;executeCloseHooks(){if(this.closeHooks.length>0){h.debug(`[EMP] \u6267\u884C ${this.closeHooks.length} \u4E2AHook...`);for(let e of this.closeHooks)try{e()}catch(t){h.error("[EMP] \u6267\u884C\u6E05\u7406\u94A9\u5B50\u65F6\u51FA\u9519:",t)}this.closeHooks=[]}}},Jr=new ut});var mt={};Z(mt,{ServeScript:()=>je,default:()=>Yr});var Vr,Ws,je,Yr,dt=v(()=>{"use strict";c();ie();Te();ht();$();Vr=new oe,Ws=0,je=class extends G{async run(){Ws=Date.now(),await d.empConfig.lifeCycle.beforeServe(),await Vr.setup(d,this.onReady)}onReady=async()=>{d.server.startOpen(),Ds(Date.now()-Ws,"Server Started"),await d.empConfig.lifeCycle.afterServe()}},Yr=new je});var Us={};Z(Us,{default:()=>Xr});import{rspack as qr}from"@rspack/core";var gt,Xr,Bs=v(()=>{"use strict";c();ie();L();Te();$();gt=class extends G{isWatchMode=!1;rspackConfig;isuseServe=!1;isStartServe=!1;watchMode(){this.isWatchMode&&this.rspackConfig.optimization&&(this.rspackConfig.optimization.moduleIds="named",this.rspackConfig.optimization.chunkIds="named",this.rspackConfig.watch=!0)}async startServe(){if(!this.isuseServe||this.isStartServe)return;this.isStartServe=!0;let{default:e}=await Promise.resolve().then(()=>(dt(),mt));await e.setup("serve",d.cliOptions)}async run(){await d.empConfig.lifeCycle.beforeBuild(),this.isWatchMode=!!d.cliOptions.watch,this.isuseServe=!!d.cliOptions.serve,this.rspackConfig=d.rsConfig,this.isWatchMode&&this.watchMode(),qr(this.rspackConfig,async(e,t)=>{if(console.log(`
17
+ `),d.debug.showScriptDebug&&console.log(t?.toString()),e!==null){h.error(e.stack||e),e.message&&h.error(e.message);return}if(!t){h.red("Stats is Undefined.");return}t.hasErrors()&&(h.error(t.toString({all:!1,colors:!0,errors:!0})),h.red("Failed to compile."),process.exit(1)),t.hasWarnings()&&(h.yellow("Compiled with warnings."),h.warn(t.toString({all:!1,chunks:!1,assets:!1,colors:!0,errors:!0,warnings:!0}))),await Os(t),this.startServe(),await d.empConfig.lifeCycle.afterBulid()})}},Xr=new gt});c();import{rspack as Hl}from"@rspack/core";import{program as Wl}from"commander";c();Fe();import Kr from"process";import{program as J}from"commander";async function Js(){J.version(ae.version,"-v, --version").usage("<command> [options]"),J.command("dev").description("Dev \u6A21\u5F0F").option("-e, --env <env>","\u90E8\u7F72\u73AF\u5883 dev\u3001test\u3001prod").option("-rd, --doctor","\u5F00\u542Frsdoctor,\u53EF\u901A\u8FC7debug.rsdoctor\u64CD\u4F5C").option("-h, --hot","\u662F\u5426\u4F7F\u7528\u70ED\u66F4\u65B0 \u9ED8\u8BA4\u542F\u52A8").option("-o, --open","\u662F\u5426\u6253\u5F00\u8C03\u8BD5\u9875\u9762 \u9ED8\u8BA4\u4E0D\u6253\u5F00").option("-t, --ts","\u751F\u6210\u7C7B\u578B\u6587\u4EF6 \u9ED8\u8BA4\u4E3A false").option("-pr, --profile","\u7EDF\u8BA1\u6A21\u5757\u6D88\u8017").option("-cl, --clearLog <clearLog>","\u6E05\u7A7A\u65E5\u5FD7 \u9ED8\u8BA4\u4E3A true").option("-ev, --env-vars <key=value>","\u5B9A\u4E49\u4E00\u4E2A\u73AF\u5883\u53D8\u91CF -ev key=value \u591A\u4E2A\u73AF\u5883\u53D8\u91CF\u91CD\u590D\u8C03\u7528 -ev key=value -ev key=value",(s,e)=>{let[t,i]=s.split("=");return e[t]=i,e},{}).action(async s=>{let{default:e}=await Promise.resolve().then(()=>(Gs(),Hs));await e.setup("dev",s)}),J.command("build").description("Build \u6A21\u5F0F").option("-e, --env <env>","\u90E8\u7F72\u73AF\u5883 dev\u3001test\u3001prod").option("-rd, --doctor","\u5F00\u542Frsdoctor,\u53EF\u901A\u8FC7debug.rsdoctor\u64CD\u4F5C").option("-a, --analyze","\u751F\u6210\u5206\u6790\u62A5\u544A \u9ED8\u8BA4\u4E3A false").option("-t, --ts","\u751F\u6210\u7C7B\u578B\u6587\u4EF6 \u9ED8\u8BA4\u4E3A false").option("-pr, --profile","\u7EDF\u8BA1\u6A21\u5757\u6D88\u8017").option("-cl, --clearLog <clearLog>","\u6E05\u7A7A\u65E5\u5FD7 \u9ED8\u8BA4\u4E3A true").option("-w, --watch","watch \u6A21\u5F0F").option("-sv, --serve","watch \u6A21\u5F0F\u4E0B\u542F\u52A8serve").option("-ev, --env-vars <key=value>","\u5B9A\u4E49\u4E00\u4E2A\u73AF\u5883\u53D8\u91CF -ev key=value \u591A\u4E2A\u73AF\u5883\u53D8\u91CF\u91CD\u590D\u8C03\u7528 -ev key=value -ev key=value",(s,e)=>{let[t,i]=s.split("=");return e[t]=i,e},{}).action(async s=>{let{default:e}=await Promise.resolve().then(()=>(Bs(),Us));await e.setup("build",s)}),J.command("serve").description("Server \u6A21\u5F0F").option("-cl, --clearLog <clearLog>","\u6E05\u7A7A\u65E5\u5FD7 \u9ED8\u8BA4\u4E3A true").option("-e, --env <env>","\u90E8\u7F72\u73AF\u5883 dev\u3001test\u3001prod").option("-ev, --env-vars <key=value>","\u5B9A\u4E49\u4E00\u4E2A\u73AF\u5883\u53D8\u91CF -ev key=value \u591A\u4E2A\u73AF\u5883\u53D8\u91CF\u91CD\u590D\u8C03\u7528 -ev key=value -ev key=value",(s,e)=>{let[t,i]=s.split("=");return e[t]=i,e},{}).action(async s=>{let{default:e}=await Promise.resolve().then(()=>(dt(),mt));await e.setup("serve",s)}),J.command("dts").description("\u62C9\u53D6 remote \u9879\u76EE\u7684 d.ts").option("-p, --typingsPath <typingsPath>","\u4E0B\u8F7D\u76EE\u5F55").option("-e, --env <env>","\u90E8\u7F72\u73AF\u5883 dev\u3001test\u3001prod").action(s=>{}),J.command("init").description("\u521D\u59CB\u5316 emp \u9879\u76EE").option("-d, --data [data]","JSON\u6570\u636E http\u5730\u5740 \u6216\u8005 \u6587\u4EF6\u8DEF\u5F84\u76F8\u5BF9\u3001\u7EDD\u5BF9\u8DEF\u5F84").action(s=>{}),J.parse(Kr.argv)}$();L();K();function Jl(s){return s}export{ye as Logger,_ as color,Jl as defineConfig,Bt as empHelper,Wl as program,Hl as rspack,Js as runScript,d as store};
18
+ /*! Bundled license information:
19
+
20
+ chokidar/esm/index.js:
21
+ (*! chokidar - MIT License (c) 2012 Paul Miller (paulmillr.com) *)
22
+ */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@empjs/cli",
3
- "version": "3.10.0-beta.6",
3
+ "version": "3.10.1",
4
4
  "description": "emp",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -93,11 +93,12 @@
93
93
  "@types/webpack": "^5.28.4",
94
94
  "@types/webpack-bundle-analyzer": "^4.6.2",
95
95
  "@types/webpack-sources": "^3.2.2",
96
+ "chokidar": "^4.0.3",
96
97
  "vue": "^3.5.21"
97
98
  },
98
99
  "dependencies": {
99
100
  "@rsdoctor/rspack-plugin": "1.2.3",
100
- "@rspack/core": "1.5.3",
101
+ "@rspack/core": "1.5.7",
101
102
  "@rspack/dev-server": "1.1.4",
102
103
  "@swc/helpers": "^0.5.17",
103
104
  "@vue/tsconfig": "^0.8.1",
@@ -113,7 +114,7 @@
113
114
  "glob": "11.0.3",
114
115
  "gzip-size": "7.0.0",
115
116
  "html-webpack-plugin": "5.6.4",
116
- "jiti": "2.0.0",
117
+ "jiti": "2.6.0",
117
118
  "less-loader": "^12.2.0",
118
119
  "open": "10.2.0",
119
120
  "sass-embedded": "1.91.0",
@@ -127,6 +128,8 @@
127
128
  "scripts": {
128
129
  "dev": "tsup --watch --env.ENV dev",
129
130
  "build": "tsup --env.ENV prod",
131
+ "dev-rs": "rslib build --watch --env-mode development",
132
+ "build-rs": "rslib build --env-mode production",
130
133
  "ph": "pnpm publish --no-git-checks"
131
134
  }
132
135
  }