@metricinsights/pp-dev 1.2.2 ā 1.4.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/CHANGELOG.md +28 -0
- package/LICENSE +21 -0
- package/dist/CHANGELOG.md +28 -0
- package/dist/cjs/cli.js +1 -1
- package/dist/cjs/cli.js.map +1 -1
- package/dist/cjs/index-Bi5Lt1-H.js +2 -0
- package/dist/cjs/index-Bi5Lt1-H.js.map +1 -0
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/package.json +3 -3
- package/dist/cjs/plugin-pf9CAeeA.js +2 -0
- package/dist/cjs/plugin-pf9CAeeA.js.map +1 -0
- package/dist/cjs/plugin.js +1 -1
- package/dist/cjs/version-plugin-CzE3wJA7.js +2 -0
- package/dist/cjs/version-plugin-CzE3wJA7.js.map +1 -0
- package/dist/client/client.css +1 -1
- package/dist/client/client.css.map +1 -1
- package/dist/esm/cli.js +1 -1
- package/dist/esm/cli.js.map +1 -1
- package/dist/esm/index-CI6Wkcfi.js +2 -0
- package/dist/esm/index-CI6Wkcfi.js.map +1 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/package.json +3 -3
- package/dist/esm/plugin-CaN0TX0l.js +2 -0
- package/dist/esm/plugin-CaN0TX0l.js.map +1 -0
- package/dist/esm/plugin.js +1 -1
- package/dist/esm/version-plugin-Al04_tii.js +2 -0
- package/dist/esm/{version-plugin-CgfQOMyf.js.map ā version-plugin-Al04_tii.js.map} +1 -1
- package/package.json +3 -3
- package/dist/cjs/index-BYpGxymF.js +0 -2
- package/dist/cjs/index-BYpGxymF.js.map +0 -1
- 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/index-C7yA2HV8.js +0 -2
- package/dist/esm/index-C7yA2HV8.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/dist/esm/cli.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import*as e from"path";import*as t from"fs";import{EventEmitter as o}from"node:events";import{performance as n}from"node:perf_hooks";import{watch as i}from"chokidar";import{cac as s}from"cac";import{c as r,a,P as l,b as c,n as d,d as p,r as f,w as u,e as h,z as g,f as m,V as b,I as w,v,g as y,h as P,i as x,R as S,j as T,k,l as E,M as L,m as $,o as j,p as D,q as I,s as F,t as _,u as N,D as A,C,x as R}from"./plugin-FSAnUcfG.js";import{r as M,l as O,g as z,s as H,a as U,b as V,c as W,i as Z}from"./index-C7yA2HV8.js";import{loadConfigFromFile as G,mergeConfig as B,build as q,resolveConfig as J,optimizeDeps as K,preview as X}from"vite";import{parse as Y}from"url";import*as Q from"dir-compare";import ee from"diff-match-patch";import{isBinaryFile as te}from"isbinaryfile";import*as oe from"os";import*as ne from"crypto";import ie from"extract-zip";import se from"svgtofont";import{WebSocketServer as re,WebSocket as ae}from"ws";import"http-proxy-middleware";import"picocolors";import"axios";import"node:http";import"node:https";import"jsdom";import"process";import"child_process";import"node:path";import"jszip";import"module";import"memory-cache";import"zlib";import"express";import"node:crypto";import"./helpers.js";import"ejs";function le(e){return null!=e&&!1!==e}let ce=null;const de=[{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 pe=/(.+)(-[a-f0-9]{6,20})(\.[a-z0-9]+)$/i;class fe{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(t){const{oldAssetsPath:o,newAssetsPath:n,destinationPath:i,changelogTemplate:s,diffFileTemplateHandler:l,diffLineTemplateHandler:c,changelogFilename:d,contextLines:p}=t;if(this.logger=r(),!o||!n||!i)throw new Error("Previous assets path, current assets path and destination path are required");if(o===n)throw new Error("Previous and current assets paths must be different");if(!this.isExists(o))throw new Error(`Previous assets path ${o} does not exist`);if(!this.isExists(n))throw new Error(`Current assets path ${n} does not exist`);if(this.isZipFile(o)){const t=e.resolve(oe.tmpdir(),ne.createHash("md5").update(o).digest("hex"));this.oldAssetsPath=this.unzipFile(o,t).then(()=>this.normalizeAssetFolderPath(t)).then(e=>{if(this.isEmptyFolder(e))throw new Error(`Previous assets path ${e} is empty`);return e})}else{if(!this.isFolder(o))throw new Error(`Invalid previous assets path ${o}. It must be a folder or a zip file`);{const e=this.normalizeAssetFolderPath(o);if(this.isEmptyFolder(e))throw new Error(`Previous assets path ${e} is empty`);this.oldAssetsPath=Promise.resolve(e)}}if(this.isZipFile(n)){const t=e.resolve(oe.tmpdir(),ne.createHash("md5").update(n).digest("hex"));this.newAssetsPath=this.unzipFile(n,t).then(()=>this.normalizeAssetFolderPath(t)).then(e=>{if(this.isEmptyFolder(e))throw new Error(`Current assets path ${e} is empty`);return e})}else{if(!this.isFolder(n))throw new Error(`Invalid current assets path ${n}. It must be a folder or a zip file`);{const e=this.normalizeAssetFolderPath(n);if(this.isEmptyFolder(e))throw new Error(`Current assets path ${n} is empty`);this.newAssetsPath=Promise.resolve(e)}}this.destinationPath=i,this.mkdirpSync(this.destinationPath),this.changelogFilename=d||"CHANGELOG.html",s&&(this.templateIsValid(s)?this.changelogTemplate=s:this.logger.warn(a.yellow("Invalid changelog template, using default"))),"function"==typeof l&&(this.diffFileTemplateHandler=l),"function"==typeof c&&(this.diffLineTemplateHandler=c),p&&(this.contextLines=p)}templateIsValid(e){return e.includes("%FILES%")}isExists(e){return t.existsSync(e)}isZipFile(e){return e.endsWith(".zip")}isFolder(e){return t.lstatSync(e).isDirectory()}isEmptyFolder(e){return 0===t.readdirSync(e,{withFileTypes:!0}).length}mkdirpSync(e){t.existsSync(e)||t.mkdirSync(e,{recursive:!0})}async unzipFile(e,o){return t.rmSync(o,{force:!0,recursive:!0}),ie(e,{dir:o})}normalizeAssetFolderPath(o){const n=t.readdirSync(o);return 1===n.length&&t.lstatSync(e.join(o,n[0])).isDirectory()?this.normalizeAssetFolderPath(e.join(o,n[0])):o}pathToPosix(e){return e.replace(/\\/g,"/")}diffTableTemplate(e){return`<table class="diff-table">\n <tbody>\n ${e}\n </tbody>\n </table>`}getDiffTableHTML(e){const t=e.filter((e,t,o)=>0!==e.lineType||(t>=0&&t<this.contextLines||t>o.length-(this.contextLines+1)&&t<=o.length-1||o.slice(t-this.contextLines,t+this.contextLines+1).some(e=>0!==e.lineType))).map((e,t,o)=>{if(t>0){const n=o[t-1];if(e.lineNumber-n.lineNumber>1)return[{lineNumber:-1,lineContent:"",lineType:0},e]}return[e]}).flat().map(e=>this.diffLineHTML(e)).join("");return this.diffTableTemplate(t)}diffLineMessageTemplate(e){return`<tr>\n <td class="blob-num"></td>\n <td class="blob-num"></td>\n <td class="blob-code message">\n <span class="blob-code-inner">${e}</span>\n </td>\n </tr>`}diffLineSkipTemplate(){return'<tr>\n <td class="blob-num"></td>\n <td class="blob-num"></td>\n <td class="blob-code skip">\n <span class="blob-code-inner">Skip</span>\n </td>\n </tr>'}diffLineTemplate(e){const{lineNumber:t,lineContent:o,lineType:n}=e,i=1===n?"addition":-1===n?"deletion":"";return`<tr>\n <td\n class="blob-num ${i}${"addition"===i?" empty":""}"\n ${"addition"!==i?` data-line-number="${t}"`:""}\n ></td>\n <td\n class="blob-num ${i}${"deletion"===i?" empty":""}"\n ${"deletion"!==i?` data-line-number="${t}"`:""}\n ></td>\n <td class="blob-code ${1===n?"code-addition":-1===n?"code-deletion":""}">\n <span class="blob-code-inner" data-code-prefix="${1===n?"+":-1===n?"-":" "}">${s=o??"",s.replace(/[\u00A0-\u9999<>&]/g,e=>"&#"+e.charCodeAt(0)+";")}</span>\n </td>\n </tr>`;var s}diffLineHTML(e){if(this.diffLineTemplateHandler)return this.diffLineTemplateHandler(e);const{lineNumber:t}=e;return-1===t?this.diffLineSkipTemplate():this.diffLineTemplate(e)}diffFileTemplate(e,t){return this.diffFileTemplateHandler?this.diffFileTemplateHandler(e,t):`<div class="diff-file">\n <div class="diff-file-title">${e}</div>\n <div class="diff-file-content">${t}</div>\n </div>`}async generateAssetFoldersDiff(){this.logger.info(a.blue(`Comparing asset folders ${await this.oldAssetsPath} and ${await this.newAssetsPath}`));const e=await Q.compare(await this.oldAssetsPath,await this.newAssetsPath,{compareContent:!0,skipSymlinks:!0,compareSize:!0,compareDate:!1,compareNameHandler:(e,t)=>(pe.test(e)&&(e=e.replace(pe,"$1$3")),pe.test(t)&&(t=t.replace(pe,"$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 ee,n=o.diff_linesToChars_(e,t),i=o.diff_main(n.chars1,n.chars2,!1);o.diff_charsToLines_(i,n.lineArray);let s=0;return i.map(e=>{const[t,o]=e,n=o.endsWith("\n")?o.split("\n").length-1:o.split("\n").length,i=o.split("\n").map((e,o)=>({lineContent:e,lineNumber:s+o+1,lineType:t})).slice(0,n);return-1!==t&&(s+=n),i}).flat()}async generateFilesDiff(o){if("equal"===o.state){const t=this.pathToPosix(e.join(".",o.relativePath,o.name1??"")),n=this.pathToPosix(e.join(".",o.relativePath,o.name2??""));return this.diffFileTemplate(`<span class="renamed"\n >Renamed <span class="from">${t}</span> -> <span class="to">${n}</span></span\n >`,this.diffTableTemplate(this.diffLineMessageTemplate("No changes")))}const n=o.path1&&o.name1?e.join(o.path1,o.name1):null,i=o.path2&&o.name2?e.join(o.path2,o.name2):null,s=this.pathToPosix(e.join(".",o.relativePath,(o.name1||o.name2)??""));if("left"===o.state&&n)return this.diffFileTemplate(`<span class="removed">Removed ${s}</span>`,this.diffTableTemplate(this.diffLineMessageTemplate("File removed")));if("right"===o.state&&i)return this.diffFileTemplate(`<span class="added">Added ${s}</span>`,this.diffTableTemplate(this.diffLineMessageTemplate("File added")));if("distinct"===o.state&&n&&i){const r=this.pathToPosix(e.join(".",o.relativePath,o.name1??"")),a=this.pathToPosix(e.join(".",o.relativePath,o.name2??"")),l=o.name1!==o.name2?`<span class="renamed"\n >Renamed <span class="from">${r}</span> -> <span class="to">${a}</span></span\n >`:s;return this.diffFileTemplate(l,await te(n)||await te(i)?this.diffTableTemplate(this.diffLineMessageTemplate("Binary file")):this.getDiffTableHTML(await this.generateAssetFilesDiff(t.readFileSync(n,"utf-8"),t.readFileSync(i,"utf-8"))))}return""}async generateChangelog(){this.logger.info(a.green("Generating changelog"));const o=await this.generateAssetFoldersDiff(),n=(await Promise.all(o.map(e=>this.generateFilesDiff(e)))).join("");this.logger.info(a.green("Writing changelog file"));const i=this.changelogTemplate.split("%FILES%");i.splice(1,0,n);const s=i.join("");t.writeFileSync(e.join(this.destinationPath,this.changelogFilename),s),this.logger.info(a.green(`Changelog file written to ${e.join(this.destinationPath,this.changelogFilename)}`))}}class ue{sourceDir;outputDir;fontName;constructor(e){this.sourceDir=e.sourceDir,this.outputDir=e.outputDir,this.fontName=e.fontName}async generate(){await se({src:this.sourceDir,dist:this.outputDir,fontName:this.fontName,css:!0,typescript:!0,startUnicode:59905,svgicons2svgfont:{fontHeight:1024}})}}class he{wss;eventListeners=new Map;lifecycleListeners=new Map;clients=new Map;ws;constructor(){this.wss=new re({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===ae.OPEN&&e.send(t)}}}}handleUpgrade(e,t,o){return(e.url??"").split("?")[0]===l&&(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){r().error(`ws handler for "${o.event}" failed`,{error:e instanceof Error?e:new Error(String(e))})}}sendToSocket(e,t,o){e.readyState===ae.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 ge=s("pp-dev");function me(t,o,n){const s=[...m,"package.json","next.config.js","next.config.mjs","next.config.ts","vite.config.js","vite.config.mjs","vite.config.ts",".env",".env.local",".env.development",".env.development.local"].map(o=>e.join(t,o)),r=i(s,{ignored:t=>{const o=e.basename(t);return/(^|[\/\\])\../.test(t)&&!o.startsWith(".env")&&!o.startsWith(".pp-dev")&&!o.startsWith(".pp-watch")},persistent:!0,ignoreInitial:!0,followSymlinks:!1});let l=null;return r.on("change",i=>{n(a.blue(`š§ Config file changed: ${e.relative(t,i)}`)),l&&clearTimeout(l),l=setTimeout(async()=>{try{n(a.yellow("š Restarting dev server due to config change...")),await o()}catch(e){n(a.red(`ā Failed to restart dev server: ${e?.message}. Stack: ${e?.stack}`))}},500)}),r.on("error",e=>{n(a.red(`ā Config watcher error: ${e}`))}),{watcher:r,restartCallback:o,logger:n}}function be(e){e.watcher&&e.watcher.close()}function we(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 ve(o){const{changelog:n,executionRoot:i,newAssetsPath:s,backupsDirPath:l,changelogDestinationPath:c,logLevel:d}=o;let p;if("string"==typeof n)p=e.resolve(i,n);else{if(!t.existsSync(l))return void r(d).warn(a.yellow("backups directory not found, skipping changelog generation"));const o=t.readdirSync(l,{withFileTypes:!0});if(!o.length)return void r(d).warn(a.yellow("no backups found, skipping changelog generation"));const n=o.filter(e=>e.isFile()&&e.name.endsWith(".zip"));if(!n.length)return void r(d).warn(a.yellow("no ZIP backups found, skipping changelog generation"));const i=n.reduce((o,n)=>t.statSync(e.resolve(l,o.name)).mtimeMs>t.statSync(e.resolve(l,n.name)).mtimeMs?o:n).name;p=e.resolve(l,i)}const f=new fe({oldAssetsPath:p,newAssetsPath:s,destinationPath:c});await f.generateChangelog()}let ye=global.__pp_dev_profile_session,Pe=0;const xe=o=>{if(ye)return new Promise((n,i)=>{ye.post("Profiler.stop",(s,{profile:r})=>{if(s)i(s);else{const i=e.resolve(`./pp-dev-profile-${Pe++}.cpuprofile`);t.writeFileSync(i,JSON.stringify(r)),o(a.yellow(`CPU profile written to ${a.white(a.dim(i))}`)),ye=void 0,n()}})})},Se=e=>{for(const[t,o]of Object.entries(e))Array.isArray(o)&&(e[t]=o[o.length-1])};function Te(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}ge.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"),ge.command("[root]","start dev server").alias("serve").alias("dev").option("--host [host]","[string] specify hostname").option("--port <port>","[number] specify port").option("--https","[boolean] use TLS + HTTP/2").option("--open [path]","[boolean | string] open browser on startup").option("--cors","[boolean] enable CORS").option("--strictPort","[boolean] exit if specified port is already in use").option("--force","[boolean] force the optimizer to ignore the cache and re-bundle").action(async(t,o)=>{Se(o);let i=null,s=null,l=!1;const c=t?e.resolve(process.cwd(),t):process.cwd(),d=r(o.logLevel),p=async()=>{if(!l){l=!0;try{i&&(d.info(a.yellow("š Stopping existing dev server...")),await i.close(),i=null);const{clearConfigCache:f,getConfig:u}=await import("./index-C7yA2HV8.js").then(e=>e.h);f();const{createServer:h}=await import("vite"),g=o.mode||"development",m=e.resolve(process.cwd(),t??".");O(g,m);const v=await G({mode:g,command:"serve"},o.config,t,o.logLevel);let y=await z(void 0,{mode:g,root:m});if(v){const{plugins:e,...t}=v.config;y=B(y,t)}if(i=await h(B(y,{root:t,base:o.base,mode:o.mode,configFile:o.config,logLevel:o.logLevel,clearScreen:o.clearScreen,optimizeDeps:{force:o.force},server:Te(o),customLogger:d},!0)),!i.config.base||"/"===i.config.base)throw new Error('base cannot be equal to "/" or empty string');if(!i.httpServer)throw new Error("HTTP server not available");await i.listen();const P=global.__pp_dev_start_time??!1,x=P?a.dim(`ready in ${a.reset(a.bold(Math.ceil(n.now()-P)))} ms`):"";d.info(`\n ${a.green(`${a.bold("PP-DEV")} v${b}`)} ${x}\n`),i.printUrls();const S=await u(m);if(!1!==S.inspector?.enabled){const e=i.resolvedUrls?.local[0],t=e?new URL(e).origin:`http://localhost:${i.config.server.port??5173}`;d.info(`\n ${a.cyan("š Request Inspector")} ${a.dim(t+w)}\n`)}!function(e,t){if(!e.httpServer||!process.stdin.isTTY||process.env.CI)return;e._shortcutsOptions=t;const o=r();t.print&&o.info(a.dim(a.green(" ā"))+a.dim(" press ")+a.bold("h")+a.dim(" to show help"));const n=(t.customShortcuts??[]).filter(le).concat(de);ce?.(),ce=null;let i=!1;const s=process.stdin.isPaused(),l=process.stdin,c=Boolean(l.isRaw),d=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(["",a.bold(" Shortcuts"),...n.map(e=>a.dim(" press ")+a.bold(e.key)+a.dim(` to ${e.description}`))].join("\n"));const s=n.find(e=>e.key===t);s&&(i=!0,await s.action(e),i=!1)};process.stdin.setRawMode(!0),process.stdin.on("data",d).setEncoding("utf8").resume();const p=e.httpServer,f=()=>{ce===f&&(p.removeListener("close",f),process.stdin.off("data",d),c||process.stdin.setRawMode(!1),s&&process.stdin.pause(),ce=null)};ce=f,p.on("close",f)}(i,{print:!0,customShortcuts:[...ye?[{key:"p",description:"start/stop the profiler",async action(e){if(ye)await xe(d.info);else{const e=await import("node:inspector").then(e=>e.default);await new Promise(t=>{ye=new e.Session,ye.connect(),ye.post("Profiler.enable",()=>{ye?.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("/")}`}})}}]}),s||(s=me(c,p,d.info),d.info(a.blue("š§ Config file watcher started"))),l=!1}catch(e){l=!1,d.error(a.red(`error when starting dev server:\n${e.stack}`),{error:e}),xe(d.info),process.exit(1)}}},f=async e=>{d.info(a.yellow(`\nš Received ${e}, shutting down gracefully...`));try{s&&(be(s),s=null),i&&(await i.close(),i=null),xe(d.info),d.info(a.green("ā
Graceful shutdown completed")),process.exit(0)}catch(e){d.error(a.red(`ā Error during graceful shutdown: ${e}`)),process.exit(1)}};process.on("SIGINT",()=>f("SIGINT")),process.on("SIGTERM",()=>f("SIGTERM")),process.on("uncaughtException",e=>{d.error(a.red(`ā Uncaught Exception: ${e}`)),f("uncaughtException")}),process.on("unhandledRejection",(e,t)=>{d.error(a.red(`ā Unhandled Rejection at: ${t}, reason: ${e}`)),f("unhandledRejection")}),await p()}),ge.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(n,i)=>{Se(i);let s=null,l=null,p=null,f=null,u=!1;const h=r(),g=async()=>{if(!u){u=!0;try{const{next:m,constants:b}=await H(),{PHASE_DEVELOPMENT_SERVER:M}=b;p&&(await p.close(),p=null),l&&(h.info(a.yellow("š Stopping existing Next.js server...")),await new Promise(e=>{l.close(()=>{l=null,e()})})),s&&"function"==typeof s.close&&(await s.close(),s=null);const{clearConfigCache:z}=await import("./index-C7yA2HV8.js").then(e=>e.h);z();const{join:U,basename:V}=await import("path"),{createServer:G}=await import("http"),B=await import("next/dist/server/config.js"),q=B.default.default||B["module.exports"].default||B.default,J=Te(i),K=n?U(process.cwd(),n):process.cwd();O(i.mode||"development",K),h.info(K);const X=await q(M,K);let Q=X?.ppDev||{};if(0===Object.keys(Q).length)try{const{getConfig:e}=await import("./index-C7yA2HV8.js").then(e=>e.h),t=await e(K);Object.keys(t).length>0?(Q=t,h.info(a.blue("š§ Loaded pp-dev config from standalone config file"))):h.info(a.yellow("ā ļø No pp-dev config found in Next.js config or standalone file, using defaults"))}catch(e){h.info(a.yellow("ā ļø Failed to load standalone pp-dev config, using defaults")),console.debug("Error loading standalone config:",e)}else h.info(a.blue("š§ Loaded pp-dev config from Next.js config"));let ee=null;try{const{getPkg:e}=await import("./index-C7yA2HV8.js").then(e=>e.h);ee=e(K).name}catch{ee=V(K)}v(Q,ee??"");const te=d(Q,ee??""),oe=te.backendBaseURL??"http://localhost:8080",ne=te.templateLess,ie=te.v7Features,se=te.disableSSLValidation,re=te.enableProxyCache,ae=te.proxyCacheTTL,le=te.personalAccessToken,ce=te.miHudLess,de=te.inspectorEnabled,pe=te.inspectorMaxMemory,fe=te.inspectorCaptureLimit,ue=te.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,ge=X?.basePath;let ve="";ge?ve=ge:(ve=ne?y:ie?P:x,ve+=`/${ee}`);const ye=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}:{}}(i),Pe=async e=>{delete process.env.TURBOPACK,s&&"function"==typeof s.close&&(await s.close(),s=null);const t={dev:!0,customServer:!0,hostname:J.host||"localhost",port:J.port,dir:K,conf:{...X,basePath:ve,assetPrefix:ve}};e.webpack?t.webpack=!0:e.turbopack&&(t.turbopack=!0),s=m(t),await s.prepare()};if(ye.webpack)await Pe({webpack:!0});else if(ye.turbopack)try{await Pe({turbopack:!0})}catch(e){if(!we(e))throw e;h.warn(a.yellow("ā Turbopack is unavailable (native bindings). Falling back to Webpack.")),await Pe({webpack:!0})}else try{await Pe({})}catch(e){if(!we(e))throw e;h.warn(a.yellow("ā Turbopack cannot run (native Next.js bindings unavailable). Falling back to Webpack.")),await Pe({webpack:!0})}if(!s)throw new Error("Next.js app failed to initialize");if(ve.endsWith("/")||(ve+="/"),"/"===ve)throw new Error('basePath cannot be equal to "/" or equal to empty string');h.info(a.green("ā
Next.js app prepared successfully")),h.info(a.blue(`š§ pp-dev plugin configured for template: ${ee}`)),h.info(a.blue(`š§ Base path configured: ${ve}`)),oe&&(h.info(a.blue(`š Backend URL: ${oe}`)),h.info(a.blue(`š Custom App ID: ${ue}`)));const xe=s.getRequestHandler(),Se="number"==typeof J.port?J.port:3e3,ke="string"==typeof J.host?J.host||"0.0.0.0":"localhost",Ee=new Set;l=G(async(e,t)=>{try{const o=e.url||"/",n=o.split("?")[0];let i=Y(o,!0);if($e.length>0){if(n.startsWith("/_next/")||"/favicon.ico"===n||n.startsWith("/__nextjs_")){if(je.length>0){let l=0;const c=()=>{if(l>=je.length)return void s();const o=je[l];l++,o(e,t,c)};return void c()}return void s()}let r=0;const a=()=>{if(r>=$e.length)return void s();const o=$e[r];r++,o(e,t,a)};return void a()}async function s(){if(n.startsWith(ve))i=Y(o,!0);else{if(n===ve.replace(/\/$/,"")){const e=o.replace(n,ve);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:ve}),void t.end()}await xe(e,t,i)}s()}catch(d){h.error(`Error handling request: ${d instanceof Error?d.message:String(d)}`,{error:d instanceof Error?d:void 0}),t.statusCode=500,t.end("Internal Server Error")}});let Le=null,$e=[],je=[];if(!1!==de){const e=new S(pe);T(k,e,fe);const t=E(e,fe);$e.push(t)}if(oe){const n=new URL(oe).host;oe.startsWith("https://")&&(o.defaultMaxListeners=Math.max(o.defaultMaxListeners,20));const i={headers:{host:n,referer:oe,origin:oe.replace(/^(https?:\/\/)([^/]+)(\/.*)?$/i,"$1$2")},appId:ue,templateLess:ne,disableSSLValidation:se,v7Features:ie,personalAccessToken:le??process.env.MI_ACCESS_TOKEN};Le=new L(oe,i);const d=$(ve,ee??void 0),f=(e,t,o)=>{d(e,t,o)};je.push(f),$e.push(f);const u=W(ve);if(je.push(u),$e.push(u),re){let e=+ae;(!e||Number.isNaN(e)||e<0)&&(e=6e5);const t={middlewares:{use:e=>e},config:{logger:console}},o=j({devServer:t,ttl:e}),n=(e,t,n)=>{o(e,t,n)};$e.push(n),h.info(a.blue(`š§ Proxy cache middleware added with TTL: ${e}ms`))}const g=new RegExp(`^((${r=ve,r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")})|/)$`),m=D(g,Le,Object.assign({base:ve},i,{miHudLess:ce})),v=(e,t,o)=>{m(e,t,o)};$e.push(v);const y=ve.endsWith("/")?ve.substring(0,ve.length-1):ve,P={middlewares:{use:e=>e},config:{logger:console}},x=I({devServer:P,baseURL:oe,proxyIgnore:["/@vite","/@metricinsights","/@",y,"/_next","/favicon.ico","/__nextjs_","/installHook.js.map"],disableSSLValidation:se,miAPI:Le,templateName:ee??void 0}),S=(e,t,o)=>{x(e,t,o)};$e.push(S);const T=k,E=(e,t,o)=>{if(e.url?.startsWith("/@api/")||e.url?.startsWith(w)||e.url?.startsWith(F)){return void T(e,t,()=>{})}o()};je.push(E),$e.push(E);const M=_(e=>{const t=e.split("?")[0];return t.startsWith(ve)&&!t.includes("/_next/")},(e,t)=>{const o=Le.buildPage(e,ce),i=Z(o,ve,{backendBaseURL:oe,templateLess:ne,appId:ue,devPanelPosition:te.devPanelPosition,devPanelHidden:te.devPanelHidden,devPanelAutoHide:te.devPanelAutoHide});return Buffer.from(N(n,t.headers.host??"",i))}),O=(e,t,o)=>{M(e,t,o)};$e.push(O),p=new he;let z=X?.distDir;try{process.env[c]="1";const e=await q(b.PHASE_PRODUCTION_BUILD,K);z=e?.distDir??z}catch{}const H=(z??"").replace(/\\/g,"/").replace(/\/+$/,"").replace(/\/dev$/,""),U=H&&".next"!==H?H:"out";let G,B="0.0.0";try{const o=JSON.parse(t.readFileSync(e.join(K,"package.json"),"utf-8"));B="string"==typeof o.version?o.version:B,G="string"==typeof o.repository?o.repository:o.repository?.url}catch{}const J=new A(ee??V(K),{root:K,backupFolder:e.resolve(K,te.syncBackupsDir),nextBuild:{projectRoot:K,distDir:U,packageVersion:B,packageRepositoryUrl:G}}),Y={ws:p.ws,config:{clientInjectionPlugin:{v7Features:ie}}};new C(Y,{distService:J,miAPI:Le}),R(k,{distService:J,miAPI:Le});const Q="function"==typeof s?.getUpgradeHandler?s.getUpgradeHandler():null;l.on("upgrade",(e,t,o)=>{p?.handleUpgrade(e,t,o)||(Q?Q(e,t,o):t.destroy())}),h.info(a.blue(`š§ ${$e.length} pp-dev middlewares initialized`)),h.info(a.blue(`š§ ${je.length} essential middlewares for internal routes`)),h.info(a.blue(`š§ MiAPI initialized for backend: ${oe}`)),h.info(a.blue(`š§ Custom App ID: ${ue}`))}l.listen(Se,ke,()=>{h.info(a.green(`ā
pp-dev Next.js server running at http://${ke}:${Se}`)),h.info(a.blue(`š± Next.js app accessible at http://${ke}:${Se}${ve}`)),!1!==de&&h.info(a.cyan(`š Request Inspector: http://${ke}:${Se}${w}`)),h.info(a.blue("š§ Base path handling active")),f||(f=me(K,g,h.info),h.info(a.blue("š§ Config file watcher started"))),l.on("connection",e=>{Ee.add(e),e.on("close",()=>Ee.delete(e))});const e=async e=>{h.info(a.yellow(`\nš Received ${e}, shutting down gracefully...`));const t=setTimeout(()=>{h.info(a.yellow("ā° Shutdown timeout reached, forcing exit")),process.exit(0)},5e3);try{f&&(be(f),f=null);for(const e of Array.from(Ee))e.destroy();Ee.clear(),p&&(await p.close(),p=null),await new Promise(e=>{l.close(()=>{h.info(a.yellow("š HTTP server closed")),e()})}),s&&"function"==typeof s.close&&(await s.close(),h.info(a.yellow("š Next.js app closed"))),clearTimeout(t),h.info(a.green("ā
Graceful shutdown completed")),process.exit(0)}catch(e){clearTimeout(t),h.error(a.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,h.info(a.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=>{h.error(a.red(`ā Uncaught Exception: ${t}`)),e("uncaughtException")}),t.on("unhandledRejection",(t,o)=>{h.error(a.red(`ā Unhandled Rejection at: ${o}, reason: ${t}`)),e("unhandledRejection")}),h.info(a.green("ā
Process event handlers registered successfully"))}catch(e){h.warn(a.yellow(`ā ļø Failed to register process event handlers: ${e}`))}else h.warn(a.yellow("ā ļø process.on is not available, graceful shutdown handlers will not be registered")),h.info(a.blue("š” This might be due to bundling or environment constraints"))}),u=!1}catch(e){u=!1,h.error(a.red(`ā Failed to start Next.js server: ${e?.message}. Stack: ${e?.stack}`)),e instanceof Error&&e.message.includes("Next.js is required")&&(h.error(a.red("ā Next.js Peer Dependency Error:")),h.error(a.red(e.message)),h.error(a.yellow("\nš” To fix this issue:")),h.error(a.blue(" 1. Install Next.js in your project:")),h.error(a.white(" npm install next@^16")),h.error(a.blue(" 2. Or use yarn:")),h.error(a.white(" yarn add next@^16")),h.error(a.blue(" 3. Or use pnpm:")),h.error(a.white(" pnpm add next@^16")),h.error(a.yellow("\nš For more information, see:")),h.error(a.blue(" https://nextjs.org/docs/getting-started"))),process.exit(1)}var r}},m=async e=>{h.info(a.yellow(`\nš Received ${e}, shutting down gracefully...`));try{f&&(be(f),f=null),p&&(await p.close(),p=null),l&&await new Promise(e=>{l.close(()=>{l=null,e()})}),s&&"function"==typeof s.close&&(await s.close(),s=null),h.info(a.green("ā
Graceful shutdown completed")),process.exit(0)}catch(e){h.error(a.red(`ā Error during graceful shutdown: ${e}`)),process.exit(1)}};process.on("SIGINT",()=>m("SIGINT")),process.on("SIGTERM",()=>m("SIGTERM")),process.on("uncaughtException",e=>{h.error(a.red(`ā Uncaught Exception: ${e}`)),m("uncaughtException")}),process.on("unhandledRejection",(e,t)=>{h.error(a.red(`ā Unhandled Rejection at: ${t}, reason: ${e}`)),m("unhandledRejection")}),await g()}),ge.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(t,o)=>{Se(o);const n=Te(o),i=M(o);try{const s=o.mode||"production",r=e.resolve(process.cwd(),t??".");O(s,r);const a=await G({mode:s,command:"build"},o.config,t,o.logLevel);let l=await z(i,{mode:s,root:r});if(a){const{plugins:e,...t}=a.config;l=B(l,t)}const c=B(l,{root:t,base:o.base,mode:o.mode,configFile:o.config,logLevel:o.logLevel,clearScreen:o.clearScreen,optimizeDeps:{force:o.force},build:n},!0);if(await q(c),n.changelog){const i=t||process.cwd(),s=c.build?.outDir||"dist";let r="dist-zip";c.ppDevConfig&&(!1===c.ppDevConfig.distZip?r=s:"object"==typeof c.ppDevConfig.distZip&&"string"==typeof c.ppDevConfig.distZip.outDir&&(r=c.ppDevConfig.distZip.outDir)),await ve({changelog:n.changelog,executionRoot:i,newAssetsPath:e.resolve(i,s),backupsDirPath:e.resolve(i,c.ppDevConfig?.syncBackupsDir||"backups"),changelogDestinationPath:e.resolve(i,r),logLevel:o.logLevel})}}catch(e){r(o.logLevel).error(a.red(`error during build:\n${e.stack}`),{error:e}),process.exit(1)}finally{xe(e=>r(o.logLevel).info(e))}}),ge.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(o,n)=>{Se(n);const i=r(n.logLevel),s=o?e.resolve(process.cwd(),o):process.cwd(),l=M(n);process.env[c]="1";try{O(n.mode||"production",s);const{constants:o}=await H(),r=await import("next/dist/server/config.js"),c=r.default.default||r["module.exports"].default||r.default,m=await c(o.PHASE_PRODUCTION_BUILD,s);let b,w=m?.ppDev||{};if(0===Object.keys(w).length){const{getConfig:e}=await import("./index-C7yA2HV8.js").then(e=>e.h);w=await e(s)}try{const{getPkg:e}=await import("./index-C7yA2HV8.js").then(e=>e.h);b=e(s).name}catch{b=e.basename(s)}const v=d(w,b),y=U(v.distZip,l,p(b)),P=V(v.versionPlugin,l);i.info(a.cyan("[pp-dev] Running `next build`...")),await f(s);const x="string"==typeof m?.distDir&&m.distDir?m.distDir:".next",S=".next"===x?"out":x,T=e.resolve(s,S);if(!t.existsSync(T)||!t.statSync(T).isDirectory())throw new Error(`Next.js build output directory not found: ${T}. "next-build" requires "output: 'export'" in next.config (static export).`);const k=JSON.parse(t.readFileSync(e.join(s,"package.json"),"utf-8"));if(!1!==P&&!1!==P.enabled&&(u({outDir:T,packageVersion:"string"==typeof k.version?k.version:"0.0.0",versionFileTemplate:P.versionFileTemplate,packageRepositoryUrl:"string"==typeof k.repository?k.repository:k.repository?.url,enabled:P.enabled}),i.info(a.green(`ā
VERSION / BUILD-MANIFEST written to ${e.relative(s,T)}`))),!1!==y){const o=e.resolve(s,y.outDir),n=y.inDir?e.resolve(T,y.inDir):T,r=h(o,y.outFileName,"ZIP output file name");t.mkdirSync(e.dirname(r),{recursive:!0});const l=await g(n);t.writeFileSync(r,l),i.info(a.green(`ā
Zip archive written to ${e.relative(s,r)}`))}if(n.changelog){const t=!1!==y?y.outDir:S;await ve({changelog:n.changelog,executionRoot:s,newAssetsPath:T,backupsDirPath:e.resolve(s,v.syncBackupsDir),changelogDestinationPath:e.resolve(s,t),logLevel:n.logLevel})}}catch(e){r(n.logLevel).error(a.red(`error during next-build:\n${e.stack}`),{error:e}),process.exit(1)}finally{xe(e=>r(n.logLevel).info(e))}}),ge.command("changelog [oldAssetPath] [newAssetPath]","generate changelog between two assets files/folders").option("--oldAssetsPath <oldAssetsPath>","[string] path to the old assets zip file or folder").option("--newAssetsPath <newAssetsPath>","[string] path to the new assets zip file or folder").option("--destination <destination>","[string] destination folder for the changelog (default: .)").option("--filename <filename>","[string] filename for the changelog (default: CHANGELOG.html)").action(async(t,o,n)=>{Se(n);const{oldAssetsPath:i=t,newAssetsPath:s=o,destination:l=".",filename:c="CHANGELOG.html",logLevel:d}=n,p=process.cwd();i&&s||(r(d).error(a.red("error during changelog generation: oldAssetPath and newAssetPath are required")),process.exit(1));const f=e.resolve(p,i),u=e.resolve(p,s),h=e.resolve(p,l),g=new fe({oldAssetsPath:f,newAssetsPath:u,destinationPath:h,changelogFilename:c});await g.generateChangelog()}),ge.command("generate-icon-font [source] [destination]","generate icon font from SVG files").option("--source <source>","[string] path to the source directory with SVG files").option("--destination <destination>","[string] path to the destination directory to save the generated font files").option("--font-name, -n <fontName>","[string] name of the font to generate (default: 'icon-font')").action(async(t,o,n)=>{Se(n);const{source:i=t,destination:s=o,fontName:l="icon-font"}=n,c=process.cwd(),d=e.resolve(c,i),p=e.resolve(c,s),f=new ue({sourceDir:d,outputDir:p,fontName:l}),u=r(n.logLevel);u.info(`Generating icon font from SVG files in ${a.dim(d)}`),await f.generate(),u.info(`Icon font generated and saved to ${a.dim(p)}`)}),ge.command("optimize [root]","pre-bundle dependencies").option("--force","[boolean] force the optimizer to ignore the cache and re-bundle").action(async(t,o)=>{Se(o);try{const n=o.mode||"production",i=e.resolve(process.cwd(),t??".");O(n,i);const s=await G({mode:n,command:"build"},o.config,t,o.logLevel);let r=await z(void 0,{mode:n,root:i});if(s){const{plugins:e,...t}=s.config;r=B(r,t)}const a=await J(B(r,{root:t,base:o.base,configFile:o.config,logLevel:o.logLevel,mode:o.mode}),"serve");await K(a,o.force,!0)}catch(e){r(o.logLevel).error(a.red(`error when optimizing deps:\n${e.stack}`),{error:e}),process.exit(1)}}),ge.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(t,o)=>{Se(o);try{const n=o.mode||"production",i=e.resolve(process.cwd(),t??".");O(n,i);const s=await G({mode:n,command:"build"},o.config,t,o.logLevel);let r=await z(void 0,{mode:n,root:i});if(s){const{plugins:e,...t}=s.config;r=B(r,t)}(await X(B(r,{root:t,base:o.base,configFile:o.config,logLevel:o.logLevel,mode:o.mode,build:{outDir:o.outDir},preview:{port:o.port,strictPort:o.strictPort,host:o.host,https:o.https,open:o.open}}))).printUrls()}catch(e){r(o.logLevel).error(a.red(`error when starting preview server:\n${e.stack}`),{error:e}),process.exit(1)}finally{xe(e=>r(o.logLevel).info(e))}}),ge.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(o,n)=>{const i=r(n.logLevel),{isLegacyFlatConfig:s,isLegacyPPWatchConfig:l,isAlreadyMigrated:c,migrateLegacyFlatConfig:d,migratePPWatchConfig:p,generateConfigFileContent:f}=await import("./migrate-BYuCtRbI.js"),u=n.format??"ts",h=!1!==n.backup,g=process.cwd(),b=[".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 w=o??null,v=!1;if(!w){for(const o of m)if(t.existsSync(e.join(g,o))){w=e.join(g,o);break}if(!w)for(const o of b)if(t.existsSync(e.join(g,o))){w=e.join(g,o),v=!0;break}}w||(i.warn(a.yellow("No pp-dev or pp-watch config file found in the current directory.")),i.info(a.blue("Supported files: pp-dev.config.{ts,js,cjs,mjs,json}, .pp-watch.config.{ts,js,json}")),process.exit(1)),i.info(a.blue(`Found config: ${e.relative(g,w)}`));const{getPkg:y}=await import("./index-C7yA2HV8.js").then(e=>e.h),P=y();let x,S={};try{if(/\.[cm]?ts$/i.test(w)){const o=await import("esbuild"),{pathToFileURL:n}=await import("url"),i=(await o.build({absWorkingDir:g,entryPoints:[w],outfile:"out.js",write:!1,target:"node24",platform:"node",bundle:!0,packages:"external",format:"esm",mainFields:["main"]})).outputFiles[0].text,s=`pp-migrate-tmp-${Date.now()}.mjs`;t.writeFileSync(s,i);try{const t=await import(n(e.resolve(g,s)).toString());S=t.default?.default??t.default??t}finally{t.existsSync(s)&&t.unlinkSync(s)}}else if(/\.[cm]?js$/i.test(w)){const{pathToFileURL:t}=await import("url"),o=await import(t(e.resolve(g,w)).toString());S=o.default?.default??o.default??o}else w.endsWith(".json")&&(S=JSON.parse(t.readFileSync(w,"utf-8")))}catch(e){i.error(a.red(`Failed to load config file: ${e.message}`)),process.exit(1)}S&&"object"==typeof S||(i.error(a.red("Config file did not export a valid object.")),process.exit(1)),c(S)?(i.info(a.green("Config is already in 1.0 format ā nothing to migrate.")),process.exit(0)):v||l(S)?(i.info(a.blue("Detected pp-watch config format ā migrating to 1.0")),x=p(S)):s(S)?(i.info(a.blue("Detected 0.x flat config format ā migrating to 1.0")),x=d(S,P.name)):(i.warn(a.yellow("Could not detect config format. No known keys found.")),process.exit(1));const T=f(x,u),k=n.output??e.join(g,`pp-dev.config.${u}`);if(n.dryRun&&(i.info(a.green(`\n--- Migrated config (dry-run) ā ${e.relative(g,k)} ---\n`)),process.exit(0)),h&&t.existsSync(w)){const o=`${w}.bak`;t.copyFileSync(w,o),i.info(a.blue(`Backed up original to: ${e.relative(g,o)}`))}t.writeFileSync(k,T,"utf-8"),i.info(a.green(`ā
Migration complete ā ${e.relative(g,k)}`)),w!==k&&t.existsSync(w)&&i.info(a.yellow(`You can now delete the old config: ${e.relative(g,w)}`))}),ge.help(),ge.version(b),ge.parse();export{xe as stopProfiler};
|
|
1
|
+
import*as e from"path";import*as t from"fs";import{EventEmitter as o}from"node:events";import{performance as n}from"node:perf_hooks";import{watch as i}from"chokidar";import{cac as s}from"cac";import{c as r,a,r as l,P as c,b as d,n as p,d as f,e as u,w as h,f as g,z as m,g as b,V as w,I as v,v as y,h as P,i as x,j as S,R as T,k,l as E,m as L,M as $,o as j,p as D,q as I,s as F,t as _,u as N,x as A,D as C,C as R,y as M}from"./plugin-CaN0TX0l.js";import{r as O,l as z,g as H,s as U,a as V,b as W,c as Z,i as G}from"./index-CI6Wkcfi.js";import{loadConfigFromFile as B,mergeConfig as q,build as J,resolveConfig as K,optimizeDeps as X,preview as Y}from"vite";import{parse as Q}from"url";import*as ee from"dir-compare";import te from"diff-match-patch";import{isBinaryFile as oe}from"isbinaryfile";import*as ne from"os";import*as ie from"crypto";import se from"extract-zip";import re from"svgtofont";import{WebSocketServer as ae,WebSocket as le}from"ws";import"http-proxy-middleware";import"picocolors";import"node:string_decoder";import"axios";import"node:http";import"node:https";import"jsdom";import"process";import"child_process";import"node:path";import"jszip";import"module";import"memory-cache";import"zlib";import"express";import"node:crypto";import"./helpers.js";import"ejs";function ce(e){return null!=e&&!1!==e}let de=null;const pe=[{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 fe=/(.+)(-[a-f0-9]{6,20})(\.[a-z0-9]+)$/i;class ue{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(t){const{oldAssetsPath:o,newAssetsPath:n,destinationPath:i,changelogTemplate:s,diffFileTemplateHandler:l,diffLineTemplateHandler:c,changelogFilename:d,contextLines:p}=t;if(this.logger=r(),!o||!n||!i)throw new Error("Previous assets path, current assets path and destination path are required");if(o===n)throw new Error("Previous and current assets paths must be different");if(!this.isExists(o))throw new Error(`Previous assets path ${o} does not exist`);if(!this.isExists(n))throw new Error(`Current assets path ${n} does not exist`);if(this.isZipFile(o)){const t=e.resolve(ne.tmpdir(),ie.createHash("md5").update(o).digest("hex"));this.oldAssetsPath=this.unzipFile(o,t).then(()=>this.normalizeAssetFolderPath(t)).then(e=>{if(this.isEmptyFolder(e))throw new Error(`Previous assets path ${e} is empty`);return e})}else{if(!this.isFolder(o))throw new Error(`Invalid previous assets path ${o}. It must be a folder or a zip file`);{const e=this.normalizeAssetFolderPath(o);if(this.isEmptyFolder(e))throw new Error(`Previous assets path ${e} is empty`);this.oldAssetsPath=Promise.resolve(e)}}if(this.isZipFile(n)){const t=e.resolve(ne.tmpdir(),ie.createHash("md5").update(n).digest("hex"));this.newAssetsPath=this.unzipFile(n,t).then(()=>this.normalizeAssetFolderPath(t)).then(e=>{if(this.isEmptyFolder(e))throw new Error(`Current assets path ${e} is empty`);return e})}else{if(!this.isFolder(n))throw new Error(`Invalid current assets path ${n}. It must be a folder or a zip file`);{const e=this.normalizeAssetFolderPath(n);if(this.isEmptyFolder(e))throw new Error(`Current assets path ${n} is empty`);this.newAssetsPath=Promise.resolve(e)}}this.destinationPath=i,this.mkdirpSync(this.destinationPath),this.changelogFilename=d||"CHANGELOG.html",s&&(this.templateIsValid(s)?this.changelogTemplate=s:this.logger.warn(a.yellow("Invalid changelog template, using default"))),"function"==typeof l&&(this.diffFileTemplateHandler=l),"function"==typeof c&&(this.diffLineTemplateHandler=c),p&&(this.contextLines=p)}templateIsValid(e){return e.includes("%FILES%")}isExists(e){return t.existsSync(e)}isZipFile(e){return e.endsWith(".zip")}isFolder(e){return t.lstatSync(e).isDirectory()}isEmptyFolder(e){return 0===t.readdirSync(e,{withFileTypes:!0}).length}mkdirpSync(e){t.existsSync(e)||t.mkdirSync(e,{recursive:!0})}async unzipFile(e,o){t.rmSync(o,{force:!0,recursive:!0}),await se(e,{dir:o}),await l(o)}normalizeAssetFolderPath(o){const n=t.readdirSync(o);return 1===n.length&&t.lstatSync(e.join(o,n[0])).isDirectory()?this.normalizeAssetFolderPath(e.join(o,n[0])):o}pathToPosix(e){return e.replace(/\\/g,"/")}diffTableTemplate(e){return`<table class="diff-table">\n <tbody>\n ${e}\n </tbody>\n </table>`}getDiffTableHTML(e){const t=e.filter((e,t,o)=>0!==e.lineType||(t>=0&&t<this.contextLines||t>o.length-(this.contextLines+1)&&t<=o.length-1||o.slice(t-this.contextLines,t+this.contextLines+1).some(e=>0!==e.lineType))).map((e,t,o)=>{if(t>0){const n=o[t-1];if(e.lineNumber-n.lineNumber>1)return[{lineNumber:-1,lineContent:"",lineType:0},e]}return[e]}).flat().map(e=>this.diffLineHTML(e)).join("");return this.diffTableTemplate(t)}diffLineMessageTemplate(e){return`<tr>\n <td class="blob-num"></td>\n <td class="blob-num"></td>\n <td class="blob-code message">\n <span class="blob-code-inner">${e}</span>\n </td>\n </tr>`}diffLineSkipTemplate(){return'<tr>\n <td class="blob-num"></td>\n <td class="blob-num"></td>\n <td class="blob-code skip">\n <span class="blob-code-inner">Skip</span>\n </td>\n </tr>'}diffLineTemplate(e){const{lineNumber:t,lineContent:o,lineType:n}=e,i=1===n?"addition":-1===n?"deletion":"";return`<tr>\n <td\n class="blob-num ${i}${"addition"===i?" empty":""}"\n ${"addition"!==i?` data-line-number="${t}"`:""}\n ></td>\n <td\n class="blob-num ${i}${"deletion"===i?" empty":""}"\n ${"deletion"!==i?` data-line-number="${t}"`:""}\n ></td>\n <td class="blob-code ${1===n?"code-addition":-1===n?"code-deletion":""}">\n <span class="blob-code-inner" data-code-prefix="${1===n?"+":-1===n?"-":" "}">${s=o??"",s.replace(/[\u00A0-\u9999<>&]/g,e=>"&#"+e.charCodeAt(0)+";")}</span>\n </td>\n </tr>`;var s}diffLineHTML(e){if(this.diffLineTemplateHandler)return this.diffLineTemplateHandler(e);const{lineNumber:t}=e;return-1===t?this.diffLineSkipTemplate():this.diffLineTemplate(e)}diffFileTemplate(e,t){return this.diffFileTemplateHandler?this.diffFileTemplateHandler(e,t):`<div class="diff-file">\n <div class="diff-file-title">${e}</div>\n <div class="diff-file-content">${t}</div>\n </div>`}async generateAssetFoldersDiff(){this.logger.info(a.blue(`Comparing asset folders ${await this.oldAssetsPath} and ${await this.newAssetsPath}`));const e=await ee.compare(await this.oldAssetsPath,await this.newAssetsPath,{compareContent:!0,skipSymlinks:!0,compareSize:!0,compareDate:!1,compareNameHandler:(e,t)=>(fe.test(e)&&(e=e.replace(fe,"$1$3")),fe.test(t)&&(t=t.replace(fe,"$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 te,n=o.diff_linesToChars_(e,t),i=o.diff_main(n.chars1,n.chars2,!1);o.diff_charsToLines_(i,n.lineArray);let s=0;return i.map(e=>{const[t,o]=e,n=o.endsWith("\n")?o.split("\n").length-1:o.split("\n").length,i=o.split("\n").map((e,o)=>({lineContent:e,lineNumber:s+o+1,lineType:t})).slice(0,n);return-1!==t&&(s+=n),i}).flat()}async generateFilesDiff(o){if("equal"===o.state){const t=this.pathToPosix(e.join(".",o.relativePath,o.name1??"")),n=this.pathToPosix(e.join(".",o.relativePath,o.name2??""));return this.diffFileTemplate(`<span class="renamed"\n >Renamed <span class="from">${t}</span> -> <span class="to">${n}</span></span\n >`,this.diffTableTemplate(this.diffLineMessageTemplate("No changes")))}const n=o.path1&&o.name1?e.join(o.path1,o.name1):null,i=o.path2&&o.name2?e.join(o.path2,o.name2):null,s=this.pathToPosix(e.join(".",o.relativePath,(o.name1||o.name2)??""));if("left"===o.state&&n)return this.diffFileTemplate(`<span class="removed">Removed ${s}</span>`,this.diffTableTemplate(this.diffLineMessageTemplate("File removed")));if("right"===o.state&&i)return this.diffFileTemplate(`<span class="added">Added ${s}</span>`,this.diffTableTemplate(this.diffLineMessageTemplate("File added")));if("distinct"===o.state&&n&&i){const r=this.pathToPosix(e.join(".",o.relativePath,o.name1??"")),a=this.pathToPosix(e.join(".",o.relativePath,o.name2??"")),l=o.name1!==o.name2?`<span class="renamed"\n >Renamed <span class="from">${r}</span> -> <span class="to">${a}</span></span\n >`:s;return this.diffFileTemplate(l,await oe(n)||await oe(i)?this.diffTableTemplate(this.diffLineMessageTemplate("Binary file")):this.getDiffTableHTML(await this.generateAssetFilesDiff(t.readFileSync(n,"utf-8"),t.readFileSync(i,"utf-8"))))}return""}async generateChangelog(){this.logger.info(a.green("Generating changelog"));const o=await this.generateAssetFoldersDiff(),n=(await Promise.all(o.map(e=>this.generateFilesDiff(e)))).join("");this.logger.info(a.green("Writing changelog file"));const i=this.changelogTemplate.split("%FILES%");i.splice(1,0,n);const s=i.join("");t.writeFileSync(e.join(this.destinationPath,this.changelogFilename),s),this.logger.info(a.green(`Changelog file written to ${e.join(this.destinationPath,this.changelogFilename)}`))}}class he{sourceDir;outputDir;fontName;constructor(e){this.sourceDir=e.sourceDir,this.outputDir=e.outputDir,this.fontName=e.fontName}async generate(){await re({src:this.sourceDir,dist:this.outputDir,fontName:this.fontName,css:!0,typescript:!0,startUnicode:59905,svgicons2svgfont:{fontHeight:1024}})}}class ge{wss;eventListeners=new Map;lifecycleListeners=new Map;clients=new Map;ws;constructor(){this.wss=new ae({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===le.OPEN&&e.send(t)}}}}handleUpgrade(e,t,o){return(e.url??"").split("?")[0]===c&&(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){r().error(`ws handler for "${o.event}" failed`,{error:e instanceof Error?e:new Error(String(e))})}}sendToSocket(e,t,o){e.readyState===le.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 me=s("pp-dev");function be(t,o,n){const s=[...b,"package.json","next.config.js","next.config.mjs","next.config.ts","vite.config.js","vite.config.mjs","vite.config.ts",".env",".env.local",".env.development",".env.development.local"].map(o=>e.join(t,o)),r=i(s,{ignored:t=>{const o=e.basename(t);return/(^|[\/\\])\../.test(t)&&!o.startsWith(".env")&&!o.startsWith(".pp-dev")&&!o.startsWith(".pp-watch")},persistent:!0,ignoreInitial:!0,followSymlinks:!1});let l=null;return r.on("change",i=>{n(a.blue(`š§ Config file changed: ${e.relative(t,i)}`)),l&&clearTimeout(l),l=setTimeout(async()=>{try{n(a.yellow("š Restarting dev server due to config change...")),await o()}catch(e){n(a.red(`ā Failed to restart dev server: ${e?.message}. Stack: ${e?.stack}`))}},500)}),r.on("error",e=>{n(a.red(`ā Config watcher error: ${e}`))}),{watcher:r,restartCallback:o,logger:n}}function we(e){e.watcher&&e.watcher.close()}function ve(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 ye(o){const{changelog:n,executionRoot:i,newAssetsPath:s,backupsDirPath:l,changelogDestinationPath:c,logLevel:d}=o;let p;if("string"==typeof n)p=e.resolve(i,n);else{if(!t.existsSync(l))return void r(d).warn(a.yellow("backups directory not found, skipping changelog generation"));const o=t.readdirSync(l,{withFileTypes:!0});if(!o.length)return void r(d).warn(a.yellow("no backups found, skipping changelog generation"));const n=o.filter(e=>e.isFile()&&e.name.endsWith(".zip"));if(!n.length)return void r(d).warn(a.yellow("no ZIP backups found, skipping changelog generation"));const i=n.reduce((o,n)=>t.statSync(e.resolve(l,o.name)).mtimeMs>t.statSync(e.resolve(l,n.name)).mtimeMs?o:n).name;p=e.resolve(l,i)}const f=new ue({oldAssetsPath:p,newAssetsPath:s,destinationPath:c});await f.generateChangelog()}let Pe=global.__pp_dev_profile_session,xe=0;const Se=o=>{if(Pe)return new Promise((n,i)=>{Pe.post("Profiler.stop",(s,{profile:r})=>{if(s)i(s);else{const i=e.resolve(`./pp-dev-profile-${xe++}.cpuprofile`);t.writeFileSync(i,JSON.stringify(r)),o(a.yellow(`CPU profile written to ${a.white(a.dim(i))}`)),Pe=void 0,n()}})})},Te=e=>{for(const[t,o]of Object.entries(e))Array.isArray(o)&&(e[t]=o[o.length-1])};function ke(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}me.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"),me.command("[root]","start dev server").alias("serve").alias("dev").option("--host [host]","[string] specify hostname").option("--port <port>","[number] specify port").option("--https","[boolean] use TLS + HTTP/2").option("--open [path]","[boolean | string] open browser on startup").option("--cors","[boolean] enable CORS").option("--strictPort","[boolean] exit if specified port is already in use").option("--force","[boolean] force the optimizer to ignore the cache and re-bundle").action(async(t,o)=>{Te(o);let i=null,s=null,l=!1;const c=t?e.resolve(process.cwd(),t):process.cwd(),d=r(o.logLevel),p=async()=>{if(!l){l=!0;try{i&&(d.info(a.yellow("š Stopping existing dev server...")),await i.close(),i=null);const{clearConfigCache:f,getConfig:u}=await import("./index-CI6Wkcfi.js").then(e=>e.h);f();const{createServer:h}=await(import("vite")),g=o.mode||"development",m=e.resolve(process.cwd(),t??".");z(g,m);const b=await B({mode:g,command:"serve"},o.config,t,o.logLevel);let y=await H(void 0,{mode:g,root:m});if(b){const{plugins:e,...t}=b.config;y=q(y,t)}if(i=await h(q(y,{root:t,base:o.base,mode:o.mode,configFile:o.config,logLevel:o.logLevel,clearScreen:o.clearScreen,optimizeDeps:{force:o.force},server:ke(o),customLogger:d},!0)),!i.config.base||"/"===i.config.base)throw new Error('base cannot be equal to "/" or empty string');if(!i.httpServer)throw new Error("HTTP server not available");await i.listen();const P=global.__pp_dev_start_time??!1,x=P?a.dim(`ready in ${a.reset(a.bold(Math.ceil(n.now()-P)))} ms`):"";d.info(`\n ${a.green(`${a.bold("PP-DEV")} v${w}`)} ${x}\n`),i.printUrls();const S=await u(m);if(!1!==S.inspector?.enabled){const e=i.resolvedUrls?.local[0],t=e?new URL(e).origin:`http://localhost:${i.config.server.port??5173}`;d.info(`\n ${a.cyan("š Request Inspector")} ${a.dim(t+v)}\n`)}!function(e,t){if(!e.httpServer||!process.stdin.isTTY||process.env.CI)return;e._shortcutsOptions=t;const o=r();t.print&&o.info(a.dim(a.green(" ā"))+a.dim(" press ")+a.bold("h")+a.dim(" to show help"));const n=(t.customShortcuts??[]).filter(ce).concat(pe);de?.(),de=null;let i=!1;const s=process.stdin.isPaused(),l=process.stdin,c=Boolean(l.isRaw),d=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(["",a.bold(" Shortcuts"),...n.map(e=>a.dim(" press ")+a.bold(e.key)+a.dim(` to ${e.description}`))].join("\n"));const s=n.find(e=>e.key===t);s&&(i=!0,await s.action(e),i=!1)};process.stdin.setRawMode(!0),process.stdin.on("data",d).setEncoding("utf8").resume();const p=e.httpServer,f=()=>{de===f&&(p.removeListener("close",f),process.stdin.off("data",d),c||process.stdin.setRawMode(!1),s&&process.stdin.pause(),de=null)};de=f,p.on("close",f)}(i,{print:!0,customShortcuts:[...Pe?[{key:"p",description:"start/stop the profiler",async action(e){if(Pe)await Se(d.info);else{const e=await import("node:inspector").then(e=>e.default);await new Promise(t=>{Pe=new e.Session,Pe.connect(),Pe.post("Profiler.enable",()=>{Pe?.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("/")}`}})}}]}),s||(s=be(c,p,d.info),d.info(a.blue("š§ Config file watcher started"))),l=!1}catch(e){l=!1,d.error(a.red(`error when starting dev server:\n${e.stack}`),{error:e}),Se(d.info),process.exit(1)}}},f=async e=>{d.info(a.yellow(`\nš Received ${e}, shutting down gracefully...`));try{s&&(we(s),s=null),i&&(await i.close(),i=null),Se(d.info),d.info(a.green("ā
Graceful shutdown completed")),process.exit(0)}catch(e){d.error(a.red(`ā Error during graceful shutdown: ${e}`)),process.exit(1)}};process.on("SIGINT",()=>f("SIGINT")),process.on("SIGTERM",()=>f("SIGTERM")),process.on("uncaughtException",e=>{d.error(a.red(`ā Uncaught Exception: ${e}`)),f("uncaughtException")}),process.on("unhandledRejection",(e,t)=>{d.error(a.red(`ā Unhandled Rejection at: ${t}, reason: ${e}`)),f("unhandledRejection")}),await p()}),me.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(n,i)=>{Te(i);let s=null,l=null,c=null,f=null,u=!1;const h=r(),g=async()=>{if(!u){u=!0;try{const{next:m,constants:b}=await U(),{PHASE_DEVELOPMENT_SERVER:w}=b;c&&(await c.close(),c=null),l&&(h.info(a.yellow("š Stopping existing Next.js server...")),await new Promise(e=>{l.close(()=>{l=null,e()})})),s&&"function"==typeof s.close&&(await s.close(),s=null);const{clearConfigCache:O}=await import("./index-CI6Wkcfi.js").then(e=>e.h);O();const{join:H,basename:V}=await(import("path")),{createServer:W}=await(import("http")),B=await(import("next/dist/server/config.js")),q=B.default.default||B["module.exports"].default||B.default,J=ke(i),K=n?H(process.cwd(),n):process.cwd();z(i.mode||"development",K),h.info(K);const X=await q(w,K);let Y=X?.ppDev||{};if(0===Object.keys(Y).length)try{const{getConfig:e}=await import("./index-CI6Wkcfi.js").then(e=>e.h),t=await e(K);Object.keys(t).length>0?(Y=t,h.info(a.blue("š§ Loaded pp-dev config from standalone config file"))):h.info(a.yellow("ā ļø No pp-dev config found in Next.js config or standalone file, using defaults"))}catch(e){h.info(a.yellow("ā ļø Failed to load standalone pp-dev config, using defaults")),console.debug("Error loading standalone config:",e)}else h.info(a.blue("š§ Loaded pp-dev config from Next.js config"));let ee=null;try{const{getPkg:e}=await import("./index-CI6Wkcfi.js").then(e=>e.h);ee=e(K).name}catch{ee=V(K)}y(Y,ee??"");const te=p(Y,ee??""),oe=te.backendBaseURL??"http://localhost:8080",ne=te.templateLess,ie=te.v7Features,se=te.disableSSLValidation,re=te.enableProxyCache,ae=te.proxyCacheTTL,le=te.personalAccessToken,ce=te.miHudLess,de=te.inspectorEnabled,pe=te.inspectorMaxMemory,fe=te.inspectorCaptureLimit,ue=te.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,he=X?.basePath;let me="";he?me=he:(me=ne?P:ie?x:S,me+=`/${ee}`);const ye=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}:{}}(i),Pe=async e=>{delete process.env.TURBOPACK,s&&"function"==typeof s.close&&(await s.close(),s=null);const t={dev:!0,customServer:!0,hostname:J.host||"localhost",port:J.port,dir:K,conf:{...X,basePath:me,assetPrefix:me}};e.webpack?t.webpack=!0:e.turbopack&&(t.turbopack=!0),s=m(t),await s.prepare()};if(ye.webpack)await Pe({webpack:!0});else if(ye.turbopack)try{await Pe({turbopack:!0})}catch(e){if(!ve(e))throw e;h.warn(a.yellow("ā Turbopack is unavailable (native bindings). Falling back to Webpack.")),await Pe({webpack:!0})}else try{await Pe({})}catch(e){if(!ve(e))throw e;h.warn(a.yellow("ā Turbopack cannot run (native Next.js bindings unavailable). Falling back to Webpack.")),await Pe({webpack:!0})}if(!s)throw new Error("Next.js app failed to initialize");if(me.endsWith("/")||(me+="/"),"/"===me)throw new Error('basePath cannot be equal to "/" or equal to empty string');h.info(a.green("ā
Next.js app prepared successfully")),h.info(a.blue(`š§ pp-dev plugin configured for template: ${ee}`)),h.info(a.blue(`š§ Base path configured: ${me}`)),oe&&(h.info(a.blue(`š Backend URL: ${oe}`)),h.info(a.blue(`š Custom App ID: ${ue}`)));const xe=s.getRequestHandler(),Se="number"==typeof J.port?J.port:3e3,Te="string"==typeof J.host?J.host||"0.0.0.0":"localhost",Ee=new Set;l=W(async(e,t)=>{try{const o=e.url||"/",n=o.split("?")[0];let i=Q(o,!0);if($e.length>0){if(n.startsWith("/_next/")||"/favicon.ico"===n||n.startsWith("/__nextjs_")){if(je.length>0){let l=0;const c=()=>{if(l>=je.length)return void s();const o=je[l];l++,o(e,t,c)};return void c()}return void s()}let r=0;const a=()=>{if(r>=$e.length)return void s();const o=$e[r];r++,o(e,t,a)};return void a()}async function s(){if(n.startsWith(me))i=Q(o,!0);else{if(n===me.replace(/\/$/,"")){const e=o.replace(n,me);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:me}),void t.end()}await xe(e,t,i)}s()}catch(d){h.error(`Error handling request: ${d instanceof Error?d.message:String(d)}`,{error:d instanceof Error?d:void 0}),t.statusCode=500,t.end("Internal Server Error")}});let Le=null,$e=[],je=[];if(!1!==de){const e=new T(pe);k(E,e,fe);const t=L(e,fe);$e.push(t)}if(oe){const n=new URL(oe).host;oe.startsWith("https://")&&(o.defaultMaxListeners=Math.max(o.defaultMaxListeners,20));const i={headers:{host:n,referer:oe,origin:oe.replace(/^(https?:\/\/)([^/]+)(\/.*)?$/i,"$1$2")},appId:ue,templateLess:ne,disableSSLValidation:se,v7Features:ie,personalAccessToken:le??process.env.MI_ACCESS_TOKEN};Le=new $(oe,i);const p=j(me,ee??void 0),f=(e,t,o)=>{p(e,t,o)};je.push(f),$e.push(f);const u=Z(me);if(je.push(u),$e.push(u),re){let e=+ae;(!e||Number.isNaN(e)||e<0)&&(e=6e5);const t={middlewares:{use:e=>e},config:{logger:console}},o=D({devServer:t,ttl:e}),n=(e,t,n)=>{o(e,t,n)};$e.push(n),h.info(a.blue(`š§ Proxy cache middleware added with TTL: ${e}ms`))}const g=new RegExp(`^((${r=me,r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")})|/)$`),m=I(g,Le,Object.assign({base:me},i,{miHudLess:ce})),w=(e,t,o)=>{m(e,t,o)};$e.push(w);const y=me.endsWith("/")?me.substring(0,me.length-1):me,P={middlewares:{use:e=>e},config:{logger:console}},x=F({devServer:P,baseURL:oe,proxyIgnore:["/@vite","/@metricinsights","/@",y,"/_next","/favicon.ico","/__nextjs_","/installHook.js.map"],disableSSLValidation:se,miAPI:Le,templateName:ee??void 0}),S=(e,t,o)=>{x(e,t,o)};$e.push(S);const T=E,k=(e,t,o)=>{if(e.url?.startsWith("/@api/")||e.url?.startsWith(v)||e.url?.startsWith(_)){return void T(e,t,()=>{})}o()};je.push(k),$e.push(k);const L=N(e=>{const t=e.split("?")[0];return t.startsWith(me)&&!t.includes("/_next/")},(e,t)=>{const o=Le.buildPage(e,ce),i=G(o,me,{backendBaseURL:oe,templateLess:ne,appId:ue,devPanelPosition:te.devPanelPosition,devPanelHidden:te.devPanelHidden,devPanelAutoHide:te.devPanelAutoHide});return Buffer.from(A(n,t.headers.host??"",i))}),O=(e,t,o)=>{L(e,t,o)};$e.push(O),c=new ge;let z=X?.distDir;try{process.env[d]="1";const e=await q(b.PHASE_PRODUCTION_BUILD,K);z=e?.distDir??z}catch{}const H=(z??"").replace(/\\/g,"/").replace(/\/+$/,"").replace(/\/dev$/,""),U=H&&".next"!==H?H:"out";let W,B="0.0.0";try{const o=JSON.parse(t.readFileSync(e.join(K,"package.json"),"utf-8"));B="string"==typeof o.version?o.version:B,W="string"==typeof o.repository?o.repository:o.repository?.url}catch{}const J=new C(ee??V(K),{root:K,backupFolder:e.resolve(K,te.syncBackupsDir),nextBuild:{projectRoot:K,distDir:U,packageVersion:B,packageRepositoryUrl:W}}),Y={ws:c.ws,config:{clientInjectionPlugin:{v7Features:ie}}};new R(Y,{distService:J,miAPI:Le}),M(E,{distService:J,miAPI:Le});const Q="function"==typeof s?.getUpgradeHandler?s.getUpgradeHandler():null;l.on("upgrade",(e,t,o)=>{c?.handleUpgrade(e,t,o)||(Q?Q(e,t,o):t.destroy())}),h.info(a.blue(`š§ ${$e.length} pp-dev middlewares initialized`)),h.info(a.blue(`š§ ${je.length} essential middlewares for internal routes`)),h.info(a.blue(`š§ MiAPI initialized for backend: ${oe}`)),h.info(a.blue(`š§ Custom App ID: ${ue}`))}l.listen(Se,Te,()=>{h.info(a.green(`ā
pp-dev Next.js server running at http://${Te}:${Se}`)),h.info(a.blue(`š± Next.js app accessible at http://${Te}:${Se}${me}`)),!1!==de&&h.info(a.cyan(`š Request Inspector: http://${Te}:${Se}${v}`)),h.info(a.blue("š§ Base path handling active")),f||(f=be(K,g,h.info),h.info(a.blue("š§ Config file watcher started"))),l.on("connection",e=>{Ee.add(e),e.on("close",()=>Ee.delete(e))});const e=async e=>{h.info(a.yellow(`\nš Received ${e}, shutting down gracefully...`));const t=setTimeout(()=>{h.info(a.yellow("ā° Shutdown timeout reached, forcing exit")),process.exit(0)},5e3);try{f&&(we(f),f=null);for(const e of Array.from(Ee))e.destroy();Ee.clear(),c&&(await c.close(),c=null),await new Promise(e=>{l.close(()=>{h.info(a.yellow("š HTTP server closed")),e()})}),s&&"function"==typeof s.close&&(await s.close(),h.info(a.yellow("š Next.js app closed"))),clearTimeout(t),h.info(a.green("ā
Graceful shutdown completed")),process.exit(0)}catch(e){clearTimeout(t),h.error(a.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,h.info(a.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=>{h.error(a.red(`ā Uncaught Exception: ${t}`)),e("uncaughtException")}),t.on("unhandledRejection",(t,o)=>{h.error(a.red(`ā Unhandled Rejection at: ${o}, reason: ${t}`)),e("unhandledRejection")}),h.info(a.green("ā
Process event handlers registered successfully"))}catch(e){h.warn(a.yellow(`ā ļø Failed to register process event handlers: ${e}`))}else h.warn(a.yellow("ā ļø process.on is not available, graceful shutdown handlers will not be registered")),h.info(a.blue("š” This might be due to bundling or environment constraints"))}),u=!1}catch(e){u=!1,h.error(a.red(`ā Failed to start Next.js server: ${e?.message}. Stack: ${e?.stack}`)),e instanceof Error&&e.message.includes("Next.js is required")&&(h.error(a.red("ā Next.js Peer Dependency Error:")),h.error(a.red(e.message)),h.error(a.yellow("\nš” To fix this issue:")),h.error(a.blue(" 1. Install Next.js in your project:")),h.error(a.white(" npm install next@^16")),h.error(a.blue(" 2. Or use yarn:")),h.error(a.white(" yarn add next@^16")),h.error(a.blue(" 3. Or use pnpm:")),h.error(a.white(" pnpm add next@^16")),h.error(a.yellow("\nš For more information, see:")),h.error(a.blue(" https://nextjs.org/docs/getting-started"))),process.exit(1)}var r}},m=async e=>{h.info(a.yellow(`\nš Received ${e}, shutting down gracefully...`));try{f&&(we(f),f=null),c&&(await c.close(),c=null),l&&await new Promise(e=>{l.close(()=>{l=null,e()})}),s&&"function"==typeof s.close&&(await s.close(),s=null),h.info(a.green("ā
Graceful shutdown completed")),process.exit(0)}catch(e){h.error(a.red(`ā Error during graceful shutdown: ${e}`)),process.exit(1)}};process.on("SIGINT",()=>m("SIGINT")),process.on("SIGTERM",()=>m("SIGTERM")),process.on("uncaughtException",e=>{h.error(a.red(`ā Uncaught Exception: ${e}`)),m("uncaughtException")}),process.on("unhandledRejection",(e,t)=>{h.error(a.red(`ā Unhandled Rejection at: ${t}, reason: ${e}`)),m("unhandledRejection")}),await g()}),me.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(t,o)=>{Te(o);const n=ke(o),i=O(o);try{const s=o.mode||"production",r=e.resolve(process.cwd(),t??".");z(s,r);const a=await B({mode:s,command:"build"},o.config,t,o.logLevel);let l=await H(i,{mode:s,root:r});if(a){const{plugins:e,...t}=a.config;l=q(l,t)}const c=q(l,{root:t,base:o.base,mode:o.mode,configFile:o.config,logLevel:o.logLevel,clearScreen:o.clearScreen,optimizeDeps:{force:o.force},build:n},!0);if(await J(c),n.changelog){const i=t||process.cwd(),s=c.build?.outDir||"dist";let r="dist-zip";c.ppDevConfig&&(!1===c.ppDevConfig.distZip?r=s:"object"==typeof c.ppDevConfig.distZip&&"string"==typeof c.ppDevConfig.distZip.outDir&&(r=c.ppDevConfig.distZip.outDir)),await ye({changelog:n.changelog,executionRoot:i,newAssetsPath:e.resolve(i,s),backupsDirPath:e.resolve(i,c.ppDevConfig?.syncBackupsDir||"backups"),changelogDestinationPath:e.resolve(i,r),logLevel:o.logLevel})}}catch(e){r(o.logLevel).error(a.red(`error during build:\n${e.stack}`),{error:e}),process.exit(1)}finally{Se(e=>r(o.logLevel).info(e))}}),me.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(o,n)=>{Te(n);const i=r(n.logLevel),s=o?e.resolve(process.cwd(),o):process.cwd(),l=O(n);process.env[d]="1";try{z(n.mode||"production",s);const{constants:o}=await U(),r=await(import("next/dist/server/config.js")),c=r.default.default||r["module.exports"].default||r.default,d=await c(o.PHASE_PRODUCTION_BUILD,s);let b,w=d?.ppDev||{};if(0===Object.keys(w).length){const{getConfig:e}=await import("./index-CI6Wkcfi.js").then(e=>e.h);w=await e(s)}try{const{getPkg:e}=await import("./index-CI6Wkcfi.js").then(e=>e.h);b=e(s).name}catch{b=e.basename(s)}const v=p(w,b),y=V(v.distZip,l,f(b)),P=W(v.versionPlugin,l);i.info(a.cyan("[pp-dev] Running `next build`...")),await u(s);const x="string"==typeof d?.distDir&&d.distDir?d.distDir:".next",S=".next"===x?"out":x,T=e.resolve(s,S);if(!t.existsSync(T)||!t.statSync(T).isDirectory())throw new Error(`Next.js build output directory not found: ${T}. "next-build" requires "output: 'export'" in next.config (static export).`);const k=JSON.parse(t.readFileSync(e.join(s,"package.json"),"utf-8"));if(!1!==P&&!1!==P.enabled&&(h({outDir:T,packageVersion:"string"==typeof k.version?k.version:"0.0.0",versionFileTemplate:P.versionFileTemplate,packageRepositoryUrl:"string"==typeof k.repository?k.repository:k.repository?.url,enabled:P.enabled}),i.info(a.green(`ā
VERSION / BUILD-MANIFEST written to ${e.relative(s,T)}`))),!1!==y){const o=e.resolve(s,y.outDir),n=y.inDir?e.resolve(T,y.inDir):T,r=g(o,y.outFileName,"ZIP output file name");t.mkdirSync(e.dirname(r),{recursive:!0});const l=await m(n);t.writeFileSync(r,l),i.info(a.green(`ā
Zip archive written to ${e.relative(s,r)}`))}if(n.changelog){const t=!1!==y?y.outDir:S;await ye({changelog:n.changelog,executionRoot:s,newAssetsPath:T,backupsDirPath:e.resolve(s,v.syncBackupsDir),changelogDestinationPath:e.resolve(s,t),logLevel:n.logLevel})}}catch(e){r(n.logLevel).error(a.red(`error during next-build:\n${e.stack}`),{error:e}),process.exit(1)}finally{Se(e=>r(n.logLevel).info(e))}}),me.command("changelog [oldAssetPath] [newAssetPath]","generate changelog between two assets files/folders").option("--oldAssetsPath <oldAssetsPath>","[string] path to the old assets zip file or folder").option("--newAssetsPath <newAssetsPath>","[string] path to the new assets zip file or folder").option("--destination <destination>","[string] destination folder for the changelog (default: .)").option("--filename <filename>","[string] filename for the changelog (default: CHANGELOG.html)").action(async(t,o,n)=>{Te(n);const{oldAssetsPath:i=t,newAssetsPath:s=o,destination:l=".",filename:c="CHANGELOG.html",logLevel:d}=n,p=process.cwd();i&&s||(r(d).error(a.red("error during changelog generation: oldAssetPath and newAssetPath are required")),process.exit(1));const f=e.resolve(p,i),u=e.resolve(p,s),h=e.resolve(p,l),g=new ue({oldAssetsPath:f,newAssetsPath:u,destinationPath:h,changelogFilename:c});await g.generateChangelog()}),me.command("generate-icon-font [source] [destination]","generate icon font from SVG files").option("--source <source>","[string] path to the source directory with SVG files").option("--destination <destination>","[string] path to the destination directory to save the generated font files").option("--font-name, -n <fontName>","[string] name of the font to generate (default: 'icon-font')").action(async(t,o,n)=>{Te(n);const{source:i=t,destination:s=o,fontName:l="icon-font"}=n,c=process.cwd(),d=e.resolve(c,i),p=e.resolve(c,s),f=new he({sourceDir:d,outputDir:p,fontName:l}),u=r(n.logLevel);u.info(`Generating icon font from SVG files in ${a.dim(d)}`),await f.generate(),u.info(`Icon font generated and saved to ${a.dim(p)}`)}),me.command("optimize [root]","pre-bundle dependencies").option("--force","[boolean] force the optimizer to ignore the cache and re-bundle").action(async(t,o)=>{Te(o);try{const n=o.mode||"production",i=e.resolve(process.cwd(),t??".");z(n,i);const s=await B({mode:n,command:"build"},o.config,t,o.logLevel);let r=await H(void 0,{mode:n,root:i});if(s){const{plugins:e,...t}=s.config;r=q(r,t)}const a=await K(q(r,{root:t,base:o.base,configFile:o.config,logLevel:o.logLevel,mode:o.mode}),"serve");await X(a,o.force,!0)}catch(e){r(o.logLevel).error(a.red(`error when optimizing deps:\n${e.stack}`),{error:e}),process.exit(1)}}),me.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(t,o)=>{Te(o);try{const n=o.mode||"production",i=e.resolve(process.cwd(),t??".");z(n,i);const s=await B({mode:n,command:"build"},o.config,t,o.logLevel);let r=await H(void 0,{mode:n,root:i});if(s){const{plugins:e,...t}=s.config;r=q(r,t)}(await Y(q(r,{root:t,base:o.base,configFile:o.config,logLevel:o.logLevel,mode:o.mode,build:{outDir:o.outDir},preview:{port:o.port,strictPort:o.strictPort,host:o.host,https:o.https,open:o.open}}))).printUrls()}catch(e){r(o.logLevel).error(a.red(`error when starting preview server:\n${e.stack}`),{error:e}),process.exit(1)}finally{Se(e=>r(o.logLevel).info(e))}}),me.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(o,n)=>{const i=r(n.logLevel),{isLegacyFlatConfig:s,isLegacyPPWatchConfig:l,isAlreadyMigrated:c,migrateLegacyFlatConfig:d,migratePPWatchConfig:p,generateConfigFileContent:f}=await(import("./migrate-BYuCtRbI.js")),u=n.format??"ts",h=!1!==n.backup,g=process.cwd(),m=[".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 w=o??null,v=!1;if(!w){for(const o of b)if(t.existsSync(e.join(g,o))){w=e.join(g,o);break}if(!w)for(const o of m)if(t.existsSync(e.join(g,o))){w=e.join(g,o),v=!0;break}}w||(i.warn(a.yellow("No pp-dev or pp-watch config file found in the current directory.")),i.info(a.blue("Supported files: pp-dev.config.{ts,js,cjs,mjs,json}, .pp-watch.config.{ts,js,json}")),process.exit(1)),i.info(a.blue(`Found config: ${e.relative(g,w)}`));const{getPkg:y}=await import("./index-CI6Wkcfi.js").then(e=>e.h),P=y();let x,S={};try{if(/\.[cm]?ts$/i.test(w)){const o=await(import("esbuild")),{pathToFileURL:n}=await(import("url")),i=(await o.build({absWorkingDir:g,entryPoints:[w],outfile:"out.js",write:!1,target:"node24",platform:"node",bundle:!0,packages:"external",format:"esm",mainFields:["main"]})).outputFiles[0].text,s=`pp-migrate-tmp-${Date.now()}.mjs`;t.writeFileSync(s,i);try{const t=await(import(n(e.resolve(g,s)).toString()));S=t.default?.default??t.default??t}finally{t.existsSync(s)&&t.unlinkSync(s)}}else if(/\.[cm]?js$/i.test(w)){const{pathToFileURL:t}=await(import("url")),o=await(import(t(e.resolve(g,w)).toString()));S=o.default?.default??o.default??o}else w.endsWith(".json")&&(S=JSON.parse(t.readFileSync(w,"utf-8")))}catch(e){i.error(a.red(`Failed to load config file: ${e.message}`)),process.exit(1)}S&&"object"==typeof S||(i.error(a.red("Config file did not export a valid object.")),process.exit(1)),c(S)?(i.info(a.green("Config is already in 1.0 format ā nothing to migrate.")),process.exit(0)):v||l(S)?(i.info(a.blue("Detected pp-watch config format ā migrating to 1.0")),x=p(S)):s(S)?(i.info(a.blue("Detected 0.x flat config format ā migrating to 1.0")),x=d(S,P.name)):(i.warn(a.yellow("Could not detect config format. No known keys found.")),process.exit(1));const T=f(x,u),k=n.output??e.join(g,`pp-dev.config.${u}`);if(n.dryRun&&(i.info(a.green(`\n--- Migrated config (dry-run) ā ${e.relative(g,k)} ---\n`)),process.exit(0)),h&&t.existsSync(w)){const o=`${w}.bak`;t.copyFileSync(w,o),i.info(a.blue(`Backed up original to: ${e.relative(g,o)}`))}t.writeFileSync(k,T,"utf-8"),i.info(a.green(`ā
Migration complete ā ${e.relative(g,k)}`)),w!==k&&t.existsSync(w)&&i.info(a.yellow(`You can now delete the old config: ${e.relative(g,w)}`))}),me.help(),me.version(w),me.parse();export{Se as stopProfiler};
|
|
2
2
|
//# sourceMappingURL=cli.js.map
|
package/dist/esm/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","import","n","h","createServer","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","mockDevServer","middlewares","use","fn","proxyCacheMiddleware","initProxyCache","devServer","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","n","h","createServer","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","mockDevServer","middlewares","use","fn","proxyCacheMiddleware","initProxyCache","devServer","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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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{execSync as e}from"child_process";import{A as t,B as n,V as i,E as s,g as r,F as o,v as a,n as c,d as p,h as l,j as u,b as d,c as m,a as f,i as v}from"./plugin-CaN0TX0l.js";import{normalizePath as g,loadEnv as h}from"vite";import*as y from"fs";import{readdirSync as P,readFileSync as j,writeFileSync as E,existsSync as b,unlink as w}from"fs";import*as _ from"path";import I from"path";import{fileURLToPath as $,pathToFileURL as D}from"url";import"./helpers.js";import T from"ejs";const R=_.dirname(n),S=_.join(R,"index.html");let O=null;function F(e){return{css:_.posix.join(e,t,"client/client.css"),js:_.posix.join(e,t,"client/client.js")}}function N(e){return function(){if(O)return O;const e=y.readFileSync(S,{encoding:"utf8"});return O=T.compile(e,{openDelimiter:"{",closeDelimiter:"}",async:!1,rmWhitespace:!0,compileDebug:!1}),O}()({PACKAGE_NAME:t,VERSION:i,backendBaseURL:e.backendBaseURL,templateLess:e.templateLess,appId:e.appId,canSync:e.canSync??!0,devPanelPosition:e.devPanelPosition??"bottom-right",devPanelHidden:e.devPanelHidden??!1,devPanelAutoHide:e.devPanelAutoHide??!1})}function L(e,t,n){if(!/<\/?(html|body|head)\b/i.test(e))return e;const{css:i,js:s}=F(t),r=`<link rel="stylesheet" href="${i}">`,o=`${N(n)}${`<script type="module" src="${s}"><\/script>`}`;let a=e,c=!1;if(/<\/head>/i.test(a)&&(a=a.replace(/<\/head>/i,`${r}</head>`),c=!0),/<body[^>]*>/i.test(a)){const e=c?"":r;a=a.replace(/(<body[^>]*>)/i,`$1${e}${o}`)}else a=`${c?"":r}${a}${o}`;return a}const x={".js":"text/javascript; charset=utf-8",".css":"text/css; charset=utf-8",".map":"application/json; charset=utf-8"};function A(e){const n=_.posix.join(e,t,"client")+"/",i=new Set(["client.js","client.css","client.js.map","client.css.map"]);return(e,t,s)=>{const r=(e.url??"").split("?")[0];if(!r.startsWith(n))return void s();const o=r.slice(n.length);if(!i.has(o))return void s();const a=_.join(R,o);y.readFile(a,(e,n)=>{e?s():(t.statusCode=200,t.setHeader("Content-Type",x[_.extname(o)]??"application/octet-stream"),t.setHeader("Cache-Control","no-cache"),t.end(n))})}}let C;try{C="undefined"!=typeof __filename&&__filename?_.resolve(_.dirname(__filename),".."):void 0!==import.meta&&import.meta&&import.meta.url?_.resolve($(new URL(".",import.meta.url)),".."):process.cwd()}catch{C=process.cwd()}const U=g(_.join(s,"dist/client")),Z=new RegExp(`^\\/?${t}\\/client\\/(.*)$`);let V=null,H=null;function M(e){return{name:"pp-dev:client",apply:"serve",config:e=>(e.optimizeDeps?.exclude?.push(`${t}/client`),e),resolveId(e){const t=e.match(Z);if(t){const e=g(_.join(U,t[1]));return e.startsWith(`${U}/`)?{id:e}:null}},transformIndexHtml:async(e,n)=>{const s=n.server?.config.base||"",r=function(){if(H)return H;const e=_.resolve(C,"client","index.html");return V||(V=y.readFileSync(e,{encoding:"utf8"})),H=T.compile(V,{openDelimiter:"{",closeDelimiter:"}",async:!0,cache:!0,filename:e,rmWhitespace:!0,compileDebug:!1}),H}(),o=F(s),a={html:e,tags:[{tag:"link",injectTo:"head",attrs:{rel:"stylesheet",href:o.css}}]},{backendBaseURL:c,templateLess:p=!1,appId:l,canSync:u=!0,devPanelPosition:d="bottom-right",devPanelHidden:m=!1,devPanelAutoHide:f=!1}=n.server?.config.clientInjectionPlugin||{},v={PACKAGE_NAME:t,VERSION:i,backendBaseURL:c,templateLess:p,appId:l,canSync:u,devPanelPosition:d,devPanelHidden:m,devPanelAutoHide:f};return a.tags.push({tag:"div",injectTo:"body-prepend",children:await r(v)}),a.tags.push({tag:"script",injectTo:"body-prepend",attrs:{src:o.js,type:"module"}}),a},configureServer(e){const t=g(_.resolve(e.config.root,_.dirname(n)));e.config.server?.fs?.allow&&e.config.server.fs.allow.push(t)}}}const k=(e,t)=>` * ${t}`;function B(e){return`/*!\n${"***** DO NOT EDIT THIS CODE! *****\n***** ------- *****".replace(/^(.*)$/gm,k)}\n */`}async function z(){try{const[e,t]=await Promise.all([import("next"),import("next/constants.js")]);return{next:e.default,constants:t}}catch(e){throw new Error(`Next.js is required but not available. Please install Next.js as a dependency:\nnpm install next@^15\n\nThis package requires Next.js >=15 <17 as a peer dependency.\n\nError: ${e}`)}}async function G(){try{return await(import("next")),!0}catch{return!1}}async function W(){try{return(await(import("next/package.json"))).version}catch{return null}}let K=new Set;function J(e="development",t=process.cwd()){for(const e of K)delete process.env[e];const n=h(e,t,"MI_");for(const[e,t]of Object.entries(n))process.env[e]=t;return K=new Set(Object.keys(n)),n}const Y=new Map,q=3e4,Q=new Map;function X(e=process.cwd()){const t=Date.now(),n=I.resolve(e),i=Q.get(n);if(i&&t-i.timestamp<6e4)return i.data;try{const e=JSON.parse(j(I.resolve(n,"package.json"),{encoding:"utf-8",flag:"r"}));return Q.set(n,{data:e,timestamp:t}),e}catch{const e={};return Q.set(n,{data:e,timestamp:t}),e}}let ee=null;async function te(e,t){const n=`ts:${e}`,i=Y.get(n);if(i&&Date.now()-i.timestamp<q)return i.data;let s=!1;if(/\.m[jt]s$/.test(e))s=!0;else if(/\.c[jt]s$/.test(e))s=!1;else{const e=X(t);s=!!e&&"module"===e.type}const r=await async function(){return ee||(ee=await(import("esbuild"))),ee}(),o=await r.build({absWorkingDir:t,entryPoints:[e],outfile:"out.js",write:!1,target:"node24",platform:"node",bundle:!0,packages:"external",format:s?"esm":"cjs",mainFields:["main"],sourcemap:"inline",metafile:!0}),{text:a}=o.outputFiles[0],c=`${`pp-config.timestamp-${Date.now()}-${Math.random().toString(16).slice(2)}`}.js`,p=I.resolve(t,c),l=D(p).toString();E(p,a);let u={};try{const t=(await(import(l))).default;u=t?.default||t,Y.set(n,{data:u,timestamp:Date.now(),filePath:e})}finally{b(p)&&w(p,()=>{})}return u}async function ne(e){const t=`js:${e}`,n=Y.get(t);if(n&&Date.now()-n.timestamp<q)return n.data;const i=(await(import(D(e).toString()))).default;return Y.set(t,{data:i,timestamp:Date.now(),filePath:e}),i}async function ie(e){const t=`json:${e}`,n=Y.get(t);if(n&&Date.now()-n.timestamp<q)return n.data;const i=JSON.parse(j(e,{encoding:"utf-8"}));return Y.set(t,{data:i,timestamp:Date.now(),filePath:e}),i}const se=new Map;function re(e=process.cwd()){return X(e)}async function oe(e=process.cwd()){const t=I.resolve(e),n=function(e){const t=Date.now(),n=se.get(e);if(n&&t-n.timestamp<1e4)return n.files;const i=/\.config\.(([cm]?ts)|([cm]?js)|(json))$/,s=P(e,{withFileTypes:!0}).filter(e=>e.isFile()&&i.test(e.name)).map(e=>e.name);return se.set(e,{files:s,timestamp:t}),s}(t);let i={},s=!1;const o=await async function(e,t,n){for(const i of t)if(e.includes(i)){const e=I.resolve(n,i);if(/\.[cm]?ts$/i.test(i))return await te(e,n);if(/\.[cm]?js$/i.test(i))return await ne(e);if(i.endsWith(".json"))return await ie(e)}return null}(n,r,t);o&&(i=o,s=!0);const a=X(t)["pp-dev"];return s||!a||"object"!=typeof a||Array.isArray(a)||(i=a),i}const ae=Object.freeze({__proto__:null,clearConfigCache:function(){Y.clear(),Q.clear(),se.clear()},getConfig:oe,getPkg:re});function ce(e){if(void 0!==e)return"1"===e||"true"===e.toLowerCase()||"0"!==e&&"false"!==e.toLowerCase()&&void 0}function pe(e){return{distZipEnabled:e.distZip??ce(process.env.PP_DEV_DIST_ZIP),distZipDir:e.distZipDir??process.env.PP_DEV_DIST_ZIP_DIR,distZipFilename:e.distZipFilename??process.env.PP_DEV_DIST_ZIP_FILENAME,versionManifestEnabled:e.versionManifest??ce(process.env.PP_DEV_VERSION_MANIFEST),versionFileTemplate:e.versionFileTemplate??process.env.PP_DEV_VERSION_FILE_TEMPLATE}}function le(e,t,n){if(!1===t.distZipEnabled)return!1;if(!0!==t.distZipEnabled&&void 0===t.distZipDir&&void 0===t.distZipFilename)return!1!==e&&{...e,outFileName:o(e.outFileName,"ZIP output file name")};const i=!1===e?{outFileName:n,outDir:"dist-zip"}:e,s=t.distZipFilename??i.outFileName;return{...i,...void 0!==t.distZipDir?{outDir:t.distZipDir}:{},outFileName:o(s,"ZIP output file name")}}function ue(e,t){if(!1===t.versionManifestEnabled)return!1;if(!0!==t.versionManifestEnabled&&void 0===t.versionFileTemplate)return!1!==e&&void 0!==e.versionFileTemplate?{...e,versionFileTemplate:o(e.versionFileTemplate,"VERSION file name template")}:e;const n=!1===e?{enabled:!0}:e,i=t.versionFileTemplate??n.versionFileTemplate,s=void 0!==i?o(i,"VERSION file name template"):void 0;return{...n,enabled:!0,...void 0!==s?{versionFileTemplate:s}:{}}}const de=new Set(["mi","app","proxy","build","sync","inspector","devPanel"]);function me(t){if("string"==typeof t)return t;if(t&&"object"==typeof t&&"url"in t&&"string"==typeof t.url)return t.url;const n=["CI_REPOSITORY_URL","GIT_URL","BUILD_REPOSITORY_URI","CI_PROJECT_URL","BITBUCKET_GIT_HTTP_ORIGIN","BUILDKITE_REPO"];for(const e of n){const t=process.env[e];if("string"==typeof t&&t.trim())return t}const i=process.env.GITHUB_REPOSITORY;if("string"==typeof i&&i.trim()){return`${(process.env.GITHUB_SERVER_URL||"https://github.com").replace(/\/+$/,"")}/${i.replace(/^\/+/,"")}`}const s=process.env.CI_PROJECT_PATH;if("string"==typeof s&&s.trim()){return`${(process.env.CI_SERVER_URL||"https://gitlab.com").replace(/\/+$/,"")}/${s.replace(/^\/+/,"")}`}const r=process.env.BITBUCKET_REPO_FULL_NAME;if("string"==typeof r&&r.trim())return`https://bitbucket.org/${r.replace(/^\/+/,"")}`;const o=process.env.TRAVIS_REPO_SLUG;if("string"==typeof o&&o.trim())return`https://github.com/${o.replace(/^\/+/,"")}`;try{const t=e("git config --get remote.origin.url",{encoding:"utf8",stdio:["ignore","pipe","ignore"]}).trim();if(t)return t}catch{}}async function fe(e,t={}){const n=t.root??process.cwd();J(t.mode,n);const i=re(n),s=i.name,r=await oe(n);a(r,s);const o=c(r,s);e&&(o.distZip=le(o.distZip,e,p(s)),o.versionPlugin=ue(o.versionPlugin,e));const{default:d}=await(import("./plugin.js")),m=[d(o),M()],{outDir:f,distZip:v,versionPlugin:g,imageOptimizer:h,templateLess:y,integrateMiTopBar:P}=o;if(P&&m.push(function(e){return{name:"mi-topbar-plugin",transformIndexHtml(){const t=[];return(!0===e||"object"==typeof e&&!0===e.addRootElement)&&t.push({tag:"div",injectTo:"body-prepend",attrs:{id:"mi-react-root"}}),(!0===e||"object"==typeof e&&!0===e.addSharedComponentsScripts)&&t.push({tag:"script",injectTo:"head-prepend",attrs:{src:"/auth/info.js"}},{tag:"script",injectTo:"head-prepend",attrs:{src:"/js/main.js",defer:"defer"}},{tag:"link",injectTo:"head-prepend",attrs:{href:"/css/main.css",rel:"stylesheet"}}),t}}}(P)),h){const{ViteImageOptimizer:e}=await(import("vite-plugin-image-optimizer"));m.push(e("object"==typeof h?h:void 0))}if(g){const{versionPlugin:e}=await(import("./version-plugin-Al04_tii.js"));m.push(e({outDir:f,packageVersion:i.version??"0.0.0",packageRepositoryUrl:me(i.repository),..."object"==typeof g?g:{}}))}if(v){const{default:e}=await(import("vite-plugin-zip-pack"));m.push({...e("object"==typeof v?v:{outFileName:p(s)}),enforce:"post"})}return{base:y?`${l}/${s}`:`${u}/${s}`,server:{port:3e3},build:{minify:!1,assetsInlineLimit:4096,rollupOptions:{output:{banner:B}},outDir:f},css:{modules:{localsConvention:"dashes"}},ppDevConfig:o,plugins:m}}function ve(e){return e?.ppDev||{}}function ge(e,t){return async(n,i={})=>{try{const{constants:s}=await z(),{PHASE_DEVELOPMENT_SERVER:r,PHASE_PRODUCTION_BUILD:o}=s;n!==o||process.env[d]||m().warn(f.yellow('ā Building with plain `next build`. Use `pp-dev next-build` instead to get VERSION/BUILD-MANIFEST/zip build output in the same format as `pp-dev build` (see the "Next.js Build" section in the pp-dev README).'));const p=await oe(),g=re().name,h="function"==typeof e?await e(n,i):e,y=function(...e){const t={},n=t;for(const t of e)if(t)for(const[e,i]of Object.entries(t))void 0!==i&&(de.has(e)&&i&&"object"==typeof i&&!Array.isArray(i)?n[e]={...n[e]??{},...i}:n[e]=i);return t}(p,ve(h),t);a(y,g);const P=c(y,g),{templateLess:j,v7Features:E}=P,b=n===r,w=function(e,t,n,i){return n?i?t?`${l}/${e}`:`${v}/${e}`:t?`${l}/${e}`:`${u}/${e}`:`${l}/${e}`}(P.templateName,j,b,E),_={basePath:w,trailingSlash:!!b||void 0};if(!j){const e=b&&E?v:u;_.assetPrefix=`${e}/${P.templateName}`}const I=Object.assign({},_,h);return Object.defineProperty(I,"ppDev",{value:y,enumerable:!1,configurable:!0}),I}catch(e){throw m().error("Error in withPPDev:",{error:e instanceof Error?e:new Error(String(e))}),e}}}export{le as a,ue as b,A as c,W as d,ve as e,G as f,fe as g,ae as h,L as i,J as l,pe as r,z as s,ge as w};
|
|
2
|
+
//# sourceMappingURL=index-CI6Wkcfi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-CI6Wkcfi.js","sources":["../../../src/lib/dev-panel.ts","../../../src/plugins/client-injection-plugin.ts","../../../src/banner/header.ts","../../../src/lib/next-import.ts","../../../src/lib/env.ts","../../../src/config.ts","../../../src/lib/build-cli-overrides.ts","../../../src/index.ts","../../../src/plugins/mi-topbar-plugin.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null],"names":["CLIENT_DIST_DIR","path","dirname","PP_DEV_CLIENT_ENTRY","TEMPLATE_PATH","join","compiledTemplate","getDevPanelAssetPaths","base","css","posix","PACKAGE_NAME","js","renderDevPanelMarkup","data","templateContent","fs","readFileSync","encoding","ejs","compile","openDelimiter","closeDelimiter","async","rmWhitespace","compileDebug","getTemplate","template","VERSION","backendBaseURL","templateLess","appId","canSync","devPanelPosition","devPanelHidden","devPanelAutoHide","injectDevPanel","html","test","linkTag","bodyPrepend","result","linkInjected","replace","head","CONTENT_TYPES","createDevPanelAssetMiddleware","assetPrefix","allowed","Set","req","res","next","pathname","url","split","startsWith","fileName","slice","length","has","filePath","readFile","err","content","statusCode","setHeader","extname","end","DIRNAME","__filename","resolve","fileURLToPath","URL","process","cwd","normalizePath","PP_DEV_PACKAGE_DIR","PACKAGE_REGEXP","RegExp","cachedTemplateContent","cachedTemplate","clientInjectionPlugin","opts","name","apply","config","optimizeDeps","exclude","push","resolveId","source","match","resolvedId","id","transformIndexHtml","ctx","server","templatePath","cache","filename","assetPaths","tags","tag","injectTo","attrs","rel","href","templateData","children","src","type","configureServer","clientDir","root","allow","replacer","substring","$1","header","_chunk","safeNextImport","constants","Promise","all","default","error","Error","isNextAvailable","getNextVersion","version","previouslyLoadedKeys","loadPPDevEnv","mode","envDir","key","env","loadEnv","value","Object","entries","keys","configCache","Map","CACHE_TTL","packageJsonCache","getPackageJson","projectRoot","now","Date","cached","get","timestamp","JSON","parse","flag","set","empty","esbuildModule","loadTsConfig","cacheKey","isESM","pkg","esbuild","getEsbuild","build","absWorkingDir","entryPoints","outfile","write","target","platform","bundle","packages","format","mainFields","sourcemap","metafile","text","code","outputFiles","fileNameTmp","Math","random","toString","tempFilePath","fileUrl","pathToFileURL","writeFileSync","conf","existsSync","unlink","loadJsConfig","loadJSONConfig","dirContentCache","getPkg","getConfig","dirContent","files","endsWithRegExp","readdirSync","withFileTypes","filter","isFile","map","getDirectoryContent","configFound","newConfig","dirFiles","configNames","configName","includes","configPath","endsWith","loadConfig","PP_DEV_CONFIG_NAMES","packageConfig","Array","isArray","clear","parseBooleanFlag","undefined","toLowerCase","resolveBuildCliOverrides","options","distZipEnabled","distZip","PP_DEV_DIST_ZIP","distZipDir","PP_DEV_DIST_ZIP_DIR","distZipFilename","PP_DEV_DIST_ZIP_FILENAME","versionManifestEnabled","versionManifest","PP_DEV_VERSION_MANIFEST","versionFileTemplate","PP_DEV_VERSION_FILE_TEMPLATE","applyDistZipOverride","overrides","defaultFileName","outFileName","normalizeRelativeOutputPath","baseConfig","outDir","applyVersionManifestOverride","enabled","normalizedVersionFileTemplate","PP_DEV_CONFIG_GROUPS","resolveRepositoryUrl","repository","directCiRepositoryUrlEnvVars","variableName","ciRepositoryUrl","trim","githubRepository","GITHUB_REPOSITORY","GITHUB_SERVER_URL","gitlabProjectPath","CI_PROJECT_PATH","CI_SERVER_URL","bitbucketRepositoryFullName","BITBUCKET_REPO_FULL_NAME","travisRepositorySlug","TRAVIS_REPO_SLUG","gitRemoteOriginUrl","execSync","stdio","getViteConfig","environment","templateName","ppDevConfig","validatePPDevConfig","normalizedPPDevConfig","normalizePPDevConfig","createDefaultZipFileName","versionPlugin","vitePPDev","plugins","imageOptimizer","integrateMiTopBar","addRootElement","addSharedComponentsScripts","defer","miTopBarPlugin","ViteImageOptimizer","versionPluginFn","packageVersion","packageRepositoryUrl","zipPack","enforce","PATH_PAGE_PREFIX","PATH_TEMPLATE_PREFIX","port","minify","assetsInlineLimit","rollupOptions","output","banner","modules","localsConvention","getPPDevConfigFromNextConfig","nextConfig","ppDev","withPPDev","nextjsConfig","phase","PHASE_DEVELOPMENT_SERVER","PHASE_PRODUCTION_BUILD","PP_DEV_NEXT_BUILD_ENV_VAR","createLogger","warn","colors","yellow","nextConfiguration","mergedConfig","configs","merged","mutableMerged","mergePPDevConfigs","normalized","v7Features","isDevelopment","basePath","PATH_TEMPLATE_LOCAL_PREFIX","createBasePath","trailingSlash","prefix","assign","defineProperty","enumerable","configurable","String"],"mappings":"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"}
|