@metricinsights/pp-dev 0.14.0 → 0.14.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/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## [0.14.1-beta.1](https://github.com/mi-examples/pp-dev/compare/v0.14.0...v0.14.1-beta.1) (2026-02-24)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * **nextjs:** rewrite response middleware for Next.js page URLs ([3e80f41](https://github.com/mi-examples/pp-dev/commit/3e80f413c3106d9be918604ae0a5e28eeafc98d5))
7
+
1
8
  # [0.14.0-beta.1](https://github.com/mi-examples/pp-dev/compare/v0.13.2...v0.14.0-beta.1) (2026-02-20)
2
9
 
3
10
 
package/README.md CHANGED
@@ -2,7 +2,8 @@
2
2
 
3
3
  <p align="center">
4
4
  <a href="https://www.npmjs.com/package/@metricinsights/pp-dev"><img alt="npm" src="https://img.shields.io/npm/v/%40metricinsights%2Fpp-dev?logo=npm&label=npm%20package"></a>
5
- <a href="https://github.com/mi-examples/pp-dev-js/actions/workflows/publish.yml"><img alt="GitHub Workflow Status (with event)" src="https://img.shields.io/github/actions/workflow/status/mi-examples/pp-dev-js/publish.yml?logo=github"></a>
5
+ <a href="https://github.com/mi-examples/pp-dev/actions/workflows/release.yml"><img alt="GitHub Workflow Status (with event)" src="https://github.com/mi-examples/pp-dev/actions/workflows/release.yml/badge.svg"></a>
6
+ <a href="https://github.com/mi-examples/pp-dev/actions/workflows/ci.yml"><img alt="GitHub Workflow CI Status (with event)" src="https://github.com/mi-examples/pp-dev/actions/workflows/ci.yml/badge.svg?branch=develop"></a>
6
7
  </p>
7
8
 
8
9
  The PP Dev Helper is a development framework and build tool for Metric Insights' Portal Pages, designed to make the
package/dist/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## [0.14.1-beta.1](https://github.com/mi-examples/pp-dev/compare/v0.14.0...v0.14.1-beta.1) (2026-02-24)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * **nextjs:** rewrite response middleware for Next.js page URLs ([3e80f41](https://github.com/mi-examples/pp-dev/commit/3e80f413c3106d9be918604ae0a5e28eeafc98d5))
7
+
1
8
  # [0.14.0-beta.1](https://github.com/mi-examples/pp-dev/compare/v0.13.2...v0.14.0-beta.1) (2026-02-20)
2
9
 
3
10
 
package/dist/README.md CHANGED
@@ -2,7 +2,8 @@
2
2
 
3
3
  <p align="center">
4
4
  <a href="https://www.npmjs.com/package/@metricinsights/pp-dev"><img alt="npm" src="https://img.shields.io/npm/v/%40metricinsights%2Fpp-dev?logo=npm&label=npm%20package"></a>
5
- <a href="https://github.com/mi-examples/pp-dev-js/actions/workflows/publish.yml"><img alt="GitHub Workflow Status (with event)" src="https://img.shields.io/github/actions/workflow/status/mi-examples/pp-dev-js/publish.yml?logo=github"></a>
5
+ <a href="https://github.com/mi-examples/pp-dev/actions/workflows/release.yml"><img alt="GitHub Workflow Status (with event)" src="https://github.com/mi-examples/pp-dev/actions/workflows/release.yml/badge.svg"></a>
6
+ <a href="https://github.com/mi-examples/pp-dev/actions/workflows/ci.yml"><img alt="GitHub Workflow CI Status (with event)" src="https://github.com/mi-examples/pp-dev/actions/workflows/ci.yml/badge.svg?branch=develop"></a>
6
7
  </p>
7
8
 
8
9
  The PP Dev Helper is a development framework and build tool for Metric Insights' Portal Pages, designed to make the
package/dist/cjs/cli.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("path"),o=require("fs"),t=require("node:perf_hooks"),n=require("chokidar"),i=require("cac"),r=require("vite"),s=require("./index-DgQyb8fr.js"),a=require("./plugin-DzerGtSN.js"),l=require("url"),c=require("dir-compare"),d=require("diff-match-patch"),p=require("isbinaryfile"),f=require("os"),h=require("crypto"),g=require("extract-zip"),u=require("svgtofont");require("ejs"),require("http-proxy-middleware"),require("picocolors"),require("axios"),require("jsdom"),require("https"),require("memory-cache"),require("process"),require("child_process"),require("console"),require("zlib"),require("express");const m=e=>e&&"object"==typeof e&&"default"in e?e.default:e;function b(e){if(e&&"object"==typeof e&&"default"in e)return e;const o=Object.create(null);if(e)for(const t in e)o[t]=e[t];return o.default=e,Object.freeze(o)}const w=b(e),v=b(o),y=b(c),x=m(d),P=b(f),T=b(h),L=m(g),$=m(u);function S(e){return null!=e&&!1!==e}const F=[{key:"r",description:"restart the server",async action(e){await e.restart()}},{key:"u",description:"show server url",action(e){e.config.logger.info(""),e.printUrls()}},{key:"o",description:"open in browser",action(e){e.openBrowser()}},{key:"c",description:"clear console",action(e){e.config.logger.clearScreen("error")}},{key:"q",description:"quit",async action(e){await e.close().finally((()=>process.exit()))}},{key:"C",description:"clear proxy cache",action(e){e.cache&&(e.cache.clear(),e.config.logger.info("Proxy cache cleared"))}}];const C=/(.+)(-[a-f0-9]{6,20})(\.[a-z0-9]+)$/i;class E{oldAssetsPath;newAssetsPath;destinationPath;changelogFilename;changelogTemplate='<!DOCTYPE html>\n <html lang="en">\n <head>\n <meta charset="UTF-8" />\n <title>Changelog Diff</title>\n <style>\n tr,\n td {\n padding: 0;\n }\n .diff-file {\n margin-top: 20px;\n border: 1px solid #e1e4e8;\n border-radius: 6px;\n }\n .diff-file-title {\n padding: 10px 20px;\n background-color: #f6f8fa;\n border-bottom: 1px solid #e1e4e8;\n border-radius: 6px 6px 0 0;\n font-weight: bold;\n }\n .diff-file-title .renamed {\n font-weight: normal;\n }\n .diff-file-title .renamed .from {\n color: #cb2431;\n }\n .diff-file-title .renamed .to {\n color: #22863a;\n }\n .diff-file-title .added {\n color: #22863a;\n }\n .diff-file-title .deleted {\n color: #cb2431;\n }\n .diff-file-content {\n }\n .diff-table {\n tab-size: 8;\n width: 100%;\n border-collapse: separate;\n border-spacing: 0;\n }\n .blob-num {\n position: relative;\n color: #1f2328;\n width: 1%;\n min-width: 50px;\n padding: 0 10px;\n font-family: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;\n font-size: 12px;\n line-height: 20px;\n text-align: right;\n white-space: nowrap;\n vertical-align: top;\n cursor: pointer;\n -webkit-user-select: none;\n user-select: none;\n }\n .blob-num.addition {\n background-color: #ccffd8;\n border-color: #1f883e;\n }\n .blob-num.deletion {\n background-color: #ffd7d5;\n border-color: #cf222e;\n }\n .blob-num::before {\n content: attr(data-line-number);\n }\n .blob-code {\n position: relative;\n padding: 0 10px 0 22px;\n vertical-align: top;\n color: #1f2329;\n }\n .blob-code.code-addition {\n background-color: #e6ffec;\n }\n .blob-code.code-deletion {\n background-color: #ffebe9;\n }\n .blob-code.skip,\n .blob-code.message {\n text-align: center;\n }\n .blob-code.skip .blob-code-inner,\n .blob-code.message .blob-code-inner {\n font-weight: bold;\n color: #6a737d;\n padding: 10px 0;\n }\n .blob-code-inner {\n display: table-cell;\n overflow: visible;\n font-family: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;\n font-size: 12px;\n word-wrap: anywhere;\n white-space: pre-wrap;\n }\n .blob-code-inner::before {\n content: attr(data-code-prefix);\n position: absolute;\n top: 1px;\n left: 8px;\n padding-right: 8px;\n }\n </style>\n </head>\n <body>\n <h1>Changelog Diff</h1>\n\n %FILES%\n </body>\n </html>';diffFileTemplateHandler;diffLineTemplateHandler;contextLines=3;logger;constructor(e){const{oldAssetsPath:o,newAssetsPath:t,destinationPath:n,changelogTemplate:i,diffFileTemplateHandler:r,diffLineTemplateHandler:s,changelogFilename:l,contextLines:c}=e;if(this.logger=a.createLogger(),!o||!t||!n)throw new Error("Previous assets path, current assets path and destination path are required");if(o===t)throw new Error("Previous and current assets paths must be different");if(!this.isExists(o))throw new Error(`Previous assets path ${o} does not exist`);if(!this.isExists(t))throw new Error(`Current assets path ${t} does not exist`);if(this.isZipFile(o)){const e=w.resolve(P.tmpdir(),T.createHash("md5").update(o).digest("hex"));this.oldAssetsPath=this.unzipFile(o,e).then((()=>this.normalizeAssetFolderPath(e))).then((e=>{if(this.isEmptyFolder(e))throw new Error(`Previous assets path ${e} is empty`);return e}))}else{if(!this.isFolder(o))throw new Error(`Invalid previous assets path ${o}. It must be a folder or a zip file`);{const e=this.normalizeAssetFolderPath(o);if(this.isEmptyFolder(e))throw new Error(`Previous assets path ${e} is empty`);this.oldAssetsPath=Promise.resolve(e)}}if(this.isZipFile(t)){const e=w.resolve(P.tmpdir(),T.createHash("md5").update(t).digest("hex"));this.newAssetsPath=this.unzipFile(t,e).then((()=>this.normalizeAssetFolderPath(e))).then((e=>{if(this.isEmptyFolder(e))throw new Error(`Current assets path ${e} is empty`);return e}))}else{if(!this.isFolder(t))throw new Error(`Invalid current assets path ${t}. It must be a folder or a zip file`);{const e=this.normalizeAssetFolderPath(t);if(this.isEmptyFolder(e))throw new Error(`Current assets path ${t} is empty`);this.newAssetsPath=Promise.resolve(e)}}this.destinationPath=n,this.mkdirpSync(this.destinationPath),this.changelogFilename=l||"CHANGELOG.html",i&&(this.templateIsValid(i)?this.changelogTemplate=i:this.logger.warn(a.colors.yellow("Invalid changelog template, using default"))),"function"==typeof r&&(this.diffFileTemplateHandler=r),"function"==typeof s&&(this.diffLineTemplateHandler=s),c&&(this.contextLines=c)}templateIsValid(e){return e.includes("%FILES%")}isExists(e){return v.existsSync(e)}isZipFile(e){return e.endsWith(".zip")}isFolder(e){return v.lstatSync(e).isDirectory()}isEmptyFolder(e){return 0===v.readdirSync(e,{withFileTypes:!0}).length}mkdirpSync(e){v.existsSync(e)||v.mkdirSync(e,{recursive:!0})}async unzipFile(e,o){return v.rmSync(o,{force:!0,recursive:!0}),L(e,{dir:o})}normalizeAssetFolderPath(e){const o=v.readdirSync(e);return 1===o.length&&v.lstatSync(w.join(e,o[0])).isDirectory()?this.normalizeAssetFolderPath(w.join(e,o[0])):e}pathToPosix(e){return e.replace(/\\/g,"/")}diffTableTemplate(e){return`<table class="diff-table">\n <tbody>\n ${e}\n </tbody>\n </table>`}getDiffTableHTML(e){const o=e.filter(((e,o,t)=>0!==e.lineType||(o>=0&&o<this.contextLines||o>t.length-(this.contextLines+1)&&o<=t.length-1||t.slice(o-this.contextLines,o+this.contextLines+1).some((e=>0!==e.lineType))))).map(((e,o,t)=>{if(o>0){const n=t[o-1];if(e.lineNumber-n.lineNumber>1)return[{lineNumber:-1,lineContent:"",lineType:0},e]}return[e]})).flat().map((e=>this.diffLineHTML(e))).join("");return this.diffTableTemplate(o)}diffLineMessageTemplate(e){return`<tr>\n <td class="blob-num"></td>\n <td class="blob-num"></td>\n <td class="blob-code message">\n <span class="blob-code-inner">${e}</span>\n </td>\n </tr>`}diffLineSkipTemplate(){return'<tr>\n <td class="blob-num"></td>\n <td class="blob-num"></td>\n <td class="blob-code skip">\n <span class="blob-code-inner">Skip</span>\n </td>\n </tr>'}diffLineTemplate(e){const{lineNumber:o,lineContent:t,lineType:n}=e,i=1===n?"addition":-1===n?"deletion":"";return`<tr>\n <td\n class="blob-num ${i}${"addition"===i?" empty":""}"\n ${"addition"!==i?` data-line-number="${o}"`:""}\n ></td>\n <td\n class="blob-num ${i}${"deletion"===i?" empty":""}"\n ${"deletion"!==i?` data-line-number="${o}"`:""}\n ></td>\n <td class="blob-code ${1===n?"code-addition":-1===n?"code-deletion":""}">\n <span class="blob-code-inner" data-code-prefix="${1===n?"+":-1===n?"-":" "}">${r=t??"",r.replace(/[\u00A0-\u9999<>&]/g,(e=>"&#"+e.charCodeAt(0)+";"))}</span>\n </td>\n </tr>`;var r}diffLineHTML(e){if(this.diffLineTemplateHandler)return this.diffLineTemplateHandler(e);const{lineNumber:o}=e;return-1===o?this.diffLineSkipTemplate():this.diffLineTemplate(e)}diffFileTemplate(e,o){return this.diffFileTemplateHandler?this.diffFileTemplateHandler(e,o):`<div class="diff-file">\n <div class="diff-file-title">${e}</div>\n <div class="diff-file-content">${o}</div>\n </div>`}async generateAssetFoldersDiff(){this.logger.info(a.colors.blue(`Comparing asset folders ${await this.oldAssetsPath} and ${await this.newAssetsPath}`));const e=await y.compare(await this.oldAssetsPath,await this.newAssetsPath,{compareContent:!0,skipSymlinks:!0,compareSize:!0,compareDate:!1,compareNameHandler:(e,o)=>(C.test(e)&&(e=e.replace(C,"$1$3")),C.test(o)&&(o=o.replace(C,"$1$3")),0===e.localeCompare(o)?0:e.localeCompare(o)>0?1:-1)});return e.diffSet?.filter((e=>"equal"!==e.state||e.name1!==e.name2))||[]}async generateAssetFilesDiff(e,o){const t=new x,n=t.diff_linesToChars_(e,o),i=t.diff_main(n.chars1,n.chars2,!1);t.diff_charsToLines_(i,n.lineArray);let r=0;return i.map((e=>{const[o,t]=e,n=t.endsWith("\n")?t.split("\n").length-1:t.split("\n").length,i=t.split("\n").map(((e,t)=>({lineContent:e,lineNumber:r+t+1,lineType:o}))).slice(0,n);return-1!==o&&(r+=n),i})).flat()}async generateFilesDiff(e){if("equal"===e.state){const o=this.pathToPosix(w.join(".",e.relativePath,e.name1??"")),t=this.pathToPosix(w.join(".",e.relativePath,e.name2??""));return this.diffFileTemplate(`<span class="renamed"\n >Renamed <span class="from">${o}</span> -> <span class="to">${t}</span></span\n >`,this.diffTableTemplate(this.diffLineMessageTemplate("No changes")))}const o=e.path1&&e.name1?w.join(e.path1,e.name1):null,t=e.path2&&e.name2?w.join(e.path2,e.name2):null,n=this.pathToPosix(w.join(".",e.relativePath,(e.name1||e.name2)??""));if("left"===e.state&&o)return this.diffFileTemplate(`<span class="removed">Removed ${n}</span>`,this.diffTableTemplate(this.diffLineMessageTemplate("File removed")));if("right"===e.state&&t)return this.diffFileTemplate(`<span class="added">Added ${n}</span>`,this.diffTableTemplate(this.diffLineMessageTemplate("File added")));if("distinct"===e.state&&o&&t){const i=this.pathToPosix(w.join(".",e.relativePath,e.name1??"")),r=this.pathToPosix(w.join(".",e.relativePath,e.name2??"")),s=e.name1!==e.name2?`<span class="renamed"\n >Renamed <span class="from">${i}</span> -> <span class="to">${r}</span></span\n >`:n;return this.diffFileTemplate(s,await p.isBinaryFile(o)||await p.isBinaryFile(t)?this.diffTableTemplate(this.diffLineMessageTemplate("Binary file")):this.getDiffTableHTML(await this.generateAssetFilesDiff(v.readFileSync(o,"utf-8"),v.readFileSync(t,"utf-8"))))}return""}async generateChangelog(){this.logger.info(a.colors.green("Generating changelog"));const e=await this.generateAssetFoldersDiff(),o=(await Promise.all(e.map((e=>this.generateFilesDiff(e))))).join("");this.logger.info(a.colors.green("Writing changelog file"));const t=this.changelogTemplate.split("%FILES%");t.splice(1,0,o);const n=t.join("");v.writeFileSync(w.join(this.destinationPath,this.changelogFilename),n),this.logger.info(a.colors.green(`Changelog file written to ${w.join(this.destinationPath,this.changelogFilename)}`))}}class j{sourceDir;outputDir;fontName;constructor(e){this.sourceDir=e.sourceDir,this.outputDir=e.outputDir,this.fontName=e.fontName}async generate(){await $({src:this.sourceDir,dist:this.outputDir,fontName:this.fontName,css:!0,typescript:!0,startUnicode:59905,svgicons2svgfont:{fontHeight:1024}})}}const A=i.cac("pp-dev");function I(e,o,t){const i=[...s.PP_DEV_CONFIG_NAMES,...s.PP_WATCH_CONFIG_NAMES,"package.json","next.config.js","next.config.mjs","next.config.ts","vite.config.js","vite.config.mjs","vite.config.ts",".env",".env.local",".env.development",".env.development.local"].map((o=>w.join(e,o))),r=n.watch(i,{ignored:e=>{const o=w.basename(e);return/(^|[\/\\])\../.test(e)&&!o.startsWith(".env")&&!o.startsWith(".pp-dev")&&!o.startsWith(".pp-watch")},persistent:!0,ignoreInitial:!0,followSymlinks:!1});let l=null;return r.on("change",(n=>{t(a.colors.blue(`šŸ”§ Config file changed: ${w.relative(e,n)}`)),l&&clearTimeout(l),l=setTimeout((async()=>{try{t(a.colors.yellow("šŸ”„ Restarting dev server due to config change...")),await o()}catch(e){t(a.colors.red(`āŒ Failed to restart dev server: ${e?.message}. Stack: ${e?.stack}`))}}),500)})),r.on("error",(e=>{t(a.colors.red(`āŒ Config watcher error: ${e}`))})),{watcher:r,restartCallback:o,logger:t}}function D(e){e.watcher&&e.watcher.close()}let k=global.__pp_dev_profile_session,_=0;const N=e=>{if(k)return new Promise(((o,t)=>{k.post("Profiler.stop",((n,{profile:i})=>{if(n)t(n);else{const t=w.resolve(`./pp-dev-profile-${_++}.cpuprofile`);v.writeFileSync(t,JSON.stringify(i)),e(a.colors.yellow(`CPU profile written to ${a.colors.white(a.colors.dim(t))}`)),k=void 0,o()}}))}))},R=e=>{for(const[o,t]of Object.entries(e))Array.isArray(t)&&(e[o]=t[t.length-1])};function q(e){const o={...e};return delete o["--"],delete o.c,delete o.config,delete o.base,delete o.l,delete o.logLevel,delete o.clearScreen,delete o.d,delete o.debug,delete o.f,delete o.filter,delete o.m,delete o.mode,o}A.option("-c, --config <file>","[string] use specified config file").option("--base <path>","[string] public base path (default: /)").option("-l, --logLevel <level>","[string] info | warn | error | silent").option("--clearScreen","[boolean] allow/disable clear screen when logging").option("-d, --debug [feat]","[string | boolean] show debug logs").option("-f, --filter <filter>","[string] filter debug logs").option("-m, --mode <mode>","[string] set env mode"),A.command("[root]","start dev server").alias("serve").alias("dev").option("--host [host]","[string] specify hostname").option("--port <port>","[number] specify port").option("--https","[boolean] use TLS + HTTP/2").option("--open [path]","[boolean | string] open browser on startup").option("--cors","[boolean] enable CORS").option("--strictPort","[boolean] exit if specified port is already in use").option("--force","[boolean] force the optimizer to ignore the cache and re-bundle").action((async(e,o)=>{R(o);let n=null,i=null,l=!1;const c=e?w.resolve(process.cwd(),e):process.cwd(),d=a.createLogger(o.logLevel),p=async()=>{if(!l){l=!0;try{n&&(d.info(a.colors.yellow("šŸ›‘ Stopping existing dev server...")),await n.close(),n=null);const{clearConfigCache:f}=await Promise.resolve().then((()=>require("./index-DgQyb8fr.js"))).then((e=>e.config));f();const{createServer:h}=await import("vite"),g=await r.loadConfigFromFile({mode:o.mode||"development",command:"serve"},o.config,e,o.logLevel);let u=await s.getViteConfig();const m=r.loadEnv(o.mode||"development",e??process.cwd(),"");if(m&&Object.keys(m).forEach((e=>{e.startsWith("MI_")&&(process.env[e]=m[e])})),g){const{plugins:e,...o}=g.config;u=r.mergeConfig(u,o)}if(n=await h(r.mergeConfig(u,{root:e,base:o.base,mode:o.mode,configFile:o.config,logLevel:o.logLevel,clearScreen:o.clearScreen,optimizeDeps:{force:o.force},server:q(o),customLogger:d},!0)),!n.config.base||"/"===n.config.base)throw new Error('base cannot be equal to "/" or empty string');if(!n.httpServer)throw new Error("HTTP server not available");await n.listen();const b=global.__pp_dev_start_time??!1,w=b?a.colors.dim(`ready in ${a.colors.reset(a.colors.bold(Math.ceil(t.performance.now()-b)))} ms`):"";d.info(`\n ${a.colors.green(`${a.colors.bold("PP-DEV")} v${s.VERSION}`)} ${w}\n`),n.printUrls(),function(e,o){if(!e.httpServer||!process.stdin.isTTY||process.env.CI)return;e._shortcutsOptions=o;const t=a.createLogger();o.print&&t.info(a.colors.dim(a.colors.green(" āžœ"))+a.colors.dim(" press ")+a.colors.bold("h")+a.colors.dim(" to show help"));const n=(o.customShortcuts??[]).filter(S).concat(F);let i=!1;const r=async o=>{if(""===o||""===o)return void await e.close().finally((()=>process.exit(1)));if(i)return;"h"===o&&t.info(["",a.colors.bold(" Shortcuts"),...n.map((e=>a.colors.dim(" press ")+a.colors.bold(e.key)+a.colors.dim(` to ${e.description}`)))].join("\n"));const r=n.find((e=>e.key===o));r&&(i=!0,await r.action(e),i=!1)};process.stdin.setRawMode(!0),process.stdin.on("data",r).setEncoding("utf8").resume(),e.httpServer.on("close",(()=>{process.stdin.off("data",r).pause()}))}(n,{print:!0,customShortcuts:[...k?[{key:"p",description:"start/stop the profiler",async action(e){if(k)await N(d.info);else{const e=await import("node:inspector").then((e=>e.default));await new Promise((o=>{k=new e.Session,k.connect(),k.post("Profiler.enable",(()=>{k?.post("Profiler.start",(()=>{d.info("Profiler started"),o()}))}))}))}}}]:[],{key:"l",description:"proxy re-login",action(e){e.ws.send({type:"custom",event:"redirect",data:{url:`/auth/index/logout?proxyRedirect=${encodeURIComponent("/")}`}})}}]}),i||(i=I(c,p,d.info),d.info(a.colors.blue("šŸ”§ Config file watcher started"))),l=!1}catch(e){l=!1,d.error(a.colors.red(`error when starting dev server:\n${e.stack}`),{error:e}),N(d.info),process.exit(1)}}},f=async e=>{d.info(a.colors.yellow(`\nšŸ›‘ Received ${e}, shutting down gracefully...`));try{i&&(D(i),i=null),n&&(await n.close(),n=null),N(d.info),d.info(a.colors.green("āœ… Graceful shutdown completed")),process.exit(0)}catch(e){d.error(a.colors.red(`āŒ Error during graceful shutdown: ${e}`)),process.exit(1)}};process.on("SIGINT",(()=>f("SIGINT"))),process.on("SIGTERM",(()=>f("SIGTERM"))),process.on("uncaughtException",(e=>{d.error(a.colors.red(`āŒ Uncaught Exception: ${e}`)),f("uncaughtException")})),process.on("unhandledRejection",((e,o)=>{d.error(a.colors.red(`āŒ Unhandled Rejection at: ${o}, reason: ${e}`)),f("unhandledRejection")})),await p()})),A.command("next [root]","start Next.js development server with pp-dev integration").alias("next-serve").alias("next-dev").option("--host [host]","[string] specify hostname").option("--port <port>","[number] specify port",{default:3e3}).option("--https","[boolean] use TLS + HTTP/2").option("--open [path]","[boolean | string] open browser on startup").option("--cors","[boolean] enable CORS").option("--strictPort","[boolean] exit if specified port is already in use").option("--force","[boolean] force the optimizer to ignore the cache and re-bundle").action((async(e,o)=>{R(o);let t=null,n=null,i=null,c=!1;const d=a.createLogger(),p=async()=>{if(!c){c=!0;try{const{next:h,constants:g}=await s.safeNextImport(),{PHASE_DEVELOPMENT_SERVER:u}=g;n&&(d.info(a.colors.yellow("šŸ›‘ Stopping existing Next.js server...")),await new Promise((e=>{n.close((()=>{n=null,e()}))}))),t&&"function"==typeof t.close&&(await t.close(),t=null);const{clearConfigCache:m}=await Promise.resolve().then((()=>require("./index-DgQyb8fr.js"))).then((e=>e.config));m();const{join:b,basename:w}=await import("path"),{createServer:v}=await import("http"),y=await import("next/dist/server/config.js"),x=y.default.default||y["module.exports"].default||y.default,P=q(o),T=r.loadEnv(o.mode||"development",e??process.cwd(),"");T&&Object.keys(T).forEach((e=>{e.startsWith("MI_")&&(process.env[e]=T[e])}));const L=e?b(process.cwd(),e):process.cwd();d.info(L);const $=await x(u,L);let S=$?.ppDev||{};if(0===Object.keys(S).length)try{const{getConfig:e}=await Promise.resolve().then((()=>require("./index-DgQyb8fr.js"))).then((e=>e.config)),o=await e();Object.keys(o).length>0?(S=o,d.info(a.colors.blue("šŸ”§ Loaded pp-dev config from standalone config file"))):d.info(a.colors.yellow("āš ļø No pp-dev config found in Next.js config or standalone file, using defaults"))}catch(e){d.info(a.colors.yellow("āš ļø Failed to load standalone pp-dev config, using defaults")),console.debug("Error loading standalone config:",e)}else d.info(a.colors.blue("šŸ”§ Loaded pp-dev config from Next.js config"));const{backendBaseURL:F=process.env.MI_BACKEND_URL||"http://localhost:8080",appId:C,portalPageId:E,templateLess:j=!0,v7Features:A=!0,disableSSLValidation:k=!1,enableProxyCache:_=!0,proxyCacheTTL:N=6e5,personalAccessToken:R=process.env.MI_ACCESS_TOKEN,miHudLess:M=!1}=S,z=C??E??(process.env.MI_APP_ID&&parseInt(process.env.MI_APP_ID,10)||void 0)??(process.env.MI_PORTAL_PAGE_ID&&parseInt(process.env.MI_PORTAL_PAGE_ID,10)||void 0)??1;let H=null;if(!H)try{const{getPkg:e}=await Promise.resolve().then((()=>require("./index-DgQyb8fr.js"))).then((e=>e.config));H=e().name}catch(e){H=w(L)}const G="/p",O="/pl",U=$?.basePath;let W="";if(U?W=U:(W=j?G:A?O:"/pt",W+=`/${H}`),t=h({dev:!0,hostname:P.host||"localhost",port:P.port,dir:L,conf:{...$,basePath:W,assetPrefix:`${j?G:"/pt"}/${H}`}}),await t.prepare(),W.endsWith("/")||(W+="/"),"/"===W)throw new Error('basePath cannot be equal to "/" or equal to empty string');d.info(a.colors.green("āœ… Next.js app prepared successfully")),d.info(a.colors.blue(`šŸ”§ pp-dev plugin configured for template: ${H}`)),d.info(a.colors.blue(`šŸ”§ Base path configured: ${W}`)),F&&(d.info(a.colors.blue(`🌐 Backend URL: ${F}`)),d.info(a.colors.blue(`šŸ†” Custom App ID: ${z}`)));const V=t.getRequestHandler(),B="number"==typeof P.port?P.port:3e3,Z="string"==typeof P.host?P.host||"0.0.0.0":"localhost",K=new Set;n=v((async(e,o)=>{try{const t=e.url||"/",n=t.split("?")[0];let i=l.parse(t,!0);if(J.length>0){if(n.startsWith("/_next/")||"/favicon.ico"===n||n.startsWith("/__nextjs_")){if(Q.length>0){let c=0;const d=()=>{if(c>=Q.length)return void r();const t=Q[c];c++,t(e,o,d)};return void d()}return void r()}let s=0;const a=()=>{if(s>=J.length)return void r();const t=J[s];s++,t(e,o,a)};return void a()}async function r(){if(n.startsWith(W))i=l.parse(t,!0);else{if(n===W.replace(/\/$/,"")){const e=t.replace(n,W);return o.writeHead(302,{Location:e}),void o.end()}if(n.startsWith("/_next/")||"/favicon.ico"===n||n.startsWith("/__nextjs_"));else if("/"===n)return o.writeHead(302,{Location:W}),void o.end()}await V(e,o,i)}r()}catch(p){console.error("[DEBUG] Error:",p),o.statusCode=500,o.end("Internal Server Error")}}));let Y=null,J=[],Q=[];if(F){const e=new URL(F).host,o={headers:{host:e,referer:F,origin:F.replace(/^(https?:\/\/)([^/]+)(\/.*)?$/i,"$1$2")},portalPageId:z,appId:z,templateLess:j,disableSSLValidation:k,v7Features:A,personalAccessToken:R??process.env.MI_ACCESS_TOKEN};Y=new a.MiAPI(F,o);const t=a.initPPRedirect(W,H),n=(e,o,n)=>{t(e,o,n)};if(Q.push(n),J.push(n),_){let e=+N;(!e||Number.isNaN(e)||e<0)&&(e=6e5);const o={devServer:{middlewares:{use:e=>e},config:{logger:console}},ttl:e},t=a.initProxyCache(o),n=(e,o,n)=>{t(e,o,n)};J.push(n),d.info(a.colors.blue(`šŸ”§ Proxy cache middleware added with TTL: ${e}ms`))}const i=W.endsWith("/")?W.substring(0,W.length-1):W,r={middlewares:{use:e=>e},config:{logger:console}},s=a.initProxy({devServer:r,baseURL:F,proxyIgnore:["/@vite","/@metricinsights","/@",i,"/_next","/favicon.ico","/__nextjs_","/installHook.js.map"],disableSSLValidation:k,miAPI:Y}),l=(e,o,t)=>{s(e,o,t)};J.push(l);const c=new RegExp(`^((${f=W,f.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")})|/)$`),p=a.initLoadPPData(c,Y,{base:W,v7Features:A}),h=(e,o,t)=>{p(e,o,t)};J.push(h);const g=a.internalServer,u=(e,o,t)=>{if(e.url?.startsWith("/@api/")){g(e,o,(()=>{}))}else t()};Q.push(u),J.push(u);const m=a.initRewriteResponse((e=>e.split("?")[0].endsWith("index.html")),((o,t)=>Buffer.from(a.urlReplacer(e,t.headers.host??"",Y.buildPage(o,M))))),b=(e,o,t)=>{m(e,o,t)};J.push(b),d.info(a.colors.blue(`šŸ”§ ${J.length} pp-dev middlewares initialized`)),d.info(a.colors.blue(`šŸ”§ ${Q.length} essential middlewares for internal routes`)),d.info(a.colors.blue(`šŸ”§ MiAPI initialized for backend: ${F}`)),d.info(a.colors.blue(`šŸ”§ Custom App ID: ${z}`))}n.listen(B,Z,(()=>{d.info(a.colors.green(`āœ… pp-dev Next.js server running at http://${Z}:${B}`)),d.info(a.colors.blue(`šŸ“± Next.js app accessible at http://${Z}:${B}${W}`)),d.info(a.colors.blue("šŸ”§ Base path handling active")),i||(i=I(L,p,d.info),d.info(a.colors.blue("šŸ”§ Config file watcher started"))),n.on("connection",(e=>{K.add(e),e.on("close",(()=>K.delete(e)))}));const e=async e=>{d.info(a.colors.yellow(`\nšŸ›‘ Received ${e}, shutting down gracefully...`));const o=setTimeout((()=>{d.info(a.colors.yellow("ā° Shutdown timeout reached, forcing exit")),process.exit(0)}),5e3);try{i&&(D(i),i=null);for(const e of Array.from(K))e.destroy();K.clear(),await new Promise((e=>{n.close((()=>{d.info(a.colors.yellow("šŸ›‘ HTTP server closed")),e()}))})),t&&"function"==typeof t.close&&(await t.close(),d.info(a.colors.yellow("šŸ›‘ Next.js app closed"))),clearTimeout(o),d.info(a.colors.green("āœ… Graceful shutdown completed")),process.exit(0)}catch(e){clearTimeout(o),d.error(a.colors.red(`āŒ Error during graceful shutdown: ${e}`)),process.exit(1)}};let o=process;if("function"!=typeof process.on){const e=globalThis.process||global.process;e&&"function"==typeof e.on&&(o=e,d.info(a.colors.green("āœ… Using global process object for event handlers")))}if("function"==typeof o.on)try{o.on("SIGINT",(()=>e("SIGINT"))),o.on("SIGTERM",(()=>e("SIGTERM"))),o.on("uncaughtException",(o=>{d.error(a.colors.red(`āŒ Uncaught Exception: ${o}`)),e("uncaughtException")})),o.on("unhandledRejection",((o,t)=>{d.error(a.colors.red(`āŒ Unhandled Rejection at: ${t}, reason: ${o}`)),e("unhandledRejection")})),d.info(a.colors.green("āœ… Process event handlers registered successfully"))}catch(e){d.warn(a.colors.yellow(`āš ļø Failed to register process event handlers: ${e}`))}else d.warn(a.colors.yellow("āš ļø process.on is not available, graceful shutdown handlers will not be registered")),d.info(a.colors.blue("šŸ’” This might be due to bundling or environment constraints"))})),c=!1}catch(e){c=!1,d.error(a.colors.red(`āŒ Failed to start Next.js server: ${e?.message}. Stack: ${e?.stack}`)),e instanceof Error&&e.message.includes("Next.js is required")&&(d.error(a.colors.red("āŒ Next.js Peer Dependency Error:")),d.error(a.colors.red(e.message)),d.error(a.colors.yellow("\nšŸ’” To fix this issue:")),d.error(a.colors.blue(" 1. Install Next.js in your project:")),d.error(a.colors.white(" npm install next@^16")),d.error(a.colors.blue(" 2. Or use yarn:")),d.error(a.colors.white(" yarn add next@^16")),d.error(a.colors.blue(" 3. Or use pnpm:")),d.error(a.colors.white(" pnpm add next@^16")),d.error(a.colors.yellow("\nšŸ“– For more information, see:")),d.error(a.colors.blue(" https://nextjs.org/docs/getting-started"))),process.exit(1)}var f}},f=async e=>{d.info(a.colors.yellow(`\nšŸ›‘ Received ${e}, shutting down gracefully...`));try{i&&(D(i),i=null),n&&await new Promise((e=>{n.close((()=>{n=null,e()}))})),t&&"function"==typeof t.close&&(await t.close(),t=null),d.info(a.colors.green("āœ… Graceful shutdown completed")),process.exit(0)}catch(e){d.error(a.colors.red(`āŒ Error during graceful shutdown: ${e}`)),process.exit(1)}};process.on("SIGINT",(()=>f("SIGINT"))),process.on("SIGTERM",(()=>f("SIGTERM"))),process.on("uncaughtException",(e=>{d.error(a.colors.red(`āŒ Uncaught Exception: ${e}`)),f("uncaughtException")})),process.on("unhandledRejection",((e,o)=>{d.error(a.colors.red(`āŒ Unhandled Rejection at: ${o}, reason: ${e}`)),f("unhandledRejection")})),await p()})),A.command("build [root]","build for production").option("--target <target>","[string] transpile target (default: 'modules')").option("--outDir <dir>","[string] output directory (default: dist)").option("--assetsDir <dir>","[string] directory under outDir to place assets in (default: assets)").option("--assetsInlineLimit <number>","[number] static asset base64 inline threshold in bytes (default: 4096)").option("--ssr [entry]","[string] build specified entry for server-side rendering").option("--sourcemap [output]",'[boolean | "inline" | "hidden"] output source maps for build (default: false)').option("--minify [minifier]",'[boolean | "terser" | "esbuild"] enable/disable minification, or specify minifier to use (default: esbuild)').option("--manifest [name]","[boolean | string] emit build manifest json").option("--ssrManifest [name]","[boolean | string] emit ssr manifest json").option("--force","[boolean] force the optimizer to ignore the cache and re-bundle (experimental)").option("--emptyOutDir","[boolean] force empty outDir when it's outside of root").option("-w, --watch","[boolean] rebuilds when modules have changed on disk").option("--changelog [assetsFile]","[boolean | string] generate changelog between assetsFile and current build (default: false)").action((async(e,o)=>{R(o);const t=q(o);try{const n=await r.loadConfigFromFile({mode:o.mode||"production",command:"build"},o.config,e,o.logLevel);let i=await s.getViteConfig();if(n){const{plugins:e,...o}=n.config;i=r.mergeConfig(i,o)}const l=r.mergeConfig(i,{root:e,base:o.base,mode:o.mode,configFile:o.config,logLevel:o.logLevel,clearScreen:o.clearScreen,optimizeDeps:{force:o.force},build:t},!0);if(await r.build(l),t.changelog){const n=e||process.cwd(),i=l.build?.outDir||"dist";let r="";if("string"==typeof t.changelog)r=w.resolve(n,t.changelog);else{const e=w.resolve(n,l.ppDevConfig?.syncBackupsDir||"backups");if(!v.existsSync(e))return void a.createLogger(o.logLevel).warn(a.colors.yellow("backups directory not found, skipping changelog generation"));const t=v.readdirSync(e,{withFileTypes:!0});if(!t.length)return void a.createLogger(o.logLevel).warn(a.colors.yellow("no backups found, skipping changelog generation"));const i=t.filter((e=>e.isFile()&&e.name.endsWith(".zip"))).reduce(((o,t)=>v.statSync(w.resolve(e,o.name)).mtimeMs>v.statSync(w.resolve(e,t.name)).mtimeMs?o:t),t[0]).name;r=w.resolve(e,i)}const s=w.resolve(n,i);let c="dist-zip";l.ppDevConfig&&(!1===l.ppDevConfig.distZip?c=l.build?.outDir||"dist":"object"==typeof l.ppDevConfig.distZip&&"string"==typeof l.ppDevConfig.distZip.outDir&&(c=l.ppDevConfig.distZip.outDir));const d=new E({oldAssetsPath:r,newAssetsPath:s,destinationPath:w.resolve(n,c)});await d.generateChangelog()}}catch(e){a.createLogger(o.logLevel).error(a.colors.red(`error during build:\n${e.stack}`),{error:e}),process.exit(1)}finally{N((e=>a.createLogger(o.logLevel).info(e)))}})),A.command("changelog [oldAssetPath] [newAssetPath]","generate changelog between two assets files/folders").option("--oldAssetsPath <oldAssetsPath>","[string] path to the old assets zip file or folder").option("--newAssetsPath <newAssetsPath>","[string] path to the new assets zip file or folder").option("--destination <destination>","[string] destination folder for the changelog (default: .)").option("--filename <filename>","[string] filename for the changelog (default: CHANGELOG.html)").action((async(e,o,t)=>{R(t);const{oldAssetsPath:n=e,newAssetsPath:i=o,destination:r=".",filename:s="CHANGELOG.html",logLevel:l}=t,c=process.cwd();n&&i||(a.createLogger(l).error(a.colors.red("error during changelog generation: oldAssetPath and newAssetPath are required")),process.exit(1));const d=w.resolve(c,n),p=w.resolve(c,i),f=w.resolve(c,r),h=new E({oldAssetsPath:d,newAssetsPath:p,destinationPath:f,changelogFilename:s});await h.generateChangelog()})),A.command("generate-icon-font [source] [destination]","generate icon font from SVG files").option("--source <source>","[string] path to the source directory with SVG files").option("--destination <destination>","[string] path to the destination directory to save the generated font files").option("--font-name, -n <fontName>","[string] name of the font to generate (default: 'icon-font')").action((async(e,o,t)=>{R(t);const{source:n=e,destination:i=o,fontName:r="icon-font"}=t,s=process.cwd(),l=w.resolve(s,n),c=w.resolve(s,i),d=new j({sourceDir:l,outputDir:c,fontName:r}),p=a.createLogger(t.logLevel);p.info(`Generating icon font from SVG files in ${a.colors.dim(l)}`),await d.generate(),p.info(`Icon font generated and saved to ${a.colors.dim(c)}`)})),A.command("optimize [root]","pre-bundle dependencies").option("--force","[boolean] force the optimizer to ignore the cache and re-bundle").action((async(e,o)=>{R(o);try{const t=await r.loadConfigFromFile({mode:o.mode||"production",command:"build"},o.config,e,o.logLevel);let n=await s.getViteConfig();if(t){const{plugins:e,...o}=t.config;n=r.mergeConfig(n,o)}const i=await r.resolveConfig(r.mergeConfig(n,{root:e,base:o.base,configFile:o.config,logLevel:o.logLevel,mode:o.mode}),"serve");await r.optimizeDeps(i,o.force,!0)}catch(e){a.createLogger(o.logLevel).error(a.colors.red(`error when optimizing deps:\n${e.stack}`),{error:e}),process.exit(1)}})),A.command("preview [root]","locally preview production build").option("--host [host]","[string] specify hostname").option("--port <port>","[number] specify port").option("--strictPort","[boolean] exit if specified port is already in use").option("--https","[boolean] use TLS + HTTP/2").option("--open [path]","[boolean | string] open browser on startup").option("--outDir <dir>","[string] output directory (default: dist)").action((async(e,o)=>{R(o);try{const t=await r.loadConfigFromFile({mode:o.mode||"production",command:"build"},o.config,e,o.logLevel);let n=await s.getViteConfig();if(t){const{plugins:e,...o}=t.config;n=r.mergeConfig(n,o)}(await r.preview(r.mergeConfig(n,{root:e,base:o.base,configFile:o.config,logLevel:o.logLevel,mode:o.mode,build:{outDir:o.outDir},preview:{port:o.port,strictPort:o.strictPort,host:o.host,https:o.https,open:o.open}}))).printUrls()}catch(e){a.createLogger(o.logLevel).error(a.colors.red(`error when starting preview server:\n${e.stack}`),{error:e}),process.exit(1)}finally{N((e=>a.createLogger(o.logLevel).info(e)))}})),A.help(),A.version(s.VERSION),A.parse(),exports.stopProfiler=N;
1
+ "use strict";const e=require("path"),o=require("fs"),t=require("node:perf_hooks"),n=require("chokidar"),i=require("cac"),r=require("vite"),s=require("./index-DgQyb8fr.js"),a=require("./plugin-DzerGtSN.js"),l=require("url"),c=require("dir-compare"),d=require("diff-match-patch"),p=require("isbinaryfile"),f=require("os"),h=require("crypto"),g=require("extract-zip"),u=require("svgtofont");require("ejs"),require("http-proxy-middleware"),require("picocolors"),require("axios"),require("jsdom"),require("https"),require("memory-cache"),require("process"),require("child_process"),require("console"),require("zlib"),require("express");const m=e=>e&&"object"==typeof e&&"default"in e?e.default:e;function b(e){if(e&&"object"==typeof e&&"default"in e)return e;const o=Object.create(null);if(e)for(const t in e)o[t]=e[t];return o.default=e,Object.freeze(o)}const w=b(e),v=b(o),y=b(c),x=m(d),P=b(f),T=b(h),L=m(g),$=m(u);function S(e){return null!=e&&!1!==e}const F=[{key:"r",description:"restart the server",async action(e){await e.restart()}},{key:"u",description:"show server url",action(e){e.config.logger.info(""),e.printUrls()}},{key:"o",description:"open in browser",action(e){e.openBrowser()}},{key:"c",description:"clear console",action(e){e.config.logger.clearScreen("error")}},{key:"q",description:"quit",async action(e){await e.close().finally((()=>process.exit()))}},{key:"C",description:"clear proxy cache",action(e){e.cache&&(e.cache.clear(),e.config.logger.info("Proxy cache cleared"))}}];const C=/(.+)(-[a-f0-9]{6,20})(\.[a-z0-9]+)$/i;class E{oldAssetsPath;newAssetsPath;destinationPath;changelogFilename;changelogTemplate='<!DOCTYPE html>\n <html lang="en">\n <head>\n <meta charset="UTF-8" />\n <title>Changelog Diff</title>\n <style>\n tr,\n td {\n padding: 0;\n }\n .diff-file {\n margin-top: 20px;\n border: 1px solid #e1e4e8;\n border-radius: 6px;\n }\n .diff-file-title {\n padding: 10px 20px;\n background-color: #f6f8fa;\n border-bottom: 1px solid #e1e4e8;\n border-radius: 6px 6px 0 0;\n font-weight: bold;\n }\n .diff-file-title .renamed {\n font-weight: normal;\n }\n .diff-file-title .renamed .from {\n color: #cb2431;\n }\n .diff-file-title .renamed .to {\n color: #22863a;\n }\n .diff-file-title .added {\n color: #22863a;\n }\n .diff-file-title .deleted {\n color: #cb2431;\n }\n .diff-file-content {\n }\n .diff-table {\n tab-size: 8;\n width: 100%;\n border-collapse: separate;\n border-spacing: 0;\n }\n .blob-num {\n position: relative;\n color: #1f2328;\n width: 1%;\n min-width: 50px;\n padding: 0 10px;\n font-family: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;\n font-size: 12px;\n line-height: 20px;\n text-align: right;\n white-space: nowrap;\n vertical-align: top;\n cursor: pointer;\n -webkit-user-select: none;\n user-select: none;\n }\n .blob-num.addition {\n background-color: #ccffd8;\n border-color: #1f883e;\n }\n .blob-num.deletion {\n background-color: #ffd7d5;\n border-color: #cf222e;\n }\n .blob-num::before {\n content: attr(data-line-number);\n }\n .blob-code {\n position: relative;\n padding: 0 10px 0 22px;\n vertical-align: top;\n color: #1f2329;\n }\n .blob-code.code-addition {\n background-color: #e6ffec;\n }\n .blob-code.code-deletion {\n background-color: #ffebe9;\n }\n .blob-code.skip,\n .blob-code.message {\n text-align: center;\n }\n .blob-code.skip .blob-code-inner,\n .blob-code.message .blob-code-inner {\n font-weight: bold;\n color: #6a737d;\n padding: 10px 0;\n }\n .blob-code-inner {\n display: table-cell;\n overflow: visible;\n font-family: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;\n font-size: 12px;\n word-wrap: anywhere;\n white-space: pre-wrap;\n }\n .blob-code-inner::before {\n content: attr(data-code-prefix);\n position: absolute;\n top: 1px;\n left: 8px;\n padding-right: 8px;\n }\n </style>\n </head>\n <body>\n <h1>Changelog Diff</h1>\n\n %FILES%\n </body>\n </html>';diffFileTemplateHandler;diffLineTemplateHandler;contextLines=3;logger;constructor(e){const{oldAssetsPath:o,newAssetsPath:t,destinationPath:n,changelogTemplate:i,diffFileTemplateHandler:r,diffLineTemplateHandler:s,changelogFilename:l,contextLines:c}=e;if(this.logger=a.createLogger(),!o||!t||!n)throw new Error("Previous assets path, current assets path and destination path are required");if(o===t)throw new Error("Previous and current assets paths must be different");if(!this.isExists(o))throw new Error(`Previous assets path ${o} does not exist`);if(!this.isExists(t))throw new Error(`Current assets path ${t} does not exist`);if(this.isZipFile(o)){const e=w.resolve(P.tmpdir(),T.createHash("md5").update(o).digest("hex"));this.oldAssetsPath=this.unzipFile(o,e).then((()=>this.normalizeAssetFolderPath(e))).then((e=>{if(this.isEmptyFolder(e))throw new Error(`Previous assets path ${e} is empty`);return e}))}else{if(!this.isFolder(o))throw new Error(`Invalid previous assets path ${o}. It must be a folder or a zip file`);{const e=this.normalizeAssetFolderPath(o);if(this.isEmptyFolder(e))throw new Error(`Previous assets path ${e} is empty`);this.oldAssetsPath=Promise.resolve(e)}}if(this.isZipFile(t)){const e=w.resolve(P.tmpdir(),T.createHash("md5").update(t).digest("hex"));this.newAssetsPath=this.unzipFile(t,e).then((()=>this.normalizeAssetFolderPath(e))).then((e=>{if(this.isEmptyFolder(e))throw new Error(`Current assets path ${e} is empty`);return e}))}else{if(!this.isFolder(t))throw new Error(`Invalid current assets path ${t}. It must be a folder or a zip file`);{const e=this.normalizeAssetFolderPath(t);if(this.isEmptyFolder(e))throw new Error(`Current assets path ${t} is empty`);this.newAssetsPath=Promise.resolve(e)}}this.destinationPath=n,this.mkdirpSync(this.destinationPath),this.changelogFilename=l||"CHANGELOG.html",i&&(this.templateIsValid(i)?this.changelogTemplate=i:this.logger.warn(a.colors.yellow("Invalid changelog template, using default"))),"function"==typeof r&&(this.diffFileTemplateHandler=r),"function"==typeof s&&(this.diffLineTemplateHandler=s),c&&(this.contextLines=c)}templateIsValid(e){return e.includes("%FILES%")}isExists(e){return v.existsSync(e)}isZipFile(e){return e.endsWith(".zip")}isFolder(e){return v.lstatSync(e).isDirectory()}isEmptyFolder(e){return 0===v.readdirSync(e,{withFileTypes:!0}).length}mkdirpSync(e){v.existsSync(e)||v.mkdirSync(e,{recursive:!0})}async unzipFile(e,o){return v.rmSync(o,{force:!0,recursive:!0}),L(e,{dir:o})}normalizeAssetFolderPath(e){const o=v.readdirSync(e);return 1===o.length&&v.lstatSync(w.join(e,o[0])).isDirectory()?this.normalizeAssetFolderPath(w.join(e,o[0])):e}pathToPosix(e){return e.replace(/\\/g,"/")}diffTableTemplate(e){return`<table class="diff-table">\n <tbody>\n ${e}\n </tbody>\n </table>`}getDiffTableHTML(e){const o=e.filter(((e,o,t)=>0!==e.lineType||(o>=0&&o<this.contextLines||o>t.length-(this.contextLines+1)&&o<=t.length-1||t.slice(o-this.contextLines,o+this.contextLines+1).some((e=>0!==e.lineType))))).map(((e,o,t)=>{if(o>0){const n=t[o-1];if(e.lineNumber-n.lineNumber>1)return[{lineNumber:-1,lineContent:"",lineType:0},e]}return[e]})).flat().map((e=>this.diffLineHTML(e))).join("");return this.diffTableTemplate(o)}diffLineMessageTemplate(e){return`<tr>\n <td class="blob-num"></td>\n <td class="blob-num"></td>\n <td class="blob-code message">\n <span class="blob-code-inner">${e}</span>\n </td>\n </tr>`}diffLineSkipTemplate(){return'<tr>\n <td class="blob-num"></td>\n <td class="blob-num"></td>\n <td class="blob-code skip">\n <span class="blob-code-inner">Skip</span>\n </td>\n </tr>'}diffLineTemplate(e){const{lineNumber:o,lineContent:t,lineType:n}=e,i=1===n?"addition":-1===n?"deletion":"";return`<tr>\n <td\n class="blob-num ${i}${"addition"===i?" empty":""}"\n ${"addition"!==i?` data-line-number="${o}"`:""}\n ></td>\n <td\n class="blob-num ${i}${"deletion"===i?" empty":""}"\n ${"deletion"!==i?` data-line-number="${o}"`:""}\n ></td>\n <td class="blob-code ${1===n?"code-addition":-1===n?"code-deletion":""}">\n <span class="blob-code-inner" data-code-prefix="${1===n?"+":-1===n?"-":" "}">${r=t??"",r.replace(/[\u00A0-\u9999<>&]/g,(e=>"&#"+e.charCodeAt(0)+";"))}</span>\n </td>\n </tr>`;var r}diffLineHTML(e){if(this.diffLineTemplateHandler)return this.diffLineTemplateHandler(e);const{lineNumber:o}=e;return-1===o?this.diffLineSkipTemplate():this.diffLineTemplate(e)}diffFileTemplate(e,o){return this.diffFileTemplateHandler?this.diffFileTemplateHandler(e,o):`<div class="diff-file">\n <div class="diff-file-title">${e}</div>\n <div class="diff-file-content">${o}</div>\n </div>`}async generateAssetFoldersDiff(){this.logger.info(a.colors.blue(`Comparing asset folders ${await this.oldAssetsPath} and ${await this.newAssetsPath}`));const e=await y.compare(await this.oldAssetsPath,await this.newAssetsPath,{compareContent:!0,skipSymlinks:!0,compareSize:!0,compareDate:!1,compareNameHandler:(e,o)=>(C.test(e)&&(e=e.replace(C,"$1$3")),C.test(o)&&(o=o.replace(C,"$1$3")),0===e.localeCompare(o)?0:e.localeCompare(o)>0?1:-1)});return e.diffSet?.filter((e=>"equal"!==e.state||e.name1!==e.name2))||[]}async generateAssetFilesDiff(e,o){const t=new x,n=t.diff_linesToChars_(e,o),i=t.diff_main(n.chars1,n.chars2,!1);t.diff_charsToLines_(i,n.lineArray);let r=0;return i.map((e=>{const[o,t]=e,n=t.endsWith("\n")?t.split("\n").length-1:t.split("\n").length,i=t.split("\n").map(((e,t)=>({lineContent:e,lineNumber:r+t+1,lineType:o}))).slice(0,n);return-1!==o&&(r+=n),i})).flat()}async generateFilesDiff(e){if("equal"===e.state){const o=this.pathToPosix(w.join(".",e.relativePath,e.name1??"")),t=this.pathToPosix(w.join(".",e.relativePath,e.name2??""));return this.diffFileTemplate(`<span class="renamed"\n >Renamed <span class="from">${o}</span> -> <span class="to">${t}</span></span\n >`,this.diffTableTemplate(this.diffLineMessageTemplate("No changes")))}const o=e.path1&&e.name1?w.join(e.path1,e.name1):null,t=e.path2&&e.name2?w.join(e.path2,e.name2):null,n=this.pathToPosix(w.join(".",e.relativePath,(e.name1||e.name2)??""));if("left"===e.state&&o)return this.diffFileTemplate(`<span class="removed">Removed ${n}</span>`,this.diffTableTemplate(this.diffLineMessageTemplate("File removed")));if("right"===e.state&&t)return this.diffFileTemplate(`<span class="added">Added ${n}</span>`,this.diffTableTemplate(this.diffLineMessageTemplate("File added")));if("distinct"===e.state&&o&&t){const i=this.pathToPosix(w.join(".",e.relativePath,e.name1??"")),r=this.pathToPosix(w.join(".",e.relativePath,e.name2??"")),s=e.name1!==e.name2?`<span class="renamed"\n >Renamed <span class="from">${i}</span> -> <span class="to">${r}</span></span\n >`:n;return this.diffFileTemplate(s,await p.isBinaryFile(o)||await p.isBinaryFile(t)?this.diffTableTemplate(this.diffLineMessageTemplate("Binary file")):this.getDiffTableHTML(await this.generateAssetFilesDiff(v.readFileSync(o,"utf-8"),v.readFileSync(t,"utf-8"))))}return""}async generateChangelog(){this.logger.info(a.colors.green("Generating changelog"));const e=await this.generateAssetFoldersDiff(),o=(await Promise.all(e.map((e=>this.generateFilesDiff(e))))).join("");this.logger.info(a.colors.green("Writing changelog file"));const t=this.changelogTemplate.split("%FILES%");t.splice(1,0,o);const n=t.join("");v.writeFileSync(w.join(this.destinationPath,this.changelogFilename),n),this.logger.info(a.colors.green(`Changelog file written to ${w.join(this.destinationPath,this.changelogFilename)}`))}}class j{sourceDir;outputDir;fontName;constructor(e){this.sourceDir=e.sourceDir,this.outputDir=e.outputDir,this.fontName=e.fontName}async generate(){await $({src:this.sourceDir,dist:this.outputDir,fontName:this.fontName,css:!0,typescript:!0,startUnicode:59905,svgicons2svgfont:{fontHeight:1024}})}}const A=i.cac("pp-dev");function I(e,o,t){const i=[...s.PP_DEV_CONFIG_NAMES,...s.PP_WATCH_CONFIG_NAMES,"package.json","next.config.js","next.config.mjs","next.config.ts","vite.config.js","vite.config.mjs","vite.config.ts",".env",".env.local",".env.development",".env.development.local"].map((o=>w.join(e,o))),r=n.watch(i,{ignored:e=>{const o=w.basename(e);return/(^|[\/\\])\../.test(e)&&!o.startsWith(".env")&&!o.startsWith(".pp-dev")&&!o.startsWith(".pp-watch")},persistent:!0,ignoreInitial:!0,followSymlinks:!1});let l=null;return r.on("change",(n=>{t(a.colors.blue(`šŸ”§ Config file changed: ${w.relative(e,n)}`)),l&&clearTimeout(l),l=setTimeout((async()=>{try{t(a.colors.yellow("šŸ”„ Restarting dev server due to config change...")),await o()}catch(e){t(a.colors.red(`āŒ Failed to restart dev server: ${e?.message}. Stack: ${e?.stack}`))}}),500)})),r.on("error",(e=>{t(a.colors.red(`āŒ Config watcher error: ${e}`))})),{watcher:r,restartCallback:o,logger:t}}function D(e){e.watcher&&e.watcher.close()}let k=global.__pp_dev_profile_session,_=0;const N=e=>{if(k)return new Promise(((o,t)=>{k.post("Profiler.stop",((n,{profile:i})=>{if(n)t(n);else{const t=w.resolve(`./pp-dev-profile-${_++}.cpuprofile`);v.writeFileSync(t,JSON.stringify(i)),e(a.colors.yellow(`CPU profile written to ${a.colors.white(a.colors.dim(t))}`)),k=void 0,o()}}))}))},R=e=>{for(const[o,t]of Object.entries(e))Array.isArray(t)&&(e[o]=t[t.length-1])};function q(e){const o={...e};return delete o["--"],delete o.c,delete o.config,delete o.base,delete o.l,delete o.logLevel,delete o.clearScreen,delete o.d,delete o.debug,delete o.f,delete o.filter,delete o.m,delete o.mode,o}A.option("-c, --config <file>","[string] use specified config file").option("--base <path>","[string] public base path (default: /)").option("-l, --logLevel <level>","[string] info | warn | error | silent").option("--clearScreen","[boolean] allow/disable clear screen when logging").option("-d, --debug [feat]","[string | boolean] show debug logs").option("-f, --filter <filter>","[string] filter debug logs").option("-m, --mode <mode>","[string] set env mode"),A.command("[root]","start dev server").alias("serve").alias("dev").option("--host [host]","[string] specify hostname").option("--port <port>","[number] specify port").option("--https","[boolean] use TLS + HTTP/2").option("--open [path]","[boolean | string] open browser on startup").option("--cors","[boolean] enable CORS").option("--strictPort","[boolean] exit if specified port is already in use").option("--force","[boolean] force the optimizer to ignore the cache and re-bundle").action((async(e,o)=>{R(o);let n=null,i=null,l=!1;const c=e?w.resolve(process.cwd(),e):process.cwd(),d=a.createLogger(o.logLevel),p=async()=>{if(!l){l=!0;try{n&&(d.info(a.colors.yellow("šŸ›‘ Stopping existing dev server...")),await n.close(),n=null);const{clearConfigCache:f}=await Promise.resolve().then((()=>require("./index-DgQyb8fr.js"))).then((e=>e.config));f();const{createServer:h}=await import("vite"),g=await r.loadConfigFromFile({mode:o.mode||"development",command:"serve"},o.config,e,o.logLevel);let u=await s.getViteConfig();const m=r.loadEnv(o.mode||"development",e??process.cwd(),"");if(m&&Object.keys(m).forEach((e=>{e.startsWith("MI_")&&(process.env[e]=m[e])})),g){const{plugins:e,...o}=g.config;u=r.mergeConfig(u,o)}if(n=await h(r.mergeConfig(u,{root:e,base:o.base,mode:o.mode,configFile:o.config,logLevel:o.logLevel,clearScreen:o.clearScreen,optimizeDeps:{force:o.force},server:q(o),customLogger:d},!0)),!n.config.base||"/"===n.config.base)throw new Error('base cannot be equal to "/" or empty string');if(!n.httpServer)throw new Error("HTTP server not available");await n.listen();const b=global.__pp_dev_start_time??!1,w=b?a.colors.dim(`ready in ${a.colors.reset(a.colors.bold(Math.ceil(t.performance.now()-b)))} ms`):"";d.info(`\n ${a.colors.green(`${a.colors.bold("PP-DEV")} v${s.VERSION}`)} ${w}\n`),n.printUrls(),function(e,o){if(!e.httpServer||!process.stdin.isTTY||process.env.CI)return;e._shortcutsOptions=o;const t=a.createLogger();o.print&&t.info(a.colors.dim(a.colors.green(" āžœ"))+a.colors.dim(" press ")+a.colors.bold("h")+a.colors.dim(" to show help"));const n=(o.customShortcuts??[]).filter(S).concat(F);let i=!1;const r=async o=>{if(""===o||""===o)return void await e.close().finally((()=>process.exit(1)));if(i)return;"h"===o&&t.info(["",a.colors.bold(" Shortcuts"),...n.map((e=>a.colors.dim(" press ")+a.colors.bold(e.key)+a.colors.dim(` to ${e.description}`)))].join("\n"));const r=n.find((e=>e.key===o));r&&(i=!0,await r.action(e),i=!1)};process.stdin.setRawMode(!0),process.stdin.on("data",r).setEncoding("utf8").resume(),e.httpServer.on("close",(()=>{process.stdin.off("data",r).pause()}))}(n,{print:!0,customShortcuts:[...k?[{key:"p",description:"start/stop the profiler",async action(e){if(k)await N(d.info);else{const e=await import("node:inspector").then((e=>e.default));await new Promise((o=>{k=new e.Session,k.connect(),k.post("Profiler.enable",(()=>{k?.post("Profiler.start",(()=>{d.info("Profiler started"),o()}))}))}))}}}]:[],{key:"l",description:"proxy re-login",action(e){e.ws.send({type:"custom",event:"redirect",data:{url:`/auth/index/logout?proxyRedirect=${encodeURIComponent("/")}`}})}}]}),i||(i=I(c,p,d.info),d.info(a.colors.blue("šŸ”§ Config file watcher started"))),l=!1}catch(e){l=!1,d.error(a.colors.red(`error when starting dev server:\n${e.stack}`),{error:e}),N(d.info),process.exit(1)}}},f=async e=>{d.info(a.colors.yellow(`\nšŸ›‘ Received ${e}, shutting down gracefully...`));try{i&&(D(i),i=null),n&&(await n.close(),n=null),N(d.info),d.info(a.colors.green("āœ… Graceful shutdown completed")),process.exit(0)}catch(e){d.error(a.colors.red(`āŒ Error during graceful shutdown: ${e}`)),process.exit(1)}};process.on("SIGINT",(()=>f("SIGINT"))),process.on("SIGTERM",(()=>f("SIGTERM"))),process.on("uncaughtException",(e=>{d.error(a.colors.red(`āŒ Uncaught Exception: ${e}`)),f("uncaughtException")})),process.on("unhandledRejection",((e,o)=>{d.error(a.colors.red(`āŒ Unhandled Rejection at: ${o}, reason: ${e}`)),f("unhandledRejection")})),await p()})),A.command("next [root]","start Next.js development server with pp-dev integration").alias("next-serve").alias("next-dev").option("--host [host]","[string] specify hostname").option("--port <port>","[number] specify port",{default:3e3}).option("--https","[boolean] use TLS + HTTP/2").option("--open [path]","[boolean | string] open browser on startup").option("--cors","[boolean] enable CORS").option("--strictPort","[boolean] exit if specified port is already in use").option("--force","[boolean] force the optimizer to ignore the cache and re-bundle").action((async(e,o)=>{R(o);let t=null,n=null,i=null,c=!1;const d=a.createLogger(),p=async()=>{if(!c){c=!0;try{const{next:h,constants:g}=await s.safeNextImport(),{PHASE_DEVELOPMENT_SERVER:u}=g;n&&(d.info(a.colors.yellow("šŸ›‘ Stopping existing Next.js server...")),await new Promise((e=>{n.close((()=>{n=null,e()}))}))),t&&"function"==typeof t.close&&(await t.close(),t=null);const{clearConfigCache:m}=await Promise.resolve().then((()=>require("./index-DgQyb8fr.js"))).then((e=>e.config));m();const{join:b,basename:w}=await import("path"),{createServer:v}=await import("http"),y=await import("next/dist/server/config.js"),x=y.default.default||y["module.exports"].default||y.default,P=q(o),T=r.loadEnv(o.mode||"development",e??process.cwd(),"");T&&Object.keys(T).forEach((e=>{e.startsWith("MI_")&&(process.env[e]=T[e])}));const L=e?b(process.cwd(),e):process.cwd();d.info(L);const $=await x(u,L);let S=$?.ppDev||{};if(0===Object.keys(S).length)try{const{getConfig:e}=await Promise.resolve().then((()=>require("./index-DgQyb8fr.js"))).then((e=>e.config)),o=await e();Object.keys(o).length>0?(S=o,d.info(a.colors.blue("šŸ”§ Loaded pp-dev config from standalone config file"))):d.info(a.colors.yellow("āš ļø No pp-dev config found in Next.js config or standalone file, using defaults"))}catch(e){d.info(a.colors.yellow("āš ļø Failed to load standalone pp-dev config, using defaults")),console.debug("Error loading standalone config:",e)}else d.info(a.colors.blue("šŸ”§ Loaded pp-dev config from Next.js config"));const{backendBaseURL:F=process.env.MI_BACKEND_URL||"http://localhost:8080",appId:C,portalPageId:E,templateLess:j=!0,v7Features:A=!0,disableSSLValidation:k=!1,enableProxyCache:_=!0,proxyCacheTTL:N=6e5,personalAccessToken:R=process.env.MI_ACCESS_TOKEN,miHudLess:M=!1}=S,z=C??E??(process.env.MI_APP_ID&&parseInt(process.env.MI_APP_ID,10)||void 0)??(process.env.MI_PORTAL_PAGE_ID&&parseInt(process.env.MI_PORTAL_PAGE_ID,10)||void 0)??1;let H=null;if(!H)try{const{getPkg:e}=await Promise.resolve().then((()=>require("./index-DgQyb8fr.js"))).then((e=>e.config));H=e().name}catch(e){H=w(L)}const G="/p",O="/pl",U=$?.basePath;let W="";if(U?W=U:(W=j?G:A?O:"/pt",W+=`/${H}`),t=h({dev:!0,hostname:P.host||"localhost",port:P.port,dir:L,conf:{...$,basePath:W,assetPrefix:`${j?G:"/pt"}/${H}`}}),await t.prepare(),W.endsWith("/")||(W+="/"),"/"===W)throw new Error('basePath cannot be equal to "/" or equal to empty string');d.info(a.colors.green("āœ… Next.js app prepared successfully")),d.info(a.colors.blue(`šŸ”§ pp-dev plugin configured for template: ${H}`)),d.info(a.colors.blue(`šŸ”§ Base path configured: ${W}`)),F&&(d.info(a.colors.blue(`🌐 Backend URL: ${F}`)),d.info(a.colors.blue(`šŸ†” Custom App ID: ${z}`)));const V=t.getRequestHandler(),B="number"==typeof P.port?P.port:3e3,Z="string"==typeof P.host?P.host||"0.0.0.0":"localhost",K=new Set;n=v((async(e,o)=>{try{const t=e.url||"/",n=t.split("?")[0];let i=l.parse(t,!0);if(J.length>0){if(n.startsWith("/_next/")||"/favicon.ico"===n||n.startsWith("/__nextjs_")){if(Q.length>0){let c=0;const d=()=>{if(c>=Q.length)return void r();const t=Q[c];c++,t(e,o,d)};return void d()}return void r()}let s=0;const a=()=>{if(s>=J.length)return void r();const t=J[s];s++,t(e,o,a)};return void a()}async function r(){if(n.startsWith(W))i=l.parse(t,!0);else{if(n===W.replace(/\/$/,"")){const e=t.replace(n,W);return o.writeHead(302,{Location:e}),void o.end()}if(n.startsWith("/_next/")||"/favicon.ico"===n||n.startsWith("/__nextjs_"));else if("/"===n)return o.writeHead(302,{Location:W}),void o.end()}await V(e,o,i)}r()}catch(p){console.error("[DEBUG] Error:",p),o.statusCode=500,o.end("Internal Server Error")}}));let Y=null,J=[],Q=[];if(F){const e=new URL(F).host,o={headers:{host:e,referer:F,origin:F.replace(/^(https?:\/\/)([^/]+)(\/.*)?$/i,"$1$2")},portalPageId:z,appId:z,templateLess:j,disableSSLValidation:k,v7Features:A,personalAccessToken:R??process.env.MI_ACCESS_TOKEN};Y=new a.MiAPI(F,o);const t=a.initPPRedirect(W,H),n=(e,o,n)=>{t(e,o,n)};if(Q.push(n),J.push(n),_){let e=+N;(!e||Number.isNaN(e)||e<0)&&(e=6e5);const o={devServer:{middlewares:{use:e=>e},config:{logger:console}},ttl:e},t=a.initProxyCache(o),n=(e,o,n)=>{t(e,o,n)};J.push(n),d.info(a.colors.blue(`šŸ”§ Proxy cache middleware added with TTL: ${e}ms`))}const i=W.endsWith("/")?W.substring(0,W.length-1):W,r={middlewares:{use:e=>e},config:{logger:console}},s=a.initProxy({devServer:r,baseURL:F,proxyIgnore:["/@vite","/@metricinsights","/@",i,"/_next","/favicon.ico","/__nextjs_","/installHook.js.map"],disableSSLValidation:k,miAPI:Y}),l=(e,o,t)=>{s(e,o,t)};J.push(l);const c=new RegExp(`^((${f=W,f.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")})|/)$`),p=a.initLoadPPData(c,Y,{base:W,v7Features:A}),h=(e,o,t)=>{p(e,o,t)};J.push(h);const g=a.internalServer,u=(e,o,t)=>{if(e.url?.startsWith("/@api/")){g(e,o,(()=>{}))}else t()};Q.push(u),J.push(u);const m=a.initRewriteResponse((e=>{const o=e.split("?")[0];return o.startsWith(W)&&!o.includes("/_next/")}),((o,t)=>Buffer.from(a.urlReplacer(e,t.headers.host??"",Y.buildPage(o,M))))),b=(e,o,t)=>{m(e,o,t)};J.push(b),d.info(a.colors.blue(`šŸ”§ ${J.length} pp-dev middlewares initialized`)),d.info(a.colors.blue(`šŸ”§ ${Q.length} essential middlewares for internal routes`)),d.info(a.colors.blue(`šŸ”§ MiAPI initialized for backend: ${F}`)),d.info(a.colors.blue(`šŸ”§ Custom App ID: ${z}`))}n.listen(B,Z,(()=>{d.info(a.colors.green(`āœ… pp-dev Next.js server running at http://${Z}:${B}`)),d.info(a.colors.blue(`šŸ“± Next.js app accessible at http://${Z}:${B}${W}`)),d.info(a.colors.blue("šŸ”§ Base path handling active")),i||(i=I(L,p,d.info),d.info(a.colors.blue("šŸ”§ Config file watcher started"))),n.on("connection",(e=>{K.add(e),e.on("close",(()=>K.delete(e)))}));const e=async e=>{d.info(a.colors.yellow(`\nšŸ›‘ Received ${e}, shutting down gracefully...`));const o=setTimeout((()=>{d.info(a.colors.yellow("ā° Shutdown timeout reached, forcing exit")),process.exit(0)}),5e3);try{i&&(D(i),i=null);for(const e of Array.from(K))e.destroy();K.clear(),await new Promise((e=>{n.close((()=>{d.info(a.colors.yellow("šŸ›‘ HTTP server closed")),e()}))})),t&&"function"==typeof t.close&&(await t.close(),d.info(a.colors.yellow("šŸ›‘ Next.js app closed"))),clearTimeout(o),d.info(a.colors.green("āœ… Graceful shutdown completed")),process.exit(0)}catch(e){clearTimeout(o),d.error(a.colors.red(`āŒ Error during graceful shutdown: ${e}`)),process.exit(1)}};let o=process;if("function"!=typeof process.on){const e=globalThis.process||global.process;e&&"function"==typeof e.on&&(o=e,d.info(a.colors.green("āœ… Using global process object for event handlers")))}if("function"==typeof o.on)try{o.on("SIGINT",(()=>e("SIGINT"))),o.on("SIGTERM",(()=>e("SIGTERM"))),o.on("uncaughtException",(o=>{d.error(a.colors.red(`āŒ Uncaught Exception: ${o}`)),e("uncaughtException")})),o.on("unhandledRejection",((o,t)=>{d.error(a.colors.red(`āŒ Unhandled Rejection at: ${t}, reason: ${o}`)),e("unhandledRejection")})),d.info(a.colors.green("āœ… Process event handlers registered successfully"))}catch(e){d.warn(a.colors.yellow(`āš ļø Failed to register process event handlers: ${e}`))}else d.warn(a.colors.yellow("āš ļø process.on is not available, graceful shutdown handlers will not be registered")),d.info(a.colors.blue("šŸ’” This might be due to bundling or environment constraints"))})),c=!1}catch(e){c=!1,d.error(a.colors.red(`āŒ Failed to start Next.js server: ${e?.message}. Stack: ${e?.stack}`)),e instanceof Error&&e.message.includes("Next.js is required")&&(d.error(a.colors.red("āŒ Next.js Peer Dependency Error:")),d.error(a.colors.red(e.message)),d.error(a.colors.yellow("\nšŸ’” To fix this issue:")),d.error(a.colors.blue(" 1. Install Next.js in your project:")),d.error(a.colors.white(" npm install next@^16")),d.error(a.colors.blue(" 2. Or use yarn:")),d.error(a.colors.white(" yarn add next@^16")),d.error(a.colors.blue(" 3. Or use pnpm:")),d.error(a.colors.white(" pnpm add next@^16")),d.error(a.colors.yellow("\nšŸ“– For more information, see:")),d.error(a.colors.blue(" https://nextjs.org/docs/getting-started"))),process.exit(1)}var f}},f=async e=>{d.info(a.colors.yellow(`\nšŸ›‘ Received ${e}, shutting down gracefully...`));try{i&&(D(i),i=null),n&&await new Promise((e=>{n.close((()=>{n=null,e()}))})),t&&"function"==typeof t.close&&(await t.close(),t=null),d.info(a.colors.green("āœ… Graceful shutdown completed")),process.exit(0)}catch(e){d.error(a.colors.red(`āŒ Error during graceful shutdown: ${e}`)),process.exit(1)}};process.on("SIGINT",(()=>f("SIGINT"))),process.on("SIGTERM",(()=>f("SIGTERM"))),process.on("uncaughtException",(e=>{d.error(a.colors.red(`āŒ Uncaught Exception: ${e}`)),f("uncaughtException")})),process.on("unhandledRejection",((e,o)=>{d.error(a.colors.red(`āŒ Unhandled Rejection at: ${o}, reason: ${e}`)),f("unhandledRejection")})),await p()})),A.command("build [root]","build for production").option("--target <target>","[string] transpile target (default: 'modules')").option("--outDir <dir>","[string] output directory (default: dist)").option("--assetsDir <dir>","[string] directory under outDir to place assets in (default: assets)").option("--assetsInlineLimit <number>","[number] static asset base64 inline threshold in bytes (default: 4096)").option("--ssr [entry]","[string] build specified entry for server-side rendering").option("--sourcemap [output]",'[boolean | "inline" | "hidden"] output source maps for build (default: false)').option("--minify [minifier]",'[boolean | "terser" | "esbuild"] enable/disable minification, or specify minifier to use (default: esbuild)').option("--manifest [name]","[boolean | string] emit build manifest json").option("--ssrManifest [name]","[boolean | string] emit ssr manifest json").option("--force","[boolean] force the optimizer to ignore the cache and re-bundle (experimental)").option("--emptyOutDir","[boolean] force empty outDir when it's outside of root").option("-w, --watch","[boolean] rebuilds when modules have changed on disk").option("--changelog [assetsFile]","[boolean | string] generate changelog between assetsFile and current build (default: false)").action((async(e,o)=>{R(o);const t=q(o);try{const n=await r.loadConfigFromFile({mode:o.mode||"production",command:"build"},o.config,e,o.logLevel);let i=await s.getViteConfig();if(n){const{plugins:e,...o}=n.config;i=r.mergeConfig(i,o)}const l=r.mergeConfig(i,{root:e,base:o.base,mode:o.mode,configFile:o.config,logLevel:o.logLevel,clearScreen:o.clearScreen,optimizeDeps:{force:o.force},build:t},!0);if(await r.build(l),t.changelog){const n=e||process.cwd(),i=l.build?.outDir||"dist";let r="";if("string"==typeof t.changelog)r=w.resolve(n,t.changelog);else{const e=w.resolve(n,l.ppDevConfig?.syncBackupsDir||"backups");if(!v.existsSync(e))return void a.createLogger(o.logLevel).warn(a.colors.yellow("backups directory not found, skipping changelog generation"));const t=v.readdirSync(e,{withFileTypes:!0});if(!t.length)return void a.createLogger(o.logLevel).warn(a.colors.yellow("no backups found, skipping changelog generation"));const i=t.filter((e=>e.isFile()&&e.name.endsWith(".zip"))).reduce(((o,t)=>v.statSync(w.resolve(e,o.name)).mtimeMs>v.statSync(w.resolve(e,t.name)).mtimeMs?o:t),t[0]).name;r=w.resolve(e,i)}const s=w.resolve(n,i);let c="dist-zip";l.ppDevConfig&&(!1===l.ppDevConfig.distZip?c=l.build?.outDir||"dist":"object"==typeof l.ppDevConfig.distZip&&"string"==typeof l.ppDevConfig.distZip.outDir&&(c=l.ppDevConfig.distZip.outDir));const d=new E({oldAssetsPath:r,newAssetsPath:s,destinationPath:w.resolve(n,c)});await d.generateChangelog()}}catch(e){a.createLogger(o.logLevel).error(a.colors.red(`error during build:\n${e.stack}`),{error:e}),process.exit(1)}finally{N((e=>a.createLogger(o.logLevel).info(e)))}})),A.command("changelog [oldAssetPath] [newAssetPath]","generate changelog between two assets files/folders").option("--oldAssetsPath <oldAssetsPath>","[string] path to the old assets zip file or folder").option("--newAssetsPath <newAssetsPath>","[string] path to the new assets zip file or folder").option("--destination <destination>","[string] destination folder for the changelog (default: .)").option("--filename <filename>","[string] filename for the changelog (default: CHANGELOG.html)").action((async(e,o,t)=>{R(t);const{oldAssetsPath:n=e,newAssetsPath:i=o,destination:r=".",filename:s="CHANGELOG.html",logLevel:l}=t,c=process.cwd();n&&i||(a.createLogger(l).error(a.colors.red("error during changelog generation: oldAssetPath and newAssetPath are required")),process.exit(1));const d=w.resolve(c,n),p=w.resolve(c,i),f=w.resolve(c,r),h=new E({oldAssetsPath:d,newAssetsPath:p,destinationPath:f,changelogFilename:s});await h.generateChangelog()})),A.command("generate-icon-font [source] [destination]","generate icon font from SVG files").option("--source <source>","[string] path to the source directory with SVG files").option("--destination <destination>","[string] path to the destination directory to save the generated font files").option("--font-name, -n <fontName>","[string] name of the font to generate (default: 'icon-font')").action((async(e,o,t)=>{R(t);const{source:n=e,destination:i=o,fontName:r="icon-font"}=t,s=process.cwd(),l=w.resolve(s,n),c=w.resolve(s,i),d=new j({sourceDir:l,outputDir:c,fontName:r}),p=a.createLogger(t.logLevel);p.info(`Generating icon font from SVG files in ${a.colors.dim(l)}`),await d.generate(),p.info(`Icon font generated and saved to ${a.colors.dim(c)}`)})),A.command("optimize [root]","pre-bundle dependencies").option("--force","[boolean] force the optimizer to ignore the cache and re-bundle").action((async(e,o)=>{R(o);try{const t=await r.loadConfigFromFile({mode:o.mode||"production",command:"build"},o.config,e,o.logLevel);let n=await s.getViteConfig();if(t){const{plugins:e,...o}=t.config;n=r.mergeConfig(n,o)}const i=await r.resolveConfig(r.mergeConfig(n,{root:e,base:o.base,configFile:o.config,logLevel:o.logLevel,mode:o.mode}),"serve");await r.optimizeDeps(i,o.force,!0)}catch(e){a.createLogger(o.logLevel).error(a.colors.red(`error when optimizing deps:\n${e.stack}`),{error:e}),process.exit(1)}})),A.command("preview [root]","locally preview production build").option("--host [host]","[string] specify hostname").option("--port <port>","[number] specify port").option("--strictPort","[boolean] exit if specified port is already in use").option("--https","[boolean] use TLS + HTTP/2").option("--open [path]","[boolean | string] open browser on startup").option("--outDir <dir>","[string] output directory (default: dist)").action((async(e,o)=>{R(o);try{const t=await r.loadConfigFromFile({mode:o.mode||"production",command:"build"},o.config,e,o.logLevel);let n=await s.getViteConfig();if(t){const{plugins:e,...o}=t.config;n=r.mergeConfig(n,o)}(await r.preview(r.mergeConfig(n,{root:e,base:o.base,configFile:o.config,logLevel:o.logLevel,mode:o.mode,build:{outDir:o.outDir},preview:{port:o.port,strictPort:o.strictPort,host:o.host,https:o.https,open:o.open}}))).printUrls()}catch(e){a.createLogger(o.logLevel).error(a.colors.red(`error when starting preview server:\n${e.stack}`),{error:e}),process.exit(1)}finally{N((e=>a.createLogger(o.logLevel).info(e)))}})),A.help(),A.version(s.VERSION),A.parse(),exports.stopProfiler=N;
2
2
  //# sourceMappingURL=cli.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sources":["../../../src/shortcuts.ts","../../../src/lib/changelog-generator.ts","../../../src/lib/icon-font-generator.ts","../../../src/cli.ts"],"sourcesContent":[null,null,null,null],"names":["isDefined","value","BASE_SHORTCUTS","key","description","action","server","restart","config","logger","info","printUrls","openBrowser","clearScreen","close","finally","process","exit","cache","clear","fileNameWithHashRegEx","ChangelogGenerator","oldAssetsPath","newAssetsPath","destinationPath","changelogFilename","changelogTemplate","diffFileTemplateHandler","diffLineTemplateHandler","contextLines","constructor","opts","this","createLogger","Error","isExists","isZipFile","unzipDestinationPath","path","resolve","os","tmpdir","crypto","createHash","update","digest","unzipFile","then","normalizeAssetFolderPath","isEmptyFolder","isFolder","Promise","mkdirpSync","templateIsValid","warn","colors","yellow","template","includes","assetPath","fs","existsSync","endsWith","lstatSync","isDirectory","readdirSync","withFileTypes","length","dir","mkdirSync","recursive","rmSync","force","extractZip","folderContent","join","pathToPosix","replace","diffTableTemplate","diffLinesHTML","getDiffTableHTML","diffLines","filter","index","array","lineType","slice","some","line","map","prevLine","lineNumber","lineContent","flat","diffLineHTML","diffLineMessageTemplate","message","diffLineSkipTemplate","diffLineTemplate","diffLine","numClass","str","i","charCodeAt","diffFileTemplate","filename","htmlDiff","generateAssetFoldersDiff","blue","dirDiff","dirCompare","compare","compareContent","skipSymlinks","compareSize","compareDate","compareNameHandler","name1","name2","test","localeCompare","diffSet","d","state","generateAssetFilesDiff","oldFileString","newFileString","dmp","DiffMatchPatch","linesChars","diff_linesToChars_","linesDiff","diff_main","chars1","chars2","diff_charsToLines_","lineArray","linesCount","split","lines","generateFilesDiff","difference","filepath1","relativePath","filepath2","assetFile1Path","path1","assetFile2Path","path2","filepath","filenameTitle","isBinaryFile","readFileSync","generateChangelog","green","all","templateArray","splice","changelogHTML","writeFileSync","IconFontGenerator","sourceDir","outputDir","fontName","options","generate","svgToFont","src","dist","css","typescript","startUnicode","svgicons2svgfont","fontHeight","cli","cac","createConfigWatcher","projectRoot","restartCallback","watchPatterns","PP_DEV_CONFIG_NAMES","PP_WATCH_CONFIG_NAMES","file","watcher","watch","ignored","filePath","base","basename","startsWith","persistent","ignoreInitial","followSymlinks","restartTimeout","on","relative","clearTimeout","setTimeout","async","error","red","stack","cleanupConfigWatcher","profileSession","global","__pp_dev_profile_session","profileCount","stopProfiler","log","res","rej","post","err","profile","outPath","JSON","stringify","white","dim","undefined","filterDuplicateOptions","Object","entries","Array","isArray","cleanOptions","ret","c","l","logLevel","debug","f","m","mode","option","command","alias","root","configWatcher","isRestarting","cwd","startServer","clearConfigCache","require","n","createServer","import","configFromFile","loadConfigFromFile","getViteConfig","envVars","loadEnv","keys","forEach","env","plugins","fileConfig","mergeConfig","configFile","optimizeDeps","customLogger","httpServer","listen","ppDevStartTime","__pp_dev_start_time","startupDurationString","reset","bold","Math","ceil","performance","now","VERSION","stdin","isTTY","CI","_shortcutsOptions","print","shortcuts","customShortcuts","concat","actionRunning","onInput","input","shortcut","find","setRawMode","setEncoding","resume","off","pause","bindShortcuts","inspector","r","default","Session","connect","ws","send","type","event","data","url","encodeURIComponent","e","gracefulShutdown","signal","reason","promise","nextApp","startNextServer","next","constants","safeNextImport","PHASE_DEVELOPMENT_SERVER","importConfig","loadConfig","ppDevConfig","ppDev","getConfig","standaloneConfig","console","backendBaseURL","MI_BACKEND_URL","appId","originalAppId","portalPageId","templateLess","v7Features","disableSSLValidation","enableProxyCache","proxyCacheTTL","personalAccessToken","MI_ACCESS_TOKEN","miHudLess","MI_APP_ID","parseInt","MI_PORTAL_PAGE_ID","templateName","getPkg","name","pathPagePrefix","pathTemplateLocalPrefix","configBasePath","basePath","dev","hostname","host","port","conf","assetPrefix","prepare","handle","getRequestHandler","openSockets","Set","req","originalUrl","originalPathname","parsedUrl","parse","fullMiddlewareChain","essentialMiddlewareChain","middlewareIndex","runEssentialMiddleware","processNextJSRequest","middleware","runMiddleware","redirectUrl","writeHead","Location","end","statusCode","mi","baseUrlHost","URL","miConfig","headers","referer","origin","MiAPI","ppRedirectMiddleware","initPPRedirect","ppRedirectWrapper","push","ttl","Number","isNaN","cacheConfig","devServer","middlewares","use","fn","proxyCacheMiddleware","initProxyCache","proxyCacheWrapper","baseWithoutTrailingSlash","substring","mockProxyDevServer","proxyPassMiddlewareInstance","proxyPassMiddleware","baseURL","proxyIgnore","miAPI","proxyPassWrapper","isIndexRegExp","RegExp","string","loadPPDataMiddleware","initLoadPPData","loadPPDataWrapper","internalServerMiddleware","internalServer","internalServerWrapper","rewriteResponseMiddleware","initRewriteResponse","response","Buffer","from","urlReplacer","buildPage","rewriteResponseWrapper","socket","add","delete","shutdownTimeout","destroy","processObj","globalProcess","globalThis","buildOptions","buildConfig","build","changelog","executionRoot","outDir","backupsDirPath","syncBackupsDir","backups","latestBackup","isFile","reduce","latest","current","statSync","mtimeMs","currentAssetFilePath","changelogDestination","distZip","changelogGenerator","oldAssetPath","newAssetPath","oldPath","newPath","destination","fullOldPath","fullNewPath","fullDestination","source","destDir","fullSourceDir","fullDestDir","iconFontGenerator","optimizeConfig","resolveConfig","preview","strictPort","https","open","help","version"],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sources":["../../../src/shortcuts.ts","../../../src/lib/changelog-generator.ts","../../../src/lib/icon-font-generator.ts","../../../src/cli.ts"],"sourcesContent":[null,null,null,null],"names":["isDefined","value","BASE_SHORTCUTS","key","description","action","server","restart","config","logger","info","printUrls","openBrowser","clearScreen","close","finally","process","exit","cache","clear","fileNameWithHashRegEx","ChangelogGenerator","oldAssetsPath","newAssetsPath","destinationPath","changelogFilename","changelogTemplate","diffFileTemplateHandler","diffLineTemplateHandler","contextLines","constructor","opts","this","createLogger","Error","isExists","isZipFile","unzipDestinationPath","path","resolve","os","tmpdir","crypto","createHash","update","digest","unzipFile","then","normalizeAssetFolderPath","isEmptyFolder","isFolder","Promise","mkdirpSync","templateIsValid","warn","colors","yellow","template","includes","assetPath","fs","existsSync","endsWith","lstatSync","isDirectory","readdirSync","withFileTypes","length","dir","mkdirSync","recursive","rmSync","force","extractZip","folderContent","join","pathToPosix","replace","diffTableTemplate","diffLinesHTML","getDiffTableHTML","diffLines","filter","index","array","lineType","slice","some","line","map","prevLine","lineNumber","lineContent","flat","diffLineHTML","diffLineMessageTemplate","message","diffLineSkipTemplate","diffLineTemplate","diffLine","numClass","str","i","charCodeAt","diffFileTemplate","filename","htmlDiff","generateAssetFoldersDiff","blue","dirDiff","dirCompare","compare","compareContent","skipSymlinks","compareSize","compareDate","compareNameHandler","name1","name2","test","localeCompare","diffSet","d","state","generateAssetFilesDiff","oldFileString","newFileString","dmp","DiffMatchPatch","linesChars","diff_linesToChars_","linesDiff","diff_main","chars1","chars2","diff_charsToLines_","lineArray","linesCount","split","lines","generateFilesDiff","difference","filepath1","relativePath","filepath2","assetFile1Path","path1","assetFile2Path","path2","filepath","filenameTitle","isBinaryFile","readFileSync","generateChangelog","green","all","templateArray","splice","changelogHTML","writeFileSync","IconFontGenerator","sourceDir","outputDir","fontName","options","generate","svgToFont","src","dist","css","typescript","startUnicode","svgicons2svgfont","fontHeight","cli","cac","createConfigWatcher","projectRoot","restartCallback","watchPatterns","PP_DEV_CONFIG_NAMES","PP_WATCH_CONFIG_NAMES","file","watcher","watch","ignored","filePath","base","basename","startsWith","persistent","ignoreInitial","followSymlinks","restartTimeout","on","relative","clearTimeout","setTimeout","async","error","red","stack","cleanupConfigWatcher","profileSession","global","__pp_dev_profile_session","profileCount","stopProfiler","log","res","rej","post","err","profile","outPath","JSON","stringify","white","dim","undefined","filterDuplicateOptions","Object","entries","Array","isArray","cleanOptions","ret","c","l","logLevel","debug","f","m","mode","option","command","alias","root","configWatcher","isRestarting","cwd","startServer","clearConfigCache","require","n","createServer","import","configFromFile","loadConfigFromFile","getViteConfig","envVars","loadEnv","keys","forEach","env","plugins","fileConfig","mergeConfig","configFile","optimizeDeps","customLogger","httpServer","listen","ppDevStartTime","__pp_dev_start_time","startupDurationString","reset","bold","Math","ceil","performance","now","VERSION","stdin","isTTY","CI","_shortcutsOptions","print","shortcuts","customShortcuts","concat","actionRunning","onInput","input","shortcut","find","setRawMode","setEncoding","resume","off","pause","bindShortcuts","inspector","r","default","Session","connect","ws","send","type","event","data","url","encodeURIComponent","e","gracefulShutdown","signal","reason","promise","nextApp","startNextServer","next","constants","safeNextImport","PHASE_DEVELOPMENT_SERVER","importConfig","loadConfig","ppDevConfig","ppDev","getConfig","standaloneConfig","console","backendBaseURL","MI_BACKEND_URL","appId","originalAppId","portalPageId","templateLess","v7Features","disableSSLValidation","enableProxyCache","proxyCacheTTL","personalAccessToken","MI_ACCESS_TOKEN","miHudLess","MI_APP_ID","parseInt","MI_PORTAL_PAGE_ID","templateName","getPkg","name","pathPagePrefix","pathTemplateLocalPrefix","configBasePath","basePath","dev","hostname","host","port","conf","assetPrefix","prepare","handle","getRequestHandler","openSockets","Set","req","originalUrl","originalPathname","parsedUrl","parse","fullMiddlewareChain","essentialMiddlewareChain","middlewareIndex","runEssentialMiddleware","processNextJSRequest","middleware","runMiddleware","redirectUrl","writeHead","Location","end","statusCode","mi","baseUrlHost","URL","miConfig","headers","referer","origin","MiAPI","ppRedirectMiddleware","initPPRedirect","ppRedirectWrapper","push","ttl","Number","isNaN","cacheConfig","devServer","middlewares","use","fn","proxyCacheMiddleware","initProxyCache","proxyCacheWrapper","baseWithoutTrailingSlash","substring","mockProxyDevServer","proxyPassMiddlewareInstance","proxyPassMiddleware","baseURL","proxyIgnore","miAPI","proxyPassWrapper","isIndexRegExp","RegExp","string","loadPPDataMiddleware","initLoadPPData","loadPPDataWrapper","internalServerMiddleware","internalServer","internalServerWrapper","rewriteResponseMiddleware","initRewriteResponse","pathname","response","Buffer","from","urlReplacer","buildPage","rewriteResponseWrapper","socket","add","delete","shutdownTimeout","destroy","processObj","globalProcess","globalThis","buildOptions","buildConfig","build","changelog","executionRoot","outDir","backupsDirPath","syncBackupsDir","backups","latestBackup","isFile","reduce","latest","current","statSync","mtimeMs","currentAssetFilePath","changelogDestination","distZip","changelogGenerator","oldAssetPath","newAssetPath","oldPath","newPath","destination","fullOldPath","fullNewPath","fullDestination","source","destDir","fullSourceDir","fullDestDir","iconFontGenerator","optimizeConfig","resolveConfig","preview","strictPort","https","open","help","version"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@metricinsights/pp-dev",
3
3
  "type": "commonjs",
4
- "version": "0.14.0-beta.1",
4
+ "version": "0.14.1-beta.1",
5
5
  "description": "Portal Page dev build tool",
6
6
  "bin": {
7
7
  "pp-dev": "bin/pp-dev.js"
package/dist/esm/cli.js CHANGED
@@ -1,2 +1,2 @@
1
- import*as e from"path";import*as t from"fs";import{performance as o}from"node:perf_hooks";import{watch as n}from"chokidar";import{cac as i}from"cac";import{loadConfigFromFile as s,mergeConfig as r,build as a,resolveConfig as l,optimizeDeps as c,preview as d,loadEnv as p}from"vite";import{g as f,V as h,s as u,P as g,a as m}from"./index-D0CWM9o5.js";import{c as b,a as w,M as v,i as y,b as x,d as T,e as P,f as $,g as S,u as L}from"./plugin-BhmS15QR.js";import{parse as F}from"url";import*as E from"dir-compare";import j from"diff-match-patch";import{isBinaryFile as A}from"isbinaryfile";import*as I from"os";import*as k from"crypto";import D from"extract-zip";import C from"svgtofont";import"ejs";import"http-proxy-middleware";import"picocolors";import"axios";import"jsdom";import"https";import"memory-cache";import"process";import"child_process";import"console";import"zlib";import"express";function _(e){return null!=e&&!1!==e}const N=[{key:"r",description:"restart the server",async action(e){await e.restart()}},{key:"u",description:"show server url",action(e){e.config.logger.info(""),e.printUrls()}},{key:"o",description:"open in browser",action(e){e.openBrowser()}},{key:"c",description:"clear console",action(e){e.config.logger.clearScreen("error")}},{key:"q",description:"quit",async action(e){await e.close().finally((()=>process.exit()))}},{key:"C",description:"clear proxy cache",action(e){e.cache&&(e.cache.clear(),e.config.logger.info("Proxy cache cleared"))}}];const M=/(.+)(-[a-f0-9]{6,20})(\.[a-z0-9]+)$/i;class R{oldAssetsPath;newAssetsPath;destinationPath;changelogFilename;changelogTemplate='<!DOCTYPE html>\n <html lang="en">\n <head>\n <meta charset="UTF-8" />\n <title>Changelog Diff</title>\n <style>\n tr,\n td {\n padding: 0;\n }\n .diff-file {\n margin-top: 20px;\n border: 1px solid #e1e4e8;\n border-radius: 6px;\n }\n .diff-file-title {\n padding: 10px 20px;\n background-color: #f6f8fa;\n border-bottom: 1px solid #e1e4e8;\n border-radius: 6px 6px 0 0;\n font-weight: bold;\n }\n .diff-file-title .renamed {\n font-weight: normal;\n }\n .diff-file-title .renamed .from {\n color: #cb2431;\n }\n .diff-file-title .renamed .to {\n color: #22863a;\n }\n .diff-file-title .added {\n color: #22863a;\n }\n .diff-file-title .deleted {\n color: #cb2431;\n }\n .diff-file-content {\n }\n .diff-table {\n tab-size: 8;\n width: 100%;\n border-collapse: separate;\n border-spacing: 0;\n }\n .blob-num {\n position: relative;\n color: #1f2328;\n width: 1%;\n min-width: 50px;\n padding: 0 10px;\n font-family: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;\n font-size: 12px;\n line-height: 20px;\n text-align: right;\n white-space: nowrap;\n vertical-align: top;\n cursor: pointer;\n -webkit-user-select: none;\n user-select: none;\n }\n .blob-num.addition {\n background-color: #ccffd8;\n border-color: #1f883e;\n }\n .blob-num.deletion {\n background-color: #ffd7d5;\n border-color: #cf222e;\n }\n .blob-num::before {\n content: attr(data-line-number);\n }\n .blob-code {\n position: relative;\n padding: 0 10px 0 22px;\n vertical-align: top;\n color: #1f2329;\n }\n .blob-code.code-addition {\n background-color: #e6ffec;\n }\n .blob-code.code-deletion {\n background-color: #ffebe9;\n }\n .blob-code.skip,\n .blob-code.message {\n text-align: center;\n }\n .blob-code.skip .blob-code-inner,\n .blob-code.message .blob-code-inner {\n font-weight: bold;\n color: #6a737d;\n padding: 10px 0;\n }\n .blob-code-inner {\n display: table-cell;\n overflow: visible;\n font-family: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;\n font-size: 12px;\n word-wrap: anywhere;\n white-space: pre-wrap;\n }\n .blob-code-inner::before {\n content: attr(data-code-prefix);\n position: absolute;\n top: 1px;\n left: 8px;\n padding-right: 8px;\n }\n </style>\n </head>\n <body>\n <h1>Changelog Diff</h1>\n\n %FILES%\n </body>\n </html>';diffFileTemplateHandler;diffLineTemplateHandler;contextLines=3;logger;constructor(t){const{oldAssetsPath:o,newAssetsPath:n,destinationPath:i,changelogTemplate:s,diffFileTemplateHandler:r,diffLineTemplateHandler:a,changelogFilename:l,contextLines:c}=t;if(this.logger=b(),!o||!n||!i)throw new Error("Previous assets path, current assets path and destination path are required");if(o===n)throw new Error("Previous and current assets paths must be different");if(!this.isExists(o))throw new Error(`Previous assets path ${o} does not exist`);if(!this.isExists(n))throw new Error(`Current assets path ${n} does not exist`);if(this.isZipFile(o)){const t=e.resolve(I.tmpdir(),k.createHash("md5").update(o).digest("hex"));this.oldAssetsPath=this.unzipFile(o,t).then((()=>this.normalizeAssetFolderPath(t))).then((e=>{if(this.isEmptyFolder(e))throw new Error(`Previous assets path ${e} is empty`);return e}))}else{if(!this.isFolder(o))throw new Error(`Invalid previous assets path ${o}. It must be a folder or a zip file`);{const e=this.normalizeAssetFolderPath(o);if(this.isEmptyFolder(e))throw new Error(`Previous assets path ${e} is empty`);this.oldAssetsPath=Promise.resolve(e)}}if(this.isZipFile(n)){const t=e.resolve(I.tmpdir(),k.createHash("md5").update(n).digest("hex"));this.newAssetsPath=this.unzipFile(n,t).then((()=>this.normalizeAssetFolderPath(t))).then((e=>{if(this.isEmptyFolder(e))throw new Error(`Current assets path ${e} is empty`);return e}))}else{if(!this.isFolder(n))throw new Error(`Invalid current assets path ${n}. It must be a folder or a zip file`);{const e=this.normalizeAssetFolderPath(n);if(this.isEmptyFolder(e))throw new Error(`Current assets path ${n} is empty`);this.newAssetsPath=Promise.resolve(e)}}this.destinationPath=i,this.mkdirpSync(this.destinationPath),this.changelogFilename=l||"CHANGELOG.html",s&&(this.templateIsValid(s)?this.changelogTemplate=s:this.logger.warn(w.yellow("Invalid changelog template, using default"))),"function"==typeof r&&(this.diffFileTemplateHandler=r),"function"==typeof a&&(this.diffLineTemplateHandler=a),c&&(this.contextLines=c)}templateIsValid(e){return e.includes("%FILES%")}isExists(e){return t.existsSync(e)}isZipFile(e){return e.endsWith(".zip")}isFolder(e){return t.lstatSync(e).isDirectory()}isEmptyFolder(e){return 0===t.readdirSync(e,{withFileTypes:!0}).length}mkdirpSync(e){t.existsSync(e)||t.mkdirSync(e,{recursive:!0})}async unzipFile(e,o){return t.rmSync(o,{force:!0,recursive:!0}),D(e,{dir:o})}normalizeAssetFolderPath(o){const n=t.readdirSync(o);return 1===n.length&&t.lstatSync(e.join(o,n[0])).isDirectory()?this.normalizeAssetFolderPath(e.join(o,n[0])):o}pathToPosix(e){return e.replace(/\\/g,"/")}diffTableTemplate(e){return`<table class="diff-table">\n <tbody>\n ${e}\n </tbody>\n </table>`}getDiffTableHTML(e){const t=e.filter(((e,t,o)=>0!==e.lineType||(t>=0&&t<this.contextLines||t>o.length-(this.contextLines+1)&&t<=o.length-1||o.slice(t-this.contextLines,t+this.contextLines+1).some((e=>0!==e.lineType))))).map(((e,t,o)=>{if(t>0){const n=o[t-1];if(e.lineNumber-n.lineNumber>1)return[{lineNumber:-1,lineContent:"",lineType:0},e]}return[e]})).flat().map((e=>this.diffLineHTML(e))).join("");return this.diffTableTemplate(t)}diffLineMessageTemplate(e){return`<tr>\n <td class="blob-num"></td>\n <td class="blob-num"></td>\n <td class="blob-code message">\n <span class="blob-code-inner">${e}</span>\n </td>\n </tr>`}diffLineSkipTemplate(){return'<tr>\n <td class="blob-num"></td>\n <td class="blob-num"></td>\n <td class="blob-code skip">\n <span class="blob-code-inner">Skip</span>\n </td>\n </tr>'}diffLineTemplate(e){const{lineNumber:t,lineContent:o,lineType:n}=e,i=1===n?"addition":-1===n?"deletion":"";return`<tr>\n <td\n class="blob-num ${i}${"addition"===i?" empty":""}"\n ${"addition"!==i?` data-line-number="${t}"`:""}\n ></td>\n <td\n class="blob-num ${i}${"deletion"===i?" empty":""}"\n ${"deletion"!==i?` data-line-number="${t}"`:""}\n ></td>\n <td class="blob-code ${1===n?"code-addition":-1===n?"code-deletion":""}">\n <span class="blob-code-inner" data-code-prefix="${1===n?"+":-1===n?"-":" "}">${s=o??"",s.replace(/[\u00A0-\u9999<>&]/g,(e=>"&#"+e.charCodeAt(0)+";"))}</span>\n </td>\n </tr>`;var s}diffLineHTML(e){if(this.diffLineTemplateHandler)return this.diffLineTemplateHandler(e);const{lineNumber:t}=e;return-1===t?this.diffLineSkipTemplate():this.diffLineTemplate(e)}diffFileTemplate(e,t){return this.diffFileTemplateHandler?this.diffFileTemplateHandler(e,t):`<div class="diff-file">\n <div class="diff-file-title">${e}</div>\n <div class="diff-file-content">${t}</div>\n </div>`}async generateAssetFoldersDiff(){this.logger.info(w.blue(`Comparing asset folders ${await this.oldAssetsPath} and ${await this.newAssetsPath}`));const e=await E.compare(await this.oldAssetsPath,await this.newAssetsPath,{compareContent:!0,skipSymlinks:!0,compareSize:!0,compareDate:!1,compareNameHandler:(e,t)=>(M.test(e)&&(e=e.replace(M,"$1$3")),M.test(t)&&(t=t.replace(M,"$1$3")),0===e.localeCompare(t)?0:e.localeCompare(t)>0?1:-1)});return e.diffSet?.filter((e=>"equal"!==e.state||e.name1!==e.name2))||[]}async generateAssetFilesDiff(e,t){const o=new j,n=o.diff_linesToChars_(e,t),i=o.diff_main(n.chars1,n.chars2,!1);o.diff_charsToLines_(i,n.lineArray);let s=0;return i.map((e=>{const[t,o]=e,n=o.endsWith("\n")?o.split("\n").length-1:o.split("\n").length,i=o.split("\n").map(((e,o)=>({lineContent:e,lineNumber:s+o+1,lineType:t}))).slice(0,n);return-1!==t&&(s+=n),i})).flat()}async generateFilesDiff(o){if("equal"===o.state){const t=this.pathToPosix(e.join(".",o.relativePath,o.name1??"")),n=this.pathToPosix(e.join(".",o.relativePath,o.name2??""));return this.diffFileTemplate(`<span class="renamed"\n >Renamed <span class="from">${t}</span> -> <span class="to">${n}</span></span\n >`,this.diffTableTemplate(this.diffLineMessageTemplate("No changes")))}const n=o.path1&&o.name1?e.join(o.path1,o.name1):null,i=o.path2&&o.name2?e.join(o.path2,o.name2):null,s=this.pathToPosix(e.join(".",o.relativePath,(o.name1||o.name2)??""));if("left"===o.state&&n)return this.diffFileTemplate(`<span class="removed">Removed ${s}</span>`,this.diffTableTemplate(this.diffLineMessageTemplate("File removed")));if("right"===o.state&&i)return this.diffFileTemplate(`<span class="added">Added ${s}</span>`,this.diffTableTemplate(this.diffLineMessageTemplate("File added")));if("distinct"===o.state&&n&&i){const r=this.pathToPosix(e.join(".",o.relativePath,o.name1??"")),a=this.pathToPosix(e.join(".",o.relativePath,o.name2??"")),l=o.name1!==o.name2?`<span class="renamed"\n >Renamed <span class="from">${r}</span> -> <span class="to">${a}</span></span\n >`:s;return this.diffFileTemplate(l,await A(n)||await A(i)?this.diffTableTemplate(this.diffLineMessageTemplate("Binary file")):this.getDiffTableHTML(await this.generateAssetFilesDiff(t.readFileSync(n,"utf-8"),t.readFileSync(i,"utf-8"))))}return""}async generateChangelog(){this.logger.info(w.green("Generating changelog"));const o=await this.generateAssetFoldersDiff(),n=(await Promise.all(o.map((e=>this.generateFilesDiff(e))))).join("");this.logger.info(w.green("Writing changelog file"));const i=this.changelogTemplate.split("%FILES%");i.splice(1,0,n);const s=i.join("");t.writeFileSync(e.join(this.destinationPath,this.changelogFilename),s),this.logger.info(w.green(`Changelog file written to ${e.join(this.destinationPath,this.changelogFilename)}`))}}class z{sourceDir;outputDir;fontName;constructor(e){this.sourceDir=e.sourceDir,this.outputDir=e.outputDir,this.fontName=e.fontName}async generate(){await C({src:this.sourceDir,dist:this.outputDir,fontName:this.fontName,css:!0,typescript:!0,startUnicode:59905,svgicons2svgfont:{fontHeight:1024}})}}const H=i("pp-dev");function G(t,o,i){const s=[...g,...m,"package.json","next.config.js","next.config.mjs","next.config.ts","vite.config.js","vite.config.mjs","vite.config.ts",".env",".env.local",".env.development",".env.development.local"].map((o=>e.join(t,o))),r=n(s,{ignored:t=>{const o=e.basename(t);return/(^|[\/\\])\../.test(t)&&!o.startsWith(".env")&&!o.startsWith(".pp-dev")&&!o.startsWith(".pp-watch")},persistent:!0,ignoreInitial:!0,followSymlinks:!1});let a=null;return r.on("change",(n=>{i(w.blue(`šŸ”§ Config file changed: ${e.relative(t,n)}`)),a&&clearTimeout(a),a=setTimeout((async()=>{try{i(w.yellow("šŸ”„ Restarting dev server due to config change...")),await o()}catch(e){i(w.red(`āŒ Failed to restart dev server: ${e?.message}. Stack: ${e?.stack}`))}}),500)})),r.on("error",(e=>{i(w.red(`āŒ Config watcher error: ${e}`))})),{watcher:r,restartCallback:o,logger:i}}function O(e){e.watcher&&e.watcher.close()}let U=global.__pp_dev_profile_session,W=0;const V=o=>{if(U)return new Promise(((n,i)=>{U.post("Profiler.stop",((s,{profile:r})=>{if(s)i(s);else{const i=e.resolve(`./pp-dev-profile-${W++}.cpuprofile`);t.writeFileSync(i,JSON.stringify(r)),o(w.yellow(`CPU profile written to ${w.white(w.dim(i))}`)),U=void 0,n()}}))}))},q=e=>{for(const[t,o]of Object.entries(e))Array.isArray(o)&&(e[t]=o[o.length-1])};function B(e){const t={...e};return delete t["--"],delete t.c,delete t.config,delete t.base,delete t.l,delete t.logLevel,delete t.clearScreen,delete t.d,delete t.debug,delete t.f,delete t.filter,delete t.m,delete t.mode,t}H.option("-c, --config <file>","[string] use specified config file").option("--base <path>","[string] public base path (default: /)").option("-l, --logLevel <level>","[string] info | warn | error | silent").option("--clearScreen","[boolean] allow/disable clear screen when logging").option("-d, --debug [feat]","[string | boolean] show debug logs").option("-f, --filter <filter>","[string] filter debug logs").option("-m, --mode <mode>","[string] set env mode"),H.command("[root]","start dev server").alias("serve").alias("dev").option("--host [host]","[string] specify hostname").option("--port <port>","[number] specify port").option("--https","[boolean] use TLS + HTTP/2").option("--open [path]","[boolean | string] open browser on startup").option("--cors","[boolean] enable CORS").option("--strictPort","[boolean] exit if specified port is already in use").option("--force","[boolean] force the optimizer to ignore the cache and re-bundle").action((async(t,n)=>{q(n);let i=null,a=null,l=!1;const c=t?e.resolve(process.cwd(),t):process.cwd(),d=b(n.logLevel),u=async()=>{if(!l){l=!0;try{i&&(d.info(w.yellow("šŸ›‘ Stopping existing dev server...")),await i.close(),i=null);const{clearConfigCache:e}=await import("./index-D0CWM9o5.js").then((e=>e.d));e();const{createServer:g}=await import("vite"),m=await s({mode:n.mode||"development",command:"serve"},n.config,t,n.logLevel);let v=await f();const y=p(n.mode||"development",t??process.cwd(),"");if(y&&Object.keys(y).forEach((e=>{e.startsWith("MI_")&&(process.env[e]=y[e])})),m){const{plugins:e,...t}=m.config;v=r(v,t)}if(i=await g(r(v,{root:t,base:n.base,mode:n.mode,configFile:n.config,logLevel:n.logLevel,clearScreen:n.clearScreen,optimizeDeps:{force:n.force},server:B(n),customLogger:d},!0)),!i.config.base||"/"===i.config.base)throw new Error('base cannot be equal to "/" or empty string');if(!i.httpServer)throw new Error("HTTP server not available");await i.listen();const x=global.__pp_dev_start_time??!1,T=x?w.dim(`ready in ${w.reset(w.bold(Math.ceil(o.now()-x)))} ms`):"";d.info(`\n ${w.green(`${w.bold("PP-DEV")} v${h}`)} ${T}\n`),i.printUrls(),function(e,t){if(!e.httpServer||!process.stdin.isTTY||process.env.CI)return;e._shortcutsOptions=t;const o=b();t.print&&o.info(w.dim(w.green(" āžœ"))+w.dim(" press ")+w.bold("h")+w.dim(" to show help"));const n=(t.customShortcuts??[]).filter(_).concat(N);let i=!1;const s=async t=>{if(""===t||""===t)return void await e.close().finally((()=>process.exit(1)));if(i)return;"h"===t&&o.info(["",w.bold(" Shortcuts"),...n.map((e=>w.dim(" press ")+w.bold(e.key)+w.dim(` to ${e.description}`)))].join("\n"));const s=n.find((e=>e.key===t));s&&(i=!0,await s.action(e),i=!1)};process.stdin.setRawMode(!0),process.stdin.on("data",s).setEncoding("utf8").resume(),e.httpServer.on("close",(()=>{process.stdin.off("data",s).pause()}))}(i,{print:!0,customShortcuts:[...U?[{key:"p",description:"start/stop the profiler",async action(e){if(U)await V(d.info);else{const e=await import("node:inspector").then((e=>e.default));await new Promise((t=>{U=new e.Session,U.connect(),U.post("Profiler.enable",(()=>{U?.post("Profiler.start",(()=>{d.info("Profiler started"),t()}))}))}))}}}]:[],{key:"l",description:"proxy re-login",action(e){e.ws.send({type:"custom",event:"redirect",data:{url:`/auth/index/logout?proxyRedirect=${encodeURIComponent("/")}`}})}}]}),a||(a=G(c,u,d.info),d.info(w.blue("šŸ”§ Config file watcher started"))),l=!1}catch(e){l=!1,d.error(w.red(`error when starting dev server:\n${e.stack}`),{error:e}),V(d.info),process.exit(1)}}},g=async e=>{d.info(w.yellow(`\nšŸ›‘ Received ${e}, shutting down gracefully...`));try{a&&(O(a),a=null),i&&(await i.close(),i=null),V(d.info),d.info(w.green("āœ… Graceful shutdown completed")),process.exit(0)}catch(e){d.error(w.red(`āŒ Error during graceful shutdown: ${e}`)),process.exit(1)}};process.on("SIGINT",(()=>g("SIGINT"))),process.on("SIGTERM",(()=>g("SIGTERM"))),process.on("uncaughtException",(e=>{d.error(w.red(`āŒ Uncaught Exception: ${e}`)),g("uncaughtException")})),process.on("unhandledRejection",((e,t)=>{d.error(w.red(`āŒ Unhandled Rejection at: ${t}, reason: ${e}`)),g("unhandledRejection")})),await u()})),H.command("next [root]","start Next.js development server with pp-dev integration").alias("next-serve").alias("next-dev").option("--host [host]","[string] specify hostname").option("--port <port>","[number] specify port",{default:3e3}).option("--https","[boolean] use TLS + HTTP/2").option("--open [path]","[boolean | string] open browser on startup").option("--cors","[boolean] enable CORS").option("--strictPort","[boolean] exit if specified port is already in use").option("--force","[boolean] force the optimizer to ignore the cache and re-bundle").action((async(e,t)=>{q(t);let o=null,n=null,i=null,s=!1;const r=b(),a=async()=>{if(!s){s=!0;try{const{next:c,constants:d}=await u(),{PHASE_DEVELOPMENT_SERVER:f}=d;n&&(r.info(w.yellow("šŸ›‘ Stopping existing Next.js server...")),await new Promise((e=>{n.close((()=>{n=null,e()}))}))),o&&"function"==typeof o.close&&(await o.close(),o=null);const{clearConfigCache:h}=await import("./index-D0CWM9o5.js").then((e=>e.d));h();const{join:g,basename:m}=await import("path"),{createServer:b}=await import("http"),E=await import("next/dist/server/config.js"),j=E.default.default||E["module.exports"].default||E.default,A=B(t),I=p(t.mode||"development",e??process.cwd(),"");I&&Object.keys(I).forEach((e=>{e.startsWith("MI_")&&(process.env[e]=I[e])}));const k=e?g(process.cwd(),e):process.cwd();r.info(k);const D=await j(f,k);let C=D?.ppDev||{};if(0===Object.keys(C).length)try{const{getConfig:e}=await import("./index-D0CWM9o5.js").then((e=>e.d)),t=await e();Object.keys(t).length>0?(C=t,r.info(w.blue("šŸ”§ Loaded pp-dev config from standalone config file"))):r.info(w.yellow("āš ļø No pp-dev config found in Next.js config or standalone file, using defaults"))}catch(e){r.info(w.yellow("āš ļø Failed to load standalone pp-dev config, using defaults")),console.debug("Error loading standalone config:",e)}else r.info(w.blue("šŸ”§ Loaded pp-dev config from Next.js config"));const{backendBaseURL:_=process.env.MI_BACKEND_URL||"http://localhost:8080",appId:N,portalPageId:M,templateLess:R=!0,v7Features:z=!0,disableSSLValidation:H=!1,enableProxyCache:U=!0,proxyCacheTTL:W=6e5,personalAccessToken:V=process.env.MI_ACCESS_TOKEN,miHudLess:q=!1}=C,Z=N??M??(process.env.MI_APP_ID&&parseInt(process.env.MI_APP_ID,10)||void 0)??(process.env.MI_PORTAL_PAGE_ID&&parseInt(process.env.MI_PORTAL_PAGE_ID,10)||void 0)??1;let K=null;if(!K)try{const{getPkg:e}=await import("./index-D0CWM9o5.js").then((e=>e.d));K=e().name}catch(e){K=m(k)}const Y="/p",J="/pl",Q=D?.basePath;let X="";if(Q?X=Q:(X=R?Y:z?J:"/pt",X+=`/${K}`),o=c({dev:!0,hostname:A.host||"localhost",port:A.port,dir:k,conf:{...D,basePath:X,assetPrefix:`${R?Y:"/pt"}/${K}`}}),await o.prepare(),X.endsWith("/")||(X+="/"),"/"===X)throw new Error('basePath cannot be equal to "/" or equal to empty string');r.info(w.green("āœ… Next.js app prepared successfully")),r.info(w.blue(`šŸ”§ pp-dev plugin configured for template: ${K}`)),r.info(w.blue(`šŸ”§ Base path configured: ${X}`)),_&&(r.info(w.blue(`🌐 Backend URL: ${_}`)),r.info(w.blue(`šŸ†” Custom App ID: ${Z}`)));const ee=o.getRequestHandler(),te="number"==typeof A.port?A.port:3e3,oe="string"==typeof A.host?A.host||"0.0.0.0":"localhost",ne=new Set;n=b((async(e,t)=>{try{const o=e.url||"/",n=o.split("?")[0];let i=F(o,!0);if(se.length>0){if(n.startsWith("/_next/")||"/favicon.ico"===n||n.startsWith("/__nextjs_")){if(re.length>0){let l=0;const c=()=>{if(l>=re.length)return void s();const o=re[l];l++,o(e,t,c)};return void c()}return void s()}let r=0;const a=()=>{if(r>=se.length)return void s();const o=se[r];r++,o(e,t,a)};return void a()}async function s(){if(n.startsWith(X))i=F(o,!0);else{if(n===X.replace(/\/$/,"")){const e=o.replace(n,X);return t.writeHead(302,{Location:e}),void t.end()}if(n.startsWith("/_next/")||"/favicon.ico"===n||n.startsWith("/__nextjs_"));else if("/"===n)return t.writeHead(302,{Location:X}),void t.end()}await ee(e,t,i)}s()}catch(d){console.error("[DEBUG] Error:",d),t.statusCode=500,t.end("Internal Server Error")}}));let ie=null,se=[],re=[];if(_){const e=new URL(_).host,t={headers:{host:e,referer:_,origin:_.replace(/^(https?:\/\/)([^/]+)(\/.*)?$/i,"$1$2")},portalPageId:Z,appId:Z,templateLess:R,disableSSLValidation:H,v7Features:z,personalAccessToken:V??process.env.MI_ACCESS_TOKEN};ie=new v(_,t);const o=y(X,K),n=(e,t,n)=>{o(e,t,n)};if(re.push(n),se.push(n),U){let e=+W;(!e||Number.isNaN(e)||e<0)&&(e=6e5);const t={middlewares:{use:e=>e},config:{logger:console}},o=x({devServer:t,ttl:e}),n=(e,t,n)=>{o(e,t,n)};se.push(n),r.info(w.blue(`šŸ”§ Proxy cache middleware added with TTL: ${e}ms`))}const i=X.endsWith("/")?X.substring(0,X.length-1):X,s={middlewares:{use:e=>e},config:{logger:console}},a=T({devServer:s,baseURL:_,proxyIgnore:["/@vite","/@metricinsights","/@",i,"/_next","/favicon.ico","/__nextjs_","/installHook.js.map"],disableSSLValidation:H,miAPI:ie}),c=(e,t,o)=>{a(e,t,o)};se.push(c);const d=new RegExp(`^((${l=X,l.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")})|/)$`),p=P(d,ie,{base:X,v7Features:z}),f=(e,t,o)=>{p(e,t,o)};se.push(f);const h=$,u=(e,t,o)=>{if(e.url?.startsWith("/@api/")){h(e,t,(()=>{}))}else o()};re.push(u),se.push(u);const g=S((e=>e.split("?")[0].endsWith("index.html")),((t,o)=>Buffer.from(L(e,o.headers.host??"",ie.buildPage(t,q))))),m=(e,t,o)=>{g(e,t,o)};se.push(m),r.info(w.blue(`šŸ”§ ${se.length} pp-dev middlewares initialized`)),r.info(w.blue(`šŸ”§ ${re.length} essential middlewares for internal routes`)),r.info(w.blue(`šŸ”§ MiAPI initialized for backend: ${_}`)),r.info(w.blue(`šŸ”§ Custom App ID: ${Z}`))}n.listen(te,oe,(()=>{r.info(w.green(`āœ… pp-dev Next.js server running at http://${oe}:${te}`)),r.info(w.blue(`šŸ“± Next.js app accessible at http://${oe}:${te}${X}`)),r.info(w.blue("šŸ”§ Base path handling active")),i||(i=G(k,a,r.info),r.info(w.blue("šŸ”§ Config file watcher started"))),n.on("connection",(e=>{ne.add(e),e.on("close",(()=>ne.delete(e)))}));const e=async e=>{r.info(w.yellow(`\nšŸ›‘ Received ${e}, shutting down gracefully...`));const t=setTimeout((()=>{r.info(w.yellow("ā° Shutdown timeout reached, forcing exit")),process.exit(0)}),5e3);try{i&&(O(i),i=null);for(const e of Array.from(ne))e.destroy();ne.clear(),await new Promise((e=>{n.close((()=>{r.info(w.yellow("šŸ›‘ HTTP server closed")),e()}))})),o&&"function"==typeof o.close&&(await o.close(),r.info(w.yellow("šŸ›‘ Next.js app closed"))),clearTimeout(t),r.info(w.green("āœ… Graceful shutdown completed")),process.exit(0)}catch(e){clearTimeout(t),r.error(w.red(`āŒ Error during graceful shutdown: ${e}`)),process.exit(1)}};let t=process;if("function"!=typeof process.on){const e=globalThis.process||global.process;e&&"function"==typeof e.on&&(t=e,r.info(w.green("āœ… Using global process object for event handlers")))}if("function"==typeof t.on)try{t.on("SIGINT",(()=>e("SIGINT"))),t.on("SIGTERM",(()=>e("SIGTERM"))),t.on("uncaughtException",(t=>{r.error(w.red(`āŒ Uncaught Exception: ${t}`)),e("uncaughtException")})),t.on("unhandledRejection",((t,o)=>{r.error(w.red(`āŒ Unhandled Rejection at: ${o}, reason: ${t}`)),e("unhandledRejection")})),r.info(w.green("āœ… Process event handlers registered successfully"))}catch(e){r.warn(w.yellow(`āš ļø Failed to register process event handlers: ${e}`))}else r.warn(w.yellow("āš ļø process.on is not available, graceful shutdown handlers will not be registered")),r.info(w.blue("šŸ’” This might be due to bundling or environment constraints"))})),s=!1}catch(e){s=!1,r.error(w.red(`āŒ Failed to start Next.js server: ${e?.message}. Stack: ${e?.stack}`)),e instanceof Error&&e.message.includes("Next.js is required")&&(r.error(w.red("āŒ Next.js Peer Dependency Error:")),r.error(w.red(e.message)),r.error(w.yellow("\nšŸ’” To fix this issue:")),r.error(w.blue(" 1. Install Next.js in your project:")),r.error(w.white(" npm install next@^16")),r.error(w.blue(" 2. Or use yarn:")),r.error(w.white(" yarn add next@^16")),r.error(w.blue(" 3. Or use pnpm:")),r.error(w.white(" pnpm add next@^16")),r.error(w.yellow("\nšŸ“– For more information, see:")),r.error(w.blue(" https://nextjs.org/docs/getting-started"))),process.exit(1)}var l}},l=async e=>{r.info(w.yellow(`\nšŸ›‘ Received ${e}, shutting down gracefully...`));try{i&&(O(i),i=null),n&&await new Promise((e=>{n.close((()=>{n=null,e()}))})),o&&"function"==typeof o.close&&(await o.close(),o=null),r.info(w.green("āœ… Graceful shutdown completed")),process.exit(0)}catch(e){r.error(w.red(`āŒ Error during graceful shutdown: ${e}`)),process.exit(1)}};process.on("SIGINT",(()=>l("SIGINT"))),process.on("SIGTERM",(()=>l("SIGTERM"))),process.on("uncaughtException",(e=>{r.error(w.red(`āŒ Uncaught Exception: ${e}`)),l("uncaughtException")})),process.on("unhandledRejection",((e,t)=>{r.error(w.red(`āŒ Unhandled Rejection at: ${t}, reason: ${e}`)),l("unhandledRejection")})),await a()})),H.command("build [root]","build for production").option("--target <target>","[string] transpile target (default: 'modules')").option("--outDir <dir>","[string] output directory (default: dist)").option("--assetsDir <dir>","[string] directory under outDir to place assets in (default: assets)").option("--assetsInlineLimit <number>","[number] static asset base64 inline threshold in bytes (default: 4096)").option("--ssr [entry]","[string] build specified entry for server-side rendering").option("--sourcemap [output]",'[boolean | "inline" | "hidden"] output source maps for build (default: false)').option("--minify [minifier]",'[boolean | "terser" | "esbuild"] enable/disable minification, or specify minifier to use (default: esbuild)').option("--manifest [name]","[boolean | string] emit build manifest json").option("--ssrManifest [name]","[boolean | string] emit ssr manifest json").option("--force","[boolean] force the optimizer to ignore the cache and re-bundle (experimental)").option("--emptyOutDir","[boolean] force empty outDir when it's outside of root").option("-w, --watch","[boolean] rebuilds when modules have changed on disk").option("--changelog [assetsFile]","[boolean | string] generate changelog between assetsFile and current build (default: false)").action((async(o,n)=>{q(n);const i=B(n);try{const l=await s({mode:n.mode||"production",command:"build"},n.config,o,n.logLevel);let c=await f();if(l){const{plugins:e,...t}=l.config;c=r(c,t)}const d=r(c,{root:o,base:n.base,mode:n.mode,configFile:n.config,logLevel:n.logLevel,clearScreen:n.clearScreen,optimizeDeps:{force:n.force},build:i},!0);if(await a(d),i.changelog){const s=o||process.cwd(),r=d.build?.outDir||"dist";let a="";if("string"==typeof i.changelog)a=e.resolve(s,i.changelog);else{const o=e.resolve(s,d.ppDevConfig?.syncBackupsDir||"backups");if(!t.existsSync(o))return void b(n.logLevel).warn(w.yellow("backups directory not found, skipping changelog generation"));const i=t.readdirSync(o,{withFileTypes:!0});if(!i.length)return void b(n.logLevel).warn(w.yellow("no backups found, skipping changelog generation"));const r=i.filter((e=>e.isFile()&&e.name.endsWith(".zip"))).reduce(((n,i)=>t.statSync(e.resolve(o,n.name)).mtimeMs>t.statSync(e.resolve(o,i.name)).mtimeMs?n:i),i[0]).name;a=e.resolve(o,r)}const l=e.resolve(s,r);let c="dist-zip";d.ppDevConfig&&(!1===d.ppDevConfig.distZip?c=d.build?.outDir||"dist":"object"==typeof d.ppDevConfig.distZip&&"string"==typeof d.ppDevConfig.distZip.outDir&&(c=d.ppDevConfig.distZip.outDir));const p=new R({oldAssetsPath:a,newAssetsPath:l,destinationPath:e.resolve(s,c)});await p.generateChangelog()}}catch(e){b(n.logLevel).error(w.red(`error during build:\n${e.stack}`),{error:e}),process.exit(1)}finally{V((e=>b(n.logLevel).info(e)))}})),H.command("changelog [oldAssetPath] [newAssetPath]","generate changelog between two assets files/folders").option("--oldAssetsPath <oldAssetsPath>","[string] path to the old assets zip file or folder").option("--newAssetsPath <newAssetsPath>","[string] path to the new assets zip file or folder").option("--destination <destination>","[string] destination folder for the changelog (default: .)").option("--filename <filename>","[string] filename for the changelog (default: CHANGELOG.html)").action((async(t,o,n)=>{q(n);const{oldAssetsPath:i=t,newAssetsPath:s=o,destination:r=".",filename:a="CHANGELOG.html",logLevel:l}=n,c=process.cwd();i&&s||(b(l).error(w.red("error during changelog generation: oldAssetPath and newAssetPath are required")),process.exit(1));const d=e.resolve(c,i),p=e.resolve(c,s),f=e.resolve(c,r),h=new R({oldAssetsPath:d,newAssetsPath:p,destinationPath:f,changelogFilename:a});await h.generateChangelog()})),H.command("generate-icon-font [source] [destination]","generate icon font from SVG files").option("--source <source>","[string] path to the source directory with SVG files").option("--destination <destination>","[string] path to the destination directory to save the generated font files").option("--font-name, -n <fontName>","[string] name of the font to generate (default: 'icon-font')").action((async(t,o,n)=>{q(n);const{source:i=t,destination:s=o,fontName:r="icon-font"}=n,a=process.cwd(),l=e.resolve(a,i),c=e.resolve(a,s),d=new z({sourceDir:l,outputDir:c,fontName:r}),p=b(n.logLevel);p.info(`Generating icon font from SVG files in ${w.dim(l)}`),await d.generate(),p.info(`Icon font generated and saved to ${w.dim(c)}`)})),H.command("optimize [root]","pre-bundle dependencies").option("--force","[boolean] force the optimizer to ignore the cache and re-bundle").action((async(e,t)=>{q(t);try{const o=await s({mode:t.mode||"production",command:"build"},t.config,e,t.logLevel);let n=await f();if(o){const{plugins:e,...t}=o.config;n=r(n,t)}const i=await l(r(n,{root:e,base:t.base,configFile:t.config,logLevel:t.logLevel,mode:t.mode}),"serve");await c(i,t.force,!0)}catch(e){b(t.logLevel).error(w.red(`error when optimizing deps:\n${e.stack}`),{error:e}),process.exit(1)}})),H.command("preview [root]","locally preview production build").option("--host [host]","[string] specify hostname").option("--port <port>","[number] specify port").option("--strictPort","[boolean] exit if specified port is already in use").option("--https","[boolean] use TLS + HTTP/2").option("--open [path]","[boolean | string] open browser on startup").option("--outDir <dir>","[string] output directory (default: dist)").action((async(e,t)=>{q(t);try{const o=await s({mode:t.mode||"production",command:"build"},t.config,e,t.logLevel);let n=await f();if(o){const{plugins:e,...t}=o.config;n=r(n,t)}(await d(r(n,{root:e,base:t.base,configFile:t.config,logLevel:t.logLevel,mode:t.mode,build:{outDir:t.outDir},preview:{port:t.port,strictPort:t.strictPort,host:t.host,https:t.https,open:t.open}}))).printUrls()}catch(e){b(t.logLevel).error(w.red(`error when starting preview server:\n${e.stack}`),{error:e}),process.exit(1)}finally{V((e=>b(t.logLevel).info(e)))}})),H.help(),H.version(h),H.parse();export{V as stopProfiler};
1
+ import*as e from"path";import*as t from"fs";import{performance as o}from"node:perf_hooks";import{watch as n}from"chokidar";import{cac as i}from"cac";import{loadConfigFromFile as s,mergeConfig as r,build as a,resolveConfig as l,optimizeDeps as c,preview as d,loadEnv as p}from"vite";import{g as f,V as h,s as u,P as g,a as m}from"./index-D0CWM9o5.js";import{c as b,a as w,M as v,i as y,b as x,d as T,e as P,f as $,g as S,u as L}from"./plugin-BhmS15QR.js";import{parse as F}from"url";import*as E from"dir-compare";import j from"diff-match-patch";import{isBinaryFile as A}from"isbinaryfile";import*as I from"os";import*as k from"crypto";import D from"extract-zip";import C from"svgtofont";import"ejs";import"http-proxy-middleware";import"picocolors";import"axios";import"jsdom";import"https";import"memory-cache";import"process";import"child_process";import"console";import"zlib";import"express";function _(e){return null!=e&&!1!==e}const N=[{key:"r",description:"restart the server",async action(e){await e.restart()}},{key:"u",description:"show server url",action(e){e.config.logger.info(""),e.printUrls()}},{key:"o",description:"open in browser",action(e){e.openBrowser()}},{key:"c",description:"clear console",action(e){e.config.logger.clearScreen("error")}},{key:"q",description:"quit",async action(e){await e.close().finally((()=>process.exit()))}},{key:"C",description:"clear proxy cache",action(e){e.cache&&(e.cache.clear(),e.config.logger.info("Proxy cache cleared"))}}];const M=/(.+)(-[a-f0-9]{6,20})(\.[a-z0-9]+)$/i;class R{oldAssetsPath;newAssetsPath;destinationPath;changelogFilename;changelogTemplate='<!DOCTYPE html>\n <html lang="en">\n <head>\n <meta charset="UTF-8" />\n <title>Changelog Diff</title>\n <style>\n tr,\n td {\n padding: 0;\n }\n .diff-file {\n margin-top: 20px;\n border: 1px solid #e1e4e8;\n border-radius: 6px;\n }\n .diff-file-title {\n padding: 10px 20px;\n background-color: #f6f8fa;\n border-bottom: 1px solid #e1e4e8;\n border-radius: 6px 6px 0 0;\n font-weight: bold;\n }\n .diff-file-title .renamed {\n font-weight: normal;\n }\n .diff-file-title .renamed .from {\n color: #cb2431;\n }\n .diff-file-title .renamed .to {\n color: #22863a;\n }\n .diff-file-title .added {\n color: #22863a;\n }\n .diff-file-title .deleted {\n color: #cb2431;\n }\n .diff-file-content {\n }\n .diff-table {\n tab-size: 8;\n width: 100%;\n border-collapse: separate;\n border-spacing: 0;\n }\n .blob-num {\n position: relative;\n color: #1f2328;\n width: 1%;\n min-width: 50px;\n padding: 0 10px;\n font-family: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;\n font-size: 12px;\n line-height: 20px;\n text-align: right;\n white-space: nowrap;\n vertical-align: top;\n cursor: pointer;\n -webkit-user-select: none;\n user-select: none;\n }\n .blob-num.addition {\n background-color: #ccffd8;\n border-color: #1f883e;\n }\n .blob-num.deletion {\n background-color: #ffd7d5;\n border-color: #cf222e;\n }\n .blob-num::before {\n content: attr(data-line-number);\n }\n .blob-code {\n position: relative;\n padding: 0 10px 0 22px;\n vertical-align: top;\n color: #1f2329;\n }\n .blob-code.code-addition {\n background-color: #e6ffec;\n }\n .blob-code.code-deletion {\n background-color: #ffebe9;\n }\n .blob-code.skip,\n .blob-code.message {\n text-align: center;\n }\n .blob-code.skip .blob-code-inner,\n .blob-code.message .blob-code-inner {\n font-weight: bold;\n color: #6a737d;\n padding: 10px 0;\n }\n .blob-code-inner {\n display: table-cell;\n overflow: visible;\n font-family: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;\n font-size: 12px;\n word-wrap: anywhere;\n white-space: pre-wrap;\n }\n .blob-code-inner::before {\n content: attr(data-code-prefix);\n position: absolute;\n top: 1px;\n left: 8px;\n padding-right: 8px;\n }\n </style>\n </head>\n <body>\n <h1>Changelog Diff</h1>\n\n %FILES%\n </body>\n </html>';diffFileTemplateHandler;diffLineTemplateHandler;contextLines=3;logger;constructor(t){const{oldAssetsPath:o,newAssetsPath:n,destinationPath:i,changelogTemplate:s,diffFileTemplateHandler:r,diffLineTemplateHandler:a,changelogFilename:l,contextLines:c}=t;if(this.logger=b(),!o||!n||!i)throw new Error("Previous assets path, current assets path and destination path are required");if(o===n)throw new Error("Previous and current assets paths must be different");if(!this.isExists(o))throw new Error(`Previous assets path ${o} does not exist`);if(!this.isExists(n))throw new Error(`Current assets path ${n} does not exist`);if(this.isZipFile(o)){const t=e.resolve(I.tmpdir(),k.createHash("md5").update(o).digest("hex"));this.oldAssetsPath=this.unzipFile(o,t).then((()=>this.normalizeAssetFolderPath(t))).then((e=>{if(this.isEmptyFolder(e))throw new Error(`Previous assets path ${e} is empty`);return e}))}else{if(!this.isFolder(o))throw new Error(`Invalid previous assets path ${o}. It must be a folder or a zip file`);{const e=this.normalizeAssetFolderPath(o);if(this.isEmptyFolder(e))throw new Error(`Previous assets path ${e} is empty`);this.oldAssetsPath=Promise.resolve(e)}}if(this.isZipFile(n)){const t=e.resolve(I.tmpdir(),k.createHash("md5").update(n).digest("hex"));this.newAssetsPath=this.unzipFile(n,t).then((()=>this.normalizeAssetFolderPath(t))).then((e=>{if(this.isEmptyFolder(e))throw new Error(`Current assets path ${e} is empty`);return e}))}else{if(!this.isFolder(n))throw new Error(`Invalid current assets path ${n}. It must be a folder or a zip file`);{const e=this.normalizeAssetFolderPath(n);if(this.isEmptyFolder(e))throw new Error(`Current assets path ${n} is empty`);this.newAssetsPath=Promise.resolve(e)}}this.destinationPath=i,this.mkdirpSync(this.destinationPath),this.changelogFilename=l||"CHANGELOG.html",s&&(this.templateIsValid(s)?this.changelogTemplate=s:this.logger.warn(w.yellow("Invalid changelog template, using default"))),"function"==typeof r&&(this.diffFileTemplateHandler=r),"function"==typeof a&&(this.diffLineTemplateHandler=a),c&&(this.contextLines=c)}templateIsValid(e){return e.includes("%FILES%")}isExists(e){return t.existsSync(e)}isZipFile(e){return e.endsWith(".zip")}isFolder(e){return t.lstatSync(e).isDirectory()}isEmptyFolder(e){return 0===t.readdirSync(e,{withFileTypes:!0}).length}mkdirpSync(e){t.existsSync(e)||t.mkdirSync(e,{recursive:!0})}async unzipFile(e,o){return t.rmSync(o,{force:!0,recursive:!0}),D(e,{dir:o})}normalizeAssetFolderPath(o){const n=t.readdirSync(o);return 1===n.length&&t.lstatSync(e.join(o,n[0])).isDirectory()?this.normalizeAssetFolderPath(e.join(o,n[0])):o}pathToPosix(e){return e.replace(/\\/g,"/")}diffTableTemplate(e){return`<table class="diff-table">\n <tbody>\n ${e}\n </tbody>\n </table>`}getDiffTableHTML(e){const t=e.filter(((e,t,o)=>0!==e.lineType||(t>=0&&t<this.contextLines||t>o.length-(this.contextLines+1)&&t<=o.length-1||o.slice(t-this.contextLines,t+this.contextLines+1).some((e=>0!==e.lineType))))).map(((e,t,o)=>{if(t>0){const n=o[t-1];if(e.lineNumber-n.lineNumber>1)return[{lineNumber:-1,lineContent:"",lineType:0},e]}return[e]})).flat().map((e=>this.diffLineHTML(e))).join("");return this.diffTableTemplate(t)}diffLineMessageTemplate(e){return`<tr>\n <td class="blob-num"></td>\n <td class="blob-num"></td>\n <td class="blob-code message">\n <span class="blob-code-inner">${e}</span>\n </td>\n </tr>`}diffLineSkipTemplate(){return'<tr>\n <td class="blob-num"></td>\n <td class="blob-num"></td>\n <td class="blob-code skip">\n <span class="blob-code-inner">Skip</span>\n </td>\n </tr>'}diffLineTemplate(e){const{lineNumber:t,lineContent:o,lineType:n}=e,i=1===n?"addition":-1===n?"deletion":"";return`<tr>\n <td\n class="blob-num ${i}${"addition"===i?" empty":""}"\n ${"addition"!==i?` data-line-number="${t}"`:""}\n ></td>\n <td\n class="blob-num ${i}${"deletion"===i?" empty":""}"\n ${"deletion"!==i?` data-line-number="${t}"`:""}\n ></td>\n <td class="blob-code ${1===n?"code-addition":-1===n?"code-deletion":""}">\n <span class="blob-code-inner" data-code-prefix="${1===n?"+":-1===n?"-":" "}">${s=o??"",s.replace(/[\u00A0-\u9999<>&]/g,(e=>"&#"+e.charCodeAt(0)+";"))}</span>\n </td>\n </tr>`;var s}diffLineHTML(e){if(this.diffLineTemplateHandler)return this.diffLineTemplateHandler(e);const{lineNumber:t}=e;return-1===t?this.diffLineSkipTemplate():this.diffLineTemplate(e)}diffFileTemplate(e,t){return this.diffFileTemplateHandler?this.diffFileTemplateHandler(e,t):`<div class="diff-file">\n <div class="diff-file-title">${e}</div>\n <div class="diff-file-content">${t}</div>\n </div>`}async generateAssetFoldersDiff(){this.logger.info(w.blue(`Comparing asset folders ${await this.oldAssetsPath} and ${await this.newAssetsPath}`));const e=await E.compare(await this.oldAssetsPath,await this.newAssetsPath,{compareContent:!0,skipSymlinks:!0,compareSize:!0,compareDate:!1,compareNameHandler:(e,t)=>(M.test(e)&&(e=e.replace(M,"$1$3")),M.test(t)&&(t=t.replace(M,"$1$3")),0===e.localeCompare(t)?0:e.localeCompare(t)>0?1:-1)});return e.diffSet?.filter((e=>"equal"!==e.state||e.name1!==e.name2))||[]}async generateAssetFilesDiff(e,t){const o=new j,n=o.diff_linesToChars_(e,t),i=o.diff_main(n.chars1,n.chars2,!1);o.diff_charsToLines_(i,n.lineArray);let s=0;return i.map((e=>{const[t,o]=e,n=o.endsWith("\n")?o.split("\n").length-1:o.split("\n").length,i=o.split("\n").map(((e,o)=>({lineContent:e,lineNumber:s+o+1,lineType:t}))).slice(0,n);return-1!==t&&(s+=n),i})).flat()}async generateFilesDiff(o){if("equal"===o.state){const t=this.pathToPosix(e.join(".",o.relativePath,o.name1??"")),n=this.pathToPosix(e.join(".",o.relativePath,o.name2??""));return this.diffFileTemplate(`<span class="renamed"\n >Renamed <span class="from">${t}</span> -> <span class="to">${n}</span></span\n >`,this.diffTableTemplate(this.diffLineMessageTemplate("No changes")))}const n=o.path1&&o.name1?e.join(o.path1,o.name1):null,i=o.path2&&o.name2?e.join(o.path2,o.name2):null,s=this.pathToPosix(e.join(".",o.relativePath,(o.name1||o.name2)??""));if("left"===o.state&&n)return this.diffFileTemplate(`<span class="removed">Removed ${s}</span>`,this.diffTableTemplate(this.diffLineMessageTemplate("File removed")));if("right"===o.state&&i)return this.diffFileTemplate(`<span class="added">Added ${s}</span>`,this.diffTableTemplate(this.diffLineMessageTemplate("File added")));if("distinct"===o.state&&n&&i){const r=this.pathToPosix(e.join(".",o.relativePath,o.name1??"")),a=this.pathToPosix(e.join(".",o.relativePath,o.name2??"")),l=o.name1!==o.name2?`<span class="renamed"\n >Renamed <span class="from">${r}</span> -> <span class="to">${a}</span></span\n >`:s;return this.diffFileTemplate(l,await A(n)||await A(i)?this.diffTableTemplate(this.diffLineMessageTemplate("Binary file")):this.getDiffTableHTML(await this.generateAssetFilesDiff(t.readFileSync(n,"utf-8"),t.readFileSync(i,"utf-8"))))}return""}async generateChangelog(){this.logger.info(w.green("Generating changelog"));const o=await this.generateAssetFoldersDiff(),n=(await Promise.all(o.map((e=>this.generateFilesDiff(e))))).join("");this.logger.info(w.green("Writing changelog file"));const i=this.changelogTemplate.split("%FILES%");i.splice(1,0,n);const s=i.join("");t.writeFileSync(e.join(this.destinationPath,this.changelogFilename),s),this.logger.info(w.green(`Changelog file written to ${e.join(this.destinationPath,this.changelogFilename)}`))}}class z{sourceDir;outputDir;fontName;constructor(e){this.sourceDir=e.sourceDir,this.outputDir=e.outputDir,this.fontName=e.fontName}async generate(){await C({src:this.sourceDir,dist:this.outputDir,fontName:this.fontName,css:!0,typescript:!0,startUnicode:59905,svgicons2svgfont:{fontHeight:1024}})}}const H=i("pp-dev");function G(t,o,i){const s=[...g,...m,"package.json","next.config.js","next.config.mjs","next.config.ts","vite.config.js","vite.config.mjs","vite.config.ts",".env",".env.local",".env.development",".env.development.local"].map((o=>e.join(t,o))),r=n(s,{ignored:t=>{const o=e.basename(t);return/(^|[\/\\])\../.test(t)&&!o.startsWith(".env")&&!o.startsWith(".pp-dev")&&!o.startsWith(".pp-watch")},persistent:!0,ignoreInitial:!0,followSymlinks:!1});let a=null;return r.on("change",(n=>{i(w.blue(`šŸ”§ Config file changed: ${e.relative(t,n)}`)),a&&clearTimeout(a),a=setTimeout((async()=>{try{i(w.yellow("šŸ”„ Restarting dev server due to config change...")),await o()}catch(e){i(w.red(`āŒ Failed to restart dev server: ${e?.message}. Stack: ${e?.stack}`))}}),500)})),r.on("error",(e=>{i(w.red(`āŒ Config watcher error: ${e}`))})),{watcher:r,restartCallback:o,logger:i}}function O(e){e.watcher&&e.watcher.close()}let U=global.__pp_dev_profile_session,W=0;const V=o=>{if(U)return new Promise(((n,i)=>{U.post("Profiler.stop",((s,{profile:r})=>{if(s)i(s);else{const i=e.resolve(`./pp-dev-profile-${W++}.cpuprofile`);t.writeFileSync(i,JSON.stringify(r)),o(w.yellow(`CPU profile written to ${w.white(w.dim(i))}`)),U=void 0,n()}}))}))},q=e=>{for(const[t,o]of Object.entries(e))Array.isArray(o)&&(e[t]=o[o.length-1])};function B(e){const t={...e};return delete t["--"],delete t.c,delete t.config,delete t.base,delete t.l,delete t.logLevel,delete t.clearScreen,delete t.d,delete t.debug,delete t.f,delete t.filter,delete t.m,delete t.mode,t}H.option("-c, --config <file>","[string] use specified config file").option("--base <path>","[string] public base path (default: /)").option("-l, --logLevel <level>","[string] info | warn | error | silent").option("--clearScreen","[boolean] allow/disable clear screen when logging").option("-d, --debug [feat]","[string | boolean] show debug logs").option("-f, --filter <filter>","[string] filter debug logs").option("-m, --mode <mode>","[string] set env mode"),H.command("[root]","start dev server").alias("serve").alias("dev").option("--host [host]","[string] specify hostname").option("--port <port>","[number] specify port").option("--https","[boolean] use TLS + HTTP/2").option("--open [path]","[boolean | string] open browser on startup").option("--cors","[boolean] enable CORS").option("--strictPort","[boolean] exit if specified port is already in use").option("--force","[boolean] force the optimizer to ignore the cache and re-bundle").action((async(t,n)=>{q(n);let i=null,a=null,l=!1;const c=t?e.resolve(process.cwd(),t):process.cwd(),d=b(n.logLevel),u=async()=>{if(!l){l=!0;try{i&&(d.info(w.yellow("šŸ›‘ Stopping existing dev server...")),await i.close(),i=null);const{clearConfigCache:e}=await import("./index-D0CWM9o5.js").then((e=>e.d));e();const{createServer:g}=await import("vite"),m=await s({mode:n.mode||"development",command:"serve"},n.config,t,n.logLevel);let v=await f();const y=p(n.mode||"development",t??process.cwd(),"");if(y&&Object.keys(y).forEach((e=>{e.startsWith("MI_")&&(process.env[e]=y[e])})),m){const{plugins:e,...t}=m.config;v=r(v,t)}if(i=await g(r(v,{root:t,base:n.base,mode:n.mode,configFile:n.config,logLevel:n.logLevel,clearScreen:n.clearScreen,optimizeDeps:{force:n.force},server:B(n),customLogger:d},!0)),!i.config.base||"/"===i.config.base)throw new Error('base cannot be equal to "/" or empty string');if(!i.httpServer)throw new Error("HTTP server not available");await i.listen();const x=global.__pp_dev_start_time??!1,T=x?w.dim(`ready in ${w.reset(w.bold(Math.ceil(o.now()-x)))} ms`):"";d.info(`\n ${w.green(`${w.bold("PP-DEV")} v${h}`)} ${T}\n`),i.printUrls(),function(e,t){if(!e.httpServer||!process.stdin.isTTY||process.env.CI)return;e._shortcutsOptions=t;const o=b();t.print&&o.info(w.dim(w.green(" āžœ"))+w.dim(" press ")+w.bold("h")+w.dim(" to show help"));const n=(t.customShortcuts??[]).filter(_).concat(N);let i=!1;const s=async t=>{if(""===t||""===t)return void await e.close().finally((()=>process.exit(1)));if(i)return;"h"===t&&o.info(["",w.bold(" Shortcuts"),...n.map((e=>w.dim(" press ")+w.bold(e.key)+w.dim(` to ${e.description}`)))].join("\n"));const s=n.find((e=>e.key===t));s&&(i=!0,await s.action(e),i=!1)};process.stdin.setRawMode(!0),process.stdin.on("data",s).setEncoding("utf8").resume(),e.httpServer.on("close",(()=>{process.stdin.off("data",s).pause()}))}(i,{print:!0,customShortcuts:[...U?[{key:"p",description:"start/stop the profiler",async action(e){if(U)await V(d.info);else{const e=await import("node:inspector").then((e=>e.default));await new Promise((t=>{U=new e.Session,U.connect(),U.post("Profiler.enable",(()=>{U?.post("Profiler.start",(()=>{d.info("Profiler started"),t()}))}))}))}}}]:[],{key:"l",description:"proxy re-login",action(e){e.ws.send({type:"custom",event:"redirect",data:{url:`/auth/index/logout?proxyRedirect=${encodeURIComponent("/")}`}})}}]}),a||(a=G(c,u,d.info),d.info(w.blue("šŸ”§ Config file watcher started"))),l=!1}catch(e){l=!1,d.error(w.red(`error when starting dev server:\n${e.stack}`),{error:e}),V(d.info),process.exit(1)}}},g=async e=>{d.info(w.yellow(`\nšŸ›‘ Received ${e}, shutting down gracefully...`));try{a&&(O(a),a=null),i&&(await i.close(),i=null),V(d.info),d.info(w.green("āœ… Graceful shutdown completed")),process.exit(0)}catch(e){d.error(w.red(`āŒ Error during graceful shutdown: ${e}`)),process.exit(1)}};process.on("SIGINT",(()=>g("SIGINT"))),process.on("SIGTERM",(()=>g("SIGTERM"))),process.on("uncaughtException",(e=>{d.error(w.red(`āŒ Uncaught Exception: ${e}`)),g("uncaughtException")})),process.on("unhandledRejection",((e,t)=>{d.error(w.red(`āŒ Unhandled Rejection at: ${t}, reason: ${e}`)),g("unhandledRejection")})),await u()})),H.command("next [root]","start Next.js development server with pp-dev integration").alias("next-serve").alias("next-dev").option("--host [host]","[string] specify hostname").option("--port <port>","[number] specify port",{default:3e3}).option("--https","[boolean] use TLS + HTTP/2").option("--open [path]","[boolean | string] open browser on startup").option("--cors","[boolean] enable CORS").option("--strictPort","[boolean] exit if specified port is already in use").option("--force","[boolean] force the optimizer to ignore the cache and re-bundle").action((async(e,t)=>{q(t);let o=null,n=null,i=null,s=!1;const r=b(),a=async()=>{if(!s){s=!0;try{const{next:c,constants:d}=await u(),{PHASE_DEVELOPMENT_SERVER:f}=d;n&&(r.info(w.yellow("šŸ›‘ Stopping existing Next.js server...")),await new Promise((e=>{n.close((()=>{n=null,e()}))}))),o&&"function"==typeof o.close&&(await o.close(),o=null);const{clearConfigCache:h}=await import("./index-D0CWM9o5.js").then((e=>e.d));h();const{join:g,basename:m}=await import("path"),{createServer:b}=await import("http"),E=await import("next/dist/server/config.js"),j=E.default.default||E["module.exports"].default||E.default,A=B(t),I=p(t.mode||"development",e??process.cwd(),"");I&&Object.keys(I).forEach((e=>{e.startsWith("MI_")&&(process.env[e]=I[e])}));const k=e?g(process.cwd(),e):process.cwd();r.info(k);const D=await j(f,k);let C=D?.ppDev||{};if(0===Object.keys(C).length)try{const{getConfig:e}=await import("./index-D0CWM9o5.js").then((e=>e.d)),t=await e();Object.keys(t).length>0?(C=t,r.info(w.blue("šŸ”§ Loaded pp-dev config from standalone config file"))):r.info(w.yellow("āš ļø No pp-dev config found in Next.js config or standalone file, using defaults"))}catch(e){r.info(w.yellow("āš ļø Failed to load standalone pp-dev config, using defaults")),console.debug("Error loading standalone config:",e)}else r.info(w.blue("šŸ”§ Loaded pp-dev config from Next.js config"));const{backendBaseURL:_=process.env.MI_BACKEND_URL||"http://localhost:8080",appId:N,portalPageId:M,templateLess:R=!0,v7Features:z=!0,disableSSLValidation:H=!1,enableProxyCache:U=!0,proxyCacheTTL:W=6e5,personalAccessToken:V=process.env.MI_ACCESS_TOKEN,miHudLess:q=!1}=C,Z=N??M??(process.env.MI_APP_ID&&parseInt(process.env.MI_APP_ID,10)||void 0)??(process.env.MI_PORTAL_PAGE_ID&&parseInt(process.env.MI_PORTAL_PAGE_ID,10)||void 0)??1;let K=null;if(!K)try{const{getPkg:e}=await import("./index-D0CWM9o5.js").then((e=>e.d));K=e().name}catch(e){K=m(k)}const Y="/p",J="/pl",Q=D?.basePath;let X="";if(Q?X=Q:(X=R?Y:z?J:"/pt",X+=`/${K}`),o=c({dev:!0,hostname:A.host||"localhost",port:A.port,dir:k,conf:{...D,basePath:X,assetPrefix:`${R?Y:"/pt"}/${K}`}}),await o.prepare(),X.endsWith("/")||(X+="/"),"/"===X)throw new Error('basePath cannot be equal to "/" or equal to empty string');r.info(w.green("āœ… Next.js app prepared successfully")),r.info(w.blue(`šŸ”§ pp-dev plugin configured for template: ${K}`)),r.info(w.blue(`šŸ”§ Base path configured: ${X}`)),_&&(r.info(w.blue(`🌐 Backend URL: ${_}`)),r.info(w.blue(`šŸ†” Custom App ID: ${Z}`)));const ee=o.getRequestHandler(),te="number"==typeof A.port?A.port:3e3,oe="string"==typeof A.host?A.host||"0.0.0.0":"localhost",ne=new Set;n=b((async(e,t)=>{try{const o=e.url||"/",n=o.split("?")[0];let i=F(o,!0);if(se.length>0){if(n.startsWith("/_next/")||"/favicon.ico"===n||n.startsWith("/__nextjs_")){if(re.length>0){let l=0;const c=()=>{if(l>=re.length)return void s();const o=re[l];l++,o(e,t,c)};return void c()}return void s()}let r=0;const a=()=>{if(r>=se.length)return void s();const o=se[r];r++,o(e,t,a)};return void a()}async function s(){if(n.startsWith(X))i=F(o,!0);else{if(n===X.replace(/\/$/,"")){const e=o.replace(n,X);return t.writeHead(302,{Location:e}),void t.end()}if(n.startsWith("/_next/")||"/favicon.ico"===n||n.startsWith("/__nextjs_"));else if("/"===n)return t.writeHead(302,{Location:X}),void t.end()}await ee(e,t,i)}s()}catch(d){console.error("[DEBUG] Error:",d),t.statusCode=500,t.end("Internal Server Error")}}));let ie=null,se=[],re=[];if(_){const e=new URL(_).host,t={headers:{host:e,referer:_,origin:_.replace(/^(https?:\/\/)([^/]+)(\/.*)?$/i,"$1$2")},portalPageId:Z,appId:Z,templateLess:R,disableSSLValidation:H,v7Features:z,personalAccessToken:V??process.env.MI_ACCESS_TOKEN};ie=new v(_,t);const o=y(X,K),n=(e,t,n)=>{o(e,t,n)};if(re.push(n),se.push(n),U){let e=+W;(!e||Number.isNaN(e)||e<0)&&(e=6e5);const t={middlewares:{use:e=>e},config:{logger:console}},o=x({devServer:t,ttl:e}),n=(e,t,n)=>{o(e,t,n)};se.push(n),r.info(w.blue(`šŸ”§ Proxy cache middleware added with TTL: ${e}ms`))}const i=X.endsWith("/")?X.substring(0,X.length-1):X,s={middlewares:{use:e=>e},config:{logger:console}},a=T({devServer:s,baseURL:_,proxyIgnore:["/@vite","/@metricinsights","/@",i,"/_next","/favicon.ico","/__nextjs_","/installHook.js.map"],disableSSLValidation:H,miAPI:ie}),c=(e,t,o)=>{a(e,t,o)};se.push(c);const d=new RegExp(`^((${l=X,l.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")})|/)$`),p=P(d,ie,{base:X,v7Features:z}),f=(e,t,o)=>{p(e,t,o)};se.push(f);const h=$,u=(e,t,o)=>{if(e.url?.startsWith("/@api/")){h(e,t,(()=>{}))}else o()};re.push(u),se.push(u);const g=S((e=>{const t=e.split("?")[0];return t.startsWith(X)&&!t.includes("/_next/")}),((t,o)=>Buffer.from(L(e,o.headers.host??"",ie.buildPage(t,q))))),m=(e,t,o)=>{g(e,t,o)};se.push(m),r.info(w.blue(`šŸ”§ ${se.length} pp-dev middlewares initialized`)),r.info(w.blue(`šŸ”§ ${re.length} essential middlewares for internal routes`)),r.info(w.blue(`šŸ”§ MiAPI initialized for backend: ${_}`)),r.info(w.blue(`šŸ”§ Custom App ID: ${Z}`))}n.listen(te,oe,(()=>{r.info(w.green(`āœ… pp-dev Next.js server running at http://${oe}:${te}`)),r.info(w.blue(`šŸ“± Next.js app accessible at http://${oe}:${te}${X}`)),r.info(w.blue("šŸ”§ Base path handling active")),i||(i=G(k,a,r.info),r.info(w.blue("šŸ”§ Config file watcher started"))),n.on("connection",(e=>{ne.add(e),e.on("close",(()=>ne.delete(e)))}));const e=async e=>{r.info(w.yellow(`\nšŸ›‘ Received ${e}, shutting down gracefully...`));const t=setTimeout((()=>{r.info(w.yellow("ā° Shutdown timeout reached, forcing exit")),process.exit(0)}),5e3);try{i&&(O(i),i=null);for(const e of Array.from(ne))e.destroy();ne.clear(),await new Promise((e=>{n.close((()=>{r.info(w.yellow("šŸ›‘ HTTP server closed")),e()}))})),o&&"function"==typeof o.close&&(await o.close(),r.info(w.yellow("šŸ›‘ Next.js app closed"))),clearTimeout(t),r.info(w.green("āœ… Graceful shutdown completed")),process.exit(0)}catch(e){clearTimeout(t),r.error(w.red(`āŒ Error during graceful shutdown: ${e}`)),process.exit(1)}};let t=process;if("function"!=typeof process.on){const e=globalThis.process||global.process;e&&"function"==typeof e.on&&(t=e,r.info(w.green("āœ… Using global process object for event handlers")))}if("function"==typeof t.on)try{t.on("SIGINT",(()=>e("SIGINT"))),t.on("SIGTERM",(()=>e("SIGTERM"))),t.on("uncaughtException",(t=>{r.error(w.red(`āŒ Uncaught Exception: ${t}`)),e("uncaughtException")})),t.on("unhandledRejection",((t,o)=>{r.error(w.red(`āŒ Unhandled Rejection at: ${o}, reason: ${t}`)),e("unhandledRejection")})),r.info(w.green("āœ… Process event handlers registered successfully"))}catch(e){r.warn(w.yellow(`āš ļø Failed to register process event handlers: ${e}`))}else r.warn(w.yellow("āš ļø process.on is not available, graceful shutdown handlers will not be registered")),r.info(w.blue("šŸ’” This might be due to bundling or environment constraints"))})),s=!1}catch(e){s=!1,r.error(w.red(`āŒ Failed to start Next.js server: ${e?.message}. Stack: ${e?.stack}`)),e instanceof Error&&e.message.includes("Next.js is required")&&(r.error(w.red("āŒ Next.js Peer Dependency Error:")),r.error(w.red(e.message)),r.error(w.yellow("\nšŸ’” To fix this issue:")),r.error(w.blue(" 1. Install Next.js in your project:")),r.error(w.white(" npm install next@^16")),r.error(w.blue(" 2. Or use yarn:")),r.error(w.white(" yarn add next@^16")),r.error(w.blue(" 3. Or use pnpm:")),r.error(w.white(" pnpm add next@^16")),r.error(w.yellow("\nšŸ“– For more information, see:")),r.error(w.blue(" https://nextjs.org/docs/getting-started"))),process.exit(1)}var l}},l=async e=>{r.info(w.yellow(`\nšŸ›‘ Received ${e}, shutting down gracefully...`));try{i&&(O(i),i=null),n&&await new Promise((e=>{n.close((()=>{n=null,e()}))})),o&&"function"==typeof o.close&&(await o.close(),o=null),r.info(w.green("āœ… Graceful shutdown completed")),process.exit(0)}catch(e){r.error(w.red(`āŒ Error during graceful shutdown: ${e}`)),process.exit(1)}};process.on("SIGINT",(()=>l("SIGINT"))),process.on("SIGTERM",(()=>l("SIGTERM"))),process.on("uncaughtException",(e=>{r.error(w.red(`āŒ Uncaught Exception: ${e}`)),l("uncaughtException")})),process.on("unhandledRejection",((e,t)=>{r.error(w.red(`āŒ Unhandled Rejection at: ${t}, reason: ${e}`)),l("unhandledRejection")})),await a()})),H.command("build [root]","build for production").option("--target <target>","[string] transpile target (default: 'modules')").option("--outDir <dir>","[string] output directory (default: dist)").option("--assetsDir <dir>","[string] directory under outDir to place assets in (default: assets)").option("--assetsInlineLimit <number>","[number] static asset base64 inline threshold in bytes (default: 4096)").option("--ssr [entry]","[string] build specified entry for server-side rendering").option("--sourcemap [output]",'[boolean | "inline" | "hidden"] output source maps for build (default: false)').option("--minify [minifier]",'[boolean | "terser" | "esbuild"] enable/disable minification, or specify minifier to use (default: esbuild)').option("--manifest [name]","[boolean | string] emit build manifest json").option("--ssrManifest [name]","[boolean | string] emit ssr manifest json").option("--force","[boolean] force the optimizer to ignore the cache and re-bundle (experimental)").option("--emptyOutDir","[boolean] force empty outDir when it's outside of root").option("-w, --watch","[boolean] rebuilds when modules have changed on disk").option("--changelog [assetsFile]","[boolean | string] generate changelog between assetsFile and current build (default: false)").action((async(o,n)=>{q(n);const i=B(n);try{const l=await s({mode:n.mode||"production",command:"build"},n.config,o,n.logLevel);let c=await f();if(l){const{plugins:e,...t}=l.config;c=r(c,t)}const d=r(c,{root:o,base:n.base,mode:n.mode,configFile:n.config,logLevel:n.logLevel,clearScreen:n.clearScreen,optimizeDeps:{force:n.force},build:i},!0);if(await a(d),i.changelog){const s=o||process.cwd(),r=d.build?.outDir||"dist";let a="";if("string"==typeof i.changelog)a=e.resolve(s,i.changelog);else{const o=e.resolve(s,d.ppDevConfig?.syncBackupsDir||"backups");if(!t.existsSync(o))return void b(n.logLevel).warn(w.yellow("backups directory not found, skipping changelog generation"));const i=t.readdirSync(o,{withFileTypes:!0});if(!i.length)return void b(n.logLevel).warn(w.yellow("no backups found, skipping changelog generation"));const r=i.filter((e=>e.isFile()&&e.name.endsWith(".zip"))).reduce(((n,i)=>t.statSync(e.resolve(o,n.name)).mtimeMs>t.statSync(e.resolve(o,i.name)).mtimeMs?n:i),i[0]).name;a=e.resolve(o,r)}const l=e.resolve(s,r);let c="dist-zip";d.ppDevConfig&&(!1===d.ppDevConfig.distZip?c=d.build?.outDir||"dist":"object"==typeof d.ppDevConfig.distZip&&"string"==typeof d.ppDevConfig.distZip.outDir&&(c=d.ppDevConfig.distZip.outDir));const p=new R({oldAssetsPath:a,newAssetsPath:l,destinationPath:e.resolve(s,c)});await p.generateChangelog()}}catch(e){b(n.logLevel).error(w.red(`error during build:\n${e.stack}`),{error:e}),process.exit(1)}finally{V((e=>b(n.logLevel).info(e)))}})),H.command("changelog [oldAssetPath] [newAssetPath]","generate changelog between two assets files/folders").option("--oldAssetsPath <oldAssetsPath>","[string] path to the old assets zip file or folder").option("--newAssetsPath <newAssetsPath>","[string] path to the new assets zip file or folder").option("--destination <destination>","[string] destination folder for the changelog (default: .)").option("--filename <filename>","[string] filename for the changelog (default: CHANGELOG.html)").action((async(t,o,n)=>{q(n);const{oldAssetsPath:i=t,newAssetsPath:s=o,destination:r=".",filename:a="CHANGELOG.html",logLevel:l}=n,c=process.cwd();i&&s||(b(l).error(w.red("error during changelog generation: oldAssetPath and newAssetPath are required")),process.exit(1));const d=e.resolve(c,i),p=e.resolve(c,s),f=e.resolve(c,r),h=new R({oldAssetsPath:d,newAssetsPath:p,destinationPath:f,changelogFilename:a});await h.generateChangelog()})),H.command("generate-icon-font [source] [destination]","generate icon font from SVG files").option("--source <source>","[string] path to the source directory with SVG files").option("--destination <destination>","[string] path to the destination directory to save the generated font files").option("--font-name, -n <fontName>","[string] name of the font to generate (default: 'icon-font')").action((async(t,o,n)=>{q(n);const{source:i=t,destination:s=o,fontName:r="icon-font"}=n,a=process.cwd(),l=e.resolve(a,i),c=e.resolve(a,s),d=new z({sourceDir:l,outputDir:c,fontName:r}),p=b(n.logLevel);p.info(`Generating icon font from SVG files in ${w.dim(l)}`),await d.generate(),p.info(`Icon font generated and saved to ${w.dim(c)}`)})),H.command("optimize [root]","pre-bundle dependencies").option("--force","[boolean] force the optimizer to ignore the cache and re-bundle").action((async(e,t)=>{q(t);try{const o=await s({mode:t.mode||"production",command:"build"},t.config,e,t.logLevel);let n=await f();if(o){const{plugins:e,...t}=o.config;n=r(n,t)}const i=await l(r(n,{root:e,base:t.base,configFile:t.config,logLevel:t.logLevel,mode:t.mode}),"serve");await c(i,t.force,!0)}catch(e){b(t.logLevel).error(w.red(`error when optimizing deps:\n${e.stack}`),{error:e}),process.exit(1)}})),H.command("preview [root]","locally preview production build").option("--host [host]","[string] specify hostname").option("--port <port>","[number] specify port").option("--strictPort","[boolean] exit if specified port is already in use").option("--https","[boolean] use TLS + HTTP/2").option("--open [path]","[boolean | string] open browser on startup").option("--outDir <dir>","[string] output directory (default: dist)").action((async(e,t)=>{q(t);try{const o=await s({mode:t.mode||"production",command:"build"},t.config,e,t.logLevel);let n=await f();if(o){const{plugins:e,...t}=o.config;n=r(n,t)}(await d(r(n,{root:e,base:t.base,configFile:t.config,logLevel:t.logLevel,mode:t.mode,build:{outDir:t.outDir},preview:{port:t.port,strictPort:t.strictPort,host:t.host,https:t.https,open:t.open}}))).printUrls()}catch(e){b(t.logLevel).error(w.red(`error when starting preview server:\n${e.stack}`),{error:e}),process.exit(1)}finally{V((e=>b(t.logLevel).info(e)))}})),H.help(),H.version(h),H.parse();export{V as stopProfiler};
2
2
  //# sourceMappingURL=cli.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sources":["../../../src/shortcuts.ts","../../../src/lib/changelog-generator.ts","../../../src/lib/icon-font-generator.ts","../../../src/cli.ts"],"sourcesContent":[null,null,null,null],"names":["isDefined","value","BASE_SHORTCUTS","key","description","action","server","restart","config","logger","info","printUrls","openBrowser","clearScreen","close","finally","process","exit","cache","clear","fileNameWithHashRegEx","ChangelogGenerator","oldAssetsPath","newAssetsPath","destinationPath","changelogFilename","changelogTemplate","diffFileTemplateHandler","diffLineTemplateHandler","contextLines","constructor","opts","this","createLogger","Error","isExists","isZipFile","unzipDestinationPath","path","resolve","os","tmpdir","crypto","createHash","update","digest","unzipFile","then","normalizeAssetFolderPath","isEmptyFolder","isFolder","Promise","mkdirpSync","templateIsValid","warn","colors","yellow","template","includes","assetPath","fs","existsSync","endsWith","lstatSync","isDirectory","readdirSync","withFileTypes","length","dir","mkdirSync","recursive","rmSync","force","extractZip","folderContent","join","pathToPosix","replace","diffTableTemplate","diffLinesHTML","getDiffTableHTML","diffLines","filter","index","array","lineType","slice","some","line","map","prevLine","lineNumber","lineContent","flat","diffLineHTML","diffLineMessageTemplate","message","diffLineSkipTemplate","diffLineTemplate","diffLine","numClass","str","i","charCodeAt","diffFileTemplate","filename","htmlDiff","generateAssetFoldersDiff","blue","dirDiff","dirCompare","compare","compareContent","skipSymlinks","compareSize","compareDate","compareNameHandler","name1","name2","test","localeCompare","diffSet","d","state","generateAssetFilesDiff","oldFileString","newFileString","dmp","DiffMatchPatch","linesChars","diff_linesToChars_","linesDiff","diff_main","chars1","chars2","diff_charsToLines_","lineArray","linesCount","split","lines","generateFilesDiff","difference","filepath1","relativePath","filepath2","assetFile1Path","path1","assetFile2Path","path2","filepath","filenameTitle","isBinaryFile","readFileSync","generateChangelog","green","all","templateArray","splice","changelogHTML","writeFileSync","IconFontGenerator","sourceDir","outputDir","fontName","options","generate","svgToFont","src","dist","css","typescript","startUnicode","svgicons2svgfont","fontHeight","cli","cac","createConfigWatcher","projectRoot","restartCallback","watchPatterns","PP_DEV_CONFIG_NAMES","PP_WATCH_CONFIG_NAMES","file","watcher","watch","ignored","filePath","base","basename","startsWith","persistent","ignoreInitial","followSymlinks","restartTimeout","on","relative","clearTimeout","setTimeout","async","error","red","stack","cleanupConfigWatcher","profileSession","global","__pp_dev_profile_session","profileCount","stopProfiler","log","res","rej","post","err","profile","outPath","JSON","stringify","white","dim","undefined","filterDuplicateOptions","Object","entries","Array","isArray","cleanOptions","ret","c","l","logLevel","debug","f","m","mode","option","command","alias","root","configWatcher","isRestarting","cwd","startServer","clearConfigCache","import","n","createServer","configFromFile","loadConfigFromFile","getViteConfig","envVars","loadEnv","keys","forEach","env","plugins","fileConfig","mergeConfig","configFile","optimizeDeps","customLogger","httpServer","listen","ppDevStartTime","__pp_dev_start_time","startupDurationString","reset","bold","Math","ceil","performance","now","VERSION","stdin","isTTY","CI","_shortcutsOptions","print","shortcuts","customShortcuts","concat","actionRunning","onInput","input","shortcut","find","setRawMode","setEncoding","resume","off","pause","bindShortcuts","inspector","r","default","Session","connect","ws","send","type","event","data","url","encodeURIComponent","e","gracefulShutdown","signal","reason","promise","nextApp","startNextServer","next","constants","safeNextImport","PHASE_DEVELOPMENT_SERVER","importConfig","loadConfig","ppDevConfig","ppDev","getConfig","standaloneConfig","console","backendBaseURL","MI_BACKEND_URL","appId","originalAppId","portalPageId","templateLess","v7Features","disableSSLValidation","enableProxyCache","proxyCacheTTL","personalAccessToken","MI_ACCESS_TOKEN","miHudLess","MI_APP_ID","parseInt","MI_PORTAL_PAGE_ID","templateName","getPkg","name","pathPagePrefix","pathTemplateLocalPrefix","configBasePath","basePath","dev","hostname","host","port","conf","assetPrefix","prepare","handle","getRequestHandler","openSockets","Set","req","originalUrl","originalPathname","parsedUrl","parse","fullMiddlewareChain","essentialMiddlewareChain","middlewareIndex","runEssentialMiddleware","processNextJSRequest","middleware","runMiddleware","redirectUrl","writeHead","Location","end","statusCode","mi","baseUrlHost","URL","miConfig","headers","referer","origin","MiAPI","ppRedirectMiddleware","initPPRedirect","ppRedirectWrapper","push","ttl","Number","isNaN","mockDevServer","middlewares","use","fn","proxyCacheMiddleware","initProxyCache","devServer","proxyCacheWrapper","baseWithoutTrailingSlash","substring","mockProxyDevServer","proxyPassMiddlewareInstance","proxyPassMiddleware","baseURL","proxyIgnore","miAPI","proxyPassWrapper","isIndexRegExp","RegExp","string","loadPPDataMiddleware","initLoadPPData","loadPPDataWrapper","internalServerMiddleware","internalServer","internalServerWrapper","rewriteResponseMiddleware","initRewriteResponse","response","Buffer","from","urlReplacer","buildPage","rewriteResponseWrapper","socket","add","delete","shutdownTimeout","destroy","processObj","globalProcess","globalThis","buildOptions","buildConfig","build","changelog","executionRoot","outDir","backupsDirPath","syncBackupsDir","backups","latestBackup","isFile","reduce","latest","current","statSync","mtimeMs","currentAssetFilePath","changelogDestination","distZip","changelogGenerator","oldAssetPath","newAssetPath","oldPath","newPath","destination","fullOldPath","fullNewPath","fullDestination","source","destDir","fullSourceDir","fullDestDir","iconFontGenerator","optimizeConfig","resolveConfig","preview","strictPort","https","open","help","version"],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sources":["../../../src/shortcuts.ts","../../../src/lib/changelog-generator.ts","../../../src/lib/icon-font-generator.ts","../../../src/cli.ts"],"sourcesContent":[null,null,null,null],"names":["isDefined","value","BASE_SHORTCUTS","key","description","action","server","restart","config","logger","info","printUrls","openBrowser","clearScreen","close","finally","process","exit","cache","clear","fileNameWithHashRegEx","ChangelogGenerator","oldAssetsPath","newAssetsPath","destinationPath","changelogFilename","changelogTemplate","diffFileTemplateHandler","diffLineTemplateHandler","contextLines","constructor","opts","this","createLogger","Error","isExists","isZipFile","unzipDestinationPath","path","resolve","os","tmpdir","crypto","createHash","update","digest","unzipFile","then","normalizeAssetFolderPath","isEmptyFolder","isFolder","Promise","mkdirpSync","templateIsValid","warn","colors","yellow","template","includes","assetPath","fs","existsSync","endsWith","lstatSync","isDirectory","readdirSync","withFileTypes","length","dir","mkdirSync","recursive","rmSync","force","extractZip","folderContent","join","pathToPosix","replace","diffTableTemplate","diffLinesHTML","getDiffTableHTML","diffLines","filter","index","array","lineType","slice","some","line","map","prevLine","lineNumber","lineContent","flat","diffLineHTML","diffLineMessageTemplate","message","diffLineSkipTemplate","diffLineTemplate","diffLine","numClass","str","i","charCodeAt","diffFileTemplate","filename","htmlDiff","generateAssetFoldersDiff","blue","dirDiff","dirCompare","compare","compareContent","skipSymlinks","compareSize","compareDate","compareNameHandler","name1","name2","test","localeCompare","diffSet","d","state","generateAssetFilesDiff","oldFileString","newFileString","dmp","DiffMatchPatch","linesChars","diff_linesToChars_","linesDiff","diff_main","chars1","chars2","diff_charsToLines_","lineArray","linesCount","split","lines","generateFilesDiff","difference","filepath1","relativePath","filepath2","assetFile1Path","path1","assetFile2Path","path2","filepath","filenameTitle","isBinaryFile","readFileSync","generateChangelog","green","all","templateArray","splice","changelogHTML","writeFileSync","IconFontGenerator","sourceDir","outputDir","fontName","options","generate","svgToFont","src","dist","css","typescript","startUnicode","svgicons2svgfont","fontHeight","cli","cac","createConfigWatcher","projectRoot","restartCallback","watchPatterns","PP_DEV_CONFIG_NAMES","PP_WATCH_CONFIG_NAMES","file","watcher","watch","ignored","filePath","base","basename","startsWith","persistent","ignoreInitial","followSymlinks","restartTimeout","on","relative","clearTimeout","setTimeout","async","error","red","stack","cleanupConfigWatcher","profileSession","global","__pp_dev_profile_session","profileCount","stopProfiler","log","res","rej","post","err","profile","outPath","JSON","stringify","white","dim","undefined","filterDuplicateOptions","Object","entries","Array","isArray","cleanOptions","ret","c","l","logLevel","debug","f","m","mode","option","command","alias","root","configWatcher","isRestarting","cwd","startServer","clearConfigCache","import","n","createServer","configFromFile","loadConfigFromFile","getViteConfig","envVars","loadEnv","keys","forEach","env","plugins","fileConfig","mergeConfig","configFile","optimizeDeps","customLogger","httpServer","listen","ppDevStartTime","__pp_dev_start_time","startupDurationString","reset","bold","Math","ceil","performance","now","VERSION","stdin","isTTY","CI","_shortcutsOptions","print","shortcuts","customShortcuts","concat","actionRunning","onInput","input","shortcut","find","setRawMode","setEncoding","resume","off","pause","bindShortcuts","inspector","r","default","Session","connect","ws","send","type","event","data","url","encodeURIComponent","e","gracefulShutdown","signal","reason","promise","nextApp","startNextServer","next","constants","safeNextImport","PHASE_DEVELOPMENT_SERVER","importConfig","loadConfig","ppDevConfig","ppDev","getConfig","standaloneConfig","console","backendBaseURL","MI_BACKEND_URL","appId","originalAppId","portalPageId","templateLess","v7Features","disableSSLValidation","enableProxyCache","proxyCacheTTL","personalAccessToken","MI_ACCESS_TOKEN","miHudLess","MI_APP_ID","parseInt","MI_PORTAL_PAGE_ID","templateName","getPkg","name","pathPagePrefix","pathTemplateLocalPrefix","configBasePath","basePath","dev","hostname","host","port","conf","assetPrefix","prepare","handle","getRequestHandler","openSockets","Set","req","originalUrl","originalPathname","parsedUrl","parse","fullMiddlewareChain","essentialMiddlewareChain","middlewareIndex","runEssentialMiddleware","processNextJSRequest","middleware","runMiddleware","redirectUrl","writeHead","Location","end","statusCode","mi","baseUrlHost","URL","miConfig","headers","referer","origin","MiAPI","ppRedirectMiddleware","initPPRedirect","ppRedirectWrapper","push","ttl","Number","isNaN","mockDevServer","middlewares","use","fn","proxyCacheMiddleware","initProxyCache","devServer","proxyCacheWrapper","baseWithoutTrailingSlash","substring","mockProxyDevServer","proxyPassMiddlewareInstance","proxyPassMiddleware","baseURL","proxyIgnore","miAPI","proxyPassWrapper","isIndexRegExp","RegExp","string","loadPPDataMiddleware","initLoadPPData","loadPPDataWrapper","internalServerMiddleware","internalServer","internalServerWrapper","rewriteResponseMiddleware","initRewriteResponse","pathname","response","Buffer","from","urlReplacer","buildPage","rewriteResponseWrapper","socket","add","delete","shutdownTimeout","destroy","processObj","globalProcess","globalThis","buildOptions","buildConfig","build","changelog","executionRoot","outDir","backupsDirPath","syncBackupsDir","backups","latestBackup","isFile","reduce","latest","current","statSync","mtimeMs","currentAssetFilePath","changelogDestination","distZip","changelogGenerator","oldAssetPath","newAssetPath","oldPath","newPath","destination","fullOldPath","fullNewPath","fullDestination","source","destDir","fullSourceDir","fullDestDir","iconFontGenerator","optimizeConfig","resolveConfig","preview","strictPort","https","open","help","version"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@metricinsights/pp-dev",
3
3
  "type": "module",
4
- "version": "0.14.0-beta.1",
4
+ "version": "0.14.1-beta.1",
5
5
  "description": "Portal Page dev build tool",
6
6
  "bin": {
7
7
  "pp-dev": "bin/pp-dev.js"
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@metricinsights/pp-dev",
3
3
  "type": "module",
4
- "version": "0.14.0",
4
+ "version": "0.14.1",
5
5
  "description": "Portal Page dev build tool",
6
6
  "bin": {
7
7
  "pp-dev": "bin/pp-dev.js"