@metricinsights/pp-dev 1.2.2 → 1.3.0
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/LICENSE +21 -0
- package/dist/cjs/cli.js +1 -1
- package/dist/cjs/cli.js.map +1 -1
- package/dist/cjs/{index-BYpGxymF.js → index-xObEyFiP.js} +2 -2
- package/dist/cjs/{index-BYpGxymF.js.map → index-xObEyFiP.js.map} +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/package.json +2 -2
- package/dist/cjs/plugin-DXUOFhPN.js +2 -0
- package/dist/cjs/plugin-DXUOFhPN.js.map +1 -0
- package/dist/cjs/plugin.js +1 -1
- package/dist/cjs/version-plugin-BXydoNOH.js +2 -0
- package/dist/cjs/version-plugin-BXydoNOH.js.map +1 -0
- package/dist/esm/cli.js +1 -1
- package/dist/esm/cli.js.map +1 -1
- package/dist/esm/{index-C7yA2HV8.js → index-BDerKo6V.js} +2 -2
- package/dist/esm/{index-C7yA2HV8.js.map → index-BDerKo6V.js.map} +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/package.json +2 -2
- package/dist/esm/plugin-CHYaG0Px.js +2 -0
- package/dist/esm/plugin-CHYaG0Px.js.map +1 -0
- package/dist/esm/plugin.js +1 -1
- package/dist/esm/version-plugin-gYCnpPok.js +2 -0
- package/dist/esm/{version-plugin-CgfQOMyf.js.map → version-plugin-gYCnpPok.js.map} +1 -1
- package/package.json +3 -3
- package/dist/cjs/plugin-BHngnaEU.js +0 -2
- package/dist/cjs/plugin-BHngnaEU.js.map +0 -1
- package/dist/cjs/version-plugin-7W1v65PU.js +0 -2
- package/dist/cjs/version-plugin-7W1v65PU.js.map +0 -1
- package/dist/esm/plugin-FSAnUcfG.js +0 -2
- package/dist/esm/plugin-FSAnUcfG.js.map +0 -1
- package/dist/esm/version-plugin-CgfQOMyf.js +0 -2
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Metric Insights, Inc.
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/dist/cjs/cli.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const e=require("path"),t=require("fs"),o=require("node:events"),n=require("node:perf_hooks"),i=require("chokidar"),r=require("cac"),s=require("./plugin-BHngnaEU.js"),a=require("./index-BYpGxymF.js"),l=require("vite"),c=require("url"),d=require("dir-compare"),p=require("diff-match-patch"),f=require("isbinaryfile"),u=require("os"),g=require("crypto"),h=require("extract-zip"),m=require("svgtofont"),b=require("ws");require("http-proxy-middleware"),require("picocolors"),require("axios"),require("node:http"),require("node:https"),require("jsdom"),require("process"),require("child_process"),require("node:path"),require("jszip"),require("module"),require("memory-cache"),require("zlib"),require("express"),require("node:crypto"),require("./helpers.js"),require("ejs");const v=e=>e&&"object"==typeof e&&"default"in e?e.default:e;function w(e){if(e&&"object"==typeof e&&"default"in e)return e;const t=Object.create(null);if(e)for(const o in e)t[o]=e[o];return t.default=e,Object.freeze(t)}const y=w(e),P=w(t),x=w(d),S=v(p),E=w(u),T=w(g),L=v(h),k=v(m);function D(e){return null!=e&&!1!==e}let I=null;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 _=/(.+)(-[a-f0-9]{6,20})(\.[a-z0-9]+)$/i;class ${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:\n ui-monospace,\n SFMono-Regular,\n SF Mono,\n Menlo,\n Consolas,\n Liberation Mono,\n 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:\n ui-monospace,\n SFMono-Regular,\n SF Mono,\n Menlo,\n Consolas,\n Liberation Mono,\n 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:t,newAssetsPath:o,destinationPath:n,changelogTemplate:i,diffFileTemplateHandler:r,diffLineTemplateHandler:a,changelogFilename:l,contextLines:c}=e;if(this.logger=s.createLogger(),!t||!o||!n)throw new Error("Previous assets path, current assets path and destination path are required");if(t===o)throw new Error("Previous and current assets paths must be different");if(!this.isExists(t))throw new Error(`Previous assets path ${t} does not exist`);if(!this.isExists(o))throw new Error(`Current assets path ${o} does not exist`);if(this.isZipFile(t)){const e=y.resolve(E.tmpdir(),T.createHash("md5").update(t).digest("hex"));this.oldAssetsPath=this.unzipFile(t,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(t))throw new Error(`Invalid previous assets path ${t}. It must be a folder or a zip file`);{const e=this.normalizeAssetFolderPath(t);if(this.isEmptyFolder(e))throw new Error(`Previous assets path ${e} is empty`);this.oldAssetsPath=Promise.resolve(e)}}if(this.isZipFile(o)){const e=y.resolve(E.tmpdir(),T.createHash("md5").update(o).digest("hex"));this.newAssetsPath=this.unzipFile(o,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(o))throw new Error(`Invalid current assets path ${o}. It must be a folder or a zip file`);{const e=this.normalizeAssetFolderPath(o);if(this.isEmptyFolder(e))throw new Error(`Current assets path ${o} 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(s.colors.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 P.existsSync(e)}isZipFile(e){return e.endsWith(".zip")}isFolder(e){return P.lstatSync(e).isDirectory()}isEmptyFolder(e){return 0===P.readdirSync(e,{withFileTypes:!0}).length}mkdirpSync(e){P.existsSync(e)||P.mkdirSync(e,{recursive:!0})}async unzipFile(e,t){return P.rmSync(t,{force:!0,recursive:!0}),L(e,{dir:t})}normalizeAssetFolderPath(e){const t=P.readdirSync(e);return 1===t.length&&P.lstatSync(y.join(e,t[0])).isDirectory()?this.normalizeAssetFolderPath(y.join(e,t[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 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?"-":" "}">${r=o??"",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: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(s.colors.blue(`Comparing asset folders ${await this.oldAssetsPath} and ${await this.newAssetsPath}`));const e=await x.compare(await this.oldAssetsPath,await this.newAssetsPath,{compareContent:!0,skipSymlinks:!0,compareSize:!0,compareDate:!1,compareNameHandler:(e,t)=>(_.test(e)&&(e=e.replace(_,"$1$3")),_.test(t)&&(t=t.replace(_,"$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 S,n=o.diff_linesToChars_(e,t),i=o.diff_main(n.chars1,n.chars2,!1);o.diff_charsToLines_(i,n.lineArray);let r=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:r+o+1,lineType:t})).slice(0,n);return-1!==t&&(r+=n),i}).flat()}async generateFilesDiff(e){if("equal"===e.state){const t=this.pathToPosix(y.join(".",e.relativePath,e.name1??"")),o=this.pathToPosix(y.join(".",e.relativePath,e.name2??""));return this.diffFileTemplate(`<span class="renamed"\n >Renamed <span class="from">${t}</span> -> <span class="to">${o}</span></span\n >`,this.diffTableTemplate(this.diffLineMessageTemplate("No changes")))}const t=e.path1&&e.name1?y.join(e.path1,e.name1):null,o=e.path2&&e.name2?y.join(e.path2,e.name2):null,n=this.pathToPosix(y.join(".",e.relativePath,(e.name1||e.name2)??""));if("left"===e.state&&t)return this.diffFileTemplate(`<span class="removed">Removed ${n}</span>`,this.diffTableTemplate(this.diffLineMessageTemplate("File removed")));if("right"===e.state&&o)return this.diffFileTemplate(`<span class="added">Added ${n}</span>`,this.diffTableTemplate(this.diffLineMessageTemplate("File added")));if("distinct"===e.state&&t&&o){const i=this.pathToPosix(y.join(".",e.relativePath,e.name1??"")),r=this.pathToPosix(y.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 f.isBinaryFile(t)||await f.isBinaryFile(o)?this.diffTableTemplate(this.diffLineMessageTemplate("Binary file")):this.getDiffTableHTML(await this.generateAssetFilesDiff(P.readFileSync(t,"utf-8"),P.readFileSync(o,"utf-8"))))}return""}async generateChangelog(){this.logger.info(s.colors.green("Generating changelog"));const e=await this.generateAssetFoldersDiff(),t=(await Promise.all(e.map(e=>this.generateFilesDiff(e)))).join("");this.logger.info(s.colors.green("Writing changelog file"));const o=this.changelogTemplate.split("%FILES%");o.splice(1,0,t);const n=o.join("");P.writeFileSync(y.join(this.destinationPath,this.changelogFilename),n),this.logger.info(s.colors.green(`Changelog file written to ${y.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 k({src:this.sourceDir,dist:this.outputDir,fontName:this.fontName,css:!0,typescript:!0,startUnicode:59905,svgicons2svgfont:{fontHeight:1024}})}}class A{wss;eventListeners=new Map;lifecycleListeners=new Map;clients=new Map;ws;constructor(){this.wss=new b.WebSocketServer({noServer:!0}),this.wss.on("connection",e=>this.onConnection(e)),this.wss.on("error",e=>this.fireLifecycle("error",e)),this.ws={on:(e,t)=>{"close"!==e&&"error"!==e?this.getEventSet(e).add(t):this.getLifecycleSet(e).add(t)},off:(e,t)=>{this.eventListeners.get(e)?.delete(t),"close"!==e&&"error"!==e||this.lifecycleListeners.get(e)?.delete(t)},send:(e,t)=>{if("string"==typeof e)for(const o of this.clients.keys())this.sendToSocket(o,e,t);else{const t=JSON.stringify(e);for(const e of this.clients.keys())e.readyState===b.WebSocket.OPEN&&e.send(t)}}}}handleUpgrade(e,t,o){return(e.url??"").split("?")[0]===s.PP_DEV_HMR_WS_PATH&&(this.wss.handleUpgrade(e,t,o,t=>{this.wss.emit("connection",t,e)}),!0)}async close(){this.fireLifecycle("close");for(const e of this.clients.keys())e.terminate();this.clients.clear(),await new Promise(e=>this.wss.close(()=>e()))}onConnection(e){const t={send:(t,o)=>this.sendToSocket(e,t,o)};this.clients.set(e,t),e.on("message",e=>this.onMessage(t,e)),e.on("close",()=>this.clients.delete(e)),e.on("error",()=>{})}onMessage(e,t){let o;try{o=JSON.parse(t.toString())}catch{return}if(!o||"custom"!==o.type||"string"!=typeof o.event)return;const n=this.eventListeners.get(o.event);if(n)for(const t of n)try{t(o.data,e)}catch(e){s.createLogger().error(`ws handler for "${o.event}" failed`,{error:e instanceof Error?e:new Error(String(e))})}}sendToSocket(e,t,o){e.readyState===b.WebSocket.OPEN&&e.send(JSON.stringify({type:"custom",event:t,data:o}))}fireLifecycle(e,t){for(const o of this.lifecycleListeners.get(e)??[])try{o(t)}catch{}}getEventSet(e){let t=this.eventListeners.get(e);return t||(t=new Set,this.eventListeners.set(e,t)),t}getLifecycleSet(e){let t=this.lifecycleListeners.get(e);return t||(t=new Set,this.lifecycleListeners.set(e,t)),t}}const C=r.cac("pp-dev");function N(e,t,o){const n=[...s.PP_DEV_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(t=>y.join(e,t)),r=i.watch(n,{ignored:e=>{const t=y.basename(e);return/(^|[\/\\])\../.test(e)&&!t.startsWith(".env")&&!t.startsWith(".pp-dev")&&!t.startsWith(".pp-watch")},persistent:!0,ignoreInitial:!0,followSymlinks:!1});let a=null;return r.on("change",n=>{o(s.colors.blue(`🔧 Config file changed: ${y.relative(e,n)}`)),a&&clearTimeout(a),a=setTimeout(async()=>{try{o(s.colors.yellow("🔄 Restarting dev server due to config change...")),await t()}catch(e){o(s.colors.red(`❌ Failed to restart dev server: ${e?.message}. Stack: ${e?.stack}`))}},500)}),r.on("error",e=>{o(s.colors.red(`❌ Config watcher error: ${e}`))}),{watcher:r,restartCallback:t,logger:o}}function R(e){e.watcher&&e.watcher.close()}function M(e){if(!e||"object"!=typeof e||!("message"in e))return!1;const t=String(e.message);return/Turbopack is not supported/i.test(t)||/native bindings are not available/i.test(t)||/Only WebAssembly \(WASM\) bindings were loaded/i.test(t)}async function O(e){const{changelog:t,executionRoot:o,newAssetsPath:n,backupsDirPath:i,changelogDestinationPath:r,logLevel:a}=e;let l;if("string"==typeof t)l=y.resolve(o,t);else{if(!P.existsSync(i))return void s.createLogger(a).warn(s.colors.yellow("backups directory not found, skipping changelog generation"));const e=P.readdirSync(i,{withFileTypes:!0});if(!e.length)return void s.createLogger(a).warn(s.colors.yellow("no backups found, skipping changelog generation"));const t=e.filter(e=>e.isFile()&&e.name.endsWith(".zip"));if(!t.length)return void s.createLogger(a).warn(s.colors.yellow("no ZIP backups found, skipping changelog generation"));const o=t.reduce((e,t)=>P.statSync(y.resolve(i,e.name)).mtimeMs>P.statSync(y.resolve(i,t.name)).mtimeMs?e:t).name;l=y.resolve(i,o)}const c=new $({oldAssetsPath:l,newAssetsPath:n,destinationPath:r});await c.generateChangelog()}let q=global.__pp_dev_profile_session,V=0;const H=e=>{if(q)return new Promise((t,o)=>{q.post("Profiler.stop",(n,{profile:i})=>{if(n)o(n);else{const o=y.resolve(`./pp-dev-profile-${V++}.cpuprofile`);P.writeFileSync(o,JSON.stringify(i)),e(s.colors.yellow(`CPU profile written to ${s.colors.white(s.colors.dim(o))}`)),q=void 0,t()}})})},z=e=>{for(const[t,o]of Object.entries(e))Array.isArray(o)&&(e[t]=o[o.length-1])};function U(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}C.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"),C.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,t)=>{z(t);let o=null,i=null,r=!1;const c=e?y.resolve(process.cwd(),e):process.cwd(),d=s.createLogger(t.logLevel),p=async()=>{if(!r){r=!0;try{o&&(d.info(s.colors.yellow("🛑 Stopping existing dev server...")),await o.close(),o=null);const{clearConfigCache:f,getConfig:u}=await Promise.resolve().then(()=>require("./index-BYpGxymF.js")).then(e=>e.config);f();const{createServer:g}=await import("vite"),h=t.mode||"development",m=y.resolve(process.cwd(),e??".");a.loadPPDevEnv(h,m);const b=await l.loadConfigFromFile({mode:h,command:"serve"},t.config,e,t.logLevel);let v=await a.getViteConfig(void 0,{mode:h,root:m});if(b){const{plugins:e,...t}=b.config;v=l.mergeConfig(v,t)}if(o=await g(l.mergeConfig(v,{root:e,base:t.base,mode:t.mode,configFile:t.config,logLevel:t.logLevel,clearScreen:t.clearScreen,optimizeDeps:{force:t.force},server:U(t),customLogger:d},!0)),!o.config.base||"/"===o.config.base)throw new Error('base cannot be equal to "/" or empty string');if(!o.httpServer)throw new Error("HTTP server not available");await o.listen();const w=global.__pp_dev_start_time??!1,P=w?s.colors.dim(`ready in ${s.colors.reset(s.colors.bold(Math.ceil(n.performance.now()-w)))} ms`):"";d.info(`\n ${s.colors.green(`${s.colors.bold("PP-DEV")} v${s.VERSION}`)} ${P}\n`),o.printUrls();const x=await u(m);if(!1!==x.inspector?.enabled){const e=o.resolvedUrls?.local[0],t=e?new URL(e).origin:`http://localhost:${o.config.server.port??5173}`;d.info(`\n ${s.colors.cyan("🔍 Request Inspector")} ${s.colors.dim(t+s.INSPECTOR_PATH)}\n`)}!function(e,t){if(!e.httpServer||!process.stdin.isTTY||process.env.CI)return;e._shortcutsOptions=t;const o=s.createLogger();t.print&&o.info(s.colors.dim(s.colors.green(" ➜"))+s.colors.dim(" press ")+s.colors.bold("h")+s.colors.dim(" to show help"));const n=(t.customShortcuts??[]).filter(D).concat(F);I?.(),I=null;let i=!1;const r=process.stdin.isPaused(),a=process.stdin,l=Boolean(a.isRaw),c=async t=>{if(""===t)return void process.kill(process.pid,"SIGINT");if(""===t)return void await e.close().finally(()=>process.exit(0));if(i)return;"h"===t&&o.info(["",s.colors.bold(" Shortcuts"),...n.map(e=>s.colors.dim(" press ")+s.colors.bold(e.key)+s.colors.dim(` to ${e.description}`))].join("\n"));const r=n.find(e=>e.key===t);r&&(i=!0,await r.action(e),i=!1)};process.stdin.setRawMode(!0),process.stdin.on("data",c).setEncoding("utf8").resume();const d=e.httpServer,p=()=>{I===p&&(d.removeListener("close",p),process.stdin.off("data",c),l||process.stdin.setRawMode(!1),r&&process.stdin.pause(),I=null)};I=p,d.on("close",p)}(o,{print:!0,customShortcuts:[...q?[{key:"p",description:"start/stop the profiler",async action(e){if(q)await H(d.info);else{const e=await import("node:inspector").then(e=>e.default);await new Promise(t=>{q=new e.Session,q.connect(),q.post("Profiler.enable",()=>{q?.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("/")}`}})}}]}),i||(i=N(c,p,d.info),d.info(s.colors.blue("🔧 Config file watcher started"))),r=!1}catch(e){r=!1,d.error(s.colors.red(`error when starting dev server:\n${e.stack}`),{error:e}),H(d.info),process.exit(1)}}},f=async e=>{d.info(s.colors.yellow(`\n🛑 Received ${e}, shutting down gracefully...`));try{i&&(R(i),i=null),o&&(await o.close(),o=null),H(d.info),d.info(s.colors.green("✅ Graceful shutdown completed")),process.exit(0)}catch(e){d.error(s.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(s.colors.red(`❌ Uncaught Exception: ${e}`)),f("uncaughtException")}),process.on("unhandledRejection",(e,t)=>{d.error(s.colors.red(`❌ Unhandled Rejection at: ${t}, reason: ${e}`)),f("unhandledRejection")}),await p()}),C.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").option("--webpack","[boolean] use Webpack for Next dev (use when Turbopack/native SWC is unavailable)").option("--turbopack","[boolean] use Turbopack for Next dev when native bindings work").action(async(e,t)=>{z(t);let n=null,i=null,r=null,l=null,d=!1;const p=s.createLogger(),f=async()=>{if(!d){d=!0;try{const{next:g,constants:h}=await a.safeNextImport(),{PHASE_DEVELOPMENT_SERVER:m}=h;r&&(await r.close(),r=null),i&&(p.info(s.colors.yellow("🛑 Stopping existing Next.js server...")),await new Promise(e=>{i.close(()=>{i=null,e()})})),n&&"function"==typeof n.close&&(await n.close(),n=null);const{clearConfigCache:b}=await Promise.resolve().then(()=>require("./index-BYpGxymF.js")).then(e=>e.config);b();const{join:v,basename:w}=await import("path"),{createServer:x}=await import("http"),S=await import("next/dist/server/config.js"),E=S.default.default||S["module.exports"].default||S.default,T=U(t),L=e?v(process.cwd(),e):process.cwd();a.loadPPDevEnv(t.mode||"development",L),p.info(L);const k=await E(m,L);let D=k?.ppDev||{};if(0===Object.keys(D).length)try{const{getConfig:e}=await Promise.resolve().then(()=>require("./index-BYpGxymF.js")).then(e=>e.config),t=await e(L);Object.keys(t).length>0?(D=t,p.info(s.colors.blue("🔧 Loaded pp-dev config from standalone config file"))):p.info(s.colors.yellow("⚠️ No pp-dev config found in Next.js config or standalone file, using defaults"))}catch(e){p.info(s.colors.yellow("⚠️ Failed to load standalone pp-dev config, using defaults")),console.debug("Error loading standalone config:",e)}else p.info(s.colors.blue("🔧 Loaded pp-dev config from Next.js config"));let I=null;try{const{getPkg:e}=await Promise.resolve().then(()=>require("./index-BYpGxymF.js")).then(e=>e.config);I=e(L).name}catch{I=w(L)}s.validatePPDevConfig(D,I??"");const F=s.normalizePPDevConfig(D,I??""),_=F.backendBaseURL??"http://localhost:8080",$=F.templateLess,j=F.v7Features,C=F.disableSSLValidation,O=F.enableProxyCache,q=F.proxyCacheTTL,V=F.personalAccessToken,H=F.miHudLess,z=F.inspectorEnabled,W=F.inspectorMaxMemory,B=F.inspectorCaptureLimit,Z=F.appId??(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,G=k?.basePath;let X="";G?X=G:(X=$?s.PATH_PAGE_PREFIX:j?s.PATH_TEMPLATE_LOCAL_PREFIX:s.PATH_TEMPLATE_PREFIX,X+=`/${I}`);const J=function(e){const t="1"===process.env.PP_DEV_NEXT_WEBPACK||"true"===process.env.PP_DEV_NEXT_WEBPACK;if(t&&(e.webpack||e.turbopack))throw new Error("Do not combine PP_DEV_NEXT_WEBPACK with --webpack or --turbopack");if(t)return{webpack:!0};if(e.webpack&&e.turbopack)throw new Error("Use only one of --webpack or --turbopack");return e.webpack?{webpack:!0}:e.turbopack?{turbopack:!0}:{}}(t),K=async e=>{delete process.env.TURBOPACK,n&&"function"==typeof n.close&&(await n.close(),n=null);const t={dev:!0,customServer:!0,hostname:T.host||"localhost",port:T.port,dir:L,conf:{...k,basePath:X,assetPrefix:X}};e.webpack?t.webpack=!0:e.turbopack&&(t.turbopack=!0),n=g(t),await n.prepare()};if(J.webpack)await K({webpack:!0});else if(J.turbopack)try{await K({turbopack:!0})}catch(e){if(!M(e))throw e;p.warn(s.colors.yellow("⚠ Turbopack is unavailable (native bindings). Falling back to Webpack.")),await K({webpack:!0})}else try{await K({})}catch(e){if(!M(e))throw e;p.warn(s.colors.yellow("⚠ Turbopack cannot run (native Next.js bindings unavailable). Falling back to Webpack.")),await K({webpack:!0})}if(!n)throw new Error("Next.js app failed to initialize");if(X.endsWith("/")||(X+="/"),"/"===X)throw new Error('basePath cannot be equal to "/" or equal to empty string');p.info(s.colors.green("✅ Next.js app prepared successfully")),p.info(s.colors.blue(`🔧 pp-dev plugin configured for template: ${I}`)),p.info(s.colors.blue(`🔧 Base path configured: ${X}`)),_&&(p.info(s.colors.blue(`🌐 Backend URL: ${_}`)),p.info(s.colors.blue(`🆔 Custom App ID: ${Z}`)));const Y=n.getRequestHandler(),Q="number"==typeof T.port?T.port:3e3,ee="string"==typeof T.host?T.host||"0.0.0.0":"localhost",te=new Set;i=x(async(e,t)=>{try{const o=e.url||"/",n=o.split("?")[0];let i=c.parse(o,!0);if(ne.length>0){if(n.startsWith("/_next/")||"/favicon.ico"===n||n.startsWith("/__nextjs_")){if(ie.length>0){let l=0;const d=()=>{if(l>=ie.length)return void r();const o=ie[l];l++,o(e,t,d)};return void d()}return void r()}let s=0;const a=()=>{if(s>=ne.length)return void r();const o=ne[s];s++,o(e,t,a)};return void a()}async function r(){if(n.startsWith(X))i=c.parse(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 Y(e,t,i)}r()}catch(f){p.error(`Error handling request: ${f instanceof Error?f.message:String(f)}`,{error:f instanceof Error?f:void 0}),t.statusCode=500,t.end("Internal Server Error")}});let oe=null,ne=[],ie=[];if(!1!==z){const e=new s.RequestStore(W);s.registerInspectorRoutes(s.internalServer,e,B);const t=s.createRequestCaptureMiddleware(e,B);ne.push(t)}if(_){const e=new URL(_).host;_.startsWith("https://")&&(o.EventEmitter.defaultMaxListeners=Math.max(o.EventEmitter.defaultMaxListeners,20));const t={headers:{host:e,referer:_,origin:_.replace(/^(https?:\/\/)([^/]+)(\/.*)?$/i,"$1$2")},appId:Z,templateLess:$,disableSSLValidation:C,v7Features:j,personalAccessToken:V??process.env.MI_ACCESS_TOKEN};oe=new s.MiAPI(_,t);const l=s.initPPRedirect(X,I??void 0),c=(e,t,o)=>{l(e,t,o)};ie.push(c),ne.push(c);const d=a.createDevPanelAssetMiddleware(X);if(ie.push(d),ne.push(d),O){let e=+q;(!e||Number.isNaN(e)||e<0)&&(e=6e5);const t={devServer:{middlewares:{use:e=>e},config:{logger:console}},ttl:e},o=s.initProxyCache(t),n=(e,t,n)=>{o(e,t,n)};ne.push(n),p.info(s.colors.blue(`🔧 Proxy cache middleware added with TTL: ${e}ms`))}const f=new RegExp(`^((${u=X,u.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")})|/)$`),g=s.initLoadPPData(f,oe,Object.assign({base:X},t,{miHudLess:H})),m=(e,t,o)=>{g(e,t,o)};ne.push(m);const b=X.endsWith("/")?X.substring(0,X.length-1):X,v={middlewares:{use:e=>e},config:{logger:console}},x=s.initProxy({devServer:v,baseURL:_,proxyIgnore:["/@vite","/@metricinsights","/@",b,"/_next","/favicon.ico","/__nextjs_","/installHook.js.map"],disableSSLValidation:C,miAPI:oe,templateName:I??void 0}),S=(e,t,o)=>{x(e,t,o)};ne.push(S);const T=s.internalServer,D=(e,t,o)=>{if(e.url?.startsWith("/@api/")||e.url?.startsWith(s.INSPECTOR_PATH)||e.url?.startsWith(s.VARIABLES_EDITOR_PATH)){return void T(e,t,()=>{})}o()};ie.push(D),ne.push(D);const N=s.initRewriteResponse(e=>{const t=e.split("?")[0];return t.startsWith(X)&&!t.includes("/_next/")},(t,o)=>{const n=oe.buildPage(t,H),i=a.injectDevPanel(n,X,{backendBaseURL:_,templateLess:$,appId:Z,devPanelPosition:F.devPanelPosition,devPanelHidden:F.devPanelHidden,devPanelAutoHide:F.devPanelAutoHide});return Buffer.from(s.urlReplacer(e,o.headers.host??"",i))}),R=(e,t,o)=>{N(e,t,o)};ne.push(R),r=new A;let M=k?.distDir;try{process.env[s.PP_DEV_NEXT_BUILD_ENV_VAR]="1";const e=await E(h.PHASE_PRODUCTION_BUILD,L);M=e?.distDir??M}catch{}const z=(M??"").replace(/\\/g,"/").replace(/\/+$/,"").replace(/\/dev$/,""),U=z&&".next"!==z?z:"out";let W,B="0.0.0";try{const e=JSON.parse(P.readFileSync(y.join(L,"package.json"),"utf-8"));B="string"==typeof e.version?e.version:B,W="string"==typeof e.repository?e.repository:e.repository?.url}catch{}const G=new s.DistService(I??w(L),{root:L,backupFolder:y.resolve(L,F.syncBackupsDir),nextBuild:{projectRoot:L,distDir:U,packageVersion:B,packageRepositoryUrl:W}}),J={ws:r.ws,config:{clientInjectionPlugin:{v7Features:j}}};new s.ClientService(J,{distService:G,miAPI:oe}),s.registerVariablesEditorRoutes(s.internalServer,{distService:G,miAPI:oe});const K="function"==typeof n?.getUpgradeHandler?n.getUpgradeHandler():null;i.on("upgrade",(e,t,o)=>{r?.handleUpgrade(e,t,o)||(K?K(e,t,o):t.destroy())}),p.info(s.colors.blue(`🔧 ${ne.length} pp-dev middlewares initialized`)),p.info(s.colors.blue(`🔧 ${ie.length} essential middlewares for internal routes`)),p.info(s.colors.blue(`🔧 MiAPI initialized for backend: ${_}`)),p.info(s.colors.blue(`🔧 Custom App ID: ${Z}`))}i.listen(Q,ee,()=>{p.info(s.colors.green(`✅ pp-dev Next.js server running at http://${ee}:${Q}`)),p.info(s.colors.blue(`📱 Next.js app accessible at http://${ee}:${Q}${X}`)),!1!==z&&p.info(s.colors.cyan(`🔍 Request Inspector: http://${ee}:${Q}${s.INSPECTOR_PATH}`)),p.info(s.colors.blue("🔧 Base path handling active")),l||(l=N(L,f,p.info),p.info(s.colors.blue("🔧 Config file watcher started"))),i.on("connection",e=>{te.add(e),e.on("close",()=>te.delete(e))});const e=async e=>{p.info(s.colors.yellow(`\n🛑 Received ${e}, shutting down gracefully...`));const t=setTimeout(()=>{p.info(s.colors.yellow("⏰ Shutdown timeout reached, forcing exit")),process.exit(0)},5e3);try{l&&(R(l),l=null);for(const e of Array.from(te))e.destroy();te.clear(),r&&(await r.close(),r=null),await new Promise(e=>{i.close(()=>{p.info(s.colors.yellow("🛑 HTTP server closed")),e()})}),n&&"function"==typeof n.close&&(await n.close(),p.info(s.colors.yellow("🛑 Next.js app closed"))),clearTimeout(t),p.info(s.colors.green("✅ Graceful shutdown completed")),process.exit(0)}catch(e){clearTimeout(t),p.error(s.colors.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,p.info(s.colors.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=>{p.error(s.colors.red(`❌ Uncaught Exception: ${t}`)),e("uncaughtException")}),t.on("unhandledRejection",(t,o)=>{p.error(s.colors.red(`❌ Unhandled Rejection at: ${o}, reason: ${t}`)),e("unhandledRejection")}),p.info(s.colors.green("✅ Process event handlers registered successfully"))}catch(e){p.warn(s.colors.yellow(`⚠️ Failed to register process event handlers: ${e}`))}else p.warn(s.colors.yellow("⚠️ process.on is not available, graceful shutdown handlers will not be registered")),p.info(s.colors.blue("💡 This might be due to bundling or environment constraints"))}),d=!1}catch(e){d=!1,p.error(s.colors.red(`❌ Failed to start Next.js server: ${e?.message}. Stack: ${e?.stack}`)),e instanceof Error&&e.message.includes("Next.js is required")&&(p.error(s.colors.red("❌ Next.js Peer Dependency Error:")),p.error(s.colors.red(e.message)),p.error(s.colors.yellow("\n💡 To fix this issue:")),p.error(s.colors.blue(" 1. Install Next.js in your project:")),p.error(s.colors.white(" npm install next@^16")),p.error(s.colors.blue(" 2. Or use yarn:")),p.error(s.colors.white(" yarn add next@^16")),p.error(s.colors.blue(" 3. Or use pnpm:")),p.error(s.colors.white(" pnpm add next@^16")),p.error(s.colors.yellow("\n📖 For more information, see:")),p.error(s.colors.blue(" https://nextjs.org/docs/getting-started"))),process.exit(1)}var u}},u=async e=>{p.info(s.colors.yellow(`\n🛑 Received ${e}, shutting down gracefully...`));try{l&&(R(l),l=null),r&&(await r.close(),r=null),i&&await new Promise(e=>{i.close(()=>{i=null,e()})}),n&&"function"==typeof n.close&&(await n.close(),n=null),p.info(s.colors.green("✅ Graceful shutdown completed")),process.exit(0)}catch(e){p.error(s.colors.red(`❌ Error during graceful shutdown: ${e}`)),process.exit(1)}};process.on("SIGINT",()=>u("SIGINT")),process.on("SIGTERM",()=>u("SIGTERM")),process.on("uncaughtException",e=>{p.error(s.colors.red(`❌ Uncaught Exception: ${e}`)),u("uncaughtException")}),process.on("unhandledRejection",(e,t)=>{p.error(s.colors.red(`❌ Unhandled Rejection at: ${t}, reason: ${e}`)),u("unhandledRejection")}),await f()}),C.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)").option("--distZip","[boolean] pack build output into a ZIP archive; use --no-distZip to disable (default: pp-dev config build.zip, or true). Env: PP_DEV_DIST_ZIP").option("--distZipDir <dir>","[string] override the ZIP output directory (default: 'dist-zip'). Env: PP_DEV_DIST_ZIP_DIR").option("--distZipFilename <filename>","[string] override the ZIP output file name (default: '<app-name>.zip'). Env: PP_DEV_DIST_ZIP_FILENAME").option("--versionManifest","[boolean] emit VERSION-*.json + BUILD-MANIFEST.json; use --no-versionManifest to disable (default: pp-dev config build.versionFile, or true). Env: PP_DEV_VERSION_MANIFEST").option("--versionFileTemplate <template>","[string] override the VERSION file name template (default: 'VERSION-v{packageversion}-{currentDate}.json'). Env: PP_DEV_VERSION_FILE_TEMPLATE").action(async(e,t)=>{z(t);const o=U(t),n=a.resolveBuildCliOverrides(t);try{const i=t.mode||"production",r=y.resolve(process.cwd(),e??".");a.loadPPDevEnv(i,r);const s=await l.loadConfigFromFile({mode:i,command:"build"},t.config,e,t.logLevel);let c=await a.getViteConfig(n,{mode:i,root:r});if(s){const{plugins:e,...t}=s.config;c=l.mergeConfig(c,t)}const d=l.mergeConfig(c,{root:e,base:t.base,mode:t.mode,configFile:t.config,logLevel:t.logLevel,clearScreen:t.clearScreen,optimizeDeps:{force:t.force},build:o},!0);if(await l.build(d),o.changelog){const n=e||process.cwd(),i=d.build?.outDir||"dist";let r="dist-zip";d.ppDevConfig&&(!1===d.ppDevConfig.distZip?r=i:"object"==typeof d.ppDevConfig.distZip&&"string"==typeof d.ppDevConfig.distZip.outDir&&(r=d.ppDevConfig.distZip.outDir)),await O({changelog:o.changelog,executionRoot:n,newAssetsPath:y.resolve(n,i),backupsDirPath:y.resolve(n,d.ppDevConfig?.syncBackupsDir||"backups"),changelogDestinationPath:y.resolve(n,r),logLevel:t.logLevel})}}catch(e){s.createLogger(t.logLevel).error(s.colors.red(`error during build:\n${e.stack}`),{error:e}),process.exit(1)}finally{H(e=>s.createLogger(t.logLevel).info(e))}}),C.command("next-build [root]","build a Next.js app for production (`next build`) and emit VERSION/BUILD-MANIFEST/zip in the same format as `pp-dev build`").option("--changelog [assetsFile]","[boolean | string] generate changelog between assetsFile and current build (default: false)").option("--distZip","[boolean] pack build output into a ZIP archive; use --no-distZip to disable (default: pp-dev config build.zip, or true). Env: PP_DEV_DIST_ZIP").option("--distZipDir <dir>","[string] override the ZIP output directory (default: 'dist-zip'). Env: PP_DEV_DIST_ZIP_DIR").option("--distZipFilename <filename>","[string] override the ZIP output file name (default: '<app-name>.zip'). Env: PP_DEV_DIST_ZIP_FILENAME").option("--versionManifest","[boolean] emit VERSION-*.json + BUILD-MANIFEST.json; use --no-versionManifest to disable (default: pp-dev config build.versionFile, or true). Env: PP_DEV_VERSION_MANIFEST").option("--versionFileTemplate <template>","[string] override the VERSION file name template (default: 'VERSION-v{packageversion}-{currentDate}.json'). Env: PP_DEV_VERSION_FILE_TEMPLATE").action(async(e,t)=>{z(t);const o=s.createLogger(t.logLevel),n=e?y.resolve(process.cwd(),e):process.cwd(),i=a.resolveBuildCliOverrides(t);process.env[s.PP_DEV_NEXT_BUILD_ENV_VAR]="1";try{a.loadPPDevEnv(t.mode||"production",n);const{constants:e}=await a.safeNextImport(),r=await import("next/dist/server/config.js"),l=r.default.default||r["module.exports"].default||r.default,c=await l(e.PHASE_PRODUCTION_BUILD,n);let d,p=c?.ppDev||{};if(0===Object.keys(p).length){const{getConfig:e}=await Promise.resolve().then(()=>require("./index-BYpGxymF.js")).then(e=>e.config);p=await e(n)}try{const{getPkg:e}=await Promise.resolve().then(()=>require("./index-BYpGxymF.js")).then(e=>e.config);d=e(n).name}catch{d=y.basename(n)}const f=s.normalizePPDevConfig(p,d),u=a.applyDistZipOverride(f.distZip,i,s.createDefaultZipFileName(d)),g=a.applyVersionManifestOverride(f.versionPlugin,i);o.info(s.colors.cyan("[pp-dev] Running `next build`...")),await s.runNextBuildProcess(n);const h="string"==typeof c?.distDir&&c.distDir?c.distDir:".next",m=".next"===h?"out":h,b=y.resolve(n,m);if(!P.existsSync(b)||!P.statSync(b).isDirectory())throw new Error(`Next.js build output directory not found: ${b}. "next-build" requires "output: 'export'" in next.config (static export).`);const v=JSON.parse(P.readFileSync(y.join(n,"package.json"),"utf-8"));if(!1!==g&&!1!==g.enabled&&(s.writeBuildVersionManifest({outDir:b,packageVersion:"string"==typeof v.version?v.version:"0.0.0",versionFileTemplate:g.versionFileTemplate,packageRepositoryUrl:"string"==typeof v.repository?v.repository:v.repository?.url,enabled:g.enabled}),o.info(s.colors.green(`✅ VERSION / BUILD-MANIFEST written to ${y.relative(n,b)}`))),!1!==u){const e=y.resolve(n,u.outDir),t=u.inDir?y.resolve(b,u.inDir):b,i=s.resolveOutputFilePath(e,u.outFileName,"ZIP output file name");P.mkdirSync(y.dirname(i),{recursive:!0});const r=await s.zipDirectoryToBuffer(t);P.writeFileSync(i,r),o.info(s.colors.green(`✅ Zip archive written to ${y.relative(n,i)}`))}if(t.changelog){const e=!1!==u?u.outDir:m;await O({changelog:t.changelog,executionRoot:n,newAssetsPath:b,backupsDirPath:y.resolve(n,f.syncBackupsDir),changelogDestinationPath:y.resolve(n,e),logLevel:t.logLevel})}}catch(e){s.createLogger(t.logLevel).error(s.colors.red(`error during next-build:\n${e.stack}`),{error:e}),process.exit(1)}finally{H(e=>s.createLogger(t.logLevel).info(e))}}),C.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,t,o)=>{z(o);const{oldAssetsPath:n=e,newAssetsPath:i=t,destination:r=".",filename:a="CHANGELOG.html",logLevel:l}=o,c=process.cwd();n&&i||(s.createLogger(l).error(s.colors.red("error during changelog generation: oldAssetPath and newAssetPath are required")),process.exit(1));const d=y.resolve(c,n),p=y.resolve(c,i),f=y.resolve(c,r),u=new $({oldAssetsPath:d,newAssetsPath:p,destinationPath:f,changelogFilename:a});await u.generateChangelog()}),C.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,t,o)=>{z(o);const{source:n=e,destination:i=t,fontName:r="icon-font"}=o,a=process.cwd(),l=y.resolve(a,n),c=y.resolve(a,i),d=new j({sourceDir:l,outputDir:c,fontName:r}),p=s.createLogger(o.logLevel);p.info(`Generating icon font from SVG files in ${s.colors.dim(l)}`),await d.generate(),p.info(`Icon font generated and saved to ${s.colors.dim(c)}`)}),C.command("optimize [root]","pre-bundle dependencies").option("--force","[boolean] force the optimizer to ignore the cache and re-bundle").action(async(e,t)=>{z(t);try{const o=t.mode||"production",n=y.resolve(process.cwd(),e??".");a.loadPPDevEnv(o,n);const i=await l.loadConfigFromFile({mode:o,command:"build"},t.config,e,t.logLevel);let r=await a.getViteConfig(void 0,{mode:o,root:n});if(i){const{plugins:e,...t}=i.config;r=l.mergeConfig(r,t)}const s=await l.resolveConfig(l.mergeConfig(r,{root:e,base:t.base,configFile:t.config,logLevel:t.logLevel,mode:t.mode}),"serve");await l.optimizeDeps(s,t.force,!0)}catch(e){s.createLogger(t.logLevel).error(s.colors.red(`error when optimizing deps:\n${e.stack}`),{error:e}),process.exit(1)}}),C.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)=>{z(t);try{const o=t.mode||"production",n=y.resolve(process.cwd(),e??".");a.loadPPDevEnv(o,n);const i=await l.loadConfigFromFile({mode:o,command:"build"},t.config,e,t.logLevel);let r=await a.getViteConfig(void 0,{mode:o,root:n});if(i){const{plugins:e,...t}=i.config;r=l.mergeConfig(r,t)}(await l.preview(l.mergeConfig(r,{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){s.createLogger(t.logLevel).error(s.colors.red(`error when starting preview server:\n${e.stack}`),{error:e}),process.exit(1)}finally{H(e=>s.createLogger(t.logLevel).info(e))}}),C.command("migrate [config]","migrate pp-dev config from 0.x flat format to 1.0 grouped format").option("--dry-run","[boolean] print migrated config without writing any files").option("--format <format>","[string] output format: ts (default), js, json").option("--output <file>","[string] output file path (default: pp-dev.config.ts)").option("--no-backup","[boolean] skip backup of original config file").action(async(e,t)=>{const o=s.createLogger(t.logLevel),{isLegacyFlatConfig:n,isLegacyPPWatchConfig:i,isAlreadyMigrated:r,migrateLegacyFlatConfig:a,migratePPWatchConfig:l,generateConfigFileContent:c}=await Promise.resolve().then(()=>require("./migrate-r2mXdGLZ.js")),d=t.format??"ts",p=!1!==t.backup,f=process.cwd(),u=[".pp-watch.config.ts",".pp-watch.config.js",".pp-watch.config.json","pp-watch.config.ts","pp-watch.config.js","pp-watch.config.json"];let g=e??null,h=!1;if(!g){for(const e of s.PP_DEV_CONFIG_NAMES)if(P.existsSync(y.join(f,e))){g=y.join(f,e);break}if(!g)for(const e of u)if(P.existsSync(y.join(f,e))){g=y.join(f,e),h=!0;break}}g||(o.warn(s.colors.yellow("No pp-dev or pp-watch config file found in the current directory.")),o.info(s.colors.blue("Supported files: pp-dev.config.{ts,js,cjs,mjs,json}, .pp-watch.config.{ts,js,json}")),process.exit(1)),o.info(s.colors.blue(`Found config: ${y.relative(f,g)}`));const{getPkg:m}=await Promise.resolve().then(()=>require("./index-BYpGxymF.js")).then(e=>e.config),b=m();let v,w={};try{if(/\.[cm]?ts$/i.test(g)){const e=await import("esbuild"),{pathToFileURL:t}=await import("url"),o=(await e.build({absWorkingDir:f,entryPoints:[g],outfile:"out.js",write:!1,target:"node24",platform:"node",bundle:!0,packages:"external",format:"esm",mainFields:["main"]})).outputFiles[0].text,n=`pp-migrate-tmp-${Date.now()}.mjs`;P.writeFileSync(n,o);try{const e=await import(t(y.resolve(f,n)).toString());w=e.default?.default??e.default??e}finally{P.existsSync(n)&&P.unlinkSync(n)}}else if(/\.[cm]?js$/i.test(g)){const{pathToFileURL:e}=await import("url"),t=await import(e(y.resolve(f,g)).toString());w=t.default?.default??t.default??t}else g.endsWith(".json")&&(w=JSON.parse(P.readFileSync(g,"utf-8")))}catch(e){o.error(s.colors.red(`Failed to load config file: ${e.message}`)),process.exit(1)}w&&"object"==typeof w||(o.error(s.colors.red("Config file did not export a valid object.")),process.exit(1)),r(w)?(o.info(s.colors.green("Config is already in 1.0 format — nothing to migrate.")),process.exit(0)):h||i(w)?(o.info(s.colors.blue("Detected pp-watch config format → migrating to 1.0")),v=l(w)):n(w)?(o.info(s.colors.blue("Detected 0.x flat config format → migrating to 1.0")),v=a(w,b.name)):(o.warn(s.colors.yellow("Could not detect config format. No known keys found.")),process.exit(1));const x=c(v,d),S=t.output??y.join(f,`pp-dev.config.${d}`);if(t.dryRun&&(o.info(s.colors.green(`\n--- Migrated config (dry-run) → ${y.relative(f,S)} ---\n`)),process.exit(0)),p&&P.existsSync(g)){const e=`${g}.bak`;P.copyFileSync(g,e),o.info(s.colors.blue(`Backed up original to: ${y.relative(f,e)}`))}P.writeFileSync(S,x,"utf-8"),o.info(s.colors.green(`✅ Migration complete → ${y.relative(f,S)}`)),g!==S&&P.existsSync(g)&&o.info(s.colors.yellow(`You can now delete the old config: ${y.relative(f,g)}`))}),C.help(),C.version(s.VERSION),C.parse(),exports.stopProfiler=H;
|
|
1
|
+
"use strict";const e=require("path"),t=require("fs"),o=require("node:events"),n=require("node:perf_hooks"),i=require("chokidar"),r=require("cac"),s=require("./plugin-DXUOFhPN.js"),a=require("./index-xObEyFiP.js"),l=require("vite"),c=require("url"),d=require("dir-compare"),p=require("diff-match-patch"),f=require("isbinaryfile"),u=require("os"),g=require("crypto"),h=require("extract-zip"),m=require("svgtofont"),b=require("ws");require("http-proxy-middleware"),require("picocolors"),require("node:string_decoder"),require("axios"),require("node:http"),require("node:https"),require("jsdom"),require("process"),require("child_process"),require("node:path"),require("jszip"),require("module"),require("memory-cache"),require("zlib"),require("express"),require("node:crypto"),require("./helpers.js"),require("ejs");const v=e=>e&&"object"==typeof e&&"default"in e?e.default:e;function w(e){if(e&&"object"==typeof e&&"default"in e)return e;const t=Object.create(null);if(e)for(const o in e)t[o]=e[o];return t.default=e,Object.freeze(t)}const y=w(e),P=w(t),x=w(d),S=v(p),E=w(u),T=w(g),L=v(h),k=v(m);function D(e){return null!=e&&!1!==e}let I=null;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 _=/(.+)(-[a-f0-9]{6,20})(\.[a-z0-9]+)$/i;class ${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:\n ui-monospace,\n SFMono-Regular,\n SF Mono,\n Menlo,\n Consolas,\n Liberation Mono,\n 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:\n ui-monospace,\n SFMono-Regular,\n SF Mono,\n Menlo,\n Consolas,\n Liberation Mono,\n 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:t,newAssetsPath:o,destinationPath:n,changelogTemplate:i,diffFileTemplateHandler:r,diffLineTemplateHandler:a,changelogFilename:l,contextLines:c}=e;if(this.logger=s.createLogger(),!t||!o||!n)throw new Error("Previous assets path, current assets path and destination path are required");if(t===o)throw new Error("Previous and current assets paths must be different");if(!this.isExists(t))throw new Error(`Previous assets path ${t} does not exist`);if(!this.isExists(o))throw new Error(`Current assets path ${o} does not exist`);if(this.isZipFile(t)){const e=y.resolve(E.tmpdir(),T.createHash("md5").update(t).digest("hex"));this.oldAssetsPath=this.unzipFile(t,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(t))throw new Error(`Invalid previous assets path ${t}. It must be a folder or a zip file`);{const e=this.normalizeAssetFolderPath(t);if(this.isEmptyFolder(e))throw new Error(`Previous assets path ${e} is empty`);this.oldAssetsPath=Promise.resolve(e)}}if(this.isZipFile(o)){const e=y.resolve(E.tmpdir(),T.createHash("md5").update(o).digest("hex"));this.newAssetsPath=this.unzipFile(o,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(o))throw new Error(`Invalid current assets path ${o}. It must be a folder or a zip file`);{const e=this.normalizeAssetFolderPath(o);if(this.isEmptyFolder(e))throw new Error(`Current assets path ${o} 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(s.colors.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 P.existsSync(e)}isZipFile(e){return e.endsWith(".zip")}isFolder(e){return P.lstatSync(e).isDirectory()}isEmptyFolder(e){return 0===P.readdirSync(e,{withFileTypes:!0}).length}mkdirpSync(e){P.existsSync(e)||P.mkdirSync(e,{recursive:!0})}async unzipFile(e,t){P.rmSync(t,{force:!0,recursive:!0}),await L(e,{dir:t}),await s.rejectSymlinks(t)}normalizeAssetFolderPath(e){const t=P.readdirSync(e);return 1===t.length&&P.lstatSync(y.join(e,t[0])).isDirectory()?this.normalizeAssetFolderPath(y.join(e,t[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 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?"-":" "}">${r=o??"",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: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(s.colors.blue(`Comparing asset folders ${await this.oldAssetsPath} and ${await this.newAssetsPath}`));const e=await x.compare(await this.oldAssetsPath,await this.newAssetsPath,{compareContent:!0,skipSymlinks:!0,compareSize:!0,compareDate:!1,compareNameHandler:(e,t)=>(_.test(e)&&(e=e.replace(_,"$1$3")),_.test(t)&&(t=t.replace(_,"$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 S,n=o.diff_linesToChars_(e,t),i=o.diff_main(n.chars1,n.chars2,!1);o.diff_charsToLines_(i,n.lineArray);let r=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:r+o+1,lineType:t})).slice(0,n);return-1!==t&&(r+=n),i}).flat()}async generateFilesDiff(e){if("equal"===e.state){const t=this.pathToPosix(y.join(".",e.relativePath,e.name1??"")),o=this.pathToPosix(y.join(".",e.relativePath,e.name2??""));return this.diffFileTemplate(`<span class="renamed"\n >Renamed <span class="from">${t}</span> -> <span class="to">${o}</span></span\n >`,this.diffTableTemplate(this.diffLineMessageTemplate("No changes")))}const t=e.path1&&e.name1?y.join(e.path1,e.name1):null,o=e.path2&&e.name2?y.join(e.path2,e.name2):null,n=this.pathToPosix(y.join(".",e.relativePath,(e.name1||e.name2)??""));if("left"===e.state&&t)return this.diffFileTemplate(`<span class="removed">Removed ${n}</span>`,this.diffTableTemplate(this.diffLineMessageTemplate("File removed")));if("right"===e.state&&o)return this.diffFileTemplate(`<span class="added">Added ${n}</span>`,this.diffTableTemplate(this.diffLineMessageTemplate("File added")));if("distinct"===e.state&&t&&o){const i=this.pathToPosix(y.join(".",e.relativePath,e.name1??"")),r=this.pathToPosix(y.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 f.isBinaryFile(t)||await f.isBinaryFile(o)?this.diffTableTemplate(this.diffLineMessageTemplate("Binary file")):this.getDiffTableHTML(await this.generateAssetFilesDiff(P.readFileSync(t,"utf-8"),P.readFileSync(o,"utf-8"))))}return""}async generateChangelog(){this.logger.info(s.colors.green("Generating changelog"));const e=await this.generateAssetFoldersDiff(),t=(await Promise.all(e.map(e=>this.generateFilesDiff(e)))).join("");this.logger.info(s.colors.green("Writing changelog file"));const o=this.changelogTemplate.split("%FILES%");o.splice(1,0,t);const n=o.join("");P.writeFileSync(y.join(this.destinationPath,this.changelogFilename),n),this.logger.info(s.colors.green(`Changelog file written to ${y.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 k({src:this.sourceDir,dist:this.outputDir,fontName:this.fontName,css:!0,typescript:!0,startUnicode:59905,svgicons2svgfont:{fontHeight:1024}})}}class A{wss;eventListeners=new Map;lifecycleListeners=new Map;clients=new Map;ws;constructor(){this.wss=new b.WebSocketServer({noServer:!0}),this.wss.on("connection",e=>this.onConnection(e)),this.wss.on("error",e=>this.fireLifecycle("error",e)),this.ws={on:(e,t)=>{"close"!==e&&"error"!==e?this.getEventSet(e).add(t):this.getLifecycleSet(e).add(t)},off:(e,t)=>{this.eventListeners.get(e)?.delete(t),"close"!==e&&"error"!==e||this.lifecycleListeners.get(e)?.delete(t)},send:(e,t)=>{if("string"==typeof e)for(const o of this.clients.keys())this.sendToSocket(o,e,t);else{const t=JSON.stringify(e);for(const e of this.clients.keys())e.readyState===b.WebSocket.OPEN&&e.send(t)}}}}handleUpgrade(e,t,o){return(e.url??"").split("?")[0]===s.PP_DEV_HMR_WS_PATH&&(this.wss.handleUpgrade(e,t,o,t=>{this.wss.emit("connection",t,e)}),!0)}async close(){this.fireLifecycle("close");for(const e of this.clients.keys())e.terminate();this.clients.clear(),await new Promise(e=>this.wss.close(()=>e()))}onConnection(e){const t={send:(t,o)=>this.sendToSocket(e,t,o)};this.clients.set(e,t),e.on("message",e=>this.onMessage(t,e)),e.on("close",()=>this.clients.delete(e)),e.on("error",()=>{})}onMessage(e,t){let o;try{o=JSON.parse(t.toString())}catch{return}if(!o||"custom"!==o.type||"string"!=typeof o.event)return;const n=this.eventListeners.get(o.event);if(n)for(const t of n)try{t(o.data,e)}catch(e){s.createLogger().error(`ws handler for "${o.event}" failed`,{error:e instanceof Error?e:new Error(String(e))})}}sendToSocket(e,t,o){e.readyState===b.WebSocket.OPEN&&e.send(JSON.stringify({type:"custom",event:t,data:o}))}fireLifecycle(e,t){for(const o of this.lifecycleListeners.get(e)??[])try{o(t)}catch{}}getEventSet(e){let t=this.eventListeners.get(e);return t||(t=new Set,this.eventListeners.set(e,t)),t}getLifecycleSet(e){let t=this.lifecycleListeners.get(e);return t||(t=new Set,this.lifecycleListeners.set(e,t)),t}}const C=r.cac("pp-dev");function N(e,t,o){const n=[...s.PP_DEV_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(t=>y.join(e,t)),r=i.watch(n,{ignored:e=>{const t=y.basename(e);return/(^|[\/\\])\../.test(e)&&!t.startsWith(".env")&&!t.startsWith(".pp-dev")&&!t.startsWith(".pp-watch")},persistent:!0,ignoreInitial:!0,followSymlinks:!1});let a=null;return r.on("change",n=>{o(s.colors.blue(`🔧 Config file changed: ${y.relative(e,n)}`)),a&&clearTimeout(a),a=setTimeout(async()=>{try{o(s.colors.yellow("🔄 Restarting dev server due to config change...")),await t()}catch(e){o(s.colors.red(`❌ Failed to restart dev server: ${e?.message}. Stack: ${e?.stack}`))}},500)}),r.on("error",e=>{o(s.colors.red(`❌ Config watcher error: ${e}`))}),{watcher:r,restartCallback:t,logger:o}}function R(e){e.watcher&&e.watcher.close()}function M(e){if(!e||"object"!=typeof e||!("message"in e))return!1;const t=String(e.message);return/Turbopack is not supported/i.test(t)||/native bindings are not available/i.test(t)||/Only WebAssembly \(WASM\) bindings were loaded/i.test(t)}async function O(e){const{changelog:t,executionRoot:o,newAssetsPath:n,backupsDirPath:i,changelogDestinationPath:r,logLevel:a}=e;let l;if("string"==typeof t)l=y.resolve(o,t);else{if(!P.existsSync(i))return void s.createLogger(a).warn(s.colors.yellow("backups directory not found, skipping changelog generation"));const e=P.readdirSync(i,{withFileTypes:!0});if(!e.length)return void s.createLogger(a).warn(s.colors.yellow("no backups found, skipping changelog generation"));const t=e.filter(e=>e.isFile()&&e.name.endsWith(".zip"));if(!t.length)return void s.createLogger(a).warn(s.colors.yellow("no ZIP backups found, skipping changelog generation"));const o=t.reduce((e,t)=>P.statSync(y.resolve(i,e.name)).mtimeMs>P.statSync(y.resolve(i,t.name)).mtimeMs?e:t).name;l=y.resolve(i,o)}const c=new $({oldAssetsPath:l,newAssetsPath:n,destinationPath:r});await c.generateChangelog()}let q=global.__pp_dev_profile_session,V=0;const H=e=>{if(q)return new Promise((t,o)=>{q.post("Profiler.stop",(n,{profile:i})=>{if(n)o(n);else{const o=y.resolve(`./pp-dev-profile-${V++}.cpuprofile`);P.writeFileSync(o,JSON.stringify(i)),e(s.colors.yellow(`CPU profile written to ${s.colors.white(s.colors.dim(o))}`)),q=void 0,t()}})})},z=e=>{for(const[t,o]of Object.entries(e))Array.isArray(o)&&(e[t]=o[o.length-1])};function U(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}C.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"),C.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,t)=>{z(t);let o=null,i=null,r=!1;const c=e?y.resolve(process.cwd(),e):process.cwd(),d=s.createLogger(t.logLevel),p=async()=>{if(!r){r=!0;try{o&&(d.info(s.colors.yellow("🛑 Stopping existing dev server...")),await o.close(),o=null);const{clearConfigCache:f,getConfig:u}=await Promise.resolve().then(()=>require("./index-xObEyFiP.js")).then(e=>e.config);f();const{createServer:g}=await import("vite"),h=t.mode||"development",m=y.resolve(process.cwd(),e??".");a.loadPPDevEnv(h,m);const b=await l.loadConfigFromFile({mode:h,command:"serve"},t.config,e,t.logLevel);let v=await a.getViteConfig(void 0,{mode:h,root:m});if(b){const{plugins:e,...t}=b.config;v=l.mergeConfig(v,t)}if(o=await g(l.mergeConfig(v,{root:e,base:t.base,mode:t.mode,configFile:t.config,logLevel:t.logLevel,clearScreen:t.clearScreen,optimizeDeps:{force:t.force},server:U(t),customLogger:d},!0)),!o.config.base||"/"===o.config.base)throw new Error('base cannot be equal to "/" or empty string');if(!o.httpServer)throw new Error("HTTP server not available");await o.listen();const w=global.__pp_dev_start_time??!1,P=w?s.colors.dim(`ready in ${s.colors.reset(s.colors.bold(Math.ceil(n.performance.now()-w)))} ms`):"";d.info(`\n ${s.colors.green(`${s.colors.bold("PP-DEV")} v${s.VERSION}`)} ${P}\n`),o.printUrls();const x=await u(m);if(!1!==x.inspector?.enabled){const e=o.resolvedUrls?.local[0],t=e?new URL(e).origin:`http://localhost:${o.config.server.port??5173}`;d.info(`\n ${s.colors.cyan("🔍 Request Inspector")} ${s.colors.dim(t+s.INSPECTOR_PATH)}\n`)}!function(e,t){if(!e.httpServer||!process.stdin.isTTY||process.env.CI)return;e._shortcutsOptions=t;const o=s.createLogger();t.print&&o.info(s.colors.dim(s.colors.green(" ➜"))+s.colors.dim(" press ")+s.colors.bold("h")+s.colors.dim(" to show help"));const n=(t.customShortcuts??[]).filter(D).concat(F);I?.(),I=null;let i=!1;const r=process.stdin.isPaused(),a=process.stdin,l=Boolean(a.isRaw),c=async t=>{if(""===t)return void process.kill(process.pid,"SIGINT");if(""===t)return void await e.close().finally(()=>process.exit(0));if(i)return;"h"===t&&o.info(["",s.colors.bold(" Shortcuts"),...n.map(e=>s.colors.dim(" press ")+s.colors.bold(e.key)+s.colors.dim(` to ${e.description}`))].join("\n"));const r=n.find(e=>e.key===t);r&&(i=!0,await r.action(e),i=!1)};process.stdin.setRawMode(!0),process.stdin.on("data",c).setEncoding("utf8").resume();const d=e.httpServer,p=()=>{I===p&&(d.removeListener("close",p),process.stdin.off("data",c),l||process.stdin.setRawMode(!1),r&&process.stdin.pause(),I=null)};I=p,d.on("close",p)}(o,{print:!0,customShortcuts:[...q?[{key:"p",description:"start/stop the profiler",async action(e){if(q)await H(d.info);else{const e=await import("node:inspector").then(e=>e.default);await new Promise(t=>{q=new e.Session,q.connect(),q.post("Profiler.enable",()=>{q?.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("/")}`}})}}]}),i||(i=N(c,p,d.info),d.info(s.colors.blue("🔧 Config file watcher started"))),r=!1}catch(e){r=!1,d.error(s.colors.red(`error when starting dev server:\n${e.stack}`),{error:e}),H(d.info),process.exit(1)}}},f=async e=>{d.info(s.colors.yellow(`\n🛑 Received ${e}, shutting down gracefully...`));try{i&&(R(i),i=null),o&&(await o.close(),o=null),H(d.info),d.info(s.colors.green("✅ Graceful shutdown completed")),process.exit(0)}catch(e){d.error(s.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(s.colors.red(`❌ Uncaught Exception: ${e}`)),f("uncaughtException")}),process.on("unhandledRejection",(e,t)=>{d.error(s.colors.red(`❌ Unhandled Rejection at: ${t}, reason: ${e}`)),f("unhandledRejection")}),await p()}),C.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").option("--webpack","[boolean] use Webpack for Next dev (use when Turbopack/native SWC is unavailable)").option("--turbopack","[boolean] use Turbopack for Next dev when native bindings work").action(async(e,t)=>{z(t);let n=null,i=null,r=null,l=null,d=!1;const p=s.createLogger(),f=async()=>{if(!d){d=!0;try{const{next:g,constants:h}=await a.safeNextImport(),{PHASE_DEVELOPMENT_SERVER:m}=h;r&&(await r.close(),r=null),i&&(p.info(s.colors.yellow("🛑 Stopping existing Next.js server...")),await new Promise(e=>{i.close(()=>{i=null,e()})})),n&&"function"==typeof n.close&&(await n.close(),n=null);const{clearConfigCache:b}=await Promise.resolve().then(()=>require("./index-xObEyFiP.js")).then(e=>e.config);b();const{join:v,basename:w}=await import("path"),{createServer:x}=await import("http"),S=await import("next/dist/server/config.js"),E=S.default.default||S["module.exports"].default||S.default,T=U(t),L=e?v(process.cwd(),e):process.cwd();a.loadPPDevEnv(t.mode||"development",L),p.info(L);const k=await E(m,L);let D=k?.ppDev||{};if(0===Object.keys(D).length)try{const{getConfig:e}=await Promise.resolve().then(()=>require("./index-xObEyFiP.js")).then(e=>e.config),t=await e(L);Object.keys(t).length>0?(D=t,p.info(s.colors.blue("🔧 Loaded pp-dev config from standalone config file"))):p.info(s.colors.yellow("⚠️ No pp-dev config found in Next.js config or standalone file, using defaults"))}catch(e){p.info(s.colors.yellow("⚠️ Failed to load standalone pp-dev config, using defaults")),console.debug("Error loading standalone config:",e)}else p.info(s.colors.blue("🔧 Loaded pp-dev config from Next.js config"));let I=null;try{const{getPkg:e}=await Promise.resolve().then(()=>require("./index-xObEyFiP.js")).then(e=>e.config);I=e(L).name}catch{I=w(L)}s.validatePPDevConfig(D,I??"");const F=s.normalizePPDevConfig(D,I??""),_=F.backendBaseURL??"http://localhost:8080",$=F.templateLess,j=F.v7Features,C=F.disableSSLValidation,O=F.enableProxyCache,q=F.proxyCacheTTL,V=F.personalAccessToken,H=F.miHudLess,z=F.inspectorEnabled,W=F.inspectorMaxMemory,B=F.inspectorCaptureLimit,Z=F.appId??(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,G=k?.basePath;let X="";G?X=G:(X=$?s.PATH_PAGE_PREFIX:j?s.PATH_TEMPLATE_LOCAL_PREFIX:s.PATH_TEMPLATE_PREFIX,X+=`/${I}`);const J=function(e){const t="1"===process.env.PP_DEV_NEXT_WEBPACK||"true"===process.env.PP_DEV_NEXT_WEBPACK;if(t&&(e.webpack||e.turbopack))throw new Error("Do not combine PP_DEV_NEXT_WEBPACK with --webpack or --turbopack");if(t)return{webpack:!0};if(e.webpack&&e.turbopack)throw new Error("Use only one of --webpack or --turbopack");return e.webpack?{webpack:!0}:e.turbopack?{turbopack:!0}:{}}(t),K=async e=>{delete process.env.TURBOPACK,n&&"function"==typeof n.close&&(await n.close(),n=null);const t={dev:!0,customServer:!0,hostname:T.host||"localhost",port:T.port,dir:L,conf:{...k,basePath:X,assetPrefix:X}};e.webpack?t.webpack=!0:e.turbopack&&(t.turbopack=!0),n=g(t),await n.prepare()};if(J.webpack)await K({webpack:!0});else if(J.turbopack)try{await K({turbopack:!0})}catch(e){if(!M(e))throw e;p.warn(s.colors.yellow("⚠ Turbopack is unavailable (native bindings). Falling back to Webpack.")),await K({webpack:!0})}else try{await K({})}catch(e){if(!M(e))throw e;p.warn(s.colors.yellow("⚠ Turbopack cannot run (native Next.js bindings unavailable). Falling back to Webpack.")),await K({webpack:!0})}if(!n)throw new Error("Next.js app failed to initialize");if(X.endsWith("/")||(X+="/"),"/"===X)throw new Error('basePath cannot be equal to "/" or equal to empty string');p.info(s.colors.green("✅ Next.js app prepared successfully")),p.info(s.colors.blue(`🔧 pp-dev plugin configured for template: ${I}`)),p.info(s.colors.blue(`🔧 Base path configured: ${X}`)),_&&(p.info(s.colors.blue(`🌐 Backend URL: ${_}`)),p.info(s.colors.blue(`🆔 Custom App ID: ${Z}`)));const Y=n.getRequestHandler(),Q="number"==typeof T.port?T.port:3e3,ee="string"==typeof T.host?T.host||"0.0.0.0":"localhost",te=new Set;i=x(async(e,t)=>{try{const o=e.url||"/",n=o.split("?")[0];let i=c.parse(o,!0);if(ne.length>0){if(n.startsWith("/_next/")||"/favicon.ico"===n||n.startsWith("/__nextjs_")){if(ie.length>0){let l=0;const d=()=>{if(l>=ie.length)return void r();const o=ie[l];l++,o(e,t,d)};return void d()}return void r()}let s=0;const a=()=>{if(s>=ne.length)return void r();const o=ne[s];s++,o(e,t,a)};return void a()}async function r(){if(n.startsWith(X))i=c.parse(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 Y(e,t,i)}r()}catch(f){p.error(`Error handling request: ${f instanceof Error?f.message:String(f)}`,{error:f instanceof Error?f:void 0}),t.statusCode=500,t.end("Internal Server Error")}});let oe=null,ne=[],ie=[];if(!1!==z){const e=new s.RequestStore(W);s.registerInspectorRoutes(s.internalServer,e,B);const t=s.createRequestCaptureMiddleware(e,B);ne.push(t)}if(_){const e=new URL(_).host;_.startsWith("https://")&&(o.EventEmitter.defaultMaxListeners=Math.max(o.EventEmitter.defaultMaxListeners,20));const t={headers:{host:e,referer:_,origin:_.replace(/^(https?:\/\/)([^/]+)(\/.*)?$/i,"$1$2")},appId:Z,templateLess:$,disableSSLValidation:C,v7Features:j,personalAccessToken:V??process.env.MI_ACCESS_TOKEN};oe=new s.MiAPI(_,t);const l=s.initPPRedirect(X,I??void 0),c=(e,t,o)=>{l(e,t,o)};ie.push(c),ne.push(c);const d=a.createDevPanelAssetMiddleware(X);if(ie.push(d),ne.push(d),O){let e=+q;(!e||Number.isNaN(e)||e<0)&&(e=6e5);const t={devServer:{middlewares:{use:e=>e},config:{logger:console}},ttl:e},o=s.initProxyCache(t),n=(e,t,n)=>{o(e,t,n)};ne.push(n),p.info(s.colors.blue(`🔧 Proxy cache middleware added with TTL: ${e}ms`))}const f=new RegExp(`^((${u=X,u.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")})|/)$`),g=s.initLoadPPData(f,oe,Object.assign({base:X},t,{miHudLess:H})),m=(e,t,o)=>{g(e,t,o)};ne.push(m);const b=X.endsWith("/")?X.substring(0,X.length-1):X,v={middlewares:{use:e=>e},config:{logger:console}},x=s.initProxy({devServer:v,baseURL:_,proxyIgnore:["/@vite","/@metricinsights","/@",b,"/_next","/favicon.ico","/__nextjs_","/installHook.js.map"],disableSSLValidation:C,miAPI:oe,templateName:I??void 0}),S=(e,t,o)=>{x(e,t,o)};ne.push(S);const T=s.internalServer,D=(e,t,o)=>{if(e.url?.startsWith("/@api/")||e.url?.startsWith(s.INSPECTOR_PATH)||e.url?.startsWith(s.VARIABLES_EDITOR_PATH)){return void T(e,t,()=>{})}o()};ie.push(D),ne.push(D);const N=s.initRewriteResponse(e=>{const t=e.split("?")[0];return t.startsWith(X)&&!t.includes("/_next/")},(t,o)=>{const n=oe.buildPage(t,H),i=a.injectDevPanel(n,X,{backendBaseURL:_,templateLess:$,appId:Z,devPanelPosition:F.devPanelPosition,devPanelHidden:F.devPanelHidden,devPanelAutoHide:F.devPanelAutoHide});return Buffer.from(s.urlReplacer(e,o.headers.host??"",i))}),R=(e,t,o)=>{N(e,t,o)};ne.push(R),r=new A;let M=k?.distDir;try{process.env[s.PP_DEV_NEXT_BUILD_ENV_VAR]="1";const e=await E(h.PHASE_PRODUCTION_BUILD,L);M=e?.distDir??M}catch{}const z=(M??"").replace(/\\/g,"/").replace(/\/+$/,"").replace(/\/dev$/,""),U=z&&".next"!==z?z:"out";let W,B="0.0.0";try{const e=JSON.parse(P.readFileSync(y.join(L,"package.json"),"utf-8"));B="string"==typeof e.version?e.version:B,W="string"==typeof e.repository?e.repository:e.repository?.url}catch{}const G=new s.DistService(I??w(L),{root:L,backupFolder:y.resolve(L,F.syncBackupsDir),nextBuild:{projectRoot:L,distDir:U,packageVersion:B,packageRepositoryUrl:W}}),J={ws:r.ws,config:{clientInjectionPlugin:{v7Features:j}}};new s.ClientService(J,{distService:G,miAPI:oe}),s.registerVariablesEditorRoutes(s.internalServer,{distService:G,miAPI:oe});const K="function"==typeof n?.getUpgradeHandler?n.getUpgradeHandler():null;i.on("upgrade",(e,t,o)=>{r?.handleUpgrade(e,t,o)||(K?K(e,t,o):t.destroy())}),p.info(s.colors.blue(`🔧 ${ne.length} pp-dev middlewares initialized`)),p.info(s.colors.blue(`🔧 ${ie.length} essential middlewares for internal routes`)),p.info(s.colors.blue(`🔧 MiAPI initialized for backend: ${_}`)),p.info(s.colors.blue(`🔧 Custom App ID: ${Z}`))}i.listen(Q,ee,()=>{p.info(s.colors.green(`✅ pp-dev Next.js server running at http://${ee}:${Q}`)),p.info(s.colors.blue(`📱 Next.js app accessible at http://${ee}:${Q}${X}`)),!1!==z&&p.info(s.colors.cyan(`🔍 Request Inspector: http://${ee}:${Q}${s.INSPECTOR_PATH}`)),p.info(s.colors.blue("🔧 Base path handling active")),l||(l=N(L,f,p.info),p.info(s.colors.blue("🔧 Config file watcher started"))),i.on("connection",e=>{te.add(e),e.on("close",()=>te.delete(e))});const e=async e=>{p.info(s.colors.yellow(`\n🛑 Received ${e}, shutting down gracefully...`));const t=setTimeout(()=>{p.info(s.colors.yellow("⏰ Shutdown timeout reached, forcing exit")),process.exit(0)},5e3);try{l&&(R(l),l=null);for(const e of Array.from(te))e.destroy();te.clear(),r&&(await r.close(),r=null),await new Promise(e=>{i.close(()=>{p.info(s.colors.yellow("🛑 HTTP server closed")),e()})}),n&&"function"==typeof n.close&&(await n.close(),p.info(s.colors.yellow("🛑 Next.js app closed"))),clearTimeout(t),p.info(s.colors.green("✅ Graceful shutdown completed")),process.exit(0)}catch(e){clearTimeout(t),p.error(s.colors.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,p.info(s.colors.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=>{p.error(s.colors.red(`❌ Uncaught Exception: ${t}`)),e("uncaughtException")}),t.on("unhandledRejection",(t,o)=>{p.error(s.colors.red(`❌ Unhandled Rejection at: ${o}, reason: ${t}`)),e("unhandledRejection")}),p.info(s.colors.green("✅ Process event handlers registered successfully"))}catch(e){p.warn(s.colors.yellow(`⚠️ Failed to register process event handlers: ${e}`))}else p.warn(s.colors.yellow("⚠️ process.on is not available, graceful shutdown handlers will not be registered")),p.info(s.colors.blue("💡 This might be due to bundling or environment constraints"))}),d=!1}catch(e){d=!1,p.error(s.colors.red(`❌ Failed to start Next.js server: ${e?.message}. Stack: ${e?.stack}`)),e instanceof Error&&e.message.includes("Next.js is required")&&(p.error(s.colors.red("❌ Next.js Peer Dependency Error:")),p.error(s.colors.red(e.message)),p.error(s.colors.yellow("\n💡 To fix this issue:")),p.error(s.colors.blue(" 1. Install Next.js in your project:")),p.error(s.colors.white(" npm install next@^16")),p.error(s.colors.blue(" 2. Or use yarn:")),p.error(s.colors.white(" yarn add next@^16")),p.error(s.colors.blue(" 3. Or use pnpm:")),p.error(s.colors.white(" pnpm add next@^16")),p.error(s.colors.yellow("\n📖 For more information, see:")),p.error(s.colors.blue(" https://nextjs.org/docs/getting-started"))),process.exit(1)}var u}},u=async e=>{p.info(s.colors.yellow(`\n🛑 Received ${e}, shutting down gracefully...`));try{l&&(R(l),l=null),r&&(await r.close(),r=null),i&&await new Promise(e=>{i.close(()=>{i=null,e()})}),n&&"function"==typeof n.close&&(await n.close(),n=null),p.info(s.colors.green("✅ Graceful shutdown completed")),process.exit(0)}catch(e){p.error(s.colors.red(`❌ Error during graceful shutdown: ${e}`)),process.exit(1)}};process.on("SIGINT",()=>u("SIGINT")),process.on("SIGTERM",()=>u("SIGTERM")),process.on("uncaughtException",e=>{p.error(s.colors.red(`❌ Uncaught Exception: ${e}`)),u("uncaughtException")}),process.on("unhandledRejection",(e,t)=>{p.error(s.colors.red(`❌ Unhandled Rejection at: ${t}, reason: ${e}`)),u("unhandledRejection")}),await f()}),C.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)").option("--distZip","[boolean] pack build output into a ZIP archive; use --no-distZip to disable (default: pp-dev config build.zip, or true). Env: PP_DEV_DIST_ZIP").option("--distZipDir <dir>","[string] override the ZIP output directory (default: 'dist-zip'). Env: PP_DEV_DIST_ZIP_DIR").option("--distZipFilename <filename>","[string] override the ZIP output file name (default: '<app-name>.zip'). Env: PP_DEV_DIST_ZIP_FILENAME").option("--versionManifest","[boolean] emit VERSION-*.json + BUILD-MANIFEST.json; use --no-versionManifest to disable (default: pp-dev config build.versionFile, or true). Env: PP_DEV_VERSION_MANIFEST").option("--versionFileTemplate <template>","[string] override the VERSION file name template (default: 'VERSION-v{packageversion}-{currentDate}.json'). Env: PP_DEV_VERSION_FILE_TEMPLATE").action(async(e,t)=>{z(t);const o=U(t),n=a.resolveBuildCliOverrides(t);try{const i=t.mode||"production",r=y.resolve(process.cwd(),e??".");a.loadPPDevEnv(i,r);const s=await l.loadConfigFromFile({mode:i,command:"build"},t.config,e,t.logLevel);let c=await a.getViteConfig(n,{mode:i,root:r});if(s){const{plugins:e,...t}=s.config;c=l.mergeConfig(c,t)}const d=l.mergeConfig(c,{root:e,base:t.base,mode:t.mode,configFile:t.config,logLevel:t.logLevel,clearScreen:t.clearScreen,optimizeDeps:{force:t.force},build:o},!0);if(await l.build(d),o.changelog){const n=e||process.cwd(),i=d.build?.outDir||"dist";let r="dist-zip";d.ppDevConfig&&(!1===d.ppDevConfig.distZip?r=i:"object"==typeof d.ppDevConfig.distZip&&"string"==typeof d.ppDevConfig.distZip.outDir&&(r=d.ppDevConfig.distZip.outDir)),await O({changelog:o.changelog,executionRoot:n,newAssetsPath:y.resolve(n,i),backupsDirPath:y.resolve(n,d.ppDevConfig?.syncBackupsDir||"backups"),changelogDestinationPath:y.resolve(n,r),logLevel:t.logLevel})}}catch(e){s.createLogger(t.logLevel).error(s.colors.red(`error during build:\n${e.stack}`),{error:e}),process.exit(1)}finally{H(e=>s.createLogger(t.logLevel).info(e))}}),C.command("next-build [root]","build a Next.js app for production (`next build`) and emit VERSION/BUILD-MANIFEST/zip in the same format as `pp-dev build`").option("--changelog [assetsFile]","[boolean | string] generate changelog between assetsFile and current build (default: false)").option("--distZip","[boolean] pack build output into a ZIP archive; use --no-distZip to disable (default: pp-dev config build.zip, or true). Env: PP_DEV_DIST_ZIP").option("--distZipDir <dir>","[string] override the ZIP output directory (default: 'dist-zip'). Env: PP_DEV_DIST_ZIP_DIR").option("--distZipFilename <filename>","[string] override the ZIP output file name (default: '<app-name>.zip'). Env: PP_DEV_DIST_ZIP_FILENAME").option("--versionManifest","[boolean] emit VERSION-*.json + BUILD-MANIFEST.json; use --no-versionManifest to disable (default: pp-dev config build.versionFile, or true). Env: PP_DEV_VERSION_MANIFEST").option("--versionFileTemplate <template>","[string] override the VERSION file name template (default: 'VERSION-v{packageversion}-{currentDate}.json'). Env: PP_DEV_VERSION_FILE_TEMPLATE").action(async(e,t)=>{z(t);const o=s.createLogger(t.logLevel),n=e?y.resolve(process.cwd(),e):process.cwd(),i=a.resolveBuildCliOverrides(t);process.env[s.PP_DEV_NEXT_BUILD_ENV_VAR]="1";try{a.loadPPDevEnv(t.mode||"production",n);const{constants:e}=await a.safeNextImport(),r=await import("next/dist/server/config.js"),l=r.default.default||r["module.exports"].default||r.default,c=await l(e.PHASE_PRODUCTION_BUILD,n);let d,p=c?.ppDev||{};if(0===Object.keys(p).length){const{getConfig:e}=await Promise.resolve().then(()=>require("./index-xObEyFiP.js")).then(e=>e.config);p=await e(n)}try{const{getPkg:e}=await Promise.resolve().then(()=>require("./index-xObEyFiP.js")).then(e=>e.config);d=e(n).name}catch{d=y.basename(n)}const f=s.normalizePPDevConfig(p,d),u=a.applyDistZipOverride(f.distZip,i,s.createDefaultZipFileName(d)),g=a.applyVersionManifestOverride(f.versionPlugin,i);o.info(s.colors.cyan("[pp-dev] Running `next build`...")),await s.runNextBuildProcess(n);const h="string"==typeof c?.distDir&&c.distDir?c.distDir:".next",m=".next"===h?"out":h,b=y.resolve(n,m);if(!P.existsSync(b)||!P.statSync(b).isDirectory())throw new Error(`Next.js build output directory not found: ${b}. "next-build" requires "output: 'export'" in next.config (static export).`);const v=JSON.parse(P.readFileSync(y.join(n,"package.json"),"utf-8"));if(!1!==g&&!1!==g.enabled&&(s.writeBuildVersionManifest({outDir:b,packageVersion:"string"==typeof v.version?v.version:"0.0.0",versionFileTemplate:g.versionFileTemplate,packageRepositoryUrl:"string"==typeof v.repository?v.repository:v.repository?.url,enabled:g.enabled}),o.info(s.colors.green(`✅ VERSION / BUILD-MANIFEST written to ${y.relative(n,b)}`))),!1!==u){const e=y.resolve(n,u.outDir),t=u.inDir?y.resolve(b,u.inDir):b,i=s.resolveOutputFilePath(e,u.outFileName,"ZIP output file name");P.mkdirSync(y.dirname(i),{recursive:!0});const r=await s.zipDirectoryToBuffer(t);P.writeFileSync(i,r),o.info(s.colors.green(`✅ Zip archive written to ${y.relative(n,i)}`))}if(t.changelog){const e=!1!==u?u.outDir:m;await O({changelog:t.changelog,executionRoot:n,newAssetsPath:b,backupsDirPath:y.resolve(n,f.syncBackupsDir),changelogDestinationPath:y.resolve(n,e),logLevel:t.logLevel})}}catch(e){s.createLogger(t.logLevel).error(s.colors.red(`error during next-build:\n${e.stack}`),{error:e}),process.exit(1)}finally{H(e=>s.createLogger(t.logLevel).info(e))}}),C.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,t,o)=>{z(o);const{oldAssetsPath:n=e,newAssetsPath:i=t,destination:r=".",filename:a="CHANGELOG.html",logLevel:l}=o,c=process.cwd();n&&i||(s.createLogger(l).error(s.colors.red("error during changelog generation: oldAssetPath and newAssetPath are required")),process.exit(1));const d=y.resolve(c,n),p=y.resolve(c,i),f=y.resolve(c,r),u=new $({oldAssetsPath:d,newAssetsPath:p,destinationPath:f,changelogFilename:a});await u.generateChangelog()}),C.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,t,o)=>{z(o);const{source:n=e,destination:i=t,fontName:r="icon-font"}=o,a=process.cwd(),l=y.resolve(a,n),c=y.resolve(a,i),d=new j({sourceDir:l,outputDir:c,fontName:r}),p=s.createLogger(o.logLevel);p.info(`Generating icon font from SVG files in ${s.colors.dim(l)}`),await d.generate(),p.info(`Icon font generated and saved to ${s.colors.dim(c)}`)}),C.command("optimize [root]","pre-bundle dependencies").option("--force","[boolean] force the optimizer to ignore the cache and re-bundle").action(async(e,t)=>{z(t);try{const o=t.mode||"production",n=y.resolve(process.cwd(),e??".");a.loadPPDevEnv(o,n);const i=await l.loadConfigFromFile({mode:o,command:"build"},t.config,e,t.logLevel);let r=await a.getViteConfig(void 0,{mode:o,root:n});if(i){const{plugins:e,...t}=i.config;r=l.mergeConfig(r,t)}const s=await l.resolveConfig(l.mergeConfig(r,{root:e,base:t.base,configFile:t.config,logLevel:t.logLevel,mode:t.mode}),"serve");await l.optimizeDeps(s,t.force,!0)}catch(e){s.createLogger(t.logLevel).error(s.colors.red(`error when optimizing deps:\n${e.stack}`),{error:e}),process.exit(1)}}),C.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)=>{z(t);try{const o=t.mode||"production",n=y.resolve(process.cwd(),e??".");a.loadPPDevEnv(o,n);const i=await l.loadConfigFromFile({mode:o,command:"build"},t.config,e,t.logLevel);let r=await a.getViteConfig(void 0,{mode:o,root:n});if(i){const{plugins:e,...t}=i.config;r=l.mergeConfig(r,t)}(await l.preview(l.mergeConfig(r,{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){s.createLogger(t.logLevel).error(s.colors.red(`error when starting preview server:\n${e.stack}`),{error:e}),process.exit(1)}finally{H(e=>s.createLogger(t.logLevel).info(e))}}),C.command("migrate [config]","migrate pp-dev config from 0.x flat format to 1.0 grouped format").option("--dry-run","[boolean] print migrated config without writing any files").option("--format <format>","[string] output format: ts (default), js, json").option("--output <file>","[string] output file path (default: pp-dev.config.ts)").option("--no-backup","[boolean] skip backup of original config file").action(async(e,t)=>{const o=s.createLogger(t.logLevel),{isLegacyFlatConfig:n,isLegacyPPWatchConfig:i,isAlreadyMigrated:r,migrateLegacyFlatConfig:a,migratePPWatchConfig:l,generateConfigFileContent:c}=await Promise.resolve().then(()=>require("./migrate-r2mXdGLZ.js")),d=t.format??"ts",p=!1!==t.backup,f=process.cwd(),u=[".pp-watch.config.ts",".pp-watch.config.js",".pp-watch.config.json","pp-watch.config.ts","pp-watch.config.js","pp-watch.config.json"];let g=e??null,h=!1;if(!g){for(const e of s.PP_DEV_CONFIG_NAMES)if(P.existsSync(y.join(f,e))){g=y.join(f,e);break}if(!g)for(const e of u)if(P.existsSync(y.join(f,e))){g=y.join(f,e),h=!0;break}}g||(o.warn(s.colors.yellow("No pp-dev or pp-watch config file found in the current directory.")),o.info(s.colors.blue("Supported files: pp-dev.config.{ts,js,cjs,mjs,json}, .pp-watch.config.{ts,js,json}")),process.exit(1)),o.info(s.colors.blue(`Found config: ${y.relative(f,g)}`));const{getPkg:m}=await Promise.resolve().then(()=>require("./index-xObEyFiP.js")).then(e=>e.config),b=m();let v,w={};try{if(/\.[cm]?ts$/i.test(g)){const e=await import("esbuild"),{pathToFileURL:t}=await import("url"),o=(await e.build({absWorkingDir:f,entryPoints:[g],outfile:"out.js",write:!1,target:"node24",platform:"node",bundle:!0,packages:"external",format:"esm",mainFields:["main"]})).outputFiles[0].text,n=`pp-migrate-tmp-${Date.now()}.mjs`;P.writeFileSync(n,o);try{const e=await import(t(y.resolve(f,n)).toString());w=e.default?.default??e.default??e}finally{P.existsSync(n)&&P.unlinkSync(n)}}else if(/\.[cm]?js$/i.test(g)){const{pathToFileURL:e}=await import("url"),t=await import(e(y.resolve(f,g)).toString());w=t.default?.default??t.default??t}else g.endsWith(".json")&&(w=JSON.parse(P.readFileSync(g,"utf-8")))}catch(e){o.error(s.colors.red(`Failed to load config file: ${e.message}`)),process.exit(1)}w&&"object"==typeof w||(o.error(s.colors.red("Config file did not export a valid object.")),process.exit(1)),r(w)?(o.info(s.colors.green("Config is already in 1.0 format — nothing to migrate.")),process.exit(0)):h||i(w)?(o.info(s.colors.blue("Detected pp-watch config format → migrating to 1.0")),v=l(w)):n(w)?(o.info(s.colors.blue("Detected 0.x flat config format → migrating to 1.0")),v=a(w,b.name)):(o.warn(s.colors.yellow("Could not detect config format. No known keys found.")),process.exit(1));const x=c(v,d),S=t.output??y.join(f,`pp-dev.config.${d}`);if(t.dryRun&&(o.info(s.colors.green(`\n--- Migrated config (dry-run) → ${y.relative(f,S)} ---\n`)),process.exit(0)),p&&P.existsSync(g)){const e=`${g}.bak`;P.copyFileSync(g,e),o.info(s.colors.blue(`Backed up original to: ${y.relative(f,e)}`))}P.writeFileSync(S,x,"utf-8"),o.info(s.colors.green(`✅ Migration complete → ${y.relative(f,S)}`)),g!==S&&P.existsSync(g)&&o.info(s.colors.yellow(`You can now delete the old config: ${y.relative(f,g)}`))}),C.help(),C.version(s.VERSION),C.parse(),exports.stopProfiler=H;
|
|
2
2
|
//# sourceMappingURL=cli.js.map
|
package/dist/cjs/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sources":["../../../src/shortcuts.ts","../../../src/lib/changelog-generator.ts","../../../src/lib/icon-font-generator.ts","../../../src/lib/pp-ws-server.ts","../../../src/cli.ts"],"sourcesContent":[null,null,null,null,null],"names":["isDefined","value","cleanupActiveShortcutBinding","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","PPDevHotServer","wss","eventListeners","Map","lifecycleListeners","clients","ws","WebSocketServer","noServer","on","socket","onConnection","err","fireLifecycle","event","listener","getEventSet","add","getLifecycleSet","off","get","delete","send","arg1","arg2","keys","sendToSocket","data","JSON","stringify","readyState","WebSocket","OPEN","handleUpgrade","req","head","url","PP_DEV_HMR_WS_PATH","emit","terminate","client","payload","set","raw","onMessage","parse","toString","type","listeners","error","String","arg","Set","cli","cac","createConfigWatcher","projectRoot","restartCallback","watchPatterns","PP_DEV_CONFIG_NAMES","file","watcher","watch","ignored","filePath","base","basename","startsWith","persistent","ignoreInitial","followSymlinks","restartTimeout","relative","clearTimeout","setTimeout","async","red","stack","cleanupConfigWatcher","isNextTurbopackNativeBindingsError","msg","generatePostBuildChangelog","changelog","executionRoot","backupsDirPath","changelogDestinationPath","logLevel","backups","zipBackups","isFile","name","latestBackup","reduce","latest","current","statSync","mtimeMs","changelogGenerator","profileSession","global","__pp_dev_profile_session","profileCount","stopProfiler","log","res","rej","post","profile","outPath","white","dim","undefined","filterDuplicateOptions","Object","entries","Array","isArray","cleanOptions","ret","c","l","debug","f","m","mode","option","command","alias","root","configWatcher","isRestarting","cwd","startServer","clearConfigCache","getConfig","require","n","createServer","import","envDir","loadPPDevEnv","configFromFile","loadConfigFromFile","getViteConfig","plugins","fileConfig","mergeConfig","configFile","optimizeDeps","customLogger","httpServer","listen","ppDevStartTime","__pp_dev_start_time","startupDurationString","reset","bold","Math","ceil","performance","now","VERSION","serveConfig","inspector","enabled","localUrl","resolvedUrls","local","origin","URL","port","cyan","INSPECTOR_PATH","stdin","isTTY","env","CI","_shortcutsOptions","print","shortcuts","customShortcuts","concat","actionRunning","wasPaused","isPaused","stdinWithRawMode","hadRawModeEnabled","Boolean","isRaw","onInput","input","kill","pid","shortcut","find","setRawMode","setEncoding","resume","boundServer","cleanupBinding","removeListener","pause","bindShortcuts","r","default","Session","connect","encodeURIComponent","e","gracefulShutdown","signal","reason","promise","nextApp","hotServer","startNextServer","next","constants","safeNextImport","PHASE_DEVELOPMENT_SERVER","importConfig","loadConfig","ppDevConfig","ppDev","standaloneConfig","console","templateName","getPkg","validatePPDevConfig","_normalized","normalizePPDevConfig","backendBaseURL","templateLess","v7Features","disableSSLValidation","enableProxyCache","proxyCacheTTL","personalAccessToken","miHudLess","inspectorEnabled","inspectorMaxMemory","inspectorCaptureLimit","appId","MI_APP_ID","parseInt","MI_PORTAL_PAGE_ID","configBasePath","basePath","PATH_PAGE_PREFIX","PATH_TEMPLATE_LOCAL_PREFIX","PATH_TEMPLATE_PREFIX","bundlerChoice","envWebpack","PP_DEV_NEXT_WEBPACK","webpack","turbopack","parseNextBundlerCli","createAndPrepareNext","bundler","TURBOPACK","nextOptions","dev","customServer","hostname","host","conf","assetPrefix","prepare","handle","getRequestHandler","openSockets","originalUrl","originalPathname","parsedUrl","fullMiddlewareChain","essentialMiddlewareChain","middlewareIndex","runEssentialMiddleware","processNextJSRequest","middleware","runMiddleware","redirectUrl","writeHead","Location","end","statusCode","mi","reqStore","RequestStore","registerInspectorRoutes","internalServer","captureMiddleware","createRequestCaptureMiddleware","push","baseUrlHost","EventEmitter","defaultMaxListeners","max","miConfig","headers","referer","MI_ACCESS_TOKEN","MiAPI","ppRedirectMiddleware","initPPRedirect","ppRedirectWrapper","devPanelAssetMiddleware","createDevPanelAssetMiddleware","ttl","Number","isNaN","cacheConfig","devServer","middlewares","use","fn","proxyCacheMiddleware","initProxyCache","proxyCacheWrapper","isIndexRegExp","RegExp","string","loadPPDataMiddleware","initLoadPPData","assign","loadPPDataWrapper","baseWithoutTrailingSlash","substring","mockProxyDevServer","proxyPassMiddlewareInstance","proxyPassMiddleware","baseURL","proxyIgnore","miAPI","proxyPassWrapper","internalServerMiddleware","internalServerWrapper","VARIABLES_EDITOR_PATH","rewriteResponseMiddleware","initRewriteResponse","pathname","response","page","buildPage","withPanel","injectDevPanel","devPanelPosition","devPanelHidden","devPanelAutoHide","Buffer","from","urlReplacer","rewriteResponseWrapper","exportDistDir","distDir","PP_DEV_NEXT_BUILD_ENV_VAR","prodConfig","PHASE_PRODUCTION_BUILD","normalizedDistDir","nextExportDir","nextPackageRepositoryUrl","nextPackageVersion","projectPkg","version","repository","distService","DistService","backupFolder","syncBackupsDir","nextBuild","packageVersion","packageRepositoryUrl","clientServiceServer","clientInjectionPlugin","ClientService","registerVariablesEditorRoutes","nextUpgradeHandler","getUpgradeHandler","destroy","shutdownTimeout","processObj","globalProcess","globalThis","buildOptions","cliOverrides","resolveBuildCliOverrides","buildConfig","build","outDir","changelogDestination","distZip","nextConfig","normalized","applyDistZipOverride","createDefaultZipFileName","versionPlugin","applyVersionManifestOverride","runNextBuildProcess","rawDistDir","exportDirName","writeBuildVersionManifest","versionFileTemplate","zipOutDir","zipSourceDir","inDir","zipFile","resolveOutputFilePath","outFileName","dirname","buffer","zipDirectoryToBuffer","oldAssetPath","newAssetPath","oldPath","newPath","destination","fullOldPath","fullNewPath","fullDestination","source","destDir","fullSourceDir","fullDestDir","iconFontGenerator","optimizeConfig","resolveConfig","preview","strictPort","https","open","configArg","isLegacyFlatConfig","isLegacyPPWatchConfig","isAlreadyMigrated","migrateLegacyFlatConfig","migratePPWatchConfig","generateConfigFileContent","format","doBackup","backup","watchConfigNames","sourceFile","isWatchConfig","pkg","migratedConfig","rawConfig","esbuild","pathToFileURL","code","absWorkingDir","entryPoints","outfile","write","target","platform","bundle","packages","mainFields","outputFiles","text","tmpFile","Date","mod","unlinkSync","outputContent","outputFile","output","dryRun","backupPath","copyFileSync","help"],"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/lib/pp-ws-server.ts","../../../src/cli.ts"],"sourcesContent":[null,null,null,null,null],"names":["isDefined","value","cleanupActiveShortcutBinding","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","rejectSymlinks","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","PPDevHotServer","wss","eventListeners","Map","lifecycleListeners","clients","ws","WebSocketServer","noServer","on","socket","onConnection","err","fireLifecycle","event","listener","getEventSet","add","getLifecycleSet","off","get","delete","send","arg1","arg2","keys","sendToSocket","data","JSON","stringify","readyState","WebSocket","OPEN","handleUpgrade","req","head","url","PP_DEV_HMR_WS_PATH","emit","terminate","client","payload","set","raw","onMessage","parse","toString","type","listeners","error","String","arg","Set","cli","cac","createConfigWatcher","projectRoot","restartCallback","watchPatterns","PP_DEV_CONFIG_NAMES","file","watcher","watch","ignored","filePath","base","basename","startsWith","persistent","ignoreInitial","followSymlinks","restartTimeout","relative","clearTimeout","setTimeout","async","red","stack","cleanupConfigWatcher","isNextTurbopackNativeBindingsError","msg","generatePostBuildChangelog","changelog","executionRoot","backupsDirPath","changelogDestinationPath","logLevel","backups","zipBackups","isFile","name","latestBackup","reduce","latest","current","statSync","mtimeMs","changelogGenerator","profileSession","global","__pp_dev_profile_session","profileCount","stopProfiler","log","res","rej","post","profile","outPath","white","dim","undefined","filterDuplicateOptions","Object","entries","Array","isArray","cleanOptions","ret","c","l","debug","f","m","mode","option","command","alias","root","configWatcher","isRestarting","cwd","startServer","clearConfigCache","getConfig","require","n","createServer","import","envDir","loadPPDevEnv","configFromFile","loadConfigFromFile","getViteConfig","plugins","fileConfig","mergeConfig","configFile","optimizeDeps","customLogger","httpServer","listen","ppDevStartTime","__pp_dev_start_time","startupDurationString","reset","bold","Math","ceil","performance","now","VERSION","serveConfig","inspector","enabled","localUrl","resolvedUrls","local","origin","URL","port","cyan","INSPECTOR_PATH","stdin","isTTY","env","CI","_shortcutsOptions","print","shortcuts","customShortcuts","concat","actionRunning","wasPaused","isPaused","stdinWithRawMode","hadRawModeEnabled","Boolean","isRaw","onInput","input","kill","pid","shortcut","find","setRawMode","setEncoding","resume","boundServer","cleanupBinding","removeListener","pause","bindShortcuts","r","default","Session","connect","encodeURIComponent","e","gracefulShutdown","signal","reason","promise","nextApp","hotServer","startNextServer","next","constants","safeNextImport","PHASE_DEVELOPMENT_SERVER","importConfig","loadConfig","ppDevConfig","ppDev","standaloneConfig","console","templateName","getPkg","validatePPDevConfig","_normalized","normalizePPDevConfig","backendBaseURL","templateLess","v7Features","disableSSLValidation","enableProxyCache","proxyCacheTTL","personalAccessToken","miHudLess","inspectorEnabled","inspectorMaxMemory","inspectorCaptureLimit","appId","MI_APP_ID","parseInt","MI_PORTAL_PAGE_ID","configBasePath","basePath","PATH_PAGE_PREFIX","PATH_TEMPLATE_LOCAL_PREFIX","PATH_TEMPLATE_PREFIX","bundlerChoice","envWebpack","PP_DEV_NEXT_WEBPACK","webpack","turbopack","parseNextBundlerCli","createAndPrepareNext","bundler","TURBOPACK","nextOptions","dev","customServer","hostname","host","conf","assetPrefix","prepare","handle","getRequestHandler","openSockets","originalUrl","originalPathname","parsedUrl","fullMiddlewareChain","essentialMiddlewareChain","middlewareIndex","runEssentialMiddleware","processNextJSRequest","middleware","runMiddleware","redirectUrl","writeHead","Location","end","statusCode","mi","reqStore","RequestStore","registerInspectorRoutes","internalServer","captureMiddleware","createRequestCaptureMiddleware","push","baseUrlHost","EventEmitter","defaultMaxListeners","max","miConfig","headers","referer","MI_ACCESS_TOKEN","MiAPI","ppRedirectMiddleware","initPPRedirect","ppRedirectWrapper","devPanelAssetMiddleware","createDevPanelAssetMiddleware","ttl","Number","isNaN","cacheConfig","devServer","middlewares","use","fn","proxyCacheMiddleware","initProxyCache","proxyCacheWrapper","isIndexRegExp","RegExp","string","loadPPDataMiddleware","initLoadPPData","assign","loadPPDataWrapper","baseWithoutTrailingSlash","substring","mockProxyDevServer","proxyPassMiddlewareInstance","proxyPassMiddleware","baseURL","proxyIgnore","miAPI","proxyPassWrapper","internalServerMiddleware","internalServerWrapper","VARIABLES_EDITOR_PATH","rewriteResponseMiddleware","initRewriteResponse","pathname","response","page","buildPage","withPanel","injectDevPanel","devPanelPosition","devPanelHidden","devPanelAutoHide","Buffer","from","urlReplacer","rewriteResponseWrapper","exportDistDir","distDir","PP_DEV_NEXT_BUILD_ENV_VAR","prodConfig","PHASE_PRODUCTION_BUILD","normalizedDistDir","nextExportDir","nextPackageRepositoryUrl","nextPackageVersion","projectPkg","version","repository","distService","DistService","backupFolder","syncBackupsDir","nextBuild","packageVersion","packageRepositoryUrl","clientServiceServer","clientInjectionPlugin","ClientService","registerVariablesEditorRoutes","nextUpgradeHandler","getUpgradeHandler","destroy","shutdownTimeout","processObj","globalProcess","globalThis","buildOptions","cliOverrides","resolveBuildCliOverrides","buildConfig","build","outDir","changelogDestination","distZip","nextConfig","normalized","applyDistZipOverride","createDefaultZipFileName","versionPlugin","applyVersionManifestOverride","runNextBuildProcess","rawDistDir","exportDirName","writeBuildVersionManifest","versionFileTemplate","zipOutDir","zipSourceDir","inDir","zipFile","resolveOutputFilePath","outFileName","dirname","buffer","zipDirectoryToBuffer","oldAssetPath","newAssetPath","oldPath","newPath","destination","fullOldPath","fullNewPath","fullDestination","source","destDir","fullSourceDir","fullDestDir","iconFontGenerator","optimizeConfig","resolveConfig","preview","strictPort","https","open","configArg","isLegacyFlatConfig","isLegacyPPWatchConfig","isAlreadyMigrated","migrateLegacyFlatConfig","migratePPWatchConfig","generateConfigFileContent","format","doBackup","backup","watchConfigNames","sourceFile","isWatchConfig","pkg","migratedConfig","rawConfig","esbuild","pathToFileURL","code","absWorkingDir","entryPoints","outfile","write","target","platform","bundle","packages","mainFields","outputFiles","text","tmpFile","Date","mod","unlinkSync","outputContent","outputFile","output","dryRun","backupPath","copyFileSync","help"],"mappings":"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"}
|