@metricinsights/pp-dev 1.5.0-beta.14 → 1.5.0-beta.15

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variables-editor-BHiWb4-B.js","sources":["../../../src/lib/rewrite-response.middleware.ts","../../../src/lib/helpers/url.helper.ts","../../../src/api/base.ts","../../../src/api/assets.ts","../../../src/api/assets-v7.ts","../../../src/api/unavailable-json-api.ts","../../../src/api/page.ts","../../../src/api/page-template.ts","../../../src/api/page-variable.ts","../../../src/lib/helpers/cookie.helper.ts","../../../src/lib/helpers/login.helper.ts","../../../src/lib/helpers/token.helper.ts","../../../src/lib/pp.middleware.ts","../../../src/lib/user-registry.ts","../../../src/lib/session-users.ts","../../../src/lib/proxy-pass.middleware.ts","../../../src/lib/proxy-cache.middleware.ts","../../../src/lib/load-pp-data.middleware.ts","../../../src/lib/user-routes.ts","../../../src/lib/user-store.ts","../../../src/lib/helpers/zip.helper.ts","../../../src/lib/helpers/origin-guard.ts","../../../src/lib/internal.middleware.ts","../../../src/lib/next-build-runner.ts","../../../src/lib/dist.service.ts","../../../src/lib/request-store.ts","../../../src/lib/request-capture.middleware.ts","../../../src/lib/request-inspector.ts","../../../src/lib/variables-editor-markdown.ts","../../../src/lib/page-variables-diff.ts","../../../src/lib/variables-editor.ts","../../../src/lib/client.service.ts","../../../src/lib/pp-redirect.middleware.ts","../../../src/lib/helpers/content-encoding.helper.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["asEncoding","value","undefined","toBuffer","chunk","encoding","Buffer","from","Uint8Array","escapeRegExp","replace","urlReplaceRegExps","Map","originRegExps","getOriginRegExp","host","regExp","get","RegExp","set","urlReplacer","originalHost","destinationHost","content","urlReplaceRegExp","substring","args","startsWith","redirect","res","url","statusCode","setHeader","end","cutUrlParams","split","BaseAPI","axios","constructor","this","checkAuth","headers","Object","assign","accept","maxRedirects","then","catch","AssetsAPI","getDownloadUrl","appId","getDownloadTemplateUrl","templateId","getUploadUrl","getUploadTemplateUrl","downloadPageAssets","download","uploadPageAssets","file","upload","downloadTemplateAssets","uploadTemplateAssets","withCredentials","responseType","data","formData","FormData","append","File","type","post","Referer","getUri","AssetsV7API","PAGE_DATA_FETCH_FRAGMENT","PAGE_TEMPLATE_FETCH_FRAGMENT","PAGE_VARIABLES_FETCH_FRAGMENT","MAINTENANCE_SUFFIX","FRAGMENTS","unavailablePageDataError","Error","unavailablePageTemplateDataError","isUnavailableJsonApiError","err","some","fragment","message","includes","PageAPI","getAll","Accept","Pragma","Expires","Array","isArray","pages","id","page","getPageContent","internalPageName","create","PageTemplateAPI","internal_name","params","page_templates","page_template","PageVariableAPI","getById","pageId","page_id","tags","parsed","JSON","parse","TypeError","malformedIndex","findIndex","entry","name","normalizePageVariableTags","updateById","put","stringify","isSecureRequest","req","socket","encrypted","forwardedProto","proto","trim","toLowerCase","rewriteSetCookie","cookie","secureRequest","pair","attributes","rewritten","map","attribute","filter","test","join","MI_SESSION_COOKIE","findCookieValue","pairs","separator","indexOf","slice","getRequestCookie","cookieHeader","getSetCookieValue","rewriteSetCookieHeader","tokenLoginFunction","TOKEN_TYPE_CONFIG","personal","placeholder","caption","endpoint","regular","updateTokenUI","tokenInput","tokenCaption","info","innerHTML","showError","errorElement","textContent","classList","add","hideError","remove","setupEventHandlers","formWrapper","submitButton","addEventListener","async","e","preventDefault","focus","tokenTypeSwitcher","document","getElementById","activeOption","querySelector","tokenType","dataset","token","response","fetch","method","body","URL","window","location","origin","pathname","json","error","parseError","href","networkError","handleFormSubmission","key","click","initializeLoginForm","loginForm","contentWrapper","firstChild","rowTemplate","lastChild","cloneNode","orRow","innerText","setAttribute","helperForm","formContent","createElement","styleElement","head","appendChild","tokenTypeOptions","querySelectorAll","handleTokenTypeChange","target","forEach","opt","option","currentTarget","setupTokenTypeSwitcher","console","formSelector","observer","MutationObserver","mutations","mutation","disconnect","observe","childList","subtree","existingForm","getTokenErrorInfo","status","lowerMessage","code","userFriendlyMessage","suggestions","TEMPLATE_PAGE_NAME","axiosInstanceCache","USER_HOST_SUFFIX","USER_NAME_REGEXP","getUserNameError","length","getUserNameFromHost","hostname","endsWith","getUserOrigin","port","exec","userRegistry","users","removeListeners","Set","changeListeners","sessionChangeListeners","defaultUserName","renamed","resolved","WeakMap","context","useContext","clear","list","values","user","has","kind","saved","state","delete","listener","wasDefault","olderNames","to","renamedTo","keys","onRemove","onSessionChange","sessionChanged","onChange","defaultUser","setDefaultUser","session","resolve","requestUser","isMainHost","LOGIN_LOCATION_REGEXP","getOtherCookies","isLoggedOutResponse","String","SessionUserTracker","check","logger","createLogger","checking","guestSessions","unverified","superseded","isLeftBehindRequest","sentSession","isLeftBehind","onOwnHost","requestSession","newSession","candidate","replaced","ownHost","Date","now","retryAt","expire","verify","miUser","warn","colors","yellow","wasActive","supersede","blue","username","Boolean","size","next","reason","hostOriginRegExp","PROXY_HEADER","LOGOUT_PATH_REGEXP","requestBearerTokens","requestIdentities","TEXTUAL_MEDIA_TYPE_REGEXPS","isRewritableStream","contentEncoding","contentType","mediaType","pattern","isTextualContentType","FILE_EXTENSION_REGEX","DEFAULT_TTL","DEFAULT_MAX_SIZE","DEFAULT_MAX_ITEMS","MAX_CACHED_ITEM_SIZE","cache","items","totalSize","maxSize","maxItems","expiresAt","del","ttl","cleanup","purgeExpired","getTotalSize","getItemCount","invalidateListeners","lastBearerTokens","invalidateProxyCache","watchedRegistries","WeakSet","isCacheKeyOf","cacheKey","userKey","invalidateUserProxyCache","getIdentityChange","getRequestBearerToken","lastBearerToken","changed","getHeader","createResponseBuffer","chunks","alloc","totalLength","reduce","sum","byteLength","concat","apiResponseCache","getCachedResponse","cached","timestamp","setCachedResponse","pageDataLoaded","onPageDataLoaded","onPageDataLoadFailed","authProvider","reset","DEFAULT_REDIRECT_URL","getPageDataHeaders","onUserHost","authorization","_authorization","_token","rest","handlePageInfoOnly","mi","options","redirectOnAuthFailure","redirectUrl","red","green","getPageInfo","success","updateState","isAuthenticated","handleLoadError","encodeURIComponent","handleTemplateLoad","templateLess","loadPageData","getPageTemplate","getPageVariables","operationType","isTokenError","isAuthError","fullRedirectUrl","errorMessage","USERS_API_PATH","routeStates","toPublicUser","loginUrl","checkUserToken","miAPI","Authorization","user_id","ok","rejected","sendError","keptRegistries","keepTokenUsers","opts","projectRoot","miUrl","homeDir","os","homedir","hash","createHash","update","path","digest","getUserStorePath","meta","project","stored","fs","readFileSync","readStoredUsers","restoring","addingStored","changedWhileRestoring","removedWhileRestoring","save","tokenUsers","version","tmp","process","pid","mkdirSync","dirname","recursive","mode","writeFileSync","renameSync","chmodSync","writeStoredUsers","checks","Promise","all","checkToken","index","zipDirectoryToBuffer","dir","zip","JSZip","addDir","current","entries","readdir","withFileTypes","full","isDirectory","isFile","relativePath","relative","readFile","generateAsync","compression","extractZipSafe","zipPath","loadAsync","createFolders","root","files","rawName","unsafeOriginalName","dest","sep","unixPermissions","mkdir","writeFile","SAFE_METHODS","crossOriginReason","originUrl","requestHost","scheme","normalizeHost","protocol","fetchSite","toUpperCase","originGuard","INTERNAL_JSON_BODY_LIMIT","bodyParserErrorHandler","_req","headersSent","createInternalServer","app","express","use","limit","urlencoded","extended","internalServer","runNextBuildProcess","reject","nextBin","nextPkgPath","createRequire","proc","child_process","spawn","execPath","cwd","env","NODE_ENV","PP_DEV_NEXT_BUILD_ENV_VAR","stdio","on","TEMPLATE_PART_PAGE_NAME","TEMPLATE_PART_DATE","DIRNAME","__filename","fileURLToPath","require","pathToFileURL","_documentCurrentScript","tagName","src","baseURI","pluginPath","node_modules_path","DEFAULT_MAX_BACKUPS","metaDirPath","metaFilePath","BUILD_MANIFEST_FILE_NAME","TEMPLATE_VARIABLES_FILE_NAME","entrySize","requestBody","responseBody","toMeta","duration","source","requestSize","responseSize","requestBodyTruncated","responseBodyTruncated","REDACTED","SESSION_COOKIE_IN_COOKIE","SESSION_COOKIE_IN_SET_COOKIE","redactRequestHeaders","redacted","credentials","redactResponseHeaders","setCookie","redactCookie","AUTH_PATH_REGEXP","CREDENTIAL_FIELD_REGEXP","redactJsonValue","found","item","fromEntries","inner","any","redactRequestBody","URLSearchParams","toString","credentialKeys","SKIP_PREFIXES","SKIP_EXACT","INSPECTOR_PATH","firstQueryValue","first","normalizeHeaderValue","v","formatBytes","bytes","toFixed","DESCRIPTION_MARKDOWN_SCRIPT","raw","TEMPLATE_VARIABLE_TAG_TYPES","isTemplateVariableTagType","BOOLEAN_ALLOWED_VALUES","COLOR_PATTERN","optionMatches","text","normalizeFieldOption","optionId","validateListItemFieldValue","itemLabel","field","isSelectLike","severity","stringValue","o","unmatched","validateListItems","tag","fields","additionalOptions","normalizeListItemFields","additional_options","fieldNames","issues","push","itemRecord","extraKeys","validateValueAgainstTag","tag_type","typeCompatibilityIssue","VARIABLES_EDITOR_PATH","NAME_FORMAT_REGEX","MISSING_DEPS_ERROR","readSchemaFile","distService","buffer","readPublicTemplateVariablesFile","schema","readSchema","server","eventMap","syncInFlight","syncActionResolvers","onInfoDataRequest","bind","onTemplateSync","onTemplateSyncActionResponse","onPageVariablesReload","init","ws","event","handler","clearAllPendingSyncActions","resolveSyncAction","requestId","approved","clearTimeout","timeoutId","_data","client","send","payload","requestSyncAction","randomUUID","timeoutMs","syncActionTimeoutMs","setTimeout","sync","runTemplateSync","config","clientInjectionPlugin","v7Features","isV710OrHigher","canSync","currentAssets","getAssets","isAxiosError","validation","validateCredentials","isValid","refresh","validationError","cause","httpStatus","newAssets","backupAnalysis","analyzeBackup","saveBackup","onlyTemplateVariablesMismatch","unknownFiles","versionManifestHashMismatches","basename","mm","templateVarMismatches","m","otherManifestMismatches","mixedTemplateAndOthers","pathsForVersionModal","promptReplaceTemplateVariables","templateVariables","getPublicTemplateVariablesHash","actualHash","title","confirmText","cancelText","saveTemplateVariablesFile","cancelled","maxPaths","paths","listed","remainder","fileList","p","suffix","buildManifestMismatch","expected","actual","buildNewAssets","updateResult","updateAssets","backupMeta","getBackupMeta","lastBackupName","backupFilename","lastBackupHash","currentHash","lastBackupDate","backupDate","toISOString","syncedAt","syncError","reloaded","reloadPageVariables","count","skipped","backupFolder","backupNameTemplate","dateFormat","pageName","currentMeta","distZipFolder","distZipFilename","versionFileTemplate","buildInputFolder","nextBuild","maxBackups","metaLoaded","syncOptions","createDefaultZipFileName","date","normalizeRelativeOutputPath","Number","isInteger","Infinity","loadMeta","checkMeta","readMetaFile","writeMetaFile","syncMeta","getLatestSavedBackup","backupPath","stat","backupName","pruneBackups","justSaved","isFinite","template","sampleDate","piece","placeholders","at","sort","a","b","position","backupNamePattern","protectedNames","newestFirst","mtimeMs","localeCompare","protectedCount","backup","excess","Math","max","unlink","gray","pathToPosix","filePath","normalizeBackupManifestPath","normalizeExtractedRootDir","extractedDir","currentDir","listFilesRecursive","rootDir","fullPath","buildManifestChecksum","hashesConcatenated","crypto","buildBackupFingerprint","normalizedEntries","versionFileTemplateMatcher","placeholderPattern","segments","lastIndex","match","staticPart","trailingStaticPart","isTemplateVariablesBasename","fileBasename","pickTemplateVariablesFromBackupZip","relativePaths","contentRootDir","find","absolutePath","fileData","manifestHash","resolveBackupAnalysisFromZip","backupFile","tempDir","mkdtemp","tmpdir","buildManifestCandidates","buildManifestPath","buildManifest","buildManifestAbsolutePath","manifestType","versionFile","buildFingerprint","versionManifestPath","requestedVersionFile","exactMatchCandidates","basenameMatchCandidates","resolvedCandidates","compat","versionFileRequired","versionFileMatcher","versionManifestCandidates","normalizedManifestFiles","manifestChecksum","manifestFileActualHashes","versionManifestAbsolutePath","manifest","checksum","expectedHash","normalizedPath","prototype","hasOwnProperty","call","mismatchedManifestPaths","fingerprintFiles","backupFingerprint","mainHash","allFilesInMeta","rm","force","templateVariablesPath","precomputedAnalysis","resolvedAnalysis","resolvedBackupFileHash","lastSavedBackup","lastMainHash","filename","buildNextAssets","buildCommand","cyan","msg","finally","buildInputPath","assetFile","stack","saveBackupAndBuild","distDir","outDir","writeBuildVersionManifest","packageVersion","packageRepositoryUrl","packageBranchName","pageTemplate","pageTitle","pageVars","pageVarsLoaded","pageVarReplacements","pageShell","personalAccessToken","templateLoaded","templateLoadedResolve","assetsApi","pageApi","pageTemplateApi","pageVariableApi","baseURL","disableSSLValidation","httpsAgent","https","Agent","keepAlive","rejectUnauthorized","timeout","httpAgent","http","isTemplateLoaded","clearHeaders","obj","referer","updateHeaders","localTemplateHTML","template_id","enabled","visible_in_homepage","getLivePageVariables","start","applyPageVariables","listPages","getPageVariablesFor","localPageVariables","isTemplateLess","pageIdToFetch","fetchV7Page","fetchLegacyPage","handlePageFetchError","buildPage","miHudLess","result","getPageVarReplacements","getJSDOM","serialize","before","after","getPageShell","vars","replacements","dom","placeholderText","container","scripts","insertBefore","titleElement","titleEl","serializedDom","pageInfo","templateInfo","assets","testHeaders","errorInfo","normalizedHeaders","contextPrefix","suggestion","logTokenError","tokenErrorInfo","insertOrder","maxMemory","maxEntries","evictOldest","oldest","old","allocateId","storedEntry","bodyBytes","search","matches","offset","i","reverse","skip","memoryUsage","store","captureLimit","startTime","reqChunks","reqSize","reqTruncated","origReqEmit","emit","buf","isBuffer","resChunks","resSize","resTruncated","origWrite","write","origEnd","captureChunk","ArrayBuffer","isView","byteOffset","getWriteEncoding","detectSource","getHeaders","finalized","requestHeaders","responseHeaders","finalize","registry","isPageNavigation","originalUrl","applyUrlRegExp","base","appBase","isNeedTemplateLoad","requestPath","isApplyRequest","isAppNavigation","normalizedBase","isUnderBase","isHtmlDocumentRequest","authState","getState","isRedirected","loadError","recordLoadError","writableEnded","setRedirected","templateName","baseWithoutTrailingSlash","parsedUrl","findPaths","PATH_TEMPLATE_PREFIX","PATH_TEMPLATE_LOCAL_PREFIX","rewritePath","fileType","sessionUsers","Cookie","createSessionCheck","createProxyMiddleware","selfHandleResponse","pathFilter","proxyIgnore","rP","changeOrigin","secure","proxyReq","removeHeader","sessionUser","others","withoutSessionCookie","requestUrl","u","segmentDecoded","decodeURIComponent","rewriteDataPagePathForV7Proxy","abortUpstream","destroyed","destroy","once","off","proxyRes","serverRes","miHost","devHost","rewriteLocationHeader","loggedOutUser","getLoggedOutUser","identity","resume","fetchMode","writeHead","savedUser","passSession","leftBehind","otherCookies","withoutSessionSetCookie","streamInterceptor","interceptor","rewrite","statusMessage","pipe","decoder","StringDecoder","pending","waitingForDrain","flush","pause","lastBreak","lastIndexOf","rewriteInterceptor","responseInterceptor","responseBuffer","fileTypeFromBuffer","reqUrl","searchParams","redirectToFunction","storageKey","lastRedirectKey","redirectCount","localStorage","getItem","isNaN","func","debug","removeItem","setItem","reqHost","urlPath","destinationPath","unescapedUrlReplaceRegExp","replacedContent","urlPathReplacer","log","summary","respondToProxyError","devServer","change","hasHeader","sessionAtStart","cleanUrl","generateCacheKey","hasVerifiedSession","cacheItem","header","setResponseHeaders","originalEnd","originalWrite","bufferedSize","passThrough","held","splice","decide","contentLength","isCacheableResponse","encodingOrCallback","callback","done","nextTick","last","finalBuffer","isStillSameIdentity","_setCookie","predicate","cb","arg","buffers","endCallback","unzipSync","brotliDecompressSync","inflateSync","decodeContent","output","gzipSync","brotliCompressSync","deflateSync","encodeContent","existing","activeStore","query","parsedLimit","parseInt","requests","total","memoryUsageFormatted","maxMemoryFormatted","requestContentType","responseContentType","requestBodySize","responseBodySize","getInspectorHtml","deps","getUsers","available","nameError","contextAtStart","patch","newName","edited","_state","exists","invalidIndex","warnings","seenNames","details","live","combined","schemaMap","liveMap","knownNames","default_value","buildPageVariablesExport","local","readPageVariableEntries","localError","uid","allPages","currentPage","sameTemplate","currentPageName","sourceValues","importable","sourceValue","issue","tagType","planPageVariablesImport","nextConfig","devTypesDir","existsSync","rmSync","persist"],"mappings":"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"}
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,V as u,v as g,e as h,f as m,g as w,h as b}from"./auth.provider-CaBF6-T3.js";import{r as v,l as y,g as P,s as x,a as S,b as k,c as T,i as L}from"./index-DewOudJ0.js";import{loadConfigFromFile as E,mergeConfig as $,build as F,resolveConfig as D,optimizeDeps as j,preview as I}from"vite";import{parse as N}from"url";import{e as _,c as C,r as A,a as M,z as R,I as O,R as z,b as H,i as V,d as U,V as W,f as Z,M as B,g as G,h as q,j as J,k as K,l as Y,u as X,D as Q,C as ee,m as te,n as oe,s as ne}from"./variables-editor-DuTdiZln.js";import*as ie from"dir-compare";import se from"diff-match-patch";import{isBinaryFile as re}from"isbinaryfile";import*as ae from"os";import*as le from"crypto";import{WebSocketServer as ce,WebSocket as de}from"ws";import{w as pe}from"./version-manifest-C1RlO_jm.js";import"picocolors";import"node:path";import"child_process";import"node:module";import"./helpers.js";import"ejs";import"zlib";import"axios";import"node:http";import"node:https";import"http-proxy-middleware";import"node:string_decoder";import"node:crypto";import"node:fs";import"node:os";import"express";import"process";import"jszip";import"module";function fe(e){return null!=e&&!1!==e}let ue=null;const ge=new WeakMap;function he(e,t){if(!e.httpServer||!process.stdin.isTTY||process.env.CI)return;ge.set(e,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(fe).concat(me);ue?.(),ue=null;let i=!1;const s=process.stdin.isPaused(),l=process.stdin,c=Boolean(l.isRaw),d=async t=>{if(""===t)return void function(e=process){"win32"===e.platform?e.emit("SIGINT","SIGINT"):e.kill(e.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=()=>{ue===f&&(p.removeListener("close",f),process.stdin.off("data",d),c||process.stdin.setRawMode(!1),s&&process.stdin.pause(),ue=null)};ue=f,p.on("close",f)}const me=[{key:"r",description:"restart the server",async action(e){const t=ge.get(e);await e.restart(),t&&he(e,{...t,print:!1})}},{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 we=/(.+)(-[a-f0-9]{6,20})(\.[a-z0-9]+)$/i;class be{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(ae.tmpdir(),le.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(ae.tmpdir(),le.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 _(e,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 ie.compare(await this.oldAssetsPath,await this.newAssetsPath,{compareContent:!0,skipSymlinks:!0,compareSize:!0,compareDate:!1,compareNameHandler:(e,t)=>(we.test(e)&&(e=e.replace(we,"$1$3")),we.test(t)&&(t=t.replace(we,"$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 se,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 re(n)||await re(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 ve{sourceDir;outputDir;fontName;constructor(e){this.sourceDir=e.sourceDir,this.outputDir=e.outputDir,this.fontName=e.fontName}async generate(){const{default:e}=await(import("svgtofont"));await e({src:this.sourceDir,dist:this.outputDir,fontName:this.fontName,css:!0,typescript:!0,startUnicode:59905,svgicons2svgfont:{fontHeight:1024}})}}class ye{wss;eventListeners=new Map;lifecycleListeners=new Map;clients=new Map;ws;constructor(){this.wss=new ce({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===de.OPEN&&e.send(t)}}}}handleUpgrade(e,t,o){if((e.url??"").split("?")[0]!==l)return!1;return C(e)?(t.once("error",()=>t.destroy()),t.end("HTTP/1.1 403 Forbidden\r\nConnection: close\r\nContent-Length: 0\r\n\r\n",()=>t.destroy()),!0):(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===de.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}}function Pe(e){return e instanceof Error?e.stack??e.message:String(e)}function xe({logger:e,knownRejections:t=[],shutdown:o,shutdownTimeoutMs:n=5e3,processRef:i=process}){let s=!1,r=0;const l=async(t,l)=>{if((e=>{r=Math.max(r,e)})(l),s)return void("SIGINT"!==t&&"SIGTERM"!==t||(e.warn(a.yellow(`\n⚠️ Received ${t} again, exiting without waiting for the shutdown`)),i.exit(r)));s=!0,e.info(a.yellow(`\n🛑 Received ${t}, shutting down gracefully...`));const c=setTimeout(()=>{e.error(a.red(`⏰ Shutdown did not finish within ${n} ms, forcing exit`)),i.exit(1)},n);try{await o(),clearTimeout(c),e.info(a.green("✅ Graceful shutdown completed")),i.exit(r)}catch(t){clearTimeout(c),e.error(a.red(`❌ Error during graceful shutdown: ${Pe(t)}`)),i.exit(1)}},c=()=>{l("SIGINT",0)},d=()=>{l("SIGTERM",0)},p=t=>{e.error(a.red(`❌ Uncaught exception: ${Pe(t)}`)),l("uncaughtException",1)},f=o=>{const n=t.find(e=>e.matches(o));n?e.info(a.dim(n.message)):e.error(a.red(`❌ Unhandled promise rejection (the server keeps running): ${Pe(o)}`))};return i.on("SIGINT",c),i.on("SIGTERM",d),i.on("uncaughtException",p),i.on("unhandledRejection",f),()=>{i.off("SIGINT",c),i.off("SIGTERM",d),i.off("uncaughtException",p),i.off("unhandledRejection",f)}}const Se={matches:e=>e instanceof Error&&"Worker creator already registered"===e.message,message:"Next.js kept its Turbopack worker pool from before the restart ('Worker creator already registered')"};const ke=["--","c","config","base","l","logLevel","clearScreen","configLoader","profile","d","debug","f","filter","m","mode","force","w","changelog","distZip","distZipDir","distZipFilename","versionManifest","versionFileTemplate","webpack","turbopack"];function Te(e){const t={...e};for(const e of ke)delete t[e];return"sourcemap"in t&&(t.sourcemap="true"===t.sourcemap||"false"!==t.sourcemap&&t.sourcemap),"watch"in t&&(t.watch=t.watch?{}:void 0),t}const Le=["https","open","cors","strictPort","force"];const Ee=s("pp-dev");function $e(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}}function Fe(e){e.watcher&&e.watcher.close()}function De(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 je(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 be({oldAssetsPath:p,newAssetsPath:s,destinationPath:c});await f.generateChangelog()}let Ie=global.__pp_dev_profile_session,Ne=0;const _e=o=>{if(Ie)return new Promise((n,i)=>{Ie.post("Profiler.stop",(s,{profile:r})=>{if(s)i(s);else{const i=e.resolve(`./pp-dev-profile-${Ne++}.cpuprofile`);t.writeFileSync(i,JSON.stringify(r)),o(a.yellow(`CPU profile written to ${a.white(a.dim(i))}`)),Ie=void 0,n()}})})},Ce=e=>{for(const[t,o]of Object.entries(e))Array.isArray(o)&&(e[t]=o[o.length-1])};Ee.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"),Ee.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)=>{Ce(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:r,getConfig:f}=await import("./index-DewOudJ0.js").then(e=>e.h);r();const{createServer:g}=await(import("vite")),h=o.mode||"development",m=e.resolve(process.cwd(),t??".");y(h,m);const w=await E({mode:h,command:"serve"},o.config,t,o.logLevel);let b=await P(void 0,{mode:h,root:m});if(w){const{plugins:e,...t}=w.config;b=$(b,t)}if(i=await g($(b,{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 v=global.__pp_dev_start_time??!1,x=v?a.dim(`ready in ${a.reset(a.bold(Math.ceil(n.now()-v)))} ms`):"";d.info(`\n ${a.green(`${a.bold("PP-DEV")} v${u}`)} ${x}\n`),i.printUrls();const S=await f(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+O)}\n`)}he(i,{print:!0,customShortcuts:[...Ie?[{key:"p",description:"start/stop the profiler",async action(e){if(Ie)await _e(d.info);else{const e=await import("node:inspector").then(e=>e.default);await new Promise(t=>{Ie=new e.Session,Ie.connect(),Ie.post("Profiler.enable",()=>{Ie?.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=$e(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}),_e(d.info),process.exit(1)}}};xe({logger:d,shutdown:async()=>{s&&(Fe(s),s=null),i&&(await i.close(),i=null),_e(d.info)}}),await p()}),Ee.command("next [root]","start Next.js development server with pp-dev integration").alias("next-serve").alias("next-dev").option("--host [host]","[string] specify hostname; without a value, listen on all addresses").option("--port <port>","[number] specify port",{default:3e3}).option("--https","[boolean] no effect with pp-dev next (deprecated)").option("--open [path]","[boolean | string] no effect with pp-dev next (deprecated)").option("--cors","[boolean] no effect with pp-dev next (deprecated)").option("--strictPort","[boolean] no effect with pp-dev next (deprecated)").option("--force","[boolean] no effect with pp-dev next (deprecated)").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)=>{Ce(i);const s=Le.filter(e=>void 0!==i[e]);s.length>0&&r(i.logLevel).warn(a.yellow(`⚠️ ${s.map(e=>`--${e}`).join(", ")} ${1===s.length?"has":"have"} no effect with pp-dev next and will be removed.`));const{host:l,port:p}=function(e,t){let o="localhost";!0===e||""===e?o="0.0.0.0":"string"==typeof e?o=e:"number"==typeof e&&(o=String(e));const n="number"==typeof t?t:"string"==typeof t?Number.parseInt(t,10):NaN;return{host:o,port:Number.isInteger(n)&&n>=0?n:3e3}}(i.host,i.port);let f=null,u=null,b=null,v=null,P=!1;const S=new Set,k=r(i.logLevel),E=function(e=["uncaughtException"],t=process){const o=e=>t.listeners(e);let n=null,i=null;return{beforeCreate(){n=new Map(e.map(e=>[e,new Set(o(e))]))},afterCreate(){if(!n)return 0;const s=n,r=new Map(e.map(e=>[e,o(e).filter(t=>!s.get(e).has(t))]));let a=0;if(i)for(const[e,o]of i){const n=new Set(r.get(e).map(e=>e.toString()));for(const i of o)n.has(i.toString())&&(t.off(e,i),a+=1)}return i=r,n=null,a}}}(),$=async()=>{f&&"function"==typeof f.close&&await f.close(),f=null},F=async()=>{const e=u;if(e){for(const e of S)e.destroy();S.clear(),await new Promise(t=>{e.close(()=>t())}),u===e&&(u=null)}},D=async()=>{if(!P){P=!0;try{const{next:r,constants:j}=await x(),{PHASE_DEVELOPMENT_SERVER:I}=j;b&&(await b.close(),b=null),u&&(k.info(a.yellow("🛑 Stopping existing Next.js server...")),await F()),await $();const{clearConfigCache:_}=await import("./index-DewOudJ0.js").then(e=>e.h);_();const{join:C}=await(import("path")),{createServer:A}=await(import("http")),M=await(import("next/dist/server/config.js")),R=M.default.default||M["module.exports"].default||M.default,ie=n?C(process.cwd(),n):process.cwd();y(i.mode||"development",ie);const se=await R(I,ie);let re=se?.ppDev||{};if(0===Object.keys(re).length)try{const{getConfig:e}=await import("./index-DewOudJ0.js").then(e=>e.h),t=await e(ie);Object.keys(t).length>0?(re=t,k.info(a.blue("🔧 Loaded pp-dev config from standalone config file"))):k.info(a.yellow("⚠️ No pp-dev config found in Next.js config or standalone file, using defaults"))}catch(e){k.warn(a.yellow(`⚠️ Failed to load standalone pp-dev config, using defaults: ${e instanceof Error?e.message:String(e)}`))}else k.info(a.blue("🔧 Loaded pp-dev config from Next.js config"));const{getPkg:ae}=await import("./index-DewOudJ0.js").then(e=>e.h),le=ae(ie).name;g(re,le);const ce=d(re,le),{templateName:de}=ce,pe=ce.backendBaseURL,fe=ce.templateLess,ue=ce.v7Features,ge=ce.disableSSLValidation,he=ce.enableProxyCache,me=ce.proxyCacheTTL,we=ce.personalAccessToken,be=ce.miHudLess,ve=ce.inspectorEnabled,Pe=ce.inspectorMaxMemory,xe=ce.inspectorCaptureLimit,Se=ce.appId,ke=se?.basePath;let Te="";ke?Te=ke:(Te=fe?h:ue?m:w,Te+=`/${de}`);const Le=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),Ee=async e=>{delete process.env.TURBOPACK,await $();const t={dev:!0,customServer:!0,hostname:l,port:p,dir:ie,conf:{...se,basePath:Te,assetPrefix:Te}};e.webpack?t.webpack=!0:e.turbopack&&(t.turbopack=!0),E.beforeCreate(),f=r(t),await f.prepare(),E.afterCreate()};if(Le.webpack)await Ee({webpack:!0});else if(Le.turbopack)try{await Ee({turbopack:!0})}catch(e){if(!De(e))throw e;k.warn(a.yellow("⚠ Turbopack is unavailable (native bindings). Falling back to Webpack.")),await Ee({webpack:!0})}else try{await Ee({})}catch(e){if(!De(e))throw e;k.warn(a.yellow("⚠ Turbopack cannot run (native Next.js bindings unavailable). Falling back to Webpack.")),await Ee({webpack:!0})}if(!f)throw new Error("Next.js app failed to initialize");if(Te.endsWith("/")||(Te+="/"),"/"===Te)throw new Error('basePath cannot be equal to "/" or equal to empty string');k.info(a.green("✅ Next.js app prepared successfully")),k.info(a.blue(`🔧 pp-dev plugin configured for template: ${de}`)),k.info(a.blue(`🔧 Base path configured: ${Te}`)),pe&&(k.info(a.blue(`🌐 Backend URL: ${pe}`)),k.info(a.blue(`🆔 Custom App ID: ${Se}`)));const Fe=f.getRequestHandler(),je=p,Ie=l;u=A(async(e,t)=>{try{const o=e.url||"/",n=o.split("?")[0];let i=N(o,!0);if(_e.length>0){if(n.startsWith("/_next/")||"/favicon.ico"===n||n.startsWith("/__nextjs_")){if(Ce.length>0){let l=0;const c=()=>{if(l>=Ce.length)return void s();const o=Ce[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(Te))i=N(o,!0);else{if(n===Te.replace(/\/$/,"")){const e=o.replace(n,Te);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:Te}),void t.end()}await Fe(e,t,i)}s()}catch(d){k.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 Ne=null,_e=[],Ce=[];if(!1!==ve){const e=new z(Pe);H(V,e,xe);const t=U(e,xe);_e.push(t)}const Ae=(e,t,o)=>{if(e.url?.startsWith("/@api/")||e.url?.startsWith(O)||e.url?.startsWith(W)){return void V(e,t,()=>{})}o()};if(pe||!1===ve||(Ce.push(Ae),_e.push(Ae)),pe){const n=new URL(pe).host,i=Z();Ce.unshift(i),_e.unshift(i),pe.startsWith("https://")&&(o.defaultMaxListeners=Math.max(o.defaultMaxListeners,20));const r={headers:{host:n,referer:pe,origin:pe.replace(/^(https?:\/\/)([^/]+)(\/.*)?$/i,"$1$2")},appId:Se,templateLess:fe,disableSSLValidation:ge,v7Features:ue,personalAccessToken:we??process.env.MI_ACCESS_TOKEN};Ne=new B(pe,r);const l=G(Te,de),d=(e,t,o)=>{l(e,t,o)};Ce.push(d),_e.push(d);const p=T(Te);if(Ce.push(p),_e.push(p),he){let e=+me;(!e||Number.isNaN(e)||e<0)&&(e=6e5);const t={middlewares:{use:e=>e},config:{logger:console}},o=q({devServer:t,ttl:e}),n=(e,t,n)=>{o(e,t,n)};_e.push(n),k.info(a.blue(`🔧 Proxy cache middleware added with TTL: ${e}ms`))}const g=new RegExp(`^((${s=Te,s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")})|/)$`),h=J(g,Ne,Object.assign({base:Te},r,{miHudLess:be})),m=(e,t,o)=>{h(e,t,o)};_e.push(m);const w=Te.endsWith("/")?Te.substring(0,Te.length-1):Te,v={middlewares:{use:e=>e},config:{logger:console}},y=K({devServer:v,baseURL:pe,proxyIgnore:["/@vite","/@metricinsights","/@",w,"/_next","/favicon.ico","/__nextjs_","/installHook.js.map"],disableSSLValidation:ge,miAPI:Ne,templateName:de}),P=(e,t,o)=>{y(e,t,o)};_e.push(P),Ce.push(Ae),_e.push(Ae);const x=Y(e=>{const t=e.split("?")[0];return t.startsWith(Te)&&!t.includes("/_next/")},(e,t)=>{const o=Ne.buildPage(e,be),i=L(o,Te,{backendBaseURL:pe,templateLess:fe,appId:Se,devPanelPosition:ce.devPanelPosition,devPanelHidden:ce.devPanelHidden,devPanelAutoHide:ce.devPanelAutoHide});return Buffer.from(X(n,t.headers.host??"",i))}),S=(e,t,o)=>{x(e,t,o)};_e.push(S),b=new ye;let E=se?.distDir;const $=process.env[c];process.env[c]="1";try{const e=await R(j.PHASE_PRODUCTION_BUILD,ie);E=e?.distDir??E}catch{}finally{void 0===$?delete process.env[c]:process.env[c]=$}const F=(E??"").replace(/\\/g,"/").replace(/\/+$/,"").replace(/\/dev$/,""),D=F&&".next"!==F?F:"out";let I,N="0.0.0";try{const o=JSON.parse(t.readFileSync(e.join(ie,"package.json"),"utf-8"));N="string"==typeof o.version?o.version:N,I="string"==typeof o.repository?o.repository:o.repository?.url}catch{}const _=new Q(de,{root:ie,backupFolder:e.resolve(ie,ce.syncBackupsDir),maxBackups:ce.syncMaxBackups,nextBuild:{projectRoot:ie,distDir:D,packageVersion:N,packageRepositoryUrl:I}}),C={ws:b.ws,config:{clientInjectionPlugin:{v7Features:ue}}};new ee(C,{distService:_,miAPI:Ne}),te(V,{distService:_,miAPI:Ne}),oe(V,{miAPI:Ne}),ne({persist:ce.persistUsers,miAPI:Ne,projectRoot:ie,miUrl:pe});const A="function"==typeof f?.getUpgradeHandler?f.getUpgradeHandler():null;u.on("upgrade",(e,t,o)=>{b?.handleUpgrade(e,t,o)||(A?A(e,t,o):t.destroy())}),k.info(a.blue(`🔧 ${_e.length} pp-dev middlewares initialized`)),k.info(a.blue(`🔧 ${Ce.length} essential middlewares for internal routes`)),k.info(a.blue(`🔧 MiAPI initialized for backend: ${pe}`)),k.info(a.blue(`🔧 Custom App ID: ${Se}`))}u.listen(je,Ie,()=>{k.info(a.green(`✅ pp-dev Next.js server running at http://${Ie}:${je}`)),k.info(a.blue(`📱 Next.js app accessible at http://${Ie}:${je}${Te}`)),!1!==ve&&k.info(a.cyan(`🔍 Request Inspector: http://${Ie}:${je}${O}`)),k.info(a.blue("🔧 Base path handling active")),v||(v=$e(ie,D,k.info),k.info(a.blue("🔧 Config file watcher started"))),u.on("connection",e=>{S.add(e),e.on("close",()=>S.delete(e))})}),P=!1}catch(e){P=!1,k.error(a.red(`❌ Failed to start Next.js server: ${e?.message}. Stack: ${e?.stack}`)),e instanceof Error&&e.message.includes("Next.js is required")&&(k.error(a.red("❌ Next.js Peer Dependency Error:")),k.error(a.red(e.message)),k.error(a.yellow("\n💡 To fix this issue:")),k.error(a.blue(" 1. Install Next.js in your project:")),k.error(a.white(" npm install next@^16")),k.error(a.blue(" 2. Or use yarn:")),k.error(a.white(" yarn add next@^16")),k.error(a.blue(" 3. Or use pnpm:")),k.error(a.white(" pnpm add next@^16")),k.error(a.yellow("\n📖 For more information, see:")),k.error(a.blue(" https://nextjs.org/docs/getting-started"))),process.exit(1)}var s}};xe({logger:k,knownRejections:[Se],shutdown:async()=>{v&&(Fe(v),v=null),b&&(await b.close(),b=null),await F(),await $()}}),await D()}),Ee.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)=>{Ce(o);const n=Te(o),i=v(o);try{const s=o.mode||"production",r=e.resolve(process.cwd(),t??".");y(s,r);const a=await E({mode:s,command:"build"},o.config,t,o.logLevel);let l=await P(i,{mode:s,root:r});if(a){const{plugins:e,...t}=a.config;l=$(l,t)}const c=$(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 F(c),o.changelog){const n=t||process.cwd(),i=c.build?.outDir||"dist";let s="dist-zip";c.ppDevConfig&&(!1===c.ppDevConfig.distZip?s=i:"object"==typeof c.ppDevConfig.distZip&&"string"==typeof c.ppDevConfig.distZip.outDir&&(s=c.ppDevConfig.distZip.outDir)),await je({changelog:o.changelog,executionRoot:n,newAssetsPath:e.resolve(n,i),backupsDirPath:e.resolve(n,c.ppDevConfig?.syncBackupsDir||"backups"),changelogDestinationPath:e.resolve(n,s),logLevel:o.logLevel})}}catch(e){r(o.logLevel).error(a.red(`error during build:\n${e.stack}`),{error:e}),process.exit(1)}finally{_e(e=>r(o.logLevel).info(e))}}),Ee.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)=>{Ce(n);const i=r(n.logLevel),s=o?e.resolve(process.cwd(),o):process.cwd(),l=v(n);process.env[c]="1";try{y(n.mode||"production",s);const{constants:o}=await x(),r=await(import("next/dist/server/config.js")),c=r.default.default||r["module.exports"].default||r.default,u=await c(o.PHASE_PRODUCTION_BUILD,s);let g=u?.ppDev||{};if(0===Object.keys(g).length){const{getConfig:e}=await import("./index-DewOudJ0.js").then(e=>e.h);g=await e(s)}const{getPkg:h}=await import("./index-DewOudJ0.js").then(e=>e.h),m=d(g,h(s).name),w=S(m.distZip,l,p(m.templateName)),b=k(m.versionPlugin,l),v=A(s,u);v&&i.info(a.dim(`[pp-dev] Removed stale dev route types: ${e.relative(s,v)}`)),i.info(a.cyan("[pp-dev] Running `next build`...")),await M(s);const P="string"==typeof u?.distDir&&u.distDir?u.distDir:".next",T=".next"===P?"out":P,L=e.resolve(s,T);if(!t.existsSync(L)||!t.statSync(L).isDirectory())throw new Error(`Next.js build output directory not found: ${L}. "next-build" requires "output: 'export'" in next.config (static export).`);const E=JSON.parse(t.readFileSync(e.join(s,"package.json"),"utf-8"));if(!1!==b&&!1!==b.enabled&&(pe({outDir:L,packageVersion:"string"==typeof E.version?E.version:"0.0.0",versionFileTemplate:b.versionFileTemplate,packageRepositoryUrl:"string"==typeof E.repository?E.repository:E.repository?.url,enabled:b.enabled}),i.info(a.green(`✅ VERSION / BUILD-MANIFEST written to ${e.relative(s,L)}`))),!1!==w){const o=e.resolve(s,w.outDir),n=w.inDir?e.resolve(L,w.inDir):L,r=f(o,w.outFileName,"ZIP output file name");t.mkdirSync(e.dirname(r),{recursive:!0});const l=await R(n);t.writeFileSync(r,l),i.info(a.green(`✅ Zip archive written to ${e.relative(s,r)}`))}if(n.changelog){const t=!1!==w?w.outDir:T;await je({changelog:n.changelog,executionRoot:s,newAssetsPath:L,backupsDirPath:e.resolve(s,m.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{_e(e=>r(n.logLevel).info(e))}}),Ee.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)=>{Ce(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),g=e.resolve(p,l),h=new be({oldAssetsPath:f,newAssetsPath:u,destinationPath:g,changelogFilename:c});await h.generateChangelog()}),Ee.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)=>{Ce(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 ve({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)}`)}),Ee.command("optimize [root]","pre-bundle dependencies").option("--force","[boolean] force the optimizer to ignore the cache and re-bundle").action(async(t,o)=>{Ce(o);try{const n=o.mode||"production",i=e.resolve(process.cwd(),t??".");y(n,i);const s=await E({mode:n,command:"build"},o.config,t,o.logLevel);let r=await P(void 0,{mode:n,root:i});if(s){const{plugins:e,...t}=s.config;r=$(r,t)}const a=await D($(r,{root:t,base:o.base,configFile:o.config,logLevel:o.logLevel,mode:o.mode}),"serve");await j(a,o.force,!0)}catch(e){r(o.logLevel).error(a.red(`error when optimizing deps:\n${e.stack}`),{error:e}),process.exit(1)}}),Ee.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)=>{Ce(o);try{const n=o.mode||"production",i=e.resolve(process.cwd(),t??".");y(n,i);const s=await E({mode:n,command:"build"},o.config,t,o.logLevel);let r=await P(void 0,{mode:n,root:i});if(s){const{plugins:e,...t}=s.config;r=$(r,t)}(await I($(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{_e(e=>r(o.logLevel).info(e))}}),Ee.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,discoverMigrateSource:u,loadPackageJsonMigrateConfig:g}=await(import("./migrate-SXsPvdfV.js")),h=n.format??"ts",m=!1!==n.backup,w=process.cwd(),b=u(w,o);b||(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}, or a "pp-dev" field in package.json')),process.exit(1));const{sourceFile:v,isWatchConfig:y,isPackageJsonConfig:P}=b;i.info(a.blue(`Found config: ${e.relative(w,v)}`));const{getPkg:x}=await import("./index-DewOudJ0.js").then(e=>e.h),S=x();let k,T={};try{if(/\.[cm]?ts$/i.test(v)){const o=await(import("esbuild")),{pathToFileURL:n}=await(import("url")),i=(await o.build({absWorkingDir:w,entryPoints:[v],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(w,s)).toString()));T=t.default?.default??t.default??t}finally{t.existsSync(s)&&t.unlinkSync(s)}}else if(/\.[cm]?js$/i.test(v)){const{pathToFileURL:t}=await(import("url")),o=await(import(t(e.resolve(w,v)).toString()));T=o.default?.default??o.default??o}else P?T=g(v):v.endsWith(".json")&&(T=JSON.parse(t.readFileSync(v,"utf-8")))}catch(e){i.error(a.red(`Failed to load config file: ${e.message}`)),process.exit(1)}T&&"object"==typeof T||(i.error(a.red("Config file did not export a valid object.")),process.exit(1)),c(T)?(i.info(a.green("Config is already in 1.0 format — nothing to migrate.")),process.exit(0)):y||l(T)?(i.info(a.blue("Detected pp-watch config format → migrating to 1.0")),k=p(T)):s(T)?(i.info(a.blue("Detected 0.x flat config format → migrating to 1.0")),k=d(T,S.name)):(i.warn(a.yellow("Could not detect config format. No known keys found.")),process.exit(1));const L=f(k,h),E=n.output??e.join(w,`pp-dev.config.${h}`);if(n.dryRun&&(i.info(a.green(`\n--- Migrated config (dry-run) → ${e.relative(w,E)} ---\n`)),process.exit(0)),m&&!P&&t.existsSync(v)){const o=`${v}.bak`;t.copyFileSync(v,o),i.info(a.blue(`Backed up original to: ${e.relative(w,o)}`))}t.writeFileSync(E,L,"utf-8"),i.info(a.green(`✅ Migration complete → ${e.relative(w,E)}`)),P?i.info(a.yellow('You can now remove the "pp-dev" field from package.json.')):v!==E&&t.existsSync(v)&&i.info(a.yellow(`You can now delete the old config: ${e.relative(w,v)}`))}),Ee.help(),Ee.version(u),Ee.parse();export{_e 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,P as l,b as c,n as d,d as p,r as f,V as u,v as g,e as h,f as m,g as w,h as b}from"./auth.provider-CaBF6-T3.js";import{r as v,l as y,g as P,s as x,a as S,b as k,c as T,i as L}from"./index-DewOudJ0.js";import{loadConfigFromFile as E,mergeConfig as $,build as F,resolveConfig as D,optimizeDeps as j,preview as I}from"vite";import{parse as N}from"url";import{e as _,c as C,r as A,a as M,z as R,I as O,R as z,b as H,i as V,d as U,V as W,f as Z,M as B,g as G,h as q,j as J,k as K,l as Y,u as X,D as Q,C as ee,m as te,n as oe,s as ne}from"./variables-editor-CWbcJAdI.js";import*as ie from"dir-compare";import se from"diff-match-patch";import{isBinaryFile as re}from"isbinaryfile";import*as ae from"os";import*as le from"crypto";import{WebSocketServer as ce,WebSocket as de}from"ws";import{w as pe}from"./version-manifest-C1RlO_jm.js";import"picocolors";import"node:path";import"child_process";import"node:module";import"./helpers.js";import"ejs";import"zlib";import"axios";import"node:http";import"node:https";import"http-proxy-middleware";import"node:string_decoder";import"node:crypto";import"node:fs";import"node:os";import"express";import"process";import"jszip";import"module";function fe(e){return null!=e&&!1!==e}let ue=null;const ge=new WeakMap;function he(e,t){if(!e.httpServer||!process.stdin.isTTY||process.env.CI)return;ge.set(e,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(fe).concat(me);ue?.(),ue=null;let i=!1;const s=process.stdin.isPaused(),l=process.stdin,c=Boolean(l.isRaw),d=async t=>{if(""===t)return void function(e=process){"win32"===e.platform?e.emit("SIGINT","SIGINT"):e.kill(e.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=()=>{ue===f&&(p.removeListener("close",f),process.stdin.off("data",d),c||process.stdin.setRawMode(!1),s&&process.stdin.pause(),ue=null)};ue=f,p.on("close",f)}const me=[{key:"r",description:"restart the server",async action(e){const t=ge.get(e);await e.restart(),t&&he(e,{...t,print:!1})}},{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 we=/(.+)(-[a-f0-9]{6,20})(\.[a-z0-9]+)$/i;class be{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(ae.tmpdir(),le.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(ae.tmpdir(),le.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 _(e,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 ie.compare(await this.oldAssetsPath,await this.newAssetsPath,{compareContent:!0,skipSymlinks:!0,compareSize:!0,compareDate:!1,compareNameHandler:(e,t)=>(we.test(e)&&(e=e.replace(we,"$1$3")),we.test(t)&&(t=t.replace(we,"$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 se,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 re(n)||await re(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 ve{sourceDir;outputDir;fontName;constructor(e){this.sourceDir=e.sourceDir,this.outputDir=e.outputDir,this.fontName=e.fontName}async generate(){const{default:e}=await(import("svgtofont"));await e({src:this.sourceDir,dist:this.outputDir,fontName:this.fontName,css:!0,typescript:!0,startUnicode:59905,svgicons2svgfont:{fontHeight:1024}})}}class ye{wss;eventListeners=new Map;lifecycleListeners=new Map;clients=new Map;ws;constructor(){this.wss=new ce({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===de.OPEN&&e.send(t)}}}}handleUpgrade(e,t,o){if((e.url??"").split("?")[0]!==l)return!1;return C(e)?(t.once("error",()=>t.destroy()),t.end("HTTP/1.1 403 Forbidden\r\nConnection: close\r\nContent-Length: 0\r\n\r\n",()=>t.destroy()),!0):(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===de.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}}function Pe(e){return e instanceof Error?e.stack??e.message:String(e)}function xe({logger:e,knownRejections:t=[],shutdown:o,shutdownTimeoutMs:n=5e3,processRef:i=process}){let s=!1,r=0;const l=async(t,l)=>{if((e=>{r=Math.max(r,e)})(l),s)return void("SIGINT"!==t&&"SIGTERM"!==t||(e.warn(a.yellow(`\n⚠️ Received ${t} again, exiting without waiting for the shutdown`)),i.exit(r)));s=!0,e.info(a.yellow(`\n🛑 Received ${t}, shutting down gracefully...`));const c=setTimeout(()=>{e.error(a.red(`⏰ Shutdown did not finish within ${n} ms, forcing exit`)),i.exit(1)},n);try{await o(),clearTimeout(c),e.info(a.green("✅ Graceful shutdown completed")),i.exit(r)}catch(t){clearTimeout(c),e.error(a.red(`❌ Error during graceful shutdown: ${Pe(t)}`)),i.exit(1)}},c=()=>{l("SIGINT",0)},d=()=>{l("SIGTERM",0)},p=t=>{e.error(a.red(`❌ Uncaught exception: ${Pe(t)}`)),l("uncaughtException",1)},f=o=>{const n=t.find(e=>e.matches(o));n?e.info(a.dim(n.message)):e.error(a.red(`❌ Unhandled promise rejection (the server keeps running): ${Pe(o)}`))};return i.on("SIGINT",c),i.on("SIGTERM",d),i.on("uncaughtException",p),i.on("unhandledRejection",f),()=>{i.off("SIGINT",c),i.off("SIGTERM",d),i.off("uncaughtException",p),i.off("unhandledRejection",f)}}const Se={matches:e=>e instanceof Error&&"Worker creator already registered"===e.message,message:"Next.js kept its Turbopack worker pool from before the restart ('Worker creator already registered')"};const ke=["--","c","config","base","l","logLevel","clearScreen","configLoader","profile","d","debug","f","filter","m","mode","force","w","changelog","distZip","distZipDir","distZipFilename","versionManifest","versionFileTemplate","webpack","turbopack"];function Te(e){const t={...e};for(const e of ke)delete t[e];return"sourcemap"in t&&(t.sourcemap="true"===t.sourcemap||"false"!==t.sourcemap&&t.sourcemap),"watch"in t&&(t.watch=t.watch?{}:void 0),t}const Le=["https","open","cors","strictPort","force"];const Ee=s("pp-dev");function $e(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}}function Fe(e){e.watcher&&e.watcher.close()}function De(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 je(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 be({oldAssetsPath:p,newAssetsPath:s,destinationPath:c});await f.generateChangelog()}let Ie=global.__pp_dev_profile_session,Ne=0;const _e=o=>{if(Ie)return new Promise((n,i)=>{Ie.post("Profiler.stop",(s,{profile:r})=>{if(s)i(s);else{const i=e.resolve(`./pp-dev-profile-${Ne++}.cpuprofile`);t.writeFileSync(i,JSON.stringify(r)),o(a.yellow(`CPU profile written to ${a.white(a.dim(i))}`)),Ie=void 0,n()}})})},Ce=e=>{for(const[t,o]of Object.entries(e))Array.isArray(o)&&(e[t]=o[o.length-1])};Ee.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"),Ee.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)=>{Ce(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:r,getConfig:f}=await import("./index-DewOudJ0.js").then(e=>e.h);r();const{createServer:g}=await(import("vite")),h=o.mode||"development",m=e.resolve(process.cwd(),t??".");y(h,m);const w=await E({mode:h,command:"serve"},o.config,t,o.logLevel);let b=await P(void 0,{mode:h,root:m});if(w){const{plugins:e,...t}=w.config;b=$(b,t)}if(i=await g($(b,{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 v=global.__pp_dev_start_time??!1,x=v?a.dim(`ready in ${a.reset(a.bold(Math.ceil(n.now()-v)))} ms`):"";d.info(`\n ${a.green(`${a.bold("PP-DEV")} v${u}`)} ${x}\n`),i.printUrls();const S=await f(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+O)}\n`)}he(i,{print:!0,customShortcuts:[...Ie?[{key:"p",description:"start/stop the profiler",async action(e){if(Ie)await _e(d.info);else{const e=await import("node:inspector").then(e=>e.default);await new Promise(t=>{Ie=new e.Session,Ie.connect(),Ie.post("Profiler.enable",()=>{Ie?.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=$e(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}),_e(d.info),process.exit(1)}}};xe({logger:d,shutdown:async()=>{s&&(Fe(s),s=null),i&&(await i.close(),i=null),_e(d.info)}}),await p()}),Ee.command("next [root]","start Next.js development server with pp-dev integration").alias("next-serve").alias("next-dev").option("--host [host]","[string] specify hostname; without a value, listen on all addresses").option("--port <port>","[number] specify port",{default:3e3}).option("--https","[boolean] no effect with pp-dev next (deprecated)").option("--open [path]","[boolean | string] no effect with pp-dev next (deprecated)").option("--cors","[boolean] no effect with pp-dev next (deprecated)").option("--strictPort","[boolean] no effect with pp-dev next (deprecated)").option("--force","[boolean] no effect with pp-dev next (deprecated)").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)=>{Ce(i);const s=Le.filter(e=>void 0!==i[e]);s.length>0&&r(i.logLevel).warn(a.yellow(`⚠️ ${s.map(e=>`--${e}`).join(", ")} ${1===s.length?"has":"have"} no effect with pp-dev next and will be removed.`));const{host:l,port:p}=function(e,t){let o="localhost";!0===e||""===e?o="0.0.0.0":"string"==typeof e?o=e:"number"==typeof e&&(o=String(e));const n="number"==typeof t?t:"string"==typeof t?Number.parseInt(t,10):NaN;return{host:o,port:Number.isInteger(n)&&n>=0?n:3e3}}(i.host,i.port);let f=null,u=null,b=null,v=null,P=!1;const S=new Set,k=r(i.logLevel),E=function(e=["uncaughtException"],t=process){const o=e=>t.listeners(e);let n=null,i=null;return{beforeCreate(){n=new Map(e.map(e=>[e,new Set(o(e))]))},afterCreate(){if(!n)return 0;const s=n,r=new Map(e.map(e=>[e,o(e).filter(t=>!s.get(e).has(t))]));let a=0;if(i)for(const[e,o]of i){const n=new Set(r.get(e).map(e=>e.toString()));for(const i of o)n.has(i.toString())&&(t.off(e,i),a+=1)}return i=r,n=null,a}}}(),$=async()=>{f&&"function"==typeof f.close&&await f.close(),f=null},F=async()=>{const e=u;if(e){for(const e of S)e.destroy();S.clear(),await new Promise(t=>{e.close(()=>t())}),u===e&&(u=null)}},D=async()=>{if(!P){P=!0;try{const{next:r,constants:j}=await x(),{PHASE_DEVELOPMENT_SERVER:I}=j;b&&(await b.close(),b=null),u&&(k.info(a.yellow("🛑 Stopping existing Next.js server...")),await F()),await $();const{clearConfigCache:_}=await import("./index-DewOudJ0.js").then(e=>e.h);_();const{join:C}=await(import("path")),{createServer:A}=await(import("http")),M=await(import("next/dist/server/config.js")),R=M.default.default||M["module.exports"].default||M.default,ie=n?C(process.cwd(),n):process.cwd();y(i.mode||"development",ie);const se=await R(I,ie);let re=se?.ppDev||{};if(0===Object.keys(re).length)try{const{getConfig:e}=await import("./index-DewOudJ0.js").then(e=>e.h),t=await e(ie);Object.keys(t).length>0?(re=t,k.info(a.blue("🔧 Loaded pp-dev config from standalone config file"))):k.info(a.yellow("⚠️ No pp-dev config found in Next.js config or standalone file, using defaults"))}catch(e){k.warn(a.yellow(`⚠️ Failed to load standalone pp-dev config, using defaults: ${e instanceof Error?e.message:String(e)}`))}else k.info(a.blue("🔧 Loaded pp-dev config from Next.js config"));const{getPkg:ae}=await import("./index-DewOudJ0.js").then(e=>e.h),le=ae(ie).name;g(re,le);const ce=d(re,le),{templateName:de}=ce,pe=ce.backendBaseURL,fe=ce.templateLess,ue=ce.v7Features,ge=ce.disableSSLValidation,he=ce.enableProxyCache,me=ce.proxyCacheTTL,we=ce.personalAccessToken,be=ce.miHudLess,ve=ce.inspectorEnabled,Pe=ce.inspectorMaxMemory,xe=ce.inspectorCaptureLimit,Se=ce.appId,ke=se?.basePath;let Te="";ke?Te=ke:(Te=fe?h:ue?m:w,Te+=`/${de}`);const Le=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),Ee=async e=>{delete process.env.TURBOPACK,await $();const t={dev:!0,customServer:!0,hostname:l,port:p,dir:ie,conf:{...se,basePath:Te,assetPrefix:Te}};e.webpack?t.webpack=!0:e.turbopack&&(t.turbopack=!0),E.beforeCreate(),f=r(t),await f.prepare(),E.afterCreate()};if(Le.webpack)await Ee({webpack:!0});else if(Le.turbopack)try{await Ee({turbopack:!0})}catch(e){if(!De(e))throw e;k.warn(a.yellow("⚠ Turbopack is unavailable (native bindings). Falling back to Webpack.")),await Ee({webpack:!0})}else try{await Ee({})}catch(e){if(!De(e))throw e;k.warn(a.yellow("⚠ Turbopack cannot run (native Next.js bindings unavailable). Falling back to Webpack.")),await Ee({webpack:!0})}if(!f)throw new Error("Next.js app failed to initialize");if(Te.endsWith("/")||(Te+="/"),"/"===Te)throw new Error('basePath cannot be equal to "/" or equal to empty string');k.info(a.green("✅ Next.js app prepared successfully")),k.info(a.blue(`🔧 pp-dev plugin configured for template: ${de}`)),k.info(a.blue(`🔧 Base path configured: ${Te}`)),pe&&(k.info(a.blue(`🌐 Backend URL: ${pe}`)),k.info(a.blue(`🆔 Custom App ID: ${Se}`)));const Fe=f.getRequestHandler(),je=p,Ie=l;u=A(async(e,t)=>{try{const o=e.url||"/",n=o.split("?")[0];let i=N(o,!0);if(_e.length>0){if(n.startsWith("/_next/")||"/favicon.ico"===n||n.startsWith("/__nextjs_")){if(Ce.length>0){let l=0;const c=()=>{if(l>=Ce.length)return void s();const o=Ce[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(Te))i=N(o,!0);else{if(n===Te.replace(/\/$/,"")){const e=o.replace(n,Te);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:Te}),void t.end()}await Fe(e,t,i)}s()}catch(d){k.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 Ne=null,_e=[],Ce=[];if(!1!==ve){const e=new z(Pe);H(V,e,xe);const t=U(e,xe);_e.push(t)}const Ae=(e,t,o)=>{if(e.url?.startsWith("/@api/")||e.url?.startsWith(O)||e.url?.startsWith(W)){return void V(e,t,()=>{})}o()};if(pe||!1===ve||(Ce.push(Ae),_e.push(Ae)),pe){const n=new URL(pe).host,i=Z();Ce.unshift(i),_e.unshift(i),pe.startsWith("https://")&&(o.defaultMaxListeners=Math.max(o.defaultMaxListeners,20));const r={headers:{host:n,referer:pe,origin:pe.replace(/^(https?:\/\/)([^/]+)(\/.*)?$/i,"$1$2")},appId:Se,templateLess:fe,disableSSLValidation:ge,v7Features:ue,personalAccessToken:we??process.env.MI_ACCESS_TOKEN};Ne=new B(pe,r);const l=G(Te,de),d=(e,t,o)=>{l(e,t,o)};Ce.push(d),_e.push(d);const p=T(Te);if(Ce.push(p),_e.push(p),he){let e=+me;(!e||Number.isNaN(e)||e<0)&&(e=6e5);const t={middlewares:{use:e=>e},config:{logger:console}},o=q({devServer:t,ttl:e}),n=(e,t,n)=>{o(e,t,n)};_e.push(n),k.info(a.blue(`🔧 Proxy cache middleware added with TTL: ${e}ms`))}const g=new RegExp(`^((${s=Te,s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")})|/)$`),h=J(g,Ne,Object.assign({base:Te},r,{miHudLess:be})),m=(e,t,o)=>{h(e,t,o)};_e.push(m);const w=Te.endsWith("/")?Te.substring(0,Te.length-1):Te,v={middlewares:{use:e=>e},config:{logger:console}},y=K({devServer:v,baseURL:pe,proxyIgnore:["/@vite","/@metricinsights","/@",w,"/_next","/favicon.ico","/__nextjs_","/installHook.js.map"],disableSSLValidation:ge,miAPI:Ne,templateName:de}),P=(e,t,o)=>{y(e,t,o)};_e.push(P),Ce.push(Ae),_e.push(Ae);const x=Y(e=>{const t=e.split("?")[0];return t.startsWith(Te)&&!t.includes("/_next/")},(e,t)=>{const o=Ne.buildPage(e,be),i=L(o,Te,{backendBaseURL:pe,templateLess:fe,appId:Se,devPanelPosition:ce.devPanelPosition,devPanelHidden:ce.devPanelHidden,devPanelAutoHide:ce.devPanelAutoHide});return Buffer.from(X(n,t.headers.host??"",i))}),S=(e,t,o)=>{x(e,t,o)};_e.push(S),b=new ye;let E=se?.distDir;const $=process.env[c];process.env[c]="1";try{const e=await R(j.PHASE_PRODUCTION_BUILD,ie);E=e?.distDir??E}catch{}finally{void 0===$?delete process.env[c]:process.env[c]=$}const F=(E??"").replace(/\\/g,"/").replace(/\/+$/,"").replace(/\/dev$/,""),D=F&&".next"!==F?F:"out";let I,N="0.0.0";try{const o=JSON.parse(t.readFileSync(e.join(ie,"package.json"),"utf-8"));N="string"==typeof o.version?o.version:N,I="string"==typeof o.repository?o.repository:o.repository?.url}catch{}const _=new Q(de,{root:ie,backupFolder:e.resolve(ie,ce.syncBackupsDir),maxBackups:ce.syncMaxBackups,nextBuild:{projectRoot:ie,distDir:D,packageVersion:N,packageRepositoryUrl:I}}),C={ws:b.ws,config:{clientInjectionPlugin:{v7Features:ue}}};new ee(C,{distService:_,miAPI:Ne}),te(V,{distService:_,miAPI:Ne}),oe(V,{miAPI:Ne}),ne({persist:ce.persistUsers,miAPI:Ne,projectRoot:ie,miUrl:pe});const A="function"==typeof f?.getUpgradeHandler?f.getUpgradeHandler():null;u.on("upgrade",(e,t,o)=>{b?.handleUpgrade(e,t,o)||(A?A(e,t,o):t.destroy())}),k.info(a.blue(`🔧 ${_e.length} pp-dev middlewares initialized`)),k.info(a.blue(`🔧 ${Ce.length} essential middlewares for internal routes`)),k.info(a.blue(`🔧 MiAPI initialized for backend: ${pe}`)),k.info(a.blue(`🔧 Custom App ID: ${Se}`))}u.listen(je,Ie,()=>{k.info(a.green(`✅ pp-dev Next.js server running at http://${Ie}:${je}`)),k.info(a.blue(`📱 Next.js app accessible at http://${Ie}:${je}${Te}`)),!1!==ve&&k.info(a.cyan(`🔍 Request Inspector: http://${Ie}:${je}${O}`)),k.info(a.blue("🔧 Base path handling active")),v||(v=$e(ie,D,k.info),k.info(a.blue("🔧 Config file watcher started"))),u.on("connection",e=>{S.add(e),e.on("close",()=>S.delete(e))})}),P=!1}catch(e){P=!1,k.error(a.red(`❌ Failed to start Next.js server: ${e?.message}. Stack: ${e?.stack}`)),e instanceof Error&&e.message.includes("Next.js is required")&&(k.error(a.red("❌ Next.js Peer Dependency Error:")),k.error(a.red(e.message)),k.error(a.yellow("\n💡 To fix this issue:")),k.error(a.blue(" 1. Install Next.js in your project:")),k.error(a.white(" npm install next@^16")),k.error(a.blue(" 2. Or use yarn:")),k.error(a.white(" yarn add next@^16")),k.error(a.blue(" 3. Or use pnpm:")),k.error(a.white(" pnpm add next@^16")),k.error(a.yellow("\n📖 For more information, see:")),k.error(a.blue(" https://nextjs.org/docs/getting-started"))),process.exit(1)}var s}};xe({logger:k,knownRejections:[Se],shutdown:async()=>{v&&(Fe(v),v=null),b&&(await b.close(),b=null),await F(),await $()}}),await D()}),Ee.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)=>{Ce(o);const n=Te(o),i=v(o);try{const s=o.mode||"production",r=e.resolve(process.cwd(),t??".");y(s,r);const a=await E({mode:s,command:"build"},o.config,t,o.logLevel);let l=await P(i,{mode:s,root:r});if(a){const{plugins:e,...t}=a.config;l=$(l,t)}const c=$(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 F(c),o.changelog){const n=t||process.cwd(),i=c.build?.outDir||"dist";let s="dist-zip";c.ppDevConfig&&(!1===c.ppDevConfig.distZip?s=i:"object"==typeof c.ppDevConfig.distZip&&"string"==typeof c.ppDevConfig.distZip.outDir&&(s=c.ppDevConfig.distZip.outDir)),await je({changelog:o.changelog,executionRoot:n,newAssetsPath:e.resolve(n,i),backupsDirPath:e.resolve(n,c.ppDevConfig?.syncBackupsDir||"backups"),changelogDestinationPath:e.resolve(n,s),logLevel:o.logLevel})}}catch(e){r(o.logLevel).error(a.red(`error during build:\n${e.stack}`),{error:e}),process.exit(1)}finally{_e(e=>r(o.logLevel).info(e))}}),Ee.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)=>{Ce(n);const i=r(n.logLevel),s=o?e.resolve(process.cwd(),o):process.cwd(),l=v(n);process.env[c]="1";try{y(n.mode||"production",s);const{constants:o}=await x(),r=await(import("next/dist/server/config.js")),c=r.default.default||r["module.exports"].default||r.default,u=await c(o.PHASE_PRODUCTION_BUILD,s);let g=u?.ppDev||{};if(0===Object.keys(g).length){const{getConfig:e}=await import("./index-DewOudJ0.js").then(e=>e.h);g=await e(s)}const{getPkg:h}=await import("./index-DewOudJ0.js").then(e=>e.h),m=d(g,h(s).name),w=S(m.distZip,l,p(m.templateName)),b=k(m.versionPlugin,l),v=A(s,u);v&&i.info(a.dim(`[pp-dev] Removed stale dev route types: ${e.relative(s,v)}`)),i.info(a.cyan("[pp-dev] Running `next build`...")),await M(s);const P="string"==typeof u?.distDir&&u.distDir?u.distDir:".next",T=".next"===P?"out":P,L=e.resolve(s,T);if(!t.existsSync(L)||!t.statSync(L).isDirectory())throw new Error(`Next.js build output directory not found: ${L}. "next-build" requires "output: 'export'" in next.config (static export).`);const E=JSON.parse(t.readFileSync(e.join(s,"package.json"),"utf-8"));if(!1!==b&&!1!==b.enabled&&(pe({outDir:L,packageVersion:"string"==typeof E.version?E.version:"0.0.0",versionFileTemplate:b.versionFileTemplate,packageRepositoryUrl:"string"==typeof E.repository?E.repository:E.repository?.url,enabled:b.enabled}),i.info(a.green(`✅ VERSION / BUILD-MANIFEST written to ${e.relative(s,L)}`))),!1!==w){const o=e.resolve(s,w.outDir),n=w.inDir?e.resolve(L,w.inDir):L,r=f(o,w.outFileName,"ZIP output file name");t.mkdirSync(e.dirname(r),{recursive:!0});const l=await R(n);t.writeFileSync(r,l),i.info(a.green(`✅ Zip archive written to ${e.relative(s,r)}`))}if(n.changelog){const t=!1!==w?w.outDir:T;await je({changelog:n.changelog,executionRoot:s,newAssetsPath:L,backupsDirPath:e.resolve(s,m.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{_e(e=>r(n.logLevel).info(e))}}),Ee.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)=>{Ce(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),g=e.resolve(p,l),h=new be({oldAssetsPath:f,newAssetsPath:u,destinationPath:g,changelogFilename:c});await h.generateChangelog()}),Ee.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)=>{Ce(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 ve({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)}`)}),Ee.command("optimize [root]","pre-bundle dependencies").option("--force","[boolean] force the optimizer to ignore the cache and re-bundle").action(async(t,o)=>{Ce(o);try{const n=o.mode||"production",i=e.resolve(process.cwd(),t??".");y(n,i);const s=await E({mode:n,command:"build"},o.config,t,o.logLevel);let r=await P(void 0,{mode:n,root:i});if(s){const{plugins:e,...t}=s.config;r=$(r,t)}const a=await D($(r,{root:t,base:o.base,configFile:o.config,logLevel:o.logLevel,mode:o.mode}),"serve");await j(a,o.force,!0)}catch(e){r(o.logLevel).error(a.red(`error when optimizing deps:\n${e.stack}`),{error:e}),process.exit(1)}}),Ee.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)=>{Ce(o);try{const n=o.mode||"production",i=e.resolve(process.cwd(),t??".");y(n,i);const s=await E({mode:n,command:"build"},o.config,t,o.logLevel);let r=await P(void 0,{mode:n,root:i});if(s){const{plugins:e,...t}=s.config;r=$(r,t)}(await I($(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{_e(e=>r(o.logLevel).info(e))}}),Ee.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,discoverMigrateSource:u,loadPackageJsonMigrateConfig:g}=await(import("./migrate-SXsPvdfV.js")),h=n.format??"ts",m=!1!==n.backup,w=process.cwd(),b=u(w,o);b||(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}, or a "pp-dev" field in package.json')),process.exit(1));const{sourceFile:v,isWatchConfig:y,isPackageJsonConfig:P}=b;i.info(a.blue(`Found config: ${e.relative(w,v)}`));const{getPkg:x}=await import("./index-DewOudJ0.js").then(e=>e.h),S=x();let k,T={};try{if(/\.[cm]?ts$/i.test(v)){const o=await(import("esbuild")),{pathToFileURL:n}=await(import("url")),i=(await o.build({absWorkingDir:w,entryPoints:[v],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(w,s)).toString()));T=t.default?.default??t.default??t}finally{t.existsSync(s)&&t.unlinkSync(s)}}else if(/\.[cm]?js$/i.test(v)){const{pathToFileURL:t}=await(import("url")),o=await(import(t(e.resolve(w,v)).toString()));T=o.default?.default??o.default??o}else P?T=g(v):v.endsWith(".json")&&(T=JSON.parse(t.readFileSync(v,"utf-8")))}catch(e){i.error(a.red(`Failed to load config file: ${e.message}`)),process.exit(1)}T&&"object"==typeof T||(i.error(a.red("Config file did not export a valid object.")),process.exit(1)),c(T)?(i.info(a.green("Config is already in 1.0 format — nothing to migrate.")),process.exit(0)):y||l(T)?(i.info(a.blue("Detected pp-watch config format → migrating to 1.0")),k=p(T)):s(T)?(i.info(a.blue("Detected 0.x flat config format → migrating to 1.0")),k=d(T,S.name)):(i.warn(a.yellow("Could not detect config format. No known keys found.")),process.exit(1));const L=f(k,h),E=n.output??e.join(w,`pp-dev.config.${h}`);if(n.dryRun&&(i.info(a.green(`\n--- Migrated config (dry-run) → ${e.relative(w,E)} ---\n`)),process.exit(0)),m&&!P&&t.existsSync(v)){const o=`${v}.bak`;t.copyFileSync(v,o),i.info(a.blue(`Backed up original to: ${e.relative(w,o)}`))}t.writeFileSync(E,L,"utf-8"),i.info(a.green(`✅ Migration complete → ${e.relative(w,E)}`)),P?i.info(a.yellow('You can now remove the "pp-dev" field from package.json.')):v!==E&&t.existsSync(v)&&i.info(a.yellow(`You can now delete the old config: ${e.relative(w,v)}`))}),Ee.help(),Ee.version(u),Ee.parse();export{_e as stopProfiler};
2
2
  //# sourceMappingURL=cli.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@metricinsights/pp-dev",
3
3
  "type": "module",
4
- "version": "1.5.0-beta.14",
4
+ "version": "1.5.0-beta.15",
5
5
  "description": "Portal Page dev build tool",
6
6
  "bin": {
7
7
  "pp-dev": "bin/pp-dev.js"